白剛
(桂林旅游學(xué)院,桂林 541006)
每逢節(jié)假日旅游點(diǎn)均出現(xiàn)游客暴增現(xiàn)象。游客量的增加會(huì)改變旅游體驗(yàn),游客的評(píng)論數(shù)據(jù)是游客體驗(yàn)直觀的反映,其中的情感傾向代表了對(duì)旅游點(diǎn)的積極或消極態(tài)度,也是旅游點(diǎn)規(guī)劃的重要參考依據(jù)[1]。
但是,評(píng)論信息作為非結(jié)構(gòu)化文本數(shù)據(jù)難以直接分析其情感傾向,需要采用算法將文本轉(zhuǎn)換成可定量的情感傾向數(shù)據(jù)。傳統(tǒng)的方法主要包括基于情感詞典的方法[2-4]和基于機(jī)器學(xué)習(xí)的方法[5-7],但基于情感詞典的方法主要依賴于情感詞典的構(gòu)建[8],對(duì)上下文語義及語氣等考慮不足。機(jī)器學(xué)習(xí)的方法需要大量人工的特征標(biāo)注,對(duì)較小訓(xùn)練集效果欠佳,且不同的分類器對(duì)結(jié)果精度影響較大。
本文拓展了情感詞典的基礎(chǔ)方法,借鑒了機(jī)器學(xué)習(xí)方法中的標(biāo)注語料方法,采用哈工大語言技術(shù)平臺(tái)(language technology platform,LTP)進(jìn)行分句、分詞和詞性標(biāo)注,結(jié)合知網(wǎng)情感詞典(HowNet)進(jìn)行情感詞統(tǒng)計(jì),情感副詞、語氣標(biāo)點(diǎn)加權(quán)進(jìn)而獲得文本情感得分。
2021年“五一”期間出現(xiàn)了國內(nèi)旅游高峰,成都和重慶或?yàn)闊衢T旅游目的地,游客量分別達(dá)到了390萬和280萬人次。微博作為國內(nèi)用戶基數(shù)最大、信息交換速度最快的社交平臺(tái)之一,“五一”期間產(chǎn)生了大量的用戶評(píng)論信息,評(píng)論中隱含用戶對(duì)旅游目的地的情感傾向,挖掘潛在的情感傾向?qū)β糜文康牡氐囊?guī)劃和運(yùn)營有重要的意義。但由于評(píng)論數(shù)據(jù)的非結(jié)構(gòu)化屬性,難以直接進(jìn)行量化分析,迫切需要高效準(zhǔn)確的將文本數(shù)據(jù)轉(zhuǎn)換成情感分值的方法。
N-LTP中采用的中文分詞(CWS)被視為基于字符的序列標(biāo)記問題,采用線性解碼器對(duì)每個(gè)字符進(jìn)行分類[9]:
其中,y i表示每個(gè)字符的標(biāo)簽概率分布;WCWS和bCWS是可訓(xùn)練的參數(shù)。
N-LTP中的詞性(POS)標(biāo)記使用一個(gè)簡單地MLP來對(duì)每個(gè)詞語進(jìn)行詞性分類,分類后可對(duì)名詞等非情感詞進(jìn)行刪除以減少計(jì)算工作量。
式中,y i表示每個(gè)詞的詞性概率分布;WPOS和bPOS是可訓(xùn)練的參數(shù)。
輸入文本情感得分如公式(3)。
式中,CPOS和Cneg分別為情感正向詞和情感負(fù)向詞的出現(xiàn)頻次,wadv為情感副詞權(quán)重,Cadv為前置情感副詞出現(xiàn)頻次,wpun為情感詞后強(qiáng)調(diào)性標(biāo)點(diǎn)權(quán)重得分。
選擇新浪微博作為數(shù)據(jù)采集平臺(tái),采用爬蟲進(jìn)行數(shù)據(jù)采集。采用新浪微博的高級(jí)搜索,關(guān)鍵詞限定為話題標(biāo)簽#成都#和#重慶#,時(shí)間區(qū)間限定為2021年5月1日00:00~2021年5月5日23:59,分別抓取成都和重慶的用戶ID、評(píng)論、來源地、性別等相關(guān)信息。
最終獲取數(shù)據(jù)集數(shù)量為成都評(píng)論數(shù)據(jù)共計(jì)4789條,重慶評(píng)論數(shù)據(jù)8563條。
觀察數(shù)據(jù)發(fā)現(xiàn),數(shù)據(jù)存在部分缺失、錯(cuò)誤、無效、重復(fù)等問題。導(dǎo)入Mariadb數(shù)據(jù)庫后,采用存儲(chǔ)過程對(duì)數(shù)據(jù)進(jìn)行基本清洗,去除重復(fù)和無效記錄,并根據(jù)人工檢查去除廣告性質(zhì)的評(píng)論文本記錄,最終得到成都有效評(píng)論數(shù)據(jù)3941條,重慶有效評(píng)論數(shù)據(jù)7123條。
評(píng)論文本情感分析流程如圖1所示,情感傾向可認(rèn)為是主體對(duì)某一客體主觀存在的內(nèi)心喜惡和內(nèi)在評(píng)價(jià)的一種傾向。主要由兩個(gè)方面來衡量:一個(gè)情感傾向方向,由情感詞數(shù)量測(cè)量;一個(gè)是情感傾向度,由情感詞分級(jí)+情感程度副詞與語氣標(biāo)點(diǎn)加權(quán)測(cè)量。
圖1 情感分析原理
文本情感分析的分析粒度可以是詞語、句子、段落或篇章。
段落級(jí)情感分析主要是面向特定事件或主題進(jìn)行情感傾向分析,通常要事先構(gòu)建對(duì)應(yīng)主題的情感詞典,如音樂評(píng)論的分析,就需要音樂特定的情感詞典來進(jìn)行分析,最終效果會(huì)由于通用情感詞典;也可以通過人工標(biāo)注大量音樂評(píng)論來構(gòu)建分類器。句子級(jí)的情感分析一般通過統(tǒng)計(jì)分詞后的情感詞的分值進(jìn)行計(jì)算。
篇章級(jí)的情感分析,通常通過聚合篇章中所有的句子的情感傾向來計(jì)算得出。因此,句子粒度的情感分析,既是解決如評(píng)論等短文本情感分析的基礎(chǔ),同時(shí)也是篇章級(jí)文本情感分析的基礎(chǔ)。
對(duì)于中文評(píng)論,分句方式較為簡單,采用標(biāo)點(diǎn)分句。分詞采用哈工大N-LTP的cws.model模型,其基本原理為建模為基于字的序列標(biāo)注問題,對(duì)于輸入句子的字序列,模型給句子中的每個(gè)字標(biāo)注一個(gè)標(biāo)識(shí)詞邊界的標(biāo)記(式1),然后基于統(tǒng)計(jì)模型同時(shí)融合詞典的方法最大正向匹配得到分詞結(jié)果。為增加分詞準(zhǔn)確率,添加了知網(wǎng)情感詞典等外部詞典,分詞樣例如表1所示。
表1 分詞結(jié)果樣例
詞性標(biāo)注中n為名次,v為動(dòng)詞,wp為標(biāo)點(diǎn),d為副詞,a為形容詞,c為連詞。
將分詞以后的詞袋按照詞性比對(duì)停用詞列表(StopWords),去除不帶有情感意義的停用詞,提高情感分析性能。然后根據(jù)情感詞級(jí)別進(jìn)行情感詞頻統(tǒng)計(jì)、情感詞位置與程度副詞、否定詞加權(quán)計(jì)算以及句尾符號(hào)加權(quán)計(jì)算得出句子的最終情感得分。算法邏輯的關(guān)鍵部分如下:
算法1:微博評(píng)論情感分析算法
輸入:微博評(píng)論自然語言段落weibo_content
輸出:評(píng)論情感分析得分S s
1S s=[]
2 sentences=Cut_Sentence(weibo_content)
3 for sent in sentences:
4 words=tokenize(sent)#式1
5 seg_words=del_stopwords(words)
6CPOS=0
7 Cneg=0
8 for word in seg_words:
9 if word in posdict:
10CPOS+=1
11wadv,Cadv=Match_adv(CPOS)
12 elif word in negditc:
13…#消極情感計(jì)算
14 elif word word==′!′or word==′!′or word==′?′or word==′?′:
15wpun=Set_WP(CPOS)
16S ss=(CPOS+wadvCadv+wpun)-(Cneg+wadvCadv+wpun)#S ss為分句情感得分
17S s=∑S ss
18 returnS s
采用算法1對(duì)數(shù)據(jù)庫中微博評(píng)論文本(表1)進(jìn)行情感分析打分,樣例結(jié)果如表2所示。
表2 情感分析樣例
表2中,副詞“尤其”為情感傾向?yàn)檎虻男稳菰~“開心”的前置位置為1的語義加強(qiáng)副詞,在詞典中權(quán)重為6。本例評(píng)論結(jié)束標(biāo)點(diǎn)為句號(hào),沒有標(biāo)點(diǎn)符號(hào)加權(quán)。本例情感分析最終得分計(jì)算公式為:Ss=(5+6×1+0)-(2+0+0),最終情感得分9,情感傾向方向?yàn)檎?,情感傾向度較強(qiáng)。
軟件環(huán)境數(shù)據(jù)庫采用Mariadb 10.4版本,開發(fā)語言采用Python 3.6版本,硬件環(huán)境為Intel(R)Xeon(R)CPU E5-2620 v4;32 G RAM。對(duì)4000條評(píng)論信息進(jìn)行情感分析打分,運(yùn)行時(shí)長為483秒,平均每條評(píng)論數(shù)據(jù)情感打分時(shí)間為0.12秒。
選取數(shù)據(jù)庫中機(jī)器標(biāo)注評(píng)分為正向(評(píng)分為正數(shù))、中性(評(píng)分為0)和負(fù)向(評(píng)分為負(fù)數(shù))的記錄各10條進(jìn)行人工情感標(biāo)注和打分,打分采用5人小組的感性打分方式,不規(guī)定單個(gè)詞語的得分細(xì)則,最后取平均值作為最終該條目的情感得分。最終人工標(biāo)注得分與算法標(biāo)注得分對(duì)比如圖2所示。
圖2 人工標(biāo)注與機(jī)器標(biāo)注對(duì)比
如圖2所示,在情感傾向方向上,人工標(biāo)注與機(jī)器標(biāo)注傾向性在30條樣例中,一條出現(xiàn)情感傾向差異,正確率96.7%;情感傾向度方面,人工標(biāo)注與機(jī)器標(biāo)注在低分區(qū)間(絕對(duì)值<8)基本沒有差異,在高分區(qū)間,人工標(biāo)注普遍評(píng)分略大于機(jī)器標(biāo)注,最小差異11%,最大差異36%。
可以發(fā)現(xiàn),在情感傾向方向維度上,人工標(biāo)注和機(jī)器標(biāo)注結(jié)果基本一致,但機(jī)器標(biāo)注效率遠(yuǎn)高于人工標(biāo)注。在情感傾向度維度上,人工標(biāo)注在無給定單個(gè)詞語得分的情況下,人工標(biāo)注與機(jī)器學(xué)習(xí)標(biāo)注有較大差異,同時(shí)人工小組內(nèi)打分差異較大,存在較大波動(dòng)。
本研究采用哈工大語言技術(shù)平臺(tái)進(jìn)行分句、分詞和詞性標(biāo)注,同時(shí)結(jié)合知網(wǎng)情感詞典進(jìn)行情感詞統(tǒng)計(jì),情感副詞、語氣標(biāo)點(diǎn)加權(quán)獲得文本情感得分,構(gòu)建了新的算法。該算法對(duì)傳統(tǒng)的情感詞典打分方法進(jìn)行了延伸和拓展,加入了上下文語義要素,考慮了情感詞前置副詞的語義加強(qiáng)效果,增加了句子結(jié)尾標(biāo)點(diǎn)語氣效果的權(quán)重。
綜合來看,算法效率高(0.12秒/條),準(zhǔn)確率較高(96.7%),在對(duì)社交網(wǎng)絡(luò)采集的文本大數(shù)據(jù)進(jìn)行分句、分詞和情感分析的工作中,采用本算法可極大提高研究工作的效率。后續(xù)研究將對(duì)算法使用的情感詞典和副詞詞典進(jìn)行人工修訂以增加準(zhǔn)確率。