NLP演算法專家:全面解讀文本情感分析任務

  • 2019 年 10 月 6 日
  • 筆記

機器之心專欄

作者:李明磊

作為 NLP 領域重要的研究方向之一,情感分析在實際業務場景中存在巨大的應用價值。在此文中,華為雲 NLP 演算法專家李明磊為我們介紹了情感分析的概念以及華為雲在情感分析方面的實踐和進展。

基本概念

為什麼:隨著移動互聯網的普及,網民已經習慣於在網路上表達意見和建議,比如電商網站上對商品的評價、社交媒體中對品牌、產品、政策的評價等等。這些評價中都蘊含著巨大的商業價值。比如某品牌公司可以分析社交媒體上廣大民眾對該品牌的評價,如果負面評價忽然增多,就可以快速採取相應的行動。而這種正負面評價的分析就是情感分析的主要應用場景。

是什麼:文本情感分析旨在分析出文本中針對某個對象的評價的正負面,比如「華為手機非常好」就是一個正面評價。情感分析主要有五個要素,(entity/實體,aspect/屬性,opinion/觀點,holder/觀點持有者,time/時間),其中實體和屬性合併稱為評價對象 (target)。情感分析的目標就是從非結構化的文本評論中抽取出這五個要素。

圖 1 情感分析五要素

舉例如下圖:

圖 2 情感分析五要素例子

上例中左側為非結構化的評論文本,右側為情感分析模型分析出的五個要素中的四個(不包括時間)。其中實體「華為手機」和屬性「拍照」合併起來可以作為評價對象。評價對象又可細分為評價對象詞抽取和評價對象類別識別。如實體可以是實體詞和實體類別,實體詞可以是「餐館」、「飯店」、「路邊攤」,而實體類別是「飯店」;屬性可以是屬性詞和屬性類別,如屬性詞可以是「水煮牛肉」、「三文魚」等,都對應了屬性類別「食物」。實體類別和屬性類別相當於是對實體詞和屬性詞的一層抽象和歸類,是一對多的關係。詞和類別分別對應了不同的任務。觀點的取值範圍一般是 {正面,負面,中性}。類似的,可以把觀點看做是對描述詞的抽象和歸類,如「好看」歸為「正面」。

任務類型

當前研究中一般都不考慮情感分析五要素中的觀點持有者和時間,故後文中的討論都不考慮這兩個因素。根據對剩下三個要素的簡化,當前情感分析的主要任務包括可按照圖 3 所示:詞級別情感分析、句子/文檔級情感分析、目標級情感分析。

圖 3 情感分析任務體系

其中詞級別和句子級別的分析對象分別是一個詞和整個句子的情感正負向,不區分句子中具體的目標,如實體或屬性,相當於忽略了五要素中的實體和屬性這兩個要素。詞級別情感分析,即情感詞典構建,研究的是如何給詞賦予情感資訊,如「生日」對應的情感標籤是「正面」。句子級/篇章級情感分析研究的是如何給整個句子或篇章打情感標籤,如「今天天氣非常好」對應的情感標籤是「正面」。

而目標級情感分析是考慮了具體的目標,該目標可以是實體、某個實體的屬性或實體加屬性的組合。具體可分為三種:Target-grounded aspect based sentiment analysis (TG-ABSA), Target no aspect based sentiment analysis (TN-ABSA), Target aspect based sentiment analysis (T-ABSA). 其中 TG-ABSA 的分析對象是給定某一個實體的情況下該實體給定屬性集合下的各個屬性的情感分析,如圖 4 中的實體是汽車,屬性集合是動力、外觀、空間和油耗。

圖 4 TG-ABSA 例子

TN-ABSA 的分析對象是文本中出現的實體的情感正負向,如圖 5 中,實體華為和 XX 的情感正負向分別為正面和負面。這種情況下沒有屬性的概念,只有實體。

圖 5 TN-ABSA 例子

T-ABSA 的分析對象是文本中出現的實體和屬性組合,如圖 6 所示,評價對象是實體+屬性的組合,如華為+拍照和 XX+性價比。

圖 6 TG-ABSA 例子

在清楚了目標級情感分析的分類之後,每個類別又都可以包含為兩大類任務:第一個是評價對象的識別,第二個是情感識別。評價對象識別包括評價對象詞抽取和評價對象詞分類,情感識別包括評價詞抽取和評價正負面分類。具體例子如圖 7 所示。之所以要識別出對象詞和評價詞,是為了能夠基於屬性正負面過濾的時候可以高亮相應的評價文本片段。

圖 7 評價對象和評價詞和類別識別例子

本文主要介紹詞級別情感分析、句子級情感分析和目標級情感分析中的 T-ABSA 的內容、方法和華為雲語音語義團隊在該領域實踐中的一些成果。這裡首先區分一些概念,本文所說的情感,包括 emotion 和 sentiment 兩種。嚴格意義上來說 sentiment 屬於 emotion 的一種,但是本文中不做區分。

詞級文本情感分析

任務介紹

詞級別的情感分析,即構建情感詞典(sentiment lexicon),旨在給詞賦予情感資訊。這裡首先要確定的是情感怎麼表示,常見的表示方法有離散表示法和多維度表示法。離散表示法如情感分析領域常用的 {正面,負面,中性} 的表示方法,或者如表

圖 8 離散情感模型,引用自 「1」

用離散表示法表示的情感詞典如:

高興-正面,生日-正面,車禍-負面,災難-負面

多維度表示法也有多種,如 Valence-Arousal-Dominance(VAD)模型,Evaluation-Potency-Activity(EPA)模型等。Valence 和 Evaluation 表示好壞,arousal 和 activity 表示人的喚起度,dominance 和 potency 表示控制力。

圖 9 Valence-Arousal 模型

用連續多維表示方法的情感詞典例子如:

VAD 模型在 [1,9] 取值範圍下:車禍可表示為 (2.05, 6.26, 3.76)

常見的方法

構建情感詞典常見的方法如圖 10 所示:

圖 10 常見情感詞典構建方法

人工標註優點是準確,缺點是成本太高。自動化方法中,都是先有人工標註一些種子詞,然後通過不同的方法把種子詞的標籤資訊擴展到其他詞。基於點互資訊的方法會基於大規模語料庫統計新詞和種子詞之間的統計資訊,然後基於該資訊對種子詞做加權求和得到資訊的情感標籤。基於標籤傳播的方法會先構建詞和種子詞的一個圖,圖上的邊是基於詞和詞之間的統計資訊獲得。然後用標籤傳播的演算法獲得新詞的情感資訊。基於回歸的方法先構建詞的特徵向量表示,然後基於種子詞的標籤資訊訓練一個回歸或分類模型,得到該模型後再對新詞做預測,獲得新詞的情感標籤資訊。

我們的進展

我們團隊基於已經標註的情感詞典,通過自動化的方法,構建了當前業界最大規模的多維度情感詞典。

圖 11 情感詞典構建流程

基於該方法,我們構建了業界最大規模的情感詞典庫,採用了 Valence-Arousal 的二維情感表示模型,情感值取值範圍為 [-1,.1](-1 表示不好(對應 Valence 維度)或無喚醒(對應 Arousal 維度),1 表示好或高喚醒度), 詞典包含六百萬詞,例子如下:

圖 12 構建的情感詞典例子

句子文本情感分析

任務介紹

句子級和篇章級文本情感分析旨在整個句子或文章表達的情感傾向性,如下例子:

  • 買沒幾天就降價一點都不開心,快閃記憶體跑分就五百多點點 —
  • 外觀漂亮音質不錯,現在電子產品基本上都是華為的了 —
  • 汽車不錯,省油,性價比高 —
  • 這個政策好啊,利國利民 —

當前各友商推出的情感分析服務大部分都是這種整體文本的正負向預測。句子級情感分析服務在互聯網時代的電商評論、政策評價中有著廣泛的應用價值。句子級情感分析是一個典型的文本分類任務,我們團隊也採用了當前比較有效的預訓練模型+微調的方案,如下圖所示:

圖 13 句子級情感分析方案

我們的進展

當前我們已經上線了電商、汽車和社交領域的情感分析模型,主要支援中文語言,標籤是正面和負面,帶有標籤置信度。如下圖的例子所示,分別是手機、汽車和社交領域。

圖 14 EI 體驗空間電商領域、汽車領域和社交領域例子

目標級文本情感分析

任務介紹

前面介紹的句子級或篇章級的情感分析只關注整個文本的正負面,沒有區分文本中具體的評價對象。所以就處理不了如下的例子:

該例子對汽車的各個屬性的評價正負面是不一樣的,如對動力和外觀來說是正面,對空間和油耗來說是負面,所以就不能簡單的分析整體文本的正負面。本節介紹的目標情感分析中的 TG-ABSA 任務,即固定實體下的給定屬性集合的評價正負面的預測。

我們的進展

傳統的屬性級情感分析可以採用每個屬性訓練一個情感分類模型。但是這種方法需要訓練多個分類模型,成本比較高。我們提出了基於單模型多屬性標籤輸出的方法,即一個模型同時輸出 N 個屬性的情感標籤。圖 15 是當前在汽車領域結果,其中 Attribute Hit Rate 是屬性的命中率,即預測出的屬性占評論中實際出現的比率。Hit Attribute Accuracy 是命中的屬性標籤預測的準確率,即在所有命中的屬性中,標籤預測正確屬性的佔比。因為我們的模型可以輸出每個屬性標籤的置信度,所以可以基於置信度過濾來調節模型最終的輸出標籤,圖中是個曲線。圖 16 是汽車領域屬性級情感分析的例子,可以同時預測出評論中出現的動力和外觀兩個屬性對應的正負面。該功能支援汽車領域的八個屬性的評價預測,包括:內飾、動力、外觀、性價比、操控、能耗、空間、舒適性。

圖 15 屬性級情感分析的效果

圖 16 汽車領域屬性情感分析例子

最後,打個小廣告。本文前面主要介紹了情感分析的概念以及華為雲在情感分析方面的實踐和進展,部分服務已經可以在我們的「EI 體驗空間」小程式體驗,歡迎大家體驗並提出寶貴的意見。

情感分析服務可以用於商品評價智慧化分析、智慧評分等,歡迎大家體驗。

關於作者

李明磊,華為雲 NLP 演算法專家,博士畢業於香港理工大學,從事文本情感分析和情緒識別的研究,在 TAC 發表論文多篇,多次獲得最佳論文獎。目前在華為雲主要負責華為雲文本分類、情感分析、輿情監控平台等業務。主導的文本分類平台在汽車、電商、社交等領域的情感分析達到了業界領先的水平。汽車領域屬性級細粒度情感分析 8 屬性準確率均達到 90% 以上

參考文獻:

1. Li, Minglei, Qin Lu, Yunfei Long, and Lin Gui. 「Inferring Affective Meanings of Words from Word Embedding.」 IEEE Transactions on Affective Computing 8, no. 4 (2017): 443–456.

本文為機器之心專欄,轉載請聯繫本公眾號獲得授權。

✄————————————————

加入機器之心(全職記者 / 實習生):[email protected]

投稿或尋求報道:[email protected]

廣告 & 商務合作:[email protected]