當前位置:成語大全網 - 新華字典 - Python SnowNLP情感分析實踐與優化總結

Python SnowNLP情感分析實踐與優化總結

由於語料缺乏,前期若使用到情感分析,建議暫時使用SnowNLP(此模塊主要使用淘寶評論語料)做情感挖掘,但不僅僅為單純調用,需要優化,下面是壹些實踐思考:

可在此基礎上優化,比如文本需要特別處理,除了平常的去停用詞外,還可以需要對輸入的文本結合詞性等進行處理。

下面是壹些常識:

壹)無情感的詞語(如去停用詞,去掉語氣詞,無詞性標簽的詞語)

二)對於文本過長,則可以考慮提取關鍵詞或抽取文本摘要後再提取關鍵詞

對於後者實踐結果差異明顯:

以"發布了頭條文章: 《5分鐘11億!京東雙11場景化產品消費增長明顯》 5分鐘11億!京東雙11場景化產品消費增長明顯 "為例子, 顯然該文本為“積極****”文本。

1)s = SnowNLP("發布了頭條文章:《5分鐘11億!京東雙11場景化產品消費增長明顯》 5分鐘11億!京東雙11場景化產品消費增長明顯")

得分為0.5,明顯不符合

2)s = SnowNLP(“ ”.join(jieba.analyse.textrank("發布了頭條文章:《5分鐘11億!京東雙11場景化產品消費增長明顯》 5分鐘11億!京東雙11場景化產品消費增長明顯")))

而對於文本特別長的,則可以先抽取摘要,再對摘要提取關鍵詞。

這主要由於此SnowNLP主要用貝葉斯機器學習方法進行訓練文本,機器學習在語料覆蓋上不夠,特征上工程處理不當會減分,也沒考慮語義等。

為何要考慮語義層面:

以“ 蘇寧易購,是誰給妳們下架OV的勇氣****” 中的“ 下架”其實才是中心詞(為表達憤怒的文本),但“ 勇氣 ”為下架的賓語(其為積極的文本),此句應該結果小於0.5,但實際為0.88,去掉“蘇寧易購”則為0.6>