趙禛 程良倫
(
廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院,廣東廣州 510000)
文本的情感傾向分析作為一個(gè)多學(xué)科交叉的研究領(lǐng)域,涉及包括自然語言處理、機(jī)器學(xué)習(xí)、人工智能等多個(gè)領(lǐng)域。情感傾向分析能夠自動(dòng)判斷文本的情感極性類別并給出相應(yīng)的置信度。能夠幫助企業(yè)理解用戶消費(fèi)習(xí)慣,分析熱點(diǎn)話題和危情監(jiān)控,同時(shí)提供有力的決策支持。
本文針對(duì)微博內(nèi)容融合語意理解的機(jī)器學(xué)習(xí)分類器進(jìn)行情感傾向分析,提高情感分析方法的適用性和準(zhǔn)確率。
當(dāng)前的情感分析方法分為基于情感詞典和基于機(jī)器學(xué)習(xí)這兩種。
2.1.1 基于情感詞典方法的研究
文獻(xiàn)[1]中設(shè)計(jì)了一個(gè)利用結(jié)構(gòu)化語言學(xué)特征實(shí)現(xiàn)基于詞典的無監(jiān)督類情感分析系統(tǒng)。優(yōu)化在不同應(yīng)用環(huán)境中的情感分析。文獻(xiàn)[2]提出了一種基于信息增益的有監(jiān)督維吾爾文分析方法,避免傳統(tǒng)空格分詞方法造成的維數(shù)災(zāi)難和特征項(xiàng)語義不完整等問題。文獻(xiàn)[3]提出在傳統(tǒng)情感分析模型基礎(chǔ)上引入模糊數(shù)學(xué)中的“直覺模糊集(IFS)”,分別建立形容詞、動(dòng)詞、語氣詞等模糊情感特征詞庫。魏廣順,吳開超[4]等人提出詞向量疊加方法和加權(quán)詞向量方法進(jìn)行文本特征的提取,從而更深層次的提出短文本特征。
2.1.2 基于機(jī)器學(xué)習(xí)方法的研究
基于機(jī)器學(xué)習(xí)方法在特定領(lǐng)域有著比較高的準(zhǔn)確率。劉新星[5]等人提出一種離散特征和詞向量特征的開關(guān)遞歸神經(jīng)網(wǎng)絡(luò)模型。首先直接循環(huán)圖為語句建模,采用開關(guān)遞歸神經(jīng)網(wǎng)絡(luò)模型完成產(chǎn)品屬性情感分析任務(wù),并在模型中集成離散特征和詞向量特征,最后分三種任務(wù)模型完成屬性提取和情感分析任務(wù)。錢凱雨等人[6]提出一種可融入習(xí)語信息的樹型-長短時(shí)記憶網(wǎng)絡(luò)模型,可以很好的對(duì)習(xí)語進(jìn)行建模。文獻(xiàn)[7]中以詞向量維度、詞向量訓(xùn)練規(guī)模、滑動(dòng)窗口大小和正則化方法等作為不同模型的影響因素,設(shè)計(jì)單層卷積神經(jīng)網(wǎng)絡(luò)處理中文情感分析。秦鋒王恒等人[8]提出一種結(jié)合上下文消息的情感分析方法,使用隱馬爾可夫支持向量機(jī)把微博上下文語境融入到情感分析問題中,更好的分析微博情感極性。
2.2.1 基于情感詞典的情感分析
例舉一條微博內(nèi)容:“今天去看了吳京導(dǎo)演的新片‘戰(zhàn)狼2’,看得有點(diǎn)熱血沸騰,確實(shí)是一部非常優(yōu)秀的好片,展現(xiàn)出了中華民族的氣勢(shì),但是3D的電影戴眼鏡的看得時(shí)間久會(huì)有點(diǎn)不舒服?!?/p>
目前有情感詞典如下:
情感詞:
positive:期待、優(yōu)秀、有趣、好片、熱血
negative:糟糕、失望、尷尬、傷心、不
程度詞:
level1:小、有點(diǎn)、稍微
level2:大、非常、很
設(shè)定情感詞positive詞+1,negative詞-1;程度詞level1*1,level2*2;
那么微博內(nèi)容的情感值為:1*1+1*2+1-1=2
其中正向詞得分為3,負(fù)向詞的得分為1,可輸出結(jié)果為[review:2]或者[review:(3:1)]。
該方法的重點(diǎn)在于構(gòu)建符合文本語意環(huán)境的情感詞典。
2.2.2 基于機(jī)器學(xué)習(xí)的情感分析
通常給予機(jī)器學(xué)習(xí)的情感分析方法分為以下五個(gè)步驟:
(1)中文分詞。中文預(yù)處理,常用方法:基于詞典、基于規(guī)則、基于統(tǒng)計(jì)、基于字標(biāo)注、基于人工智能。
(2)特征提取。文本中拿什么作為特征,常根據(jù)詞性或者位置。
(3)特征選擇。從積極的數(shù)據(jù)中按詞來選擇積極的所有特征
(4)分類模型。選擇合適的算法訓(xùn)練模型并測(cè)試數(shù)據(jù)集合。
本文選用微博數(shù)據(jù)文本集,數(shù)據(jù)文本沒有標(biāo)注,若進(jìn)行人工標(biāo)注測(cè)需要消耗大量人力成本。而微博數(shù)據(jù)集采集相對(duì)簡(jiǎn)單,所以我們首先選取部分文本,利用基本情感詞典粗略估計(jì)選取文本的情感傾向性。然后選取分值較高和分值較低的文本作為人工標(biāo)注的訓(xùn)練文本。為后續(xù)的機(jī)器學(xué)習(xí)訓(xùn)練做數(shù)據(jù)準(zhǔn)備。詳細(xì)過程如下:
因?yàn)榻o予情感詞匯的分析,字典的準(zhǔn)確性和靈活性對(duì)結(jié)果至關(guān)重要。字典選取來自知網(wǎng)的情感詞庫,原始字典按照習(xí)慣將詞匯分為三大類:
(1)情感詞語。積極評(píng)價(jià)詞;積極情感詞;消極評(píng)價(jià)詞;消極情感詞。
(2)程度詞。從最重的level5以此降低到level1,五個(gè)等級(jí)。
(3)否定詞?;谝陨咸攸c(diǎn),否定詞的存在可以用來判別是否進(jìn)行詞匯的極性反轉(zhuǎn),程度詞的存在可以給予不同的情感詞不同的分?jǐn)?shù),而情感詞可以整合積極詞和消極詞兩部分。
3.1.1 詞典修改
由于知網(wǎng)的詞典是針對(duì)所有領(lǐng)域,因此在微博內(nèi)容詞匯的劃分會(huì)有失偏頗,前期采用人工的方法對(duì)辭典的三個(gè)分類進(jìn)行略微調(diào)整。調(diào)整如下:
(1)積極詞中刪除“要,用,開通,需,向,應(yīng),欲,通,深,對(duì),會(huì),長,常,上,經(jīng)濟(jì),主要,紅,幽,靈,穎,硬,不變,是,明顯,約,剛,剛剛,到,事實(shí)上,基,基部”。
(2)消極詞刪除了‘大’,‘怊’‘,慳’‘,悱’,‘憒’‘,勝’‘,偏’。
(3)在否定詞增加了‘無’‘,不’‘,不是’。
(4)在程度詞中增加了‘百分之百’‘,非?!?重大’‘,大幅’‘,半點(diǎn)’‘,小幅’。
3.1.2 文本分塊
一條微博,通常由不同的部分的組成,而每個(gè)部分的重要程度不同。對(duì)于一條長微博來說,文本長度足夠的情況下,給定‘K1',‘K2'這兩個(gè)參數(shù),分別代表[0:K1]句和[K2-1:]句。這兩部分分?jǐn)?shù)的權(quán)重(Weight)相比于中間部分[K1:K2]的權(quán)重更高。
當(dāng)一條微博過短時(shí),認(rèn)為夠長來進(jìn)行分塊,即[0:K1]∩[K2-1:]≠,此時(shí)將忽視‘K1'‘,K2'這兩個(gè)參數(shù),全文采用統(tǒng)一權(quán)重來計(jì)算分?jǐn)?shù)。
為了減少首尾權(quán)重(Weight)對(duì)于文本整體的影響過大,以至于算法忽略文本[K1:K2]部分的分?jǐn)?shù),將首尾的部分得出的分?jǐn)?shù)乘以對(duì)應(yīng)的頻率,即:
s(i)是每部分對(duì)應(yīng)的積極或者消極的分?jǐn)?shù),p(i)是每部分積極或者消極詞的頻率。
一些否定詞的使用會(huì)讓詞語的極性反轉(zhuǎn),如‘不是’,‘不好’因此需要在詞語的位置前繼續(xù)搜索一到兩個(gè)位置,查找是否含有否定詞,然后進(jìn)行極性反轉(zhuǎn)。-1的指數(shù)t取決于是否進(jìn)行極性反轉(zhuǎn),l表示程度詞的程度值,word(j)表示詞語的原始情感值。
通過對(duì)一百條微博的內(nèi)容進(jìn)行人工情感標(biāo)注,計(jì)算每個(gè)設(shè)置權(quán)重weight選出最優(yōu)weight參數(shù),將比重設(shè)置為1.52,結(jié)果如圖1所示。
從圖1可見爭(zhēng)取率最高是90%,對(duì)應(yīng)的權(quán)重weight為1.52。
3.1.3 情感詞典打分
至此,我們選擇微博文本數(shù)據(jù)集匹配情感辭典進(jìn)行打分,定義高分?jǐn)?shù)據(jù)集data1分值為(10~),低分?jǐn)?shù)據(jù)集data2分值區(qū)間為(-10,-5)。盡量保持兩個(gè)數(shù)據(jù)集數(shù)量相同,以保證后續(xù)分類器訓(xùn)練。
我們選擇向量空間模型(VSM)作為特征提取,即將樣本轉(zhuǎn)化為向量的形式,需要一下兩個(gè)步驟。
3.2.1 確定特征集
將data1和data2兩個(gè)訓(xùn)練數(shù)據(jù)集使用分詞工具Iksegment(Java)進(jìn)行分詞。
3.2.2 特征提取
選擇文本中的特征詞,構(gòu)造詞袋模型,統(tǒng)計(jì)詞頻,形成詞頻矩陣。這里選用TF-IDF來計(jì)算詞苦衷最具有代表性的詞。
為了選出最能區(qū)分不同情感的分詞,因此這里對(duì)TF-IDF加入PMI點(diǎn)互信息來加強(qiáng)分詞關(guān)聯(lián)性。
pos表示文檔情感,word表示分詞。p(pos)*p(word)表示在pos情感同時(shí)出現(xiàn)word分詞的概率。
將data1和data2數(shù)據(jù)集個(gè)分為n份,其中n-1份作為訓(xùn)練集,一份測(cè)試集,本文選用pathon從庫sklearn中載入logisticRegression,svm進(jìn)行測(cè)試,可選用多種分類器進(jìn)行測(cè)試擇優(yōu)選用。
代碼如下:
1.train_set = data[1:n,:]
2.test_set = data[n:,:]
3.train = train_set[:,1:]
4.tag = train_set[:, 0]
5.
6.import sklearn
7.from sklearn.svm
8.from sklearn.linear_model import LogisticRegression 9.clf_lr = LogisticRegression()
10.clf_lr_res = clf_lr.fit(train,tag)
11.train_pred = clf_lr_res.predict(train)
12.test_pred = clf_lr_res.predict(test_set)...
通過測(cè)試集重復(fù)測(cè)試多次,使用交叉驗(yàn)證測(cè)試分類器的準(zhǔn)確度,比較不同分類器的準(zhǔn)確率,選出最優(yōu)分類器。
實(shí)驗(yàn)使用pc機(jī),內(nèi)存16g,硬盤250g。實(shí)驗(yàn)中的微博數(shù)據(jù)來自于新浪微博一萬條微博內(nèi)容。
圖1 權(quán)重選擇折線圖
圖2 算法效果對(duì)比圖
本實(shí)驗(yàn)選擇三種常用的分類器logistic Regression,樸素貝葉斯(Naive Bayes),支持向量機(jī)(SVM)等方法進(jìn)行測(cè)試,結(jié)果顯示如下:
1. GaussianNB `s accuracy is 0.760000
2. LogisticRegression`s accuracy is 0.810000
3. SVM`s accuracy is 0.8000
我們來評(píng)測(cè)分類器效果時(shí)使用準(zhǔn)確率(Accuracy),精確率(Precision)和召回率(Recall)來判斷。準(zhǔn)確率反映了分類器統(tǒng)對(duì)整個(gè)樣本的判定能力——能將正的判定為正負(fù)的判定為負(fù)。精確率反應(yīng)了被分類器判定的正例中真正的正例樣本的比重。召回率反應(yīng)了被正確判定的正例占總的正例的比重。公式如下:
(1)真正類(True Positive,TP):被模型預(yù)測(cè)為正類的正樣本。
(2)假正類(False Positive,FP):被模型預(yù)測(cè)為正類的負(fù)樣本。
(3)假負(fù)類(False Negative,FN):被模型預(yù)測(cè)為負(fù)類的正樣本。
(4)真負(fù)類(True Negative,TN):被模型預(yù)測(cè)為負(fù)類的負(fù)樣本。測(cè)試結(jié)果如圖2顯示。
由實(shí)驗(yàn)結(jié)果與三種機(jī)器學(xué)習(xí)單獨(dú)進(jìn)行對(duì)比顯示,融合語意詞典方法的機(jī)器學(xué)習(xí)分類器效果更勝一籌,而且適合在不同領(lǐng)域中的應(yīng)用,大量減少了人工標(biāo)注消耗。
通過實(shí)驗(yàn)結(jié)果可知,ben問題出的融合語義理解的機(jī)器學(xué)習(xí)情感分析算法在情感分析中具有一定的優(yōu)勢(shì)。本文針對(duì)現(xiàn)在單一的情感分析手段進(jìn)行了融合優(yōu)化,結(jié)合語意理解情感詞的強(qiáng)關(guān)聯(lián)性和機(jī)器學(xué)習(xí)分類算法的高效準(zhǔn)確性,從而改善了單一方法的應(yīng)用領(lǐng)域局限性。在后續(xù)的研究中,我們將針對(duì)分詞器效率優(yōu)化繼續(xù)更加深入的研究。
[1]蘇育挺,王慧晶.利用結(jié)構(gòu)化特征解決面向社交媒體信息情感分析的研究[J].小型微型計(jì)算機(jī)系統(tǒng),2017,(12):2625-2629.
[2]魏志遠(yuǎn),岳振軍.基于直覺模糊集的情感分析研究方法[J].通信技術(shù),2017,(12):2692-2697.
[3]伊爾夏提·吐爾貢,吾守爾·斯拉木,熱西旦木·吐爾洪太.基于有監(jiān)督分詞方法的維吾爾文情感分析[J].計(jì)算機(jī)工程與設(shè)計(jì),2017,(11):3143-3146,3178.
[4]魏廣順,吳開超.基于詞向量模型的情感分析[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2017,(3):182-186.
[5]劉新星,姬東鴻,任亞峰.基于神經(jīng)網(wǎng)絡(luò)模型的產(chǎn)品屬性情感分析[J].計(jì)算機(jī)應(yīng)用,2017,(6):1735-1740.
[6]錢凱雨,郭立鵬.融入習(xí)語信息的網(wǎng)絡(luò)評(píng)論情感分析研究[J].小型微型計(jì)算機(jī)系統(tǒng),2017,(6):1273-1277.
[7]王盛玉,曾碧卿,胡翩翩.基于卷積神經(jīng)網(wǎng)絡(luò)參數(shù)優(yōu)化的中文情感分析[J].計(jì)算機(jī)工程,2017,43(8):200-207.
[8]秦鋒,王恒,鄭嘯,等.基于上下文語境的微博情感分析[J].計(jì)算機(jī)工程,2017,(3):241-246,252.