0

我目前正在twitter中進行情感分析研究。 我想結合預定義的詞庫資源,如sentiwordnet極性分數。然後通過機器學習進行。 問題在於得到sentiwordnet的正確分數,以前的工作總是由詞義的正負極性總分簡單地選擇。 我的意思是,例如,「瘋狂」一詞可以出現3次爲負面,2次爲正面語言。以前的大部分工作都會自動平均每個極性。 所以我想在得分之前消除單詞,所以我們可以真正使用sentiwordnet,因爲它應該是。 我在比較目標句子和光澤句子的相似度。 有什麼方法可以比較嗎?你認爲它會起作用嗎? 如果不是請分享你的想法..sentiwordnet python中的詞義消歧

我是完全新的這個領域和新手Python程序員,所以我真的需要你的意見.. 謝謝你..

回答

4

這是一個多義問題,並讓您的系統在任何給定的多義詞上合理運行都將非常困難。您可以嘗試(幾種方法的組合)來確定單詞的正確含義:

  1. Pos標記會減少候選感官的數量。

  2. 句子與WordNet中每個詞義的光澤之間的餘弦相似度。

  3. 使用SenseRelate:它測量目標單詞和其周圍單詞的不同感官之間的「WordNet相似性」。

  4. 使用WordNet Domains:數據庫包含分配給每個WordNet感覺的域標籤,例如音樂感覺爲「搖滾」的「音樂」。您可以比較在其中找到的域標籤,而不是比較在光澤和句子中找到的實際單詞。

  5. 表示光澤度和句子不是通過在它們中找到的單詞本身,而是作爲單詞的平均同現向量。這些向量可以使用大量的文本語料庫來構建,最好來自與您明確區分的文本相同的應用領域。有多種技術可以改進這種共現向量(tf-idf,PCA,SVD),您應該分別閱讀它們。

如果您的文本來自非常專業的領域(例如法律),則準確性會更高。但是,如果你使用一般的語言文本,那麼只有在不是高度多義性的單詞時(如果它們在WordNet中的感官不超過3-4個),你可以期望精確度高。