For those enquiring about how to extract visual and audio features, please check this out: https://github.com/soujanyaporia/MUStARD
| Datum | Ankündigungen |
|---|---|
| 10/03/2024 | Wenn Sie an IQ -Test -LLMs interessiert sind, lesen Sie unsere neue Arbeit: Algopuzlevqa |
| 03/08/2021 | ? ? Wir haben einen neuen Datensatz M2H2 veröffentlicht: einen multimodalen Multiparty -Hindi -Datensatz zur Erkennung von Humor in Gesprächen. Probieren Sie es aus: M2H2. Die Baselines für den M2H2 -Datensatz werden basierend auf Dialoguernn und BCLSTM erstellt. |
| 18/05/2021 | ? ? Wir haben ein neues Repo veröffentlicht, das Modelle enthält, um das Problem der Emotion zu lösen, die Anerkennung in Gesprächen verursacht. Überprüfen Sie es aus: Emotionskurs-Extraktion. Vielen Dank an Pengfei Hong für das Zusammenstellen. |
| 24/12/2020 | ? ? Interessiert an dem Thema der Erkennung von Emotionen in Gesprächen? Wir haben gerade einen Datensatz dafür veröffentlicht. Besuchen Sie https://github.com/declare-lab/reccon. |
| 06/10/2020 | ? ? Neues Papier und Sota in der Emotionserkennung in Gesprächen. Siehe Verzeichnis Cosmic für den Code. Lesen Sie das Papier - Cosmic: Commonsense -Wissen für die Identifizierung von Emotionen in Gesprächen. |
| 30/09/2020 | Neue Papier und Baselines im Dialogverständnis auf Äußerungsebene wurden veröffentlicht. Lesen Sie unser Dialogverständnis des Papiers-Äußerungsebene: Eine empirische Studie. Geben Sie die Codes auf. |
| 26/07/2020 | Der neue DialogueGCN -Code wurde veröffentlicht. Bitte besuchen Sie https://github.com/declare-lab/conv-emotion/tree/master/dialoguegcn-mianzhang. Der ganze Kredit geht an den Mian Zhang (https://github.com/mianzhang/) |
| 11/07/2020 | Möchten Sie die Papiere zu ERC oder verwandten Aufgaben wie Sarkasmuskennung in Gesprächen lesen? Wir haben eine umfassende Leseliste für Papiere zusammengestellt. Bitte besuchen Sie https://github.com/declare-lab/awesome-emotion-recognition-in-conversations |
| 07/06/2020: | In Kürze werden neue Ergebnisse für die ERC-Aufgabe veröffentlicht. |
| 07/06/2020: | Das Conv-emotion-Repo wird unter https://github.com/declare-lab/ unterhalten |
| 22/12/2019: | Der Code für DialogueGCN wurde veröffentlicht. |
| 10.11.2019: | Neues Papier: Konversationstransferlernen für Emotionserkennung. |
| 09/08/2019: | Neues Papier zur Emotionserkennung im Gespräch (ERC). |
| 06/03/2019: | Funktionen und Codes, um Dialoguern auf dem MELD -Datensatz zu trainieren, wurden veröffentlicht. |
| 20/11/2018: | Die End-to-End-Version von Icon und Dialoguernn wurde veröffentlicht. |
Cosmic ist das am besten darstellende Modell in diesem Repo und besuchen Sie die folgenden Links, um die Modelle auf verschiedenen ERC -Datensätzen zu vergleichen.
Dieses Repository enthält Implementierungen für mehrere Emotionserkennung in Gesprächen und Algorithmen zur Erkennung von Emotionen in Gesprächen:
Im Gegensatz zu anderen Emotionserkennungsmodellen berücksichtigen diese Techniken die Parteistaaten und Interparty-Abhängigkeiten für die Modellierung des Konversationskontextes, der für die Emotionserkennung relevant ist. Der Hauptzweck all dieser Techniken ist es, ein Emotionserkennungsmodell für die Emotionskenner für die Erzeugung des empathischen Dialogs vorzubereiten.

Emotionserkennung kann sehr nützlich für einfühlsame und affektive Dialoggenerierung sein -

Diese Netzwerke erwarten für jede Äußerung, die in einem Dialog wie vorhanden ist
Party 1: I hate my girlfriend (angry)
Party 2: you got a girlfriend?! (surprise)
Party 1: yes (angry)
Der Code kann jedoch adpiert werden, um Aufgaben auszuführen, bei denen nur die vorhergehenden Äußerungen ohne ihre entsprechenden Beschriftungen verfügbar sind, da Kontext und Ziel nur die gegenwärtige/Ziel -Äußerung kennzeichnen. Zum Beispiel ist der Kontext
Party 1: I hate my girlfriend
Party 2: you got a girlfriend?!
Das Ziel ist
Party 1: yes (angry)
Wo die Zielgefühl wütend ist. Darüber hinaus kann dieser Code auch geformt werden, um das Netzwerk auf Ende zu Ende zu trainieren. Wir werden diese nützlichen Änderungen bald vorantreiben.
| Methoden | Iemocap | DailyDialog | Verschmelzen | Emorynlp | |||
|---|---|---|---|---|---|---|---|
| W-AVG F1 | Makro F1 | Mikro 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 befasst sich mit der Aufgabe der Äußerungsebene Emotionserkennung in Gesprächen unter Verwendung von gesunden Menschenkenntnissen. Es handelt sich um einen neuen Rahmen, der unterschiedliche Menschenempfindungselemente wie mentale Zustände, Ereignisse und kausale Beziehungen enthält und auf ihnen aufbauen, um Interaktionen zwischen Gesprächspartnern zu lernen, die an einem Gespräch teilnehmen. Aktuelle Stand der Technik auf dem neuesten Stand der Technik treten häufig auf Schwierigkeiten bei der Kontextausbreitung, zur Erkennung von Emotionen und der Unterscheidung zwischen verwandten Emotionsklassen auf. Durch das Erlernen verschiedener Vertretungen von gesunden Menschenverstand befasst sich Cosmic mit diesen Herausforderungen und erzielt neue hochmoderne Ergebnisse für die Emotionserkennung für vier verschiedene Benchmark-Konversationsdatensätze.

Laden Sie zuerst die Funktionen von Roberta und Comet hier herunter und behalten Sie sie in geeigneten Verzeichnissen in COSMIC/erc-training . Anschließend sind Schulungen und Bewertungen zu den vier Datensätzen wie folgt zu erfolgen:
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 sentimentBitte zitieren Sie das folgende Papier, wenn Sie diesen Code in Ihrer Arbeit nützlich finden.
COSMIC: COmmonSense knowledge for eMotion Identification in Conversations. D. Ghosal, N. Majumder, A. Gelbukh, R. Mihalcea, & S. Poria. Findings of EMNLP 2020.TL-ECR ist ein lernbasiertes Rahmen für Transfer-Basis für ERC. Es ist ein generatives Dialogmodell vorhanden und überträgt Gewichte auf Kontextebene, die affektives Wissen in das diskriminative Zielmodell für ERC einbeziehen.

Richten Sie eine Umgebung mit Conda ein:
conda env create -f environment.yml
conda activate TL_ERC
cd TL_ERC
python setup.py Laden Sie Datensatzdateien IEMOCAP, DailyDialog herunter und speichern Sie sie in ./datasets/ .
Laden Sie die vorgebildeten Gewichte von HRED auf Cornell- und Ubuntu-Datensätzen herunter und speichern Sie sie in ./generative_weights/
[Optional]: Um neue generative Gewichte aus Dialogmodellen zu trainieren, siehe 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 in ubuntu und iemocap in dailydialog , um andere Datensatzkombinationen zu erhalten.load_checkpoint , um die Initialisierung von Kontextgewichten zu vermeiden.configs.pypython iemocap_preprocess.py . Ähnlich für dailydialog .Bitte zitieren Sie das folgende Papier, wenn Sie diesen Code in Ihrer Arbeit nützlich finden.
Conversational transfer learning for emotion recognition. Hazarika, D., Poria, S., Zimmermann, R., & Mihalcea, R. (2020). Information Fusion.DialogueGCN (Dialoggrafik -Faltungsnetzwerk) ist ein neuronaler netzwerkbasiertes Graph -Ansatz für ERC. Wir nutzen die Abhängigkeit von Selbst- und Inter-Sprechern der Gesprächspartner, um den Konversationskontext für die Emotionserkennung zu modellieren. Über das Graph-Netzwerk befasst sich DialogueGCN mit den in den aktuellen RNN-basierten Methoden vorhandenen Kontextproblemen. DialogueGCN eignet sich natürlich für Multi-Party-Dialoge.

HINWEIS : Pytorch-Geometrie nutzt die Cuda-Atomoperationen stark und ist eine Quelle für Nichtdeterminismus. Um die im Papier gemeldeten Ergebnisse zu reproduzieren, empfehlen wir, den folgenden Ausführungsbefehl zu verwenden. Beachten Sie, dass dieses Skript in der CPU ausgeführt wird. Wir haben die gewichteten durchschnittlichen F1 -Werte von 64,67 in unserer Maschine und 64,44 in Google Colaboratory für den Iemocap -Datensatz mit dem folgenden Befehl.
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-cudaBitte zitieren Sie das folgende Papier, wenn Sie diesen Code in Ihrer Arbeit nützlich finden.
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.Pytorch -Implementierung in Papier "DialogueGCN: Ein Graph -Faltungsnetzwerk für die Emotionserkennung im Gespräch".
Sie können den gesamten Prozess sehr einfach ausführen. Nehmen Sie zum Beispiel das Iemocap -Korpus:
./scripts/iemocap.sh preprocess./scripts/iemocap.sh train| - - | Datensatz | Gewichtter F1 |
|---|---|---|
| Original | Iemocap | 64,18% |
| Diese Implementierung | Iemocap | 64,10% |
Mian Zhang (Github: Mianzhang)
Bitte zitieren Sie das folgende Papier, wenn Sie diesen Code in Ihrer Arbeit nützlich finden.
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 ist im Grunde genommen ein angepasstes wiederkehrendes neuronales Netzwerk (RNN), das jeden Sprecher in einem Gespräch/einem Dialog im laufenden Fliegen profiliert, während der Kontext der Konversation gleichzeitig modelliert. Dieses Modell kann leicht auf das Multi-Party-Szenario ausgedehnt werden. Außerdem kann es als Vorabmodell für die Empathetische Dialoggenerierung verwendet werden.
Hinweis : Die Standardeinstellungen (Hyperparameter und Befehlszeilenargumente) im Code sind für Bidialoguernn+ATT gedacht. Der Benutzer muss die Einstellungen für andere Varianten und Änderungen optimieren. 
Bitte extrahieren Sie den Inhalt von DialogueRNN_features.zip .
python train_IEMOCAP.py <command-line arguments>python train_AVEC.py <command-line arguments>--no-cuda : Verwendet keine GPU--lr : Lernrate--l2 : L2 Regularisierungsgewicht--rec-dropout : wiederkehrender Tropfen--dropout : Dropout--batch-size : Stapelgröße--epochs : Anzahl der Epochen--class-weight : Klassengewicht (nicht für AVEC anwendbar)--active-listener : Expliziter Lisnener-Modus--attention : Aufmerksamkeitstyp--tensorboard : Aktiviert Tensorboard-Protokoll--attribute : Attribut 1 bis 4 (nur für AVEC; 1 = Valenz, 2 = Aktivierung/Erregung, 3 = Vorfreude/Erwartung, 4 = Macht)Bitte zitieren Sie das folgende Papier, wenn Sie diesen Code in Ihrer Arbeit nützlich finden.
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) ist ein multimodaler Emotionserkennungsrahmen, der multimodale Merkmale aus Konversationsvideos extrahiert und hierarchisch die textit {self} und textit {inter-sprecher} emotionale Einflüsse in globale Erinnerungen modelliert. Solche Erinnerungen erzeugen kontextbezogene Zusammenfassungen, die dazu beitragen, die emotionale Ausrichtung von Äußerungsvideos vorherzusagen.

cd ICON
Entpacken Sie die Daten wie folgt auf:
/ICON/IEMOCAP/data/ . Beispielbefehl, um dies zu erreichen: unzip {path_to_zip_file} -d ./IEMOCAP/Trainieren Sie das Symbolmodell:
python train_iemocap.py für iEmocapICON: Interactive Conversational Memory Networkfor Multimodal Emotion Detection. D. Hazarika, S. Poria, R. Mihalcea, E. Cambria, and R. Zimmermann. EMNLP (2018), Brussels, Belgium CMN ist ein neuronaler Rahmen für die Erkennung von Emotionen in dyadischen Gesprächen. Es nutzt mutlimodale Signale aus Text-, Audio- und visuellen Modalitäten. Es umfasst speziell sprecherspezifische Abhängigkeiten in seine Architektur für die Kontextmodellierung. Zusammenfassungen werden dann aus diesem Kontext unter Verwendung von Multi-Hop-Speichernetzwerken generiert. 
cd CMN
Entpacken Sie die Daten wie folgt auf:
/CMN/IEMOCAP/data/ . Beispielbefehl, um dies zu erreichen: unzip {path_to_zip_file} -d ./IEMOCAP/Trainieren Sie das Symbolmodell:
python train_iemocap.py für iEmocapBitte zitieren Sie das folgende Papier, wenn Sie diesen Code in Ihrer Arbeit nützlich finden.
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 ist ein Netzwerk, mit dem Kontext zur Erkennung von Emotionen einer Äußerung in einem Dialog verwendet wird. Das Modell ist einfach, aber effizient, das nur ein LSTM verwendet, um die zeitliche Beziehung zwischen den Äußerungen zu modellieren. In diesem Repo haben wir die Daten der Semeval 2019 -Aufgabe 3 angegeben. Wir haben die von Semeval 2019 Task 3 veröffentlichten Daten verwendet und bereitgestellt. In dieser Aufgabe wurden nur 3 Äußerungen bereitgestellt - Äußerung1 (Benutzer1), Äußerung2 (Benutzer2), Äußerung3 (Benutzer1) nacheinander. Die Aufgabe ist es, das Emotionslabel der Äußerung vorherzusagen3. Das Emotionslabel jeder Äußerung wurde nicht zur Verfügung gestellt. Wenn Ihre Daten jedoch die Emotionslabel jeder Äußerung enthält, können Sie diesen Code trotzdem verwenden und entsprechend anpassen. Daher ist dieser Code für die Datensätze wie Mosi, Mosei, IEMoCap, AVEC, DailyDialogue usw. noch günstig.

cd bc-LSTM-pytorch
Trainieren Sie das BC-LSTM-Modell:
python train_IEMOCAP.py für iEmocapBitte zitieren Sie das folgende Papier, wenn Sie diesen Code in Ihrer Arbeit nützlich finden.
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).KERAS-Implementierung von BC-LSTM .
cd bc-LSTM
Trainieren Sie das BC-LSTM-Modell:
python baseline.py -config testBaseline.config für iEmocapBitte zitieren Sie das folgende Papier, wenn Sie diesen Code in Ihrer Arbeit nützlich finden.
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).Dieses Repository enthält auch Implementierungen verschiedener Architekturen zur Erkennung von Emotionen in Gesprächen.


| Modell | emo_f1 | pos_f1 | neg_f1 | MACRO_AVG |
|---|---|---|---|---|
| ECPE-2D Cross_road (0 Transformationsschicht) | 52.76 | 52.39 | 95.86 | 73,62 |
| ECPE-2D Window_Constraiere (1 Transformationsschicht) | 70.48 | 48.80 | 93,85 | 71.32 |
| ECPE-2D Cross_road (2 Transformationsschicht) | 52.76 | 55,50 | 94.96 | 75,23 |
| Ecpe-mll | - - | 48.48 | 94.68 | 71.58 |
| Rang Emotion Ursache | - - | 33.00 | 97.30 | 65.15 |
| Roberta-Base | - - | 64.28 | 88.74 | 76,51 |
| Roberta-Large | - - | 66.23 | 87.89 | 77.06 |

Zitat: Bitte zitieren Sie die folgenden Papiere, wenn Sie diesen Code verwenden.

Zitat: Bitte zitieren Sie die folgenden Papiere, wenn Sie diesen Code verwenden.

Zitat: Bitte zitieren Sie die folgenden Papiere, wenn Sie diesen Code verwenden.
Die Baselines von Roberta und Spanbert, wie im Original -Reccon -Papier erläutert. Beziehen Sie sich darauf.
Zitat: Bitte zitieren Sie die folgenden Papiere, wenn Sie diesen Code verwenden.