計(jì)博婧,余靜瑩,陳 潔
1.安徽大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 安徽合肥,230601; 2.池州學(xué)院數(shù)學(xué)與計(jì)算機(jī)學(xué)院,安徽池州,247000
文本情感分析研究是對(duì)一段短文本(如評(píng)論等)進(jìn)行情感分析,將文本中包含的情感劃分為兩類:積極和消極。文本情感分析是自然語(yǔ)言處理的熱門(mén)研究之一,具有重要的實(shí)際意義。例如,互聯(lián)網(wǎng)上的各類社交媒體平臺(tái)facebook、微博、論壇及淘寶評(píng)論等均存在大量的關(guān)于事件、新聞、產(chǎn)品以及他人等有價(jià)值的評(píng)論信息,現(xiàn)實(shí)中很多人通常會(huì)通過(guò)閱讀這些評(píng)論信息作出決策。比如,人們?cè)谫?gòu)買一部手機(jī)前,通常會(huì)先去相關(guān)論壇上查看其他用戶的評(píng)論,再?zèng)Q定是否去下單購(gòu)買。
文本情感分析方法一般可分為早期基于詞典的方法、傳統(tǒng)的機(jī)器學(xué)習(xí)方法以及目前主流的深度學(xué)習(xí)方法等?;谠~典的方法為首先從文本中建立詞典,計(jì)算詞典中情感詞的權(quán)重來(lái)對(duì)整句或整段文本進(jìn)行情感極性的分析。Zhang等人對(duì)中文微博進(jìn)行主題偵察,建立和擴(kuò)展了新的情感詞典,再據(jù)此計(jì)算情感分?jǐn)?shù)進(jìn)行分類[1]。Cui等人運(yùn)用并行計(jì)算技術(shù)構(gòu)建情感詞典,提升了情感分析的速度[2]。這類方法很大程度上依賴于建立的情感詞典,沒(méi)有分析文本的語(yǔ)義信息及詞的上下文關(guān)系,通常效果一般。傳統(tǒng)的機(jī)器學(xué)習(xí)方法也廣泛應(yīng)用于文本情感極性的分析。周燎明等人基于bag of words模型將文本轉(zhuǎn)為向量,再應(yīng)用傳統(tǒng)的機(jī)器學(xué)習(xí)模型來(lái)進(jìn)行分類[3]。Pang等人綜合多種機(jī)器學(xué)習(xí)模型(NB,SVM,ME)進(jìn)行文本的情感分類[4]。Catal等構(gòu)建了一個(gè)利用多種機(jī)器學(xué)習(xí)算法進(jìn)行大多數(shù)投票的系統(tǒng),以便偵察TripAdvisor上假的酒店負(fù)面評(píng)論[5]。這類學(xué)習(xí)方法彌補(bǔ)第一類過(guò)于依賴詞典的缺點(diǎn),明顯提升了精確度。近年來(lái),深度學(xué)習(xí)技術(shù)的飛速發(fā)展,使其在文本情感分析中表現(xiàn)出更好的性能。RNN(Recurrent Neural Network)適合建模有序數(shù)據(jù),但因?yàn)楝F(xiàn)存的梯度消失問(wèn)題,一般RNN直接學(xué)習(xí)遠(yuǎn)程依賴性仍然有難度。與RNN相似,LSTM(Long Short-Term Memory)的輸入是談話序列里單詞的嵌入表示,LSTM通過(guò)遞歸轉(zhuǎn)變當(dāng)前詞向量與先前的隱藏輸出向量能夠映射詞序列和可變長(zhǎng)度到一個(gè)固定長(zhǎng)度向量[6]。LSTM網(wǎng)絡(luò)被用于自然語(yǔ)言處理的眾多領(lǐng)域,如外文翻譯、文本分類以及情感分析等,取得了很好的效果,因此選取LSTM模型作為本文預(yù)處理文本工具,將文本轉(zhuǎn)化為機(jī)器學(xué)習(xí)模型可直接處理的向量形式。
1982年,由Pawlak提出的粗糙集理論,采用上近似集和下近似集將論域分為三個(gè)域,姚一豫教授對(duì)這三個(gè)域進(jìn)行了合理解釋,將其稱為正域、負(fù)域和邊界域。其中屬于正域的樣本即為正類,屬于負(fù)域的樣本即為負(fù)類。而邊界域中的樣本則暫時(shí)沒(méi)法決策,需二次處理。由此理論所得模型可用于處理不確定性決策,即三支決策模型(Three-Way Decision model,TWD)[7]。三支決策模型相較于二支決策模型的優(yōu)點(diǎn)即體現(xiàn)在邊界域上。當(dāng)模糊數(shù)據(jù)無(wú)法決策時(shí),可暫存于邊界域中。當(dāng)獲得更多決策信息時(shí),可對(duì)邊界域進(jìn)行二次劃分,最終獲得二支的決策結(jié)果。三支決策理論越來(lái)越受到眾多學(xué)者的關(guān)注,各種有關(guān)三支決策的模型和應(yīng)用紛紛涌現(xiàn)。2017年,Xia等提出了猶豫模糊集的一些基本運(yùn)算和性質(zhì)[8]。Zhang等將三支決策和隨機(jī)森林相結(jié)合,建立了推薦系統(tǒng)[9]。Dai等提出了一種序列三支決策模型用于代價(jià)敏感的人臉識(shí)別問(wèn)題[10]。Sun等人利用三支決策與決策支持系統(tǒng)來(lái)解決應(yīng)急決策問(wèn)題[11]。Jia等設(shè)計(jì)了一個(gè)新的多準(zhǔn)則決策問(wèn)題的三支決策模型[12]。Liang利用粒度計(jì)算的思想,將損失函數(shù)集合表示為區(qū)間數(shù),建立了三支群決策模型[13]。Qian等人提出了一種基于多個(gè)不同閾值的廣義多粒序列三支決策模型[14]。Yang等人提出了一種基于粗糙模糊集的順序三支決策模型,并基于該模型提出了代價(jià)敏感粒度選擇優(yōu)化機(jī)制[15]。Yu等人討論了代價(jià)敏感屬性約簡(jiǎn)問(wèn)題[16]。Jia等人建立了基于粗糙數(shù)的三支規(guī)則群體決策模型,用于解決流感應(yīng)急管理問(wèn)題[17]。
三支決策理論認(rèn)為不承諾選擇也是一種決策,這與人類處理決策問(wèn)題的方法一致。另外,在實(shí)際分類問(wèn)題中,不同分類錯(cuò)誤所造成的誤分類損失往往是不相同的,例如,對(duì)于商品評(píng)論的分類,如果將積極的評(píng)價(jià)為差的等級(jí),會(huì)讓其他用戶少了一個(gè)良好的選擇對(duì)象,如果將消極的評(píng)價(jià)為優(yōu)良的等級(jí),這可能給其他用戶帶來(lái)巨大的損失。因此,在處理邊界域問(wèn)題中,根據(jù)不同的分類對(duì)象進(jìn)行代價(jià)敏感分析是很有效的手段。
本文提出一種基于鄰域信息的代價(jià)敏感三支決策情感分析模型(Emotion Analysis algorithm based on cost-sensitive Three-Way Decision model,EATWD)來(lái)識(shí)別文本中的情感極性。該算法在數(shù)據(jù)預(yù)處理時(shí)首先借助Word2Vec工具將文本詞向量化,并利用長(zhǎng)短期記憶網(wǎng)絡(luò)模型LSTM將詞向量轉(zhuǎn)換成64維特征向量,作為分類器的輸入。本文基于最小構(gòu)造性覆蓋的三支決策模型(MinCA)將數(shù)據(jù)劃分到正/負(fù)域和邊界域,針對(duì)邊界域中的數(shù)據(jù)采用基于鄰域信息的代價(jià)敏感方法進(jìn)一步劃分,從而獲得較高的精確度、更少的分類損失,同時(shí)減少高代價(jià)樣本誤分類數(shù)。
MinCA模型由張燕平教授[18]等于2013年提出,是依據(jù)樣本集自身的物理特征構(gòu)造覆蓋,形成三個(gè)域,無(wú)需參數(shù),避免了人為設(shè)置的相關(guān)參數(shù)對(duì)分類結(jié)果產(chǎn)生的影響。
假設(shè)給定一組訓(xùn)練樣本集合X={(x1,y1),(x2,y2),…(xq,yq)},X是n維歐氏空間的點(diǎn)集,共有q個(gè)樣本,分為w類,其中(xi,yj)表示樣本xi的類別屬性是yj,i=1,2,…,q,j=1,2,…,w。所有樣本均需歸一化處理后再構(gòu)造覆蓋。覆蓋是由某一樣本xk作為圓心再選取合適的半徑θ形成的球體,被球體包含的節(jié)點(diǎn)稱為被覆蓋。構(gòu)造覆蓋形成三支決策過(guò)程中選取覆蓋半徑的方法是計(jì)算圓心樣本與離圓心最近的異類點(diǎn),即這一樣本的類別與圓心樣本的類別不同,之間的距離d1。MinCA模型中構(gòu)造覆蓋的半徑是最小的,獲得的覆蓋中的樣本是最精確的。
MinCA模型根據(jù)樣本相似性特征和樣本的類別屬性等來(lái)構(gòu)造覆蓋C,覆蓋內(nèi)的樣本即為正域/負(fù)域,覆蓋外的樣本屬于邊界域。所有樣本訓(xùn)練完畢后將得到一組覆蓋集合
(3)其他,則x∈BND(C1)。
由此可以分析出,如果樣本被包含在覆蓋C1中,則劃分到正域;如果樣本被包含在覆蓋C2中,則劃分到負(fù)域;如果樣本沒(méi)有被任何覆蓋包含,則劃分到邊界域。
LSTM模型中引入3個(gè)門(mén),即輸入門(mén)、遺忘門(mén)和輸出門(mén),以及與隱藏狀態(tài)形狀相同的記憶細(xì)胞,從而實(shí)現(xiàn)對(duì)遠(yuǎn)距離信息的處理,LSTM記憶單元結(jié)構(gòu)如圖1所示。
圖1 LSTM示意圖
LSTM模型的工作過(guò)程分為4個(gè)階段:
(1)由遺忘門(mén)ft確定丟棄哪一部分的信息;
(3)將舊細(xì)胞狀態(tài)ct-1更新成新細(xì)胞狀態(tài)ct;
(4)輸出門(mén)ot和tanh層確定最終輸出值ht。
上述步驟[19]中公式如下。
遺忘門(mén):ft=σ(Wf×[ht-1,xt]+bf)
輸入門(mén):it=σ(Wi×[ht-1,xt]+bi)
輸出門(mén):ot=σ(Wo×[ht-1,xt]+bo)
最終輸出:ht=ot×tanh(ct)
其中,σ(z)是sigmoid函數(shù),經(jīng)過(guò)其作用后,輸出的函數(shù)值落在0~1之間,表示可以通過(guò)的量。
本文針對(duì)文本情感分類問(wèn)題,提出一種基于鄰域信息的代價(jià)敏感三支決策情感分析模型。
鑒于計(jì)算機(jī)無(wú)法直接處理文本,首先需要將文本轉(zhuǎn)為計(jì)算機(jī)可以處理的向量形式。本文采用Word2Vec工具和LSTM神經(jīng)網(wǎng)絡(luò)模型對(duì)原始文本進(jìn)行數(shù)據(jù)預(yù)處理,結(jié)果生成一個(gè)64維的特征向量。預(yù)處理的詳細(xì)步驟如下:
(1)首先運(yùn)用Jieba分詞工具對(duì)文本進(jìn)行分詞,再去除停用詞等;
(2)然后基于Word2Vec工具將分詞所得詞語(yǔ)向量化;
(3)最后將得到的詞向量依次送入LSTM模型,從而得到該文本的句子特征向量。
由于中文不同于英文具有現(xiàn)成的詞語(yǔ)分隔符,需要使用一定的分詞算法對(duì)其進(jìn)行預(yù)處理。詞向量化工作是自然語(yǔ)言處理任務(wù)中基本的處理步驟,為了便于計(jì)算機(jī)處理文本類型數(shù)據(jù),一般是將文本映射為向量空間中的點(diǎn),從而進(jìn)一步進(jìn)行后續(xù)處理。
本文利用MinCA模型對(duì)預(yù)處理得到的64維特征向量數(shù)據(jù)集進(jìn)行處理,將向量空間中的樣本點(diǎn)劃分為三個(gè)域。然后采用基于鄰域信息的算法思想進(jìn)一步對(duì)邊界域中的樣本進(jìn)行分類,目標(biāo)是在提高分類準(zhǔn)確率的同時(shí)降低分類損失?;卩徲蛐畔⒌乃惴ㄊ钦页鲈摌颖局車鶮個(gè)最近的鄰居,統(tǒng)計(jì)K個(gè)鄰居中最多屬于哪個(gè)類別,再將該樣本劃為同一類別。該算法利用了樣本之間的鄰居關(guān)系,充分考慮了樣本的局部性特征,可以最大程度地降低分類過(guò)程中的誤差。但是為了保證基于鄰域信息的代價(jià)敏感算法能達(dá)到較好的分類效果,在利用該算法進(jìn)行分類時(shí)必須采用一定的方法找出合適的K值。
表1 損失函數(shù)矩陣
Cost(dP|[xt])=lPPP(xt|POS(X))+lPNP(xt|NEG(X))
(1)
Cost(dN|[xt])=lNPP(xt|POS(X))+lNNP(xt|NEG(X))
(2)
(3)
(4)
基于上述描述,基于EATWD的具體步驟如下:
輸入:此處假定有文本集合,其中一句文本T為“新電影感覺(jué)還不錯(cuò)。”
輸出:類別y(T)。
Step1:利用Jieba分詞工具和Word2Vec工具將文本T分詞后的每個(gè)詞語(yǔ)表示成詞向量;再將得到的Embedding向量依次送入LSTM模型,得到表示文本T的64維句子特征向量。按照同樣的方式將文本數(shù)據(jù)集中的所有文本均轉(zhuǎn)換為特征向量,得到了向量空間中的點(diǎn)集X;假設(shè)訓(xùn)練文本向量為:
X={(x1,y1),(x2,y2),…(xq,yq)}
Step3:根據(jù)數(shù)據(jù)集自身的特征給定K值的取值區(qū)間為[a,b](a
Step4:針對(duì)lNP>lPN的數(shù)據(jù)集,若
將xt劃分到負(fù)域,否則xt被劃分到正域;針對(duì)lNP 則將xt劃分到正域,否則xt被劃分到負(fù)域。針對(duì)lNP=lPN的數(shù)據(jù)集,若Cost(dN|[xt])-Cost(dP|[xt])≥0,則將xt劃分到正域,否則xt被劃分到負(fù)域。劃分結(jié)束后,若xt被劃分到正域,則執(zhí)行POS=POS∪xt,Ct=Ct-xt;若xt被劃分到負(fù)域中,則執(zhí)行 NEG=NEG∪xt,Ct=Ct-xt。 Step5:若集合Ct非空,則轉(zhuǎn)Step4;若集合Ct為空且K Step6:計(jì)算不同K值下的文本分類損失,分類損失最小的K值即為選取的Kmax。測(cè)試時(shí),基于Kmax計(jì)算,對(duì)邊界域中的樣本再次決策,直到所有樣本均被分類,返回類別屬性。 為了驗(yàn)證本文提出的EATWD模型對(duì)情感分析問(wèn)題求解的有效性,選擇兩個(gè)語(yǔ)料庫(kù)進(jìn)行實(shí)驗(yàn)。英文語(yǔ)料庫(kù)polarity dataset v2.0選擇來(lái)自康奈爾大學(xué)的電影評(píng)論,包括已被標(biāo)記為積極的電影評(píng)論1 000篇和標(biāo)記為消極的電影評(píng)論1 000篇。中文語(yǔ)料庫(kù)ChnSentiCorp-Htl-ba-600,選自攜程網(wǎng)站上譚松波采集的酒店評(píng)論,其中包括積極、消極的酒店評(píng)論各3 000篇。詳情如表2所示。 表2 語(yǔ)料庫(kù)信息 為了保證實(shí)驗(yàn)結(jié)果的穩(wěn)定性,利用十交叉驗(yàn)證方法對(duì)文本數(shù)據(jù)集先后進(jìn)行10次訓(xùn)練,最后將所有結(jié)果取平均值作為最終實(shí)驗(yàn)結(jié)果。 在對(duì)邊界域樣本進(jìn)行分類時(shí),存在兩個(gè)參數(shù):誤分類損失函數(shù)和K值。誤分類損失函數(shù)lNP、lPN的大小關(guān)系是人為設(shè)置的。比如,對(duì)于酒店評(píng)論的分類,如果將優(yōu)秀的酒店評(píng)價(jià)為差的,會(huì)讓其他用戶少了一個(gè)良好的選擇對(duì)象,如果將服務(wù)水平差的酒店評(píng)價(jià)為優(yōu)良的等級(jí),這可能給其他用戶帶來(lái)巨大的損失。因此,對(duì)于酒店評(píng)論數(shù)據(jù)集來(lái)說(shuō),可以設(shè)置誤分類損失函數(shù)滿足lNP 圖2 測(cè)試分類損失 本文所提EATWD算法和NB、SVM、DS以及LSS等模型的分類方法進(jìn)行對(duì)比,評(píng)價(jià)指標(biāo)是分類的準(zhǔn)確率。所有實(shí)驗(yàn)對(duì)文檔的處理均是相同的,其對(duì)比結(jié)果如表3所示,其中部分結(jié)果來(lái)源于文獻(xiàn)[20-24]。 表3 不同方法在中英文語(yǔ)料庫(kù)中的準(zhǔn)確率 由表3可知,EATWD模型在這兩個(gè)語(yǔ)料庫(kù)上總體準(zhǔn)確率均超過(guò)80%,說(shuō)明該模型能夠從大量文本中提取到有用的信息。其次,通過(guò)與各種機(jī)器學(xué)習(xí)算法進(jìn)行對(duì)比,EATWD模型的準(zhǔn)確率更高,尤其在中文酒店評(píng)論數(shù)據(jù)集上的準(zhǔn)確率高達(dá)90%以上,充分說(shuō)明該模型在文本情感分類上的優(yōu)勢(shì)。 本文提出了一種基于鄰域信息的代價(jià)敏感三支決策情感分析模型,運(yùn)用Word2Vec工具和LSTM網(wǎng)絡(luò)模型對(duì)文本進(jìn)行預(yù)處理,形成64維特征向量,并采用最小構(gòu)造性覆蓋模型MinCA將樣本集劃分為正/負(fù)域和邊界域,最后利用基于鄰域信息的思想可以進(jìn)一步對(duì)邊界域樣本進(jìn)行劃分。實(shí)驗(yàn)證明,該方法可以獲得更高的分類性能,和較低的分類損失代價(jià)。然而,該分類算法需要明確不同類別的代價(jià)比例,針對(duì)復(fù)雜的分類問(wèn)題時(shí)間開(kāi)銷比較大,這也是下一步研究的重點(diǎn)方向。3 實(shí)驗(yàn)與結(jié)果
3.1 數(shù)據(jù)集
3.2 實(shí)驗(yàn)設(shè)置
3.3 結(jié)果對(duì)比
4 結(jié) 語(yǔ)