周俊鵬, 高 嶺,, 曹 瑞, 高全力, 鄭 杰, 王 海
(1. 西北大學(xué) 信息科學(xué)與技術(shù)學(xué)院 陜西 西安 710027; 2. 西安工程大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院 陜西 西安 710048)
用戶在電商平臺(tái)發(fā)表的評(píng)論往往帶有買家對(duì)商品的購(gòu)買體驗(yàn)和情感觀點(diǎn),具有篇幅簡(jiǎn)短、主題明確、情感濃厚的特點(diǎn).同時(shí),用戶因購(gòu)買相同商品并通過(guò)評(píng)論互動(dòng)而聚合形成群體用戶,這種群體用戶對(duì)商品的評(píng)論互動(dòng)具有很強(qiáng)的動(dòng)態(tài)性,使得群體用戶對(duì)商品的情感趨勢(shì)隨時(shí)間推移而發(fā)生變化.因此,高效地挖掘這些評(píng)論中潛在的情感觀點(diǎn),能夠分析群體用戶對(duì)商品的真實(shí)情感傾向,甚至預(yù)測(cè)下一時(shí)間段群體用戶的情感變化趨勢(shì)過(guò)程.對(duì)于商家而言,可以通過(guò)對(duì)群體用戶購(gòu)買商品后情感的持續(xù)追蹤,及時(shí)發(fā)現(xiàn)商品的缺陷與不足,進(jìn)而制訂更精準(zhǔn)的營(yíng)銷方案.情感分析,是人們對(duì)實(shí)體、事件及其屬性的意見、評(píng)價(jià)和情緒的計(jì)算研究[1].為了有效挖掘和分析群體用戶的情感變化趨勢(shì),需要利用情感分析技術(shù),從群體用戶的評(píng)論文本中獲取情感觀點(diǎn)等信息,將其轉(zhuǎn)化為結(jié)構(gòu)化數(shù)據(jù).文本情感分析的研究方法有基于機(jī)器學(xué)習(xí)的方法、基于情感詞典的計(jì)算方法和兩者相結(jié)合的研究方法.文獻(xiàn)[2]利用基于決策樹機(jī)制進(jìn)行特征選擇的MLP分類方法,對(duì)IMDb數(shù)據(jù)集進(jìn)行二分類,其準(zhǔn)確率提高了6.56%,但是該方法僅考慮了特征詞的排序而忽略了特征詞在文本評(píng)論中的情感特性.文獻(xiàn)[3]使用基于域適應(yīng)的方法結(jié)合支持向量機(jī)進(jìn)行情感分類研究,對(duì)不同語(yǔ)言和不同領(lǐng)域的數(shù)據(jù)進(jìn)行域適應(yīng)驗(yàn)證,其效果優(yōu)于域獨(dú)立的情感分類方法,但是該方法未考慮領(lǐng)域差異下句子的情感特征所帶來(lái)的分類誤差.文獻(xiàn)[4]在基于自動(dòng)編碼器的詞嵌入和詞匯功能上使用MLP模型進(jìn)行情感分析,其效果良好,但是該方法并未對(duì)詞的情感屬性進(jìn)行細(xì)粒度挖掘.文獻(xiàn)[5]利用目標(biāo)句子關(guān)注度機(jī)制來(lái)增強(qiáng)LSTM,并融合相關(guān)情感概念的常識(shí)性知識(shí)輔助情感分類,但是該模型忽略了句中非情感詞的影響.文獻(xiàn)[6]通過(guò)用戶情感分析方法計(jì)算用戶對(duì)商品的情感傾向,并考慮用戶之間的情感相似度進(jìn)行情感分析.上述這些方法僅僅針對(duì)單個(gè)用戶所發(fā)表的評(píng)論觀點(diǎn)進(jìn)行情感傾向性判斷,主要分為積極、中性、消極3種情感,或是更細(xì)粒度地分為喜愛(ài)、高興、詫異、憤怒、悲傷、恐懼和厭惡7種不同類別[7],并未將時(shí)間序列作為情感判別的依據(jù),難以準(zhǔn)確地判斷群體用戶對(duì)某一商品在時(shí)間維度下的情感變化趨勢(shì).
時(shí)序情感趨勢(shì)預(yù)測(cè)是根據(jù)歷史時(shí)間序列的情感傾向值及走勢(shì)來(lái)預(yù)測(cè)用戶未來(lái)的情感變化趨勢(shì).早期的時(shí)序趨勢(shì)預(yù)測(cè)方法主要應(yīng)用于產(chǎn)品銷量預(yù)測(cè)、市場(chǎng)價(jià)格預(yù)測(cè)及票房預(yù)測(cè)等領(lǐng)域[8].文獻(xiàn)[9]使用基于樸素貝葉斯的情感分類結(jié)果,利用LSTM模型對(duì)商品銷量進(jìn)行預(yù)測(cè).文獻(xiàn)[10]通過(guò)聯(lián)合情感主題模型提取消費(fèi)者對(duì)在線評(píng)論中潛在主題的情感傾向,結(jié)合時(shí)間序列進(jìn)行銷量預(yù)測(cè).文獻(xiàn)[11]利用情感時(shí)序分析方法對(duì)微博事件的公眾情感趨勢(shì)進(jìn)行預(yù)測(cè),分析不同時(shí)間段下用戶對(duì)微博話題的情感變化趨勢(shì).以上方法都是在基于用戶情感分析的基礎(chǔ)上,將時(shí)間序列分片段進(jìn)行處理,預(yù)測(cè)用戶的情感變化趨勢(shì).但這些方法僅僅從單一用戶的角度進(jìn)行考慮,并未給出群體用戶的情感變化趨勢(shì)過(guò)程,而商品質(zhì)量和銷量的評(píng)判依據(jù)更多來(lái)自于群體用戶的觀點(diǎn)態(tài)度.因此,本文利用不同時(shí)期群體用戶對(duì)商品的評(píng)論數(shù)據(jù),結(jié)合深度學(xué)習(xí)技術(shù),實(shí)現(xiàn)了一種基于商品評(píng)論的群體用戶情感趨勢(shì)預(yù)測(cè)方法.
基于商品評(píng)論的群體用戶情感趨勢(shì)預(yù)測(cè)方法,首先對(duì)原始評(píng)論集以少量人工標(biāo)注的方式進(jìn)行處理[12],同時(shí)引入時(shí)間變量,對(duì)用戶評(píng)論的文本集進(jìn)行細(xì)粒度情感特征選?。黄浯问褂萌后w用戶多維特征向量構(gòu)造合適的情感分類模型,計(jì)算群體用戶對(duì)商品的情感傾向值;最后融合評(píng)論時(shí)間和用戶情感傾向值構(gòu)建群體用戶時(shí)序情感傾向序列,并通過(guò)LSTM模型分析群體用戶對(duì)商品的情感變化,進(jìn)而預(yù)測(cè)下一時(shí)間段群體用戶對(duì)商品的情感趨勢(shì).
圖1 基于時(shí)間維度的文本特征結(jié)構(gòu)Fig.1 Textual feature structure based on time dimension
文本評(píng)論信息是一種非結(jié)構(gòu)化數(shù)據(jù),而情感分析的首要研究過(guò)程就是將這些非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行特征量化[13].假設(shè)群體中每個(gè)用戶對(duì)同一種商品構(gòu)建的評(píng)論集為C={c1,c2,…,cn},ci表示第i個(gè)用戶對(duì)商品的評(píng)論,而每條評(píng)論所對(duì)應(yīng)的時(shí)間樣本構(gòu)成的集合為T={t1,t2,…,tn},tj表示第j條評(píng)論的時(shí)間.由于時(shí)間維度下每個(gè)用戶對(duì)商品進(jìn)行的評(píng)論所持有的情感觀點(diǎn)不同,例如t時(shí)刻下評(píng)論用戶對(duì)商品的興趣、認(rèn)可度高,而t+1時(shí)刻下用戶的情感傾向可能就會(huì)發(fā)生變化.因此,對(duì)評(píng)論集按時(shí)間維度進(jìn)行處理,構(gòu)建了如圖1所示的基于時(shí)間維度的文本特征結(jié)構(gòu).其中F={w1,w2,…,wk|k∈N+}表示每一條評(píng)論在時(shí)間維度下的特征詞向量.研究過(guò)程需將每一個(gè)經(jīng)過(guò)處理的文本看作一系列詞組序列,且詞組序列中的每一個(gè)特征詞都會(huì)影響到該句的情感判斷[14].通過(guò)對(duì)每一個(gè)詞組序列特征詞w的特性進(jìn)行識(shí)別來(lái)提高情感分析的準(zhǔn)確性.
結(jié)合BosonNLP情感字典構(gòu)建了一種情感特征詞識(shí)別算法,以此來(lái)逐條識(shí)別文本評(píng)論中的情感特征詞,將情感特征詞作為評(píng)判句子特性的理論依據(jù),具體步驟如算法1所示.
算法1情感特征詞識(shí)別算法.
輸入:特征詞向量F;輸出:僅含有情感特征詞向量F′.
Step 1 逐次遍歷每一條特征詞向量F;
Step 2 提取每一個(gè)F中的特征詞w;
[1] 若提取成功,執(zhí)行Step 3;
[2] 若提取失敗,執(zhí)行Step 4;
Step 3 特征詞w是否命中情感字典:
[1] 若結(jié)果為True,將特征詞w加入到F′,執(zhí)行Step 2;
[2] 若結(jié)果為False,直接執(zhí)行Step 2;
Step 4 讀取下一條特征詞向量F,若讀取成功,繼續(xù)執(zhí)行Step 2; 否則跳出循環(huán),執(zhí)行結(jié)束.
除了情感特征詞識(shí)別之外,特征選取也是情感分析的重要環(huán)節(jié),有助于提高情感分類的準(zhǔn)確率.特征選取是一種按照詞語(yǔ)的重要性和頻率進(jìn)行排序并選擇的方法.其中詞頻-逆向文件頻率是一種統(tǒng)計(jì)學(xué)方法,用以表示詞語(yǔ)在文本信息中的重要程度,并給詞語(yǔ)標(biāo)記相應(yīng)的權(quán)重.該方法首先統(tǒng)計(jì)詞頻,逆向文件頻率用于丟棄文本中經(jīng)常出現(xiàn)的低值詞,將這些詞語(yǔ)以特征向量的形式輸入訓(xùn)練模型[15].通過(guò)對(duì)詞頻進(jìn)行分析排序,按照整個(gè)語(yǔ)料庫(kù)的詞頻序列構(gòu)建詞匯表,使用向量變換及擬合方法將計(jì)數(shù)矩陣轉(zhuǎn)換為詞頻-逆向文件頻率矩陣,以此得到群體用戶多維情感特征向量.
圖2 MLP網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 MLP network structure
情感分類一般采用支持向量機(jī)、樸素貝葉斯、決策樹以及MLP等方法處理.其步驟都是通過(guò)一定數(shù)量的訓(xùn)練數(shù)據(jù)訓(xùn)練合適的分類器,使用測(cè)試數(shù)據(jù)計(jì)算分類準(zhǔn)確率,選擇準(zhǔn)確率較高的分類模型進(jìn)行情感分類[16].本文使用MLP模型進(jìn)行情感分類,該模型包括輸入層、隱藏層和輸出層.輸入層用于特征向量的輸入,隱藏層表示知識(shí)處理,輸出層主要表示信息的決策判別結(jié)果.MLP網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,表示群體用戶多維情感特征向量在MLP模型上的訓(xùn)練結(jié)構(gòu).
定義輸入層的輸入向量為X={F′1,F′2,…,F′n}T,隱藏層的輸出向量為H={h1,h2,…,hp}T,輸出層的輸出向量為Y={y1,y2,…,yn}T,輸入層與隱藏層之間的權(quán)值向量為V={v1,v2,…,vp},隱藏層與輸出層之間的權(quán)值向量為L(zhǎng)={l1,l2,…,lq},f(·)是激活函數(shù).根據(jù)定義得到輸入層、隱藏層與輸出層的對(duì)應(yīng)關(guān)系式為
(1)
MLP模型的訓(xùn)練初始化神經(jīng)元為512個(gè),激活函數(shù)為Tanh函數(shù),隱藏層的激活函數(shù)設(shè)為4層ReLu函數(shù),輸出層的激活函數(shù)為Sigmoid函數(shù).
1.4.1構(gòu)建時(shí)序情感傾向序列 對(duì)于任意商品,如果將每類商品對(duì)應(yīng)的群體用戶情感傾向值按照評(píng)論時(shí)間的先后次序排列起來(lái),則任一類商品所對(duì)應(yīng)的群體用戶情感均可構(gòu)成一條情感時(shí)序序列:
(Sentimentθ|T,1≤θ≤n)=e1,e2,…,en,
(2)
式中:ei表示按時(shí)間排列后第i條情感傾向值.由于用戶評(píng)論存在隨機(jī)性,故評(píng)論時(shí)間并不是按照規(guī)律的周期性時(shí)間發(fā)起的,排列后的相鄰情感時(shí)序間的時(shí)間跨度不確定,不能夠直接被時(shí)間序列分析所使用.因此,采用前后均值法對(duì)缺失時(shí)間段情感值進(jìn)行處理,可以表示為et=(et-1+et+1)/2.
1.4.2基于LSTM的時(shí)序情感預(yù)測(cè)模型 LSTM模型能夠允許網(wǎng)絡(luò)變量學(xué)習(xí)訓(xùn)練多個(gè)步長(zhǎng)的時(shí)間序列,即使在輸入序列有噪聲的情況下,也不會(huì)丟失短時(shí)滯能力[9].在LSTM存儲(chǔ)單元處于t時(shí)刻下,隱藏層的激活函數(shù)計(jì)算定義為:Int和Outt分別表示LSTM神經(jīng)元結(jié)構(gòu)在t時(shí)刻下的輸入和輸出,φi、φo、φf(shuō)和φq分別表示輸入門、輸出門、遺忘門和塊輸入的輸入權(quán)重矩陣,Ri、Ro、Rf和Rq分別表示輸入門、輸出門、遺忘門和塊輸入的遞歸權(quán)重矩陣,bi、bo、bf和bq分別表示輸入門、輸出門、遺忘門和塊輸入的偏置.為了克服下一時(shí)刻每個(gè)門僅受當(dāng)前門的外部輸入控制,將長(zhǎng)時(shí)記憶ct-1接入每個(gè)門,ρi、ρo和ρf分別表示輸入門、輸出門和遺忘門的長(zhǎng)時(shí)記憶系數(shù),z(·)、g(·)表示激活函數(shù),?表示單元乘法,即向量對(duì)應(yīng)元素相乘.函數(shù)式可以表示為
it=z(φiInt+RiOutt-1+ρi?ct-1+bi),
(3)
ot=z(φoInt+RoOutt-1+ρo?ct+bo),
(4)
ft=z(φf(shuō)Int+RfOutt-1+ρf?ct-1+bf),
(5)
qt=g(φqInt+RqOutt-1+bq),
(6)
ct=it?Outt+ft?ct-1,
(7)
Outt=ot?Tanh(ct).
(8)
式(3)~(8)分別為輸入門、輸出門、遺忘門、塊輸入、單元狀態(tài)和塊輸出,代表LSTM隱藏層單元[17]的計(jì)算過(guò)程.基于LSTM的時(shí)序情感預(yù)測(cè)模型如圖3所示.圖中將模型按照時(shí)間順序展開,其中標(biāo)有LSTM模塊表示的是LSTM隱藏層,且每一行的LSTM模塊表示的是隨著時(shí)間遞增下的LSTM隱藏層.預(yù)測(cè)下一時(shí)刻t+1的用戶情感值et+1,可認(rèn)為預(yù)測(cè)形式是對(duì)輸出序列自身的后向傳播,表示為
χt+δ=F(χt,χt-1,χt-2,…,χt-σ),
(9)
式中:δ是預(yù)測(cè)步長(zhǎng);χt是t時(shí)刻下的情感值;σ表示滑動(dòng)窗口大?。捎跁r(shí)序情感傾向序列是單變量數(shù)據(jù),故每個(gè)時(shí)刻只能觀測(cè)到一個(gè)單獨(dú)的情感值.因此,利用LSTM模型進(jìn)行參數(shù)訓(xùn)練,需要對(duì)滑動(dòng)窗口、預(yù)測(cè)步長(zhǎng)等參數(shù)進(jìn)行調(diào)優(yōu).同時(shí),在模型訓(xùn)練過(guò)程中使用交叉熵最小化損失函數(shù),表示為
(10)
式中:χi為實(shí)際樣本;χ′i為預(yù)測(cè)樣本;η‖μ‖2是正則項(xiàng).在此基礎(chǔ)上對(duì)模型進(jìn)行訓(xùn)練調(diào)優(yōu),選擇最優(yōu)化模型,分析連續(xù)時(shí)間段下群體用戶的情感變化,對(duì)其進(jìn)行情感趨勢(shì)曲線評(píng)估,最終預(yù)測(cè)下一時(shí)間段群體用戶對(duì)商品的情感變化趨勢(shì).
圖3 基于LSTM的時(shí)序情感預(yù)測(cè)模型Fig.3 LSTM-based time series sentiment prediction model
通過(guò)網(wǎng)絡(luò)爬蟲獲取了京東平臺(tái)上的手機(jī)評(píng)論信息,時(shí)間范圍為2017年6月至10月,選取屬性主要包括商品id、用戶評(píng)分、評(píng)論時(shí)間和評(píng)論信息,最終獲得31 011條評(píng)論數(shù)據(jù).通過(guò)人為標(biāo)注及評(píng)分策略方式對(duì)部分評(píng)論集進(jìn)行情感標(biāo)注[18],規(guī)定評(píng)分≥3分為Positive標(biāo)簽,評(píng)分<3分為Negative標(biāo)簽.考慮到非文字類字符評(píng)論的影響,對(duì)其進(jìn)行抽取、過(guò)濾等數(shù)據(jù)處理,實(shí)際數(shù)據(jù)集規(guī)模為16 382條.隨機(jī)抽取數(shù)據(jù)集,情感分類訓(xùn)練集為5 000條,測(cè)試集為3 000條,其余數(shù)據(jù)用作時(shí)序情感趨勢(shì)預(yù)測(cè)的驗(yàn)證實(shí)驗(yàn).
選取支持向量機(jī)、決策樹、樸素貝葉斯、MLP 4種分類模型,通過(guò)受試者工作特征(ROC)評(píng)估指標(biāo)和模型準(zhǔn)確度的對(duì)比,分析了這4種不同分類器的性能.如圖4所示,將4種分類模型對(duì)應(yīng)的假正率和真正率結(jié)果繪制成ROC曲線.結(jié)果表明,同一類型數(shù)據(jù)集在4種模型上所取得的效果有一定差異,支持向量機(jī)、決策樹、樸素貝葉斯、MLP模型的準(zhǔn)確度分別為73.8%、71.9%、71.1%、75.9%.從4種模型的分類結(jié)果可以看出,MLP模型在情感分類中的性能最好,能夠達(dá)到實(shí)驗(yàn)預(yù)期效果,可用于后續(xù)情感趨勢(shì)預(yù)測(cè)任務(wù).
在情感分類實(shí)驗(yàn)基礎(chǔ)上,對(duì)所提出的LSTM模型進(jìn)行驗(yàn)證.模型參數(shù)優(yōu)化對(duì)比結(jié)果如圖5所示.實(shí)驗(yàn)通過(guò)設(shè)置不同的滑動(dòng)窗口大小,將訓(xùn)練步長(zhǎng)由500遞增至4 000,進(jìn)行模型預(yù)測(cè)損失評(píng)估.結(jié)果表明,在同等步長(zhǎng)下,滑動(dòng)窗口越小,預(yù)測(cè)模型損失值越小;當(dāng)滑動(dòng)窗口大小相同時(shí),損失值與訓(xùn)練步長(zhǎng)呈反比趨勢(shì).當(dāng)滑動(dòng)窗口大小為50,步長(zhǎng)為4 000時(shí),預(yù)測(cè)模型損失值最?。疄榱蓑?yàn)證本文LSTM模型在不同數(shù)據(jù)集上都能取得較好的預(yù)測(cè)結(jié)果,實(shí)驗(yàn)對(duì)3類不同商品隨機(jī)選取了250組用戶情感數(shù)據(jù)集,按照時(shí)間順序選取前200組數(shù)據(jù)作為訓(xùn)練集,后50組數(shù)據(jù)作為測(cè)試集,預(yù)測(cè)步長(zhǎng)為50.同時(shí),引入自回歸(AR)模型與LSTM模型進(jìn)行時(shí)序情感趨勢(shì)預(yù)測(cè)比較[8],結(jié)果如圖6所示.可以看出,AR模型的評(píng)估曲線與實(shí)際曲線存在較大差異,預(yù)測(cè)結(jié)果也具有一定的偏差,而LSTM模型的評(píng)估曲線和預(yù)測(cè)效果相對(duì)更好.
為了進(jìn)一步分析AR模型和LSTM模型在不同數(shù)據(jù)集的預(yù)測(cè)精確度,利用均方差(MSE)評(píng)估指標(biāo)[9]對(duì)兩種模型進(jìn)行比較,度量方法如下:
(11)
圖4 4種分類模型的ROC曲線對(duì)比Fig.4 ROC curve comparison on four classification models
圖5 模型參數(shù)優(yōu)化對(duì)比Fig.5 Comparison of model parameters optimization
圖6 AR模型與LSTM模型時(shí)序情感趨勢(shì)預(yù)測(cè)結(jié)果對(duì)比Fig.6 Prediction results comparison of time series sentiment trend between AR and LSTM models
(12)
式中:MSEi表示i模型的MSE值;MSEj表示j模型的MSE值. 在MSEi≤MSEj情況下,Bij表示MSEi優(yōu)于MSEj的百分比.
表1為3類商品預(yù)測(cè)指標(biāo)評(píng)估結(jié)果.其中MSEA和MSEL分別表示AR模型和LSTM模型的MSE值.可以看出,LSTM模型所對(duì)應(yīng)3類商品數(shù)據(jù)集的MSE值相對(duì)更?。瓸AL反映了兩種模型MSE的降低幅度,相對(duì)AR模型,LSTM模型的MSE平均降低了79.06%.
上述實(shí)驗(yàn)分析表明,基于LSTM的時(shí)序情感趨勢(shì)預(yù)測(cè)模型可以較準(zhǔn)確地預(yù)測(cè)群體用戶情感變化趨勢(shì).評(píng)估曲線存在少量誤差,導(dǎo)致預(yù)測(cè)結(jié)果具有一些偏差,這主要是由于連續(xù)時(shí)間段群體用戶的情感值保持一致,致使情感波動(dòng)會(huì)出現(xiàn)長(zhǎng)時(shí)間持平狀態(tài),從而使得評(píng)估曲線和預(yù)測(cè)結(jié)果有少量偏差.
表1 3類商品預(yù)測(cè)指標(biāo)評(píng)估結(jié)果Tab.1 Evaluation results of three kinds of commodity forecasting indicators
為輔助商家制訂更精準(zhǔn)的銷售決策方案,本文結(jié)合情感分析和時(shí)序預(yù)測(cè)方法進(jìn)行群體用戶情感趨勢(shì)預(yù)測(cè),發(fā)現(xiàn)用戶對(duì)商品的情感變化存在較大波動(dòng).雖然采用了一定的平滑手段,但是用戶對(duì)于商品的情感可能還與情感特征提取及用戶分類有關(guān).同時(shí),在短文本的處理中,特征提取仍然是一個(gè)挑戰(zhàn).