Chevron Left

查看所有社群故事

追求完美資料集

2021年12月02日

貢獻者

Akshay Kalra

EX Squared Solutions India Pvt. Ltd.

photo of Akshay Kalra

Akshay 是 EX Squared Solutions India Pvt. Ltd. 的資料科學家。在閒暇時,他喜歡學習機器學習產業的新進展。他也是排球和桌球的愛好者。

開發理想的解決方案需要什麼? 當我面對新的資料科學問題時,我經常這樣問自己。令人驚訝的是,答案始終如一 - 「資料。」

在我的職業生涯中,對我來說最具挑戰性的任務一直是追求完美無瑕的資料。老實說,我從未成功過。

完美資料集存在嗎?

但是,究竟什麼才算是完美資料?簡單來說,資料可以分為良好的訓練和驗證資料集,以訓練一個在生產環境中表現良好且能長期穩定的模型。而且,如果您在訓練模型時資料集不佳,那麼即時結果將與您在實驗期間觀察到的結果大相逕庭。

真實世界的資料是混亂的、很少結構化、不平衡的,並且有遺失的資訊、雜訊,有時還被錯誤地標記。此外,在某些情況下,可能沒有資料,或者實際有價值的資料比例非常少。此外,在某些情況下,建立高品質資料集的成本可能很高。

使用不平衡資料集的個人經驗

在這個故事中,我將分享我在資料科學家職業生涯的第一個專案中所面臨的挑戰。

我參與了一個文字分類專案,旨在將客戶的評論分類為正面或負面。這些評論是我們在 Basecamp 上與客戶進行定期對話的一部分。

與普遍的看法相反,這個問題一點也不簡單。

首先,負面評論的定義非常具體。

如果評論顯示以下意圖之一,我們才需要標記該評論

  • 客戶正在詢問進行中專案的更新/預計到達時間/狀態/後續追蹤;
  • 客戶給予負面回饋,或 CX 團隊未能滿足客戶對交付項目的期望;
  • 客戶感到沮喪、憤怒或困惑;
  • 客戶要求緊急交付專案或中期交付項目;

此外,即使在從 Basecamp 抓取所有評論後,我們也只獲得了 3500 條客戶評論。註解結果顯示只有 540 條負面評論,其餘為正面評論。

在 EDA 期間,我們分析到某些評論長達 100-200 字。這些是客戶對交付項目的回饋。在大多數回饋中,只有部分文字是負面的。然而,由於文字截斷,該負面部分被忽略,我們的模型將文字預測為正面。

此外,增加截斷長度會使我們的結果惡化。為了克服這個問題,文字被標記化為個別句子。這些個別句子再次被標記,結果產生了 760 條負面句子和 9905 條正面句子。這是不平衡資料集的經典範例。我們納入了一些來自 SST2 的負面文字,以確保資料集平衡。

額外資料的加入幫助我們解決了小資料集和不平衡資料的問題。它也幫助我們捕捉到人類常見的負面情緒。

我們的最終資料集看起來像這樣 - 9905 條正面評論和 2760 條負面評論,這幫助我們實現了 92.5% 的準確度。

由於我們的大部分負面評論來自 SST2,因此我們採用了持續重新訓練的方法來改進我們的分類模型。我們產生了模型預測的所有正面和負面訊息的每週摘要,為期三個月。我們手動分析了此摘要,並識別出假陽性 (FP)。然後將這些 FP 饋送到我們的模型中進行重新訓練和效能提升。這將我們模型的準確度提高到 97%。

貢獻者

Akshay Kalra

EX Squared Solutions India Pvt. Ltd.

photo of Akshay Kalra

Akshay 是 EX Squared Solutions India Pvt. Ltd. 的資料科學家。在閒暇時,他喜歡學習機器學習產業的新進展。他也是排球和桌球的愛好者。

你可能也會喜歡

為商業智慧分析準備您的資料

Karolina Adamiec

Netguru

解決髒資料困境的三種方法

Kyle Napierkowski

Kaleidoscope Data

社群故事寫作技巧

Metabot

Metabase

預測下一次點擊

Ukrit Wattanavaekin

Metabase

你可能也會喜歡

為商業智慧分析準備您的資料

Karolina Adamiec

Netguru

解決髒資料困境的三種方法

Kyle Napierkowski

Kaleidoscope Data

社群故事寫作技巧

Metabot

Metabase

預測下一次點擊

Ukrit Wattanavaekin

Metabase