For those enquiring about how to extract visual and audio features, please check this out: https://github.com/soujanyaporia/MUStARD
| Data | Anúncios |
|---|---|
| 10/03/2024 | Se você estiver interessado em testes de QI LLMs, confira nosso novo trabalho: AlgoPuzuzzlevqa |
| 08/08/2021 | ? ? Lançamos um novo conjunto de dados M2H2: um conjunto de dados hindi multipartidário multimodal para reconhecimento de humor nas conversas. Confira: M2H2. As linhas de base para o conjunto de dados M2H2 são criadas com base em Dialoguernn e BCLSTM. |
| 18/05/2021 | ? ? Lançamos um novo repositório contendo modelos para resolver o problema da emoção, causando reconhecimento nas conversas. Confira: Extração emoção-causa. Obrigado a Pengfei Hong por compilar isso. |
| 24/12/2020 | ? ? Interessado no tópico de reconhecer as causas da emoção nas conversas? Acabamos de lançar um conjunto de dados para isso. Vá para https://github.com/declare-lab/reccon. |
| 06/10/2020 | ? ? Novo artigo e SOTA em reconhecimento de emoções nas conversas. Consulte o diretório Cosmic para o código. Leia o artigo - Cósmico: Conhecimento de senso comum para identificação de emoções em conversas. |
| 30/09/2020 | Novos artigos e linhas de base no entendimento de diálogo em nível de expressão foram divulgados. Leia nosso diálogo em nível de expressão em papel Compreensão: um estudo empírico. Bifurcar os códigos. |
| 26/07/2020 | Novo código DialoGEGCN foi lançado. Visite https://github.com/declare-lab/conv-emotion/tree/master/dialoguegcn-mianzhang. Todo o crédito vai para o Mian Zhang (https://github.com/mianzhang/) |
| 11/07/2020 | Interessado em ler os artigos sobre ERC ou tarefas relacionadas, como detecção de sarcasmo em conversas? Compilamos uma lista de leitura abrangente para trabalhos. Visite https://github.com/declare-lab/awesome-emotion-recognition-in-conversations |
| 06/06/2020: | Novos resultados de última geração para a tarefa de ERC serão divulgados em breve. |
| 06/06/2020: | O repositório de convc-emtion será mantido em https://github.com/declare-lab/ |
| 22/12/2019: | O código do DalogueGCN foi lançado. |
| 10/11/2019: | Novo artigo: Learning de transferência de conversação para reconhecimento de emoções. |
| 08/09/2019: | Novo artigo sobre reconhecimento de emoções na conversa (ERC). |
| 06/06/2019: | Recursos e códigos para treinar DialoGuernn no conjunto de dados MELD foram lançados. |
| 20/11/2018: | A versão de ponta a ponta do ICON e DIALOGUENNN foi lançada. |
A Cosmic é o modelo de melhor desempenho neste repositório e visite os links abaixo para comparar os modelos em diferentes conjuntos de dados ERC.
Este repositório contém implementações para vários métodos de reconhecimento de emoções nos métodos de conversas, bem como algoritmos para reconhecer a causa emocional nas conversas:
Ao contrário de outros modelos de detecção de emoções, essas técnicas consideram os estados do partido e as dependências interpartidárias para modelar o contexto conversacional relevante para o reconhecimento de emoções. O objetivo principal de todas essas técnicas é pré -extrair um modelo de detecção de emoções para a geração de diálogo empático.

O reconhecimento de emoções pode ser muito útil para geração de diálogo empática e afetiva -

Essas redes esperam informações de emoção/sentimento e informação do alto -falante para cada enunciado presente em um diálogo como
Party 1: I hate my girlfriend (angry)
Party 2: you got a girlfriend?! (surprise)
Party 1: yes (angry)
No entanto, o código pode ser instalado para executar tarefas em que apenas os enunciados anteriores estão disponíveis, sem os rótulos correspondentes, pois o contexto e o objetivo é rotular apenas o enunciado presente/alvo. Por exemplo, o contexto é
Party 1: I hate my girlfriend
Party 2: you got a girlfriend?!
o alvo é
Party 1: yes (angry)
onde a emoção alvo está com raiva . Além disso, esse código também pode ser moldado para treinar a rede de maneira pontual a ponta. Em breve, pressionaremos essas mudanças úteis.
| Métodos | Iemocap | DailyDialog | MELD | 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 |
A Cosmic aborda a tarefa de reconhecimento de emoções no nível de expressão em conversas usando conhecimento do senso comum. É uma nova estrutura que incorpora diferentes elementos de senso comum, como estados mentais, eventos e relações causais, e desenvolvem -lhes para aprender interações entre interlocutores que participam de uma conversa. Os métodos atuais de última geração geralmente encontram dificuldades na propagação do contexto, na detecção de mudança de emoção e diferenciação entre as classes de emoções relacionadas. Ao aprender representações distintas de senso comum, a Cosmic aborda esses desafios e atinge novos resultados de ponta para reconhecimento de emoções em quatro conjuntos de dados de conversação de benchmark.

Primeiro baixe os recursos Roberta e Comet aqui e mantenha-os em diretórios apropriados no COSMIC/erc-training . Em seguida, o treinamento e a avaliação nos quatro conjuntos de dados devem ser feitos da seguinte forma:
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 o documento a seguir se você achar esse código útil em seu trabalho.
COSMIC: COmmonSense knowledge for eMotion Identification in Conversations. D. Ghosal, N. Majumder, A. Gelbukh, R. Mihalcea, & S. Poria. Findings of EMNLP 2020.O TL-CER é uma estrutura baseada em transferência para o ERC. Aceita um modelo de diálogo generativo e transfere pesos no nível de contexto que incluem conhecimento afetivo no modelo discriminatório alvo do ERC.

Configure um ambiente com conda:
conda env create -f environment.yml
conda activate TL_ERC
cd TL_ERC
python setup.py Faça o download dos arquivos do conjunto de dados iemocap, DailyDialog e armazene -os em ./datasets/ .
Faça o download dos pesos pré-treinados de hred nos conjuntos de dados de Cornell e Ubuntu e armazene-os em ./generative_weights/
[Opcional]: Para treinar novos pesos generativos de modelos de diálogo, consulte https://github.com/ctr4si/a-hierchical-latent-struture-for-variational-conversation-modeling.
cd bert_modelpython train.py --load_checkpoint=../generative_weights/cornell_weights.pkl --data=iemocap .cornell para ubuntu e iemocap para dailydialog para outras combinações de dados.load_checkpoint para evitar a inicialização de pesos contextuais.configs.pypython iemocap_preprocess.py . Da mesma forma para dailydialog .Cite o documento a seguir se você achar esse código útil em seu trabalho.
Conversational transfer learning for emotion recognition. Hazarika, D., Poria, S., Zimmermann, R., & Mihalcea, R. (2020). Information Fusion.DialogueGCN (Rede Convolucional de Gráfico de Dialogue), é uma abordagem gráfica baseada em rede neural do ERC. Aproveitamos a dependência do eu e entre os falantes dos interlocutores para modelar o contexto conversacional para o reconhecimento de emoções. Através da rede de gráficos, o DialogueGCN aborda questões de propagação de contexto presentes nos métodos atuais baseados em RNN. O DialogueGCN é naturalmente adequado para diálogos de várias partes.

Nota : A geométrica de Pytorch faz um forte uso de operações atômicas de Cuda e é uma fonte de não determinismo. Para reproduzir os resultados relatados no artigo, recomendamos usar o seguinte comando de execução. Observe que este script será executado na CPU. Obatizamos pontuações médias ponderadas de F1 de 64,67 em nossa máquina e 64.44 no Google Colaboratory for IEMOCAP DATASET com o seguinte 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 o documento a seguir se você achar esse código útil em seu trabalho.
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.Implementação de Pytorch no artigo "DialogueGCN: uma rede neural convolucional de gráfico para reconhecimento de emoções na conversa".
Você pode executar todo o processo com muita facilidade. Veja o corpus iemocap, por exemplo:
./scripts/iemocap.sh preprocess./scripts/iemocap.sh train| - | Conjunto de dados | F1 ponderado |
|---|---|---|
| Original | Iemocap | 64,18% |
| Esta implementação | Iemocap | 64,10% |
Mian Zhang (Github: Mianzhang)
Cite o documento a seguir se você achar esse código útil em seu trabalho.
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.O DialoGuernn é basicamente uma rede neural recorrente personalizada (RNN) que perfila cada orador em uma conversa/diálogo em tempo real, enquanto modela o contexto da conversa ao mesmo tempo. Este modelo pode ser facilmente estendido ao cenário de várias partes. Além disso, pode ser usado como um modelo pré -treinamento para geração de diálogo empático.
Nota : As configurações padrão (hiperparameters e argumentos de linha de comando) no código destinam -se a bidialogernn+att. O usuário precisa otimizar as configurações para outras variantes e alterações. 
Extraia o conteúdo de DialogueRNN_features.zip .
python train_IEMOCAP.py <command-line arguments>python train_AVEC.py <command-line arguments>--no-cuda : não usa GPU--lr : Taxa de aprendizado--l2 : L2 Peso da regularização--rec-dropout : abandono recorrente--dropout : abandono--batch-size : tamanho do lote--epochs : número de épocas--class-weight : peso da classe (não aplicável à Avec)--active-listener : Modo Lisnener explícito--attention : Tipo de atenção--tensorboard : Ativa o Tensorboard Log--attribute : atributo 1 a 4 (apenas para avec; 1 = valência, 2 = ativação/excitação, 3 = antecipação/expectativa, 4 = poder)Cite o documento a seguir se você achar esse código útil em seu trabalho.
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, USAA Rede Interativa de Memória Conversacional (ICON) é uma estrutura multimodal de detecção de emoções que extrai recursos multimodais de vídeos de conversação e modela hierarquicamente o TEXTIT {auto-} e textit {inter-falante} influências emocionais nas memórias globais. Tais memórias geram resumos contextuais que ajudam a prever a orientação emocional dos videos de expressão.

cd ICON
Descompactar os dados da seguinte forma:
/ICON/IEMOCAP/data/ . Comando de amostra para conseguir isso: unzip {path_to_zip_file} -d ./IEMOCAP/Treine o modelo de ícone:
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 O CMN é uma estrutura neural para detecção de emoções em conversas diádicas. Ele aproveita os sinais muçulmanos de modalidades de texto, áudio e visual. Ele incorpora especificamente dependências específicas do alto-falante em sua arquitetura para modelagem de contexto. Os resumos são então gerados a partir deste contexto usando redes de memória multi-hop. 
cd CMN
Descompactar os dados da seguinte forma:
/CMN/IEMOCAP/data/ . Comando de amostra para conseguir isso: unzip {path_to_zip_file} -d ./IEMOCAP/Treine o modelo de ícone:
python train_iemocap.py para iemocapCite o documento a seguir se você achar esse código útil em seu trabalho.
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).O BC-LSTM-Pytorch é uma rede para usar o contexto para detectar a emoção de uma expressão em um diálogo. O modelo é simples, mas eficiente, que utiliza apenas um LSTM para modelar a relação temporal entre os enunciados. Neste repo, demos os dados da Tarefa 3 Semeval 2019. Usamos e fornecemos os dados divulgados pela Semeval 2019 Task 3 - "Reconhecimento de emoções no contexto" Os organizadores. Nesta tarefa, apenas três enunciados foram fornecidos - UTTERANCE1 (Usuário1), UTTERANCE2 (Usuário2), Utternce3 (Usuário1) consecutivamente. A tarefa é prever o rótulo de emoção de Utterance3. O rótulo de emoção de cada enunciado não foi fornecido. No entanto, se seus dados contiverem o rótulo de emoção de cada enunciado, você ainda poderá usar esse código e adaptá -los de acordo. Portanto, esse código ainda é aplicável para os conjuntos de dados como Mosi, Mosei, IEMOCAP, AVEC, DailyDialogue etc. O BC-LSTM não utiliza informações sobre o alto-falante como CMN, Icon e DialoGuernn.

cd bc-LSTM-pytorch
Treine o modelo BC-LSTM:
python train_IEMOCAP.py para iemocapCite o documento a seguir se você achar esse código útil em seu trabalho.
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).Implementação de Keras do BC-LSTM .
cd bc-LSTM
Treine o modelo BC-LSTM:
python baseline.py -config testBaseline.config para iemocapCite o documento a seguir se você achar esse código útil em seu trabalho.
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).Esse repositório também contém implementações de diferentes arquiteturas para detectar a causa emocional nas conversas.


| Modelo | emo_f1 | POS_F1 | neg_f1 | macro_avg |
|---|---|---|---|---|
| ECPE-2D Cross_Road (0 camada de transformação) | 52.76 | 52.39 | 95.86 | 73.62 |
| ECPE-2D window_constring (1 camada de transformação) | 70.48 | 48.80 | 93.85 | 71.32 |
| ECPE-2D Cross_Road (2 camada de transformação) | 52.76 | 55.50 | 94.96 | 75.23 |
| ECPE-MLL | - | 48.48 | 94.68 | 71.58 |
| Classificação de emoção classificada | - | 33,00 | 97.30 | 65.15 |
| Roberta-Base | - | 64.28 | 88,74 | 76.51 |
| Roberta-Large | - | 66.23 | 87,89 | 77.06 |

Citação: cite os seguintes trabalhos se você usar este código.

Citação: cite os seguintes trabalhos se você usar este código.

Citação: cite os seguintes trabalhos se você usar este código.
As linhas de base Roberta e Spanbert, conforme explicado no artigo Reccon original. Consulte isso.
Citação: cite os seguintes trabalhos se você usar este código.