[논문리뷰] Emoberta: Speaker-aware emotion recognition in conversation with roberta

2022. 12. 11. 21:37Artificial_Intelligence/Natural Language Processing

Kim, Taewoon, and Piek Vossen. "Emoberta: Speaker-aware emotion recognition in conversation with roberta." arXiv preprint arXiv:2108.12009 (2021).

 

introduction

감정 인식의 범위는 표정, 음성,텍스트 등 매우 넓음.
본 논문에서는 감정 인식의 하위 분야인 대화에서 감정 인식( ERC)에 중점을 둠.
ERC는 한사람 또는 그 이상의 사람과 대화에 참여하는 현재 화자의 감정을 예측하는 것
감정을 인식하는 것은 감성 컴퓨팅 및 인간-로봇 통신과 같은 분야에서 중요.
인간은 대화(시각, 음성 등)을 하기위해 여러 감각 입력을 사용함
따라서 ERC 작업에는 여러 양식(시각, 오디오, 텍스트 등)이 포함된 멀티모달이 필요
본 논문에서는 여러 양식은 향후 연구에서 하고 먼저 텍스트에서만 실험함
ERC는 시퀀스 모델링의 특별한 경우임. 왜냐하면 감정이 모든 양식에서 선행 사건에 의해 촉발된 것으로 예상되기 때문임.
ERC에 대한 본 논문의 접근 방식은 여러 발화에 걸친 시퀀스 정보에 화자 정체성을 포함시키면서 트랜스포머 모델을 풍부하게함.
RoBERTa 시퀀스 표현을 적용해서 인기있는 두 벤치마크 데이터셋에서 SOTA 개선함.

 

 

Related Work
CNN RNN 트랜스포머 등등 접근법의 단점은 모델의 각 부분이 자신의 특징을 추출하는 책임이 있다는 것.
이런 추출된 기능은 모델의 다른 부분에 이상적이지 않을 수 있음.
이런 모델들은 하위 모델들의 조합이기에 각 하위 모델들이 무엇에 기여하고 있는지, 모델 전체를 어떻게 개선해야하는지 이해하기 어려움.
일부 접근법은 시퀀스를 모델링하기위해 RNN계열을 기반으로 하는데, 여기서 문제는 단어 임베딩 추출과 시퀀스 모델링을 본질적으로 분리함.
근데 BERT 계열의 모델은 이를 한번에 해결하기에 때문에 종종 더 나은 성능으로 이어짐.
또한 외부 디콘 텍스트화된 단어 임베딩 추출기 (GloVe, word2vec)에 의존해야함.
또한 시간을 통한 역전파는 시퀀스의 마지막 입력이 처리될 때까지 기다려야 하기 때문에 RNN을 훈련하는건 매우 비효율적임
본 논문과 밀접한 접근법은 HiTrans와 DialogXL임.
HiTrans는 하나의 입력 시퀀스에 추가된 CLS 토큰으로 여러 발화를 예측함.  
DialogXL은 XLNet을 기반으로 함.
본 논문은 RoBERTa를 사용해서 여러 발화로 화자 정보를 인코딩함.

 

Methodology
EmoBERTa는 Pretrained RoBERTa-large에서 시작함.
본 Task 는 기본적으로 Classification Sequence Task임.
즉, 마지막 출력 계층의 CLS 토큰에 해당하는 Hidden state vector에 Classifier Head를 추가하면 됨.
왜 RoBERTa를 썼냐면, 두개 이상의 Segments를 처리할 수 있기 때문에.
RoBERTa 저자는 단순히 두개의 </s> 토큰을 [SEP]토큰으로 연속적으로 사용해서 첫번째와 두번째 Segments(분할)를 처리하였는데, 사전 훈련된 모델이 두 개 이상의 Segments에 대해 훈련하진 않았다만 EmoBERTa는 입력 시퀀스당 세 개의 Segments로 일반화 될 수 있음을 보여줌.
여기서 첫번째 Segment는 과거 발화, 두번째 Segment는 현재 발화, 세 번째 Segment는 미래 발화 를 포함함.
각 발화에는 화자의 이름이 앞에 붙어서 모델이 어떤 발화가 누구에 의해 발화하는지 인식함.
여기서 목표는 현재 발언의 감정을 예측하는 것임.

EmoBERTa의 Method

Loss→ Cross-entropy + L2 weight Decay

Optimizer → Adagrad(adaptive gradient descent)

Scheduler → gradual linear warmup learning rate scheduling

최고 LR는 Optuna 이용하여 결정 → Optuna란 최적화된 파라미터를 찾아주는 프레임워크임.


Mixed floating point precision하여 훈련시간 줄이고 배치크기 늘림. → 혼합 정밀도 산술. 단일 연산에서 다양한 너비의 숫자를 사용하는 부동 소수점 산술의 형태

 

Experiments

첫번째 테이블 : 대화 수(발화 수)
두번째 테이블 : 대화당 발언 수 평균(표준편차)

 MELD는 멀티모달(이미지, 오디오, 텍스트) 및 멀티 파티(대화에서 두 명 이상의 대화자) Dataset
TV 시리즈 Friends에서 수집되었음.
7개의 감정은 중립, 기쁨, 분노, 놀라움, 슬픔, 혐오, 두려움
이 데이터셋은 클래스 분포가 매우 불균형 하기 때문에 성능지표로 weighted f1 score사용함.

IEMOCAP은 멀티모달(이미지, 오디오, 텍스트) 및 dyadic(대화에서 단 두명의 화자)대화 Dataset
10명의 배우가 데이터 수집에 참여함.
11개의 감정이 있으나 6개(중립, 좌절, 슬픔, 분노, 흥분, 행복)만 평가에 사용함.
이또한 클래스 분포가 매우 불균형하기 때문에 Weighted f1 score 사용함.

MELD와 달리 IEMOCAP은 공식적으로 화자의 이름을 가지고 있지 않아서 무작위로 이름을 지어줌.

 

Results and Analysis

1. 과거와 미래의 발화를 넣지 않았을때
2. 과저 발화만 넣었을 때
3. 미래 발화만 넣었을 때
4. 과거와 미래의 발화를 넣었을 때
    1. 발화자의 이름을 넣지 않았을 때

 

MELD에서는 모든 D를 채택했을 때 가장 좋은 성능을 보였음.
IEMOCAP에서는 B를 채택했을 때 가장 좋은 성능을 보였음. → MELD보다 더 많은 발화만을 사용하는 것 때문일 듯함. 과거의 발언이 미래 발언을 학습하는 것 보다 더 유용했다고함.

각 테스트 분할에서 올바른 10개의 무작위 샘플과 틀린 10개의 무작위 샘플을 뽑아서 정성적 분석 진행함.

수동 검사를 통해, 모델이 발화자 토큰이 대화 상대 토큰을 주시하기 때문에 시작계층에서 대화 상대 토큰의 역할을 학습하려고 시도하는 것을 확인했다고 한다.

마지막 레이어의 <s>토큰은 발화자 토큰에 주의를 기울였으나, 잘못 분류된 샘플의 경우 60%만 주의를 기울임. → 이를통해 토큰이 상위 계층으로 갈수록 발화자 토큰이 점점 중요한 정보를 포함하고 있음을 확인함.

마지막 계층의 <s>토큰이 현재 상태의 발화자 발언에 초점을 맞추기에, 이 토큰이 모델의 최종 예측을 하는데 가장 유용하게 쓰인다고 판단함.

잘못 분류된 예시에서는 마지막 계층의 <s>토큰이 발화자에 초점맞추지 않고 대화 내내 일부 무작위 문장 부호에 초점을 맞췄음.

 

녹색은 모델의 시작 계층에서 현재 발화자(joy)가 가장 많이 참여하는 토큰 중 상위 10개

노란색은 마지막 계층에서 <CLS>토큰(<s>토큰이라고하네요)에 가장 많이 참여하는 토큰 중 상위 10개

 

Conclusion

EmoBERTa가 ERC 작업에서 다른 모델보다 우수함을 보여줌.

EmoBERTa는 입력 토큰과 대화상대 이름에 직접 참여 가능하기에, 모델이 최종 분류하는데 가장 중요한 대화 부분을 확인하기 위해 어텐션 coefficients(계수)를 쉽게 관찰 가능함.

728x90