本文來自公眾號“AI大道理”。
這里既有AI,又有生活大道理,無數渺小的思考填滿了一生。
原文 | Thursday, October 28, 2021
Posted by Dana Alon and Jeongwoo Ko, Software Engineers, Google Research
情緒是社會互動的一個關鍵方面,影響着人們的行為方式,塑造着人際關系。
這在語言方面尤其如此——只用幾個詞,我們就能表達各種各樣微妙而復雜的情感。
因此,讓機器理解情境和情感一直是研究界的一個長期目標,這將反過來使各種應用程序,包括有同理心的聊天機器人、檢測有害在線行為的模型,以及改進客戶支持互動成為可能。
1、簡介
在過去的十年里,NLP研究團體已經為基於語言的情感分類提供了一些數據集。
其中大多數是手動構建的,涵蓋了目標領域(新聞標題、電影字幕、甚至童話),但往往相對較小,或只關注1992年提出的六種基本情緒(憤怒、驚訝、厭惡、喜悅、恐懼和悲傷)。
雖然這些情緒數據集使對情緒分類的初步探索成為可能,但它們也強調了對大規模數據集的需求,而不是更廣泛的情緒集,以促進更廣泛的未來潛在應用范圍。
在“GoEmotions: A Dataset of Fine-Grained Emotions”文章中,我們描述了GoEmotions,這是一個人類注釋的數據集,包含58k條Reddit評論,從流行的英語Reddit子頁面中提取,並標有27個情感類別。
作為迄今為止最大的完整注釋的英語語言細粒度情感數據集,我們在設計GoEmotions分類法時考慮到了心理學和數據適用性。
與基本的六種情緒(只有一種積極情緒(喜悅))不同,我們的分類包括12種積極情緒、11種消極情緒、4種模糊情緒和1種“中性”情緒,這使得它廣泛適用於需要微妙區分情緒表達的對話理解任務。
我們發布了GoEmotions數據集和詳細的教程,演示了使用GoEmotions訓練神經模型架構的過程(可在 TensorFlow Model Garden獲得),並將其應用於基於對話文本的表情符號建議任務。在GoEmotions Model Card 中,我們探索了使用GoEmotions構建的模型的其他用途,以及使用數據的注意事項和限制。
2、構建數據集
我們的目標是建立一個大型數據集,專注於會話數據,其中情感是交流的關鍵組成部分。
因為Reddit平台提供了大量公開的內容,包括用戶對用戶的直接對話,所以它是情感分析的寶貴資源。
所以,我們使用Reddit從2005年(Reddit成立之初)到2019年1月的評論創建了GoEmotions,這些評論來自至少1萬條評論,不包括刪除和非英語評論。
為了建立具有廣泛代表性的情緒模型,我們應用了數據管理措施,以確保數據集不會強化一般或情緒特定的語言偏見。
這一點尤其重要,因為眾所周知,Reddit的用戶傾向於年輕男性,這並不能反映出全球人口的多樣性。該平台還引入了一種偏向有毒、冒犯性語言的傾向。
為了解決這些問題,我們使用預定義的術語來識別有害的評論,包括冒犯/成人和低俗的內容,以及身份和宗教,我們使用這些術語來過濾和掩蓋數據。
我們還過濾了數據,以減少臟話,限制文本長度,並平衡所表示的情感和情緒。為了避免熱門版塊的過度呈現,並確保評論也反映了不太活躍的版塊,我們還在版塊社區之間平衡了數據。
我們創建了一個旨在共同最大化三個目標的分類法:(1)最大程度地覆蓋Reddit數據中表達的情緒;(2)提供最大范圍的情感表達類型;(3)限制情緒的總體數量和它們的重疊。
這種分類法支持數據驅動的細粒度情感理解,同時也解決了某些情感的潛在數據稀疏性問題。
3、數據分析及結果
情緒在GoEmotions數據集中不是均勻分布的。
重要的是,積極情緒的高頻率增強了我們對更多樣化的情緒分類的動機,而不是由規范的六種基本情緒提供的分類。
為了驗證我們的分類選擇與基礎數據匹配,我們進行了主保存成分分析(PPCA),這是一種通過提取在兩組評分者中表現出最高聯合變異性的情感判斷的線性組合來比較兩組數據集的方法。
因此,它有助於我們發現在評分者之間具有高度一致性的情緒維度。
之前我們使用PPCA來理解視頻和語音中情感識別的主維度,這里我們使用PPCA來理解文本中情感識別的主維度。
我們發現每個分量都是顯著的(對於所有維度滿足p-values < 1.5e-6),表明每種情緒都捕捉到了數據的一個獨特部分。
這並不是微不足道的,因為在之前的研究中,在30個情緒維度中,只有12個是重要的。
我們基於評分者判斷之間的相關性來檢驗定義的情緒的聚類。
通過這種方法,當評分者經常共同選擇兩種情緒時,它們就會聚集在一起。
我們發現,盡管在我們的分類中沒有預定義的情緒概念,但根據情緒(消極的、積極的和模糊的)相關的情緒都聚在一起,這表明了評級的質量和一致性。
例如,如果一個評分者選擇“興奮”作為給定評論的標簽,那么另一個評分者更有可能選擇一個相關的情緒,如“快樂”,而不是,比如說,“恐懼”。
也許令人驚訝的是,所有模糊的情緒都聚集在一起,而且它們與積極的情緒更接近。
類似地,根據其強度相關的情緒,如喜悅和興奮、緊張和恐懼、悲傷和悲傷、煩惱和憤怒,也密切相關。
我們的論文使用GoEmotions提供了額外的分析和建模實驗。
4、未來工作:替代人類標簽
雖然GoEmotions提供了大量人類標注的情感數據,但也存在其他情感數據集,它們使用啟發式來自動弱標記。
主要的啟發式方法使用與情感相關的Twitter標簽作為情感類別,這允許人們以較低的成本生成大型數據集。
但這種方法受到多種原因的限制:Twitter上使用的語言明顯不同於許多其他語言領域,因此限制了數據的適用性;標簽是人工生成的,當直接使用時,容易產生重復、重疊和其他分類上的不一致;這種Twitter方法的特殊性限制了它只能應用於其他語言語料庫。
我們提出了另一種更容易獲得的方法,即在用戶對話中嵌入表情符號,作為情感類別的代理。
這種方法可以應用於任何包含合理出現的表情符號的語言語料庫,包括許多會話性的。
因為表情符號比推特標簽更標准化,也更稀疏,所以不一致的地方也更少。
請注意,這兩種方法——使用Twitter標簽和使用表情符號——都不是直接針對情感理解,而是針對對話表達的變體。
例如,在下面的對話中,同樣,雖然許多表情符號都與情感相關的表達聯系在一起,但情感是微妙的、多方面的,在很多情況下,沒有一個表情符號能真正捕捉到情感的全部復雜性。
此外,表情符號還能捕捉除情緒外的各種表情。
由於這些原因,我們把它們看作是表達而不是情感。
這種類型的數據對於構建富有表現力的對話代理,以及建議上下文的表情符號都很有價值,這是未來工作中一個特別有趣的領域。
5、結論
GoEmotions數據集提供了一個大型的、手動注釋的、用於細粒度情感預測的數據集。
我們的分析證明了注釋的可靠性和Reddit評論中表達的情緒的高覆蓋率。
我們希望GoEmotions將成為基於語言的情感研究人員的寶貴資源,並將允許從業者構建創造性的情感驅動應用程序,解決廣泛的用戶情感。
——————
淺談則止,細致入微AI大道理
掃描下方“AI大道理”,選擇“關注”公眾號
—————————————————————
—————————————————————