[EMNLP 2023] A Training-Free Debiasing Framework with Counterfactual Reasoning for Conversational Emotion Detection

안녕하세요. 이번에는 ERC task에서 counterfactual inference를 통해 debiasing하는 논문을 가져와봤습니다. NLP 논문으로 ERC 분야에서 처음으로 debiasing 방법을 제안한 논문이라고 해서 흥미롭게 읽었는데, 특히나 bias가 있음을 어떻게 어필하였는지를 중점적으로 본 것 같습니다. 그럼 리뷰 시작하겠습니다!

<1. Introduction>

Emotion recognition in conversation (ERC)는 대화가 주어졌을 때 각 발화의 감정을 식별하는 Task인데요. 현재 ERC 연구는 주로 context-, speaker-sensitive dependencies를 모델링하는데 초점이 맞춰져있습니다. 이러한 연구는 대부분 recurrent-based network, transformer-based network, graph-based network로 구성되어 있습니다.

현재 연구에서 집중하는 context-, speaker-sensitive dependencies를 모델링을 통해서 많은 성능 향상을 이뤘으나 데이터셋에 존재하는 의도하지 않은 bias는 generalization capabilities와 fairness를 떨어뜨립니다. ERC에서는 이러한 bias가 label, speaker bias와 같은 utterance-level과 neutral word bias와 같은 word-level에서 모두 나타날 수 있습니다.

Figure 1을 보시면, EmoryNLP 데이터셋에서 32.9%(2485개 발화)가 ‘neutral’로, 6.3%(474개 발화)가 ‘sad’로 라벨링 된 것을 볼 수 있는데 이를 통해서 label bias가 존재한다는 것을 확인할 수 있습니다. 이렇게 불균형한 데이터로 학습된 모델은 특정 label을 주로 에측하고 다양한 class를 예측하는 것이 힘들겠죠.

또한 label bias외에도 speaker, neutral word bias 또한 특정 단어와 특정 emotion category에 강한 연관성을 보이는 데이터로 학습된 모델에서 발생하는데요. 에를 들어, Figure 1에 표시된 것처럼 Richard Burke가 ‘mad’ 가 아닌 ‘joyful’, ‘neutral’, ‘peaceful’과 같은 감정과 연관될 가능성이 높습니다. 또한 neutral word도 emotion distribution에서 이러한 bias를 보입니다. 결과적으로 이러한 bias 때문에 모델은 text 고유의 정보를 이용하여서 감정을 분류하는 것이 아닌 편향된 통계 정보만을 기반으로 특정 category에 unfair하게 할당하려는 경향을 가지게 됩니다.

그럼 이러한 bias는 어떻게 제거할 수 있을까요? 기존의 debiasing 방법에는 주로 두 가지 방법이 있습니다. 첫 번째는, resampling 혹은 counterfactual sample 생성과 같은 data-level manipulation이 있습니다. 두 번째는, counterfactual reasoning, reweighting과 같은 model-level balancing mechanism은 학습 중에 category 영향력을 조정하여서 debiasing하지만 scratch부터 학습을 필요로 합니다.

이와는 대조적으로, 본 논문에서 제안한 Training-Free Debiasing framework (TFD)는 추가적인 데이터 augmentation이나 training cost 없이 예측 과정에서 counterfactual inference를 수행하여 debiasing 합니다. masking mechanism을 통해서 원래 input data에서 counterfactual example를 추출하여 학습된 모델에서 발생하는 bias를 추출합니다. 그런 다음, element-wise subtraction operation을 통해서 추출된 bias를 제거합니다.

본 논문의 contribution을 정리하면 다음과 같습니다.

  • 처음으로 ERC task에서 debiaing 방법론을 제안함
  • 추가적인 데이터 argumentation이나 training cost 없이도 ERC에서 발생하는 bias를 해결하기 위해 counterfactual utterance, context를 사용하여 모델에서 bias를 추출하는 TFD를 제안함.
  • SOTA..!

<2. Method>

<2.1. Task Definition>

먼저 task definition부터 해보겠습니다. 대화 $C = \{u_1, u_2. …, u_n\}$는 $n$개의 발화(utterance)로 구성됩니다. 각 발화 $u_i$는 $S = \{s_1, s_2, …, s_m\}$에 속하는 화자 중의 한 명이 말함으로써 구성됩니다. ERC task의 목적은 앞의 $ω$개의 발화 $\{u_{i-ω}, …, u_{i-2}, u_{i-1}\}$를 통합하여 각 발화 $u_i$의 emotion label $y_i$를 예측하는 것입니다.

<2.2. Overview>

본 논문에서 제안한 TFD에 대해서 어떻게 구성되어 있는지 간단하게 설명드리고자 합니다. 앞에서 언급했듯이 data-level, model-level debiasing 방식은 사람의 노동력을 요구하거나 학습을 필요로 하는 등의 cost가 발생하기 때문에 counterfactual reasoning에 영감을 받아 학습 없이 debiasing 하는 TFD를 제안하였습니다. TFD는 prediction에서 counterfactual reasoning을 통해 학습된 모델의 bias를 완화하는 것을 목표로 합니다. modal-agnostic하기 때문에 다양한 ERC 모델에 합쳐 사용할 수 있다는 장점도 있습니다. TFD는 biased classification, bias extraction, unbiased inference로 구성되어 있는데요. Figure 2를 통해서 각 과정이 어떤식으로 작동하는지 대략적으로 확인할 수 있습니다. 이제부터는 각 과정에 대해서 구체적으로 설명드리겠습니다.

<2.3. Biased Classification>

<2.3.1. Input Format>

발화 representation $x_i$는 pre-trained lanugage model (PML)에 query 발화 $u_i$를 직접 입력하여 생성합니다. 근데, Roberta와 같은 PML은 사전 학습 중에 dialogue structure로 학습된 것이 아니기 때문에 발화를 단순히 concat하는 것만으로는 좋은 결과를 얻지 못할 수 있습니다. 이 때문에 논문의 저자는 과거 연구에서 연감을 받아서 dialogue structure와 contextual information을 명시적으로 통합하여 이를 input text로 사용하였습니다.

여기서 $ω$는 context의 size를 나타내고, $X_h, X_c$는 각각 과거 말화(historical utterance), 현재 발화(current utterance)에 대한 encoding을 나타냅니다. $X_c$의 경우, 과거 및 현재 발화의 시작 부분에 “speaker says:”를 앞에 붙여 화자 정보를 표시하였습니다. 여기에 추가로 각 발화를 강조하기 위해 <s>, </s>를 사용해 각 발화를 묶어주었습니다. 다음과 같이 표현된다고 이해하시면 되겠습니다.

$X_h$의 경우, “speakers says:”는 context와 화자를 고려하여 유일한 토큰으로 사용되는데요. 그래서 다음과 같이 표현된다고 이해하시면 되겠습니다.

<2.3.2. Classification Module>

대부분의 task에는 특정 구조가 없는 일반 text가 포함되기 때문에 기존의 fine-tuning 방법에서는 classification을 위해서 class token을 사용하는 경우가 많습니다. 그런데 본 논문에서는 input text $x_i$는 주-종속 구조를 가지며, 이때, query 발화가 주도적인 포지션을 차지하고 context가 보조적인 역할을 합니다. 게다가 temporal structure도 고려해야 합니다. 이에 대응하기 위해서 본 논문에서는 ERC의 특성을 고려한 fine-tuning module을 제안하였습니다. fine-tuning module은 아래와 같은 구조를 가집니다.

여기서 $o_i$는 prediction emotion을 의미합니다. $E_{c/h}$는 PLM을 통해 생성된 $u_i$와 context의 representation을 의미합니다. ⊕는 concat operation을 의미합니다.

<2.4. Bias extraction>

<2.4.1. Causal Graph>

Causal graph는 변수 간의 인과 관계를 종합적으로 표현한 graph를 의미하는데요. 인과 관계를 나타내는 node(변수)와 방향이 지정된 edge(화살표)로 구성됩니다. $G = \{N,E\}$로 표시되는 이 directed acyclic Bayesian graphical model에서 node는 변수를 나타내고, 화살표는 변수 간의 인과 관계를 나타냅니다. 예를 들어, $x→Y$는 $x$가 원인이고 $Y$가 결과를 나타낸다고 이해할 수 있는데, 이는 $Y$값이 $x$의 영향을 받는다는 것을 의미합니다.

일반적인 ERC에서는 Figure 3(a)와 같은 인과 그래프를 가집니다. node $x, \hat{x}, h$는 input 발화, context 그리고 $x$와 $\hat{x}$를 합친 feature를 의미합니다. 최종 예측 logits $o$는 3개의 branch에서 입력을 받습니다. 이는 input $x$와 $\hat{x}$가 $x→o, \hat{x}→o$를 통해 $o$에 미치는 direct effect와 input $x$와 $\hat{x}$가 결합된 feature $h$를 통해 $o$에 미치는 indirect effect, 즉 $h→o$로 구성됩니다.

<2.4.2 Speaker and Neutral Word Biased>

Figure 3(b)에서는 Figure3(a)에서는 보지 못한 confounders(교란 변수) $q, \hat{q}$가 존재하며, 이는 $x, \hat{x}, o$ 사이의 spurious correlation의 원인을 의미합니다. 이러한 관찰되지 않은 confounders는 학습된 모델이 특정 단어(neutral word, speaker와 같은 단어)와 특정 emotion category 간에 강한 연관성을 보이기 때문에 발생할 수 있습니다. 그 결과, 모델은 이러한 keyword가 포함된 output을 편항된 통계 정보를 기반으로 특정 category에 unfair하게 할당하는 경향이 존재하게 됩니다.

본 논문에서는 이러한 spurious correlation을 분리하기 위해서 do-calculus와 함께 backdoor adjustment를 사용하여 해당 intervention distribution을 계산합니다.

여기서 $c$와 $\hat{c}$는 더이상 $q$의 영향을 받지 않는 한 어떤 형태든 취할 수 있으므로, $x, \hat{x}, q$사이의 연결이 효과적으로 끊어지게 됩니다. neutral word혹은 speaker bias를 추출하기 위해 causal intervention operation에서, $c/\hat{c}$는 neutral word 또는 speaker 관련 단어만 유지하도록 $c^†/ \hat{c}^†$ 또는 $c^‡/ \hat{c}^‡$로 설정합니다. 이를 통해 emotion category와 연관된 특정 word를 공개함으로써 학습된 모델에서 spurious connection을 드러내고 potential negative impact를 강조하는 것이 목표입니다.

여기서 $S$는 speakers set을 말합니다. 위와 같이 설정한 경우, 모델은 masking 후 $x, \hat{x}$의 speaker와 관련된 단어 외에는 어떤 단어도 볼 수 없으므로 최종 예측 logits $o^‡_i$는 학습된 편향 모델에 대한 화자의 pure effect을 반영하게 됩니다. 마찬가지로, 본 논문에서는 마스킹을 위해 non-neutral word를 결정하기 위해서 pysentiment 라이브러리를 사용하였으며, 이를 통해 counterfactual utterance와 counterfactual historical utterance인 $c_i^†, \hat{c}_i^†$를 구할 수 있습니다.

<2.4.3. Label Bias>

본 논문에서는 label bias 또한 다루었는데요. 불균형한 데이터에서 다수의 class에 유리한 모델의 bias를 해결하기 위해서 causal intervention을 통해 counterfactual utterance $c$와 context $\hat{c}$를 생성하여 label bias를 추출합니다.

여기서 *<mask>는 input sequence $x$에서 token 한 개를 마스킹한 것을 나타냅니다. 해당 예측 logits $o^_i$는 모델이 전체를 마스킹한 이후에는 word를 관찰할 수 없기 대문에 label bias의 영향만 반영하게 됩니다.

<2.5 Unbiased Inference>

TFD의 마지막 단계입니다. bias된 학습된 모델에서 예측 logits $o_i$의 debias는 간단하게 element-wise subtraction 연산으로 구할 수 있습니다. 위에서 구한 logits들을 이용하여 최종적으로 아래와 같이 구할 수 있습니다.

참고로 여기서 $λ, β, γ$는 scaling을 위한 parameter 입니다. bias는 최종 분류에 미치는 영향이 다양하며 동일하게 중요하지 않다는 점에 유의해야하는데요. 따라서 elastic scaling을 사용하여 모델 성능을 최적화 합니다.

<3. Experiments>

본 논문에서는 데이터셋으로 IEMOCAP, MELD, EmoryNLP를 사용하였는데요. ERC 중에서 NLP 논문을 계속 팔로업을 해보니 확실히 이 데이터셋 3개가 가장 많이 언급이 되는 것 같습니다. MELD와 EmoryNLP에 특징이 있다면 두 데이터셋 모두 드라마 프렌즈를 이용하여 만든 데이터셋이라는 것입니다. 두 데이터셋 모두 프렌즈를 이용했고 감정 수도 같으니 같은 데이터셋 아니지 생각할 수 있는데, 감정 수는 같지만 구성된 감정이 달라 같은 소스로만 구성된 데이터셋은 아님을 말씀드립니다.

Table 2를 통해서 각 데이터셋에서 다른 모델들과 본 방법론의 성능을 비교할 수 있습니다. 본 논문에서 설명하길 각 모델마다 성능이 높은 데이터셋이 다르며, 모든 데이터셋에서 높은 성능을 달성하지 못한 것을 보아 generalization이 부족하다는 것을 확인할 수 있습니다.

이에 반해, TFD는 IEMOCAP, MELD, EmoryNLP 모두에서 성능이 높은 것을 보아 모델이 generalization하게 동작함을 볼 수 있습니다. 여기에 추가적으로 말씀드리고 싶은 부분은 대부분의 모델들이 utterance representation을 추출하기 위해서 Roberta를 사용했을 때 TFD는 baseline을 Roberta를 사용했다는 것입니다. 여기서 어필하고 싶은 부분은 다른 모델은 Roberta에 추가적으로 layer를 더 쌓아서 학습하는 등 Roberta와 같은 사전 학습 모델을 메인으로 가져가지 않았는데, TFD는 Roberta만 사용하고도 높은 성능을 얻었다는 점입니다. 학습 없이도 이렇게 성능 향상을 보여주는 것이 대단한 것 같습니다.

Table2 – ablation study

Table2 하단을 보시면 ablation study를 확인할 수 있습니다. baseline + TFD에서 각 요소를 제거했을 때 얼만큼의 성능 향상이 발생하는지를 표시하였습니다. 본 논문에서 제안한 3개의 bias에 대해서 제거했을 때와 제거하지 않았을 때의 성능 차이를 보면 모든 데이터셋에 대해서 bias를 제거했을 때 성능이 높은 것을 보아 TFD가 효과적으로 bias를 포착하여 제거함을 볼 수 있습니다. 여기서 당연하지만 흥미로운 부분은 각 데이터셋마다 같은 bias임에도 debias하지 않았을 때의 성능 하락 폭의 scale이 다르다는 것입니다. (여기서 논문의 저자들이 bias를 제거하기 위해서 얼마나 $λ, β, γ$를 조정하는 실험을 했을까🥲하는 생각이 드네요)

Figure 4를 보면 EmoryNLP의 불균형한 데이터로 인해서 baseline이 소수 class에 속하는 발화에 대해서 성능이 저하된 것을 볼 수 있습니다. 또한, 초록색 동그라미에 경우 label debiasing을 적용했을 때의 성능을 나타낸 것인데 소수 class인 ‘peaceful’, ‘sad’에 대해서 잘 워킹하는 것을 볼 수 있습니다. Figure 4 뿐만 아니라 ablation study의 ‘w/o label debiasing’을 보면 제일 마지막 열을 보시면 39.19에서 40.51로 debiasing을 했을 때 성능이 증가하는 것을 볼 수있는데 Figure 4와 ablation study 결과를 통해 label debiasing이 성능 향상에 기여함을 확인할 수 있습니다.

또한, ‘w/o Neutral word debiasing’, ‘w/o speaker debiasing’ 부분을 통해 화자와 neutral word를 debiasing할 시에 성능이 개선됨을 확인할 수 있습니다. 특히 화자와 neutral word debiasing을 EmoryNLP에 적용했을 시에 모델 성능이 크게 변화한 것을 확인할 수 있습니다. 그런데, Table 2에서 볼 수 있지만 화자를 debiasing 했을 때 IEMCOAP의 성능이 다른 데이터셋에 비해서 크게 변화하지 않음을 볼 수 있습니다. 이는 IEMOCAP 데이터셋이 각 화자가 뚜렷한 성격 특성과 감정적 성향을 가지고 있기 때문이라 말할 수 있는데요. IEMOCAP은 즉흥 연기를 통해서 데이터셋을 구성하였는데 이러한 즉흥적 표현은 캐릭터 이미지 형성에 우선순위를 두지 않기 때문에 특정 감정 표현에 대한 성향이 자연스럽게 줄어듭니다. 이 때문에 화자를 debiasing 했을 때 다른 데이터셋에 비해서 큰 차이가 발생하지 않은 것입니다. neutral word debiasing의 경우, 전반적으로 대화에 neutral word가 널리 사용되기 때문에 다양한 데이터셋에서 비교적 일괄된 개선 효과를 보여주는 것을 확인할 수 있습니다.


논문을 읽으면서 학습 없이도 bias를 제거하여 성능 향상을 이룬 것이 매우 큰 contribution이라 느꼈습니다. 심지어 모든 데이터셋에서 성능 향상을 이루었다는 것이 대단하네요. 특히 더 대단하다고 생각되는 부분은 본 논문에서 말하길 자신의 방법론이 처음으로 ERC에서 debiasing한 방법론이라고 하는데 그러면 다른 논문에서 ERC에서 발생하는 bias가 무엇이 있는지에 대해서 중점적으로 다루지 않았을 것 같은데, 본 논문에서는 처음으로 debiasing 방법론을 제안한만큼 bias가 정말 존재하는지 어필하는 것에 많은 노력을 하지 않았나 생각합니다. 본 논문에서는 성공적으로 bias를 어필하고 성능 향상까지 이루었으니 대단하다 생각합니다. 읽어주셔서 감사합니다.


Author: 김 주연

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다