摘 要:針對現有情感分類算法中存在的問題,本文提出了一種基于word2vec和自訓練的無監督情感分類方法。該方法首先利用word2vec和詞性標簽構建領域情感詞典,并在此基礎上融合否定詞和程度副詞來計算評論的情感傾向值;其次,選取情感傾向強烈的評論作為已標注訓練集,剩余部分作為待分類數據集;最后,采用機器學習方法生成分類器進行自訓練學習,直到迭代結束。采用手機評論作為實驗數據,結果證實了該方法的有效性。
關鍵詞:情感分析;自訓練;word2vec;機器學習
在大數據時代,各大電商網站以及論壇涌現出大量帶情感的商品評論。近幾年,人們愈發地意識到對商品評論進行深度地分析和挖掘能夠獲取較大的價值。對于消費者而言,他們可以從中了解到特定商品的性能及其質量能否滿足自我需要,從而決定是否進行購買;對于商家而言,他們可以從商品評論中獲取用戶對該產品的關注點及其感情色彩,并用于改進產品質量和提升產品競爭力。然而產品評論具有及時性,數量大,非結構化以及內容復雜等特點,利用人工閱讀的方式無法獲取完整及正確的信息。因此,迫切需要利用計算機技術來自動地實現用戶評論情感分類。
1 研究現狀
目前,對于情感分類的研究主要集中在有監督、無監督和半監督方法上。無監督分類方法主要是利用已有的情感詞典或者固定句法模式來判斷評論的情感傾向。Turney等人[1]利用詞語的詞性標簽來抽取出可能含有觀點的固定句法模式,并利用這些模式來解決情感傾向判斷問題。Ohaha等人[2]利用SentiWordNet情感詞典來識別用戶評論中的情感傾向。黃仁等人[3]利用google的開源工具word2vec來計算詞語之間的語義相似度從而構建出情感詞典,并對測試語料進行分類,實驗結果證實了該算法的可行性。雖然無監督的方法便于實現且具有較好的移植性,但是其準確率卻有待提升。
有監督分類方法主要是利用訓練樣本來生成分類器,從而對待分類評論進行分類。為了便于處理通常先采用向量空間模型將評論文本表示成向量,隨后采用分類算法訓練出分類模型,并利用分類模型將評論分為褒貶義兩類。Pang等人[4]將影評作為實驗語料,采用傳統的機器學習方法識別其情感色彩。通過選取不同的詞語作為特征項,采用不同的分類算法來進行多次實驗,證明了該方法的有效性。徐琳宏等人[5]將情感傾向較強烈的詞語作為特征項,支持向量機作為分類器來對文本進行識別。雖然有監督的方法準確性較高,但是存在大量樣本數據難以獲取,訓練出的分類模型難以直接應用于其他領域等問題。
因此,現目前越來越多的研究者轉向利用半監督的方法來解決情感分析問題。半監督方法是利用大量未標記樣本和少量已標記樣本數據來實現。Shoushan Li等人[6]針對非平衡情感分析問題提出了一種基于協同訓練的半監督算法。
本文提出一種基于word2vec和自訓練的無監督情感分類方法。該算法首先利用Word2vec和詞性標簽來構建出本領域的情感詞典;隨后利用領域詞典對計算出每條評論的情感傾向值,并以此為依據抽取出部分情感傾向程度強烈的評論作為已標注訓練集;最后選取支持向量機作為分類算法進行自訓練學習從而識別出評論的情感傾向。
2 算法框架
該算法框架主要分為兩個部分:一是基于Word2vec和詞性標簽的情感傾向值計算;二是自訓練學習。
2.1 情感傾向值計算
利用Word2vec和詞性抽取出具有情感色彩的詞語,并采用Xsimilarity工具包對其進行褒貶義分類從而構建出領域情感詞典,隨后結合評論中的否定詞和程度副詞來進行評論的情感傾向值計算。具體步驟如下:
(1)利用Ansj分詞工具對評論語料進行分詞和詞性標注,抽取出詞性標簽為/an和/a的詞語。并利用Xsimilarity工具包計算每個詞語的情感傾向值,將情感傾向值大于0的歸為褒義詞,情感傾向值小于0的歸為貶義詞。從而得到褒義詞集合和貶義詞集合。
(2)利用Google的開源工具word2vec對語料進行訓練,獲取詞向量集合。遍歷詞向量集合,判斷詞語word是否存在于步驟(1)得到的集合中,若存在,則不進行處理;不存在,則計算詞語與詞向量集合中其他詞語的相似度,找出相似度大于閾值的詞語sim_word,并查看該詞語是否存在于步驟(1)得到的集合中,若存在,則將word標記為與sim_word相同的傾向,并加入相應的集合中,從而構建出最終的領域情感詞典。
(3)構建常用的否定詞詞表以及程度副詞詞表。對程度副詞詞表按照其強烈程度分為四個等級,并賦予相應的權重,從高到低權值依次為3.0、2.0、1.2、0.5。
(4)對評論中的每個詞語進行分析和計算。若存在于領域詞典中的褒義詞集合,則該詞語的情感傾向值設為1;若存在于貶義詞集合,則為-1。若該詞語前2個詞語中存在有否定詞則將其情感傾向值取反,反之不變。若該詞語去前后兩個詞語中存在程度副詞,則將其情感傾向值乘以該程度副詞對應的權值。
(5)將評論中每個詞語的情感傾向值相加求和則得到該條評論最終的情感傾向值。情感傾向值大于0則說明該條評論為褒義;反之小于0則說明該條評論為貶義。
2.2 自訓練學習
選取部分情感傾向程度強烈的褒貶義評論作為訓練數據,采用機器學習方法生成分類器,進行自訓練學習,直到得到剩余所有評論的褒貶義分類結果。具體步驟如下:
(1)評論的情感傾向值的絕對值代表了其情感強烈程度,絕對值越大說明情感越強烈。因此,按照情感傾向值的絕對值分別對褒貶義句子進行降序排序,選取前N條褒義評論和前N條貶義評論結合在一起作為已標注的訓練數據,剩余的評論作為待分類評論。本實驗中N為600。
(2)將Unigram作為分類特征,TF-IDF(Term Frequency-Inverse Document Frequency)作為特征項權重,支持向量機為分類算法對上述步驟中得到的已標注的訓練集合進行訓練并生成分類器。隨后利用該分類器對待分類評論進行處理,得到分類結果及其分類置信度。
(3)若已標注的訓練評論數為待分類的評論數的9倍以下,則按分類置信度分別對褒義和貶義結果進行降序排序,分別選取前M條褒義評論和前M條貶義評論用于擴展已標注訓練集,同時將其從待分類評論中剔除,隨后轉入上述步驟(2);反之則迭代停止,并直接將分類結果作為最終結果。本實驗中將M設為待分類評論數量的5%。
3 實驗結果與分析
本文采用從網絡下載的某手機評論作為實驗數據,選取評論挖掘領域常用的查準率、查全率和整體準確值作為算法評估指標。對本文提出的基于word2vec和自訓練的無監督情感分類算法進行實驗,其中褒義評論的查準率為70.00%、查全率76.30%;貶義句子的查準率72.69%、查全率65.88%;算法的整體準確率71.20%。采用相同的語料,用王永等人[7]的方法進行實驗,褒義評論的查準率為72.03%、查全率55.74%;貶義句子的查準率62.61%、查全率77.40%;算法的整體準確率66.33%。通過對比可以發現,本文算法整體上具有更好的性能。
4 結語
針對中文領域的用戶評論情感分析問題,本文提出了一種基于word2vec和自訓練的無監督情感分類方法。該方法首先利用word2vec工具和詞性標簽的無監督方法計算評論的情感傾向值,并抽取部分評論作為已標注數據集,隨后在此基礎上訓練出分類器并進行自訓練學習直到迭代結束。本文提出的算法能夠避免去獲取大量的已標注訓練集,且實驗結果對比證明了該算法的有效性。該研究有助于豐富評論挖掘領域的研究成果,且為后續研究奠定一定的基礎。
參考文獻:
[1]Turney P D.Thumbs up or thumbs down?:semantic orientation applied to unsupervised classification of reviews[C].Meeting on Association for Computational Linguistics.2002.
[2]Bruno Ohana,Brendan Tierney,Sentiment Classification of Reviews Using SentiWordNet[C].9th.IT & T Conference,2009.
[3]黃仁,張衛.基于word2vec的互聯網商品評論情感傾向研究[J].計算機科學,2016,43(s1):387-389.
[4]Pang B,Lee L,Vaithyanathan S.Thumbs up? Sentiment classification using machine learning techniques[C].Proceedings of ACL-02 Conference on Empirical Methods in Natural Language Processing.Stroudsburg,PA,USA:Association for Computational Linguistics,2002:79-86.
[5]徐琳宏,林鴻飛,楊志豪.基于語義理解的文本傾向性識別機制[J].中文信息學報,2007,21(1):96-100.
[6]Li S,Wang Z,Zhou G,et al.Semi-Supervised Learning for Imbalanced Sentiment Classification[J].Journal of the Royal Statistical Society,2008,172(2):530-530.
[7]王永,陶婭芝,張勤.中文網絡評論中的產品特征情感傾向提取算法研究[J].重慶郵電大學學報自然科學版,2017(1).
作者簡介:陶婭芝(1991-),女,重慶人,碩士,研究方向:知識發現、評論挖掘。