由於語料缺乏,前期若使用到情感分析,建議暫時使用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>