ECR-Chain: Advancing Generative Language Models to Better Emotion-Cause Reasoners through Reasoning Chains
<|reference_start|>ECR-Chain: Advancing Generative Language Models to Better Emotion-Cause Reasoners through Reasoning Chains: Understanding the process of emotion generation is crucial for analyzing the causes behind emotions. Causal Emotion Entailment (CEE), an emotion-understanding task, aims to identify the causal utterances in a conversation that stimulate the emotions expressed in a target utterance. However, current works in CEE mainly focus on modeling semantic and emotional interactions in conversations, neglecting the exploration of the emotion-generation process. This hinders the models from deeply understanding emotions, restricting their ability to produce explainable predictions. In this work, inspired by the emotion generation process of "stimulus-appraisal-emotion" in the cognitive appraisal theory, we introduce a step-by-step reasoning method, Emotion-Cause Reasoning Chain (ECR-Chain), to infer the stimulus from the target emotional expressions in conversations. Specifically, we first introduce the ECR-Chain to ChatGPT via few-shot prompting, which significantly improves its performance on the CEE task. We further propose an automated construction process to utilize ChatGPT in building an ECR-Chain set, which can enhance the reasoning abilities of smaller models through supervised training and assist the Vicuna-7B model in achieving state-of-the-art CEE performance. Moreover, our methods can enable these generative language models to effectively perform emotion-cause reasoning in an explainable manner. Our code, data and more details are at https://github.com/hzp3517/ECR-Chain.<|reference_end|>
@article{huang2024ecr-chain:,
    title={ECR-Chain: Advancing Generative Language Models to Better Emotion-Cause
  Reasoners through Reasoning Chains},
    author={Zhaopei Huang, Jinming Zhao, Qin Jin},
    journal={arXiv preprint arXiv:2405.10860},
    year={2024},
    archivePrefix={arXiv},
    eprint={2405.10860},
    primaryClass={cs.CL}
}