楊 鑫, 楊云帆, 焦 維, 朱東霖, 鄭紹陽, 袁中玉, 楊秀璋, 羅子江
(貴州財經大學信息學院,貴陽 550025)
隨著人們生活水平提高,大眾精神層次上的需求也在不斷增加,旅游逐漸成為一種重要的娛樂方式,其中民宿作為一種新型住宿業態,受到大量游客青睞。近幾年中國民宿市場飛速發展,2017年民宿市場營業收入達到145億元,同比增長70.6%;民宿占住宿市場規模由2015年的2.7%上升到2017年的9.1%;民宿參與者人數達1.67億人,其中在線用戶規模1.47億人[1]。同時,隨著互聯網技術飛速進步,人們更愿意在網絡平臺上通過評價來表達對民宿服務的態度及情感傾向,在這些民宿評論中包含著影響民宿管理者決策和用戶購買的有用信息。因此從用戶生成的民宿評論中準確地分析其情感狀態具有重要價值。
然而當前中外對民宿評論進行情感分析的研究相對較少,張培等[2]通過計量分析和問卷調查的方法對游客選擇民宿的意愿傾向進行了研究。房孟春等[3]對民宿評論實施詞語聚類,提取出民宿在線信譽評價指標。這些研究方式較為單一且很難挖掘出數據內更深層次的規律。Pang等[4]通過機器學習對評論進行情感分類,但事先需要大量人力物力標注數據。Taboada等[5]利用情感詞典和語法規則計算文本內情感詞分值,從而判斷文本情感,該方法過于依靠詞典質量,不具有普遍性。
針對以上問題,提出了一種基于領域詞典的情感分析方法,通過SO-PMI(semantic orientation and pointwise mutual information)算法進行情感詞擴展,增強詞典的領域適用性;利用梯度下降公式賦予程度副詞不同強弱的權重值,提高情感計算精度;將LDA(latent dirichlet allocation)主題模型應用于情感分析,實現對民宿用戶關注點的有效提取;詳盡分析民宿評論中的正負面主題并分析其內在原因,以期為民宿管理者做出更好決策提供數據支持和理論支撐。
文本情感分析是指通過計算機對文本中的觀點、情感、主客觀性、極性進行識別、提取、處理、分類、歸納及推理的研究,是自然語言研究領域中的一個重要分支[6-7]。目前文本情感分析的方法主要有兩種:基于機器學習的研究方法和基于情感詞典的研究方法[8]。
機器學習是一種屬于監督學習的方法,過程中會將文本轉化為數字特征,并使用分類器分類。2002年Pang等[4]首次將機器學習應用于影評文本情感分類的研究中,但事先需要對特定領域內的海量數據進行人工標注,時間、人力和設備成本高,且不能適用于非特定領域。
基于情感詞典的分析方法,是一種屬于無監督學習的方法,過程中需通過情感詞典對文本內情感詞進行匹配并根據語法規則計算出文本的情感傾向值。相比機器學習,情感詞典不僅不需要數據標注,使用成本低,而且易進行詞典擴展,被應用于多個領域。如李琴等[9]基于情感詞典實現在線評論的情感分類,并對游客滿意度進行監測,證明了門票浮動制方法的可行性;張鵬等[10]將扎根理論與情感詞典應用于微博突發事件中,并進行了相應的情感分析與輿情引導策略的研究;吳江等[11]通過構建金融情感詞典和語義規則對Web金融文本進行了情感分析;王晰巍等[12]基于情感分析對移動圖書館用戶生成的內容進行了評價效果研究;樊振等[13]將情感詞典與用戶評分的弱標注信息相結合對豆瓣電影評論進行了情感分析;安璐等[14]利用情感詞典對“魏則西事件”中的利益相關者進行了社會網絡情感圖譜的研究;崔彥琛等[15]針對消防突發事件提出了一種網絡輿情情感詞典的構建方法。因此,選擇基于情感詞典的方法,并在原有基礎上擴展了民宿領域詞典。
LDA是一種由文檔層、主題層和主題詞語層構成的貝葉斯概率模型,可用于文檔主題的生成。自從2003年Blei等[16]第一次提出LDA后,人們便將其迅速應用于各個領域[17-21]。但是目前將情感分析方法與LDA主題挖掘相結合的研究還較為少見。王樹義等[22]雖在情感分類的基礎上對新聞文本進行了主題識別,但未能對文本中不同部分的情感權重加以細致地計算和區分。
構建了基于領域詞典的情感分析模型,其研究的技術思路如圖1所示。

圖1 情感分析模型技術思路圖Fig.1 Technical idea map of emotional analysis model
具體研究步驟如下:
(1)利用八爪魚Web爬蟲完成貴陽民宿評論數據的爬取,并存儲到本地,獲取的數據包括用戶ID、評論時間和評論內容三個特征。
(2)對所獲的評論數據進行預處理操作,包括數據清洗、結巴分詞、停用詞過濾、詞性標注等處理。
(3)構建基礎情感詞典,包括基礎詞典調用、否定詞構建、程度副詞構建、語法規則構建等步驟。
(4)采用情感傾向點互信息算法(SO-PMI)對基礎情感詞典進行專屬領域的擴展,包括挑選情感種子詞、候選詞的獲取、篩選、情感傾向值歸一化等環節。
(5)對構建的領域詞典進行性能檢測,并基于領域詞典對民宿評論進行情感分析、分類和LDA主題挖掘,最后利用pyLDAvis、詞云等技術使分析結果可視化。
2.1.1 基礎詞典選用
目前中國研究成熟的詞典有大連理工大學情感詞匯本體庫[23]、知網的HowNet情感詞典及臺灣大學中文情感極性詞典等。選擇的基礎詞典是大連理工大學情感詞匯本體庫,此詞典將情感分為“樂”“好”“怒”“哀”“懼”“惡”“驚”7個大類和21個小類,其情感詞的初始情感強度被設置為1、3、5、7、9五個等級,較其他詞典而言,強度劃分得更為細致。情感詞的情感極性有中性、褒義、貶義3類,分別對應值0、1、2。為便于計算機作情感計算,文中將代表貶義的極性值2修改為-1[24]。 詞匯的情感值公式為
s(w)=v(w)p(w)
(1)
式(1)中:s(w)表示詞匯的情感值;v(w)表示詞匯的情感強度;p(w)表示詞匯的情感極性。
2.1.2 否定詞構建
否定詞的出現往往會使評論的情感極性發生反轉。針對情感詞前有否定詞的這種情況,在算法設計時將情感詞的強度乘以-1,并整合常用的否定詞,見表1所示。

表1 否定詞表
2.1.3 程度副詞構建
程度副詞會使評論中情感詞的情感強度發生改變,如在“房東非常熱心”中,程度副詞“非常” 增加“熱心”的情感強度。使用的程度副詞被分為6個級別,分別代表不同強弱的情感傾向。根據實際情況按梯度下降公式分別對每一級別賦予不同權重值,如表2所示。
梯度下降公式為

(2)

2.1.4 語法規則構建
針對情感詞典進行相應語法規則的構建,主要包括以下3個步驟。
(1)使用python對情感詞典、否定詞表和程度副詞表進行讀取。
(2)遍歷每條評論中情感詞之間的否定詞和程度副詞,并對其相應的權重值進行計算。評論中每個情感詞類的情感值計算公式為
l(w)=d(w)a(w)s(w)m(w)
(3)
式(3)中:l(w)表示情感詞類的情感值;s(w)表示情感詞匯的情感值;d(w)表示否定詞的權重值;a(w)表示情感詞前所有程度副詞權重值的累加和;m(w)表示情感詞前否定詞和程度副詞間的相對位置。如果程度副詞前有否定詞修飾時,m(w)賦值為0.5,反之m(w)賦值為1。
d(w)=(-1)n
(4)
(5)
(6)
式中:n表示情感詞前否定詞的個數;t為該情感詞前程度副詞的個數;agi為第i個程度副詞的權重值。
(3)每條評論包含多個情感詞類,其最終的情感值計算如式(7):

(7)
式(7)中:r為每條評論中情感詞類集;L(r)為每條評論的最終情感值,L(r)≥0表示評論情感為正面,反之評論情感為負面。
不同領域都有獨特表達情感的詞語,這類詞語所表達的情感往往不能忽略,且在基礎詞典中并沒有被收錄。因此,需對基礎詞典進行專屬領域的擴展。用情感傾向點互信息算法(SO-PMI)從實際民宿評論中挑選要擴展的情感詞。
2.2.1 情感傾向點互信息算法
SO-PMI[25]是點互信息(pointwise mutual information,PMI)在情感分析領域的更深應用,是用PMI來評估待分析詞語的情感傾向(semantic orientation,SO)。PMI用來衡量兩個詞語w1和w2之間的相互依存關系,計算公式如下:

(8)
式(8)中:P(w1w2)表示w1和w2的真實共現概率,P(w1)和P(w2)分別表示w1和w2單獨出現的概率。如果PMI(w1,w2)值越大,則說明w1和w2相關性越緊密,情感傾向越一致。PMI(w1,w2)有3種情況,如式(9)所示:
PMI(w1,w2)

(9)
SO-PMI的計算需要極具代表性且有明顯情感傾向的情感種子詞,對評論中情感詞按詞頻從高到低進行挑選,選出積極和消極情感種子詞各50個,并用Pwi和Nwi來分別表示第i個積極和消極情感種子詞,則評論中某詞語w的情感傾向值計算公式為

(10)
針對SO-PMI(w)出現的3種情況,做了以下規定:

(11)
通過基礎情感詞典對獲得的候選詞進行重復值篩選,最后得到積極情感詞164個,消極情感詞225個。
2.2.2 情感傾向值歸一化
為了與基礎情感詞典中情感詞的強度值相互適應,需要對候選詞的情感傾向值進行歸一化處理,其歸一化公式如下:

(12)
式(12)中:x表示情感詞經歸一化處理后的情感傾向值;SP表示候選詞的情感傾向值;SPmax表示候選詞集中情感傾向極大值;SPmin表示候選詞集中情感傾向極小值。
把歸一化后的值區間[0,0.2)、[0.2,0.4)、[0.4,0.6)、[0.6,0.8)、[0.8,1]分別賦予相應的情感強度值1、3、5、7、9。最終將候選詞和相應的情感強度加入基礎情感詞典,完成本研究中民宿領域情感詞典的構建。其中,擴展的領域情感詞如表3所示。

表3 民宿領域詞典(部分)
實驗數據選取中國領先的短租民宿在線預定平臺——螞蟻短租作為文本來源,借助八爪魚數據采集器來實現對貴陽民宿評論的獲取,采集從2014年10月到2019年3月共5 074條評論文本,去掉重復及無效評論,如“該房客只打了分,暫無文字內容”“系統默認好評”等句子,得到有效評論3 663條,并調用Python對所獲評論進行數據清洗、結巴分詞、停用詞過濾及詞性標注等預處理操作。
在完成預處理后的評論集中隨機抽取1 000條評論作為測試集,由3人對其進行情感傾向標注,并從標注結果中統計標注人數最多的結果作為評論的最終情感傾向。選用準確率、召回率、F特征值3個指標對基礎詞典和領域詞典進行性能對比,對比結果見圖2所示。

圖2 兩種情感詞典的性能對比Fig.2 Performance comparison of two sentiment dictionaries
從圖2中可以看出,領域詞典對正面評論[圖2(a)]和負面評論[圖2(b)]的情感分析性能都有較大提升。就正面評論而言,領域詞典在準確率方面與基礎詞典基本保持一致,但召回率和F特征值分別達到95%和91%,提升幅度為13%和5%;就負面評論來看,領域詞典的分類效果良好,相較于基礎詞典在準確率、召回率和F特征值3項指標上均有不同程度的提高,其中準確率和F特征值提升明顯,由71%和48%提高到88%和65%,均提升了17%,這是前期詞典構建及擴展過程中程度副詞情感傾向梯度設置和負面情感詞擴充的緣故。構建的領域詞典在針對貴陽民宿領域的實際情感分析中有較優的分類性能,對民宿管理中評論正負情感傾向觀測具有一定的實際意義。
用領域詞典對評論集中所有評論進行情感值計算并情感分類,分為正面和負面情感評論集。以正面情感評論集為例,使用LDA模型對其主題挖掘,其中設定迭代次數為50,最佳主題數通過調整動態參數和觀測pyLDAvis可視化效果來確定,獲得的結果可視化見圖3。
圖3中,代表3個主題的圓圈相隔較遠,說明主題凝聚的效果良好。當鼠標移動到主題2范圍內時,該主題中的關鍵詞會在右側以柱狀列表的形式顯示出來,紅色柱條的長短表示主題2中該關鍵詞的詞頻大小。這有助于民宿管理者更直觀地查看生成主題內關鍵詞的分布情況。
負面情感評論集按同樣的方法進行主題挖掘,并結合正面情感評論集的挖掘結果,得出主題及其對應的核心關鍵詞見表4。
通過表4可以看出貴陽民宿的優勢即正面主題,包括周邊環境、房間設備和房東服務。其中,主題周邊環境包含“交通”“公園”“環境”“景點”等核心關鍵詞;主題房間設備包含“房間”“空調”“設施”等核心關鍵詞;主題房東服務包含“老板”“熱情”“周到”“接待”等核心關鍵詞。正面主題詞的挖掘有利于民宿管理者能更準確地把握已有優勢,發展自身特色,從而打造出極具魅力的民宿服務。
相比正面主題,人們更應留意貴陽民宿的劣勢即負面主題,包括誠信問題、停車問題和室內問題。誠信問題包含 “騙人”“信任”“理解”“協商”等核心關鍵詞;停車問題包含“停車”“停車場”“停車費”等核心關鍵詞;室內問題包含“霉味”“螞蟻”“臟亂”“隱私權”等核心關鍵詞。這應該引起民宿管理者的注意,并有針對性地對自身服務進行改善。

表4 貴陽民宿正負面評論主題挖掘結果

圖3 正面評論主題挖掘可視化Fig.3 Visualization of positive comment topic mining
利用詞云對貴陽民宿評論進行分析,分析結果如圖4所示。圖4(a)是基于所有評論的實體詞生成,圖4(b)和圖4(c)分別為基于正面和負面評論中的情感詞生成;從圖4(a)可知,“房東”“房間”“設施”“環境”“交通”一直是人們的主要關注點;而圖4(b)、圖4(c)能很直觀地展現出用戶民宿體驗中的感受,如圖4(b)中“整潔”“干凈”等詞直接表達用戶對于民宿衛生狀況的滿意程度,圖4(c)中“潮濕”“嘈雜”“混亂”等詞反映用戶對于民宿環境的不滿,這更利于獲悉用戶評價,從而便于民宿管理者做出更好的決策。

圖4 貴陽民宿評論詞云圖Fig.4 Guiyang homestay comments word cloud
提出一種領域詞典和主題挖掘相結合的方法,對貴陽民宿評論進行情感分析。實驗采用SO-PMI算法實現了基礎情感詞典的領域擴展,其性能有較大提高,在負面評論集上準確率和召回率分別提升了17%和16%,說明本詞典擴展方法的有效性。同時,在情感分類的主題挖掘下,全面分析出民宿評論中所包含的正面主題和負面主題,并利用詞云對評論情感詞進行可視化展現,使管理者能夠清晰地得到用戶的情感訴求,有助于做出更適合的具體條件下的最優決策。當然,領域詞典也存在不足,一方面本文數據數量有限;另一方面沒有深入考慮文本詞語間的語義關聯,將在后續研究中逐步進行完善。