All Projects → cbaziotis → Datastories Semeval2017 Task4

cbaziotis / Datastories Semeval2017 Task4

Licence: mit
Deep-learning model presented in "DataStories at SemEval-2017 Task 4: Deep LSTM with Attention for Message-level and Topic-based Sentiment Analysis".

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Datastories Semeval2017 Task4

datastories-semeval2017-task6
Deep-learning model presented in "DataStories at SemEval-2017 Task 6: Siamese LSTM with Attention for Humorous Text Comparison".
Stars: ✭ 20 (-89.13%)
Mutual labels:  word-embeddings, embeddings, lstm, attention, glove, attention-mechanism, keras-models, nlp-machine-learning
SentimentAnalysis
Sentiment Analysis: Deep Bi-LSTM+attention model
Stars: ✭ 32 (-82.61%)
Mutual labels:  sentiment-analysis, word-embeddings, embeddings, lstm, deeplearning, attention-mechanism, nlp-machine-learning
NTUA-slp-nlp
💻Speech and Natural Language Processing (SLP & NLP) Lab Assignments for ECE NTUA
Stars: ✭ 19 (-89.67%)
Mutual labels:  sentiment-analysis, word-embeddings, attention, attention-mechanism, nlp-machine-learning
sentiment-analysis-of-tweets-in-russian
Sentiment analysis of tweets in Russian using Convolutional Neural Networks (CNN) with Word2Vec embeddings.
Stars: ✭ 51 (-72.28%)
Mutual labels:  sentiment-analysis, word-embeddings, embeddings, nlp-machine-learning
Text Classification Keras
📚 Text classification library with Keras
Stars: ✭ 53 (-71.2%)
Mutual labels:  lstm, sentiment-analysis, attention, nlp-machine-learning
ntua-slp-semeval2018
Deep-learning models of NTUA-SLP team submitted in SemEval 2018 tasks 1, 2 and 3.
Stars: ✭ 79 (-57.07%)
Mutual labels:  sentiment-analysis, lstm, attention, attention-mechanism
Multimodal Sentiment Analysis
Attention-based multimodal fusion for sentiment analysis
Stars: ✭ 172 (-6.52%)
Mutual labels:  lstm, sentiment-analysis, attention-mechanism, attention
Persian-Sentiment-Analyzer
Persian sentiment analysis ( آناکاوی سهش های فارسی | تحلیل احساسات فارسی )
Stars: ✭ 30 (-83.7%)
Mutual labels:  sentiment-analysis, embeddings, lstm
Pytorch Original Transformer
My implementation of the original transformer model (Vaswani et al.). I've additionally included the playground.py file for visualizing otherwise seemingly hard concepts. Currently included IWSLT pretrained models.
Stars: ✭ 411 (+123.37%)
Mutual labels:  deeplearning, attention-mechanism, attention
Twitter Sentiment Analysis
Sentiment analysis on tweets using Naive Bayes, SVM, CNN, LSTM, etc.
Stars: ✭ 978 (+431.52%)
Mutual labels:  deeplearning, lstm, sentiment-analysis
Coursera Natural Language Processing Specialization
Programming assignments from all courses in the Coursera Natural Language Processing Specialization offered by deeplearning.ai.
Stars: ✭ 39 (-78.8%)
Mutual labels:  deeplearning, nlp-machine-learning, word-embeddings
Embeddingsviz
Visualize word embeddings of a vocabulary in TensorBoard, including the neighbors
Stars: ✭ 40 (-78.26%)
Mutual labels:  embeddings, word-embeddings, glove
Sarcasm Detection
Detecting Sarcasm on Twitter using both traditonal machine learning and deep learning techniques.
Stars: ✭ 73 (-60.33%)
Mutual labels:  sentiment-analysis, attention-mechanism, twitter
Stock Market Prediction Web App Using Machine Learning And Sentiment Analysis
Stock Market Prediction Web App based on Machine Learning and Sentiment Analysis of Tweets (API keys included in code). The front end of the Web App is based on Flask and Wordpress. The App forecasts stock prices of the next seven days for any given stock under NASDAQ or NSE as input by the user. Predictions are made using three algorithms: ARIMA, LSTM, Linear Regression. The Web App combines the predicted prices of the next seven days with the sentiment analysis of tweets to give recommendation whether the price is going to rise or fall
Stars: ✭ 101 (-45.11%)
Mutual labels:  lstm, sentiment-analysis, twitter
automatic-personality-prediction
[AAAI 2020] Modeling Personality with Attentive Networks and Contextual Embeddings
Stars: ✭ 43 (-76.63%)
Mutual labels:  lstm, attention, attention-mechanism
word2vec-tsne
Google News and Leo Tolstoy: Visualizing Word2Vec Word Embeddings using t-SNE.
Stars: ✭ 59 (-67.93%)
Mutual labels:  word-embeddings, embeddings, nlp-machine-learning
Hierarchical-Word-Sense-Disambiguation-using-WordNet-Senses
Word Sense Disambiguation using Word Specific models, All word models and Hierarchical models in Tensorflow
Stars: ✭ 33 (-82.07%)
Mutual labels:  lstm, attention, attention-mechanism
Absa keras
Keras Implementation of Aspect based Sentiment Analysis
Stars: ✭ 126 (-31.52%)
Mutual labels:  sentiment-analysis, attention-mechanism, attention
Repo 2017
Python codes in Machine Learning, NLP, Deep Learning and Reinforcement Learning with Keras and Theano
Stars: ✭ 1,123 (+510.33%)
Mutual labels:  sentiment-analysis, glove, keras-models
Magnitude
A fast, efficient universal vector embedding utility package.
Stars: ✭ 1,394 (+657.61%)
Mutual labels:  embeddings, word-embeddings, glove

Overview

This repository contains the source code for the models used for DataStories team's submission for SemEval-2017 Task 4 “Sentiment Analysis in Twitter”. The model is described in the paper "DataStories at SemEval-2017 Task 4: Deep LSTM with Attention for Message-level and Topic-based Sentiment Analysis".

Citation:

@InProceedings{baziotis-pelekis-doulkeridis:2017:SemEval2,
  author    = {Baziotis, Christos  and  Pelekis, Nikos  and  Doulkeridis, Christos},
  title     = {DataStories at SemEval-2017 Task 4: Deep LSTM with Attention for Message-level and Topic-based Sentiment Analysis},
  booktitle = {Proceedings of the 11th International Workshop on Semantic Evaluation (SemEval-2017)},
  month     = {August},
  year      = {2017},
  address   = {Vancouver, Canada},
  publisher = {Association for Computational Linguistics},
  pages     = {747--754}
}

MSA The message-level sentiment analysis model, for SubTask A.

MSA The target-based sentiment analysis model, for SubTasks B,C,D,E.

Notes

  • If what you are just interested in the source code for the model then just see models/neural/keras_models.py.
  • The models were trained using Keras 1.2. In order for the project to work with Keras 2 some minor changes will have to be made.

Prerequisites

1 - Install Requirements

pip install -r /datastories-semeval2017-task4/requirements.txt

Ubuntu:

sudo apt-get install graphviz

Windows: Install graphiz from here:http://www.graphviz.org/Download_windows.php

2 - Download pre-trained Word Embeddings

The models were trained on top of word embeddings pre-trained on a big collection of Twitter messages. We collected a big dataset of 330M English Twitter messages posted from 12/2012 to 07/2016. For training the word embeddings we used GloVe. For preprocessing the tweets we used ekphrasis, which is also one of the requirements of this project.

You can download one of the following word embeddings:

Place the file(s) in /embeddings folder, for the program to find it.

Execution

Word Embeddings

In order to specify which word embeddings file you want to use, you have to set the values of WV_CORPUS and WV_WV_DIM in model_message.py and model_target.py respectively. The default values are:

WV_CORPUS = "datastories.twitter"
WV_DIM = 300

The convention we use to identify each file is:

{corpus}.{dimensions}d.txt

This means that if you want to use another file, for instance GloVe Twitter word embeddings with 200 dimensions, you have to place a file like glove.200d.txt inside /embeddings folder and set:

WV_CORPUS = "glove"
WV_DIM = 200

Model Training

You will find the programs for training the Keras models, in /models folder.

models/neural/keras_models
│   keras_models.py  : contains the Keras models
│   model_message.py : script for training the model for Subtask A
│   model_target.py  : script for training the models for Subtask B and D
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].