Emotional Support 관련하여 조사하다가 ESConv라는 Dataset와 관련하여 논문을 읽게 되었다.
Towards Emotional Support Dialog Systems
https://arxiv.org/abs/2106.01144
Introduction
Emotional Support(ES) 목표
- 개인의 감정적 고통을 해소
- 개인의 문제들을 이해하고 극복을 목표
- 개인의 문제 상담을 통해 해결하는데 도움 제공
Emotional Support(ES) 예시
- social interaction(cheering up the user)
- mental health support(comforting a frustrated help-seeker and helping identify the problem)
- customer service chats(appeasing an angry customer and providing solutions)
- etc.
대화를 통해 help-seeker의 문제를 파악하고 Support를 제시할 때, 여러 기술(e.g., Self-disclosure, Reflection of Feelings, etc.)을 사용해 Supporting. 만약, Supporter가 위로만하고 행동을 제시하지 않는다면, help-seeker의 감정이 효과적으로 개선될 수 없음.
예시 대화에서 Help-seeker의 감정의 정도는 5 → 2 로 변화했음(감정 정도는 Corpus에 표시되며, 밑에서 자세히 설명). 이는 ES의 효과성을 나타냄(전략을 이용해 효과적인 ES를 제공하였기에 감정의 정도가 낮아짐)
ES의 중요성에도 불구하고 관련 Corpus와 Task design이 부족하여 Data-driven ES dialog system에 대한 연구는 매우 제한적
- 기존 연구인 Emotional chatting and empathetic responding과 관련된 연구는 매우 제한적으로 사용(효과적 ES를 제공하는 다른 기술을 사용할 수 없음)
- 기존 온라인 대화 데이터셋은 도움을 주는 대화나 그와 관련된 전략을 보여주지 않기 때문에 이를 효과적인 ES를 제공하는데 제한이 되어 있음
- 결과적으로 Task Design and Dataset의 부족으로 관련 연구는 매우 제한됨
이 논문에서 Emotional Support Conversation(ESC)를 정의하고, 전문적 상담이 아닌 사회적 상호작용(동료, 친구 또는 가족 간의 대화 같은)을 통해 ES 제공하는 것을 목표로 하여, 공감하고 도와주는 대화를 이끌어 나아가는 ESC Framework를 정의함.
ESC Framework
Task Definition
$e$ : a negative emotion label
$l$ : a emotion intensity level
Supporter는 사용자의 상태가 주어지지 않으며, 대화를 통해 문제를 식별하고 위로하며 해결책을 제공할 수 있을 때 효과적임.
Sub-Problem
- Support strategy selection and strategy-constrained response generation(전략을 적용하는 것은 ES의 효과와 관련있기에, 생성된 반응이 지정된 전략과 부합하는 것이 중요)
- Emotion state modeling (사용자의 감정 상태를 동적으로 모델링 및 추적은 전략 선택과 ESC의 효과 측정하기 위함).
- Evaluation of support effectiveness(대화의 관련성, 일관성 등 사용자 참여로 평가하는 것 이외 새로운 metric을 제시)
Task Framework
Hill’s Helping Skills Theory를 기반으로하여 대화 시스템 설정으로 조정하여, 전문적인 상담과 사회적 사회작용을 이용한 Supporting을 목표로 함.
Stage
- $\text{exploration} :$ Help-seeker의 문제를 식별
- $\text {insight} :$ Help-seeker의 Self-understanding 돕기
- $\text{action : }$Help-seeker의 문제 대처를 위한 행동하도록 돕기
⇒ $\text{insight}$는 사용자의 감정을 재해석을 필요로 하며, 충분한 Supporting 경험이 없다면 위험할 수 있기에 $\text{insight}$를 공감과 이해를 통한 Supporting을 $\text{comforting}$으로 조정.
항상 순서는 정해진 것이 아니며, Help-seeker에 따라서 유연하게 조정
Strategies
- Question :도움을 구하는 사람이 직면한 문제를 명확히 표현할 수 있도록 돕기 위해 정보를 요청(개방형 질문 또는 구체적 정보를 위한 폐쇄형 질문)
- Restatement or Paraphrasing : 도움을 구하는 사람의 발언을 더 간결하게 다시 표현하여 그들이 자신의 상황을 더 명확하게 볼 수 있도록 함
- Reflection of Feelings : 도움을 구하는 사람의 감정을 명확히 표현하고 묘사
- Self-disclosure : 동정을 표현하기 위해 도움을 구하는 사람과 공유하는 비슷한 경험이나 감정을 공개
- Affirmation and Reassurance : 도움을 구하는 사람의 강점, 동기, 능력을 확인하고 안심시키며 격려
- Providing Suggestions : 변화에 대한 제안을 제공하지만, 그들에게 무엇을 해야 하는지 지시하는 것은 삼가야 함
- Information : 예를 들어 데이터, 사실, 의견, 자원 제공 또는 질문에 답하여 도움을 구하는 사람에게 유용한 정보를 제공
- Others : 상호 인사를 교환하고 위의 범주에 속하지 않는 다른 지원 전략을 사용
Data Collection
Supporter
Crowdworker을 구하고 ESC Framework와 Tutorial Design에서 시험에 통과한 사람 Supporter로 Training(시험에 합격한 사람만 Supporter)
- Training and Examination : 7cups.com을 바탕으로 세가지 정의와 여덟 가지 지원 전략을 사용하도록 11개의 하위 Task 개발(3 + 8), Stage는 고정된 순서가 아닌 유동적으로 사용할 수 있도록 고지
- Strategy Annotation : 대화 중에 Strategy 선택 및 Strategy 기반 응답 작성 요청하며 여러 Strategy를 사용하고 싶다면 여러 메세지 보내도록 장려
- Post-chat Survey : 대화 후 Help-Seeker의 대화 중 설명하는 정도를 평가하도록 요청
Help-Seeker
그들의 문제와 감정에 대한 설문조사완료 및 대화 중 및 후에 피드백 제공 요구
- Pre-Chat Survey
- Problem & emotion category : Help-Seeker에게 5개 중 하나의 문제와 7개 중 하나의 감정 선택을 요청
- Emotion intensity : 1 ~ 5 점수 선택 (더 큰 숫자는 더 강렬한 감정)
- Situation : 감정적 문제의 원인을 설명하는 Open text
- Experience origin : 도움을 구하는 상황이 현재 경험인지 또는 이전 생활 상황을 기반으로 였는지 여부( 75.2% 대화가 현재 경험에서 시작되었음)
- Feedback : 대화 중 피드백, Supporter가 2번의 발언마다 피드백을 제공하도록 요청. 점수는 1 ~ 5이며, 각 Stage에 대한 평균 피드백 점수 계산.
- → 세 단계의 점수는 각각 4.03, 4.30, 4.44로, 지원자들이 도움을 구하는 사람들이 더 나아지게 하는 데 효과적으로 도움을 줄 수 있도록 충분히 훈련되었음을 나타냄
- Post-chat Survey : 대화 후 자신의 감정 및 Supporter의 성과를 평가하도록 요청
- 대화 후 그들의 감정 정도
- Supporter의 Help-Seeker에 대한 이해
- Supporter의 응답의 관련성
Quality Control
낮은 품질의 대화를 거르기 위해 여러 수동 또는 자동 매커니즘 고안 및 사용
Example
ESConv에서 가져온 데이터 예시. 파란색 텍스트: 도움을 구하는 사람의 사전 채팅 설문조사. 빨간색 텍스트: 지원자가 사용한 전략. 주황색 텍스트: 시스템이 지원자의 발화 두 마디마다 도움이 되었는지 평가하기 위해 도움을 구하는 사람에게 묻는 질문. 따라서 별표는 도움을 구하는 사람의 피드백 점수를 나타냄
Experiments
Model
Backborn Models
- BlenderBot
- DialoGPT
Variant Models
- Oracle : Gold reference 전략 토큰에 의해 생성
- Joint : 예측된 전략 토큰에 조건을 둔 응답 생성 → 사전에 정의된 토큰을 이용해 응답 생성
- Random : 무작위로 선택된 전략에 조건을 둔 응답 생성
Automatic Evaluation
- Oracle 모델이 Vanilla Model보다 우수
- Joint 모델은 예측된 전략이 실제와 다르면 생성된 응답이 낮을 수 있으므로 Vanilla 모델보다 낮은 점수를 얻으며, Oracle이 Joint보다 높은 점수를 얻는 것을 보며, 라벨이 제공되지 않을 때 전략을 예측하는 방법을 배우는 것이 중요
- BlenderBot이 DialoGPT보다 우수한 성능을 갖고 ESC과제에 더 적합
Human Interactive Evaluation
결과
- BlenderBot(fine-tunning) : 미세 조정 이후 모든 metric에서 제공 능력 유의미
- 전략을 적절히 활용할 수록 더 잘 위로 받음
- 적절한시기에 전략을 파악하여 효과적 제안을 제공하는 것이 중요Automatic EvaluationTable 4: 자동 평가 결과입니다. 굵은 글씨로 표시된 결과는 모든 경쟁자보다 유의미하게 더 낫습니다(학생의 t-검정, p-value < 0.05).
- Oracle 모델이 Vanilla Model보다 우수
- Joint 모델은 예측된 전략이 실제와 다르면 생성된 응답이 낮을 수 있으므로 Vanilla 모델보다 낮은 점수를 얻으며, Oracle이 Joint보다 높은 점수를 얻는 것을 보며, 라벨이 제공되지 않을 때 전략을 예측하는 방법을 배우는 것이 중요
- BlenderBot이 DialoGPT보다 우수한 성능을 갖고 ESC과제에 더 적합
Conclusion
- Emotional Support Conversation Task 정의 및 Framework 제시( 3개의 Stage를 통해 여러 전략을 적절히 생성)
- Emotional Support Conversation Dataset(ESConv) 구축
- Dialog Model을 ESConv를 통해 능력 평가