[arXiv 2024] Towards Multimodal Emotional Support Conversation Systems

감정 인식에서 그치는 것이 아니라 감정을 활용한 다른 응용할 수 있는 task는 없을까?라는 생각에 찾아보게된 논문입니다. 개인적으로 감정 인식으로 끝이 아니라 최종적으로 사람의 mental health를 care 할 수 있는 논문이라 재밌게 읽었습니다.

1. Introduction

본 논문에서는 대화형 AI를 통해 mental health care를 수월하게 수월할 수 있음을 말하며 시작합니다.

mental health care를 하기 위해서는 사람의 감정을 이해하고 이에 대응하는 response를 출력하는 것이 중요합니다. 그러기 때문에 기존의 연구들은 주로 감정 인식에만 집중하여 연구가 진행되고 있습니다. 특히나 IEMOCAP, MELD와 같은 벤치마크를 이용하여 주로 멀티모달 감정인식을 연구 합니다. 대부분의 연구가 감정 상태를 식별하는 것에 집중하고 있기 때문에 감정에 대한 반응을 생성하는 대화를 만들지 못하고 있다는 한계가 있습니다.

특히나, Emotional Support Conversation(ESC)는 주로 텍스트 모달리티만 이용하여 진행되어왔다는 한계가 있습니다. 이렇게 텍스트 모달리티에만 의존하여서 ESC를 수행하게 되면 다른 모달리티에 있는 사용자의 감정 정보를 제대로 반영하지 못해 적절한 대화를 수행하지 못할 수도 있습니다.

본 논문에서는 클라이언트와 상담사 간의 상호작용을 모방하여 감정을 생성하는데 두가지 challenge가 있다고 말합니다.

먼저, 첫 번째는 emotional support conversation에 맞춤화된 포괄적인 멀티모달 데이터셋의 부재입니다. Table 1을 보면 emotion recognition, emotional support conversation 데이터셋을 확인할 수 있는데, 주로 text 모달리티만 사용하던가, 멀티모달을 지원하는 데이터셋이 있어도 감정 인식에 한해서 사용되는 것을 볼 수 있습니다. 이 때문에 클라이언트의 감정에 어떻게 대응 할 지에 대한 전략과 치료적 응답 생성을 하기 위한 능력을 키우기 힘들다는 것을 볼 수 있습니다.

두 번째는, 감정 인식을 위한 멀티모달 데이터를 통합하고 AI 기반의 공감적이고 전략적인 응답을 생성하는 프레임워크의 부재입니다. 기본의 방법론은 일반적으로 감정 인식, 전략 예측, 응답 생성을 별개로 분리하여 Task를 다룹니다. 그런데 이렇게 각각의 Task로 분리되어 연구될 경우, 각 Task의 상호 연결된 본질을 파악하지 못합니다. 상담사는 응답을 생성하고 치료 계획을 세울 때 클라이언트의 감정을 고려해야하고 이 때문에 모든 Task가 동시에 고려되어야 공감적 반응을 생성할 수 있습니다.

본 논문에서는 이러한 문제점을 극복하기 위해서 각 challenge 별로 해결책을 제시합니다. 먼저 첫 번째는, MESC(Multimodal Emotional Support Conversation) 데이터셋을 구축하는 것입니다. Table 1에 보시면 알 수 있지만 MESC 데이터셋이 본 논문에서 구축한 것으로 Text, Video, Audio 모달리티를 모두 제공하면서 Emotion Recognition, Strategy Prediction, Response Generation을 모두 포함하는 것을 볼 수 있습니다.

두 번째로, 본 논문에서는 Sequential Multimodal Emotional Support Framework (SMES)를 제안하였습니다. SMES의 키 포인트는 LLM 기반의 추론 모델을 사용하여 감정 인식 → 전략 예측 → 시스템 감정 예측 → 응답 생성을 순차적으로 생성한다는 것입니다. sequential 하게 생성함으로써 작업 간의 상호 의존성을 모델링하여 end-to-end 방식으로 최적화 합니다.

최종적으로, 본 논문의 contribuiton은 다음과 같습니다.

  • multimodal emotional support conversation 데이터셋을 구축
  • Therapeutic Skils 이론을 기반으로, Multimodal Emotional Support Framework (SMES)를 제안
  • 새롭게 제안한 벤치마크와 프레임워크를 통해 감정 인식과 감정적 지원 간의 격차를 연결하는 새로운 baseline을 구축

2. MESC Dataset

본 논문에서는 주로 텍스트로만 이용하는 한계를 극복하기 위해서 얼굴의 표현, 음성의 톤, 몸의 움직임을 포함하여 클라이언트의 심리 상태를 분석하고자 멀티모달 데이터셋(MESC)을 구축하였습니다.

2.1 Data Construction

데이터셋을 구축할 때 어디서 소스를 가져오는 지가 매우 중요한 부분인데요. 본 논문에서는 MESC 데이터셋을 TV 프로그램인 “In Treatment”을 이용하여 구축하였습니다. 해당 프로그램은 상담사와 환자들간의 주간 세션 및 상담 내용 기록으로 구성되어 있는데, 단순한 예능으로 심리 상담한 느낌을 주는 것이 아니라 실제로 상담을 진행하였습니다.

논문의 저자들은 데이터셋의 각 발화를 감정, 상담사가 사용한 전략 등에 대해서 annotation을 수행하였으며, 각 대회는 상담시나리오 구성되어 있습니다. Fig 2를 보면 MESC 데이터셋이 어떤 시나리오로 구성되어 있는지 확인할 수 있습니다.

본 논문의 데이터셋은 3개의 측면에 집중하여 구축되었습니다. 첫 번째는 Multimodal Unified Timestamps 입니다. MESC 데이터셋은 Text, Audio, Video로 구성되어 있기 때문에 모달리티 간의 timestamp 불일치를 해결하기 위해서 모든 모달리티에서 timestamp를 동기화 합니다. 수작업으로 emotion support와 관련없는 채팅 세그먼트를 필터링한 뒤, 시작 지점과 끝 지점을 지정하여 annotation 합니다.

두 번째는, Annotation Quality Control 입니다. 감정 관련 데이터셋이 적은 이유가 이 때문인거 같은데, 감정은 사람마다 주관적으로 느껴질 수 있는 부분이 너무나도 많고 심지어 MESC 데이터셋은 감정 뿐만 아니라 상담사가 사용한 전략 등 많은 것을 라벨링해야 하기 때문에 논문의 저자는 해당 부분에 굉장히 신경을 많이 쓴 것이 느껴졌습니다. 먼저 사전의 교육을 진행하고 해당 교육을 통과하지 못하면 annotator로 작업하지 못하며, 한 샘플에 대해서 여러 사람이 라벨링하여 최대한 보수적으로 샘플을 라벨링 할 수 있도록 하였습니다.

세 번째는, Comprehensive Coverage of Emotional Support 입니다. 감정 라벨링도 단순히 4감정, 치료 전략도 1~3개 이렇게 가져간 것이 아니라, 15개의 시나리오, 10개의 치료 전략, 7개의 감정 카테고리로 구성하여 라벨링 할 수 있도록 하였습니다.

스크린샷 2025-01-06 오전 1.53.35.png

Fig 3과 Table 3을 통해서 MESC 데이터셋의 통계를 확인할 수 있습니다. 개인적으로 만족한 부분이 Train과 Val, Test를 공식적으로 나눠 제공한다는 것이었습니다. 해당 부분이 당연하다고 느끼는 분들도 많으실 것 같은데, 제가 주로 사용했던 IMEOCAP, MOSEI 등의 멀티모달 감정인식 데이터셋의 경우 train, val, test가 공식적으로 지정하여 제공하지 않습니다. 이 때문에 논문마다 비교가 어려운 경우도 많있었기 때문에 개인적으로 가장 데이터셋 구축에서 가장 맘에 드는 부분입니다.

3. Method

해당 파트에서는 본 논문에서의 두 번째 contribution인 SMES 프레임워크에 대해서 설명드리고자 합니다.

3.1 Task Definition

먼저, 본격적인 SMES 프레임워크에 대해서 설명드리기 전에 4개의 주요 Task에 대해서 간략히 설명드리고자 합니다.

  • User Emotion Recognition : 단순 감정 인식이 아닌 User의 감정을 인식하는 Task인데, 클라이언트의 감정을 인식하는 것이기 때문에 이렇게 User를 붙여서 단순 감정 인식과 다르게 표현하였습니다. 3개의 모달리티로 들어오는 데이터를 분석하여 감정 인식을 수행합니다.
  • System Strategy Prediction : 데이터셋에서는 클라이언트의 대사에 반응하여 상담사가 대답을 하는데요. 이 때 어떻게 대답을 할 지를 결정하는 것이 system strategy prediction 입니다. 전략을 어떻게 가져갈지에 따라서 클라이언트의 감정을 어떻게 대응할 것인지 어떻게 반응할 것인지 영향을 많이 끼치기 때문에 중요합니다.
  • System Emotion Prediction : 앞에 User Emotion Recognition은 주어진 데이터에 대해서 감정을 인식하는 것이라면, System Emotion Prediction은 상담사가 어떤 감정을 대응할 것인지를 결정합니다.
  • System Response Generation : 상담사의 대답을 generation 하는 Task라고 말할 수 있습니다. 클라이언트의 감정 상태, 상담사의 대응 전략 등을 모두 고려하여 대답해야 합니다.

3.2 SMES Framework

Fig 4를 통해서 본 논문에서 제안한 SMES가 어떻게 동작하는지 전체 그림을 확인할 수 있습니다. 먼저 dialogue의 각 turn을 $t$는 utterance $U_t$, video $V_t$, audio $A_t$로 구성됩니다. 이러한 멀티모달 input들을 전처리한 뒤, textual sequence $M_t$로 변환합니다. 그리고 multimodal dialogue history는 $M$과 $R$(response)로 구성된 $H_t = \{M_0, R_0, …, M_t\}$로 표현할 수 있습니다. 본 논문의 목표는 순차적으로 4개의 감정과 관련된 task를 감정적인 지원을 더 잘하도록 generate하는 것입니다. 그러면 조금 더 디테일하게 설명드리겠습니다.

먼저, 각 $t$ turn에서 Audio-Visual Large Language Model (Video-LLaMA)를 통해 video $V_t$, audio $A_t$를 이용하여 감정과 관련된 단서를 추출합니다. 아래와 같은 prompt를 쿼리로 주어 감정 단서를 추출합니다.

위의 prompt를 통해서 visual scene과 audio signal에서 감정적 단서를 추출할 수 있는데, 출력되는 감정적 단서 $C_t$는 “The speaker seems to be in a state of comtemplation or thoughtfulness, as she is looking directly into the camera with a serious expression on her face”와 같은 멘트로 구성되어 있습니다. 이를 유저의 utterance $U_t$와 concat하여서 $M_t$를 만듭니다.

순차적으로 4개의 task의 결과를 생성하기 위해서 LLM 기반의 Reasoning 모델이 $H_t$를 입력 받아 user emotion recognition result $E_t$를 생성합니다.

그 이후에, $H_t, E_t$를 입력을 받아 strategy prediction $S_t$를 출력합니다. 이렇게 순차적으로 하나를 입력받아 하나를 출력하는 방식으로 출력하는 이유는 여러 Task의 결과값을 종합적으로 반영하여 결과를 도출하도록 하기 위해서 입니다. $E_t, S_t$를 출력했다면 이를 다시 또 입력하여 system emotion $SE_t$를 출력합니다. 그래서 response $R_t$는 위의 출력값을 하나의 sequence로 만들어 구성합니다.

아래 Fig 5는 LLM 기반의 Reasoning 모델의 학습 과정을 시각화 한 것입니다.

사전 학습된 언어 모델(PLMs)인 BlenderBot을 사용하였으며, 먼저 PLM을 이용하여 single training sequence $Y = [H_t, E_t, S_t, SE_t, R_t]$를 구축합니다. Fig 5를 보면 dialogue history, user emotion, stratey, system emotion, response가 하나의 sequence로 구성되어 있는 것을 볼 수 있습니다.

모델은 $\mathcal{D}$에 대한 loss 함수 $\mathcal{L}$을 최소화하도록 학습합니다. 여기서 $I$는 sequence 길이를 나타냅니다.

4. Experiments

4.1 Evaluation Metrics

본 논문에서는 4개의 task를 동시 작업하기 때문에 해당 task들을 평가하기 위한 메트릭을 다양하게 사용합니다. 먼저, emotion recognition과 strategy prediction을 평가하기 위한 Accuracy와 Weighted F1을 사용합니다. 그리고 response generation의 경우, 생성된 텍스트를 평가하는 것이기 때문에 과거부터 오랫동안 사용된 BLEU-n (B-2), ROUGE-L (R-L)과 BERTScore를 사용합니다.

4.2 Performance

위의 Table을 통해서 각 Task에서의 점수를 확인하실 수 있습니다. 본 논문에서 제안된 SMES가 모든 Task에서 가장 성능이 높게 나오는 것을 볼 수 있습니다. 그리고 조금 아쉬운 부분은 논문에서 성능에 대해서 그렇게까지 분석한 모습을 보여주지 않았는데, 제 생각에는 해당 프레임워크를 구축했다는 것이 메인이여서 분석은 살짝 뒤로 미뤄진거 같습니다.

본 논문에서 가장 많은 코스트가 들었을 것으로 예상되는 Table이 등장했습니다. 사람 평가에 대한 결과를 리포팅하는데, 본 논문의 저자들이 얼마나 해당 Task에 진심이었는지에 대해서 볼 수 있었던 부분이라 생각됩니다. 각 행에 대해서 설명드리자면 Flu는 Fluency로 어떤 bot의 응답이 더 유창하고 이해하기 쉬운가?, Ide는 Identification으로 어떤 bot이 사용자 경험을 더 정확하게 탐구하고 문제와 관련된 응답을 제공하는가?, Com은 Comfort로 어떤 bot의 응답이 더 편안함을 주는가?, Sug는 Suggestion으로 어떤 bot이 문제에 대해 더 유용하고 공감적인 제안을 제공하는가? , Ove는 Overall로 어떤 bot이 삶의 고통스러운 문제를 다루는 데 더 나은 정서적 지원을 제공하는가?를 의미합니다.

MESC 데이터셋에서 100개의 대화를 무작위로 선택하여, 세 명의 사람이 각 대화 비교의 승리(Win)/무승부(Tie)/패배(Loss)를 결정합니다. BlenderBot-Joint의 파인 튜닝이 있을 때와 없을 때의 결과를 비교하여 리포팅하였습니다.

Table을 보시면 파인 튜닝이 있든 없든 생각보다 Win 부분이 전체적으로 높은 것을 볼 수 있으며 Overall의 경우 70%이상 나온 것을 볼 수 있는데 사람에게 적절한 정서적 지원을 제공할 수 있는 능력이 있음을 보입니다.

Fig 6을 통해 Case Study를 볼 수 있습니다. 앞에서 언급한 감정적 단서 뿐만 아니라 상담사 대답으로 어떤식으로 response하는 지 확인할 수 있습니다. user emotion, strategy, system emotion, response로 구성된 것을 알 수 있습니다.

위의 table을 통해서 ablation study를 확인할 수 있습니다. 첫 번째 table은 멀티모달 vs 유니모달을 비교한 것인데, 역시나 멀티모달로 동작할 때 성능이 가장 높은 것을 볼 수 있습니다.

아래 table은 response 전에 감정 예측이나 전력을 예측하는 것을 제거했을 때의 성능 변화를 보입니다. 모두 성능이 떨어지는 것을 통해서 response를 생성할 때 감정과 전략을 모두 사용한 것이 가장 높은 성능을 보장한 다는 것을 알 수 있습니다. 논문의 저자가 제안한 방법론이 효과적임을 보이는 부분인 것 같습니다.


이렇게 새해 첫 번째 x-review 작성을 마쳤네요. 첫 번째부터 로봇 관련하여 작성하고 싶었는데, 작성하던 글을 먼저 마무리 하는 것이 더 좋을 것 같아 해당 논문 먼저 다루었습니다. 그러면 다음에는 로봇 LLM 관련하여 한번 가져와보겠습니다. 읽어주셔서 감사합니다.

Author: 김 주연

2 thoughts on “[arXiv 2024] Towards Multimodal Emotional Support Conversation Systems

  1. 김주연 연구원님 좋은 리뷰 감사합니다.

    감정인식을 통해 이후의 대응되는 반응을 생성하는, 감정인식 연구의 응용으로 이해하였습니다.

    데이터 셋을 구축할 때 어노테이터를 교육시키는 것으로는 주관적인 문제를 해결하기 어려움이 있을 것 같습니다. 해당 논문에서는 주관적인 라벨링 문제를 해결하기 위한 고려가 따로 없었을까요??

    또한, 해당 연구에 대해 잘 몰라서 Table 5가 어떤 의미를 갖는 것이니 지 잘 이해가 되지 않습니다. 각 대화 비교의 승리(Win)/무승부(Tie)/패배(Loss)를 결정하는 것이 어떤 것을 의미하는 것인지 설명 부탁드립니다.

  2. 좋은 논문 리뷰 감사합니다.

    흥미로운 논문이라 재미있게 보았는데요. 이번 세미나에서 발표한 논문이였네요?

    간단한 질문 하나만 남기고 갈게요!

    Q. 감정은 주관적인 평이 들어가기 쉬운 데이터라고 생각이 듭니다. 허나, 학습 데이터는 모델이 평향시키기 쉽기 때문에 일반화가 가능한 수준으로 정돈된 데이터를 활용되어야 한다고 생각합니다. 해당 태스크에서는 어떻게 검증하고자 하는지 궁금합니다.

답글 남기기

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