All Projects → xiamx → Awesome Sentiment Analysis

xiamx / Awesome Sentiment Analysis

Licence: cc-by-sa-4.0
😀😄😂😭 A curated list of Sentiment Analysis methods, implementations and misc. 😥😟😱😤

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Awesome Sentiment Analysis

Pynlpl
PyNLPl, pronounced as 'pineapple', is a Python library for Natural Language Processing. It contains various modules useful for common, and less common, NLP tasks. PyNLPl can be used for basic tasks such as the extraction of n-grams and frequency lists, and to build simple language model. There are also more complex data types and algorithms. Moreover, there are parsers for file formats common in NLP (e.g. FoLiA/Giza/Moses/ARPA/Timbl/CQL). There are also clients to interface with various NLP specific servers. PyNLPl most notably features a very extensive library for working with FoLiA XML (Format for Linguistic Annotation).
Stars: ✭ 426 (-47.79%)
Mutual labels:  linguistics
Sentiment Analysis In Event Driven Stock Price Movement Prediction
Use NLP to predict stock price movement associated with news
Stars: ✭ 540 (-33.82%)
Mutual labels:  sentiment-analysis
Nltk data
NLTK Data
Stars: ✭ 675 (-17.28%)
Mutual labels:  linguistics
Lexpredict Lexnlp
LexNLP by LexPredict
Stars: ✭ 439 (-46.2%)
Mutual labels:  linguistics
Rust Bert
Rust native ready-to-use NLP pipelines and transformer-based models (BERT, DistilBERT, GPT2,...)
Stars: ✭ 510 (-37.5%)
Mutual labels:  sentiment-analysis
Sentiment analysis fine grain
Multi-label Classification with BERT; Fine Grained Sentiment Analysis from AI challenger
Stars: ✭ 546 (-33.09%)
Mutual labels:  sentiment-analysis
Sentimentanalysis
文本情感分析
Stars: ✭ 421 (-48.41%)
Mutual labels:  sentiment-analysis
Stocktalk
Data collection tool for social media analytics
Stars: ✭ 765 (-6.25%)
Mutual labels:  sentiment-analysis
Awesome Twitter Data
A list of Twitter datasets and related resources.
Stars: ✭ 533 (-34.68%)
Mutual labels:  sentiment-analysis
Conv Emotion
This repo contains implementation of different architectures for emotion recognition in conversations.
Stars: ✭ 646 (-20.83%)
Mutual labels:  sentiment-analysis
Nlp.js
An NLP library for building bots, with entity extraction, sentiment analysis, automatic language identify, and so more
Stars: ✭ 4,670 (+472.3%)
Mutual labels:  sentiment-analysis
Weixin public corpus
微信公众号语料库
Stars: ✭ 465 (-43.01%)
Mutual labels:  linguistics
Deep Learning For Hackers
Machine Learning tutorials with TensorFlow 2 and Keras in Python (Jupyter notebooks included) - (LSTMs, Hyperameter tuning, Data preprocessing, Bias-variance tradeoff, Anomaly Detection, Autoencoders, Time Series Forecasting, Object Detection, Sentiment Analysis, Intent Recognition with BERT)
Stars: ✭ 586 (-28.19%)
Mutual labels:  sentiment-analysis
Weibo Analyst
Social media (Weibo) comments analyzing toolbox in Chinese 微博评论分析工具, 实现功能: 1.微博评论数据爬取; 2.分词与关键词提取; 3.词云与词频统计; 4.情感分析; 5.主题聚类
Stars: ✭ 430 (-47.3%)
Mutual labels:  sentiment-analysis
Tf Rnn Attention
Tensorflow implementation of attention mechanism for text classification tasks.
Stars: ✭ 735 (-9.93%)
Mutual labels:  sentiment-analysis
Deep Learning V2 Pytorch
Projects and exercises for the latest Deep Learning ND program https://www.udacity.com/course/deep-learning-nanodegree--nd101
Stars: ✭ 4,457 (+446.2%)
Mutual labels:  sentiment-analysis
Sentibridge
SentiBridge: A Knowledge Base for Entity-Sentiment Representation
Stars: ✭ 542 (-33.58%)
Mutual labels:  sentiment-analysis
Chatbot cn
基于金融-司法领域(兼有闲聊性质)的聊天机器人,其中的主要模块有信息抽取、NLU、NLG、知识图谱等,并且利用Django整合了前端展示,目前已经封装了nlp和kg的restful接口
Stars: ✭ 791 (-3.06%)
Mutual labels:  sentiment-analysis
Getting Things Done With Pytorch
Jupyter Notebook tutorials on solving real-world problems with Machine Learning & Deep Learning using PyTorch. Topics: Face detection with Detectron 2, Time Series anomaly detection with LSTM Autoencoders, Object Detection with YOLO v5, Build your first Neural Network, Time Series forecasting for Coronavirus daily cases, Sentiment Analysis with BERT.
Stars: ✭ 738 (-9.56%)
Mutual labels:  sentiment-analysis
Xmnlp
xmnlp:提供中文分词, 词性标注, 命名体识别,情感分析,文本纠错,文本转拼音,文本摘要,偏旁部首等功能
Stars: ✭ 591 (-27.57%)
Mutual labels:  sentiment-analysis

😀😄😂😭 Awesome Sentiment Analysis 😥😟😱😤 Awesome

Curated list of Sentiment Analysis methods, implementations and misc.

Sentiment Analysis is the field of study that analyzes people's opinions, sentiments, evaluations, attitudes, and emotions from written languages. (Liu 2012)

Contents

Objective

The goal of this repository is to provide adequate links for scholars who want to research in this domain; and at the same time, be sufficiently accessible for developers who want to integrate sentiment analysis into their applications.

Introduction

Sentiment Analysis happens at various levels:

  • Document-level Sentiment Analysis evaluate sentiment of a single entity (i.e. a product) from a review document.
  • Sentence-level Sentiment Analysis evaluate sentiment from a single sentence.
  • Aspect-level Sentiment Analysis performs finer-grain analysis. For example, the sentence “the iPhone’s call quality is good, but its battery life is short.” evaluates two aspects: call quality and battery life, of iPhone (entity). The sentiment on iPhone’s call quality is positive, but the sentiment on its battery life is negative. (Liu 2012)

Most recent research focuses on the aspect-based approaches. But not all opensource implementations are caught up yet.

There are many different approaches to solve the problem. Lexical methods, for example, look at the frequency of words expressing positive and negative sentiment (from i.e. SentiWordNet) occurring in the given sentence. Supervised Machine Learning, such as Naive Bayes and Support Vector Machine (SVM), can be used with training data. Since training examples are difficult to obtain, Unsupervised Machine Learning, such as Latent Dirichlet Allocation (LDA) and word embeddings (Word2Vec) are also used on large unlabeled datasets. Recent works also apply Deep Learning methods such as Convolutional Neural Network (CNN) and Long Short-term Memory (LSTM), as well as their attention-based variants. You will find more details in the survey papers.

Survey Papers

Liu, Bing. "Sentiment analysis and opinion mining." Synthesis lectures on human language technologies 5.1 (2012): 1-167. [pdf]

Vinodhini, G., and R. M. Chandrasekaran. "Sentiment analysis and opinion mining: a survey." International Journal 2.6 (2012): 282-292. [pdf]

Medhat, Walaa, Ahmed Hassan, and Hoda Korashy. "Sentiment analysis algorithms and applications: A survey." Ain Shams Engineering Journal 5.4 (2014): 1093-1113. [pdf]

Baseline Systems

Wang, Sida, and Christopher D. Manning. "Baselines and bigrams: Simple, good sentiment and topic classification." Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics: Short Papers-Volume 2. Association for Computational Linguistics, 2012. [pdf]

Cambria, Erik, Daniel Olsher, and Dheeraj Rajagopal. "SenticNet 3: a common and common-sense knowledge base for cognition-driven sentiment analysis." Proceedings of the twenty-eighth AAAI conference on artificial intelligence. AAAI Press, 2014. [pdf]

Resources and Corpora

AFINN: List of English words rated for valence [web]

SentiWordNet: Lexical resource devised for supporting sentiment analysis. [web] [paper]

GloVe: Algorithm for obtaining word vectors. Pretrained word vectors available for download [web] [paper]

SemEval14-Task4: Annotated aspects and sentiments of laptops and restaurants reviews. [web] [paper]

Stanford Sentiment Treebank: Sentiment dataset with fine-grained sentiment annotations [web] [paper]

Multidimensional Lexicon for Interpersonal Stancetaking [web] [paper]

Open Source Implementations

The characteristics of each implementation are described.

Caveats: A key problem in sentiment analysis is its sensitivity to the domain from which either training data is sourced, or on which a sentiment lexicon is built. [♠] Be careful assuming off-the-shelf implementations will work for your problem, make sure to look at the model assumptions and validate whether they’re accurate on your own domain [♦].

NodeJS

thisandagain/sentiment: Lexical, Dictionary-based, AFINN-based.

thinkroth/Sentimental Lexical, Dictionary-based, AFINN-based.

Java

LingPipe: Lexical, Corpus-based, Supervised Machine Learning

CoreNLP: Supervised Machine Learning, Deep Learning

ASUM: Unsupervised Machine Learning, Latent Dirichlet Allocation. [paper]

Python

nltk: VADER sentiment analysis tool, Lexical, Dictionary-based, Rule-based. [paper]

vivekn/sentiment: Supervised Machine Learning, Naive Bayes Classifier. [paper]

xiaohan2012/twitter-sent-dnn: Supervised Machine Learning, Deep Learning, Convolutional Neural Network. [paper]

abdulfatir/twitter-sentiment-analysis: Sentiment analysis on tweets using Naive Bayes, SVM, CNN, LSTM, etc.

kevincobain2000/sentiment_classifier: Supervised Machine Learning, Naive Bayes Classifier, Max Entropy Classifier, SentiWordNet.

pedrobalage/SemevalAspectBasedSentimentAnalysis: Aspect-Based, Supervised Machine Learning, Conditional Random Field.

ganeshjawahar/mem_absa: Aspect-Based, Supervised Machine Learning, Deep Learning, Attention-based, External Memory. [paper]

openai/generating-reviews-discovering-sentiment: Deep Learning, byte mLSTM [paper]

yiyang-gt/social-attention: Deep Learning, Attention-based. Uses authors' position in the social network to aide sentiment analysis. [paper].

thunlp/NSC: Deep Learning, Attention-based. Uses user and production information.[paper].

R

timjurka/sentiment: Supervised Machine Learning, Naive Bayes Classifier.

Golang

cdipaolo/sentiment: Supervised Machine Learning, Naive Bayes Classifier. Based on cdipaolo/goml.

Ruby

malavbhavsar/sentimentalizer: Lexical, Dictionary-based.

7compass/sentimental: Lexical, Dictionary-based.

CSharp

amrish7/Dragon: Supervised Machine Learning, Naive Bayes Classifier.

SaaS APIs

  • Google Cloud Natural Language API [web]
  • IBM Watson Alchemy Language [web]
  • Microsoft Cognitive Service [web]
  • Aylien [web]
  • Indico [web]
  • Rosette API [web]

Web Apps

Contributing

👍🎉 First off, thanks for taking the time to contribute! 🎉👍

Steps to contribute:

  • Make your awesome changes
  • Submit pull request; if you add a new entry, please give a very brief explanation why you think it should be added.
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].