본문 바로가기
딥러닝

[논문 리뷰] EmotionFlow: Capture the Dialogue Level Emotion Transitions

by 방구석 데이터사이언티스트 2023. 1. 14.
728x90
반응형

[ABSTRACT]

본 논문에서는 기존의 ERC 연구에서는 감정 확산의 영향에 대해 다루지 않는다고 얘기한다.

따라서 감정 확산의 영향을 고려한 EmotionFlow라는 새로운 아키텍처를 소개한다.

또한 EmotionFlow 입력으로는 대화자들의 이전 발화들을 사용하며, 마지막에는 '[마지막 발화자]의 감정이 어떠니?'

라는 질문식으로 인풋값을 구성한다고 얘기한다. 또한 감정의 순차적 정보(확산 정보?)를 얻기 위해 CRF도 적용한다.

해당 모델은 ERC 벤치마크 데이터셋 중 하나인 MELD에서 준수한 성능을 이끌어낸다. 

 

[INTRODUCTION]

출처 : EmotionFlow: Capture the Dialogue Level Emotion Transitions

본 논문에서는 위 지표를 보여주며, 인접한 대화 턴에 동일한 감정을 가질 가능성이 높다고 얘기한다. 

> 따라서 감정 확산의 영향을 고려한 ERC 모델이 필요하다.

 

○ utterance encoder 와 CRF layer 구성된 EmotionFlow 제안 

○ utterance encoder는 RoBERTa이며 인풋은 Q/A 방식(“how does [user name] feel now?”.)

○ CRF layer : 인코더로부터 얻은 emotion 확률분포를 활용해 감정 확산의 효과를 학습한다.

 

[METHODOLOGY]

○ Problem Setup

 C : 멀티 턴 대화

 S : 대화자들 

 E : emotion label

 - 해당 문제는 각 대화 턴의 대화자의 감정을 추론하는 것이다. 

출처 : EmotionFlow: Capture the Dialogue Level Emotion Transitions, 모델 아키텍처

 

 ○ Semantic Context Modeling

 

출처 : EmotionFlow: Capture the Dialogue Level Emotion Transitions
출처 : EmotionFlow: Capture the Dialogue Level Emotion Transitions
출처 : EmotionFlow: Capture the Dialogue Level Emotion Transitions

 

출처 : EmotionFlow: Capture the Dialogue Level Emotion Transitions

모델의 아키텍처는 간단하다. Introduction에서도 얘기했듯이 Roberta에 감정확산의 영향을 학습할 수 있는 CRF layer만 추가했다고 볼 수도 있다.

 

(1) Semantic Context Modeling부터 보면 인풋으로는

[CLS] 인접한 k턴 만큼의 대화자와 발화 [sep] 질문 (“how does [user name] feel now?”)으로 구성된다. 

(2)  이후 Roberta를 타서 last hidden stat의 [cls] 벡터를 받는다.

(3) 같은 공식으로 감정 확률 분포를 얻는다. W와 b 모두 trainable parameters라고 얘기한다.

(4) 크로스엔트로피를 사용한다.

 

○ Emotion Sequence Modeling

출처 : EmotionFlow: Capture the Dialogue Level Emotion Transitions
출처 : EmotionFlow: Capture the Dialogue Level Emotion Transitions
출처 : EmotionFlow: Capture the Dialogue Level Emotion Transitions
출처 : EmotionFlow: Capture the Dialogue Level Emotion Transitions

Emotion Sequence Modeling는 논문에서 제안한 CRF 설명이다. 

 

(5) x가 주어졌을 떄 y의 확률을 최대화한다. 대충 생각해 보면, 인코더에서 받은 확률 분포가 주어졌을 때 최대한 감정을 잘 맞추게 한다. 

(6) (5)의 P에 대한 설명, g 또한 trainable parameter이다. t턴의 y와 이전 턴의 y의 어떤 g라고 표현한 관계를 활용한다.

(7, 8 9) (6) Z에 대한 설명

(10) CRF loss

 

 

[EXPERIMENT]

 ○ Datasets : MELD

 ○  Result

출처 : EmotionFlow: Capture the Dialogue Level Emotion Transitions
출처 : EmotionFlow: Capture the Dialogue Level Emotion Transitions

 모델 자체는 간단해도 Knowlege를 사용하지 않은 모델 중에서는 가장 좋은 것을 알 수 있다. 

 CRF도 CRF이지만 QA 방식의 입력이 꽤 효과적인 것을 알 수 있고 w/o [CRF,QA]는 걍 Roberta 아닌가?

Roberta에 QA 방식을 넣는 것만으로도 높은 성능을 이끌어 낼 수 있다고 생각되고 한번 확인해 볼 필요가 있을 듯하다.

 

리뷰 : MELD 데이터 자체를 생각해봤을 때, 수 많은 다양한 유형의 대화가 있는 데이터이기에 감정 확산이 있는 대화 유형이 있을 수 도 있고 그렇지 않은 대화 유형도 있을 수 있다고 생각한다. 위 상관관계 지표만 봐도 수치가 압도적으로 높지 않은 것이 그 증거이다. 그래서 사실 성능은 Roberta와 QA 방식이 다 했고 거기에 감정 확산이 있는 대화 유형을 더 잘 추론하도록 설계한 CRF가 한 몫을 했다고 생각한다. 따라서 반대로 감정 확산이 없는 대화 유형에 대해서도 대응할 수 있는 모델을 구성할 필요가 있어보인다. 

 

728x90
반응형

'딥러닝' 카테고리의 다른 글

AI 연구자의 필수 사이트  (0) 2023.05.03
[딥러닝][NLP] special token 추가  (0) 2023.02.21
[딥러닝][NLP] Tokenizer 정리  (0) 2023.01.13
[MLOps][딥러닝][실험] Wandb 간단한 사용법  (0) 2022.12.12
Transformer 정리  (0) 2022.10.10

댓글