conv-emotion  by declare-lab

Implementations for emotion/cause recognition in conversations

created 6 years ago
1,458 stars

Top 28.7% on sourcepulse

GitHubView on GitHub
Project Summary

This repository provides implementations for various state-of-the-art models for Emotion Recognition in Conversations (ERC) and Emotion Cause Extraction (ECE). It targets researchers and developers in natural language processing and affective computing, offering a comprehensive toolkit to benchmark and advance conversational AI capabilities.

How It Works

The project implements diverse architectures, including RNN-based (DialogueRNN), Graph Neural Network-based (DialogueGCN), and Transformer-based (COSMIC) models. These methods leverage conversational context, speaker states, and inter-speaker dependencies to predict emotions. COSMIC, in particular, incorporates commonsense knowledge to address challenges like context propagation and emotion shift detection, achieving new state-of-the-art results on several benchmark datasets.

Quick Start & Requirements

  • Installation: Environment setup via conda env create -f environment.yml and activation.
  • Dependencies: Python 3, PyTorch (versions vary by model, e.g., 1.0+), PyTorch Geometric, Pandas, Scikit-Learn. Some models require TensorFlow and specific CUDA versions for optimal performance.
  • Data: Datasets (IEMOCAP, DailyDialog, MELD, EmoryNLP) need to be downloaded separately and placed in specified directories. Pre-trained features (RoBERTa, COMET) are also required for some models.
  • Execution: Model-specific Python scripts (e.g., train_iemocap.py, train_dailydialog.py) are used for training and evaluation.
  • Resources: Requires significant disk space for datasets and features, and computational resources (GPU recommended) for training.

Highlighted Details

  • Implements 10+ distinct ERC and ECE models, including DialogueRNN, DialogueGCN, COSMIC, ICON, and CMN.
  • COSMIC achieves state-of-the-art results by incorporating commonsense knowledge for improved context propagation and emotion shift detection.
  • Provides implementations for both utterance-level and conversation-level emotion recognition, as well as emotion cause extraction.
  • Includes comprehensive performance comparisons across multiple datasets (IEMOCAP, DailyDialog, MELD, EmoryNLP) and metrics (e.g., Weighted F1).

Maintenance & Community

The repository is associated with the declare-lab, with contributions from researchers at various institutions. Recent updates include new work on LLM IQ testing and datasets for humor and emotion cause recognition. A comprehensive reading list for ERC is also available.

Licensing & Compatibility

The repository's licensing is not explicitly stated in the README. However, the inclusion of various models and datasets suggests a focus on academic research. Commercial use compatibility would require further investigation into the specific licenses of each included model and dataset.

Limitations & Caveats

The README indicates that PyTorch Geometric can be a source of non-determinism, and specific execution commands are recommended for result reproducibility. Some models have older dependency requirements (e.g., Python 3.6.5, PyTorch 1.0, TensorFlow 1.9.0), which may pose compatibility challenges with modern environments.

Health Check
Last commit

1 year ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
34 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.