↓快轉到主要內容
  1. 論文發表/

A Chinese Dimensional Valence-Arousal-Irony Detection on Sentence-level and Context-level Using Deep Learning Model

·3 分鐘· ·
論文發表 Paper Nlp Irony Valence-Arousal Bert Span-Prediction
Wei Yi Chung
作者
Wei Yi Chung
Working at the contributing of open source, distributed systems, and data engineering.
目錄

論文資訊
#

項目內容
發表International Journal of Computational Linguistics & Chinese Language Processing(IJCLCLP)Vol. 27, No. 2, pp. 73–88, 2022 年 12 月
作者Jheng-Long Wu, Sheng-Wei Huang, Wei-Yi Chung, Yu-Hsuan Wu, Chen-Chia Yu
連結ACL Anthology · PDF
程式碼沒有公開 repo
研討會版A Dimensional Valence-Arousal-Irony Dataset for Chinese Sentence and Context(ROCLING 2022)
經費科技部計畫 MOST 110-2221-E-031-004、MOST 111-2221-E-031-004-MY3

和研討會版的差別
#

資料集一樣是 CDVAI(1,004 句反諷句、843 段反諷語境),標註規範、標註者一致性和分數分布都和 ROCLING 版相同,這裡不重複。期刊版的新東西在模型實驗:

ROCLING 2022IJCLCLP 2022
M1/M2/M3 用在哪只有語境層級的 VA句子層級的 VAI 和語境層級的 VA 都用
預訓練模型4 個中文 + 2 個多語6 個中文(換成 MacBERT、RoBERTa 和三個 Erlangshen 模型)
語境位置用人工標註的位置另外訓練模型自動預測語境位置,再用預測結果重跑
主要結論M3 對語境 Arousal 有幫助M2/M3 對語境層級幫助很大;語境位置要準才有用

論文也把反諷偵測明確定位成情緒偵測問題:反諷在對話裡有幽默效果,會帶出特定的情緒模式,所以除了「是不是反諷」,更該看反諷時的 Valence 和 Arousal。

模型架構
#

期刊版的兩部分實驗

實驗分成兩部分。

第一部分:用人工標註的語境位置
#

用預訓練 BERT 當編碼器取出隱藏特徵,再接一層 Linear 預測分數。三種組合句子與語境特徵的方式:

方法做法
M1句子和語境各自進編碼器。句子的特徵預測句子的 VAI,語境的特徵預測語境的 VA,兩邊互不相干
M2語境在句子中的位置已經標好。整句進編碼器後,把語境位置上的隱藏向量加總,再用它預測句子 VAI 和語境 VA
M3句子和語境各自進編碼器,把兩個隱藏向量串接起來,再預測句子 VAI 和語境 VA

M1 是基準;M2 想知道「只看語境那一段」夠不夠;M3 想知道「同時給整句和語境」能不能讓模型看出兩者之間的情緒反差。

第二部分:自動預測語境位置
#

實際應用時不會有人幫你標好語境在哪,所以第二部分訓練一個語境片段預測模型:BERT 編碼後,每個 token 接 Linear,判斷它是不是語境的一部分。

接著用預測出來的片段取代人工標註的片段,把第一部分的 M2、M3 再跑一次,看語境位置不準的時候,VA 預測會變差多少。

實驗設定
#

資料切分沿用 ROCLING 版:分層抽樣,訓練與測試 7:3,再從訓練集切 1/10 當驗證集(句子層級 632 / 71 / 301 句,語境層級 531 / 59 / 253 句)。

參數值
OptimizerAdam
學習率(句子層級)4e-4、4e-5、4e-6
學習率(語境層級)4e-5、4e-6、4e-7
學習率(語境片段預測)論文表格列為 43e-6、45e-6
Epoch50

語境的資訊比整句少,片段預測又更難學,所以這兩者都試比較小的學習率。

比較的預訓練模型(全部是中文模型):

代號模型說明
PM1hfl/chinese-macbert-base簡體與繁體中文維基
PM2shibing624/macbert4csc-base-chinese用 SIGHAN 錯字更正語料訓練
PM3uer/chinese_roberta_L-4_H-256UER 工具包 + CLUECorpus2020,4 層的小模型
PM4IDEA-CCNL/Erlangshen-Ubert-110M-Chinese多種任務資料訓練的 UBERT
PM5IDEA-CCNL/Erlangshen-Ubert-330M-Chinese同上,較大的版本
PM6IDEA-CCNL/Erlangshen-UniMC-RoBERTa-110M-Chinese用 13 個監督式資料集訓練
PM7IDEA-CCNL/Erlangshen-DeBERTa-v2-97M-Chinese只用在第二部分的片段預測

第一部分結果
#

句子層級 VAI(MAE,越低越好)
#

粗體是各指標的最低值。

模型V-M1V-M2V-M3A-M1A-M2A-M3I-M1I-M2I-M3
PM10.3460.4210.3900.5210.6490.6390.5210.5770.603
PM20.3800.4210.3900.6190.6490.6390.6010.5770.603
PM30.3710.4100.3710.6430.6030.5960.5380.5700.566
PM40.3800.4120.3900.6190.6140.6390.6010.5720.603
PM50.3760.3810.4200.6150.6160.6100.5750.5910.559
PM60.3800.4120.3900.6190.6140.6390.6010.5770.603
  • Valence:MAE 都在 0.4 左右,而且 M1 最好。論文認為 Valence 本來就好判斷,額外塞進更複雜的特徵反而變差。
  • Arousal:MAE 約 0.6,比 Valence 難。這裡 M1 不一定最好,PM3~PM6 用 M2 或 M3 都有進步。
  • Irony:MAE 約 0.5~0.6,比 Arousal 好一點,代表用「關鍵字和語境的落差」來給分的標註方式是有效的。PM2、PM4、PM5、PM6 用 M2、M3 會進步。
  • 整體來說,句子層級表現不錯,但 M2、M3 對句子層級沒有明顯幫助。

語境層級 VA(MAE)
#

粗體是每個模型在該指標上最好的方法。

模型V-M1V-M2V-M3A-M1A-M2A-M3
PM10.4310.4080.3890.8190.6490.787
PM20.4130.4080.3890.7960.6490.787
PM30.4310.4680.4270.7980.6030.829
PM40.4130.4150.3890.7960.6140.787
PM50.4260.4630.4280.8150.6160.834
PM60.4130.4150.3890.7960.6140.787

這裡的結果和句子層級完全不同:

  • Valence:6 個模型中有 5 個是 M3 最好,最低降到 0.389。
  • Arousal:M2 大幅領先,MAE 從 M1 的 0.8 左右降到 0.6 左右。論文的解讀是:判斷語境有多激動時,語境本身的資訊比整句更重要。
  • 結論是:要理解反諷語境的真正情緒,必須把語境和整句結合起來看。這也呼應了 CDVAI 要把語境分開標註的初衷。

第二部分結果
#

語境片段預測
#

模型PrecisionRecallF1
PM10.3730.3020.333
PM20.3490.2740.307
PM30.3290.2180.262
PM40.3730.3090.331
PM50.4360.3520.390
PM60.3730.2980.338
PM70.4380.3770.405

PM1~PM6 的表現都不理想,所以論文加入 PM7(DeBERTa-v2),F1 最高也只有 0.405。找出反諷語境的邊界本身就是一個困難的任務。

用預測的片段重跑 M2 / M3
#

接下來用 PM7 預測的片段取代人工標註,再跑一次。

句子層級

模型V-M2V-M3A-M2A-M3I-M2I-M3
PM10.3370.4030.6310.5850.5750.638
PM20.3370.4030.6310.5850.5750.638
PM30.3840.3760.6180.6480.6060.613
PM40.3920.4030.6770.5850.5940.638
PM50.3830.3640.6070.6090.5610.574
PM60.3920.4030.6770.5850.5940.638
  • 句子 Valence 用 M2 反而變好(PM1 從 0.421 降到 0.337)。論文推測:預測的片段雖然不準,卻剛好包含更多情緒詞。
  • Arousal 和 Irony 的變化有好有壞,例如 Arousal 的 M3 在 PM1 從 0.639 降到 0.585,在 PM3 卻從 0.596 升到 0.648。

這是一個有意思的發現:對句子層級來說,重要的可能不是完整的語境,而是語境裡關鍵的幾個字。

語境層級

模型V-M2V-M3A-M2A-M3
PM10.4190.4470.8190.824
PM20.4190.4470.8190.824
PM30.4710.4360.8670.810
PM40.4350.4470.8440.824
PM50.4420.4510.8010.844
PM60.4350.4470.8440.824

語境層級就沒那麼幸運了。和第一部分相比,Valence 差不多,但 Arousal 的 M2 從 0.60~0.65 退回 0.80~0.87,第一部分 M2 帶來的進步幾乎全部消失。這說明語境情緒很依賴正確的語境片段:片段一錯,模型就學不到語境本身的激動程度。

錯誤分析
#

論文用第一部分表現不錯的 PM3 看一個錯誤案例:

「很好……連喇叭都壞了 X-(」,語境是「連喇叭都壞了」

句子 V句子 A句子 I語境 V語境 A
標註23123
預測1.713.451.941.631.97
  • 模型把「連」、「壞了」當成強烈的負面詞,Valence 判得太低;但喇叭壞掉通常不會讓人那麼生氣,模型缺乏這種常識。
  • Irony 偏高:模型看到「很好」和負面語境之間的落差就給了高分,但這句沒有其他加強反諷的片段,標註分數其實很低。

結論與限制
#

  1. 句子層級:M2、M3 沒有明顯幫助;但第二部分顯示,語境裡的關鍵詞可能比完整語境更有用。
  2. 語境層級:M2、M3 明顯進步,代表反諷語境的情緒要結合整句才看得懂。
  3. 語境位置要準:自動預測的片段 F1 只有 0.405,用它取代人工標註後,語境 Arousal 的進步就消失了。

限制和 ROCLING 版一樣:資料量小,也沒有涵蓋完整的反諷句型,適合當作擴充樣本或標註規範的起點。片段預測模型本身也還有很大的改進空間。

相關文章

A Dimensional Valence-Arousal-Irony Dataset for Chinese Sentence and Context
·3 分鐘
論文發表 Paper Nlp Dataset Irony Valence-Arousal Annotation Bert
ROCLING 2022:擴充台大反諷語料,標註句子的 V/A/I 強度與反諷語境的 V/A 強度,建立 CDVAI 資料集並用 BERT 建立基準
DVA-BERT: Sentiment-Based Masked Language Modeling for Valence–Arousal Prediction
·4 分鐘
論文發表 Paper Nlp Sentiment-Analysis Bert Masked-Language-Model Valence-Arousal
Applied Intelligence 2022:把 BERT 的隨機遮罩改成依情緒強度遮情緒詞,當作輔助任務來提升句子層級的 Valence–Arousal 預測
Factor Detection Task of Cyberbullying Using the Deep Learning Model
·3 分鐘
論文發表 Paper Nlp Cyberbullying Bert Big-Data Annotation
IEEE BigData 2022 Workshop:定義網路霸凌的六個因子、建立 PTT 中文語料,用 BERT 偵測並分析公眾人物事件的霸凌模式
碩士論文:基於實體表徵學習與密度估計於指代消解
·4 分鐘
論文發表 Paper Nlp Coreference-Resolution Spanbert Representation-Learning Thesis
在 SpanBERT 指代消解模型上加入實體表徵估計、群內密度與群間密度三個組件,F1 提升約 0.9
A Dynamic Embedding Method for Passenger Flow Estimation
·3 分鐘
論文發表 Paper Traffic-Flow Transfer-Learning Bert Embedding Spatio-Temporal
IIAI-AAI 2021:用 BERT 預訓練動態捷運站嵌入,取代 GMAN 的靜態站點特徵,獲 Competitive Paper Award
LeetCode 154: Find Minimum in Rotated Sorted Array II
·1 分鐘
LeetCode Hard Array Binary-Search
LeetCode 154 解題筆記:跟 LC 153 一樣跟右端比,相等時分不出斷點在哪一邊,只能 r -= 1;最壞 O(n)