2015-02-12 60 views
0

我正在使用Google Prediction API構建情感分析工具。我有一些標記的訓練數據,我將用它來訓練模型。由於這是從社交媒體收集的數據,因此句子中的大多數單詞都是停用詞,我希望在訓練模型之前將其刪除,這有助於提高準確性嗎?有沒有在Java中的任何圖書館,我可以用它來刪除這些停用詞,而不是建立自己的停用詞。停止用於情感分析工具的詞庫

問候 Deepesh

回答

1

這取決於谷歌如何預測算法的作品。我並不熟悉它,但在閱讀文檔時,似乎他們不考慮單詞關聯。也就是說,他們不會考慮哪一個字是一個充滿情感的停止詞,如「不」,這個詞是特別修改的。

例如,

"Cake is not close to being as good as french fries!" 
"French fries are not cake, but are not bad." 

在上面的句子,把他們當作一個(一個句子模型中,詞序並不重要)不會產生我們很大的啓示「詞袋」。

我的建議是試驗並讓您的數據結果成爲您的指南。

我懷疑使用停用詞不會有太大區別。他們應該低於Google的匹配算法的「噪聲」閾值,假設我正在預測它的工作原理。

你可以谷歌了幾種語言停用詞的列表。您還可以拉出許多自然語言處理庫。 詞幹詞可能有所幫助。嘗試google搜索波特詞根或詞幹雪球」和Java。Lucene的/ Solr的使用這種分析來建立搜索索引。

祝你好運。

2

超炫的話會有所幫助,但我怕你會需要提出專門針對情緒分析的自己的清單(例如,沒有現成的清單)。這裏有一些更多的想法,這可能會提高預測的準確性,而不需要大量的工作來創建您自己的停用詞表(在Kaggle上對CrowdFlower OpenData競爭採取from our submission的想法):

  • 停用詞:刪除像'RT','@','#','link','google','facebook','yahoo','rt'這樣的停用詞
  • 字符重複:字中的字符(例如基於Levenshtein距離與給定的語料庫拼寫校正:「hottttt」用「熱」)
  • 拼寫校正取代。
  • 表情圖標:確保表情圖標不會被刪除或在您的數據清理的步驟忽略(不知道谷歌的預測API如何處理這一點)。

想了解更多的想法,還可以看看這個forum thread

2

除非你的情感分析是被明確界定,並用大語料庫和大定義的訓練集(例如,電影評論)研究領域,我建議你建立自己的數據進行訓練。在使用社交媒體數據(尤其是Twitter)時,情況更是如此。根據您的研究/分析領域,構建您自己的訓練數據集將允許您專注於構建特定於域的數據集,而不是嘗試使用非域集。

我想第二個馬特的迴應RE:一些建議。我還補充說,你應該看看從你的數據中刪除網址和用戶名,並認爲它們是「停用詞」。