NL-210, EmpCRL: Controllable Empathetic Response Generation via In-Context Commonsense Reasoning and Reinforcement Learning, LREC-COLING 2024 (Cogsci 2024 Review)
◼ Comment
- 본 논문은 commonsense knowledge과 emotion을 결합하여 empathetic response을 생성하는 연구이다.
- commonsense reasoning은 chatgpt에 의해 추출되고, emotion은 fine-tuned EmoBERTa을 통해 추출된다.
- 강점
- 저자들은 chatgpt으로 추출한 commonsense가 empathetic response에 도움이 된다는 것을 알아냅니다.
- 제안한 방법은 이전의 비교모델들보다 automatic과 human evaluation에서 모두 성능이 뛰어납니다.
- 약점
- 저자들은 컨텍스트를 기반으로 다음 턴의 응답의 감정을 예측합니다. 다음 턴의 감정인식에 대한 성능이 보고될 필요가 있습니다.
- 제안한 프레임워크는 chatgpt로 commonsense을 생성해야하는 리소스가 듭니다. 인퍼런스 시에도 이 모듈은 동작되어야 하므로 매우 비효율적인 방법입니다. reference와 유사하게 학습할 때만 reasoning을 이용하고 인퍼런스할 때는 이용하지않는 우회할 방법을 탐구하는게 좋습니다.
- Distilling Step-by-Step! Outperforming Larger Language Models with Less Training Data and Smaller Model Sizes, Findings of ACL 2023
- 제안한 방법이 의미가 있으려면, ChatGPT을 통한 end-to-end 응답생성과 비교하는게 좋습니다. ChatGPT는 commonsense 생성보다 바로 공감적인 응답 생성에 활용하는게 좋을 수 있습니다.
- 수식에 대한 설명이 부족합니다.
- few-shot demonstrations을 위해 유사한 컨텍스트를 고르는 것에 대한 설명이 부족합니다. 식 2의 TopK가 어떠한 알고리즘인지 불명확합니다. S은 score 행렬인데 이를 하나의 점수로 어떻게 변환합니까?
- 식 4의 fjoin과 ftran은 어떤 모델입니까? 식 4는 현재 감정(t)을 예측하기 위해 이전 발화(1~t-1)을 활용합니다. 저자들은 여기서 마르코프 체인을 고려하지 않습니까?
- 식 7의 reward 계산에 대해 자세한 내용이 필요합니다. 어떻게 다양성을 측정합니까? 저자가 제안한 reward들에 대한 분석이 필요합니다.
- Empathy Driver와 Response Generator 섹션에서 학습되는 데이터세트는 EmpatheticDialogues로 동일합니까? response sampling을 위해 주어지는 컨텍스트는 어떤 것이 사용됩니까?
Abstract
- 우리는 공감 대화 생성을 위해 제안된 EmpCRL(Empathetic response based on in-context Commonsense reasoning and Reinforcement Learning) 방법을 소개합니다.
- 공감 대화 생성은 사용자의 감정을 감정적으로 이해하고 적절한 감정을 표현하는 응답을 생성하는 것을 목표로 합니다.
- 심리학 이론에 따르면, 공감은 애정과 인지라는 두 가지 주요 측면으로 구성됩니다.
- 그러나 기존 연구들은 감정 전파에 대한 세밀한 이해 부족과 사용자의 의도에 대한 추론에 제한이 있어서 공감 대화 응답의 품질에 영향을 미칩니다.
- 이를 위해, 우리는 현재 인기있는 대형 언어 모델과 멀티뷰 컨텍스트 추론을 결합하여 인지 경계를 넓혀주는 in-context learning을 사용합니다.
- 또한, 대화 내력과 감정 흐름을 공동으로 모델링하여 응답 감정을 추론하고 강화 학습을 통해 응답 감정과 다양성을 제어합니다.
- EmpatheticDialogues 데이터셋에서의 광범위한 실험 결과, 우리의 모델이 자동 및 인간 평가 모두에서 최신 기술 모델을 능가하는 것을 보여줍니다.
Introduction
- 인간-기계 대화 시스템의 급속한 발전으로 인해 공감 대화는 사회적 상호 작용과 사용자 경험에 중요한 역할을 하고 있다 (Hoffman, 2001).
- 공감적 대화 생성 작업은 기계가 사용자의 감정 상태와 대화 이력을 기반으로 일관된 감정적 표현을 가진 응답을 적응적으로 생성하도록 하는 것을 목표로 하며, 이를 통해 사용자와의 공감 연결을 강화한다.
- 초기의 공감적 대화 생성 연구는 사용자의 감정을 감지하고 그것을 응답에 통합하는 데 중점을 두었다.
- 예를 들어,
- mixture of empathetic listeners (Z. Lin, Madotto, Shin, Xu, & Fung, 2019),
- mimicking emotions for empathetic response generation (Majumder et al., 2020),
- generating empathetic responses with human-like intents (Chen, Li, & Yang, 2022)
- 등이 있다.
- 최근의 연구들은 commonsense reasoning을 중요한 요소로 포함시키고 있다.
- 예를 들어, 상식을 활용하여 더 많은 정보를 얻는 것(Sabour, Zheng, & Huang, 2022), 감정을 인식하고 지각적인 지식 선택(Wang et al., 2022), 두뇌 구조와 감정을 조화시키는 것(Zhou, Zheng, Wang, Zhang, & Huang, 2023) 등이 있다.
- 심리학 연구에서 공감의 두 가지 중요한 요소는 affection and cognition이다(Westbrook, Kennerley, & Kirk, 2011).
- Affection 은 주로 감정의 이해와 표현에 관심이 있으며, 인지는 주로 다른 사람의 생각과 의도에 대한 이해와 추론에 관심이 있다(Keskin, 2014).
- 최근의 일부 연구는 인지와 감정을 기반으로 공감을 모델링했다.
- 그러나 공감적 대화에는 인간의 인지와 감정이 행동하는 복잡한 과정이 관련되어 있으며, 기존의 접근 방식은 이러한 요소를 모델에 적절하게 통합하지 못하고 있다.
- 한편, 이전 모델은 주로 상식 추론에서 현재 발화만을 고려하고 맥락 정보를 무시하며, 모델의 약한 추론 능력은 응답의 정보 풍부성과 진실성을 제한한다는 점이 있다(Ghosal, Shen, Majumder, Mihalcea, & Poria, 2022).
- 다른 한편으로, 감정 추론과 감정 표현은 공감적 응답 생성에서 핵심적인 역할을 한다(D. Li et al., 2021)
- 그러나 기존의 연구들은 대화 감정의 미세한 모델링 및 대화에서 감정 전파의 전염성을 무시하는 경향이 있어, 모델의 공감적 응답 생성에서 감정 표현 능력이 제한된다.
- 그림 1은 실제 공감 대화의 예를 보여준다.
- 여기서 감정 과정은 감정 흐름으로 정의한다.
- 문맥 내 상식 추론을 통해 상식적 원인을 생성하고, 미세한 대화 감정 흐름을 모델링함으로써 발화자의 부작용적이고 암시적인 감정 상태를 인식할 수 있으며, 감정 예측으로부터 얻은 감정 신호를 통해 제어된 감정 응답 생성을 할 수 있습니다.
- 위의 목표를 달성하기 위해, 우리는 문맥 내 상식 추론과 강화 학습에 기반한 공감적 응답 생성(EmpCRL)을 제안합니다.
- 먼저, 다중 관점 문맥 추론을 위해 문맥 내 예제를 구성하고 ChatGPT을 사용하여 상식적 원인 문장을 추론합니다.
- 그런 다음, 대화 이력과 미세한 감정 흐름을 공동으로 모델링하여 응답에 필요한 감정을 예측합니다.
- 한편, 감정을 정확하게 제어하기 위해 강화 학습 접근법을 사용하여 activation 모델을 훈련합니다.
- 마지막으로, 예측된 감정을 제어 신호로 사용하여 상식적 원인 문장을 디코더에 주입하고 대화 이력과 함께 공감적 응답을 인지와 감정적 관점에서 생성합니다.
- 널리 사용되는 EmpatheticDialogues 데이터셋에 대한 광범위한 실험 결과는 EmpCRL이 자동 및 인간 평가 지표 모두에서 강력한 기준선을 능가한다는 것을 보여줍니다.
- Our contributions are summarized as follows:
- 우리는 ChatGPT의 추론 능력을 활용하여 문맥 학습 및 다중 관점 문맥 추론을 통해 상식적 원인 문장을 생성하여 대화 모델의 인지 능력을 향상시킵니다.
- 우리는 대화 감정 흐름을 모델링하여 미래 감정을 추론하고, 강화 학습을 사용하여 제어된 감정 응답 생성을 가능하게 합니다.
- EmpatheticDialogues 데이터셋에서의 자동 및 인간 평가는 우리의 제안 모델 EmpCRL이 강력한 기준선을 능가하며 더 합리적이고 다양한 공감적 응답을 생성할 수 있는 능력을 보여줍니다.
Related Work
- Empathetic Dialogue Generation
- 공감적 대화 생성 작업은 시스템이 인간 사용자의 감정과 공감하며 감정적 연결을 확립할 수 있는 응답을 생성하도록 하는 것을 목표로 합니다.
- Rashkin, Smith, Li 및 Boureau (2019)에 의해 EmpatheticDialogues 데이터셋이 공개된 이후로, 최근 몇 년간의 연구에서는 이 작업에 대한 다양한 접근 방식이 제안되었습니다.
- Z. Lin et al. (2019)은 공감 청취자의 혼합을 사용하여 공감적 응답을 생성합니다.
- Majumder et al. (2022)은 사례를 사용하여 대화 상대에게 공감을 신호하는 미묘한 스타일적 특성에 대한 생성 모델을 시작합니다.
- 더 최근에는 Zhao, Zhao, Lu 및 Qin (2023)이 명시적인 자기-타인 인식을 통해 공감적 응답을 생성하기 위한 EmpSOA를 제안합니다.
- 공감적 대화 생성의 성능을 향상하기 위해, 몇 가지 연구에서는 미세한 감정 인식을 통해 생성된 응답의 감정 상태를 더 잘 모델링하고 있습니다.
- 이러한 모델은 감정 레이블을 추가 입력으로 취하거나 생성된 응답을 감정 분류기를 통해 후처리함으로써 생성된 응답을 미리 정의된 감정과 더 일관되게 만듭니다.
- Q. Li et al. (2020)은 대화 수준의 그로스 그레인 감정과 토큰 수준의 미세 그레인 감정을 모두 활용합니다.
- Wang et al. (2022)은 공감적 대화 생성을 위한 시퀀스 코딩 및 감정 지식 상호 작용 접근 방식을 제안합니다.
- 그러나 이러한 접근 방식들은 여전히 대화 감정의 전염성 및 미래 감정 상태를 고려하지 않는 단점이 있습니다.
- Dialogue Commonsense Reasoning
- 대화 상식 추론은 공감적 대화 생성의 중요한 측면으로, 상식적 지식을 도입하여 생성된 응답의 합리성을 향상시키는 것을 목표로 합니다.
- 지난 연구에서는 ConceptNet (Speer, Chin, & Havasi, 2017)과 ATOMIC (Sap et al., 2019)과 같은 외부 지식 베이스를 사용하여 대화 모델의 상식 지식을 풍부하게 하는 여러 접근 방식이 있습니다.
- Q. Li, Li, Ren, Ren, and Chen (2022)는 외부 지식을 활용하여 공감적 대화 생성에서 감정을 명시적으로 이해하고 표현하기를 제안했습니다.
- Sabour et al. (2022)은 일반 지식을 활용하여 사용자의 상황에 대해 더 많은 정보를 얻고 생성된 응답에서 공감적 표현을 더욱 강화하기 위해 추가 정보를 사용했습니다.
- Zhou et al. (2023)은 공감적으로 응답하기 위해 coarse-grained and fine-grained cognition and affection을 조화시키기 위한 이중 수준 전략을 설계했습니다.
- 그러나 기존의 접근 방식은 대부분 문장 수준에서 상식 추론을 수행하며 대화 맥락 정보를 잘 통합하지 못하는 경향이 있습니다.
- 또한, 모델 크기의 제한으로 인해 추론 결과의 진실성과 합리성이 어느 정도 영향을 받을 수 있습니다.
- 따라서 우리는 대화 맥락 학습을 통해 인지적 경계를 넓히기 위해 대규모 언어 모델인 ChatGPT와 다중 관점 문맥 추론을 결합하여 사용합니다.
Methodology
- 우리가 제안하는 모델 EmpCRL의 개요는 도 2에 나와 있습니다.
- 이는 네 가지 모듈로 구성되어 있습니다: 상식 추론기, 감정 인식기, 공감 드라이버 및 응답 생성기.
- 상식 추론기는 ChatGPT를 사용하여 문맥 학습과 다중 관점 문맥 추론을 통해 상식적 원인 문장을 생성합니다.
- 감정 인식기는 대화 이력과 감정 흐름을 공동으로 모델링하여 미래 감정을 추론합니다.
- 공감 드라이버는 강화 학습을 통해 응답 감정과 다양성을 제어합니다.
- 응답 생성기는 위의 세 가지 모듈에서 얻은 정보를 통합하여 적절한 공감적 응답을 생성합니다.
Task Formulation
- 우리는 공감적 응답 생성 작업을 다음과 같이 정의합니다.
- 대화 이력은 교대로 발화 시퀀스 D = [u1,u2,...,un−1]로 구성됩니다.
- 여기서 ui = [w1,w2,...,wm]은 i번째 발화가 m개의 단어로 이루어진 것을 나타냅니다.
- 원본 데이터셋의 대화 수준에서 32개의 감정 클래스를 7개의 빈도가 높은 감정 클래스로 매핑하였습니다.
- 이는 기쁨, 분노, 슬픔, 혐오, 놀람, 공포 및 중립을 포함합니다.
- 그런 다음, 우리는 발화 수준에서 세밀한 감정으로 데이터셋을 레이블링합니다.
- 우리의 목표는 상식 추론과 감정 추론을 기반으로 대화 이력에 따라 공감적 응답 Y를 생성하는 것입니다.
- 즉 ERC처럼 각 문장에 따른 감정이 있고, 이 데이터를 이용하여 공감대화를 생성하는 테스크. 공감대화 생성시 감정만 이용하는건 아니고 상식 정보도 사용하겠다!
Commonsense Reasoner
- commonsense reasoner는 대화의 맥락에서 commonsense cause information를 모델링하여 후속 응답 생성에 기초를 제공합니다.
- 먼저, 우리는 CICERO v2 (Shen et al., 2022) 데이터셋을 문맥 내 예제 저장소로 선택합니다.
- CICERO v2는 이진 대화에서 이벤트 주변의 상식적 설명을 결정하기 위해 다중 관점에서 추론을 수행하는 문맥적 추론 데이터셋입니다.
- 현재 대화 맥락 D를 기반으로, 우리는 K개의 예제 대화를 이와 가장 유사한 것으로 선택하여 문맥 내 예제로 사용합니다 (Yang et al., 2022).
- 예제 저장소에는 r개의 예제 대화가 포함되어 있고, 각 예제 대화는 l개의 문장으로 구성되어 있다고 가정합니다.
- P = {p1, p2,..., pr}는 예제 저장소를 표시하며, 여기서 pi = {pi1 , pi2 ,..., pil }은 i번째 대화 예제를 나타냅니다(1 ≤ i ≤ r).
- 현재 대화와 문맥 내 예제 대화 간의 의미적 유사도 점수를 계산하기 위해 우리는 문장 인코더를 사용합니다.
- https://huggingface.co/cross-encoder/stsb-roberta-large
- 먼저, 문장 인코더를 사용하여 현재 대화와 예제 대화의 표현 벡터를 벡터화합니다.
- 이를 통해 대화 맥락 Demb의 표현 벡터와 예제 대화 Pi,emb의 표현 벡터를 얻습니다.
- Demb = {uemb1 ,uemb2 ,...,uembn−1 }
- Pi,emb = {pi,emb1 , pi,emb2 ,..., pi,embl }
- 그런 다음, 현재 대화의 각 문장과 예제 대화의 각 문장 간의 의미적 유사도 점수를 계산하여 점수 행렬 S를 얻습니다.
- 여기서 S ∈ R (n−1)×l이고 Si j는 대화 맥락의 i번째 문장과 예제 대화의 j번째 문장 간의 점수를 나타냅니다:
- 현재 대화의 각 문장들과 예제셋의 각 문장들과의 유사도 점수 계산
- 즉 예제 문장당 (n-1)xl 행렬의 점수가 계산되는 것
- 여기서 Sim은 의미적 유사도 점수 함수입니다.
- 점수 행렬 S를 기반으로, 대화 맥락과 가장 유사한 K개의 예제 대화를 문맥 내 예제로 선택합니다.
- 우리는 점수 행렬을 정렬하고 상위 K개의 예제 대화를 선택합니다:
- 근데 예제 대화의 점수가 여러 개가 있는데 이를 어떻게 하나의 점수로 만드는거지?
- 점수의 평균합을 사용하나? (즉 TopK 알고리즘이 언급이 없음)
- 유사한 컨텍스트를 사용하면 효과가 더 좋나? 그냥 다른 예제를 사용해도 될 것 같은데..
- 여기서 i는 대화 맥락과 가장 유사한 K개의 예제 대화의 인덱스를 나타냅니다.
- 이전 연구(Han et al., 2023)를 기반으로, 우리는 N을 4로 설정합니다.
- 그런 다음, ChatGPT 모델에 특정 템플릿과 함께 문맥 내 예제 I를 입력하여 상식 추론을 수행하고 상식적 원인 문장을 생성합니다.
- ChatGPT는 입력 내용을 기반으로 일관된 텍스트를 생성할 수 있는 강력한 대규모 언어 모델(LLM)입니다.
- 그런 다음 ChatGPT 모델은 상식적 원인 문장 C를 생성합니다:
- ChatGPT에 의해 생성된 상식적 원인 문장은 공감적 응답 생성의 인지적 기반으로 사용됩니다.
- 근데 사실 이러한 방법은 인퍼런스때 LLM이 필수적으로 들어가기 때문에 효율성이 떨어짐
- 어차피 LLM 인퍼런스를 할거라면 end-to-end로 생성하는 것과도 비교해봐야함
Emotion Perceiver
- 감정 인식기는 세밀한 발화 수준 감정 분류와 대화 이력 모델링을 기반으로 감정의 순차적 성질을 포착하여 미래 감정을 추론할 수 있습니다.
- 미래 감정인식 성능도 체크하나?
- 먼저, 사전 훈련된 EmoBERTa 모델 (Kim & Vossen, 2021)을 사용하여 각 발화 ui를 해당하는 문장 특성 벡터 표현 hi로 인코딩합니다.
- EmoBERTa는 RoBERTa 모델을 기반으로 한 다중 대화 감정 분류 데이터셋에서 구축된 발화 수준 감정 분류기로, 대화의 감정적 세부 사항을 포착할 수 있습니다.
- 우리는 대화 이력 D의 벡터 표현을 H = {h1,h2,...,hn−1}로 정의합니다.
- 이는 감정 추론이 맥락을 더 잘 활용할 수 있도록 대화 이력에서 감정 정보를 종합하는 것입니다.
- 감정 시퀀스에서 추론을 수행하기 위해, 이전 연구를 기반으로 조건부 랜덤 필드 (CRF) 모델을 설계합니다 (Song, Zang, Zhang, Hu, & Huang, 2022).
- 우리는 감정 시퀀스를 E = {e1, e2,..., en−1}로 표시하며, 여기서 ei는 i번째 발화에 해당하는 감정 레이블을 나타냅니다.
- CRF 모델에서 이전 감정 ei−1에서 현재 감정 ei로의 전이를 특성화하는 감정 전이 특성 함수 ftran(ei−1, ei)를 정의합니다.
- 또한, 대화 발화 특성 함수 fjoin(ei ,hi)를 정의하여 현재 감정 레이블 ei와 대화 발화 표현 벡터 hi를 공동으로 모델링하여 대화 발화와 현재 감정 간의 관계를 포착합니다.
- 각 감정 레이블 시퀀스 E에 대한 점수 O(E|H)는 다음과 같이 정의됩니다:
- wjoin 및 wtran은 해당 특징 함수의 가중치입니다.
- hi는 대화에서 i번째 발화에 해당하는 vector
- ei는 i번째 발화의 감정
- 마크로브 가정이 없나? 즉 미래의 발화를 위해, 이전의 모든 발화들을 활용하는 느낌
- fjoin과 ftran은 어떤 모델인가?
- 모든 가능한 감정 레이블 시퀀스 E에 대한 점수 O(E|H)를 계산함으로써, 우리는 가장 가능성이 높은 미래 감정 en을 추론합니다:
- 마지막으로, 추론으로 얻은 미래 감정 en을 기반으로, 우리는 미래 감정 감독 신호로 사용하여 응답을 생성합니다.
Empathy Driver
- 공감 드라이버는 감정 텍스트 생성의 정확한 제어를 위해 강화 학습을 사용하여 대화 생성 모델을 훈련시키는 것을 목표로 합니다.
- 구체적으로, 우리는 reference and activation models의 조합을 사용합니다.
- 정책 편향을 방지하기 위해 KL 발산이 사용됩니다.
- 공감 점수와 다양성 점수를 결합한 보상 모델을 사용하여 PPO 알고리즘을 사용하여 모델을 업데이트합니다 (Schulman, Wolski, Dhariwal, Radford, & Klimov, 2017).
- Environment
- 우리는 공감 대화 시스템을 환경으로 간주합니다.
- 이 환경에서 우리 모델은 주어진 입력에 감정 신호와 대화 이력이 연결된 것을 받아들이고, 그에 따른 공감적 응답을 출력합니다.
- 환경의 상태 s는 튜플 (x,a)로 나타낼 수 있으며, 여기서 x는 총 입력을 나타내고, a는 현재 응답을 나타냅니다.
- PPO Algorithm
- 우리는 PPO(PPO-based policy optimization) 기반의 정책 최적화 알고리즘을 사용하여 대화 생성 모델을 업데이트합니다.
- 구체적으로, 우리는 참조(reference) 및 활성화(activation) 모델의 조합을 사용합니다.
- 참조 모델은 정책 업데이트 중에 매개변수 업데이트를 수행하지 않으며 정책의 참조로 사용됩니다.
- 활성화 모델은 정책 생성을 위해 PPO 알고리즘을 사용하여 매개변수 업데이트를 수행합니다.
- DialoGPT 모델(Zhang et al., 2020)이 초기 참조 및 활성화 모델로 선택됩니다.
- 먼저, 두 모델은 입력 x를 각각 받아들이고 응답 a를 분리하여 출력합니다.
- 그런 다음 두 모델의 응답 사이의 유사성을 측정하기 위해 KL 발산을 사용하여 활성화 모델이 과도하게 벗어나지 않도록 합니다.
- KL 발산은 다음과 같이 정의됩니다:
- 여기서 πre f(·|s)는 참조 모델의 정책 분포를 나타내고, π(·|s)는 활성화 모델의 정책 분포를 나타냅니다.
- 정책 업데이트 단계에서는 PPO 알고리즘을 사용하여 활성화 모델의 정책 분포를 업데이트합니다.
- PPO는 정책의 경사를 기반으로한 알고리즘이며, 계산된 우월성과 열등성의 비율을 평가하여 정책을 업데이트합니다.
- chatgpt 방법을 그대로 따라한 듯
- Reward Model
- 보상 모델에서는 공감 보상과 다양성 보상을 도입합니다.
- 공감 보상 함수는 사전 훈련된 모델 DistilRoBERTa(Zhao, Zhao, & Lu, 2022)를 사용하여 점수를 매기며, 이는 모델이 생성한 응답의 감정이 주어진 감정과 얼마나 일치하는지를 측정하는 데 사용됩니다.
- 다음 턴의 발화를 생성하는데, 생성해야할 감정과 얼마나 일치하는지를 통해 reward 계산
- 근데 생각해보면, 모델은 꼭 하나의 감정만으로 응답을 할 필요는 없음.
- 공감응답이란 것이 꼭 해당 감정을 담는다고해서 성립되는게 아님.
- 즉 reward 설계가 미흡한 느낌
- 다양성 보상은 사전 훈련된 모델 DialogRPT을 사용하여 점수를 매기며, 이는 모델이 생성한 응답이 얼마나 다양한지를 측정하는 데 사용됩니다.
- 정확히 어떻게 다양한지를 측정한다는건지?
- 우리는 결합 보상 R을 설정합니다:
- 여기서 V(a)는 다양성 보상을 나타내고, Z(a)는 공감 보상을 나타냅니다.
- α와 β는 두 보상의 기여를 균형있게 조정하는 하이퍼파라미터입니다.
Response Generator
- 응답 생성기는 상식적 원인 정보 C, 미래 감정 정보 en 및 대화 이력 D를 입력으로 통합합니다.
- 공감 드라이버에서 얻은 활성화 모델을 미세 조정하여 최종적으로 목표 감정과 일치하는 공감적 응답을 생성합니다.
- 먼저, 세 가지 정보를 연결하여 융합 정보 F = [en]⊕D⊕C를 얻습니다.
- 그런 다음, 활성화 모델을 미세 조정합니다.
- 즉 further training 느낌이긴 하다.
- 왜냐하면 활성화모델이 이미 앞에서 학습됐기 때문
- 근데 그러면 같은 데이터세트로 2번 학습하는 것인가?
- 목표 응답 Y = [y1, y2,..., yk]가 유도된 토큰과 융합 메시지의 임베딩을 사용하여 응답 생성기에서 생성된다고 가정합니다.
- 여기서 k는 길이를 나타냅니다.
- 각 디코딩 시간 단계 t에서 단어 임베딩 yj<t 및 디코딩을 위한 융합 정보를 읽습니다.
- 응답 생성에 대한 표준 음의 로그 우도를 손실 함수로 사용합니다:
- 여기서 k는 응답의 길이이고, L은 예측된 응답 손실입니다.
- yj<t는 생성된 토큰의 임베딩입니다.
- 손실 함수를 경사 하강법을 사용하여 최소화하고 매개변수 업데이트를 통해 모델의 성능을 점진적으로 향상시킴으로써, 우리는 대상의 감정과 더 잘 공감하는 공감적인 응답을 생성하는 모델의 능력을 달성했습니다.
Experiments
Datasets
- 저희 실험은 EmpatheticDialogues 데이터셋 (Rashkin et al., 2019)을 기반으로 진행되었습니다.
- 이는 각 세션마다 3-5개의 대화 턴을 포함하는 대규모 다중 턴 공감 대화 데이터셋으로, 총 25,000개의 대화 세션을 포함하고 있습니다.
- EmpatheticDialogues 데이터셋은 32개의 감정 클래스를 정의하며, 각 대화는 감정 클래스와 상황을 기반으로 생성됩니다.
- 우리는 대화의 발언 수준에서 세밀한 감정으로 데이터셋을 라벨링하였습니다.
- 원래 데이터셋 정의를 기반으로, 우리는 데이터셋의 80%, 10%, 10%를 각각 훈련, 검증 및 테스트에 사용하였습니다.
Baselines
- 우리는 EmpCRL을 세 가지 대표적인 베이스라인 그룹과 비교하였으며, 베이스라인의 대화 수준 감정 분류를 발언 수준의 미래 감정 예측으로 적용하였습니다:
- (1) Transformer 기반 모델:
- KEMP (Q. Li et al., 2022): 상식 지식과 감정 어휘의 지식을 모두 사용하여 공감적인 응답을 생성하는 모델.
- CEM (Sabour et al., 2022): 생성된 응답에서 공감 표현을 강화하기 위해 상식을 활용하는 모델.
- CASE (Zhou et al., 2023): 대략적인 및 세부적인 인식 및 영향을 조정하여 공감을 향상시키는 모델.
- EmpSOA (Zhao et al., 2023): 명시적 자기-타인 인식을 통해 공감적인 응답을 생성하는 모델.
- (2) PLM 기반 모델:
- DialoGPT (Zhang et al., 2020): 대화 응용 상황에 특화된 대화 생성 모델. 우리는 중간 버전을 선택했습니다.
- LEMPEx (Majumder et al., 2022): 인간 커뮤니케이션 요소를 사용하여 공감적인 응답을 생성하는 모델.
- (3) LLM 기반 모델:
- EmpGPT-3 (Lee, Lim, & Choi, 2022): 프롬프트 기반 문맥 학습을 사용하여 GPT-3에서 공감적인 응답을 생성하는 모델.
Implementation Details
- 우리는 모든 모델을 PyTorch 프레임워크를 사용하여 구현하였습니다.
- EmpCRL의 응답 생성기는 DialoGPT의 중간 버전을 기반으로 하며, 상식적 원인 파악기의 ChatGPT 버전은 GPT-3.5-Turbo입니다.
- 훈련에는 β1 = 0.9 및 β2 = 0.9를 갖는 AdamW 옵티마이저를 사용하였습니다.
- 훈련 세트의 미니 배치 크기를 32로 설정하였으며, 추론 중에는 배치 크기를 1로 설정하고 최대 40개의 디코딩 단계를 사용하였습니다.
- 결합 보상 R에 대해 α = 0.5 및 β = 0.5로 설정하였습니다.
- 모든 모델은 NVIDIA RTX 3090 GPU에서 훈련되었습니다.
Evaluation Metrics
Automatic Evaluation
- 대부분의 기존 자동 평가 방법은 생성된 응답을 골드 응답과 직접 비교합니다.
- 그러나 동일한 대화 이력에 대해 많은 합리적인 공감적 응답이 있을 수 있습니다.
- 이전 연구 (C.-W. Liu et al., 2016)는 BLEU (Papineni, Roukos, Ward, & Zhu, 2002) 및 ROUGE (C.-Y. Lin, 2004)와 같은 지표가 인간 판단과 상관 관계가 없다는 것을 보였습니다.
- 따라서 우리는 실험에서 이러한 지표를 사용하지 않았으며, 대신 다음과 같은 지표를 고려했습니다:
- - PPL (Serban et al., 2015): 퍼플렉서티 (PPL)는 확률 모델이 주어진 샘플을 얼마나 잘 예측하는지를 측정합니다.
- - Dist-n (J. Li, Galley, Brockett, Gao, & Dolan, 2016): 생성된 결과물에서 고유한 n-그램의 비율을 측정하여 다양성을 나타냅니다.
- - EAD-n (S. Liu et al., 2022): 기대값 조정 차이 점수를 의미합니다. 긴 문장의 다양성을 평가하는 데 사용됩니다.
- - INF ACC (I-ACC) (D. Li et al., 2021): 세부적인 감정 추론의 정확도를 측정합니다. 높은 INF ACC는 모델이 더 나은 응답 감정 추론 능력을 갖고 있다는 것을 나타냅니다.
- - EXP ACC (E-ACC) (Pascual et al., 2021): 세부적인 감정 표현의 정확도를 측정합니다. 높은 EXP ACC는 모델이 감정에 더 잘 대응하는 능력을 갖고 있다는 것을 나타냅니다.
Human Evaluation
- 우리는 다음 측면에서 응답의 품질을 평가합니다:
- (1) 일관성 (Coh.): 어떤 응답이 콘텐츠에서 더 일관성 있고 문맥과 관련이 더 있는지.
- (2) 공감 (Emp.): 어떤 응답이 사용자의 상황을 더 잘 이해하고 더 적절한 감정을 보여주는지.
- (3) 정보 전달 (Inf.): 어떤 응답이 더 많은 정보를 전달하는지.
- 우리는 무작위로 선택한 100개의 대화를 고르고 각각의 응답을 3명의 크라우드소싱 워커에게 평가하도록 지정했습니다.
- 각 측면은 1부터 5까지의 척도를 가지고 있습니다.
Results and Analysis
Automatic Evaluation Results
- Table 1의 상단은 자동 평가 지표 값에 대한 평가 결과를 보고합니다.
- 우리는 EmpCRL이 대부분의 자동 평가 지표에서 베이스라인을 현저하게 능가한다는 것을 관찰합니다.
- Dist-n 및 EAD-n의 결과는 EmpCRL이 베이스라인보다 더 다양한 응답을 생성한다는 것을 보여줍니다.
- 우리 모델 EmpCRL은 최소 퍼플렉서티를 달성하여 생성된 응답의 전반적인 품질이 베이스라인보다 높다는 것을 시사합니다.
- 또한, INF ACC 및 EXP ACC 점수는 EmpCRL이 유리한 감정 추론과 제어된 응답 생성을 갖고 있음을 나타냅니다.
- EmpGPT-3는 응답을 생성하기 위해 GPT-3를 사용하며 프롬프트를 사용하여 계산되는 PPL이 다른 베이스라인과 다르기 때문에 표시되지 않습니다.
- 또한, EmpGPT-3은 세부 조정이 아닌 프롬프트 기반 문맥 학습을 사용하므로 대부분의 지표에서 EmpCRL보다 성능이 떨어집니다.
Ablation Studies
- EmpCRL를 보다 잘 연구하기 위해 우리는 ablation연구를 수행했습니다.
- ablation연구 결과는 Table 1의 하단에 나와 있습니다.
- 구체적으로, 우리는 EmpCRL의 네 가지 변형을 설계했습니다:
- (1) w/o Com: 문맥 내 공감적 사고 기능을 제거하고 공감적 사고 정보를 사용하지 않음.
- (2) w/o Emo: 감정 인식기를 제거하고 감정 추론 정보를 사용하지 않음.
- (3) w/o Emp: 강화 학습의 공감 보상을 제거하고 다양성 보상만 사용함.
- (4) w/o Div: 강화 학습을 위한 다양성 보상을 제거하고 공감 보상만 사용함.
- 결과는 각 구성 요소가 최종 성능에 기여한다는 것을 보여줍니다.
- 동일한 감정 인식기가 여러 변형에 사용되었으므로 I-ACC 점수는 표시되지 않습니다.
- 공감적 사고와 감정 추론이 연구 결과에 영향을 미치며, 이는 인식자의 감정을 이해하기 위해 인지적 및 감정적 인식 모두가 필요하다는 것을 시사합니다.
- 공감적 사고는 응답의 다양성을 향상시키지만 PPL을 약간 악화시킵니다.
- 공감 보상의 제거는 감정 표현의 한계로 이어집니다.
- 또한, 다양성 보상의 제거는 다양한 응답을 생성하는 데 다양성 보상의 효과적인 사용을 시사하는 Dist-n 및 EAD-n 점수의 큰 감소로 이어집니다.
Human Evaluation Results
- Table 2는 인간 평가 결과를 보여줍니다.
- EmpCRL은 모든 측면에서 베이스라인을 능가했으며, 이는 EmpCRL이 일관성, 공감 및 정보 전달 점수에서 최고의 성능을 달성했음을 시사합니다.
- 이는 EmpCRL이 문맥 속 공감적인 공감과 감정 제어를 통해 이루어진 더 공감적이고 정보 전달력이 뛰어나며 일관된 응답을 생성할 수 있다는 것을 확인합니다.
- 한편, 우리는 Fleiss’ kappa (κ) (Fleiss, 1971)를 사용하여 전체 평가자 간의 일관성을 측정했습니다.
- [0.41,0.6] 범위의 일관성 비율은 중간 정도의 합의를 나타냅니다.
Conclusions
- 본 논문에서는 EmpCRL 모델을 제안하여 문맥 속 공감적인 공감과 감정 제어를 통해 조절 가능한 공감적인 응답을 생성합니다.
- 우리는 ChatGPT를 사용하여 다중 관점 문맥적 추론을 위한 문맥 속 샘플을 구성합니다.
- 또한, 대화 기록과 감정 흐름을 공동으로 모델링하여 응답 감정을 예측합니다.
- 우리는 또한 제어된 감정 응답 생성을 위해 강화 학습을 사용합니다.
- 벤치마크 지표를 기반으로 한 광범위한 실험 결과는 EmpCRL이 최첨단 베이스라인 모델을 능가함을 보여주며, EmpCRL이 더 공감적인 응답을 생성하는 데 우수함을 입증합니다.
- 향후 연구에서는 대형 언어 모델과 공감적 대화 생성의 더 깊은 결합에 대해 연구할 것입니다.
Reference
- https://drive.google.com/file/d/1k7nhsVGzTelfGx5ramKzyzRk5mJLb4bB/view?usp=drive_link
- https://aclanthology.org/2024.lrec-main.509/
댓글
댓글 쓰기