焦鳳
(上海海事大學信息工程學院,上海 201306)
隨著互聯(lián)網(wǎng)的迅速發(fā)展,人們熱衷于通過網(wǎng)絡表達自己的態(tài)度和看法。用戶發(fā)布微博、酒店評論、電影評論等來表達自己的情感。這些文本信息都包含了大量的情感信息,都是寶貴的情感語料資源,商家和消費者可以參考評論信息做出更加合理的判斷。利用情感分析能從評論中獲取用戶的情感信息,可以準確地分析出評論中情感的傾向性。
文本情感分析技術(shù)主要分為兩類:基于語義方法和基于機器學習方法?;谡Z義方法是指利用計算情感詞語的情感值來判斷文本的情感極性,楊超等人在HowNet和NTUSD的基礎上進行擴展,建立了一個具有傾向程度的情感詞典[1],取得更加準確的分析結(jié)果。評論語料中的情感詞、情感詞的上下文及情感詞修飾的特征詞等因素都對句子情感傾向性產(chǎn)生影響。為了獲取精確的分類結(jié)果,Meena A等人重點考慮了連詞對句子情感極性分析[2]的影響,結(jié)合短語和連詞分析句子情感極性?;跈C器學習的方法是指利用已經(jīng)標注的語料,采用不同的特征權(quán)值[3]公式、特征選擇方法對采集來的語料進行處理,利用機器學習算法進行訓練得到分類器,用訓練好的分類器對新文本進行識別。Fei Zhongchao根據(jù)機器學習的方法研究了外文中體育相關(guān)評論[4]的情感分析,通過實驗研究獲得了有效的結(jié)果。當前研究結(jié)果表明,基于機器學習的方法分類效果優(yōu)于基于語義的方法[5]。盧玲提出一種新的基于樸素貝葉斯的中文文本情感分類[6]方法,用情感短語作為文本特征,通過情感詞典與否定副詞相結(jié)合提取情感短語,再利用樸素貝葉斯分類器進行情感分類計算。文獻[7]提出基于表情符號的中文微博情感分析系統(tǒng),把微博中使用頻率最高的59個表情符號分為4種情感類別。然后使用樸素貝葉斯分類器訓練新浪微博的具有情感標注的微博語料,實驗表明表情符號的使用提高了微博分類準確率。
由于酒店評論的口語化嚴重等問題,在酒店評論情感分析方面做的研究還不夠。本文通過構(gòu)建酒店專屬詞典,基于樸素貝葉斯分類器對酒店評論分類,并對酒店評論中的單因素進行分析,得出消費者對單因素的好評率。
本文通過在酒店評論文本特點的基礎上提出了圖1酒店評論情感分析模型,該模型主要包括四大模塊:數(shù)據(jù)抓取模塊、預處理模塊、分類器訓練模塊、分類結(jié)果展示模塊。使用爬蟲程序爬取三大品牌酒店的評論數(shù)據(jù),通過分詞、去停用詞、特征選擇、特征權(quán)重計算等步驟后對評論文本進行逐條標注。將預處理后的訓練樣本訓練分類器,用訓練好的分類器對文本分類,得出評論文本情感傾向性。
圖1 酒店評論情感分析模型
目前常用的傳統(tǒng)情感詞典是NTUSD詞典[8],NTUSD情感詞典包含2810個正面情感詞匯、8276個負面情感詞匯,可以適用于各領(lǐng)域在線評論的情感傾向性分析。由于酒店在線評論擁有酒店領(lǐng)域相關(guān)的情感詞語,例如“隔音”“床大”等情感詞只出現(xiàn)在酒店評論中,在其他評論領(lǐng)域不會出現(xiàn)或者出現(xiàn)較少,這些詞語沒有收錄在傳統(tǒng)的情感詞典中,基于傳統(tǒng)情感詞典不足以完成對酒店評論的分析?,F(xiàn)將NTUSD詞典和酒店領(lǐng)域?qū)偾楦性~126個、網(wǎng)絡評論中的網(wǎng)絡流行詞42個以及表情情感詞27個合并,構(gòu)成酒店評論領(lǐng)域?qū)S性~典。部分酒店領(lǐng)域?qū)偾楦性~和網(wǎng)絡流行詞如表1所示:
表1 新增情感詞(部分)
使用Python語言編寫爬蟲程序爬取酒店評論文本,構(gòu)建酒店評論語料庫。例如文本“房間很干凈,前臺服務員非常有禮貌?!边M行文本情感分類前需要對文本進行預處理,步驟如下:
(1)去除無效評論:評論中很多無效評論,很多其他商品廣告之類,會干擾分類效果。
(2)分詞:中文文本只有字、句、段等分界形式,無法直接獲取實驗需要的情感詞語。實驗前需要進行分詞處理,本文使用中科院分詞系統(tǒng)ICTCLAS,將爬取得文本分詞成“房間很干凈,前臺服務員非常有禮貌。”。
(3)去停用詞:本文使用哈工大去停用詞表去除符號、助詞、動詞等。
常用的特征提取方法有信息增益法、互信息法、CHI統(tǒng)計法等。其中CHI特征選擇算法[9]利用了統(tǒng)計學中的"假設檢驗"的基本思想:假設特征t和類別ci之間符合CHI分布,CHI統(tǒng)計值越大,特征與類別之間的相關(guān)性越強,對類別的貢獻度越大。
實現(xiàn)步驟如下:
(1)統(tǒng)計樣本集中文檔總數(shù)(N)。
(2)統(tǒng)計特征詞t和類別ci共同出現(xiàn)的次數(shù)(A),特征詞t出現(xiàn)但ci不出現(xiàn)的次數(shù)(B),類別ci出現(xiàn)但t不出現(xiàn)的次數(shù)(C),特征詞t和ci都不出現(xiàn)的次數(shù)(D)
(3)計算每個詞的卡方值,計算公式(1)如所示:
(4)取特征t的最大值作為其全局CHI統(tǒng)計量,公式(2)如下:
文本中的特征權(quán)重通常都基于詞頻來統(tǒng)計文本信息,賦予特征對應的權(quán)重。常用的特征權(quán)重計算方法有:布爾權(quán)重、絕對詞頻、TF-IDF等多種方法。本文基于布爾權(quán)重的特征權(quán)重計算方法來計算特征在文本中的權(quán)重值。布爾權(quán)重型權(quán)值計算方法如式(3):
其中:若特征詞出現(xiàn)在文檔中,則權(quán)值為1。否則,權(quán)值為0。
樸素貝葉斯[10]是一種簡單有效的分類方法,它遵守“貝葉斯假設”,即文本的特征項是相互獨立的。其分類過程如下:
(1)采集并人工標記樣本數(shù)據(jù)。設X={x1,x2,…,xn}為一條酒店評論文本數(shù)據(jù),xi為X的某一特征詞;類
(2)計算特征詞xi在類別Y中的條件概率。即p(y1|X),p(y2|X),...,p(yn|X)。
(3)若 p(yi|X)=max{p(y1|X),p(y2|X),...,p(yn|X)},其中i<n,則X的類別屬于yi。根據(jù)“貝葉斯假設”,利用公式(4)計算概率:
要使得 p(yi|X)取最大值,只需讓 p(X|yi)p(yi)取最大值。鑒于各特征詞之間相互獨立,可按如下公式(5)計算:
其中,p(xj|yi)由訓練樣本估值,計算公式如(6)所示。
類別yi的先驗概率的計算公式如下(7):
公式(6)和式(7)中,sij是有特征詞 xj且屬于類 yi的樣本數(shù),si是屬于類yi的樣本數(shù),s是總的樣本數(shù)。
(4)經(jīng)過上面訓練階段,得到文本分類器。先用特征向量X={ }
x1,x2,…,xn將待分類的微博文本表示出來,然后主要的工作就是按照上述公式計算p(X|yi)及p(yi)的值。當且僅當 p(yi|X)=max{p(y1|X),p(y2|X),…,p(yn|X)}時,將文本劃分為yi類。
本文通過編寫爬蟲程序爬取上海浦東新區(qū)的如家、漢庭和7天連鎖三家品牌共15個快捷酒店的1572條評論作為語料庫,為了保證樣本具有完整性和代表性,要求每一家酒店至少有60條評論,剔除無效評論63個,剩余1509個有效評論。隨機抽取80%的評論作為訓練集,剩下20%評論作為測試集。
為了評定分類器分類的分類效果,我們采用準確率(Precision,簡記為 P)、召回率(Recall,簡記為 R)及 F值作為實驗的評價指標。公式如下:
其中,A表示實際好評被分類器正確判斷的評論數(shù),B表示實際差評被誤判為好評的評論數(shù),C表示實際好評被誤判為差評的評論數(shù),D表示實際差評被正確分類器判斷為正確的評論數(shù)。定義如表2:
實驗一:為了獲得精準的分類評價標準,隨機抽取80%的評論作為訓練集,訓練集樣本數(shù)為1207個,使用訓練集對評論情感分類器進行訓練。完成對分類器的訓練,用測試集進行實驗,實行多次訓練取平均值。試驗結(jié)果如表3:
表2
實驗二:通過篩選文本特征提取階段有關(guān)酒店屬性的特征詞,使用訓練好的分類器對包含產(chǎn)品屬性特征的句子進行情感分析,得出3個快捷酒店品牌顧客住宿單因素好評率。對五家酒店用戶評論進行詞頻統(tǒng)計,根據(jù)詞頻出現(xiàn)頻率從高到底選取特征詞,得到酒店用戶評論特征詞集合{位置、環(huán)境、服務、設施、衛(wèi)生、性價比、床、房間、早餐、價格、隔音、體驗……}其中,類似隔音、房間和床等特征詞都可以歸為設施。經(jīng)過分析總結(jié),將部分特征詞合并,選取5個最受關(guān)注的特征詞{位置、衛(wèi)生、服務、設施、環(huán)境}進行研究。分類器對包含特征詞的句子分類結(jié)果如表4:
表3 測試集測試結(jié)果
表4 單因素情感分類結(jié)果
圖2 單因素好評率
本文將單因素的好評率定義為單因素的好評數(shù)量與該單因素的評論總數(shù)的比值。如圖2通過對三大品牌連鎖酒店單因素方差分析結(jié)果顯示,各單因素好評率有顯著的差異??傮w來看,消費者對如家連鎖酒店的住宿好評率最高,漢庭和7天連鎖次之。如家連鎖酒店在位置、衛(wèi)生、設施和環(huán)境等都優(yōu)于其他兩家連鎖酒店。但是在服務方面,漢庭連鎖酒店卻優(yōu)于其他兩家酒店,其中7天連鎖優(yōu)于漢庭。對單因素好評率進行比較,可以發(fā)現(xiàn)服務的好評率最低,平均好評率為78.6%,數(shù)據(jù)說明顧客對服務的要求越來越高,而酒店在一定程度上無法達到部分消費者的預期服務水平,提高服務水平是酒店方面需要改進和突破的重點。另外,部分酒店進駐市場時間較早,設施損耗嚴重,酒店也要注意對設施的維護與更新,提高用戶的消費體驗的滿意度。
本文主要研究酒店領(lǐng)域評論文本的情感分類問題。在已有的情感詞典的基礎上加入酒店專屬詞和表情詞等,構(gòu)建酒店專屬情感詞典。提出了一種基于樸素貝葉斯的酒店情感分類模型,實驗表明,利用樸素貝葉斯分類器可以取得較好的分類效果。消費者和商家可以清晰地發(fā)現(xiàn)商品的優(yōu)缺點,具有一定的應用價值。
鑒于酒店評論具有口語化的特點,語法錯誤帶來的情感歧義會直接影響分類器的分類效果。下一步研究的重點主要對分類算法上進行改進,提高分類器分類的準確性,同時增強該分類算法在其他領(lǐng)域網(wǎng)絡評論的適用性。