Deepmoji

State-of-the-art deep learning model for analyzing sentiment, emotion, sarcasm etc.
Alternatives To Deepmoji
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Deepmoji1,331
a year ago9mitPython
State-of-the-art deep learning model for analyzing sentiment, emotion, sarcasm etc.
Emotion Recognition Neural Networks803
a year ago40mitPython
Emotion recognition using DNN with tensorflow
Torchmoji678
3 years ago15mitPython
😇A pyTorch implementation of the DeepMoji model: state-of-the-art deep learning model for analyzing sentiment, emotion, sarcasm etc
Emotion Recognition Using Speech392
a month ago8mitPython
Building and training Speech Emotion Recognizer that predicts human emotions using Python, Sci-kit learn and Keras
Opensmile359
4 months ago22otherC++
The Munich Open-Source Large-Scale Multimedia Feature Extractor
Emotion Classification From Audio Files311
4 months ago10gpl-3.0Python
Understanding emotions from audio files using neural networks and multiple datasets.
Awesome Nlp Sentiment Analysis275
3 years agogpl-3.0
:book: 收集NLP领域相关的数据集、论文、开源实现,尤其是情感分析、情绪原因识别、评价对象和评价词抽取方面。
Facesvisiondemo252
4 years ago2mitSwift
👀 iOS11 demo application for age and gender classification of facial images.
Emotion_dataset140
5 months ago
:smile: Dataset for Emotion Classification
Fiftyone Examples134
9 days ago10apache-2.0Python
Examples of using FiftyOne
Alternatives To Deepmoji
Select To Compare


Alternative Project Comparisons
Readme

------ Update September 2018 ------

It's now been a year since DeepMoji was released and we're trying to understand how it's being used such that we can make improvements and provide you with better models in the future.

Please help us achieve this by answering our 4-question Google Form. Thanks for your support!

DeepMoji

DeepMoji Youtube
(click image for video demonstration)

DeepMoji is a model trained on 1.2 billion tweets with emojis to understand how language is used to express emotions. Through transfer learning the model can obtain state-of-the-art performance on many emotion-related text modeling tasks.

Try our online demo at http://deepmoji.mit.edu! See the paper, blog post or FAQ for more details.

Overview

  • deepmoji/ contains all the underlying code needed to convert a dataset to our vocabulary and use our model.
  • examples/ contains short code snippets showing how to convert a dataset to our vocabulary, load up the model and run it on that dataset.
  • scripts/ contains code for processing and analysing datasets to reproduce results in the paper.
  • model/ contains the pretrained model and vocabulary.
  • data/ contains raw and processed datasets that we include in this repository for testing.
  • tests/ contains unit tests for the codebase.

To start out with, have a look inside the examples/ directory. See score_texts_emojis.py for how to use DeepMoji to extract emoji predictions, encode_texts.py for how to convert text into 2304-dimensional emotional feature vectors or finetune_youtube_last.py for how to use the model for transfer learning on a new dataset.

Please consider citing our paper if you use our model or code (see below for citation).

Frameworks

This code is based on Keras, which requires either Theano or Tensorflow as the backend. If you would rather use pyTorch there's an implementation available here, which has kindly been provided by Thomas Wolf.

Installation

We assume that you're using Python 2.7 with pip installed. As a backend you need to install either Theano (version 0.9+) or Tensorflow (version 1.3+). Once that's done you need to run the following inside the root directory to install the remaining dependencies:

pip install -e .

This will install the following dependencies:

Ensure that Keras uses your chosen backend. You can find the instructions here, under the Switching from one backend to another section.

Run the included script, which downloads the pretrained DeepMoji weights (~85MB) from here and places them in the model/ directory:

python scripts/download_weights.py

Testing

To run the tests, install nose. After installing, navigate to the tests/ directory and run:

nosetests -v

By default, this will also run finetuning tests. These tests train the model for one epoch and then check the resulting accuracy, which may take several minutes to finish. If you'd prefer to exclude those, run the following instead:

nosetests -v -a '!slow'

Disclaimer

This code has been tested to work with Python 2.7 on an Ubuntu 16.04 machine. It has not been optimized for efficiency, but should be fast enough for most purposes. We do not give any guarantees that there are no bugs - use the code on your own responsibility!

Contributions

We welcome pull requests if you feel like something could be improved. You can also greatly help us by telling us how you felt when writing your most recent tweets. Just click here to contribute.

License

This code and the pretrained model is licensed under the MIT license.

Benchmark datasets

The benchmark datasets are uploaded to this repository for convenience purposes only. They were not released by us and we do not claim any rights on them. Use the datasets at your responsibility and make sure you fulfill the licenses that they were released with. If you use any of the benchmark datasets please consider citing the original authors.

Twitter dataset

We sadly cannot release our large Twitter dataset of tweets with emojis due to licensing restrictions.

Citation

@inproceedings{felbo2017,
  title={Using millions of emoji occurrences to learn any-domain representations for detecting sentiment, emotion and sarcasm},
  author={Felbo, Bjarke and Mislove, Alan and S{\o}gaard, Anders and Rahwan, Iyad and Lehmann, Sune},
  booktitle={Conference on Empirical Methods in Natural Language Processing (EMNLP)},
  year={2017}
}
Popular Emotion Projects
Popular Machine Learning Projects
Popular Web User Interface Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Python
Machine Learning
Deep Learning
Dataset
Natural Language Processing
Benchmark
Keras
Emotion