張 璞,李 逍,劉 暢
(重慶郵電大學 計算機科學與技術學院,重慶 400065)
情感分類作為情感分析的一項關鍵研究任務[1],受到研究人員的廣泛關注。已有研究中,多數(shù)學者的研究集中于文檔級及句子級的情感分類[2-9]。作為細粒度情感分析領域的一項研究任務,方面級情感分類的目標是確定句子中所描述對象的特定方面的情感極性。已有的方面級情感分類研究中,不少學者采用基于情感詞典的方法。王巍[10]通過構建修飾詞表以及高頻搭配庫對評價單元進行情感分類。該類方法的核心思想是“詞典+規(guī)則”,即根據(jù)情感詞典匹配評價短語中的情感詞,并考慮其中的否定詞、修飾詞以及搭配的評價對象,設計相應的規(guī)則進行情感分類,但由于網(wǎng)絡詞匯的不斷更新、語言表達的方式也復雜多變,該類方法難以處理新領域特有的語言現(xiàn)象。還有學者使用機器學習和深度學習方法來進行方面級情感分類。Mohammad Al-Smadi等[11]利用樸素貝葉斯、貝葉斯網(wǎng)絡、決策樹、k-最近鄰(kNN)、支持向量機(SVM)等機器學習方法來構建分類器,進行方面級情感分類。曾義夫等[12]提出一種基于雙記憶注意力機制的方面級情感分類模型來判斷評論中評價對象的情感傾向??傮w而言,基于機器學習的方法一定程度上彌補了情感詞典方法的不足,但需要大量時間和精力進行數(shù)據(jù)標注,且特征的提取和分類器的選取將直接影響到分類性能。
本文提出了一種基于情感詞匯與機器學習的方面級情感分類方法,在數(shù)據(jù)集上的微平均值和宏平均值分別達到89.61%和89.27%,相比4種傳統(tǒng)機器學習方法中表現(xiàn)最好的KNN方法分別提高了3.15%和3.66%。
方面描述的是評價對象的某一側(cè)面,通常表示為評價對象的屬性,方面級情感分類任務主要針對由評價對象的某個特定方面與其評價詞組成的評價搭配進行情感分類。例如“華為榮耀手機的做工好,顏色炫”這一評論語句中,評價對象為華為榮耀手機,所涉及方面為做工和顏色,評價搭配包括<做工,好>和<顏色,炫>,相應的方面級情感分類結果均為積極。通常,評價搭配可分為以下幾種:第一種中,評價詞的情感傾向與評價對象無關,如評價搭配<手感,好>和<信號,好>等,其中的評價詞語“好”始終表達正向的情感;第二種評價搭配的情感傾向由評價對象和評價詞語共同決定,如<性價比,高>的情感傾向為正向,<價格,高>的情感傾向為負向,評價詞“高”對不同的評價對象表現(xiàn)出的情感傾向也不同;還有少部分評價搭配的評價詞沒有明顯的情感詞,多表現(xiàn)為動詞或動詞短語的形式,如<電池,每天需要充電>,這一類評價搭配需要對其進行深層次理解才能判斷其情感傾向。本文的情感傾向類別包括正向、中性和負向這3類。
Word2Vec是Google開源的一款詞向量表示模型的學習工具,其基本思想是將文本中的每個詞映射為一個固定維度的向量,將詞與詞之間的語義關系轉(zhuǎn)化為它們對應的詞向量之間的距離。Word2Vec主要有CBOW和Skip-Gram模型。對于某個詞w(t),如取上下文窗口大小為k,CBOW模型根據(jù)w(t-k) 至w(t+k) 的詞向量來預測當前詞w(t) 的詞向量;Skip-Gram模型則利用當前詞w(t) 和上下文窗口k來預測w(t-k) 至w(t+k) 的詞向量。本文使用Word2Vec訓練詞向量模型來獲得文本的分布式表示。
互信息(MI)主要用來計算兩個隨機變量之間的相關性。對于某個特征項i和某個類別c,它們的互信息MI(i,c) 定義如式(1)所示
(1)
其中,N(i,c) 表示屬于類別c的文檔集合中出現(xiàn)特征項i的文檔數(shù)量;N(i) 表示數(shù)據(jù)集中出現(xiàn)特征項i的文檔數(shù)量;N(c) 表示屬于類別c的文檔數(shù)量;N為數(shù)據(jù)集中的文檔總數(shù)量。
本文的方面級情感分類方法的流程如圖1所示。
圖1 本文方法的流程
2.1.1 傳統(tǒng)的情感詞典分類方法
情感詞典通常是指具有褒義或貶義傾向的詞語集合,傳統(tǒng)的基于情感詞典的分類方法在構建和擴充情感詞典之后,還需要考慮情感詞周圍的否定詞、修飾詞以及搭配的評價對象,對其制定相應的規(guī)則進情感分類,該方法分類效果的好壞取決于情感詞典和規(guī)則是否足夠完善。如產(chǎn)品的評價對象“電池”,與之搭配的評價詞“耐用”屬于褒義詞,但評價搭配<電池,不耐用>的情感傾向為負向,這是由于包含了否定詞“不”,使得該評價搭配表現(xiàn)的情感傾向與情感詞典的判斷結果完全相反;再如評價搭配<電池,不是特別耐用>和<電池,不是很耐用>的情感傾向均表現(xiàn)為中性,這是由于否定詞“不是”與描述情感強度的修飾詞“特別”或“很”組合之后,整體表達的負向情感沒有那么強烈、肯定,但與正向情感又有較大差距,所以將這兩個評價搭配的情感傾向判定為中性;而對于評價搭配<電池,特別不耐用>和<電池,很不耐用>,同樣存在著否定詞“不”、表示情感強度的修飾詞“特別”和“很”,它們表現(xiàn)出來的情感傾向卻都是負向的。
因此,僅通過情感詞典和制定的相關規(guī)則對評價搭配進行正向、中性和負向的情感分類,由于自然語言表達的多樣性導致規(guī)則的完整度難以達到理想狀態(tài)。
2.1.2 本文的情感詞匯分類方法
通過對已有標注的評價搭配進行觀察,發(fā)現(xiàn)大部分情感傾向為中性的評價搭配中的評價短語往往包含了特定的評價詞或修飾詞。如評價搭配<屏幕,有點小>,<質(zhì)量,還行>和<質(zhì)量,一般>等都表現(xiàn)為中性情感,其中的評價短語包含了“有點”和“還”等特定的修飾詞或“一般”等特定的評價詞,這些特定的詞與評價短語中的其它詞或不同的評價對象進行搭配之后,表現(xiàn)的情感傾向為中性。對評價搭配中這些特定詞進行單獨考慮有利于提高情感分類效果。為方便敘述起見,本文將選取的極性評價詞及修飾詞統(tǒng)稱為情感詞匯。通過人工選取少量情感傾向與評價對象無關的正向、中性、負向情感詞組成情感詞匯,并根據(jù)以下策略判斷評價搭配的情感傾向:正向和負向情感詞與評價搭配中完整的評價短語進行完全匹配,如評價搭配<運行,流暢>可匹配為正向情感;對于情感詞匯中的中性修飾詞,則只需要情感詞匹配部分評價短語即可,如評價搭配<外表,還不錯>和<性能,還可以>,它們的評價短語中有部分詞能夠成功匹配情感詞匯中的中性修飾詞“還”,因而傾向性判定為中性。本文的部分情感詞匯見表1。
表1 部分情感詞匯
對沒有成功匹配2.1.2節(jié)中情感詞匯的評價搭配,本文使用Word2Vec對其進行詞向量表示,然后利用傳統(tǒng)機器學習分類方法計算評價搭配屬于各類別的概率,并通過計算每個詞的互信息得到評價短語的總互信息,利用總互信息中各類別的占比對基礎的機器學習分類器得到的各類別分類概率進行加權,然后選擇加權后概率最大的類別作為該評價搭配的情感類別。
2.2.1 基礎的機器學習分類器
傳統(tǒng)的機器學習分類方法中,邏輯回歸(LR)和支持向量機(SVM)分類器主要用于二分類,對于三分類問題通常需要使用一對一或一對多的方法對其進行改進,但這兩種分類器在本文的測試數(shù)據(jù)中分類效果并不理想,沒有正確判斷情感傾向的評價搭配分別占總測試數(shù)據(jù)的16.51%和20.41%;而樸素貝葉斯(NB)分類器對測試數(shù)據(jù)分類錯誤的比例達到23.93%。
特別地,K-最鄰近法(KNN)分類器在分類過程中選擇最近的K個樣本中投票最多的類別作為待預測樣本所屬類別的決策結果,在處理二分類問題時只要將K值選取為奇數(shù)就能保證其中一個類別的投票數(shù)多于另一個類別,從而達到分類目的,但在處理本文的三分類問題時,可能存在某兩個或3個類別投票數(shù)相等的情況,這種情況下KNN分類器往往將第一個出現(xiàn)的類別作為決策結果,以至于對分類效果產(chǎn)生影響。通過分析結果得知,KNN中由于投票數(shù)相等導致的錯誤占所有分類錯誤的15.07%,而在測試數(shù)據(jù)中所有的出現(xiàn)兩個類別投票數(shù)相等的評價搭配中,以第一個出現(xiàn)的類別作為決策結果導致分類錯誤的占47.83%,接近50%的隨機選擇結果。
本文將KNN分類器中各類別投票數(shù)占K值的比例作為該類別的分類概率,例如K值選取為5時對評價搭配<電池,不怎么好>和<包裝,太簡單>進行所屬類別預測,得到的各類別分類概率見表2。
表2 KNN的分類概率
從表2中可以看出,KNN分類器將評價搭配<電池,不怎么好>的情感傾向預測為中性和負向的可能性相同,將評價搭配<包裝,太簡單>的情感傾向預測為正向和負向的概率也相等,這種在兩個分類概率相同的類別中隨機選擇的情況必然會在一定程度上影響到分類結果的準確性。因此,需要進一步對基礎分類器的分類概率進行一定的權重計算,以提升分類效果。
2.2.2 融入互信息的機器學習分類器
一方面,三分類過程中,LR、SVM、NB等分類器分類效果有待提高;另一方面,KNN分類器出現(xiàn)某兩個或3個類別的分類概率相等而進行隨機選擇會導致分類效果降低。針對這些問題,本文將互信息中各類別的占比作為機器學習分類概率的權重進行情感分類。首先利用哈爾濱工業(yè)大學研發(fā)的語言技術平臺(LTP)的分詞模塊對評價對象和評價短語進行分詞處理,然后根據(jù)式(1)對評價短語中的每個詞分別計算其與正向、中性和負向3個類別的互信息,然后通過式(2)得到整個評價短語分別對3個類別的總互信息。特別地,其中互信息值的負數(shù)本文將其設置為0
(2)
式中:評價短語s表示為 {w1,w2,…,wn},類別集合為C={-1,0,1}。 對于輸入的測試數(shù)據(jù),首先通過機器學習分類器得到該評價搭配分別屬于正向、中性和負向的概率集合P={p1,p2,p3},然后根據(jù)評價短語的總互信息中各類別的占比分別對基礎分類器得到的概率進行加權,如式(3)所示,最后選擇加權計算之后概率最大的類別作為該評價搭配的情感傾向分類結果
(3)
式中:pi表示基礎分類器預測評價搭配屬于類別ci的概率值,MI(s,ci) 表示評價短語s對于類別ci的總互信息,若3個類別的總互信息都為0,則將3個類別的權重都分配為1,否則根據(jù)總互信息中各類別的占比進行權重分配。以KNN分類器為例,其加權前后的概率見表3。
表3 互信息加權前后的概率值
本文方法的完整算法如下:
輸入:測試評價搭配集合D={d1,d2,…,dn};
輸出:各評價搭配所屬情感類別的集合R={r1,r2,…,rn},其中ri的取值為正向、中性或負向;
步驟1 構建情感詞匯集合E;
步驟2 計算訓練集中評價短語的每個詞分別對于3個類別的互信息MI(w)={MI(w,c1),MI(w,c2),MI(w,c3)},得到所有詞的互信息M={MI(w1),MI(w2),…,MI(wm)};
步驟3 若評價搭配能夠匹配情感詞匯E,則直接判斷評價搭配的情感傾向,否則進入步驟4;
步驟4 將Word2Vec訓練得到的評價搭配詞向量輸入到LR、SVM、NB和KNN等基礎機器學習分類器中進行分類,得到評價搭配分別屬于3個類別的概率集合P={p1,p2,p3},根據(jù)集合M和式(2)得到評價搭配中評價短語s對各類別的總互信息集合MI={MI(s,c1),MI(s,c2),MI(s,c3)},利用式(3)對集合P中的分類概率進行加權,選取加權后概率最大的類別作為情感傾向類別,加入到R集合中;
步驟5 對每個評價搭配進行步驟3和步驟4,直到測試數(shù)據(jù)全部處理完。
3.1.1 實驗數(shù)據(jù)
本文的實驗數(shù)據(jù)集為自行爬取的3000條京東商城手機評論數(shù)據(jù),利用gensim工具包中的Word2Vec模型使用默認參數(shù)對所有的評論數(shù)據(jù)進行訓練得到100維的詞向量。對其中的1027條評論中進行人工標注得到1800個評價搭配及其情感傾向,其中正向評價搭配682個,中性評價搭配500個,負向評價搭配618個。使用scikit-learn工具包中的LR、SVM、NB和KNN等作為基礎的機器學習分類器,選取70%已有標注的評價搭配作為訓練集,剩下的30%作為測試集。
3.1.2 評價標準
本文分別對正向、中性和負向情感的分類結果進行準確率、召回率和F1值計算,然后對3個類別分別計算宏平均值和微平均值作為分類器整體性能的評價標準。
為了驗證本文提出的針對評價搭配情感分類方法的有效性,選取了4種基礎的機器學習分類器作為對比實驗,將其直接對已有標注的評價搭配進行訓練得到分類模型,包括LR、SVM、NB和KNN等分類器,其中KNN分類器的K值選取為5時的分類效果最好。
3.3.1 實驗結果
本文實驗所得到的正向、中性和負向情感分類的準確率、召回率和F1值的實驗結果分別見表4~表6,整體分類效果的宏平均值和微平均值見表7。其中,LR、SVM、NB、KNN分別代表4個傳統(tǒng)機器學習分類方法,“LR(EL&MI)”分類方法則表示本文方法以“LR”作為機器學習分類器,在此基礎上結合了情感詞匯與互信息(簡稱 EL&MI)而得到的方法,其它分類方法的表示類似。
3.3.2 實驗分析
從表7的實驗結果可以看出,對3類別情感分類問題,本文提出的方法和4種傳統(tǒng)機器學習方法相比較,宏平均值和微平均值都取得了較好的提升效果,其中最高的宏平均值和微平均值分別達到89.27%和89.61%。
表4 正向情感的分類結果
表5 中性情感的分類結果
表6 負向情感的分類結果
表7 宏平均值與微平均值實驗結果
從表5的實驗結果可以明顯發(fā)現(xiàn),4種基礎的機器學習分類器對中性情感的分類效果都不太好,其中SVM分類器的召回率只有50%,NB分類器的準確率和F1值分別只有66.41%和61.15%,這個結果也驗證了本文1.1節(jié)中提到的中性情感的判斷與正向、負向樣情感的區(qū)分度不夠明顯;而利用本文提出方法,SVM(EL&MI)分類器的準確率略有降低,但召回率提升了32.67%,F(xiàn)1值提升了19.7%,NB(EL&MI)分類器的準確率、召回率和F1值分別提升了13.98%、25.33%和20.02%,另外LR(EL&MI)和KNN(EL&MI)分類器的F1值分別提高了10.5%和7.74%。這個實驗結果充分驗證了本文所提出的方法對中性情感分類有顯著的提升效果。
從表4和表6的實驗結果能夠看出,基礎的機器學習分類器對正向和負向情感的分類結果都好于表5的中性情感分類結果。而基于4種分類器的本文方法則對正向情感分類的F1值分別提高了3.33%、7.8%、9.06%和3.25%,且都達到90%以上,說明了本文方法對正向情感分類的有效性;負向情感的實驗結果中,除了KNN(EL&MI)分類器的F1值幾乎保持不變外,LR(EL&MI)、SVM(EL&MI)、NB(EL&MI)等其它3個分類器的F1值分別提高了1.22%、3.65和3.01%,這也表明了本文方法對負向情感分類的有效性。
為了驗證本文提出的情感詞匯和利用互信息對基礎分類器的分類概率進行加權的這兩種方法各自的有效性,本文選取4種基礎機器學習分類器中取得最好效果的KNN分類器來另外設計了兩組對比實驗:只加入情感詞匯(簡稱EL)和只加入互信息進行加權(簡稱MI),其實驗結果見表8。
表8 KNN上分別加入EL和MI的分類結果
從表8中的實驗結果可以看出,3種改進方法都提升了正向和中性情感的分類效果,加入情感詞匯的方法KNN(EL)使負向情感分類的F1值提高了0.93%;方法KNN(EL)和KNN(MI)與KNN相比,在宏平均值上分別提升了1.9%和2.05%,而同時加入EL和MI之后,KNN(EL&MI)的宏平均值相比于KNN提高了3.66%,微平均值提高了3.15%。以上結果表明了本文方法對提升評價搭配情感分類性能的有效性。
本文提出一種基于情感詞匯與機器學習的方法進行方面級情感分類,首先通過選取少量情感傾向不受評價對象影響的正向、中性和負向情感詞匯,對于匹配到情感詞匯的評價短語直接判斷情感傾向,否則通過計算每個詞的互信息得到評價短語的總互信息,然后利用總互信息值中各類別的占比來對基礎的機器學習分類器得到的各類別分類概率進行加權,再選擇加權后概率最大的類別作為該評價搭配的情感傾向,以此得到評論語句中每個評價搭配的情感類別,實驗結果表明了本文方法的有效性。
近年來,深度學習技術在計算機視覺、自然語言處理等諸多領域內(nèi)不斷取得新的進展,越來越多的研究者開始應用長短時記憶網(wǎng)絡、門限神經(jīng)網(wǎng)絡、遞歸神經(jīng)網(wǎng)絡、注意力機制等深度學習方法來構建方面級情感分類模型。因此,下一步工作中,將考慮利用更多的評價搭配上下文信息以及情感知識,構建深度學習模型來進一步提升方面級情感分類性能。