王素格,尹學(xué)倩,李 茹,張 杰,呂云云
(1. 山西大學(xué) 計算機與信息技術(shù)學(xué)院, 山西 太原 030006;2. 山西大學(xué) 計算智能與中文信息處理教育部重點實驗室, 山西 太原 030006;3. 山西大學(xué) 數(shù)學(xué)科學(xué)學(xué)院, 山西 太原 030006)
隨著計算機技術(shù)、網(wǎng)絡(luò)技術(shù)和通信技術(shù)的迅猛發(fā)展,網(wǎng)絡(luò)已成為企業(yè)與消費者進行信息發(fā)布、信息傳播、信息溝通的重要途徑與平臺。對于知名企業(yè)不再擔(dān)心別人不了解自己,真正擔(dān)心的是自己不了解“別人”,例如,用戶“如何看待自己的產(chǎn)品”,迫切地想知道自己企業(yè)產(chǎn)品與其他同類產(chǎn)品用戶的反饋信息。而作為普通消費者,在購買產(chǎn)品之前,往往傾向于在網(wǎng)上查詢該產(chǎn)品的相關(guān)評論,尤其是同類產(chǎn)品的評論,但用戶沒有足夠的時間和精力瀏覽大量的信息,因此,若想通過與其他產(chǎn)品的對比后再做出最終決策是比較困難的事情。然而,互聯(lián)網(wǎng)上的信息聚集效應(yīng)(涌現(xiàn)效應(yīng))使得人們更樂于在一個大的交流群體中發(fā)表觀點和意見,大量的產(chǎn)品評論分布在同類產(chǎn)品的論壇、聊吧等,更為重要的是論壇、聊吧中的評論信息更為真實。如何有效地自動地對帶有情感色彩的主觀性文本進行分析、處理、歸納和推理[1],發(fā)現(xiàn)和概括相關(guān)產(chǎn)品的觀點就變得非常重要。
目前, 大多研究者只針對某類產(chǎn)品評論判斷一篇文檔(句子)所表達產(chǎn)品的整體傾向[2-7],然而,無論是文檔級還是句子(或子句)級,均以產(chǎn)品包含的特征及其評價詞的傾向作為依據(jù),用于計算文檔或者句子(或子句)的情感傾向值。在實際產(chǎn)品評論中,一種產(chǎn)品可能涉及多篇文檔。如果僅從文檔級或句子級進行情感傾向判別,均不能獲得人們對產(chǎn)品的多個不同品牌在其性能方面的綜合評價。如何在某類產(chǎn)品的性能方面對多個產(chǎn)品品牌即評價對象進行聚類,以獲得評價對象的等級,有關(guān)這方面的研究目前還沒有看到相關(guān)報道。
一般作者在撰寫產(chǎn)品的各性能方面的評論時所使用的評價對象、評價特征以及觀點詞等詞匯與產(chǎn)品所在的領(lǐng)域知識密切相關(guān)。因此,本文利用已建立的領(lǐng)域本體,按照產(chǎn)品性能抽取含有評價特征以及觀點詞的句子。通過對評價同一對象的句子進行匯總,按其特征及其觀點詞進行整合與表示,使得每個產(chǎn)品性能構(gòu)建一個具有情感特征值的非完備信息系統(tǒng)[8]。為了完成評價對象的情感聚類,采用基于差別矩陣的特征約簡算法,去掉那些區(qū)分能力差且特征值稀疏度高的特征,從而獲得各性能方面的新表示,以提高評價對象的相似性。本文利用K-means聚類算法實現(xiàn)對產(chǎn)品的評價對象的情感聚類,并在汽車評論文本數(shù)據(jù)上進行實驗,實驗結(jié)果表明,本文提出的方法提高了評價對象聚類的效果。
本文假定一篇文本只針對一個評價對象的多個性能進行評價,而一個評價對象又涉及多個評論文本。文獻[9]已建立了面向汽車領(lǐng)域觀點挖掘的本體庫,該本體庫包含汽車的評價體系、詞匯知識庫以及概念間的關(guān)系,其詳細介紹見文獻[9]。根據(jù)文獻[9]已建立的汽車領(lǐng)域本體知識庫,基于本體的句子抽取過程如下:
(1) 抽取性能Pi(i=1,2,…)對應(yīng)評價對象Oj(包含評價特征、觀點詞)(j=1,2,…)的所有句子;
(2) 句子預(yù)處理。將(1)中抽取的句子sentencek(k=1,2,…)進行中文分詞、去除停用詞;
(3) 利用文獻[10]對句子sentencek(k=1,2,…)進行情感傾向判斷,并進行人工校對。
利用本體知識庫中評價對象之間以及評價特征之間的關(guān)系,對評價對象對應(yīng)的句子與評價特征進行整合。
(1) 句子合并。將具有概念之間的繼承關(guān)系的評價對象所對應(yīng)的句子進行合并。例如,“寶馬320i”繼承了“寶馬3系”的性能優(yōu)劣程度,因此假定評價對象“寶馬320i”和“寶馬3系”具有共指關(guān)系,將評價“寶馬320i”的所有句子合并到評價“寶馬3系”中。
(2) 評價特征共指消解。將具有下列關(guān)系的評價特征進行共指消解,將其視為同一評價特征。
① 具有傳遞性的整體與部分關(guān)系的評價特征。例如,“車載Mp3”就是“音響設(shè)備”的一部分。
② 實例與概念之間的關(guān)系。例如,“DSG變速箱”是“變速箱”的一個實例。
③ 某個概念是另一個概念屬性的從屬關(guān)系。例如,“發(fā)動機參數(shù)”是“發(fā)動機”的一個屬性。
由于網(wǎng)絡(luò)上的產(chǎn)品評論語言表達具有非規(guī)范性、豐富性和多樣性等特點,因此,在對產(chǎn)品性能方面進行數(shù)據(jù)表示時, 會存在特征值缺失,導(dǎo)致評價對象的特征有較高的冗余度、較差的類別區(qū)分度。若在高維特征空間中對評價對象進行聚類,不僅會增加聚類的時間復(fù)雜度,而且影響評價對象間相似性,降低評價對象聚類的性能。為了減少各性能方面的評價對象的特征維數(shù),本文利用特征間類別區(qū)分能力,設(shè)計基于啟發(fā)式的差別矩陣特征約簡的特征降維方法。
利用評價對象對應(yīng)的句子集,以本體中的性能方面對應(yīng)的特征為對象屬性,分別建立產(chǎn)品各性能的非完備的情感信息系統(tǒng)。
設(shè)產(chǎn)品的r個性能方面的非完備情感信息系統(tǒng)分別為Si(i=1,2,…,r),它們是由四元組構(gòu)成。設(shè)四元組Si={Ui,Ti,Vi,Wi(d)},這里的每一個元素所表示的意義如下:
Ui={d1,d2,…,dn}為論域,dk為產(chǎn)品第i個性能方面的第k個評價對象對應(yīng)的句子集,k=1,2,…,n,n為評論文本中包含的評價對象總數(shù)。
Ti={ti1,ti2,…,timi}為特征集,tij為產(chǎn)品第i個性能方面所包含的第j個特征。j=1,…,mi,mi為產(chǎn)品第i個性能方面所包含的特征總數(shù)。
Wi(dk)=(w(tk1),…,w(tkj),…,w(tkmi)),w(tkj)為產(chǎn)品第i個性能方面的第k個評價對象對應(yīng)句子集dk中第j個特征tkj的特征值函數(shù)。由于w(tkj)中有缺省值,因此,每個性能方面將得到非完備信息系統(tǒng)Si[10]。
對于評價特征的情感傾向,不僅與自身特征的情感傾向有關(guān),還與特征所在的上下文有關(guān)[11],例如,“變速器檔位清晰,但換檔時,比較費力,有些生澀感。”句子中的評價特征為“變速器檔位”,評價詞為“清晰”,特征自身的傾向為正面。但是由于受句子中轉(zhuǎn)折詞“但”的影響,該句子的整體傾向應(yīng)為反面,在這情況下,應(yīng)將評價特征的正面情感傾向值減弱。另外,對于評價特征在評論文本中出現(xiàn)多次時,應(yīng)對其規(guī)范化處理。因此,定義特征如下。
定義1: 非完備情感信息系統(tǒng)中評價特征tkj的值w(tkj)如式(1)所示。
這里的N為特征tkj出現(xiàn)的頻次,sq表示包含特征tkj的第q個句子,SOSq(tkj)表示特征tkj在句子sq中的傾向,comp(tkj,sq)表示句子sq傾向弱化特征tkj傾向的程度,其度量值用式(2)計算:
這里α∈(0,1),本文取α=0.5。
基于差別矩陣的特征約簡算法被認為是一種有效的特征約簡方法[12]。對于非完備信息表S′={U,T′,V′,W′(d)},|U|=n。為了約簡非完備情感信息系統(tǒng)中的特征,需對特征的特征值進行離散化處理。本文采用邊界點,將特征值劃分為五個等級。
信息表S′的核CORE(T′)={t′|t′∈T′∧cij={t′}},即為Mn×n中所有單個屬性元素組成的集合。
本文利用特征在文本中出現(xiàn)次數(shù),啟發(fā)式差別矩陣屬性約簡算法具體描述如下:
輸入: 非完備信息表S′={U,T′,V′,W′(d)}
輸出:S′的特征約簡集合A
Step 1: 計算S′的差別矩陣Mn×n=(cij)n×n;
Step 2: 計算S′的核CORE(T′),A=CORE(T′);
Step 3: ?cij∈Mn×n,如果cij∩A≠?,則,令cij=?;
Step 4: ?cij∈Mn×n,如果cij=?,則,轉(zhuǎn)Step 6;
Step 5: 統(tǒng)計當(dāng)前Mn×n中每個特征出現(xiàn)的次數(shù),選擇出現(xiàn)次數(shù)最多的特征t′,令A(yù)=A∪{t′},轉(zhuǎn)Step 3;
Step 6: 輸出A。
為了獲得評價對象的聚集結(jié)果,其聚類詳細過程如下。
(1) 基于本體的句子抽取。
利用2.1節(jié)的句子抽取過程,從句子層面獲得評論文本中經(jīng)過分詞、情感類別標注后的所有句子SentenceSet;
(2) 評價對象相關(guān)句子匯總、整合以及數(shù)值化表示。
這一過程從SentenceSet中,將有關(guān)產(chǎn)品每個性能方面評價同一對象的句子進行匯總,得到其句子集。例如,得到第i個性能方面的第k個評價對象對應(yīng)的句子集記dik,相當(dāng)于將評價同一個對象的句子集構(gòu)成一篇新的文檔,該文檔只包含用戶對某個評價對象在某個性能方面的評價。每個特征值計算采用第3.2節(jié)中的式(1)。再通過第2.2節(jié)的基于本體的特征合并,得到合并后的特征集,其特征的權(quán)重采用式(3)。
(3) 非完備信息系統(tǒng)的建立及特征降維。采用第3.1節(jié)和第3.2節(jié)建立的產(chǎn)品各性能的非完備的情感信息系統(tǒng),采用啟發(fā)式差別矩陣的特征約簡方法,獲得特征的約簡,利用約簡后的特征對各性能方面的評價對象重新表示,并恢復(fù)約簡后的各特征的數(shù)值化權(quán)重,對特征的缺省值權(quán)重均賦予0值,將非完備情感信息系統(tǒng)完備化。
(4) 利用K-Means聚類算法[13]對各性能方面的非完備信息系統(tǒng)的評價對象進行聚類。
在利用K-Means聚類算法聚類時,其距離度量采用歐氏距離。
(5) 輸出各性能方面的評價對象聚類結(jié)果。
本文實驗數(shù)據(jù)來源于太平洋汽車網(wǎng) (http://www.pcauto.com.cn/)的13個廠商的68個車系的汽車評論。樣本總量為742篇,7 960條句子,通過預(yù)處理得到“評價特征—觀點詞”評價搭配285個。根據(jù)國內(nèi)首個指導(dǎo)消費者理性購車的指標體系——“消費者轎車產(chǎn)品價值評價體系”(http://www.bitauto.com/topic/pinggu/index.html),將汽車的性能分為安全性、操控性、動力性、服務(wù)性、經(jīng)濟性、舒適性六個方面,各性能所包含的原始特征數(shù)分別為: 安全性25個、操控性42個、動力性48個、服務(wù)性23個、經(jīng)濟性13個、舒適性134個。
為了驗證本文方法的有效性,從特征降維效果和聚類質(zhì)量兩個方面進行檢驗。
(1) 特征降維效果
特征的降維效果從約簡率(Reduction Ratio)、稀疏度和系統(tǒng)運算時間這三個指標來體現(xiàn)。
約簡率=(1-N′/N)×100%,N為原始特征數(shù)量,N′為約簡后剩余的特征數(shù)。約簡率用來驗證特征的約簡能力。約簡率越高,約簡的能力越強;反之,約簡的能力越弱。
稀疏度指不包含數(shù)據(jù)的多維結(jié)構(gòu)單元(缺省值)的相對百分比。稀疏度越高,則系統(tǒng)所包含的有效信息越少。它用來驗證約簡后數(shù)據(jù)稀疏度的改善效果。
運行時間指聚類算法的運行時間,用來驗證聚類的運算效率。
(2) 聚類質(zhì)量
本文采用兩個常用指標純度和F值[13]。
利用第四節(jié)中的評價對象聚類過程,采用K-Means算法[18]對5.1節(jié)的數(shù)據(jù)中的評價對象(車系)進行聚類。為描述方便,我們將安全性、操控性、動力性、服務(wù)性、經(jīng)濟性、舒適性六種性能的非完備信息系統(tǒng)依次記為S1,S2,…,S6。為了說明本文特征降維的有效性,采用另一種特征降維的方法淺層語義分析LSA作為與其比較實驗。設(shè)計三個實驗如下。
Exp1: 利用第三節(jié)的特征降維方法進行特征降維后,再對評價對象(車系)聚類。
Exp2: 利用本體整合后的特征作為非完備信息系統(tǒng)的特征,直接對評價對象(車系)聚類。
Exp3: 對于本體整合后的特征,利用LSA進行特征降維,再對評價對象(車系)聚類。降維后的語義塊數(shù)r選取Exp2中約簡后的特征維數(shù)值。
為了驗證聚類后的結(jié)果,我們對所有車系的六種性能采用三個人進行人工打分,取其平均值作為用戶實際評級。分為三類: 差、一般、好。在利用K-Means算法時,類別數(shù)也選取k=3。
(1) 特征降維效果
為了說明本文方法特征降維的效果,從特征約簡率、稀疏度與運算時間進行驗證。通過特征降維后,六種非完備信息系統(tǒng)的降維結(jié)果如表1和表2所示。
表1 Exp 1中六種非完備信息系統(tǒng)中特征約簡后的特征數(shù)和約簡率
表2 Exp1和Exp2中六種非完備信息系統(tǒng)的聚類運行時間和稀疏度
① 由表1可知,各性能方面的約簡率不盡相同,例如,S5即“經(jīng)濟性”約簡前后沒有太大的變化,僅去掉五個特征,這主要是因為經(jīng)實驗統(tǒng)計,人們對經(jīng)濟性的關(guān)注度較低,描述的語言詞匯也較少,所用來描述的特征主要集中在“性價比”和“燃油經(jīng)濟性”這一類詞匯上,極少有人評價其他方面,例如,“GPS導(dǎo)航”。而S6即“舒適性”,其約簡率高達69.2%,說明評論者對產(chǎn)品的舒適性方面評論時所用的語言表達較為豐富,而且關(guān)注度較高。
② 由于K-Means算法的時間復(fù)雜度是O(m×n×k×t),其中n表示所有車系的個數(shù),k是簇的數(shù)目,t是迭代次數(shù),m是特征的個數(shù)。因此,特征的數(shù)量一定程度上會影響到聚類算法的運算效率。由表2可以看出,經(jīng)過降維處理后,隨著約簡率增大,Exp 1的運算時間明顯低于Exp2,約簡后特征數(shù)量的減少一定程度上提高了運算效率。
③ 由于基于差別矩陣的非完備信息表特征約簡過程中,只考慮特征的區(qū)分能力和特征的冗余度,并沒有考慮評價對象在特征表示下的稀疏度。因此,特征降維與數(shù)據(jù)稀疏度并不一定成正比,例如,對于S6即“舒適性”,由表1可以看出,特征降維后約簡率是最高的,但稀疏度卻不是降低最多的,其原因可能會將稀疏度低但區(qū)分能力差的特征約簡掉(例如,“車身外形”),而保留稀疏度較高但區(qū)分能力好的特征(例如,“座椅舒適性”)。
(2) 三個實驗的純度和F值,如表3所示。
表3 Exp1-Exp3中六種非完備信息系統(tǒng)的聚類純度和F1值
由表3可以看出以下三點。
① Exp1和Exp3的聚類純度和F值均高于Exp2,說明經(jīng)過特征降維,可以提高評價對象的聚類性能。
② 通過對評價對象聚類,可以得到和普通用戶認知基本一致的結(jié)果。例如,在“安全性”評價指標下聚類結(jié)果為“好”的車系,它們分別為,“寶馬3系”、“寶馬7系”、“寶馬X5”、“本田奧德賽”、“本田雅閣”、“奧迪A6L”、“奇瑞A3”、“上海通用君威”、“一汽寶來”、“一汽豐田銳志”、“一汽豐田威馳”、“一汽大眾高爾夫”、“一汽大眾速騰”。說明在對沒有先驗類別的評價對象進行評價時,采用聚類方法,可以得到其相應(yīng)的等級類別。
③ Exp1和Exp3的實驗結(jié)果相比,利用LSA特征降維在有些性能方面的評價對象聚類結(jié)果會比本文提出的方法略好些,但LSA特征降維可使特征空間發(fā)生變化,導(dǎo)致其特征無法解釋。
本文從句子層面出發(fā)對評價對象進行匯總,構(gòu)成產(chǎn)品性能方面的評論句子集,利用聚類方法對句子級中評價對象進行聚類,得到在各性能方面的評價對象聚類等級。為了提高評價對象的聚類效果,利用數(shù)據(jù)的類別區(qū)分能力,應(yīng)用基于差別矩陣的非完備信息系統(tǒng)特征約簡技術(shù)在降低了數(shù)據(jù)的冗余度和數(shù)據(jù)的稀疏度的同時,提高了K-Means聚類運行效率。例如,從“操控性”性能方面的非完備信息系統(tǒng)的實驗結(jié)果中可以看出,通過降維,運行時間比降維前減少了41.38%,稀疏度降低了15.69%,聚類的純度和F值都均有所提高。
從具體實驗過程中發(fā)現(xiàn),雖然本文特征降維方法在一定程度上可以減少數(shù)據(jù)的冗余和數(shù)據(jù)的稀疏度,但數(shù)據(jù)的缺失卻來源于初始抽取的特征,而這些特征僅依賴與已建立的本體知識庫。因此,下一步應(yīng)對動態(tài)的特征抽取方法進行深入的研究,以獲得更為符合本項研究需求的動態(tài)特征。
[1] B.Liu. Sentiment analysis and subjectivity[M]. Handbook of Natural Language Processing, Second Edition. 2010.
[2] B.Pang, L.Lee, S.Vaithyanathan. Thumbs up? Sentiment classification using machine learning techniques[C]//Proceedings of the Conference on Empirical Methods in Natural Language Processing (EMNLP), 2002:79-86
[3] D.Turney Peter, L.Littman Michael. Measuring praise and criticism: inference of semantic orientation from association[J], ACM Transactions on Information Systems, 2003,21(4): 315-346.
[4] B.Pang, L.Lee. Seeing stars: Exploiting class relationships for sentiment categorization with respect to rating scales[C]//Proceedings of the Association for Computational Linguistics (ACL), 2005:115-124.
[5] A.M.Popescu, O.Etzioni. Extracting product features and opinions from reviews[C]//Proceedings of the Human Language Technology Conference and the Conference on Empirical Methods in Natural Language Processing (HLT/EMNLP).2005.
[6] X.Ding, B.Liu, P.S.Yu. A holistic lexicon-based approach to opinion mining[C]//Proceedings of the Conference on Web Search and Web Data Mining (WSDM).2008.
[7] M.Hu, B.Liu. Mining and summarizing customer reviews[C]//Proceedings of the ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD), 2004:168-177.
[8] 張文修,吳偉志,梁吉業(yè),等. 粗糙集理論與方法[M]. 北京:科學(xué)出版社. 2001:206-213.
[9] 馮淑芳,王素格. 面向觀點挖掘的汽車本體知識庫的構(gòu)建[J]. 計算機應(yīng)用與軟件, 2011,28(5):45-47.
[10] 王素格,楊安娜,李德玉. 基于漢語情感詞表的句子情感傾向分類研究[J]. 計算機工程與應(yīng)用,2009,45(24):153-155,161
[11] L.Polanyi, A.Zaenen. Contextual lexical valence shifters[C]//Proceedings of the AAAI Spring Symposium on Exploring Attitude and Affect in Text. 2004.
[12] 王加陽,高燦. 改進的基于差別矩陣的屬性約簡算法[J]. 計算機工程,2009,35(3): 66-67, 73.
[13] 劉遠超,王曉龍,徐志明,等. 文檔聚類綜述[J]. 中文信息學(xué)報, 2006,20(3):55-62.