范慶春,匡皓松,謝 飛
(合肥師范學(xué)院 計算機學(xué)院,安徽 合肥 230601)
在線評論是體現(xiàn)消費者情感的最直接的方式之一,當今各種網(wǎng)絡(luò)平臺的快速成長和消費者線上消費習(xí)慣的養(yǎng)成都加速了在線評論數(shù)量呈指數(shù)級增長,而如何從大量的評論中提取有價值的信息已成為越來越多企業(yè)關(guān)注的焦點,因此很有必要針對這些評論數(shù)據(jù)進行情感分析,這對于企業(yè)優(yōu)化產(chǎn)品或輔助用戶進行消費決策都有著很重要的實際意義。
一般情感分析技術(shù)分為基于詞典的技術(shù)和基于機器學(xué)習(xí)的技術(shù)[1]。情感詞典是帶有情感傾向的詞或者詞組的集合,一般由正向情感詞和負向情感詞組成[2]。盡管目前已經(jīng)有很多的情感詞典構(gòu)建方面的研究,但是對于特定的領(lǐng)域情感詞典研究工作較少,尤其是對于餐飲領(lǐng)域的情感詞典鮮有研究。在實際應(yīng)用中,因為社交網(wǎng)絡(luò)在線平臺上諸如口語化、不規(guī)范的詞語表達等特點,造成了情感詞的提取面臨著眾多難題。尤其是有些情感詞在不同領(lǐng)域中會有不同的情感極性,有些詞在許多領(lǐng)域甚至都不是情感詞,而在餐飲領(lǐng)域卻是情感傾向很明顯的情感詞,比如說“必點”、“還來”和“地道”等詞在餐飲領(lǐng)域就屬于正向情感詞,表達了消費者十分正面的情感意愿;而“太硬”、“油膩”和“臉色”等詞卻反映出了消費者滿滿的負面情緒。為了解決這些問題,本文提出融合詞向量和SO-PMI(Semantic Orientation Pointwise Mutual Information,情感傾向點互信息)方法來構(gòu)建領(lǐng)域情感詞典。
本文的主要貢獻有以下幾點:1)提出一種融合詞向量和SO-PMI算法的領(lǐng)域情感詞典構(gòu)建方法,克服了詞向量方法中情感詞雖然上下文相似但是情感極性相反的問題。2)將構(gòu)建的領(lǐng)域情感詞典和基礎(chǔ)情感詞典融合,進一步提高了情感分析的準確率。3)在情感分析任務(wù)中,驗證了該領(lǐng)域情感詞典的有效性,分析了多種分類方法對情感分析任務(wù)性能的影響。
本文第1 節(jié)介紹了情感詞典、詞向量和SOPMI算法等相關(guān)工作;第2 節(jié)重點闡述了如何利用數(shù)據(jù)集來領(lǐng)域情感詞典構(gòu)建過程;第3 節(jié)介紹了實驗內(nèi)容,詳細描述了在多個數(shù)據(jù)集上的領(lǐng)域情感詞典實驗結(jié)果并作出對比分析;最后進行了總結(jié)和展望。
情感詞典是情感分析工作很重要的因素,大多數(shù)的情感分析的研究工作都會涉及情感詞典。基于情感詞典的情感分析方法是一種典型的研究方法,該方法結(jié)合情感詞典獲取文本特征,然后使用機器學(xué)習(xí)方法對文本情感傾向進行分類[3]。目前英文情感詞典主要有SentiWordNet、General Inquirer、Opinion Lexicon[4]和HowNet(英文)[5]等詞典,而比較有代表性的中文情感詞典是臺灣大學(xué)NTUSD 正負面情感詞典[6](臺大情感詞典)、清華大學(xué)李軍中文褒貶義詞典[7](清華情感詞典)和知網(wǎng)HowNet 情感詞典(中文)等,但這些都是基礎(chǔ)的情感詞典,對于具體的應(yīng)用領(lǐng)域、特定的評價對象情感分析評價的效果不是很好,無法囊括所有領(lǐng)域,在不同領(lǐng)域下,即便同一詞匯也會存在一詞多義的現(xiàn)象,因此,構(gòu)建特定領(lǐng)域的領(lǐng)域情感詞典是很有必要的。
趙妍妍等[8]構(gòu)建了面向微博的情感詞典,陽愛民等[9]使用正向、負向各40 個種子詞和PMI 來計算情感詞的情感權(quán)值,林江豪等[10]根據(jù)TF-IDF 值篩選出種子詞與候選詞集,加入訓(xùn)練的word2vec模型計算相似度,并與TF-IDF 值乘積得出情感傾向構(gòu)建領(lǐng)域情感詞典。楊小平等[11]在情感分析對比階段使用特征融合的支持向量機分類模型進行二元分類,得出情感詞匯的情感極性。何炎祥等[12]將詞向量技術(shù)應(yīng)用到基于表情符號的微博情感分析中。王僑云[13]等采用詞間距和點互信息的方法來構(gòu)建影評情感詞庫,楊晨等[14]使用情感詞典來改進BERT的預(yù)訓(xùn)練任務(wù)。這些工作都對情感詞典的構(gòu)建做了很多深入的研究。
經(jīng)調(diào)研發(fā)現(xiàn),餐飲領(lǐng)域幾乎沒有完善的領(lǐng)域情感詞典。Lukasz 等[15]對從Automotive 到Video Games 等十個領(lǐng)域的情感詞典作了對比分析,雖然比較全面,但是尚未涉獵餐飲領(lǐng)域。餐飲領(lǐng)域在線評論有其獨特性,例如,“香脆”、“地道”等較為平常的詞匯在該領(lǐng)域具有較為明顯的情感傾向;消費者人群的大眾性使大量口語化的詞語頻繁出現(xiàn),如“沒得說”、“要不是”,等等。本文的工作是收集整理大量的餐飲領(lǐng)域評論數(shù)據(jù)形成語料庫,根據(jù)計算得到的TF-IDF 值作為參考生成種子詞集,訓(xùn)練word2vec 模型,挑選出與種子詞集相似度Top50的詞匯構(gòu)成候選情感詞集,再用SOPMI 計算候選情感詞集中各個情感詞匯的情感傾向,過濾無效詞,然后構(gòu)建了餐飲領(lǐng)域情感詞典,最后對比不同的分類方法,達到較滿意的情感分析效果。
word2vec的本質(zhì)上是一個神經(jīng)網(wǎng)絡(luò)語言模型,本文利用CBOW 模型[16,17](Continuous Bag-of-Word Model,連續(xù)詞袋模型)進行分布式詞向量的訓(xùn)練,該模型如圖1 所示。
圖1 CBOW 模型
該模型能依據(jù)給定中心詞的一定鄰域半徑預(yù)測出某一單詞為該中心詞的概率,因此需要大規(guī)模語料進行訓(xùn)練,以找到語料中潛藏的詞與詞之間的聯(lián)系。
在計算情感傾向方面,Turney 等[18]利用PMI分辨未知詞匯的情感極性,YANG 等[19]利用SOPMI算法構(gòu)建了中文情感詞典,CHENG 等[20]利用SO-PMI算法計算投資者的情緒指數(shù)。SO-PMI算法是在PMI算法的基礎(chǔ)上,引入詞語的情感傾向計算,從選取的種子詞詞典內(nèi)以一組正向情感詞posword 和一組負向情感詞negword 作為基準,將候選情感詞集中的某一詞匯word 在經(jīng)預(yù)處理后的評論數(shù)據(jù)集中分別計算出與posword 和negword的PMI 值,PMI 計算見公式(1),經(jīng)過計算與所有組種子詞的PMI 值后進行總和平均得出word的正向PMI 值和負向PMI 值,作為PMI+(word)和PMI-(word),將兩者的差值來判斷出該詞的情感傾向,見公式(2)。SO-PMI(word)的值大于0、等于0 和小于0 分別對應(yīng)正向、中性和負向情感詞。
在對餐飲領(lǐng)域的評論數(shù)據(jù)集預(yù)處理后,利用TF-IDF 值計算各個詞條的重要程度,按倒序挑選出該領(lǐng)域正、負向種子詞集,再用評論語料集訓(xùn)練詞向量模型,挑選出與種子詞集相似度靠前的詞匯構(gòu)成候選情感詞集,使用SO-PMI 計算其情感傾向,設(shè)置詞頻閾值過濾無效詞,最后構(gòu)建餐飲領(lǐng)域情感詞典。領(lǐng)域情感詞典構(gòu)建流程如圖2 所示。
圖2 領(lǐng)域情感詞典構(gòu)建流程
算法主要步驟如下:
1)數(shù)據(jù)預(yù)處理(刪除無效評論;加入餐飲領(lǐng)域新詞用戶詞典進行分詞,刪除停用詞)。
2)訓(xùn)練詞向量模型。
3)在評論數(shù)據(jù)集中計算訓(xùn)練集TF-IDF 值,選擇正負向情感種子詞,構(gòu)建種子詞詞典。
4)分別利用詞向量模型提取出與種子詞集相似度高的詞匯作為候選詞集。
5)采用SO-PMI算法,計算候選詞集與種子詞典的PMI 值并作差,得出每個詞情感值(SO-PMI(word)),根據(jù)閾值篩選并去重后得到領(lǐng)域情感詞典。
餐飲在線評論還具有口語化和其領(lǐng)域特殊性的特點,存在著大量新詞以及其特殊的包含強烈情感傾向的情感詞匯,而基礎(chǔ)情感詞典無法做到識別這些情感詞匯;領(lǐng)域情感詞典的構(gòu)建關(guān)鍵在于種子詞的選取,各領(lǐng)域的種子詞天差地別,因此需要選取貼合該領(lǐng)域的種子詞詞典。
本文根據(jù)餐飲領(lǐng)域在線評論數(shù)據(jù)集,利用TFIDF算法,計算出所有詞匯的tfidf(word),構(gòu)成詞集(word,tfidf(word)),在詞集中按照tfidf(word)的從高到低排序,然后請三位項目組成員人工挑選出具有明顯情感傾向的情感詞,為了減少不確定性因素,只有當三位成員意見一致的候選情感詞才加入到種子詞詞集。表1 是部分種子詞實例。
表1 部分種子詞
將在線評論語料集經(jīng)過數(shù)據(jù)預(yù)處理后,輸入到word2vec 中,設(shè)置詞向量維度,去除低頻詞,訓(xùn)練詞向量模型并保存。
訓(xùn)練分為兩組實驗:第一組僅使用領(lǐng)域語料集作為語料訓(xùn)練詞向量模型,得到w2v 模型;第二組在領(lǐng)域語料集中加入中文維基百科語料預(yù)訓(xùn)練的模型,更新模型詞庫并再次訓(xùn)練模型,得到w2v+wiki 模型,然后分別利用w2v 模型和w2v+wiki 模型提取出與種子詞集相似度高的詞匯作為候選情感詞集。
利用SO-PMI算法計算候選情感詞集中各個詞條與正負向種子詞典的情感分值,設(shè)置詞頻閾值并去重后提取出有效的情感詞來構(gòu)建領(lǐng)域情感詞典。SO-PMI算法流程如圖3 所示。
圖3 SO-PMI 值計算流程
本數(shù)據(jù)為公開數(shù)據(jù)集,是點評網(wǎng)的評論數(shù)據(jù)。由于網(wǎng)絡(luò)平臺上對評論無法做到很好的限制和約束,經(jīng)過數(shù)據(jù)預(yù)處理后,將評分1 分和5 分的評論隨機抽取各5000 條構(gòu)成數(shù)據(jù)集1,評分1 分、2 分、4 分和5 分隨機抽取各2500 條構(gòu)成數(shù)據(jù)集2。去除數(shù)據(jù)集中詞頻為5 以下的生僻低頻詞,設(shè)置詞向量維度為100,采用CBOW 模型,窗口為5,得到詞向量模型。應(yīng)用2.3 節(jié)的方法得到正負向各200 組的種子詞。然后輸入到詞向量模型中,獲取其相似度前50的詞匯。利用SO-PMI算法計算候選情感詞集中各個詞匯與正負向種子詞典的情感分值,設(shè)置閾值為10,即計算出候選詞集中詞頻高于10的有效情感詞,經(jīng)去重后得到領(lǐng)域情感詞典。
實驗主要依據(jù)F1 值作為性能評價指標,比較各情感詞典的在餐飲領(lǐng)域數(shù)據(jù)集的情感評判情況。其中F1 值計算公式如公式(3)所示。
實驗提出利用word2vec 模型構(gòu)建領(lǐng)域候選詞集,結(jié)合維基百科語料預(yù)訓(xùn)練模型進行對比實驗,故設(shè)置兩組實驗,第一組為僅使用數(shù)據(jù)集中的評論語料訓(xùn)練得到w2v 模型,根據(jù)種子詞典尋找相似度前50的候選詞共20000 個構(gòu)成候選詞集,第二組為使用數(shù)據(jù)集輸入維基百科語料預(yù)訓(xùn)練模型更新其詞匯并再次訓(xùn)練模型,得到w2v+wiki 模型,仍根據(jù)種子詞典尋找相似度前50的候選詞共20000 個構(gòu)成候選詞集。第一組實驗經(jīng)上述過程后構(gòu)建了總計正面787 個詞、負面463 個詞,共計1250 個詞匯的領(lǐng)域情感詞典(Word Embedding and PMI Domain Sentiment Lexicon,簡寫為WPDSL);第二組實驗經(jīng)上述過程后構(gòu)建了總計正面767 個詞、負面440 個詞共計1207 個詞匯的領(lǐng)域情感詞典(WPDSL+wiki),將這兩個領(lǐng)域情感詞典分別與清華大學(xué)李軍中文褒貶義詞典融合并去重后得到擴充的領(lǐng)域情感詞典WPDSL+TsingHua和WPDSL+wiki+TsingHua,如表2 所示。
表2 各情感詞典正負向情感詞個數(shù)對比
實驗將候選詞集作為輸入,設(shè)置閾值為10,即經(jīng)過2.1 節(jié)所述算法使用SO-PMI算法計算出詞頻大于10的情感傾向詞構(gòu)建領(lǐng)域情感詞典。通過分別使用多個基礎(chǔ)情感詞典和上述構(gòu)建完成的領(lǐng)域情感詞典進行實驗,使用各情感詞典來提取訓(xùn)練集的特征向量,使用TF-IDF 計算出特征向量的權(quán)重,并預(yù)測出測試集的情感傾向,最后計算出在數(shù)據(jù)集1 和數(shù)據(jù)集2 上各自的準確率、精確度、召回率和F1 值進行對比,得到實驗結(jié)果(見表3和表4),其中在數(shù)據(jù)集2 上只采用了貝葉斯分類方法。
表3 各情感詞典在數(shù)據(jù)集1 上的對比
表4 各情感詞典在數(shù)據(jù)集2 上的對比
從實驗結(jié)果中可以看出,使用知網(wǎng)情感詞典的效果最不理想,可能是因為相對其他的情感詞典,情感詞匯較少,涉及餐飲領(lǐng)域的更加稀少;使用臺大情感詞典的效果要好很多,其包含的情感詞數(shù)量最多,因此涉及的餐飲領(lǐng)域詞匯會比較寬泛;清華情感詞典的表現(xiàn)稍差于臺大情感詞典,相較而言臺大情感詞典包含了更多的口語化情感詞,更貼近于餐飲領(lǐng)域在線評論的特點。在表3中可以看出使用了領(lǐng)域情感詞典(WPDSL),貝葉斯和SVM 分類的F1 值都是在0.9 以上。對比每一種情感詞典用5 種分類方法的分類效果來看,貝葉斯和SVM 更適合做情感分類的工作,尤其是貝葉斯分類在每一種情感詞典上都能取得最佳的分類效果。
表4 是在數(shù)據(jù)集2 上只采用了貝葉斯分類方法,對比表4 中各種情感詞典在情感分析任務(wù)上的表現(xiàn)來看,使用了領(lǐng)域情感詞典WPDSL的分類結(jié)果明顯超過其他的幾種情感詞典,這充分說明了本文構(gòu)造的情感詞典的有效性。表4 中的分類效果比表3 中F1 值少了0.06 到0.09,說明了本文的領(lǐng)域情感詞典在對于由評分1 分和5 分構(gòu)成的數(shù)據(jù)集1的分類效果要比由評分1 分、2 分、4分和5 分構(gòu)成的數(shù)據(jù)集2的效果好,這是由于數(shù)據(jù)集1 中的評論情感傾向更加明顯所致。
考慮到不同的種子詞個數(shù)可能會對情感分析的結(jié)果會有不同的影響,故設(shè)計了在其他條件完全相同的情況下,分別選擇150 組、200 組、250組、300 組和350 組正負向種子詞,實驗結(jié)果如圖4 所示。從實驗結(jié)果可以得出正負向各200 組種子詞能取得較好的結(jié)果。正負向種子詞組從250組到350 組比較平穩(wěn),并且比150 組和200 組的效果差,這說明了種子詞并非是越多越好,隨著種子詞數(shù)量的增加會引入許多噪音情感詞,從而影響最終的情感分析效果。
圖4 不同的種子詞個數(shù)情感分析結(jié)果對比
綜上所述,本文構(gòu)建的領(lǐng)域情感詞典效果更優(yōu),F(xiàn)1 值也超出其他的基礎(chǔ)情感詞典不少,而兩組實驗的對比中,也能清晰地看出僅使用餐飲領(lǐng)域評論語料集訓(xùn)練出的word2vec 模型比加入維基百科語料預(yù)訓(xùn)練模型略勝一籌,能凸顯出模型的領(lǐng)域適應(yīng)性,提取的相似度高的候選詞集更加精確,更加貼合該領(lǐng)域。由于使用了TF-IDF算法挑選后的餐飲領(lǐng)域的種子詞,并訓(xùn)練詞向量模型提取候選詞集后,計算SO-PMI 值構(gòu)建出的餐飲領(lǐng)域情感詞典,將構(gòu)建的領(lǐng)域情感詞典與清華情感詞典相融合得到擴充的領(lǐng)域情感詞典,進一步提升了領(lǐng)域情感詞典的效果。從而證實了本文提出的融合詞向量和點互信息的領(lǐng)域情感詞典算法,確實能更好預(yù)測出餐飲領(lǐng)域在線評論的情感傾向。
例如“好吃”和“難吃”這兩個種子詞分別作為正向、負向情感詞的例子,將其輸入w2v 模型中提取出相似度前50的詞構(gòu)建候選情感詞集word 各50 個(其中前10 個相似詞在表5 中列出)。再將這100 個候選詞逐個分別計算與所有正負種子詞的PMI 值總和平均得到PMI+(好吃)和PMI-(好吃),然后由公式(2)計算出SO-PMI(好吃)的值為816.999,大于0 則為正向情感詞;同樣也會得到SO-PMI(難吃)的值為-847.093,小于0 則為負向情感詞。
表5 部分候選情感詞
從表5 中可以看到與“難吃”相似的詞中排在第三名的就是“好吃”,而與“好吃”相似的詞中排在第六名的是“難吃”,顯然僅用詞向量模型的相似度計算這兩個詞是很相近的,但是其情感傾向卻剛好相反,這顯然不合理,需要將“難吃”和“好吃”這兩個候選詞分別從正、負向情感詞中排除,實驗也證實了融合詞向量和點互信息的領(lǐng)域情感詞典算法能很好地做到這一點。
為了提高特定領(lǐng)域情感分析的效果,本文提出了融合詞向量和點互信息的領(lǐng)域情感詞典構(gòu)建算法。先結(jié)合IF-IDF算法來挑選該領(lǐng)域種子情感詞,再用詞向量來獲取語義相似的詞作為候選情感詞集,然后用SO-PMI算法來獲取領(lǐng)域情感詞典,最后在餐飲領(lǐng)域的實驗中證實了該領(lǐng)域情感詞典構(gòu)建算法的有效性。該算法雖然達到了一定的效果,但仍存在很大的上升潛力,下一步將已經(jīng)構(gòu)建的領(lǐng)域情感詞典與深度學(xué)習(xí)算法相結(jié)合,以期取得更好的成績。