For those enquiring about how to extract visual and audio features, please check this out: https://github.com/soujanyaporia/MUStARD
| Date | Annonces |
|---|---|
| 10/03/2024 | Si vous êtes intéressé par IQ Testing LLMS, consultez notre nouveau travail: Algopuzzzlevqa |
| 03/08/2021 | ? ? Nous avons publié un nouvel ensemble de données M2H2: un ensemble de données hindi multimodal multimodal pour la reconnaissance de l'humour dans les conversations. Vérifiez-le: M2H2. Les lignes de base de l'ensemble de données M2H2 sont créées sur la base de Dialoguerernn et BCLSTM. |
| 18/05/2021 | ? ? Nous avons publié un nouveau référentiel contenant des modèles pour résoudre le problème de la reconnaissance des causes de l'émotion dans les conversations. Vérifiez-le: émotion-Cause-Extraction. Merci à Pengfei Hong pour avoir compilé cela. |
| 24/12/2020 | ? ? Intéressé par le sujet de la reconnaissance des causes des émotions dans les conversations? Nous venons de publier un ensemble de données pour cela. Rendez-vous sur https://github.com/declare-alb/reccon. |
| 06/10/2020 | ? ? Nouveau article et Sota en reconnaissance des émotions dans les conversations. Reportez-vous au répertoire COSMIC pour le code. Lisez l'article - Cosmic: Connaissances de bon sens pour l'identification des émotions dans les conversations. |
| 30/09/2020 | De nouveaux documents et des références dans la compréhension du dialogue au niveau des énoncés ont été publiés. Lisez notre compréhension du dialogue au niveau de l'énoncé d'article: une étude empirique. Fourk les codes. |
| 26/07/2020 | Un nouveau code de dialogue a été publié. Veuillez visiter https://github.com/declare-nab/conv-emotion/tree/master/dialogccn-mianzhang. Tout le crédit revient au Mian Zhang (https://github.com/mianzhang/) |
| 11/07/2020 | Vous souhaitez lire les articles sur l'ERC ou des tâches connexes telles que la détection du sarcasme dans les conversations? Nous avons compilé une liste de lecture complète pour les articles. Veuillez visiter https://github.com/declare-ab/awesome-emotion-concognition-in-conversations |
| 07/06/2020: | Les nouveaux résultats de pointe pour la tâche ERC seront bientôt publiés. |
| 07/06/2020: | Le repo Conv-Emotion sera maintenu sur https://github.com/declare-ab/ |
| 22/12/2019: | Le code de DialogueGCN a été publié. |
| 11/10/2019: | Nouveau article: Apprentissage du transfert conversationnel pour la reconnaissance des émotions. |
| 09/08/2019: | Nouveau article sur la reconnaissance des émotions dans la conversation (ERC). |
| 06/03/2019: | Des fonctionnalités et des codes pour former Dialoguernn sur l'ensemble de données MELD ont été publiés. |
| 20/11/2018: | La version de bout en bout de l'icône et de Dialoguernn a été publiée. |
Cosmic est le modèle le plus performant de ce dépôt et veuillez visiter les liens ci-dessous pour comparer les modèles sur différents ensembles de données ERC.
Ce référentiel contient des implémentations pour plusieurs émotions de reconnaissance dans les méthodes de conversations ainsi que des algorithmes pour reconnaître la cause de l'émotion dans les conversations:
Contrairement à d'autres modèles de détection d'émotion, ces techniques considèrent les états de parti et les dépendances entre les parties pour modéliser le contexte conversationnel pertinent pour la reconnaissance des émotions. Le but principal de toutes ces techniques est de prénainler un modèle de détection d'émotion pour la génération de dialogue empathique.

La reconnaissance des émotions peut être très utile pour la génération de dialogue empathique et affective -

Ces réseaux s'attendent à des informations sur l'étiquette des émotions / du sentiment pour chaque énoncé présent dans un dialogue comme
Party 1: I hate my girlfriend (angry)
Party 2: you got a girlfriend?! (surprise)
Party 1: yes (angry)
Cependant, le code peut être adapté pour effectuer des tâches où seules les énoncés précédents sont disponibles, sans leurs étiquettes correspondantes, car le contexte et l'objectif sont d'étiqueter uniquement l'énoncé actuel / cible. Par exemple, le contexte est
Party 1: I hate my girlfriend
Party 2: you got a girlfriend?!
la cible est
Party 1: yes (angry)
où l'émotion cible est en colère . De plus, ce code peut également être moulé pour former le réseau de bout en bout. Nous allons bientôt pousser ces changements utiles.
| Méthodes | Iemocap | DailyDialog | Fondre | 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 |
| Roberta Dialoguernn | 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 aborde la tâche de la reconnaissance des émotions au niveau des énoncés dans les conversations en utilisant la connaissance du bon sens. Il s'agit d'un nouveau cadre qui intègre différents éléments de bon sens tels que les états mentaux, les événements et les relations causales, et s'appuyer sur eux pour apprendre les interactions entre les interlocuteurs participant à une conversation. Les méthodes actuelles de pointe rencontrent souvent des difficultés dans la propagation du contexte, la détection de décalage des émotions et la différenciation entre les classes d'émotion connexes. En apprenant des représentations distinctes de bon sens, COSMIC relève ces défis et obtient de nouveaux résultats de pointe pour la reconnaissance des émotions sur quatre ensembles de données conversationnels de référence différents.

Téléchargez d'abord les fonctionnalités de Roberta et COMET ici et gardez-les dans des répertoires appropriés dans COSMIC/erc-training . Ensuite, la formation et l'évaluation des quatre ensembles de données doivent être effectuées comme suit:
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 sentimentVeuillez citer l'article suivant si vous trouvez ce code utile dans votre travail.
COSMIC: COmmonSense knowledge for eMotion Identification in Conversations. D. Ghosal, N. Majumder, A. Gelbukh, R. Mihalcea, & S. Poria. Findings of EMNLP 2020.TL-ER est un cadre basé sur l'apprentissage par transfert pour l'ERC. Il prépare un modèle de dialogue génératif et transfère des poids au niveau du contexte qui incluent les connaissances affectives dans le modèle discriminant cible pour l'ERC.

Configurer un environnement avec conda:
conda env create -f environment.yml
conda activate TL_ERC
cd TL_ERC
python setup.py Téléchargez les fichiers de données de données iEMOCAP, DailyDialog et stockez-les dans ./datasets/ .
Téléchargez les poids pré-formés de Hred sur les ensembles de données Cornell et Ubuntu et stockez-les dans ./generative_weights/
[Facultatif]: Pour former de nouveaux poids génératifs à partir de modèles de dialogue, reportez-vous à https://github.com/ctr4si/a-hierarchical-latent-structure-for-variational-conversation-modeling.
cd bert_modelpython train.py --load_checkpoint=../generative_weights/cornell_weights.pkl --data=iemocap .cornell en ubuntu et iemocap en dailydialog pour d'autres combinaisons d'ensembles de données.load_checkpoint pour éviter d'initialiser les poids contextuels.configs.pypython iemocap_preprocess.py . De même pour dailydialog .Veuillez citer l'article suivant si vous trouvez ce code utile dans votre travail.
Conversational transfer learning for emotion recognition. Hazarika, D., Poria, S., Zimmermann, R., & Mihalcea, R. (2020). Information Fusion.DialogueGCN (Dialogue Graph Convolutional Network), est une approche de réseau neuronal graphique de l'ERC. Nous tirons parti de la dépendance de soi et entre les interpeloirs des interlocuteurs pour modéliser le contexte conversationnel pour la reconnaissance des émotions. Grâce au réseau graphique, DialogGCN aborde les problèmes de propagation de contexte présents dans les méthodes basées sur RNN actuelles. DialogueGCN est naturellement adapté aux dialogues multipartites.

Remarque : La géométrique de Pytorch fait une forte utilisation des opérations atomiques de Cuda et est une source de non-déterminisme. Pour reproduire les résultats rapportés dans le document, nous vous recommandons d'utiliser la commande d'exécution suivante. Notez que ce script s'exécutera dans CPU. Nous avons obatiné des scores F1 moyens pondérés de 64,67 dans notre machine et 64,44 dans Google Colaboratory for IEMOCAP DataSet avec la commande suivante.
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-cudaVeuillez citer l'article suivant si vous trouvez ce code utile dans votre travail.
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.Implémentation de Pytorch sur papier "DialogueGCN: un réseau neuronal convolutionnel graphique pour la reconnaissance des émotions dans la conversation".
Vous pouvez exécuter l'ensemble du processus très facilement. Prenez le corpus Iemocap par exemple:
./scripts/iemocap.sh preprocess./scripts/iemocap.sh train| - | Ensemble de données | F1 pondéré |
|---|---|---|
| Original | Iemocap | 64,18% |
| Cette implémentation | Iemocap | 64,10% |
Mian Zhang (Github: Mianzhang)
Veuillez citer l'article suivant si vous trouvez ce code utile dans votre travail.
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 est essentiellement un réseau de neurones récurrent personnalisé (RNN) qui profil chaque haut-parleur dans une conversation / dialogue à la volée, tout en modélise le contexte de la conversation en même temps. Ce modèle peut facilement être étendu au scénario multipartite. En outre, il peut être utilisé comme modèle de pré-entraînement pour la génération de dialogue empathique.
Remarque : Les paramètres par défaut (hyperparamètres et arguments de ligne de commande) dans le code sont destinés à BidioGuernn + ATT. L'utilisateur doit optimiser les paramètres des autres variantes et modifications. 
Veuillez extraire le contenu de DialogueRNN_features.zip .
python train_IEMOCAP.py <command-line arguments>python train_AVEC.py <command-line arguments>--no-cuda : n'utilise pas le GPU--lr : Taux d'apprentissage--l2 : L2 Poids de régularisation--rec-dropout : abandon récurrent--dropout : abandon--batch-size : taille du lot--epochs : nombre d'époches--class-weight : poids de classe (non applicable à l'AVEC)--active-listener : mode Lisnener explicite--attention : Type d'attention--tensorboard : Active le journal de tensorboard--attribute : attribut 1 à 4 (uniquement pour l'AVEC; 1 = valence, 2 = activation / excitation, 3 = anticipation / attente, 4 = puissance)Veuillez citer l'article suivant si vous trouvez ce code utile dans votre travail.
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, USALe réseau de mémoire conversationnel interactif (icône) est un cadre de détection d'émotion multimodal qui extrait les fonctionnalités multimodales de vidéos conversationnelles et modélise hiérarchiquement le textit {auto-} et textit {inter-speaker} influences émotionnelles dans les souvenirs globaux. De tels souvenirs génèrent des résumés contextuels qui aident à prédire l'orientation émotionnelle des vidéos.

cd ICON
Décomposer les données comme suit:
/ICON/IEMOCAP/data/ . Exemple de commande pour y parvenir: unzip {path_to_zip_file} -d ./IEMOCAP/Former le modèle d'icône:
python train_iemocap.py pour iemocapICON: Interactive Conversational Memory Networkfor Multimodal Emotion Detection. D. Hazarika, S. Poria, R. Mihalcea, E. Cambria, and R. Zimmermann. EMNLP (2018), Brussels, Belgium Le CMN est un cadre neuronal pour la détection des émotions dans les conversations dyadiques. Il tire parti des signaux munimodaux à partir de modalités de texte, audio et visuelles. Il intègre spécifiquement les dépendances spécifiques aux locuteurs dans son architecture pour la modélisation de contexte. Les résumés sont ensuite générés à partir de ce contexte à l'aide de réseaux de mémoire multi-HOP. 
cd CMN
Décomposer les données comme suit:
/CMN/IEMOCAP/data/ . Exemple de commande pour y parvenir: unzip {path_to_zip_file} -d ./IEMOCAP/Former le modèle d'icône:
python train_iemocap.py pour iemocapVeuillez citer l'article suivant si vous trouvez ce code utile dans votre travail.
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 est un réseau d'utilisation du contexte pour détecter l'émotion d'un énoncé dans un dialogue. Le modèle est simple mais efficace qui n'utilise qu'un LSTM pour modéliser la relation temporelle entre les énoncés. Dans ce dépôt, nous avons donné les données de Semval 2019 Task 3. Nous avons utilisé et fourni les données publiées par les organisateurs de Semval 2019 Task 3 - "Reconnaissance des émotions dans le contexte". Dans cette tâche, seuls 3 énoncés ont été fournis - Expulance1 (User1), Outance2 (User2), Outance3 (User1) consécutivement. La tâche consiste à prédire l'étiquette émotionnelle de l'énonciation3. L'étiquette émotionnelle de chaque énoncé n'a pas été fournie. Cependant, si vos données contiennent l'étiquette émotionnelle de chaque énoncé, vous pouvez toujours utiliser ce code et l'adapter en conséquence. Par conséquent, ce code est toujours aplicable pour les ensembles de données comme MOSI, Mosei, IemoCap, AVEC, DailyDialogue etc. BC-LSTM n'utilise pas d'informations de haut-parleurs comme CMN, icône et dialoguernn.

cd bc-LSTM-pytorch
Former le modèle BC-LSTM:
python train_IEMOCAP.py pour iemocapVeuillez citer l'article suivant si vous trouvez ce code utile dans votre travail.
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).Implémentation Keras de BC-LSTM .
cd bc-LSTM
Former le modèle BC-LSTM:
python baseline.py -config testBaseline.config pour iemocapVeuillez citer l'article suivant si vous trouvez ce code utile dans votre travail.
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).Ce référentiel contient également des implémentations de différentes architectures pour détecter la cause de l'émotion dans les conversations.


| Modèle | emo_f1 | pos_f1 | neg_f1 | macro_avg |
|---|---|---|---|---|
| ECPE-2D Cross_Road (0 Couche de transformation) | 52.76 | 52.39 | 95.86 | 73.62 |
| ECPE-2D Window_Contrainte (1 couche de transformation) | 70,48 | 48.80 | 93.85 | 71.32 |
| ECPE-2D Cross_Road (2 couche de transformation) | 52.76 | 55,50 | 94.96 | 75.23 |
| Ecpe-Mll | - | 48.48 | 94.68 | 71,58 |
| Classer l'émotion cause | - | 33,00 | 97.30 | 65.15 |
| Base de Roberta | - | 64.28 | 88.74 | 76.51 |
| Plus grand | - | 66.23 | 87.89 | 77.06 |

Citation: veuillez citer les articles suivants si vous utilisez ce code.

Citation: veuillez citer les articles suivants si vous utilisez ce code.

Citation: veuillez citer les articles suivants si vous utilisez ce code.
Les lignes de base Roberta et Spanbert telles que expliquées dans le papier RecCon d'origine. Se référer à cela.
Citation: veuillez citer les articles suivants si vous utilisez ce code.