宛艷萍 張 芳 谷佳真
(河北工業(yè)大學(xué)人工智能與數(shù)據(jù)科學(xué)學(xué)院 天津 300401)
情感分析(Sentiment Analysis,SA)又稱觀點識別、情感挖掘等。指通過計算機手段快速獲取、整理和分析網(wǎng)絡(luò)評論文本的過程。隨著社交網(wǎng)絡(luò)、電子商務(wù)、移動互聯(lián)網(wǎng)等技術(shù)的大力發(fā)展,互聯(lián)網(wǎng)中帶有情感色彩的文本數(shù)據(jù)迅速膨脹,對其進(jìn)行整理并分析可以更好地理解網(wǎng)民的觀點和立場。目前情感分析已經(jīng)應(yīng)用于輿情管控、商業(yè)決策、信息預(yù)測、情緒管理等方面。
目前國內(nèi)外對于文本情感分析的方法主要包括基于詞典規(guī)則和基于機器學(xué)習(xí)兩種?;谠~典規(guī)則的方法過于依賴于情感詞典,無法解決未登錄詞的問題,基于機器學(xué)習(xí)的文本情感傾向性分析多使用SVM、KNN和樸素貝葉斯等分類器,不同分類器具有不同的分類效果,各有其優(yōu)劣勢。
由于中文文本的復(fù)雜性,在情感分析的文本中常會包含一些具有復(fù)雜情感表達(dá)或有情感歧義的語句,會增加情感分類的難度和錯誤傾向,且不同的句子對于文本的情感貢獻(xiàn)度是不同的,因此林政等[1]提出了情感關(guān)鍵句的概念。對情感分析的文本提取關(guān)鍵句可以避免非關(guān)鍵句對文本整體的情感傾向引起的判斷偏差,有助于提高情感傾向性分析的性能。如對于某酒店的評論,評論中前半部分描述了酒店附近的景區(qū)使用了大量積極性的詞語,但在評論的最后明確表示不會再入住此酒店,所以此評論的情感是負(fù)向的,但由于包含大量積極性的詞語,若直接對整條評論進(jìn)行情感傾向性分析很容易產(chǎn)生誤判。
現(xiàn)階段基于關(guān)鍵句的文本情感傾向性研究,對于關(guān)鍵句的提取大多只考慮如情感、關(guān)鍵詞等文本屬性,通過各屬性間加權(quán)求和的方法提取關(guān)鍵句并沒有考慮文本的上下文信息,關(guān)于分類器的選擇多使用SVM、樸素貝葉斯等分類器進(jìn)行情感分類并不能有效地結(jié)合不同分類器的分類優(yōu)勢。因此本文在已有基于關(guān)鍵句的文本情感分析研究的基礎(chǔ)上,提出一種融合全局特征和自身特征的關(guān)鍵句提取算法,然后對提取的關(guān)鍵句采用集成分類器進(jìn)行情感傾向性分析的方法。
目前對于提取關(guān)鍵句的研究并不多,文獻(xiàn)[1]中首次提出情感關(guān)鍵句的概念,根據(jù)情感屬性、位置屬性和關(guān)鍵詞屬性加權(quán)求和的方式提取關(guān)鍵句;文獻(xiàn)[2]提出了SOAS算法,首先根據(jù)位置屬性、關(guān)鍵詞屬性、詞頻句子頻特征這三類屬性提取關(guān)鍵句,然后結(jié)合詞性和依存關(guān)系規(guī)則計算情感傾向性得分;文獻(xiàn)[3]在SOAS的基礎(chǔ)上考慮了主題特征,通過各句子間加權(quán)求和計算文本最終得分;文獻(xiàn)[4]中將情感關(guān)鍵句的提取視為一個二元分類問題,提取句子特征并使用SVM進(jìn)行分類;文獻(xiàn)[5]對于關(guān)鍵句的提取考慮了Title和上下文信息,提出一種基于Title和加權(quán)TextRank抽取關(guān)鍵句的情感分析方法。
現(xiàn)有的方法在提取情感關(guān)鍵句時大多根據(jù)情感屬性、位置屬性和關(guān)鍵詞屬性加權(quán)求和提取關(guān)鍵句,只考慮了文本自身的特征并沒有考慮全局信息。本文融合全局特征和自身特征提取關(guān)鍵句,對于全局特征不僅考慮傳統(tǒng)的文本信息還考慮句子之間的相似性將其加權(quán)融合到TextRank中構(gòu)建基于句子的圖模型得到每個句子的得分,再根據(jù)句子本身特征對每個句子得分進(jìn)行調(diào)整。當(dāng)TextRank基于句子構(gòu)建圖模型時普遍認(rèn)為所有的句子節(jié)點之間的邊都是互相連接的,各節(jié)點之間權(quán)重共享,但當(dāng)文本中包含句子比較多時,對于距離相距較遠(yuǎn)的句子其相互影響并不大,此時若認(rèn)為所有的句子節(jié)點間都存在相互連接的邊會使得與本句節(jié)點距離較近和較遠(yuǎn)的句子節(jié)點對本句的影響同樣重要,這不僅增加了噪音且與實際情況不符。因此本文提出一種融合全局特征和自身特征雙窗口的加權(quán)TextRank關(guān)鍵句提取算法(WTTW算法),在構(gòu)建圖模型時認(rèn)為與本句節(jié)點所相鄰的前兩個句子節(jié)點和后兩個句子節(jié)點相互影響并連接構(gòu)成圖模型的邊,對于文本中句子較多的情況更貼近實際,并且減少了大量的計算工作。
目前基于機器學(xué)習(xí)的情感傾向性研究主要是把情感傾向性分析的過程看成一個二分類或多分類的過程。文獻(xiàn)[6]中首先將Tweets進(jìn)行主客觀分類,然后將主觀文本再進(jìn)行正負(fù)傾向性分析。文獻(xiàn)[7]提出一種自適應(yīng)多分類SVM模型,利用co-training算法將常用的分類器轉(zhuǎn)化為自適應(yīng)分類器。文獻(xiàn)[1]在有監(jiān)督分類中采用了分類器融合的方法。文獻(xiàn)[8]對tweets使用不同的基分類器進(jìn)行情感分類,將所有基分類器輸出的結(jié)果進(jìn)行累加,若正向得分大于負(fù)向得分,則判斷為正向,反之為負(fù)向。
現(xiàn)有的研究關(guān)于文本情感傾向性分類器的選擇大多只使用了單一的分類器或者將分類器進(jìn)行簡單的融合,并沒有考慮將不同分類器根據(jù)后驗概率進(jìn)行加權(quán)集成,加權(quán)集成多種分類器可以調(diào)節(jié)不同分類器的優(yōu)劣勢,提高分類性能。
綜上所述,本文提出一種融合全局特征和自身特征雙窗口的加權(quán)TextRank關(guān)鍵句提取算法(WTTW算法),在WTTW算法提取關(guān)鍵句的基礎(chǔ)上加權(quán)集成多種分類器進(jìn)行文本情感傾向性分析的方法。
關(guān)鍵句的提取主要從全局特征和句子本身特征兩方面進(jìn)行考慮。全局特征主要通過關(guān)鍵詞特征、位置特征、句子之間的相似度構(gòu)建窗口為2的TextRank圖模型,句子本身特征主要考慮句子情感特征和標(biāo)點特征。
一般認(rèn)為包含總結(jié)性詞語、轉(zhuǎn)折性詞語和感知性詞語(總之、總的來說、但是、覺得等)成為關(guān)鍵句的可能性越大。本文總結(jié)了一些較常見的這三類詞語,部分如表1所示。
表1 關(guān)鍵性詞語表
若句子中出現(xiàn)這些詞語則成為關(guān)鍵句的可能性越大,關(guān)鍵詞權(quán)重w1的計算公式如下:
(1)
(2)
文本中通常首句和尾句更可能是總結(jié)句,包含關(guān)鍵性的信息,則越靠近首句或尾句的句子成為關(guān)鍵句的可能性越大,則位置權(quán)重w2的計算公式如下:
(3)
式中:i為句子的位置;n為句子總數(shù)。
經(jīng)典的TextRank通過詞的共現(xiàn)次數(shù)計算兩個句子的相似性。文獻(xiàn)[9]在TextRank中計算句子相似度時,認(rèn)為BM25算法取得的效果最好。BM25算法是一種經(jīng)典的檢索算法,基于句子間相似度計算。兩個句子相似度計算式為:
(4)
式中:前半部分因數(shù)IDF(wit)表示句子si中詞wit的重要性;后半部分因數(shù)為詞wit的相關(guān)性得分,f為詞在sj中出現(xiàn)的頻率,|sj|為句子sj的長度,avgSL為所有句子的平均長度,參數(shù)k1調(diào)節(jié)詞頻的影響力,b調(diào)節(jié)句子長度的影響力。IDF(wit)計算如下:
(5)
(6)
式中:N為句子總數(shù),n(wit)為包含詞wit的句子數(shù),即認(rèn)為包含詞wit的句子越少,詞wit越具有區(qū)分能力,越重要。
綜上所述,相似度權(quán)重w3的計算式為:
(7)
TextRank算法是文本基于圖排序的算法,作用于句子時多用于提取文本摘要[10-12],其思想源于谷歌的PageRank。PageRank是網(wǎng)頁的排序算法,一個網(wǎng)頁的重要性通過其所鏈接的網(wǎng)頁的數(shù)量和影響力決定。借鑒于PageRank,TextRank通過將文本切分為不同的文本單元(詞或句子)使其作為節(jié)點。對給定的文本D,首先進(jìn)行句子切分D={s1,s2,s3,…,sn},si為文本中的第i個句子,n為文本中包含的句子總數(shù),對于每個句子si={wi1,wi2,wi3,…,wim},由m個詞組成?;谌痔卣鳂?gòu)建窗口為2的有權(quán)圖G=(V,E),若文本中有5個句子其有權(quán)圖模型如圖1所示,各節(jié)點的得分為:
式中:d為阻尼系數(shù),代表從任一節(jié)點跳轉(zhuǎn)到另一節(jié)點的概率,一般取值0.85;In(vi)表示指向點vi的點的集合;Out(vj)表示點vj指向的點的集合;wji表示節(jié)點vj與節(jié)點vi之間邊的權(quán)重。
圖1 窗口為2的有權(quán)圖模型
可以看出,本文將整個文本作為一個單元,設(shè)置長度為2的滑動窗口,從第一句至最后一句順序進(jìn)行滑動窗口建立圖模型。圖中V={v1,v2,…,v5}為句子的節(jié)點集,依次代表文本中的5個句子,各節(jié)點得分如式(8)所示,由于窗口長度為2,因此v1節(jié)點只能與v2和v3兩個節(jié)點連接構(gòu)成邊,而節(jié)點v3處于中間位置,則最多可與v1、v2、v4和v5四個節(jié)點連接構(gòu)成邊,其中各邊上的wij表示節(jié)點vi共享給節(jié)點vj的邊權(quán)重值。
由式(8)知,每個節(jié)點的得分主要取決于與其相連的節(jié)點所傳遞過來的權(quán)重wij。本文中對于各句子之間的權(quán)重wij主要考慮了關(guān)鍵詞權(quán)重w1、位置w2、相似度權(quán)重w3,各句子之間的最終權(quán)重值可以寫成3個權(quán)重加權(quán)求和的形式如式(9)所示,其中λ1+λ2+λ3=1,經(jīng)實驗確定λ1=0.45、λ2=0.25、λ3=0.3,將式(9)代入式(8)迭代直至收斂計算出句子的全局特征得分scoregl(si)。
wij=λ1w1+λ2w2+λ3w3
(9)
句子本身的特征主要考慮了句子的情感特征和標(biāo)點特征。本文認(rèn)為關(guān)鍵句應(yīng)該是情感強烈且單一的句子,所以對于句子si情感特征的得分scoreem(si)計算如下:
(10)
(11)
通常情況下嘆號代表著更強的語氣,而省略號多數(shù)情況下代表著無奈或失望,所以若一個句子中包含著嘆號或者省略號可能蘊含的情感更強烈,則對于句子si標(biāo)點特征的得分scorepun(si)計算如下:
(12)
對于給定的文本先通過圖模型得到全局特征得分,然后根據(jù)標(biāo)點特征和情感特征對各句子得分進(jìn)行調(diào)整,得到句子的總得分,計算式如下:
T_score(si)=scoregf(si)+scorepun(si)+scoreem(si)
(13)
通過式(13)計算各個句子的最終得分,提取得分靠前的K個句子作為關(guān)鍵句,具體的關(guān)鍵句提取算法如算法1所示。
算法1基于全局特征和自身特征的WTTW關(guān)鍵句提取算法
輸入:文本D,全局特征調(diào)節(jié)參數(shù)λ1、λ2、λ3。
輸出:文本的關(guān)鍵句。
對文本D,根據(jù)標(biāo)點進(jìn)行預(yù)處理并切分句子D={s1,s2,s3,…,sn}
ForeachsiinDdo
根據(jù)式(1)計算si相似度權(quán)重w1
根據(jù)式(3)計算si關(guān)鍵詞權(quán)重w2
根據(jù)式(7)計算si位置權(quán)重w3
根據(jù)式(10)計算si情感特征的得分scoreem(si)
根據(jù)式(12)計算si標(biāo)點特征的得分scorepun(si)
End
根據(jù)式(9)對各項權(quán)重加權(quán)求和代入式(8),構(gòu)建基于全局特征窗口為2的圖模型,迭代直至收斂計算scoregf(si)
根據(jù)式(13)計算句子的總得分,提取得分高的前K個句子作為文本的關(guān)鍵句
對于傳統(tǒng)的文本情感傾向性研究中,大多使用單一的分類器,如k近鄰、樸素貝葉斯、支持向量機等,還有部分將分類器的結(jié)果進(jìn)行了融合,文獻(xiàn)[1]中首先將文本劃分為關(guān)鍵句集和細(xì)節(jié)句集,然后在關(guān)鍵句集、細(xì)節(jié)句集和全文集分別訓(xùn)練分類器,然后根據(jù)3個基分類器的后驗概率進(jìn)行累加判別文本的情感類別(Combined Classifier),取得了較好的效果。由此得到啟發(fā),不同分類器具有不同的分類效果,集成多個分類器的分類結(jié)果可獲得比單一的分類器更強的泛化能力,即集成學(xué)習(xí)中的Bagging算法,其具體過程如圖2所示。
圖2 Bagging算法過程
Bagging算法訓(xùn)練集使用bootstrap抽樣(有放回的隨機抽樣)并行訓(xùn)練不同的基分類器,然后將不同基分類器的結(jié)果采用投票法進(jìn)行結(jié)合,既節(jié)省了大量的時間又結(jié)合了不同分類器的優(yōu)點,提高了分類正確率。投票法主要分為hard_voting和soft_voting兩種方法。其中,hard_voting中各基分類器直接輸出類標(biāo)簽,根據(jù)少數(shù)服從多數(shù)的原則得到最終結(jié)果。hard_voting中認(rèn)為所有的基分類器貢獻(xiàn)度相同,但更合理的投票法應(yīng)該根據(jù)不同基分類的分類效果賦予不同的權(quán)值,即soft_voting。soft_voting中各基分類器輸出類的概率,并對每個基分類器賦不同的權(quán)重值然后根據(jù)每個基分類權(quán)重對其輸出的類概率加權(quán)求和,即后驗概率加權(quán)求和來決定最終的情感傾向性結(jié)果。本文在WTTW算法的基礎(chǔ)上使用soft_voting方法對提取的關(guān)鍵句進(jìn)行情感傾向性分析(WTTW_SV方法),具體算法如算法2所示。
算法2WTTW_SV算法
輸入:基于WTTW算法提取的關(guān)鍵句集。
輸出:文本的情感傾向性。
ForeachfkinFkeydo
For each基分類器ciin集成分類器En_C={c1,c2,…,cn} do
計算基分類器的輸出類的后驗概率c_proi
End
End
本文通過Python爬蟲爬取不同網(wǎng)站中的評論文本,其中酒店領(lǐng)域數(shù)據(jù)集數(shù)爬自攜程網(wǎng);電影領(lǐng)域數(shù)據(jù)集爬自豆瓣網(wǎng);手機領(lǐng)域數(shù)據(jù)集爬自京東網(wǎng);外賣領(lǐng)域數(shù)據(jù)集爬自美團(tuán)網(wǎng)。經(jīng)過去重降噪后進(jìn)行人工標(biāo)注,最后在各領(lǐng)域選取了正向評論和負(fù)向評論各2 000條,共4 000條評論信息作為本次實驗的數(shù)據(jù)集,匯總表如表2所示。實驗中訓(xùn)練集與測試集按照4 ∶1的比例進(jìn)行劃分,使用樸素貝葉斯作為基礎(chǔ)分類器。
表2 實驗數(shù)據(jù)集匯總表
本文的集成分類器主要是對KNN、SVM、隨機森林、樸素貝葉斯和邏輯斯諦回歸五個基分類器的后驗概率進(jìn)行加權(quán)集成,即soft_voting方法。每個基分類器的權(quán)重值直接影響了實驗效果的正確性,為了得到最佳的實驗結(jié)果需要對各基分類器的權(quán)重進(jìn)行調(diào)試,以情感傾向性分析的準(zhǔn)確率為依據(jù)對每個基分類的權(quán)重進(jìn)行調(diào)試。
以在酒店領(lǐng)域為例對各基分類的權(quán)重進(jìn)行調(diào)整,首先根據(jù)各基分類的分類準(zhǔn)確率設(shè)置其初始權(quán)重,準(zhǔn)確率越高初始權(quán)重越大,然后保持除了需調(diào)整的基分類器的權(quán)重外其他基分類器的權(quán)重不變,將橫坐標(biāo)設(shè)為基分類的權(quán)重,縱坐標(biāo)設(shè)為情感傾向性的準(zhǔn)確率,對每個基分類的權(quán)重循環(huán)進(jìn)行調(diào)試直至情感傾向性分析的準(zhǔn)確率收斂停止調(diào)試,情感傾向性分析的準(zhǔn)確率隨分類器權(quán)重值變化實驗結(jié)果如圖3所示。
圖3 基分類器權(quán)重調(diào)試
可以看出,當(dāng)KNN分類器權(quán)重值為4,SVM分類器權(quán)重值為0,樸素貝葉斯分類器權(quán)重值為4,邏輯斯諦分類器權(quán)重值為13,隨機森林分類器權(quán)重值為8時,實驗準(zhǔn)確率最高,可達(dá)0.923 8。
本文中選取文獻(xiàn)[1]中基于情感屬性、關(guān)鍵詞屬性和位置屬性提取關(guān)鍵句的文本情感傾向性分析作為baseline與基于全文的情感傾向性分析、基于全連接的加權(quán)TextRank(Full TextRank)、Combined Classifier和雙窗口的加權(quán)TexrRank關(guān)鍵句提取算法(WTTW算法)進(jìn)行對比,實驗結(jié)果如表3所示,驗證了本文提出的WTTW算法的有效性。
表3 關(guān)鍵句提取情感傾向性對比實驗結(jié)果
在WTTW算法提取關(guān)鍵句的基礎(chǔ)上使用不同分類器進(jìn)行情感傾向性分析。選取soft_voting中集成的KNN、SVM、Naive Bayes、RandomForest和LogisticRegression五個傳統(tǒng)分類器進(jìn)行情感傾向性分析與本文的WTTW_SV方法進(jìn)行對比,實驗結(jié)果如表4所示。
表4 不同分類器情感傾向性對比實驗結(jié)果
由表3比較結(jié)果知,盡管關(guān)鍵句的提取減少了實驗語料,但是其準(zhǔn)確率卻不低于基于全文的情感傾向性分析。因為對于關(guān)鍵句的提取可以避免無關(guān)信息對情感傾向性的影響,提高情感傾向性分析的效率,當(dāng)融合了全文和細(xì)節(jié)句集合的分類器結(jié)果后,其分類正確率并沒有得到有效的提升,從而證明情感傾向性分析效率的提升并不依賴于實驗語料的多少和分類器結(jié)果的融合,而是依賴于關(guān)鍵句的提取效率,正確的關(guān)鍵句的提取可以提高情感傾向性分析的準(zhǔn)確率。而全連接的加權(quán)TextRank,會增加圖模型的復(fù)雜性引入噪音,不僅會增加計算成本還降低了關(guān)鍵句的提取效率。本文提出的WTTW算法相對于baseline在各個領(lǐng)域的傾向性分析準(zhǔn)確率都有不同程度上的提高;對比全連接的加權(quán)TextRank算法,其在酒店和外賣領(lǐng)域中準(zhǔn)確率均低于WTTW算法,但在電影影評中準(zhǔn)確率略高于WTTW,其原因可能是影評中句子長并且句子總數(shù)量較少,基于全連接的加權(quán)TextRank可以更好地提取句子的關(guān)鍵句。因此根據(jù)數(shù)據(jù)集的不同正確地選擇TextRank的窗口個數(shù)可以提高關(guān)鍵句的提取正確性。
由表4比較結(jié)果知,將WTTW算法應(yīng)用于soft_voting后,其準(zhǔn)確率在各領(lǐng)域都有顯著的提升。對于各基分類加權(quán)融合其后驗概率之后的集成分類器可以有效地融合各基分類器的優(yōu)勢,其分類效果明顯高于所有的基分類器。
為證明本文方法的有效性,在四個不同領(lǐng)域?qū)aseline、Combined Classifier、Full TextRank與本文提出的WTTW_SV方法在準(zhǔn)確率(A)、精確率(P)、召回率(R)和F1值(F)等四個評價指標(biāo)上進(jìn)行對比,其結(jié)果如表5所示。
(14)
(15)
(16)
(17)
表5 不同評價指標(biāo)對比實驗結(jié)果
可以看出,本文方法對于不同領(lǐng)域在準(zhǔn)確率、精確率、召回率和F1值上相對于baseline、Combined Classifier和Full TextRank的情感分析都有著明顯的提升。其中在酒店領(lǐng)域提升效果最為明顯,相比baseline準(zhǔn)確率、召回率和F1值均提高0.036 3,精確率提高0.035;相比Combined Classifier準(zhǔn)確率、召回率和F1值均提高提高0.038 8,精確率提高0.037 7;相比Full TextRank準(zhǔn)確率、召回率和F1值均提高提高0.035,精確率提高0.034 6。這充分證明本文提出WTTW_SV方法的性能明顯優(yōu)于傳統(tǒng)的基于關(guān)鍵句的文本情感傾向性研究,具有高效性。
本文在傳統(tǒng)基于關(guān)鍵詞屬性、情感屬性和位置屬性提取情感關(guān)鍵句的文本情感傾向性的研究基礎(chǔ)上進(jìn)行改進(jìn),提出一種融合全局特征和自身特征雙窗口的加權(quán)TextRank關(guān)鍵句提取算法(WTTW算法),然后在WTTW提取關(guān)鍵句的基礎(chǔ)上使用soft_voting進(jìn)行情感傾向性分析的方法WTTW_SV。實驗證明本文提出的WTTW_SV方法在不同領(lǐng)域相比于baseline在準(zhǔn)確率、精確率、召回率、F1值上都有明顯的提升。未來,將進(jìn)一步研究更有效的關(guān)鍵句提取算法以及數(shù)據(jù)集中句子規(guī)模與構(gòu)建TextRank圖模型中窗口長度的關(guān)系。