張 璞,王俊霞,王英豪
(重慶郵電大學 計算機科學與技術學院,重慶 400065)
隨著電子商務的快速發展,各電商網站產生了帶有情感色彩的海量評論文本,文本情感分析技術也得到越來越多的應用。通過對產品評論文本進行情感傾向性的自動分析,不僅可以為消費者節省大量時間和精力,提供商品屬性粒度級別的購買依據,還可以使商家更加了解消費者對產品的情感傾向以及關心的問題,由此明確產品的優勢和不足,對用戶需求和產品改進方向作出有效反應,提高企業競爭力[1]。
文本情感分析領域中,情感詞典的構建是重要研究內容之一。情感詞典作為一種重要的情感資源,在詞語、短語、屬性、句子及篇章級等不同粒度的情感分析任務中起著重要的作用[2]。
通用情感詞典如General Inquirer(GI)、SentiWordNet等主要以手工或半自動方式構建而成,難以覆蓋不同領域的情感詞,其領域適應性及可靠性受到限制[2-3]。因此,許多研究關注于情感詞典的自動構建。其中一類主要方法是利用語義知識庫(WordNet、HowNet等)來進行情感詞典的擴充[3-6]。這類方法主要以一組已知極性的詞語作為種子集,通過利用知識庫中詞語的同義、反義、上下位、詞語和義原的關聯等語義關系來對未知詞的情感傾向進行判定,可以方便快捷地擴充情感詞典,但也存在依賴于語義知識庫、詞典覆蓋率有限、領域適應性差等問題。針對上述問題,本文利用語料庫來進行情感詞典的構建,提出一種基于標簽傳播的情感詞典構建方法。該方法通過在語料上利用Word2Vec訓練詞向量,以及分析詞語之間的連詞關系等2種方式來對情感種子擴充候選情感詞,并根據擴充詞和種子詞之間的相似性構建圖,最后再利用標簽傳播算法來計算詞匯的情感極性,得到情感詞典。
本文方法的整體思路如下:首先選取一定數量積極極性和消極極性的情感種子詞,然后使用Word2Vec在語料上訓練詞向量。如果詞語a和種子詞b的相似性超過閾值,則詞語a和b之間有一條邊;此外,通過在語料中分析種子詞的連詞關系,如果詞語c和種子詞b具有連詞關系,則詞語c和b之間有一條邊。最后得到一個圖,再通過標簽傳播算法在圖上進行極性傳播,最終確定所有擴充得到的候選情感詞的極性。總體流程如圖1所示。

圖1 本文方法的總體流程
在情感詞典構建中,通常選用具有明顯情感傾向的詞語作為種子詞。本文選擇SentiWordNet[7]中部分主觀性強的詞語作為種子詞。SentiWordNet中對各種詞性的情感詞打有分值,本文選擇分數高且常見的情感詞作為種子詞,將極性為積極的情感詞放入積極種子詞集合(“Positive”集合,簡稱“Pos”集合)中,將極性為消極的情感詞放在消極種子詞集合(“Negative”集合,簡稱“Neg”集合)中。所選取的部分種子詞如表1所示。

表1 部分種子詞集合
Word2Vec是一款將詞語表征為詞向量(也稱詞嵌入)的高效工具。詞向量是詞語的分布式表示(Distributed Representation)方式,其基本思想是利用深度學習技術,通過在語料上訓練后,將每個詞映射成多維的實數向量,使得語義相近的詞間的距離也比較接近。Word2Vec中包含了2種訓練模型,分別是連續詞袋模型(Continuous Bag-Of-Words,CBOW)和skip-gram模型。其中,CBOW模型通過上下文來預測當前詞,skip-gram模型則通過當前詞來預測上下文。相比于詞語的獨熱表示方式(One-hot Representation),詞向量不但能更好地表達詞語間的語義關系,也避免了維數災難,因而被應用于情感新詞的發現[8]、情感詞典的自動構建[9]等工作中。受上述工作的啟發,本文也采用Word2Vec工具來進行情感詞的擴充,通過Word2Vec在語料上訓練詞向量模型,得到每個詞語的詞向量。再將訓練語料中與種子詞相似度大于設定閾值的詞語抽取出來作為候選情感詞,添加到候選情感詞集合中。在計算詞語間相似度時,本文選用余弦相似度方法來進行計算。
本文所用連詞關系主要有并列關系和轉折關系這2種。一般而言,評論文本中所出現的并列關系連詞不會改變連續出現的情感詞極性,而轉折關系連詞會使文本中前后出現的情感詞極性發生變化。具有并列關系的評論文本如例1)、例2),具有轉折關系的評論文本如例3)、例4):例1)“The cellphone is beautiful and durable”;例2)“The phone is neither cheap nor beautiful”;例3)“The phone's performance is good,but the price is too expensive”;例4)“For the price,this is a cheap,yet somewhat protective option”。
本文選用的并列關系連詞有:and,neither…nor,either…or,as well as,not only…but also…等。轉折關系連詞有:but,yet,however,still,while,on the contrary等。為了利用詞語之間的連詞關系抽取候選情感詞,傳統方法通常采用詞匯窗口技術。考慮到有些具有連詞關系(尤其是轉折關系)的詞語的距離比較遠,使用詞匯窗口技術來抽取候選情感詞時會由于窗口大小設置不當而失效,因此,本文使用Stanford Parser[10]來對語料進行依存句法分析,得到詞語之間的依存關系,再將和種子詞具有連詞依存關系的詞語抽取出來作為候選情感詞。Stanford Parser能夠依據連詞依存關系來有效地抽取出候選情感詞。例如,對例3)所示的評論而言,“good”和“expensive”這2個詞分別位于句子的不同子句中,距離比較遠。通過Stanford Parser對評論句子進行依存句法分析后,可以得到以下依存關系結果,“det(phone-2,The-1),nmod_poss(performance-4,phone-2),case(phone-2,'s-3),nsubj(good-6,performance-4),cop(good-6,is-5),root(ROOT-0,good-6),cc(good-6,but-8),det(price-10,the-9),nsubj(expensive-13,price-10),cop(expensive-13,is-11),advmod(expensive-13,too-12),conj_but(good-6,expensive-13)”。其中,每條依存關系分析結果提供的信息主要由兩部分構成:關系名稱(如det代表冠詞修飾關系;conj_but表示轉折關系;nsubj代表主謂關系),2個參與關系的詞語及它們分別在句中的位置。通過conj_but(good-6,expensive-13)這一依存關系結果可知 “good”和“expensive”具有轉折關系,因此,當“good”為種子詞時,則可以根據conj_but依存關系來抽取出候選情感詞“expensive”。類似地,對例1)、例2)、例4)中的評論句子,可以分別利用conj_and、conj_nor、conj_yet等連詞依存關系來抽取候選情感詞。
當評論文本中的詞語和種子詞具有并列關系時,將該詞語加入到對應候選情感詞集合中,并記錄詞語在集合中的出現次數。當集合中已有該詞時,則將其次數加1,且標記為并列關系;當評論文本中的詞語和種子詞具有轉折關系時,將該詞語也加入到對應候選情感詞集合中。若集合中已有該詞時,則將其次數加1,且標記為轉折關系。如此在評論文本中對選取的種子詞利用連詞關系不斷擴充候選情感詞,直到再沒有可以擴充的詞語為止。假設“beautiful”和“good”都是種子詞,而例1)中“beautiful”和“durable”具有并列關系,所以“durable”被抽取出來;例3)中“good”和“expensive”具有轉折關系,所以“expensive”被抽取出來。
在擴充得到的候選情感詞集合中,通過一個種子詞擴充得到的具有相同連詞關系的詞語數量來計算種子詞和該詞語的相似度。如種子詞“good”擴充到3個具有并列關系的詞語:“durable”“beautiful”“cheap”,其數量分別為3、4、3,則這3個詞語與種子詞“good”的相似度分別為3/(3+4+3),4/(3+4+3),3/(3+4+3)。
1.5.1 標簽傳播算法
標簽傳播算法(Label Propagation Algorithm,LPA)是一種基于圖的半監督學習方法,目前已在Web頁面挖掘[11]、社區發現[12]、人物社會關系抽取[13]、情感詞典構建[14]等諸多領域得到運用。標簽傳播算法根據結點之間的相似度關系構建關系圖,在圖完成初始化后,圖中結點可以分為已知標簽的結點和未知標簽的結點,LPA的基本思想是通過已知標簽的結點來預測未知標簽結點的標簽信息。結點之間的標簽主要通過相似度來進行傳播。在標簽傳播的過程中,未知標簽的結點通過相鄰已知標簽的結點信息來更新自己的標簽。若相鄰結點與它的相似度越大,則對其標簽影響的權重越大,也就更容易進行標簽的傳播。
1.5.2 情感詞典的構建
首先,將1.3節和1.4節中擴充所得到的候選情感詞和種子詞都作為圖中的結點,圖的構造方法如下:如果詞語a通過Word2Vec方法可以擴充得到詞語b,那么a和b之間有一條邊,權重為詞語a和b的相似度;如果詞語a和詞語c具有連詞關系,則a和c之間有一條邊,權重為詞語a和c的相似度。因此,所有抽取出的候選情感詞和種子詞被抽象為一張圖,如圖2所示。

圖2 圖模型結構
假設圖中共有m個結點,則可構建一個m維的相似度概率轉移矩陣。計算方法如下:
(1)
其中,T[i][j]表示詞語i到詞語j的相似度轉移概率,SIM(wi,wj)表示詞語i和j的相似度。
在圖2中,假設a和b分別是積極種子詞和消極種子詞,極性分別記為+1和-1。其余詞語的極性未知,記為0。則詞語a~e初始情感極性向量V如下:

(2)
然后利用相似度概率轉移矩陣和詞語的初始情感極性進行不斷地迭代,得到每個未知極性的詞語極性。計算方法如下:

(3)
其中,PO[i]表示迭代后結點i的情感極性,T[j][i]表示結點j到結點i的相似度矩陣中的轉移概率,V[j]表示迭代前結點j的初始情感極性。在每輪迭代中,種子詞的極性保持不變。經過不斷迭代,直到圖中詞語的極性不再發生任何變化為止。迭代過程結束后,將極性的絕對值大于某一閾值的詞語作為最終情感詞,并得到未知標簽的詞語極性,擴充得到情感詞典。
本文提出了基于標簽傳播的情感詞典構建方法,算法描述如算法1所示。
算法1情感詞典構建算法
輸入評論語料(Review Corpus,RC),情感種子詞SD,利用Word2Vec擴充詞語的閾值wv,存放情感詞的集合U,確定是否是積極情感詞的閾值ppos,確定是否是消極情感詞的閾值pneg
輸出積極情感詞典(SLpos)和消極情感詞典(SLneg)
1)初始化情感詞典,令SLpos=?,SLneg=?。
2)對語料RC進行預處理。
3)對每個種子詞SDi∈SD。
(1)利用Word2Vec在語料RC上訓練詞向量,若RC中的詞語SWi和種子詞SDi的相似性大于閾值wv,則U=U∪SDi∪SWi,并記錄詞語之間的相似度。
(2)對語料RC進行連詞關系和依存句法分析,若RC中的詞語SWj和種子詞SDi具有連詞關系,則U=U∪SDi∪SWj。
(3)按1.4節所敘述方法來計算步驟(2)中詞語SWj和種子詞SDi的相似度。
4)通過步驟3得到所有擴充的候選情感詞以及詞語之間的相似度矩陣后,再根據式(1)得到詞語之間的相似度概率轉移矩陣,并構建情感詞之間的語義關聯圖。
5)在整個圖中,根據式(3)以及詞語的初始情感極性V計算未知極性的詞語極性PO。
6)令V=PO。
7)重復步驟5)、步驟6),直至整個圖中詞語的極性不再發生任何變化。
8)得到最終詞語的極性向量PO。PO中每個值代表每個詞語的情感傾向。如果詞語SWk的極性POk>0且|POk|>ppos,則SLpos=SLpos∪SWk,如果詞語SWk的極性POk<0且|POk|>pneg,則SLneg=SLneg∪SWk。
語料:本文語料選用斯坦福大學所提供的亞馬遜評論語料[15],該語料中有書籍、手機、衣服、電子產品以及電影等不同領域的評論,本文選擇其中的手機領域評論語料作為實驗語料,共194 185條。
利用Word2Vec在語料上訓練詞向量時,由于skip-gram模型具有高效的特點[16],本文選擇skip-gram來訓練詞向量,并在訓練過程中采用Negative Sampling方法。相應參數設置如下:詞向量維度值為200,上下文窗口取值為8。
評價標準:類似于文獻[17]的評估方法,本文利用人工評判方法對情感詞典進行評估,具體做法是選取情感詞典中一定數量的詞語,人工判斷它們的極性是否正確,通過這些情感詞的正確率來衡量所構建的情感詞典性能。
為了驗證本文提出的情感詞典構建方法的有效性,選取了以下方法作為基線方法:
1)基于WordNet的情感詞典構建方法(A Method of Constructing Sentiment Lexicon Based on WordNet,WN):直接利用WordNet語義知識庫對情感種子詞進行同義詞的迭代抽取,得到擴充的情感詞典。
2)基于連詞關系的情感詞典構建方法(Method of Constructing Sentiment Lexicon Based on Conjunctive Relations,CR):分析語料,迭代抽取和種子詞具有連詞關系的詞語。和種子詞具有并列關系的詞語極性和種子詞極性相同,和種子詞具有轉折關系的詞語極性和種子詞極性相反,得到擴充的情感詞典。
3)基于Word2Vec的情感詞典構建方法(Method of Constructing Sentiment Lexicon Based on Word2Vec,W2V):利用Word2Vec在語料上訓練詞向量,然后迭代計算語料中詞語和情感種子詞之間的語義相似度,相似度大于某個閾值的詞語和該種子詞的極性相同,以此得到擴充的情感詞典。
4)基于連詞關系和標簽傳播的情感詞典構建方法(Method of Constructing Sentiment Lexicon Based on Conjunctive Relations and Label Propagation,CRLP):利用連詞關系抽取候選情感詞后,然后利用標簽傳播算法確定候選情感詞的極性以及構建情感詞典。
5)基于Word2Vec和標簽傳播的情感詞典構建方法(A Method of Constructing Sentiment Lexicon Based on Word2Vec and Label Propagation,W2VLP):利用Word2Vec在語料上訓練詞向量后,然后計算語料中詞語和情感種子詞之間的語義相似度,將相似度大于某個閾值的詞語抽取出來作為候選情感詞,最后利用標簽傳播算法確定候選情感詞的極性以及情感詞典。
為了方便,將本文提出的方法稱為CR&W2V-LP方法。分別選取20個、30個、50個種子詞進行實驗。其中,確定是否是積極情感詞的閾值ppos設為0.01,確定是否是消極情感詞的閾值pneg設為0.02。人工判斷所構建情感詞典的正確率,實驗結果分別如表2~表4所示。

表2 種子詞為20個的實驗結果 %

表3 種子詞為30個的實驗結果 %

表4 種子詞為50個的實驗結果 %
從表2~表4可以看出,在基線實驗中,WN方法所得情感詞典的正確率的實驗結果最差。原因在于WordNet是一個人工構建的語義知識庫詞典,在迭代擴充過程中所引入的噪聲詞比較多,并且覆蓋面有限,對于不在WordNet中的情感詞擴充不到,因而有相應局限。
相比于依賴語義知識庫的WN方法而言,基于語料庫的CR方法和W2V方法的實驗結果均取得了較好效果,說明了基于語料庫的情感詞典構建方法的優越性。進一步,發現在表2~表4中,W2VLP方法的性能均好于W2V方法,CRLP方法的性能也優于CR方法,這說明了標簽傳播算法的有效性。
相比于基線方法,本文提出的CR&W2V-LP方法在表2~表4中的正確率均取得了最高值,相對于CRLP和W2VLP這2個性能較好的基線方法分別獲得了1.5%~5.1%間的性能提升,可見本文方法對于情感詞典的構建有較大的優勢。下面對原因進行分析。
在W2V和W2VLP方法中,對于語料中和種子詞距離較遠的情感詞會由于相似度較小而被過濾掉。CR和CRLP方法雖然可以將語料中和種子詞具有連詞關系的詞語抽取出來作為情感詞,但是對于其他和種子詞沒有連詞關系的情感詞卻會被忽略。如“The cellphone is beautiful and durable,I love it very much”這一評論中,若“beautiful”作為種子詞,利用CR或者CRLP方法可以抽取出和它并列的情感詞“durable”,但是情感詞“love”則因為和種子詞沒有連詞關系而被忽略掉。因此,從上述分析可以看出,基于Word2Vec的方法和基于連詞關系的方法各有優缺點。
本文方法則因為結合了Word2Vec和連詞關系這2種方法來抽取候選情感詞,因而,能較好地抽取出各自方法所擴充不到的情感詞。此外,標簽傳播算法可以將種子詞的情感極性通過邊向相鄰結點傳播。在圖中,詞語的極性不僅受到近距離種子詞的影響,也受到其他種子詞極性的影響。通過多次迭代,標簽在不斷地傳播,可以對極性標注不正確的情感詞進行及時地更新,使最終擴充得到的情感詞典的正確率更高。綜上所述,本文方法所構建的情感詞典質量更高,在性能和正確率上具有更大優勢。
此外,本文方法還具有良好的魯棒性。圖3直觀地展示了基線方法以及本文方法隨種子詞個數變化的正確率變化情況,從圖3可以看出,本文方法較為穩定,在種子詞數量變化的情況下性能均優于其他方法。

圖3 隨種子詞個數變化的實驗結果
本文提出一種基于標簽傳播算法的情感詞典構建方法。該方法首先選取情感種子詞,然后通過Word2Vec和連詞關系等2種方式在語料中找出候選情感詞,構建語義關聯圖,使用標簽傳播算法更新候選情感詞的極性,最終構建得到情感詞典。實驗結果表明,該方法優于基線方法,具有良好的性能及魯棒性。下一步將對本文方法在其他領域語料上進行實驗,并考慮將語言學知識融入標簽傳播算法中,提高情感詞典構建方法的準確率。
[1] 杜嘉忠,徐 健,劉 穎.網絡商品評論的特征-情感詞本體構建與情感分析方法研究[J].現代圖書情報技術,2014,30(5):74-82.
[2] 王 科,夏 睿.情感詞典自動構建方法綜述[J].自動化學報,2016,42(4):495-511.
[3] 謝松縣,劉 博,王 挺.應用語義關系自動構建情感詞典[J].國防科技大學學報,2014(3):111-115.
[4] KIM S M,HOVY E.Determining the sentiment of opinions[C]//Proceedings of the 20th International Conference on Computational Linguistics.Geneva,Switzerland:Association for Computational Linguistics,2004:1367-1373.
[5] HASSAN A,RADEV D.Identifying text polarity using random walks[C]//Proceedings of the 48th Annual Meeting of the Association for Computational Linguistics.Uppsala,Sweden:Association for Computational Linguistics,2010:395-403.
[6] 周詠梅,楊佳能,陽愛民.面向文本情感分析的中文情感詞典構建方法[J].山東大學學報(工學版),2013,43(6):27-33.
[7] BACCIANELLA S,ESULI A,SEBASTIANI F.SentiWordNet 3.0:an enhanced lexical resource for sentiment analysis and opinion mining[C]//Proceedings of International Conference on Language Resources and Evaluation.Valletta,Malta:European Languages Resources Association,2010:83-90.
[8] 楊 陽,劉龍飛,魏現輝,等.基于詞向量的情感新詞發現方法[J].山東大學學報(理學版),2014,49(11):51-58.
[9] 楊小平,張中夏,王 良,等.基于Word2Vec的情感詞典自動構建與優化[J].計算機科學,2015,44(1):42-47.
[10] StanfordParser[EB/OL].[2016-11-21].https://nlp.stanford.edu/software/lex-parser.shtml.
[11] 張乃洲,曹 薇,李石君.一種基于結點密度分割和標簽傳播的Web頁面挖掘方法[J].計算機學報,2015,38(2):349-364.
[12] 馬千里,張俊浩.一種局部強化的多標簽傳播社區發現算法[J].計算機工程,2014,40(6):171-174.
[13] 劉錦文,許 靜,張利萍,等.基于標簽傳播和主動學習的人物社會關系抽取[J].計算機工程,2017,43(2):234-240.
[14] 李壽山,李逸薇,黃居仁,等.基于雙語信息和標簽傳播算法的中文情感詞典構建方法[J].中文信息學報,2013,27(6):75-81.
[15] MCAULEY J,TARGETT C,SHI Q,et al.Image-based recommendations on styles and substitutes[C]//Proceedings of the 38th International ACM SIGIR Conference on Research and Development in Information Retrieval.New York,USA:ACM Press,2015:43-52.
[16] MIKOLOV T,CHEN K,CORRADO G,et al.Efficient estimation of word representations in vector space[C]//Proceedings of the International Conference on Learning Representations.Scottsdale,Arizona,USA:ACM Press,2013:1-12.
[17] NEVIAROUSKAYA A,PRENDINGER H,ISHIZUKA M.SentiFul:a lexicon for sentiment analysis[J].IEEE Transactions on Affective Computing,2011,2(1):22-36.