林江豪 顧也力 周詠梅,3 陽愛民,3 陳 錦
(1.廣東外語外貿大學語言工程與計算實驗室 廣州 510006)
(2.廣東外語外貿大學東方語言文化學院 廣州 510420)
(3.廣東外語外貿大學信息科學與技術學院 廣州 510006)
隨著互聯網技術的發展,新聞在線評論、微博等社會化媒體(Social Media)成為了人們用來分享意見、觀點及經驗的工具和平臺。網民通過社會化媒體發表短文本,表達自己喜怒哀樂的各種情緒。對這些評論進行情緒類別分類可應用到輿情管理、民意調查、商業營銷情報等領域,有著廣闊的應用空間和發展前景[1]。然而,面對每天產生的海量短文本,如果通過人工閱讀、理解和識別情緒類別,是不現實的,只有利用計算機技術才能實現海量短文本的情緒類別識別。因此,深入研究短文本情緒類別自動分類方法是一項非常重要的工作。
現有的短文本情緒分類研究方法,主要包括基于知識庫、機器學習、主題模型等方法。文獻[2]基于多分類器集成的self-training的半監督情感分類方法,利用分類器的情感貢獻權重作為置信度,以高置信度的樣本為訓練集,來訓練獲得更好的分類器,在微博短文本語料上進行實驗。陽愛民等提出了基于關鍵詞和概率計算的微博短文本情感類別自動分類器,并采用方法集成和投票結合的算法,在中文微博語料上實現了分類準確率可達到90%以上[3]。文獻[4]針對網絡新聞評論短文本的特性,在特征工程方便進行改進,選擇不同的特征集合、多種特征維度表示、特征權重的計算方法和詞性,將這些特征因素融合,并應用到情感自動分類。文獻[5]也主要對特征提取對情感分類影響進行研究,主要采用機器學習算法,最終發現詞匯的語義特征、否定詞對分類結果有較大影響,在考慮以上兩個方面的基礎上,采用二值作為特征項權重,分類的準確率能達到90%。文獻[6]充分利用文本的語義計算,對微博短文本的情感類別實現自動標注。在利用情感知識庫方面,Moreo A等[7]使用情感詞典,網民的情感傾向進行多維度分析。Penalver-Martinez I等[8]運用本體論,提出了基于特征的觀點挖掘方法。Pang和Lee等在電影評論短文本語料中,設計了多種分類器NB,ME,SVM等,在不同的特征提取算法下,實現了較好的分類效果[9]。Ni等則選用CHI方法和信息增益方法對文本進行特征提取,進而基于NB,SVM和Rocchio算法設計文本情感分類器[10]。Wiebe利用一種相似度分布的詞聚類方法,標記了形容詞極性詞及極性[11]。文獻[12]將基準次與修飾詞的搭配視同為觀點,在文本中自動抽取這些搭配,實現從文本到觀點的轉化,基于嶺回歸模型對每個觀點詞進行情感打分,進而提出觀點袋(bag-of-opinion)模型,實現了商品評論短文本的情感極性分類方法。Thet等利用句法結構,首先將長句轉換為子句,基于規則的算法對子句進行情感記性判斷,進而計算子句的情感記性值,最后設計分類器在電影評論短文本中取得較好的情感分類效果[13]。Kaur,Dara&Matsakis在電影評論語料IMDB中驗證了基于卷積神經網絡(CNN)和詞向量的情感分類可取得比其他機器學習方法較好的效果。
在現有短文本情緒類別分類研究中,更多是將文本分類結果設定為正向和負向來進行研究,不適用于細粒度的文本情緒分析。因此,本文以短文本的樂、好、怒、哀、懼、惡、驚七類情緒作為情緒類別,提出一種基于主題聚類的短文本情緒分類方法。主要采用主題模型概率潛在語義分析(Probabilistic Latent Semantic Analysis,PLSA)與 K 均 值(K-means)聚類方法相結合,對短文本進行情緒分類。通過利用PLSA計算獲得語料集的“文檔-主題”和“詞語-主題”概率矩陣。利用詞語在主題上的分布,對詞語進行K-means聚類,進而將相近主題進行合并處理,基于情緒詞典對主題的情緒類別判定,最終以“文檔-主題”概率分布為基準,實現短文本的情緒分類。同時,為了對比主題聚類和僅基于主題模型兩種方法下的實驗結果。本文還基于PLSA主題模型的“詞語-主題-文檔”之間的概率轉換關系,認為某一類情緒詞匯出現的概率最高的主題與詞匯的情緒類別相同,對主題進行情緒類別分類;認為出現在某一主題概率最高的文檔與主題的情緒類別相同,直接對文檔進行情緒類別分類。
基于主題聚類的短文本情緒分類過程如圖1所示,首先將評論短文本集進行文本預處理,分詞后過濾掉停用詞和無用詞,進行詞頻統計,獲得“文檔-詞匯”矩陣;接著,利用PLSA模型計算,獲得“詞匯-主題”和“文檔-主題”概率矩陣;基于K-means算法和“詞匯-主題”概率分布對詞匯在主題上的概率分布進行聚類,結合情感本體庫[15]和聚類結果,認為同一簇中心共現情緒詞匯較多的主題為同一情緒主題,對主題進行合并,即產生新的“詞匯-主題”和“文檔-主題”概率矩陣;對合并后的“詞匯-主題”,同樣基于情感本體庫,基于文獻[16]的觀點,概率分布是主題與詞語之間的直接關聯關系,一個主題下出現同類情緒的詞語較多,可認為該主題是屬于該類情緒;在主題的情緒確定后,“文檔-主題”的概率分布,某一主題下概率最高的文檔具有具有與主題相同的情緒,達到對短文本情緒類別的自動分類。
根據圖1,用“詞匯-主題”矩陣Mwt和“文檔-主題”矩陣Mdt來表示主題數為k個的PLSA計算結果,其中Mwt表示詞匯在對應主題中的概率,也即詞匯對主題的貢獻度,則詞匯wordj的主題概率分布為可認為是詞匯的主題向量表示,并且采用K-means進行聚類時,將詞匯以主題向量表示輸入,進行詞匯聚類,抽取聚類簇中心的詞匯,利用情感本體庫OL,認為同類情緒詞匯聚集的主題具有相同的情緒類別;進而對主題進行合并,主要對相同主題下的詞匯概率和文檔概率進行相加,得到合并后新的“詞匯-主題”矩陣M’wt和“文檔-主題”矩陣M’dt,合并后主題的數量k’≤k;利用M’wt分別對合并后每個主題下的詞語概率按照由大到小排序,基于情感本體庫OL,抽取概率高的情緒詞匯,對情緒詞匯的情緒強度直接加總計算,得到主題在每一類情緒中的強度,則主題在 m類情緒中的權重分布Et={e1,e2,e3,…,em},通過判斷Et中的最大值,獲得主題的情緒類別。同理,利用M’dt矩陣,認為對主題貢獻度高的文檔與主題的情緒類別相同,對文檔的情緒類別進行識別。具體算法如下:
算法1:基于主題聚類的短文本情緒分類算法
輸入:情感本體庫OL,短文本語料集Data_set
輸出:[doc,e]m
步驟1:初始化,設置主題數=k,聚類數=c;
步驟2:對Data_set進行預處理,包括分詞、詞頻統計等,獲得“文檔-詞頻”矩陣Mdw;
步驟 3:計算 PLSA(Mt)→“詞匯-主題”矩陣 Mwt和“文檔-主題”矩陣Mdt;
步驟4:計算K-means(Mwt),并對主題進行合并→“詞匯-主題”矩陣M’wt和“文檔-主題”矩陣M’dt;
步驟5:逐列對M’wt進行排序,獲取每個主題zj中概率較高的情緒詞匯,得到Zk’={[w1,w2,…,wo]1,[w1,w2,…,wp]2,…[w1,w2,…,wq]k’};
步驟6:在情感本體庫OL中查詢情緒詞的權重,得到主題的情緒權重矩陣 EZk’={[wt1,wt2,wt3,…,wto]1,[wt1,wt2,wt3,…,wtp]2,…[wt1,wt2,wt3,…,wtq]k’};
步驟7:對每個主題zj的情緒權重進行加總,得到Etk’={[e1,e2,…,em]1,[e1,e2,…,em]2,…[e1,e2,…,em]k’};
步驟8:對Etk'進行依列按大小排序,獲得情緒強度最強的類別為對應主題的情緒,主題情緒標注結果為ZEk’;
步驟7:逐列對M’dw進行排序,結合ZEk’,對主題貢獻度高文檔的情緒類別分類為主題的情緒類別,對每一個doc獲得對應的情緒類別e;
結束:輸出[doc,e]m。
算法的最終輸出為[doc,e]m,為驗證該分類結果的準確性,在采集的鳳凰網涉及中日關系的新聞評論語料,選擇含有兩個情緒詞匯以上的評論短文本作為實驗語料,對語料的情緒類別進行人工標注,作為本文算法分類結果驗證語料庫,對[doc,e]m的精度進行計算驗證。

圖1 基于主題聚類的短文本情緒分類過程
PLSA模型可用于對大量文本進行“文檔-主題”和“詞語-主題”兩種概率矩陣的抽取[17]。具體計算時,首先給定文檔集D={d1,d2,…,dn}和詞集W={w1,w2,…,wm},用freq(di,wj)表示詞wj在文檔di中出現的概率,則“文檔-詞語”共現矩陣MD-W=[freq(di,wj)]。假設主題類別Z={z1,z2,…,zk},k為主題個數。PLSA模型假設詞與文檔之間、話題與文檔或者詞之間的概率服從條件獨立,由此得到相應的聯合分布概率為

P(di)表示選擇文檔di的概率,P(zk|di)表示某個主題zk在給定文檔di下出現的概率;P(wj|zk)表示詞wj在給定主題zk下出現的概率,本文基于該“詞語-主題”的概率分布獲取事件Evt,根據貝葉斯法則可得到:

采用最大期望算法(Expectation Maximization,EM)算法對潛在語義模型進行擬合[13]。用隨機數初始化之后,交替執行E步驟和M步驟進行迭代計算。E步驟計算(di,wj)所產生的潛在語義zk的先驗概率:

在M步驟中,根據P(z|d,w)對P(w|z)和P(z|d)矩陣重新估計:

似然函數的對數如下。
當似然函數L期望值的增加量小于閾值時,迭代終止。此時得到一個最優解P(w|z)=[P(wj|zk)]m×k和 P(z|d)=[P(zk|di)]k×n。

實驗采集了鳳凰網(http://www.ifeng.com/)涉及中日關系新聞“習近平應約會見日本首相安倍晉三”,新聞為2014年APEC期間發布的,共有2346條新聞評論。由于本文采用情感本體庫作為情緒分類的情感知識庫,因此在語料處理過程中,對不含情緒詞匯和評論長度小于10的評論直接去掉,獲得語料1623條,隨機取其中1600條來進行標注。請3名研究人員對語料進行人工標注,標注為7類情緒,對于標注結果采用投票方式,有兩人標注結果為一致,則認為語料標注有效,最終取1300條新聞評論作為本文的實驗語料,語料的分布如表1所示。

表1 文本數量分布
基于主題聚類的短文本情緒分類方法,K-means聚類算法簇和主題模型PLSA主題的數量設定,均對分類效果結果有一定的影響。同時,在對比實驗中,僅基于主題模型PLSA的情緒分類過程,需要先設定主題的數量,而主題數的確定受到語料的規模和內容的影響。設定了正確的算法參數,能有效提升的主題的情緒標注準確性,進而提高文檔的情緒分類準確率。由于本文利用情感本體庫OL作為情緒標注的基礎,而本體庫中將情緒分為7類,分別是樂、好、怒、哀、懼、惡、驚。因此,本文主題的數量的設定從7類開始,一直增加到28類;聚類的數量也從7類開始,直到28類,探索最優的參數組合。采用分類準確率作為評價標準,計算公式如式(7)所示。

根據式(7),在本文選定的語料集中,計算文本情緒分類的準確率隨著主題數和聚類數增加的變化結果,最終得到的是“主題數-聚類數”下準確率的矩陣。為方便顯示,這里只選擇某一主題數下,獲得最高分類準確率的聚類數。如圖2所示,x軸的內容為(聚類數,主題數),表示在某一主題數和K-means算法簇數下的可獲得的最高準確率,y軸表示情緒分類的準確率。

圖2 聚類數和主題數對情緒分類準確率影響
實驗結果表明,在(聚類數,主題數)設置為(12,19)時,可達到最高準確率95.23%。因此,本文在基于主題聚類的短文本情緒分類模型中,設置聚類數為12,主題數為19。
對比實驗中,主題數的設定,也遵循該實驗規則,最終發現設置主題數為17時,可獲得最高準確率89.17%。
將聚類數設置為12,主題數設置為19。對比實驗中,主題數主題數為17。分布采用PLSA+K-means和PLSA兩種文本情緒類別分類方法,各類情緒下語料分類的準確率如表2所示。

表2 評論文本情緒分類準確率(100%)
從表2的實驗結果可以看出,PLSA+K-means明顯比PLSA算法具有更高的準確率,兩種方法的總體準確率分別為95.23%和89.17%;平均準確率分布為93.93%和87.80%。每一類情緒對應的文檔自動標注準確率均高于80%,最高準確率達到96.88%。兩種方法均能實現短文本的細粒度情緒類別分類,并取得較好的分類效果,可應用與大規模的短文本情緒分類。相比之下,采用基于PLSA+K-means方法具有更優越的性能,充分說明本文提出方法的有效性。
我們對實際語料進行觀察,發現多數評論對中日兩國友好關系和共同發展,呈現出樂和好的情緒。但由于日本與中國在歷史上千絲萬縷的關系,評論中對釣魚島、靖國神社、南京大屠殺等事件也表現出厭惡及其他負面的情緒?;诒疚牡姆椒?,融合主題詞抽取技術,可深入研究不同主題內容下的網民情緒分布,對中日關系的網絡輿情分析具有重要意義。
本文提出一種基于主題聚類的短文本情緒分類方法,采用主題模型PLSA和聚類算法K-means相結合的技術方案,對“詞語-主題”概率矩陣中詞語進行聚類后合并相似主題,以情感本體庫作為情緒知識支撐,確定合并后主題的情緒類別,利用“文檔-主題”概率矩陣,實現了短文本的細粒度情緒分類。通過實驗表明,采用PLSA+K-means比PLSA具有更好的分類效果,對短文本的細粒度情緒平均準確率可達93.93%,總體的準確率是95.23%,可看出提出方法的有效性。
基于本文的方法,融合主題詞抽取技術,可應用到子話題識別、情緒分類、情緒強度計算等輿情關鍵技術中,對輿情分析具有重要的意義。同時,可應用到大規模短文本情緒類別自動標注中,對構建細粒度情緒語料庫具有重要意義。
主題模型PLSA和K-means對語料的規模、語料中詞匯的范圍有一定的依賴,同時情感本體庫的覆蓋面也會對文本情緒分類結果產生一定影響。在今后的研究中,將探索基于詞向量等語義計算方法的情感本體庫擴展技術,擴大情緒詞匯的覆蓋面;同時,研究利用句法依存關系等抽取情緒特征詞匯,進一步提升分類的準確率。[1]Aimin Yang,Jianghao LIN,Yongmei ZHOU,et al.Research on Building a Chinese Sentiment Lexicon Based on SO-PMI[J].Applied Mechanics and Materials,2013:1688-1693.