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