陳自巖 黃 宇 王 洋 傅興玉 付 琨
1(中國科學院大學 北京 100049)2(中國科學院空間信息處理與應(yīng)用系統(tǒng)重點實驗室 北京 100190)
一種利用語義相似特征提升細粒度情感分析方法
陳自巖1,2黃 宇2王 洋2傅興玉2付 琨2
1(中國科學院大學 北京 100049)2(中國科學院空間信息處理與應(yīng)用系統(tǒng)重點實驗室 北京 100190)
情感分析主要研究人們正面或負面情感的表達。隨著網(wǎng)頁文本的爆炸式增長,情感分析在學術(shù)研究和實際應(yīng)用中都成了熱門話題。細粒度的情感分析方法通常采用兩步策略,從而極易產(chǎn)生自底向上的層疊錯誤問題。為了解決這個問題,研究者們提出了一種基于馬爾科夫邏輯的細粒度的情感分析聯(lián)合框架。其中最常用的傳統(tǒng)全局特征是自底向上和自頂向下特征。為了更好地提升細粒度情感分析的聯(lián)合學習能力,一種新的語義相似特征被提了出來,中文情感分析數(shù)據(jù)集上的實驗證明,此特征能對情感分析聯(lián)合框架帶來極大的改進。
細粒度的情感分析 馬爾科夫邏輯 語義相似特征
情感分析也叫觀點挖掘,主要用來分析人們在傳達信息時所含的情緒觀點,以及對人們的態(tài)度、感情色彩進行判別或者評估[1]。隨著互聯(lián)網(wǎng)技術(shù)的進步,情感分析自2000年以來呈現(xiàn)出蓬勃發(fā)展的趨勢,支持向量機(SVM)、條件隨機場(CRF)和基于詞典等方法的提出,使得情感分析在輿情監(jiān)控、異常事件監(jiān)測、金融預測等領(lǐng)域得到廣泛應(yīng)用。
通常,情感分析按粒度可以分為文檔級、句子級、子句級和短語級。文檔級的情感分析旨在對整個文檔分成正面、負面及中立,其主要應(yīng)用在微博等短文本中[2-3],但在長文本中則顯得比較粗糙,因此細粒度的情感分析應(yīng)運而生。例如,文獻[4]針對句子級的情感分析提出了一系列的方法來挖掘產(chǎn)品評論;文獻[5]采用兩步策略分析短語的情感傾向。由于一個句子中可能表達不止一種情感傾向,因此本文選擇子句級的情感分析粒度。子句級的情感分析最重要的預處理工作是子句分隔,文獻[6]選擇語篇分隔理論作為基本的分類單元;文獻[7]則粗略地用漢語逗號進行子句分隔。
傳統(tǒng)的細粒度情感分析方法經(jīng)常采用鏈式結(jié)構(gòu)的兩步策略,即主觀分類和極性分類。前者旨在識別出具有主觀性的句子或者短語,后者則對識別出的主觀性句子或短語進行正面或負面的分類。這種鏈式結(jié)構(gòu)極易產(chǎn)生層疊錯誤問題,如果一個沒有情感傾向的句子或者短語在主觀分類中被誤判成主觀的,其不可避免地影響極性分類的性能。因此文獻[7]提出了一種基于馬爾科夫邏輯[8]的細粒度情感分析聯(lián)合框架,使用自底向上和自頂向下的全局特征將主觀分類和極性分類進行聯(lián)合學習,從而減少了鏈式結(jié)構(gòu)帶來的層疊錯誤。此文獻中還引入了一種二元結(jié)構(gòu)特征,認為同一句子中相鄰的子句很有可能具有相似的情感極性,但這種假設(shè)在相互轉(zhuǎn)折的子句中就不再成立,如“這本書很貴,但內(nèi)容確實很精彩”中,兩個子句具有相反的極性。
針對以上問題,本文提出了一種新的語義相似特征,認為兩個子句在語義上的相似度越高,越具有相同的極性。為了度量兩個子句的語義相似度,本文提出了一種基于全局向量GloVe(Global Vectors)[9]模型的相似度計算方法。首先利用全局向量模型在大規(guī)模未標注數(shù)據(jù)上訓練詞向量,然后采用加權(quán)和的方法計算子句向量,最后計算子句向量之間的余弦相似度作為子句間的語義相似度。馬爾科夫邏輯是一種統(tǒng)計關(guān)系表征語言,其將一階邏輯融入到無向圖模型中,從而能使豐富的特征或領(lǐng)域知識融合在一起聯(lián)合學習推導。語義相似特征是一種全局特征,可以用馬爾科夫邏輯的全局表達式進行表示,從而提升子句間情感分類的聯(lián)合學習能力。最后本文在譚松波的中文情感分析語料集(ChnSentiCorp)上進行實驗,為了滿足本文的子句級的情感分析,我們引入了一種人工標注計劃對數(shù)據(jù)進行再加工,從而獲得子句級上的標注。
本節(jié)將簡要介紹基于馬爾科夫邏輯的子句級情感分析的聯(lián)合學習框架,其基本思想是將主觀分類和極性分類進行隔離,并分別用不同的局部特征集進行獨立學習。然后利用全局特征再將主觀分類和極性分類整合到一個完整的網(wǎng)絡(luò)中統(tǒng)一學習,其基本原理可以用圖1表示。
圖1 子句級情感分析的聯(lián)合框架
1.1 馬爾科夫邏輯網(wǎng)
馬爾科夫邏輯網(wǎng)是一種強大的統(tǒng)計關(guān)系表征語言,其能將一階邏輯和馬爾科夫隨機場進行結(jié)合。在一階邏輯中,一個表達式只代表一個布爾值,即成立與不成立。而馬爾科夫邏輯放松了這一限制,其對每個一階邏輯表達式賦一個權(quán)重,在訓練階段,越多的數(shù)據(jù)滿足某一表達式,則其對應(yīng)的權(quán)重越大,對于不滿足的則通過懲罰減小權(quán)重。一個馬爾科夫邏輯網(wǎng)由一系列的(Fi,wi)對組成,其中Fi是一階邏輯表達式,而wi是此一階邏輯表達式對應(yīng)的權(quán)重值,其聯(lián)合概率可以表示為:
(1)
其中,F(xiàn)是一階邏輯表達式的數(shù)目,ni(x)是滿足表達式Fi成立的數(shù)目。
每個表達式由一系列的一階變量,謂詞和邏輯連接符組成,如:
wicontainadj(s)?subjective(s)
此表達式隱含的意義是如果一個子句中存在形容詞,那么這個子句很有可能帶有主觀性,權(quán)重wi代表了表達式成立的可信度。表達式中s是一個變量,代表每個子句,containadj是已知謂詞,而subjective是隱含謂詞,需要從已知謂詞中推導出來。
1.2 局部表達式
局部表達式用來由已知謂詞推導隱含謂詞,本節(jié)通過定義一系列的局部特征來設(shè)計局部表達式,從而實現(xiàn)主觀分類和極性分類的分別訓練。表1列出了所用到的謂詞,其中已知謂詞描述了所抽取的特征。極性分數(shù)的計算方法可以參考文獻[10]。
表1 所用到的謂詞
表2和表3分別列出了主觀分類和極性分類中的局部表達式,其中加號“+”表示對于變量的不同取值賦以不同的權(quán)重值。從兩個表中看出分成兩個獨立步驟的好處是能根據(jù)具體的分類任務(wù)設(shè)計有效的局部特征。
表2 主觀分類中的局部表達式
表3 極性分類中的局部表達式
1.3 全局表達式
上節(jié)采用局部表達式分別學習了主觀分類和極性分類,而這兩個步驟之間存在著相輔相成的聯(lián)系,馬爾科夫邏輯通過定義全局表達式,可以使兩個獨立的局部分類器融入到統(tǒng)一的網(wǎng)絡(luò)框架中,其中最常用的兩個全局特征是自底向上(式(2))和自頂向下(式(3))。
sentiment(s,sen+)?polarity(s,″non″)sentiment(s,sen+)?!polarity(s,″non″)
(2)
polarity(s,po+)?sentiment(s,sen+)
(3)
在自底向上的推導過程中,我們給主觀分類的變量賦予分離的權(quán)重,從而使主觀與客觀的子句都能進入到極性分類階段。而自頂向下的推導為主觀分類提供了反饋信息,減少了因主觀分類傳播下來的層疊錯誤問題。
除了以上兩個全局特征,文獻[7]還引入了一種二元結(jié)構(gòu)特征,其認為相鄰的子句之間具有相同的情感極性,相應(yīng)的表達式為:
bigram(s1,s2)∧polarity(s1,″pos″)?polarity(s2,″pos″)bigram(s1,s2)∧polarity(s1,″neg″)?polarity(s2,″neg″)
(4)
其中已知謂詞bigram(s1,s2)表示兩個子句之間的相鄰性。這種二元結(jié)構(gòu)特征只是單純地依賴結(jié)構(gòu)上的相鄰性,并沒有充分考慮子句間的語義描述,因此在遇到語義表達相反的子句時就會出現(xiàn)問題。
馬爾科夫邏輯依靠全局表達式將各個子任務(wù)整合到一個完整的框架中,好的全局特征可以提升模型的聯(lián)合學習能力,本節(jié)將詳細介紹一種有效的全局特征,其能充分利用子句間的語義相似信息,提升各個子句間的相互推導能力。本節(jié)首先介紹怎樣利用全局向量模型獲得詞在語義空間上的線性表征(即詞向量),然后根據(jù)詞向量來獲得子句向量,繼而計算子句之間的余弦相似度,并將其作為子句間的語義相似信息。
2.1 全局向量模型
在大規(guī)模未標注數(shù)據(jù)中,詞與詞之間的共現(xiàn)統(tǒng)計是非監(jiān)督學習詞向量的最直接也是最重要的特征。全局向量模型是一種能直接捕獲這種特征來訓練詞向量的有效方法,其基本原理是首先通過詞的共現(xiàn)統(tǒng)計形成一個共現(xiàn)矩陣Xij,其中每個元素代表詞i和j之間的共現(xiàn)程度,然后設(shè)計一系列的函數(shù)去近似共現(xiàn)概率,由于詞向量空間具有內(nèi)在的線性結(jié)構(gòu),因此這些函數(shù)可以用下式表示:
(5)
其中,w∈d表示詞向量,Pik表示詞與詞之間的共現(xiàn)概率。為了訓練詞向量,文獻[9]中提出了一種最小方差回歸模型作為代價函數(shù),并用AdaGrad獲取最優(yōu)化結(jié)果。
2.2 語義相似度計算
通過詞向量的加權(quán)和,我們可以得到子句向量,由于情感詞在子句中的重要性,我們給其賦予較大的權(quán)重,用公式表示如下:
(6)
其中,M表示子句中情感詞的個數(shù),N表示子句中其它詞的個數(shù)。由此可以得到子句間的語義相似度為:
(7)
假設(shè)子句間的相似度越高,其表達的感情色彩越相近。因此在聯(lián)合學習之前,我們在整個數(shù)據(jù)集中找到與每個子句語義相似度最高的子句,并將它們放在如下的全局表達式中:
similarity(s1,s2)∧polarity(s1,″pos″)?polarity(s2,″pos″)similarity(s1,s2)∧polarity(s1,″neg″)?polarity(s2,″neg″)
(8)
其中已知謂詞similarity(s1,s2)表示兩個子句之間在語義上的相似性。與公式中的二元結(jié)構(gòu)特征相比,語義相似特征更是一種真正意義上的全局特征,其不再單純依賴結(jié)構(gòu)上的相鄰性,而是在整個數(shù)據(jù)集中尋找語義上的相似信息,從而更好地提升聯(lián)合學習的能力。
3.1 數(shù)據(jù)集
選擇譚松波的中文情感分析數(shù)據(jù)集(ChnSentiCorp)[11],并在子句級上進行再次標注。中文情感分析數(shù)據(jù)集主要來自攜程的賓館評論、當當?shù)臅u論和京東的筆記本電腦評論,共有一萬多篇,每一篇都有文檔級的正負極性標注。為了滿足子句級情感分析的需求,選取了覆蓋三個類別、長短不齊的300篇文檔,同時邀請了三個與本研究無關(guān)的標注者對這些文檔進行子句判別,同時對每個子句賦予正面、負面、中立等類別的標注。最終形成了4642個子句,其中34%為正面、47%為負面及19%為中立。為了評估三個標注者的標注可信度,我們引入了Fleiss’skappa[12],其能有效地衡量多個標注者標注數(shù)據(jù)的一致性。對于我們的數(shù)據(jù),獲得了0.78的Fleiss’skappa值,這個數(shù)值基本接近0.8的完美標注。
3.2 實驗設(shè)置
本實驗的流程如圖2所示,其中采用現(xiàn)有的系統(tǒng)“ICTCLAS”[13]進行分詞與詞性標注,并采用基于詞典的方法檢測否定詞、程度副詞及觀點詞。詞向量的訓練是在一萬多篇原始數(shù)據(jù)集上進行,詞向量的維度設(shè)置為50,迭代訓練次數(shù)為100次。最后引入開源工具“MarkovtheBeast”實現(xiàn)馬爾科夫邏輯的聯(lián)合學習與推導。為了驗證語義相似特征的有效性,我們設(shè)計了兩個模型:Base_MLN和Similarity_MLN。其中前者采用二元結(jié)構(gòu)特征,而后者采用語義相似特征。
圖2 實驗流程
3.3 實驗結(jié)果
由于子句級的情感分析的標注費時費力,因此數(shù)據(jù)量比較小,為了避免小樣本產(chǎn)生的過擬合現(xiàn)象,我們采用十折交叉驗證。這個數(shù)據(jù)集被分成十等分,每一次測試,我們選擇其中9份作為訓練集,另外一份作為測試集。我們采用正確率(A)、準確率(P)、召回率(R)和F1值來評估方法的有效性。表4和表5分別列出了主觀分類和極性分類的結(jié)果。
表4 主觀分類結(jié)果
表5 極性分類結(jié)果
從以上兩個表中可以看出Similarity_MLN在主觀分類中提高了約2.23%的正確率,而在極性分類中則提高了約4.86%的正確率,這充分表明了語義相似特征的有效性。
本文重點研究子句級的情感分析,傳統(tǒng)的方法往往采用兩步策略,這往往產(chǎn)生層疊錯誤問題?;隈R爾科夫邏輯的聯(lián)合模型使各個子任務(wù)融入到統(tǒng)一的框架下,從而有效地減少了層疊錯誤。本文在此基礎(chǔ)上提出了一種新的全局特征,即語義相似特征,充分考慮了語義相似的兩個子句很有可能具有相同的情感傾向,有效地提升了聯(lián)合學習的能力。在中文情感分析數(shù)據(jù)集上的實驗結(jié)果表明語義相似特征優(yōu)于前人的二元結(jié)構(gòu)特征。將來的研究會集中在兩個方面:子句分隔和更細粒度的分類(喜、怒、哀、樂等)[14]。
[1] 周勝臣,瞿文婷,石英子,等.中文微博情感分析研究綜述[J].計算機應(yīng)用與軟件,2013,30(3):161-164.
[2] 李巖,韓斌,趙劍.基于短文本及情感分析的微博輿情分析[J].計算機應(yīng)用與軟件,2013,30(12):240-243.
[3] 李澤魁,趙妍妍,秦兵,等.中文微博情感傾向性分析特征工程[J].山西大學學報(自然科學版),2014,37(4):570-579.
[4]HuM,LiuB.Miningandsummarizingcustomerreviews[C]//ProceedingsofthetenthACMSIGKDDinternationalconferenceonKnowledgediscoveryanddatamining.ACM,2004:168-177.
[5]WilsonT,WiebeJ,HoffmannP.Recognizingcontextualpolarityinphrase-levelsentimentanalysis[C]//Proceedingsoftheconferenceonhumanlanguagetechnologyandempiricalmethodsinnaturallanguageprocessing.AssociationforComputationalLinguistics,2005:347-354.
[6]ZirnC,NiepertM,StuckenschmidtH,etal.Fine-GrainedSentimentAnalysiswithStructuralFeatures[C]//IJCNLP,2011:336-344.
[7]ChenZ,HuangY,TianJ,etal.Jointmodelforsubsentence-levelsentimentanalysiswithMarkovlogic[J].JournaloftheAssociationforInformationScienceandTechnology,2015,66(9):1913-1922.
[8]RichardsonM,DomingosP.Markovlogicnetworks[J].Machinelearning,2006,62(1-2):107-136.
[9]PenningtonJ,SocherR,ManningCD.Glove:GlobalVectorsforWordRepresentation[C]//EMNLP,2014,14:1532-1543.
[10] 張成功,劉培玉,朱振方,等.一種基于極性詞典的情感分析方法[J].山東大學學報(理學版),2012,47(3):47-50.
[11]TanS,ZhangJ.Anempiricalstudyofsentimentanalysisforchinesedocuments[J].ExpertSystemswithApplications,2008,34(4):2622-2629.
[12]FleissJL.Measuringnominalscaleagreementamongmanyraters[J].Psychologicalbulletin,1971,76(5):378.
[13]ZhangHP,LiuQ,ChengXQ,etal.Chineselexicalanalysisusinghierarchicalhiddenmarkovmodel[C]//ProceedingsofthesecondSIGHANworkshoponChineselanguageprocessing-Volume17.AssociationforComputationalLinguistics,2003:63-70.
[14] 歐陽純萍,陽小華,雷龍艷,等.多策略中文微博細粒度情緒分析研究[J].北京大學學報(自然科學版),2014,50(1):67-72.
A FINE-GRAINED SENTIMENT ANALYSIS METHOD USING SEMANTICSIMILARITY FEATURE
Chen Ziyan1,2Huang Yu2Wang Yang2Fu Xingyu2Fu Kun2
1(UniversityofChineseAcademyofSciences,Beijing100049,China)2(KeyLaboratoryofTechnologyinGeospatialInformationProcessingandApplicationSystem,InstituteofElectronics,ChineseAcademyofSciences,Beijing100190,China)
Sentiment analysis mainly focuses on the study of people’s emotional expressions including positive and negative sentiment. With the explosive growth of web texts, sentiment analysis has become a hot topic in both academic researches and practical applications.The method of fine-grained sentiment analysis traditionally adopts a 2-step strategy, which is extremely easy to result in stack-up bottom-up errors. A joint fine-grained sentiment analysis framework based on Markov logic is proposed to solve this problem. “Bottom-up” and “Top-down” are the two most commonly used traditional overall features. In order to improve the joint learning ability of fine-grained sentiment analysis, a new semantic similarity feature has been proposed. Experiments on the data set of Chinese sentiment analysis prove that the semantic similarity feature can bring a significant improvement to the joint fine-grained sentiment analysis framework.
Fine-grained sentiment analysis Markov logic Semantic similarity feature
2016-02-17。國家自然科學
61331017)。陳自巖,博士生,主研領(lǐng)域:文本信息抽取。黃宇,副研究員。王洋,助理研究員。傅興玉,助理研究員。付琨,研究員。
TP3
A
10.3969/j.issn.1000-386x.2017.03.005