王 濤, 李 明
(重慶師范大學(xué) 計算機(jī)與信息科學(xué)學(xué)院,重慶 401331)
隨著人民生活水平的日益提高,旅游已成為生活的基本需求。人們往往通過互聯(lián)網(wǎng)完成旅途中的各種自助服務(wù)(如預(yù)定景點門票、預(yù)定住宿等),同時也產(chǎn)生了許多行為數(shù)據(jù),住宿時消費者對酒店的評論文本就是其中的一種,評論文本呈多維海量特征,對此類文本進(jìn)行有效特征分析不僅可以幫助消費者進(jìn)行決策,還可以幫助商家對服務(wù)進(jìn)行改善。已有部分網(wǎng)站為用戶提供酒店預(yù)選標(biāo)簽項,如攜程旅行、去哪兒網(wǎng)等,用戶通過點擊預(yù)設(shè)標(biāo)簽項來選擇酒店,此方法所獲取酒店的特征具有一定的時限性和局限性,真實的客觀評價信息不能從預(yù)選標(biāo)簽中反映出來。因此,要想深入了解用戶評價傾向,就需要對評價文本進(jìn)行文本主題挖掘[1-2]和情感分析[3-7]。文本主題挖掘常用的方法是隱含狄利克雷分布模型,徐戈等[1]闡述了主題模型在自然語言中的應(yīng)用。陳曉美等[2]使用LDA模型結(jié)合輿論主題與情感因素對網(wǎng)絡(luò)輿情觀點進(jìn)行了提取,從海量輿情中揭示用戶主要觀點。情感分析的主要方法有基于情感詞典和基于機(jī)器學(xué)習(xí)的方法,周詠梅等[6]通過獲取新聞評論語料在已有基礎(chǔ)情感詞典上抽取評論情感詞集和種子詞,使用圖排序模型構(gòu)建新聞領(lǐng)域的情感詞典,對評價文本進(jìn)行情感分析。王新宇[7]通過構(gòu)建旅游情感詞典結(jié)合機(jī)器學(xué)習(xí)的方法,分析了旅游網(wǎng)絡(luò)點評的情感傾向。劉志明等[8]使用支持向量機(jī)、貝葉斯分類算法、n元模型對微博情感分類進(jìn)行了實證研究。巴志超等[9]提出將關(guān)鍵詞表示為詞向量模型,通過計算關(guān)鍵詞的語義相似度構(gòu)建關(guān)鍵詞語義網(wǎng)絡(luò)。劉敏等[10]使用社交化網(wǎng)絡(luò)方法與情感分析對在線手機(jī)評論文本進(jìn)行研究。王盈等[11],通過構(gòu)建社交化網(wǎng)絡(luò),對競賽內(nèi)容進(jìn)行了挖掘。
酒店評價文本數(shù)量龐大且時常伴隨著各種評價噪音,用戶很難通過閱讀所有評價文本從中篩選特征詞來形成有效信息,僅對評論文本的情感分析所得的結(jié)果未能更好的挖掘出評論蘊(yùn)含的深層語義信息。在酒店評論領(lǐng)域,已有部分學(xué)者利用內(nèi)容分析法對酒店評論文本進(jìn)行研究,但方法對于長時間累積的大數(shù)據(jù)量不能很好地進(jìn)行批處理,因此分析的結(jié)果未很好地表達(dá)用戶的真實信息;熊偉等[12]以高檔商務(wù)酒店的評論文本進(jìn)行詞頻統(tǒng)計與情感分析,并結(jié)合時間序列對未來發(fā)展情況進(jìn)行預(yù)測。吳維芳等[13]利用情感分析法對酒店評論的滿意度進(jìn)行分析;石強(qiáng)強(qiáng)等[14]通過增加情感詞典種類來提高系統(tǒng)對網(wǎng)絡(luò)詞匯、表情符號進(jìn)行分詞的準(zhǔn)確性,進(jìn)而利用SVM對酒店客戶評論進(jìn)行情感分析。李勝宇等[15]通過構(gòu)建酒店評論領(lǐng)域特定情感詞典, 結(jié)合酒店評論信息的句式、語法特征,補(bǔ)充了酒店情感分析模型。李鳴等[16]對酒店評論進(jìn)行了細(xì)粒度情感分析,以酒店評論的特征屬性和情感分類作為研究目的,通過情感詞典匹配和Apriori算法,挖掘出在線評論數(shù)據(jù)用戶最關(guān)注的酒店特征。以上研究僅從完善酒店領(lǐng)域情感詞典或?qū)频暝u論文本進(jìn)行情感分析,而未進(jìn)一步深度挖掘評論文本分類后用戶評價的主題形成有效的知識信息,如挖掘“房間”、“環(huán)境”、“位置”等屬性詞所對應(yīng)的情感詞,形成有效的文本意見反饋信息,對商家及消費者進(jìn)行改良與決策。
基于以上分析,提出一種基于LTC-SNM的方法對在線評論文本進(jìn)行挖掘。研究內(nèi)容如下:通過網(wǎng)絡(luò)爬蟲獲取景點酒店的評價語料,對數(shù)據(jù)進(jìn)行預(yù)處理并生成Word2vec特征詞向量;使用機(jī)器學(xué)習(xí)分類器對預(yù)處理后的文本進(jìn)行情感二分類,通過LDA模型聚類得到主題屬性詞;通過抽取主題屬性詞-情感詞,運用ROSTCM生成語義網(wǎng)絡(luò),使得評論文本更具可解釋性。
向量空間模型[17]和基于統(tǒng)計的方法常用作文本表示與特征提取。使用Word2vec[18]進(jìn)行關(guān)鍵特征提取,Word2vec其原理是將每一個詞映射到一個特定維度的實數(shù)空間中,越相似的詞在向量空間中越相近,將每個詞看作一個隨機(jī)K維向量通過訓(xùn)練后輸出對應(yīng)每個詞的最優(yōu)向量。不僅能避免使用向量空間模型帶來的特征向量“維度災(zāi)難”,同時考慮了文本中的同義詞問題。Word2vec的兩種模型分別為連續(xù)詞袋模型和連續(xù)階躍文法,連續(xù)詞袋模型是由給定上下文來預(yù)測中心詞的后驗概率,而連續(xù)階躍文法模型是根據(jù)當(dāng)前中心詞wt來預(yù)測上下文出現(xiàn)的后驗概率,Word2vec其模型如圖1所示。
圖1 Word2vec的兩種模型Fig.1 Two models of Word2vec
兩種模型訓(xùn)練過程類似,都運用了人工神經(jīng)網(wǎng)絡(luò),僅介紹CBOW模型的訓(xùn)練過程。其原理是給定上下文信息預(yù)測中心詞,當(dāng)己知上下文詞c(一般c取2個),則給定詞序列wt-2、wt-1、wt+1、wt+2預(yù)測wt的后驗概率為
p(wt)p(wt|context(wt))p(wt|wt-2,wt-1,wt+1,wt+2)
(1)
由圖1可知,由上下文詞向量累加器和單層神經(jīng)網(wǎng)絡(luò)構(gòu)成CBOW模型,輸入層是詞wt的上下文中的c個詞向量,而映射層向量是這c個詞向量的累加和,作為神經(jīng)網(wǎng)絡(luò)的輸入。輸出層為中心詞wt出現(xiàn)的后驗概率,作為神經(jīng)網(wǎng)絡(luò)的輸出。
LDA是由Bleide等[19]提出的包含文檔-主題-詞3層貝葉斯文檔主題生成模型。Griffiths等[20]在此模型基礎(chǔ)上對參數(shù)施加先驗分布,使之成為完整的概率生成模型。LDA作為一種無監(jiān)督機(jī)器學(xué)習(xí)方法,用來識別隱藏在文檔集或語料庫中的主題信息。LDA中的各種符號說明見表1,圖2為LDA模型,圖2中LDA模型對于整個文檔M,假設(shè)其中有K個獨立的主題,對于每一篇文檔m都是由K個主題隨機(jī)生成,且m對于K個主題呈多項式Dirichlet分布,每個主題K是詞語上的多項分布。
表 1 LDA模型中各符號說明
圖2 LDA主題模型圖形表示Fig.2 Graphic representation of LDA topic model
LDA模型中隱含多個未知變量的復(fù)雜性,通常使用估計方法計算,常有變分貝葉斯推理、期望傳播算法、吉布斯抽樣。采用Gibbs抽樣提取,Gibbs抽樣為馬爾可夫鏈蒙特卡爾理論算法的一種簡單形式,其采樣過程推理如下:
由圖2 LDA模型可得出所有參數(shù)的聯(lián)合分布概率為
(2)
(3)
(4)
(5)
且有
(6)
依據(jù)主題參數(shù)θ和詞參數(shù)Φ以及Dirichlet的性質(zhì)求解分布期望為
(7)
將φk,t和?m,k的結(jié)果代入式(7)可得:
(8)
式(8)中,右半部分為p(topic|doc)·p(word|topic),上述過程即為Gibbs Sampling推理的整個過程。
景點酒店評價文本多為用戶對酒店房間、環(huán)境、服務(wù)、價格、位置等方面作出的主觀評價,用戶在表達(dá)自己的觀點其語言多樣化,且規(guī)范性較差,存在用戶評價噪音。將爬取得到的評論文本首先去掉評價中的用戶ID、評價時間等信息,保留評價文本并進(jìn)行數(shù)據(jù)清洗,刪除重復(fù)評價和少于4個漢字的評論,使用jieba分詞工具在知網(wǎng)基礎(chǔ)情感詞典上添加自定義情感詞典對文本進(jìn)行分詞處理,分詞后根據(jù)詞表進(jìn)行去停用詞。利用同義詞字典做歸一化處理,降低文本信息的維度。在評論信息中,一般的消極評價為否定形式(如“不是很好”,分詞后為不是/很好),這類詞嚴(yán)重影響情感判斷,因此,本文在自定義情感詞典中加入歧義詞字典。在處理同義詞時,利用基礎(chǔ)情感詞典中的同義詞詞典找到情感詞的同義詞來擴(kuò)展基礎(chǔ)情感詞典,此外自定義情感詞典中還加入酒店名、景點名。通過構(gòu)建景點酒店情感詞典、網(wǎng)絡(luò)新詞詞典、歧義詞詞典來提高分詞的準(zhǔn)確性,如表2所示。
表 2 自定義情感詞典
最后,對分詞后的文檔進(jìn)行Word2vec訓(xùn)練生成特征詞向量,利用機(jī)器學(xué)習(xí)中的分類器對評價的情感二分類。特征提取與情感分類過程如圖3所示。
圖3 特征提取與情感分類Fig.3 Feature extraction and sentiment classification
評論文本經(jīng)過情感分類被分為積極、消極文本,依據(jù)LDA模型進(jìn)行文本聚類生成酒店主題詞分布概率,選取前N個高頻關(guān)鍵詞(服務(wù)、位置、環(huán)境、價格等相關(guān)詞匯)作為每個景點酒店的評論的主題屬性信息,利用文獻(xiàn)[21]的方法自動抽取酒店評論文本的屬性詞與關(guān)鍵詞,屬性詞主要由名詞構(gòu)成,情感詞主要由形容詞構(gòu)成,如由高頻詞“環(huán)境”、“房間”和情感詞“干凈”、“整潔”,形成共現(xiàn)詞“環(huán)境-干凈”、“房間-整潔”,將得到的共現(xiàn)詞轉(zhuǎn)換為共現(xiàn)矩陣,使用ROSTCM軟件生成語義網(wǎng)絡(luò)圖,其過程如圖4所示。
圖4 主題聚類與語義網(wǎng)絡(luò)模型Fig.4 Topic clustering and semantic network model
通過python網(wǎng)絡(luò)爬蟲技術(shù)獲取攜程旅行、去哪網(wǎng)、大眾點評等平臺關(guān)于重慶市武隆景區(qū)、黑山谷景區(qū)、桃花園景區(qū)多家酒店、客棧、共計5萬余條評價文本信息。限于學(xué)術(shù)研究,為保護(hù)商家信息,對酒店的全稱部分使用“*”代替。實驗篩選武隆景區(qū)酒店、客棧各3家,每條評價信息作為一個文本文檔。將評論數(shù)據(jù)按4∶1的比例分成訓(xùn)練集和測試集,人工對訓(xùn)練集的評論文本進(jìn)行情感正、負(fù)打標(biāo)簽。具體數(shù)據(jù)信息如表3所示。
由于不同的分類器算法在不同的數(shù)據(jù)集上的分類精度不同,為了確保分類精度的準(zhǔn)確率,實驗首先使用k-近鄰(k-Nearest Neighbor,KNN)、邏輯回歸(Logistic Regression,LR )、隨機(jī)森林(Random Forest,RF)、決策樹(Decision Tree,DT)、支持向量機(jī)(Support Vector Machine,SVM)、梯度提升決策樹(Gradient Boosting Decison Tree,GBDT)多種分類器算法對景點酒店評論數(shù)據(jù)集進(jìn)行情感分類,然后選擇在酒店評論這一類數(shù)據(jù)集上泛化能力較好的分類器來作為數(shù)據(jù)的情感分類器。
表 3 實驗數(shù)據(jù)
(1) 通過計算準(zhǔn)確率fPrecision、召回率fRecall和F1值來評價分類模型的準(zhǔn)確度。
(9)
(10)
(11)
(2) 使用ROC曲線來衡量分類器,計算曲線圍住的面積(AUC)來評價分類器性能優(yōu)劣。fFpr為假正率,fTpr為真正率,fauc為準(zhǔn)確率。
(12)
(13)
(14)
其中,tp表示正類被預(yù)測為正類的數(shù)據(jù)量。fp表示負(fù)類預(yù)測為正類的數(shù)據(jù)量,fn表示正類被預(yù)測為負(fù)類的數(shù)據(jù)量。tn表示負(fù)類被預(yù)測成負(fù)類的數(shù)據(jù),如表4所示:
表 4 分類結(jié)果混淆表示
多種分類算法實驗結(jié)果如圖5(a)所示,圖5(a)中橫坐標(biāo)0~5表示表3中酒店、客棧的名稱,縱坐標(biāo)為F1的值。圖5(b)取GBDT在最佳分類時的ROC曲線。
(a) 幾種分類算法比較
(b) GBDT的ROC曲線
從圖5可以看出梯度提升決策樹(GBDT)分類算法在這個數(shù)據(jù)上的泛化能力較好,因此選擇GBDT分類算法對酒店評論數(shù)據(jù)進(jìn)行情感分類,其準(zhǔn)確率、召回率、F1、AUC的值如表5所示。
表 5 GBDT算法分類結(jié)果
由表5可知,6家酒店評論數(shù)據(jù)的平均準(zhǔn)確率為86.09%,平均召回率為84.44%,平均F1為92.77%,可以看出分類效果較好。
下面列出對各個酒店分類后為正面評論的數(shù)據(jù)進(jìn)行LDA模型聚類,經(jīng)過多次試驗,依據(jù)經(jīng)驗值設(shè)置LDA模型中參數(shù)α=0.14,β=0.01,迭代次數(shù)為1 000次。根據(jù)得到的p(topic|doc)概率對文本進(jìn)行聚類。對于k個主題列出了p(word|topic)的概率分布如表6所示。
表 6 LDA-Gibbs模型下的p(word|topic)
從表6可以看出:使用LDA模型進(jìn)行主題聚類的效果較好。從表5中得知Topic4、Topic5、Topic6是客棧,Topic1、Topic2、Topic3是酒店。通過選取各個酒店的前N個高頻詞即可看出用戶在實際體驗中所關(guān)注的主要信息。其中Topic6是武隆** 客棧、Topic5中是武隆** ??蜅?、Topic4是武隆** 客棧、Topic3是仙女山** 度假酒店、Topic2是仙女山山** 度假酒店、Topic1是武隆** 花園度假酒店。
由于使用語義網(wǎng)絡(luò)分析時,所產(chǎn)生的節(jié)點較多,為使經(jīng)過LDA主題聚類后的評論關(guān)鍵屬性詞與情感詞通過ROSTCM生成評論文本語義網(wǎng)絡(luò)圖,只選取與主題相關(guān)屬性詞和情感詞所構(gòu)成的前幾個節(jié)點,選取Topic5中的數(shù)據(jù)實驗所抽取的部分形容酒店的屬性詞與屬性情感詞短語如表7所示。其積極評論與消極評論的語義網(wǎng)絡(luò)如圖6所示。
表 7 抽取屬性與評論短語實例
(a) 積極評論語義網(wǎng)絡(luò)
(b) 消極評論語義網(wǎng)絡(luò)
通過積極評論語義網(wǎng)絡(luò)可以看出對于語義關(guān)鍵節(jié)點,從主題屬性詞(如:位置、房間、服務(wù))與情感詞(滿意、干凈、熱心)可根據(jù)語義指向出客棧的交通便利,位置距離火車站汽車站近、老板娘和老板服務(wù)態(tài)度熱情、衛(wèi)生干凈、性價比高,可以向需求為出行便利、性價比高的游客推薦住宿。而消極評論主要集中在客棧房間、硬件設(shè)施等方面,商家可依據(jù)語義網(wǎng)絡(luò)所得的結(jié)果進(jìn)行改善,消費者也可快速通過語義網(wǎng)絡(luò)了解所需信息。
通過獲取網(wǎng)絡(luò)在線評價文本進(jìn)行數(shù)據(jù)預(yù)處理,在多個分類算法中選擇GDBT分類算法對文本情感分類,將主題模型與語義網(wǎng)絡(luò)相結(jié)合,實現(xiàn)了一種基于SN-LTMC評論文本挖掘方法。從海量用戶評價文本快速挖掘用戶關(guān)注的主題屬性詞與情感詞信息,使用語義網(wǎng)絡(luò)將消費者評論進(jìn)行語義化表示,不僅方便用戶快速瀏覽,還可以幫助商家實現(xiàn)酒店推薦服務(wù)。實驗結(jié)果表明,方法具有可行性和良好的實用價值,能夠推動在線旅游智能電商的發(fā)展。