呂云云,李 旸,王素格,2
(1.山西大學 計算機與信息技術(shù)學院,山西 太原030006;2.山西大學 計算智能與中文信息處理教育部重點實驗室,山西 太原030006)
目前,互聯(lián)網(wǎng)已經(jīng)成為思想文化的集散地和社會輿論的放大器。博客、微博、論壇、貼吧等平臺使得人們可以自由發(fā)表觀點和意見,這些信息蘊藏著巨大的潛在價值。例如,美國競選總統(tǒng)期間,奧巴馬的競選團隊根據(jù)選民的微博,實時分析選民對總統(tǒng)候選人的喜好,為奧巴馬競選成功提供了技術(shù)支撐;產(chǎn)品生產(chǎn)商可依據(jù)購物網(wǎng)站上顧客的評論,了解用戶對產(chǎn)品的滿意程度,以此改進產(chǎn)品性能或售后服務(wù);政府及相關(guān)部門通過人們對法律、法規(guī)、時事政治的看法和觀點,了解民情民意。觀點句識別技術(shù)可以幫助人們盡快獲得這些帶有觀點的句子,為智能導購、市場調(diào)查、輿情分析等諸多領(lǐng)域提供數(shù)據(jù)基礎(chǔ)。因此,觀點句識別已成為自然語言處理以及文本挖掘領(lǐng)域的熱點研究之一。與觀點句識別相關(guān)的主要技術(shù)有基于無監(jiān)督的識別方法、半監(jiān)督的識別方法和有監(jiān)督的識別方法。
基于無監(jiān)督的觀點句識別方法大都以情感詞匯為主要識別依據(jù)。對于自然語言而言,一個句子的意義是由句子內(nèi)部各個詞匯的意義組合而成。情感詞[1-3]往往是句子情感傾向識別的主導因素。Wiebe[4]提出了一個無指導主客觀分類方法,該方法主要依據(jù)句子中是否包含主觀表達來判斷句子是否為主觀句。Kim和Hovy[5]采用基于詞典和語料庫的方法獲得觀點詞集和非觀點詞集,并對觀點詞的極性強度進行度量,最后依據(jù)句子中所有詞語的極性強度大小或者句子中是否有極性較強的詞語出現(xiàn)來判定句子的主客觀性。在COAE2011評測中,王中卿等[6]通過擴展特征重構(gòu)觀點詞表和情感詞表,再對兩個詞表中出現(xiàn)的詞賦予不同的權(quán)重,采用加權(quán)求和的方法判斷句子的極性,從而得到觀點句。李巖等[7]采用基于句法和CRFs的方法首先獲得每個詞在句子中的句法結(jié)構(gòu)及其是否為實體等特征,利用人工標注了正負傾向的包含形容詞的句子訓練CRFs模型,對測試數(shù)據(jù)進行標注。利用情感詞詞典中的詞語作為觀點句識別的主要手段,這樣觀點句識別的結(jié)果直接依賴情感詞典或情感詞識別的質(zhì)量。
基于半監(jiān)督的方法是標注少量的目標領(lǐng)域或其他領(lǐng)域的標注數(shù)據(jù),用于對目標數(shù)據(jù)進行文本和句子的情感傾向類別預(yù)測。Qiu等[8]提出了SELC模型,分兩階段對評論進行分類。Wiebe等[9]用分布相似度對低頻詞、搭配、形容詞和動詞進行主觀性聚類,然后利用已知主觀詞匯作為初始種子,用抽取的模板和概率分類器抽取主觀性句子。Pang等[10]用一種基于尋找文檔的最小圖割的方法來尋找文檔中的主觀性部分,以此建立與觀點句的對應(yīng)關(guān)系,從而達到對主客觀句分類的目的。Riloff等[11]提出了bootstrapping方法,該方法使用 HP-Subj和 HPObj兩個高精確率分類器,用于抽取主觀表示的模式,以此建立主觀句分類器。
基于有監(jiān)督的機器學習方法,是以標注類別信息的語料庫為基礎(chǔ),訓練分類器并用于句子或文本類別識別。Pang等[12]首先將樸素貝葉斯(Na?ve Bayes)、支持向量機(SVM)、最大熵模型(ME)等應(yīng)用于電影評論的分類研究中,結(jié)果表明使用詞袋作為特征能夠取得很好的結(jié)果。徐睿峰等[13]采用多分類器表決的方法進行觀點句抽取。該方法在本次評測中取得了較好的成績,不難看出,具有與領(lǐng)域相關(guān)的大規(guī)模和高質(zhì)量的標注訓練數(shù)據(jù)為提高分類器的性能提供了重要的保證。而其他缺乏高質(zhì)量訓練數(shù)據(jù)的方法則效果明顯受到影響,基于集成學習的觀點句識別是一種融合多種分類方法,趙立東等[14]基于機器學習和基于規(guī)則方法的結(jié)果進行了集成,從而得到觀點句集;韓先培等[15]采用集成學習的策略,構(gòu)建基于情感詞典的分類器和自學習的領(lǐng)域特定分類器,并使用這些分類器的分類結(jié)果作為句子的特征表示,再使用SVM算法構(gòu)建了元分類器將三個領(lǐng)域的所有句子劃分三個類別上,將褒義句集和貶義句集作為觀點句抽取結(jié)果;董喜雙等[16]采用最大熵分類的方法判斷情感句類別,他們采用詞典篩選出觀點句,再將觀點句切分成短句并用最大熵模型預(yù)測短句極性最后通過短句預(yù)測長句極性。結(jié)果表明這種相結(jié)合能夠取得相對較好的結(jié)果。
本文根據(jù)已有的研究,將半監(jiān)督BootStrapping學習方法和集成學習方法融合,提出一個基于BootStrapping的集成分類器的中文觀點句識別方法,通過實驗,驗證了方法的有效性。
本文將每個句子作為一個“詞袋”,“詞袋”中每個詞之間都相互獨立。為了有效地表示句子,詞袋中的詞需要依據(jù)主客觀區(qū)分能力和主觀語義進行選擇。
(1)基于主客觀區(qū)分能力的詞匯選擇[17]
Fisher線性識別準則的分類思想是尋找空間中的一條直線,使兩類樣本點在該直線上的投影之間距離最大,而兩類樣本內(nèi)部之間的距離即方差最小。本文借用Fisher識別準則的分類思想,使用Fisher準則函數(shù)作為識別觀點句子具有區(qū)分能力的詞選擇依據(jù),如式(1)所示。
其中,wordk代表某一詞,S和O分別代表主觀和客觀,E(wordk|C)為詞wordk在類別C 條件下的期望,D(wordk|C)為特征項wordk在類別C 條件下的方差,C∈{S,O}。
(2)基于主觀語義的詞匯選擇
主張詞和程度詞分別表示主觀表達和強度的詞匯,本文采用Hownet中的具有主觀語義信息的主張詞和程度副詞,共255個。
其中,句子sent在類別Ci條件下出現(xiàn)的概率p(sent|Ci)、類別Ci出現(xiàn)的概率p(Ci)以及句子sent出現(xiàn)的概率p(sent)均可從訓練語料庫中估計。
(2)SVM 分類器
對于觀點句識別,可以看成二分類問題,而SVM旨在尋找一個最優(yōu)的超平面w·sent+b=0,使得該平面將輸入空間分成兩部分,一部分為觀點句,另一部分為非觀點句。為了獲得高可信度的未標注的類標簽,利用文獻[18-19],判斷句子為觀點句的概率輸出函數(shù)見式(3)。
現(xiàn)有的機器學習中,樸素貝葉斯分類器、SVM分類器和最大熵模型分類器在文本分類和句子主客觀分類取得了較好的成績[12]。
(1)Na?ve Bayes分類器
假定句子sent是由n個詞word1,word2,…,wordn組 成,則 對 句 子sent (word1,word2,…,wordn)的識別問題可以轉(zhuǎn)化成求解在該句子出現(xiàn)的條件下主客觀類別C1,C2出現(xiàn)的概率p(Ci|sent)(i=1,2)如下:
這里C為觀點句類別,參數(shù)A和B可通過最小化訓練數(shù)據(jù)的負對數(shù)似然值來確定.
(3)ME分類器
ME分類器以最大熵理論為基礎(chǔ),它將已知事實作為約束條件,求使得熵最大化的概率分布作為正確的概率分布。這一理論要求句子sent(word1,word2,…,wordn)屬于某一類別Ci的概率p(Ci|sent)要使得熵H(p)最大化,其中
采用“特征—類別”對作為特征函數(shù)f(word,C),若當前句子sent包含特征word且類別為C時值為1,否則為0。
解出在該特征約束下的最優(yōu)概率分布,滿足指數(shù)函數(shù)
其中,Zλ(x)是歸一化因子,λ為特征函數(shù)的權(quán)重。
其中,Mi(C|sent)分別表示(C|set)、(C|sent)和(C|sent),C代表觀點句類別,wi(i=1,2,3,)為賦予各分類器的權(quán)重,wi∈ [0,1](i=1,2,3),且
(1)Bootstrapping方法
BootStrapping[20]是一種被廣泛應(yīng)用的自學習策略機器學習方法,本文采用BootStrapping方法對觀點句識別的訓練集進行擴展。算法思想:采用少量種子集訓練初始分類器,并對未標注數(shù)據(jù)集進行觀點分類,把分類結(jié)果中具有高置信度的樣本加入種子集中,重新訓練分類器,直到?jīng)]有新數(shù)據(jù)加入種子集為止。最后用訓練好的分類模型對測試集進行測試,輸出識別的最終觀點句。
(2)集成分類器
自學習策略的一個缺點是不能保證所學知識的正確性,當在某一次迭代過程中被錯分的樣本加入訓練集中重新訓練分類器,用錯誤的分類模型進行觀點分類,將會導致錯誤的級聯(lián)傳遞,對最終的結(jié)果造成不利的影響。因此,應(yīng)選取較可靠的高置信度分類樣本。本文采用性能優(yōu)良的na?ve Bayes分類器、SVM分類器和ME分類器進行集成,在此基礎(chǔ)上,對各分類器線性加權(quán)組成一個更高分類性能的集成分類器,該分類器的分類概率函數(shù)如下:
(3)BootStrapping的集成分類器的觀點句識別算法
利用步驟(1)和(2),BootStrapping的集成分類器的觀點句識別算法流程,如圖1所示。
根據(jù)圖1算法流程,BootStrapping的集成分類器的觀點句識別算法(BFSSIA)描述如下。
圖1 BootStrapping的集成分類器的觀點句識別算法流程圖
輸入:少量已標記的訓練句子集L,大量未標注的訓練句子集U,測試句子集T。
輸出:測試集T中的觀點句集O。
Step 1 令t=0,初始化種子集Lt,未標注句子集U;
Step 3 用Lt訓練分類器(i=1,2,3),得到分類模型 Mit(i=1,2,3),集成分類器pt(C|sent);
Step 4 對未標注集U中的每個句子sent利用pt(C|sent)進行識別。若pt(C|sent)≥sub_threshold,則該句子sent為高置信度觀點句且U′=U′∪{sent};否則,若pt(C|sent)≤obj_threshold,則該句子sent為高置信度非觀點句且U′=U′∪{sent}。
Step 5 令t=t+1,Lt=Lt-1∪U′,U=U-U′;
Step 6 若Lt==Lt-1,則轉(zhuǎn)Step7,否則,重復Step2~Step6;
Step 7 用pt-1(C|sent)對測試集T 進行觀點識別,輸出觀點句識別結(jié)果集O;
Step 8 算法結(jié)束。
本文采用第三屆中文傾向性分析評測(COAE2011)所發(fā)布的語料集《COAE2011_Corpus_Sample_Sentence》中的電子產(chǎn)品語料,該語料共包含2000篇電子產(chǎn)品領(lǐng)域的文檔,并且每篇文檔均已進行了斷句處理。
對該語料進行預(yù)處理:首先對語料中的噪音數(shù)據(jù)進行了清理,去除廣告性的句子,例如,“摩托羅拉600行貨,參考價格2399元,公司名稱天禧通行貨手機網(wǎng),訂購熱線01068319570”等類句子,處理后整個語料集共有14928條句子。其中,觀點句有5662句,非觀點句9266句,比例將近1∶2。為了保證數(shù)據(jù)的平衡性,本文采用隨機裁剪的方法,將非觀點句集中隨機裁剪一些句子,使得到的非觀點句與觀點句數(shù)量相等,此時得到了平衡的觀點句與非觀點句的語料庫。然后再采用中國科學院的分詞與詞性標注軟件①http://ictclas.org,對所有的句子進行分詞與詞性標注處理。
利用第3節(jié)的三種分類器和集成分類器,采用Bootstrapping方法設(shè)計觀點句識別的兩種方案。
方案1:利用Bootstrapping方法,Na?ve Bayes、SVM分、ME三種分類器分別進行觀點句的識別;
方案2:利用 Bootstrapping方法,將 Na?ve Bayes、SVM分、ME三種分類器進行集成,得到集成分類器的觀點句識別。
為了驗證方法的有效性,我們對每種方案中的識別方法分別進行了5折交叉驗證實驗。觀點句識別的評價指標采用常用的三種方法,精確率p,召回率r和F值。
(1)詞匯選取
采用第2節(jié)基于主客觀區(qū)分能力的詞匯選擇選取1500維特征,再將Hownet中的主張詞和程度詞(共255個)并入該特征集作為最終的特征詞集。實驗工具借助了開源的機器學習工具包weka①http://www.cs.waikato.ac.nz/ml/weka和張樂博士的最大熵工具包maxent②http://homepages.inf.ed.ac.uk/lzhang10/maxent_toolkit.html。
(2)高置信度閾值選擇
基于Bootstrapping的觀點識別方法需要每次選取具有高置信度的分類樣本加入訓練集中,以不斷提升分類器的性能。通過試驗,本文選取每一次對未標注樣本集進行分類中的概率值的觀點句的閾值sub_threshold=0.5和非觀點句的閾值obj_threshold=0.3。
根據(jù)第5.1節(jié)的實驗設(shè)置,不同的標注率標注的數(shù)據(jù)分別作為種子集,采用第4節(jié)的BFSSIA算法,對方案1和方案2進行觀點句識別。
方案1:Na?ve Bayes、SVM 分、ME分類器的實驗結(jié)果如圖2~4所示。
圖2 Bayes分類器觀點句識別結(jié)果
由圖2~4可以看出:
(1)采用Bootstrapping方法進行觀點句識別,各單分類器當標注率在0.45附近時的識別結(jié)果均與較高標注率時識別結(jié)果相當,充分證明了采用Bootstrapping方法對訓練集進行擴展是可行的。
(2)當使用標注率0.45下的數(shù)據(jù)作為種子集時,Naive Bayes分類器的分類精度有明顯提升,SVM分類器在分類精度損失較小的情況下召回率有所提升,而最大熵分類器的各項性能指標均有明顯提升。
(3)三種標注率相同的情況下,Naive Bayes分類器的觀點句識別的精確率比較好,而SVM觀點句識別的召回率比較高,最大熵模型的觀點句識別的精確率、召回率比較接近。
方案2:根據(jù)方案1的實驗結(jié)果,Na?ve Bayes、SVM分、ME各分類器的優(yōu)點也各不相同,因此,設(shè)置兩種權(quán)重,由各分類器線性加權(quán)構(gòu)成集成分類器。
(2)非等值權(quán)重:根據(jù)圖2~圖4,Na?ve Bayes的效果較差,因此,設(shè)
上述兩種情況的集成分類器的觀點句識別實驗結(jié)果如圖5~7所示。
由圖5、6可以看出,兩種權(quán)值的集成分類器均取得較單分類器的觀點句識別的結(jié)果穩(wěn)定且效果優(yōu)。
圖3 SVM分類器觀點句識別結(jié)果
圖4 ME分類器觀點句識別結(jié)果
對于圖7,在標注率為0.4時,非等權(quán)重的集成分類器的觀點句識別的各項指標均優(yōu)于等權(quán)重的集成分類器,說明SVM和ME分類器在集成分類器中起著重要的作用。
為了說明各單分類器和集成分類器在訓練集的標注率為少數(shù)時可以取得比較好的結(jié)果,表1列出了三種情況的觀點句識別結(jié)果。
(1)在Bootstrapping方法下,各單分類器和集成分類器在訓練集的標注率為0.4的觀點句識別結(jié)果。
(2)各單分類器和集成分類器在訓練集的標注率為1,即有監(jiān)督學習方法觀點句的識別結(jié)果。
圖5 等權(quán)集成分類器的觀點句識別結(jié)果
圖6 在不等權(quán)集成分類器觀點句識別結(jié)果
(3)標注數(shù)據(jù)為0時,即無監(jiān)督方法。該方法將能識別觀點句的主要要素評價對象、評價搭配、主張詞和程度副詞作為特征,評價對象和主張詞分別用布爾值表示、評價搭配和程度副詞分別用頻次表示,通過累加,選取最前面的分值作為觀點句識別的依據(jù)。
由表1可得出以下幾點。
(1)無論利用Bootstrapping的觀點句識別方法在訓練集的標注率為0.4和1時,集成分類器優(yōu)于單分類器的觀點句識別結(jié)果。
(2)當訓練集的標注率為0.4時,各分類器的觀點句識別結(jié)果可達到訓練集為全部帶標注類別的水平,即標注率為1。
(3)無監(jiān)督分類方法中選取分值排名在前60%的觀點句識別的結(jié)果整體劣于各分類器利用Bootstrapping的觀點句識別方法,說明未標注數(shù)據(jù)對觀點句識別有一定的支持作用。
圖7 在標注率為0.4時兩種集成分類器觀點句識別結(jié)果
表1 各分類器在Bootstrapping和有監(jiān)督方式與無監(jiān)督的觀點句識別實驗結(jié)果比較
本文在三種經(jīng)典的機器學習分類算法的基礎(chǔ)上研究了基于Bootstrapping的觀點句識別方法,為了提高分類結(jié)果的置信度對三種分類器進行加權(quán)集成構(gòu)建了比單個分類器性能更好的集成分類器,該集成分類器采用少量標注數(shù)據(jù)做種子集,在Bootstrapping識別思想下取得了比單個分類器進行Bootstrapping識別更好的結(jié)果,甚至達到了與訓練集全標注時觀點句的識別結(jié)果。因此,該方法適應(yīng)于在標注少量數(shù)據(jù)的情況下的識別任務(wù),尤其適合網(wǎng)絡(luò)環(huán)境下的大數(shù)據(jù)相關(guān)問題的處理。
由于觀點句中句法結(jié)構(gòu)復雜,只考慮詞匯方面的特征,可能會降低觀點句識別的結(jié)果,今后可嘗試加入句法特征對其進行深入的研究。另外,如何更加科學的選取各種參數(shù)也是今后值得研究的問題。
[1]宋樂,何婷婷,王倩.極性相似度計算在詞匯傾向性識別中的應(yīng)用[J].中文信息學報.2010,24(4):63-67.
[2]王素格,李德玉,魏英杰,等.基于同義詞的詞匯情感傾向識別方法[J].中文信息學報.2009,23(5):68-74.
[3]Peter D Turney,Michael L Littman.Measuring Praise and Criticism:Inference of Semantic Orientation from Association[J].ACM Transactions on Information Systems.2003,21(4):315-346.
[4]Janyce Wiebe.Learning subjective adjectives from corpora[C]//Proceedings of National Conference on Artificial Intelligence.2000.http://www.cs.columbia.edu/~vh/courses/LexicalSemantics/Orientation/wiebeaaai2000.pdf.
[5]Kim Soo Min,Hovy Eduard.Determining the Sentiment of Opinions[C]//Proceedings of the COLING Conference.Geneva.2004:1367-1373.
[6]王忠卿,王榮洋,龐磊,等.Suda_SAM_OMS情感傾向性分析技術(shù)報告[C]//第三屆中文傾向性分析評測論文集.2011:25-32.
[7]李巖,張佳玥,林宇航,等.FRIS_COAE COAE2011評測報告[C]//第三屆中文傾向性分析評測論文集.2011:42-51.
[8]L Qiu,W Zhang,C Hu,et al.Selc:A self-supervised model for sentiment classification[C]//Proceeding of the 18th ACM conference on information and knowledge management.2009:929936.
[9]Janyce Wiebe,Theresa Wilson,et al.Learning Subjective Language [J]. Computational Linguistics.2004,30(3):277-308.
[10]Pang Bo,Lillian Lee.A Sentimental Education:Sentiment Analysis Using Subjectivity Summarization Based on Minimum Cuts[C]//Proceedings of the ACL.2004:271-278.
[11]Riloff Ellen,Janyce Wiebe.Learning extraction patterns for subjective expressions[C]//Proceedings of Conference on Empirical Methods in Natural Language Processing(EMNLP-2003).2003.
[12]Pang Bo,Lillian Lee,Shivakumar Vaithyanathan.Thumbs up sentiment classification using machine learning techniques[C]//Proceedings of Conference on Empirical Methods in Natural Language Processing.2002.
[13]徐睿峰,王亞偉,徐軍,等.基于多知識源融合和多分類器表決的中文觀點分析[C]//第三屆中文傾向性分析評測論文集.2011:77-87.
[14]趙立東,王素格,王瑞波,等.基于多策略的中文文本傾向分析技術(shù)[C]//第三屆中文傾向性分析評測論文集.2011:88-96.
[15]韓先培,孫樂,江雪.第三屆中文文本傾向分析評測ISCAS-Opinion系統(tǒng)報告[C]//第三屆中文傾向性分析評測論文集.2011:120-125.
[16]董喜雙,鄒啟波,關(guān)毅,等.基于最大熵模型和最小割模型的中文詞與句褒貶極性分析[C]//第三屆中文傾向性分析評測論文集.2011:97-105.
[17]Suge Wang,Deyu Li,Xiaolei Song,et al.A feature selection method based on improved fishe's discriminant ratio for text sentiment classification[J].Expert Systems with Applications.2011,38(2011):8696-8702.
[18]J Platt.Probabilistic outputs for support vector machines and comparison to regularized likelihood methods[C]//Proceedings of advances in large margin classifiers.Cambridge:MIT Press.2000.
[19]Kai-Bo Duanl,S Sathiya Keerthi.Which Is the Best Multiclass SVM Method?An Empirical Study[C]//Proceedings of MCS 2005,LNCS 3541.Springer-Verlag Berlin Heidelberg.2005:278-285.
[20]Steven Abney.Bootstrapping[C]//Proceedings of the 40th Annual Meeting of the Association for Computational Linguistics.2002.