¿Implementación oficial de PyTorch y conjunto de evaluación de EmoCause de nuestro documento EMNLP 2021?
Hyunwoo Kim, Byeongchang Kim y Gunhee Kim. Toma de perspectiva y pragmática para generar respuestas empáticas centradas en las causas de las emociones. EMNLP , 2021 [Artículo]
Si utiliza los materiales de este repositorio como parte de cualquier investigación publicada, le pedimos que cite el siguiente artículo:
@inproceedings { Kim:2021:empathy ,
title = { Perspective-taking and Pragmatics for Generating Empathetic Responses Focused on Emotion Causes } ,
author = { Kim, Hyunwoo and Kim, Byeongchang and Kim, Gunhee } ,
booktitle = { EMNLP } ,
year = 2021
}
Nuestro código está construido sobre el marco ParlAI. Le recomendamos crear un entorno conda de la siguiente manera
conda env create -f environment.yml
y activarlo con
conda activate focused-empathy
python -m spacy download en
EmoCause es un conjunto de datos de palabras de causa emocional anotadas en situaciones emocionales del conjunto de prueba y válido de EmpatheticDialogues. El objetivo es reconocer palabras que causan emociones en oraciones entrenando solo en etiquetas de emociones a nivel de oración sin etiquetas a nivel de palabras ( es decir, reconocimiento de causas de emociones débilmente supervisado ). EmoCause se basa en el hecho de que los humanos no reconocen la causa de las emociones mediante el aprendizaje supervisado en etiquetas de causa a nivel de palabras. Por lo tanto, no proporcionamos un conjunto de capacitación.
Puede descargar el conjunto de evaluación de EmoCause [aquí].
Tenga en cuenta que el conjunto de datos se descargará automáticamente cuando ejecute el siguiente comando de experimento.
#Emoción | Tipo de etiqueta | #Etiqueta/Enunciado | #Declaración | |
---|---|---|---|---|
EmoCausa | 32 | Palabra | 2.3 | 4.6K |
{
"original_situation": the original situations in the EmpatheticDialogues,
"tokenized_situation": tokenized situation utterances using spacy,
"emotion": emotion labels,
"conv_id": id for each corresponding conversation in EmpatheticDialogues,
"annotation": list of tuples: (emotion cause word, index),
"labels": list of strings containing the emotion cause words
}
Todos los modelos correspondientes se descargarán automáticamente al ejecutar los siguientes comandos.
También proporcionamos enlaces de descarga manual: [GEE] [Finetuned Blender]
Puede evaluar nuestro Estimador de emociones generativas (GEE) propuesto en el conjunto de evaluación EmoCause.
python eval_emocause.py --model agents.gee_agent:GeeCauseInferenceAgent --fp16 False
Puede evaluar nuestro enfoque para generar respuestas empáticas enfocadas además de un Blender ajustado (¿No está familiarizado con Blender? ¡Vea aquí!).
python eval_empatheticdialogues.py --model agents.empathetic_gee_blender:EmpatheticBlenderAgent --model_file data/models/finetuned_blender90m/model --fp16 False --empathy-score False
Agregar el indicador --alpha 0
ejecutará Blender sin pragmática. También puedes probar el distractor aleatorio (Plain S1) agregando --distractor-type random
.
Para medir también las puntuaciones de Interpretación y Exploración, establezca --empathy-score
en True
. Descargará automáticamente los modelos de RoBERTa ajustados en EmpatheticDialogues. Para obtener más detalles sobre las puntuaciones de empatía, visite el repositorio original.
Agradecemos a los revisores anónimos por sus útiles comentarios sobre este trabajo.
Esta investigación fue apoyada por el Samsung Research Funding Center de Samsung Electronics con el número de proyecto SRFCIT210101. Los recursos informáticos y el estudio humano cuentan con el apoyo del Programa de Investigación del Cerebro de la Fundación Nacional de Investigación de Corea (NRF) (2017M3C7A1047860).
Comuníquese con Hyunwoo Kim en hyunw.kim en vl dot snu dot ac dot kr.
Este repositorio tiene licencia del MIT. Consulte el archivo de LICENCIA para obtener más detalles.