宛艷萍 張 芳 谷佳真
(河北工業大學人工智能與數據科學學院 天津 300401)
情感分析(Sentiment Analysis,SA)又稱觀點識別、情感挖掘等。指通過計算機手段快速獲取、整理和分析網絡評論文本的過程。隨著社交網絡、電子商務、移動互聯網等技術的大力發展,互聯網中帶有情感色彩的文本數據迅速膨脹,對其進行整理并分析可以更好地理解網民的觀點和立場。目前情感分析已經應用于輿情管控、商業決策、信息預測、情緒管理等方面。
目前國內外對于文本情感分析的方法主要包括基于詞典規則和基于機器學習兩種。基于詞典規則的方法過于依賴于情感詞典,無法解決未登錄詞的問題,基于機器學習的文本情感傾向性分析多使用SVM、KNN和樸素貝葉斯等分類器,不同分類器具有不同的分類效果,各有其優劣勢。
由于中文文本的復雜性,在情感分析的文本中常會包含一些具有復雜情感表達或有情感歧義的語句,會增加情感分類的難度和錯誤傾向,且不同的句子對于文本的情感貢獻度是不同的,因此林政等[1]提出了情感關鍵句的概念。對情感分析的文本提取關鍵句可以避免非關鍵句對文本整體的情感傾向引起的判斷偏差,有助于提高情感傾向性分析的性能。如對于某酒店的評論,評論中前半部分描述了酒店附近的景區使用了大量積極性的詞語,但在評論的最后明確表示不會再入住此酒店,所以此評論的情感是負向的,但由于包含大量積極性的詞語,若直接對整條評論進行情感傾向性分析很容易產生誤判。
現階段基于關鍵句的文本情感傾向性研究,對于關鍵句的提取大多只考慮如情感、關鍵詞等文本屬性,通過各屬性間加權求和的方法提取關鍵句并沒有考慮文本的上下文信息,關于分類器的選擇多使用SVM、樸素貝葉斯等分類器進行情感分類并不能有效地結合不同分類器的分類優勢。因此本文在已有基于關鍵句的文本情感分析研究的基礎上,提出一種融合全局特征和自身特征的關鍵句提取算法,然后對提取的關鍵句采用集成分類器進行情感傾向性分析的方法。
目前對于提取關鍵句的研究并不多,文獻[1]中首次提出情感關鍵句的概念,根據情感屬性、位置屬性和關鍵詞屬性加權求和的方式提取關鍵句;文獻[2]提出了SOAS算法,首先根據位置屬性、關鍵詞屬性、詞頻句子頻特征這三類屬性提取關鍵句,然后結合詞性和依存關系規則計算情感傾向性得分;文獻[3]在SOAS的基礎上考慮了主題特征,通過各句子間加權求和計算文本最終得分;文獻[4]中將情感關鍵句的提取視為一個二元分類問題,提取句子特征并使用SVM進行分類;文獻[5]對于關鍵句的提取考慮了Title和上下文信息,提出一種基于Title和加權TextRank抽取關鍵句的情感分析方法。
現有的方法在提取情感關鍵句時大多根據情感屬性、位置屬性和關鍵詞屬性加權求和提取關鍵句,只考慮了文本自身的特征并沒有考慮全局信息。本文融合全局特征和自身特征提取關鍵句,對于全局特征不僅考慮傳統的文本信息還考慮句子之間的相似性將其加權融合到TextRank中構建基于句子的圖模型得到每個句子的得分,再根據句子本身特征對每個句子得分進行調整。當TextRank基于句子構建圖模型時普遍認為所有的句子節點之間的邊都是互相連接的,各節點之間權重共享,但當文本中包含句子比較多時,對于距離相距較遠的句子其相互影響并不大,此時若認為所有的句子節點間都存在相互連接的邊會使得與本句節點距離較近和較遠的句子節點對本句的影響同樣重要,這不僅增加了噪音且與實際情況不符。因此本文提出一種融合全局特征和自身特征雙窗口的加權TextRank關鍵句提取算法(WTTW算法),在構建圖模型時認為與本句節點所相鄰的前兩個句子節點和后兩個句子節點相互影響并連接構成圖模型的邊,對于文本中句子較多的情況更貼近實際,并且減少了大量的計算工作。
目前基于機器學習的情感傾向性研究主要是把情感傾向性分析的過程看成一個二分類或多分類的過程。文獻[6]中首先將Tweets進行主客觀分類,然后將主觀文本再進行正負傾向性分析。文獻[7]提出一種自適應多分類SVM模型,利用co-training算法將常用的分類器轉化為自適應分類器。文獻[1]在有監督分類中采用了分類器融合的方法。文獻[8]對tweets使用不同的基分類器進行情感分類,將所有基分類器輸出的結果進行累加,若正向得分大于負向得分,則判斷為正向,反之為負向。
現有的研究關于文本情感傾向性分類器的選擇大多只使用了單一的分類器或者將分類器進行簡單的融合,并沒有考慮將不同分類器根據后驗概率進行加權集成,加權集成多種分類器可以調節不同分類器的優劣勢,提高分類性能。
綜上所述,本文提出一種融合全局特征和自身特征雙窗口的加權TextRank關鍵句提取算法(WTTW算法),在WTTW算法提取關鍵句的基礎上加權集成多種分類器進行文本情感傾向性分析的方法。
關鍵句的提取主要從全局特征和句子本身特征兩方面進行考慮。全局特征主要通過關鍵詞特征、位置特征、句子之間的相似度構建窗口為2的TextRank圖模型,句子本身特征主要考慮句子情感特征和標點特征。
一般認為包含總結性詞語、轉折性詞語和感知性詞語(總之、總的來說、但是、覺得等)成為關鍵句的可能性越大。本文總結了一些較常見的這三類詞語,部分如表1所示。

表1 關鍵性詞語表
若句子中出現這些詞語則成為關鍵句的可能性越大,關鍵詞權重w1的計算公式如下:
(1)
(2)
文本中通常首句和尾句更可能是總結句,包含關鍵性的信息,則越靠近首句或尾句的句子成為關鍵句的可能性越大,則位置權重w2的計算公式如下:
(3)
式中:i為句子的位置;n為句子總數。
經典的TextRank通過詞的共現次數計算兩個句子的相似性。文獻[9]在TextRank中計算句子相似度時,認為BM25算法取得的效果最好。BM25算法是一種經典的檢索算法,基于句子間相似度計算。兩個句子相似度計算式為:
(4)
式中:前半部分因數IDF(wit)表示句子si中詞wit的重要性;后半部分因數為詞wit的相關性得分,f為詞在sj中出現的頻率,|sj|為句子sj的長度,avgSL為所有句子的平均長度,參數k1調節詞頻的影響力,b調節句子長度的影響力。IDF(wit)計算如下:
(5)

(6)
式中:N為句子總數,n(wit)為包含詞wit的句子數,即認為包含詞wit的句子越少,詞wit越具有區分能力,越重要。
綜上所述,相似度權重w3的計算式為:
(7)
TextRank算法是文本基于圖排序的算法,作用于句子時多用于提取文本摘要[10-12],其思想源于谷歌的PageRank。PageRank是網頁的排序算法,一個網頁的重要性通過其所鏈接的網頁的數量和影響力決定。借鑒于PageRank,TextRank通過將文本切分為不同的文本單元(詞或句子)使其作為節點。對給定的文本D,首先進行句子切分D={s1,s2,s3,…,sn},si為文本中的第i個句子,n為文本中包含的句子總數,對于每個句子si={wi1,wi2,wi3,…,wim},由m個詞組成。基于全局特征構建窗口為2的有權圖G=(V,E),若文本中有5個句子其有權圖模型如圖1所示,各節點的得分為:
式中:d為阻尼系數,代表從任一節點跳轉到另一節點的概率,一般取值0.85;In(vi)表示指向點vi的點的集合;Out(vj)表示點vj指向的點的集合;wji表示節點vj與節點vi之間邊的權重。

圖1 窗口為2的有權圖模型
可以看出,本文將整個文本作為一個單元,設置長度為2的滑動窗口,從第一句至最后一句順序進行滑動窗口建立圖模型。圖中V={v1,v2,…,v5}為句子的節點集,依次代表文本中的5個句子,各節點得分如式(8)所示,由于窗口長度為2,因此v1節點只能與v2和v3兩個節點連接構成邊,而節點v3處于中間位置,則最多可與v1、v2、v4和v5四個節點連接構成邊,其中各邊上的wij表示節點vi共享給節點vj的邊權重值。
由式(8)知,每個節點的得分主要取決于與其相連的節點所傳遞過來的權重wij。本文中對于各句子之間的權重wij主要考慮了關鍵詞權重w1、位置w2、相似度權重w3,各句子之間的最終權重值可以寫成3個權重加權求和的形式如式(9)所示,其中λ1+λ2+λ3=1,經實驗確定λ1=0.45、λ2=0.25、λ3=0.3,將式(9)代入式(8)迭代直至收斂計算出句子的全局特征得分scoregl(si)。
wij=λ1w1+λ2w2+λ3w3
(9)
句子本身的特征主要考慮了句子的情感特征和標點特征。本文認為關鍵句應該是情感強烈且單一的句子,所以對于句子si情感特征的得分scoreem(si)計算如下:
(10)
(11)
通常情況下嘆號代表著更強的語氣,而省略號多數情況下代表著無奈或失望,所以若一個句子中包含著嘆號或者省略號可能蘊含的情感更強烈,則對于句子si標點特征的得分scorepun(si)計算如下:
(12)
對于給定的文本先通過圖模型得到全局特征得分,然后根據標點特征和情感特征對各句子得分進行調整,得到句子的總得分,計算式如下:
T_score(si)=scoregf(si)+scorepun(si)+scoreem(si)
(13)
通過式(13)計算各個句子的最終得分,提取得分靠前的K個句子作為關鍵句,具體的關鍵句提取算法如算法1所示。
算法1基于全局特征和自身特征的WTTW關鍵句提取算法
輸入:文本D,全局特征調節參數λ1、λ2、λ3。
輸出:文本的關鍵句。
對文本D,根據標點進行預處理并切分句子D={s1,s2,s3,…,sn}
ForeachsiinDdo
根據式(1)計算si相似度權重w1
根據式(3)計算si關鍵詞權重w2
根據式(7)計算si位置權重w3
根據式(10)計算si情感特征的得分scoreem(si)
根據式(12)計算si標點特征的得分scorepun(si)
End
根據式(9)對各項權重加權求和代入式(8),構建基于全局特征窗口為2的圖模型,迭代直至收斂計算scoregf(si)
根據式(13)計算句子的總得分,提取得分高的前K個句子作為文本的關鍵句
對于傳統的文本情感傾向性研究中,大多使用單一的分類器,如k近鄰、樸素貝葉斯、支持向量機等,還有部分將分類器的結果進行了融合,文獻[1]中首先將文本劃分為關鍵句集和細節句集,然后在關鍵句集、細節句集和全文集分別訓練分類器,然后根據3個基分類器的后驗概率進行累加判別文本的情感類別(Combined Classifier),取得了較好的效果。由此得到啟發,不同分類器具有不同的分類效果,集成多個分類器的分類結果可獲得比單一的分類器更強的泛化能力,即集成學習中的Bagging算法,其具體過程如圖2所示。

圖2 Bagging算法過程
Bagging算法訓練集使用bootstrap抽樣(有放回的隨機抽樣)并行訓練不同的基分類器,然后將不同基分類器的結果采用投票法進行結合,既節省了大量的時間又結合了不同分類器的優點,提高了分類正確率。投票法主要分為hard_voting和soft_voting兩種方法。其中,hard_voting中各基分類器直接輸出類標簽,根據少數服從多數的原則得到最終結果。hard_voting中認為所有的基分類器貢獻度相同,但更合理的投票法應該根據不同基分類的分類效果賦予不同的權值,即soft_voting。soft_voting中各基分類器輸出類的概率,并對每個基分類器賦不同的權重值然后根據每個基分類權重對其輸出的類概率加權求和,即后驗概率加權求和來決定最終的情感傾向性結果。本文在WTTW算法的基礎上使用soft_voting方法對提取的關鍵句進行情感傾向性分析(WTTW_SV方法),具體算法如算法2所示。
算法2WTTW_SV算法
輸入:基于WTTW算法提取的關鍵句集。
輸出:文本的情感傾向性。
ForeachfkinFkeydo
For each基分類器ciin集成分類器En_C={c1,c2,…,cn} do
計算基分類器的輸出類的后驗概率c_proi
End


End
本文通過Python爬蟲爬取不同網站中的評論文本,其中酒店領域數據集數爬自攜程網;電影領域數據集爬自豆瓣網;手機領域數據集爬自京東網;外賣領域數據集爬自美團網。經過去重降噪后進行人工標注,最后在各領域選取了正向評論和負向評論各2 000條,共4 000條評論信息作為本次實驗的數據集,匯總表如表2所示。實驗中訓練集與測試集按照4 ∶1的比例進行劃分,使用樸素貝葉斯作為基礎分類器。

表2 實驗數據集匯總表
本文的集成分類器主要是對KNN、SVM、隨機森林、樸素貝葉斯和邏輯斯諦回歸五個基分類器的后驗概率進行加權集成,即soft_voting方法。每個基分類器的權重值直接影響了實驗效果的正確性,為了得到最佳的實驗結果需要對各基分類器的權重進行調試,以情感傾向性分析的準確率為依據對每個基分類的權重進行調試。
以在酒店領域為例對各基分類的權重進行調整,首先根據各基分類的分類準確率設置其初始權重,準確率越高初始權重越大,然后保持除了需調整的基分類器的權重外其他基分類器的權重不變,將橫坐標設為基分類的權重,縱坐標設為情感傾向性的準確率,對每個基分類的權重循環進行調試直至情感傾向性分析的準確率收斂停止調試,情感傾向性分析的準確率隨分類器權重值變化實驗結果如圖3所示。

圖3 基分類器權重調試
可以看出,當KNN分類器權重值為4,SVM分類器權重值為0,樸素貝葉斯分類器權重值為4,邏輯斯諦分類器權重值為13,隨機森林分類器權重值為8時,實驗準確率最高,可達0.923 8。
本文中選取文獻[1]中基于情感屬性、關鍵詞屬性和位置屬性提取關鍵句的文本情感傾向性分析作為baseline與基于全文的情感傾向性分析、基于全連接的加權TextRank(Full TextRank)、Combined Classifier和雙窗口的加權TexrRank關鍵句提取算法(WTTW算法)進行對比,實驗結果如表3所示,驗證了本文提出的WTTW算法的有效性。

表3 關鍵句提取情感傾向性對比實驗結果
在WTTW算法提取關鍵句的基礎上使用不同分類器進行情感傾向性分析。選取soft_voting中集成的KNN、SVM、Naive Bayes、RandomForest和LogisticRegression五個傳統分類器進行情感傾向性分析與本文的WTTW_SV方法進行對比,實驗結果如表4所示。

表4 不同分類器情感傾向性對比實驗結果
由表3比較結果知,盡管關鍵句的提取減少了實驗語料,但是其準確率卻不低于基于全文的情感傾向性分析。因為對于關鍵句的提取可以避免無關信息對情感傾向性的影響,提高情感傾向性分析的效率,當融合了全文和細節句集合的分類器結果后,其分類正確率并沒有得到有效的提升,從而證明情感傾向性分析效率的提升并不依賴于實驗語料的多少和分類器結果的融合,而是依賴于關鍵句的提取效率,正確的關鍵句的提取可以提高情感傾向性分析的準確率。而全連接的加權TextRank,會增加圖模型的復雜性引入噪音,不僅會增加計算成本還降低了關鍵句的提取效率。本文提出的WTTW算法相對于baseline在各個領域的傾向性分析準確率都有不同程度上的提高;對比全連接的加權TextRank算法,其在酒店和外賣領域中準確率均低于WTTW算法,但在電影影評中準確率略高于WTTW,其原因可能是影評中句子長并且句子總數量較少,基于全連接的加權TextRank可以更好地提取句子的關鍵句。因此根據數據集的不同正確地選擇TextRank的窗口個數可以提高關鍵句的提取正確性。
由表4比較結果知,將WTTW算法應用于soft_voting后,其準確率在各領域都有顯著的提升。對于各基分類加權融合其后驗概率之后的集成分類器可以有效地融合各基分類器的優勢,其分類效果明顯高于所有的基分類器。
為證明本文方法的有效性,在四個不同領域將baseline、Combined Classifier、Full TextRank與本文提出的WTTW_SV方法在準確率(A)、精確率(P)、召回率(R)和F1值(F)等四個評價指標上進行對比,其結果如表5所示。
(14)
(15)
(16)
(17)

表5 不同評價指標對比實驗結果
可以看出,本文方法對于不同領域在準確率、精確率、召回率和F1值上相對于baseline、Combined Classifier和Full TextRank的情感分析都有著明顯的提升。其中在酒店領域提升效果最為明顯,相比baseline準確率、召回率和F1值均提高0.036 3,精確率提高0.035;相比Combined Classifier準確率、召回率和F1值均提高提高0.038 8,精確率提高0.037 7;相比Full TextRank準確率、召回率和F1值均提高提高0.035,精確率提高0.034 6。這充分證明本文提出WTTW_SV方法的性能明顯優于傳統的基于關鍵句的文本情感傾向性研究,具有高效性。
本文在傳統基于關鍵詞屬性、情感屬性和位置屬性提取情感關鍵句的文本情感傾向性的研究基礎上進行改進,提出一種融合全局特征和自身特征雙窗口的加權TextRank關鍵句提取算法(WTTW算法),然后在WTTW提取關鍵句的基礎上使用soft_voting進行情感傾向性分析的方法WTTW_SV。實驗證明本文提出的WTTW_SV方法在不同領域相比于baseline在準確率、精確率、召回率、F1值上都有明顯的提升。未來,將進一步研究更有效的關鍵句提取算法以及數據集中句子規模與構建TextRank圖模型中窗口長度的關系。