venkatesh-1729 / EmoInt

EmoInt provides a high level wrapper to combine various word embeddings and creating ensembles from multiple trained models

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EmoInt

Build Status Coverage Status

EmoInt can be used for affective computing like sentiment analysis, emotion classification, emotion intensity computing etc. This project is developed during WASSA 2017 Emotion Intensity Task. It is inspired by AffectiveTweets repo (baseline model for the Emotion Intensity Task). This project contains high level wrappers for combining various word embeddings and scripts for creating ensembles.

Install

Pre-requisites

Some word-embeddings need to be downloaded separately for using all available featurizers.

Note: Instructions to access these resources can be found here

The relevant word embeddings are:

  • NRC Affect Intensity: Link. Download to emoint/resources/nrc_affect_intensity.txt.gz
  • NRC Emotion Wordlevel Lexicons: Link. Download to emoint/resources/NRC-emotion-lexicon-wordlevel-v0.92.txt.gz
  • Sentiment140: Link. Download to emoint/resources/Sentiment140-Lexicon-v0.1

Reformatting

The NRC Emotion Wordlevel Lexicons are not in the standard format, we've provided a script to reformat it in the required format.

python emoint/utils/reformat.py emoint/resources/NRC-emotion-lexicon-wordlevel-v0.92.txt.gz

Installing

The package can be installed as follows:

python setup.py install

Usage

You can learn how to use the featurizers by following these notebooks in examples directory

  1. Cornell Movie Review -- MovieReview.ipynb
  2. WASSA 2017 Emotion Intensity -- EmotionIntensity.ipynb

Running Tests

python -m unittest discover -v

Maintainers

About

EmoInt provides a high level wrapper to combine various word embeddings and creating ensembles from multiple trained models

License:GNU General Public License v3.0


Languages

Language:Jupyter Notebook 76.8%Language:Python 23.2%