For those enquiring about how to extract visual and audio features, please check this out: https://github.com/soujanyaporia/MUStARD
| Fecha | Anuncios |
|---|---|
| 10/03/2024 | Si está interesado en IQ Testing LLMS, consulte nuestro nuevo trabajo: Algopuzzlevqa |
| 03/08/2021 | ? ? Hemos lanzado un nuevo conjunto de datos M2H2: un conjunto de datos hindi multimodal multimodal para el reconocimiento de humor en las conversaciones. Mira: M2H2. Las líneas de base para el conjunto de datos M2H2 se crean en función de Dialoguernn y BCLSTM. |
| 18/05/2021 | ? ? Hemos lanzado un nuevo repositorio que contiene modelos para resolver el problema del reconocimiento de la causa emocional en las conversaciones. Compruébalo: Extracción de causa emocional. Gracias a Pengfei Hong por compilar esto. |
| 24/12/2020 | ? ? ¿Interesado en el tema de reconocer las causas de la emoción en las conversaciones? Acabamos de lanzar un conjunto de datos para esto. Dirígete a https://github.com/declare-lab/reccon. |
| 10/06/2020 | ? ? Nuevo documento y Sota en el reconocimiento de emociones en las conversaciones. Consulte el directorio Cosmic para el código. Lea el documento - Cósmico: conocimiento común para la identificación de emociones en las conversaciones. |
| 30/09/2020 | Se han lanzado nuevos documentos y líneas de base en la comprensión del diálogo a nivel de expresión. Lea nuestra comprensión del diálogo de nivel de expresión en papel: un estudio empírico. Bifurca los códigos. |
| 26/07/2020 | Se ha lanzado un nuevo código de diálogogcn. Visite https://github.com/declare-lab/conv-emotion/tree/master/dialogggcn-mianzhang. Todo el crédito va al Mian Zhang (https://github.com/mianzhang/) |
| 11/07/2020 | ¿Interesado en leer los documentos sobre ERC o tareas relacionadas como la detección de sarcasmo en las conversaciones? Hemos compilado una lista de lectura completa para los documentos. Visite https://github.com/declare-lab/awesome-emotion-recognition-in-conversations |
| 06/06/2020: | Pronto se lanzarán nuevos resultados de vanguardia para la tarea ERC. |
| 06/06/2020: | El repositorio de conv-emoción se mantendrá en https://github.com/declare-lab/ |
| 22/12/2019: | Se ha lanzado el código para DialogueGCN. |
| 10/11/2019: | Nuevo documento: aprendizaje de transferencia conversacional para el reconocimiento de emociones. |
| 08/08/2019: | Nuevo documento sobre el reconocimiento de emociones en la conversación (ERC). |
| 06/06/2019: | Se han lanzado características y códigos para entrenar a diálogo en el conjunto de datos MELD. |
| 20/11/2018: | Se ha lanzado la versión de extremo a extremo de Icon y Dialoguernn. |
Cosmic es el modelo de mejor rendimiento en este repositorio y visite los enlaces a continuación para comparar los modelos en diferentes conjuntos de datos ERC.
Este repositorio contiene implementaciones para varios reconocimientos de emociones en los métodos de conversaciones, así como algoritmos para reconocer la causa de la emoción en las conversaciones:
A diferencia de otros modelos de detección de emociones, estas técnicas consideran los estados de fiesta y las dependencias entre partidos para modelar el contexto de conversación relevante para el reconocimiento de emociones. El propósito principal de todas estas técnicas es previamente un modelo de detección de emociones para la generación de diálogo empático.

El reconocimiento de emociones puede ser muy útil para la generación de diálogo empático y afectivo -

Estas redes esperan información de etiqueta de emoción/sentimiento y altavoz para cada enunciado presente en un diálogo como
Party 1: I hate my girlfriend (angry)
Party 2: you got a girlfriend?! (surprise)
Party 1: yes (angry)
Sin embargo, el código se puede anunciar para realizar tareas en las que solo están disponibles las expresiones anteriores, sin sus etiquetas correspondientes, ya que el contexto y el objetivo es etiquetar solo el enunciado presente/objetivo. Por ejemplo, el contexto es
Party 1: I hate my girlfriend
Party 2: you got a girlfriend?!
el objetivo es
Party 1: yes (angry)
donde la emoción objetivo está enojada . Además, este código también se puede moldear para entrenar la red de manera de extremo a extremo. Pronto empujaremos estos cambios útiles.
| Métodos | Iemocap | DailyDialog | Fustrar | Emorynlp | |||
|---|---|---|---|---|---|---|---|
| W-AVG F1 | Macro F1 | Micro F1 | W-AVG F1 (3-Cls) | W-AVG F1 (7-Cls) | W-AVG F1 (3-Cls) | W-AVG F1 (7-Cls) | |
| Roberta | 54.55 | 48.20 | 55.16 | 72.12 | 62.02 | 55.28 | 37.29 |
| Diáloga de Roberta | 64.76 | 49.65 | 57.32 | 72.14 | 63.61 | 55.36 | 37.44 |
| Roberta Cosmic | 65.28 | 51.05 | 58.48 | 73.20 | 65.21 | 56.51 | 38.11 |
Cosmic aborda la tarea del reconocimiento de emociones de nivel de expresión en conversaciones utilizando conocimiento de sentido común. Es un nuevo marco que incorpora diferentes elementos de sentido común, como estados mentales, eventos y relaciones causales, y se basa en ellos para aprender interacciones entre los interlocutores que participan en una conversación. Los métodos actuales de vanguardia a menudo encuentran dificultades en la propagación del contexto, la detección de cambios de emoción y la diferenciación entre las clases de emociones relacionadas. Al aprender distintas representaciones de sentido común, Cosmic aborda estos desafíos y logra nuevos resultados de última generación para el reconocimiento de emociones en cuatro conjuntos de datos conversacionales de referencia diferentes.

Primero descargue las funciones de Roberta y Comet aquí y manténgalas en directorios apropiados en COSMIC/erc-training . Luego, la capacitación y la evaluación en los cuatro conjuntos de datos deben realizarse de la siguiente manera:
python train_iemocap.py --active-listenerpython train_dailydialog.py --active-listener --class-weight --residualpython train_meld.py --active-listener --attention simple --dropout 0.5 --rec_dropout 0.3 --lr 0.0001 --mode1 2 --classify emotion --mu 0 --l2 0.00003 --epochs 60python train_meld.py --active-listener --class-weight --residual --classify sentimentpython train_emorynlp.py --active-listener --class-weight --residualpython train_emorynlp.py --active-listener --class-weight --residual --classify sentimentCite el siguiente documento si encuentra este código útil en su trabajo.
COSMIC: COmmonSense knowledge for eMotion Identification in Conversations. D. Ghosal, N. Majumder, A. Gelbukh, R. Mihalcea, & S. Poria. Findings of EMNLP 2020.TL-ERC es un marco basado en el aprendizaje de transferencia para ERC. Pre-Entrena un modelo de diálogo generativo y transfiere pesos a nivel de contexto que incluyen el conocimiento afectivo en el modelo discriminativo objetivo para ERC.

Configurar un entorno con conda:
conda env create -f environment.yml
conda activate TL_ERC
cd TL_ERC
python setup.py Descargue archivos de conjunto de datos iemocap, diarydialog y guárdelos en ./datasets/ .
Descargue los pesos previamente capacitados de hred en los conjuntos de datos de Cornell y Ubuntu y guárdelos en ./generative_weights/
[Opcional]: para entrenar nuevos pesos generativos de los modelos de diálogo, consulte https://github.com/ctr4si/a-hierarchical-latent-tructure-for-variational-conversation-modeling.
cd bert_modelpython train.py --load_checkpoint=../generative_weights/cornell_weights.pkl --data=iemocap .cornell a ubuntu e iemocap a dailydialog para otras combinaciones de conjuntos de datos.load_checkpoint para evitar inicializar pesos contextuales.configs.pypython iemocap_preprocess.py . Del mismo modo para dailydialog .Cite el siguiente documento si encuentra este código útil en su trabajo.
Conversational transfer learning for emotion recognition. Hazarika, D., Poria, S., Zimmermann, R., & Mihalcea, R. (2020). Information Fusion.DialogueGCN (red convolucional del gráfico de diálogo), es un enfoque de red neuronal gráfica basado en ERC. Aprovechamos la dependencia de los interlocutores a sí mismo e entre hablantes para modelar el contexto conversacional para el reconocimiento de emociones. A través de la red gráfica, DialogueGCN aborda los problemas de propagación de contexto presentes en los métodos actuales basados en RNN. DialogueGCN es naturalmente adecuado para diálogos multipartidistas.

Nota : Pytorch geométrica hace un uso intensivo de las operaciones atómicas de CUDA y es una fuente de no determinismo. Para reproducir los resultados reportados en el documento, recomendamos usar el siguiente comando de ejecución. Tenga en cuenta que este script se ejecutará en CPU. Obatinamos puntajes F1 promedio ponderados de 64.67 en nuestra máquina y 64.44 en Google Colaboratory para el conjunto de datos IEMOCAP con el siguiente comando.
python train_IEMOCAP.py --base-model 'LSTM' --graph-model --nodal-attention --dropout 0.4 --lr 0.0003 --batch-size 32 --class-weight --l2 0.0 --no-cudaCite el siguiente documento si encuentra este código útil en su trabajo.
DialogueGCN: A Graph Convolutional Neural Network for Emotion Recognition in Conversation. D. Ghosal, N. Majumder, S. Poria, N. Chhaya, & A. Gelbukh. EMNLP-IJCNLP (2019), Hong Kong, China.Implementación de Pytorch al documento "DialogueGcn: una red neuronal convolucional gráfica para el reconocimiento de emociones en la conversación".
Puede ejecutar todo el proceso muy fácilmente. Tome el Corpus Iemocap, por ejemplo:
./scripts/iemocap.sh preprocess./scripts/iemocap.sh train| - | Conjunto de datos | F1 ponderado |
|---|---|---|
| Original | Iemocap | 64.18% |
| Esta implementación | Iemocap | 64.10% |
Mian Zhang (Github: Mianzhang)
Cite el siguiente documento si encuentra este código útil en su trabajo.
DialogueGCN: A Graph Convolutional Neural Network for Emotion Recognition in Conversation. D. Ghosal, N. Majumder, S. Poria, N. Chhaya, & A. Gelbukh. EMNLP-IJCNLP (2019), Hong Kong, China.Dialoguernn es básicamente una red neuronal recurrente personalizada (RNN) que perfila a cada orador en una conversación/diálogo sobre la marcha, mientras que modela el contexto de la conversación al mismo tiempo. Este modelo se puede extender fácilmente al escenario multipartidista. Además, se puede utilizar como modelo de previación para la generación de diálogo empático.
Nota : La configuración predeterminada (hiperparámetros y argumentos de línea de comandos) en el código está destinada a Bidialoguernn+ATT. El usuario necesita optimizar la configuración para otras variantes y cambios. 
Extraiga el contenido de DialogueRNN_features.zip .
python train_IEMOCAP.py <command-line arguments>python train_AVEC.py <command-line arguments>--no-cuda : no usa GPU--lr : tasa de aprendizaje--l2 : L2 Peso de regularización--rec-dropout : desacuerdo recurrente--dropout : abandono--batch-size : tamaño por lotes--epochs : número de épocas--class-weight : Class Weight (no aplicable para AVEC)--active-listener : modo Lisnener explícito--attention : Tipo de atención--tensorboard : habilita el registro de placa tensor--attribute : atributo 1 a 4 (solo para avec; 1 = valencia, 2 = activación/excitación, 3 = anticipación/expectativa, 4 = potencia)Cite el siguiente documento si encuentra este código útil en su trabajo.
DialogueRNN: An Attentive RNN for Emotion Detection in Conversations. N. Majumder, S. Poria, D. Hazarika, R. Mihalcea, E. Cambria, and G. Alexander. AAAI (2019), Honolulu, Hawaii, USAInteractive Conversational Memory Network (ICON) es un marco de detección de emociones multimodal que extrae características multimodales de videos conversacionales y modela jerárquicamente las influencias emocionales textit {self} y textit {inter-speaker} en recuerdos globales. Tales recuerdos generan resúmenes contextuales que ayudan a predecir la orientación emocional de los videos de expresión.

cd ICON
Descomprima los datos de la siguiente manera:
/ICON/IEMOCAP/data/ . Comando de muestra para lograr esto: unzip {path_to_zip_file} -d ./IEMOCAP/Entrena el modelo de icono:
python train_iemocap.py para iemocapICON: Interactive Conversational Memory Networkfor Multimodal Emotion Detection. D. Hazarika, S. Poria, R. Mihalcea, E. Cambria, and R. Zimmermann. EMNLP (2018), Brussels, Belgium CMN es un marco neuronal para la detección de emociones en conversaciones diádicas. Aprovecha las señales mutlimodales de las modalidades de texto, audio y visuales. Incorpora específicamente dependencias específicas de los altavoces en su arquitectura para el modelado de contexto. Luego se generan resúmenes a partir de este contexto utilizando redes de memoria de múltiples saltos. 
cd CMN
Descomprima los datos de la siguiente manera:
/CMN/IEMOCAP/data/ . Comando de muestra para lograr esto: unzip {path_to_zip_file} -d ./IEMOCAP/Entrena el modelo de icono:
python train_iemocap.py para iemocapCite el siguiente documento si encuentra este código útil en su trabajo.
Hazarika, D., Poria, S., Zadeh, A., Cambria, E., Morency, L.P. and Zimmermann, R., 2018. Conversational Memory Network for Emotion Recognition in Dyadic Dialogue Videos. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers) (Vol. 1, pp. 2122-2132).BC-LSTM-PYTORCH es una red para usar el contexto para detectar la emoción de un enunciado en un diálogo. El modelo es simple pero eficiente que solo usa un LSTM para modelar la relación temporal entre las expresiones. En este repositorio, dimos los datos de la Tarea 3 de Semeval 2019. Hemos utilizado y proporcionado los datos publicados por la Tarea 3 de Semeval 2019: organizadores de "reconocimiento de emociones en contexto". En esta tarea, solo se han proporcionado 3 enunciados: Utterance1 (User1), Utterance2 (User2), Utterance3 (User1) consecutivamente. La tarea es predecir la etiqueta Etiqueta de expresión3. No se ha proporcionado la etiqueta emocional de cada enunciado. Sin embargo, si sus datos contienen la etiqueta de la etiqueta de cada enunciado, aún puede usar este código y adaptarlo en consecuencia. Por lo tanto, este código sigue siendo aplejable para los conjuntos de datos como Mosi, Mosei, Iemocap, Avec, DailyDialogue, etc. BC-LSTM no utiliza información de altavoces como CMN, Icon y Dialoguernn.

cd bc-LSTM-pytorch
Entrena el modelo BC-LSTM:
python train_IEMOCAP.py para iemocapCite el siguiente documento si encuentra este código útil en su trabajo.
Poria, S., Cambria, E., Hazarika, D., Majumder, N., Zadeh, A. and Morency, L.P., 2017. Context-dependent sentiment analysis in user-generated videos. In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers) (Vol. 1, pp. 873-883).Implementación de Keras de BC-LSTM .
cd bc-LSTM
Entrena el modelo BC-LSTM:
python baseline.py -config testBaseline.config para iemocapCite el siguiente documento si encuentra este código útil en su trabajo.
Poria, S., Cambria, E., Hazarika, D., Majumder, N., Zadeh, A. and Morency, L.P., 2017. Context-dependent sentiment analysis in user-generated videos. In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers) (Vol. 1, pp. 873-883).Este repositorio también contiene implementaciones de diferentes arquitecturas para detectar la causa emocional en las conversaciones.


| Modelo | emo_f1 | POS_F1 | neg_f1 | macro_avg |
|---|---|---|---|---|
| ECPE-2D Cross_Road (0 capa de transformación) | 52.76 | 52.39 | 95.86 | 73.62 |
| ECPE-2D Window_Constranned (1 capa de transformación) | 70.48 | 48.80 | 93.85 | 71.32 |
| ECPE-2D Cross_Road (2 capa de transformación) | 52.76 | 55.50 | 94.96 | 75.23 |
| Ecpe-mll | - | 48.48 | 94.68 | 71.58 |
| Causa de emoción de rango | - | 33.00 | 97.30 | 65.15 |
| Base Roberta | - | 64.28 | 88.74 | 76.51 |
| Roberta-Large | - | 66.23 | 87.89 | 77.06 |

Cita: Cite los siguientes documentos si usa este código.

Cita: Cite los siguientes documentos si usa este código.

Cita: Cite los siguientes documentos si usa este código.
Las líneas de base Roberta y Spanbert como se explican en el documento de Recon original. Consulte esto.
Cita: Cite los siguientes documentos si usa este código.