All Projects → ClimbsRocks → empythy

ClimbsRocks / empythy

Licence: MIT license
Automated NLP sentiment predictions- batteries included, or use your own data

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to empythy

brand-sentiment-analysis
Scripts utilizing Heartex platform to build brand sentiment analysis from the news
Stars: ✭ 21 (+23.53%)
Mutual labels:  sentiment, nlp-machine-learning, sentiment-classification, nlp-sentiment-classifier
TextFeatureSelection
Python library for feature selection for text features. It has filter method, genetic algorithm and TextFeatureSelectionEnsemble for improving text classification models. Helps improve your machine learning models
Stars: ✭ 42 (+147.06%)
Mutual labels:  machinelearning, nlp-library, nlp-machine-learning
Senti4SD
An emotion-polarity classifier specifically trained on developers' communication channels
Stars: ✭ 41 (+141.18%)
Mutual labels:  sentiment, sentiment-classifier, sentiment-classification
Nlp profiler
A simple NLP library allows profiling datasets with one or more text columns. When given a dataset and a column name containing text data, NLP Profiler will return either high-level insights or low-level/granular statistical information about the text in that column.
Stars: ✭ 181 (+964.71%)
Mutual labels:  nlp-library, nlp-machine-learning
Tika Python
Tika-Python is a Python binding to the Apache Tika™ REST services allowing Tika to be called natively in the Python community.
Stars: ✭ 997 (+5764.71%)
Mutual labels:  nlp-library, nlp-machine-learning
Lingo
package lingo provides the data structures and algorithms required for natural language processing
Stars: ✭ 113 (+564.71%)
Mutual labels:  nlp-library, nlp-machine-learning
word2vec-tsne
Google News and Leo Tolstoy: Visualizing Word2Vec Word Embeddings using t-SNE.
Stars: ✭ 59 (+247.06%)
Mutual labels:  machinelearning, 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 (+200%)
Mutual labels:  machinelearning, nlp-machine-learning
mindware
An efficient open-source AutoML system for automating machine learning lifecycle, including feature engineering, neural architecture search, and hyper-parameter tuning.
Stars: ✭ 34 (+100%)
Mutual labels:  machinelearning, automated-machine-learning
Java Deep Learning Cookbook
Code for Java Deep Learning Cookbook
Stars: ✭ 156 (+817.65%)
Mutual labels:  machinelearning, nlp-machine-learning
wink-sentiment
Accurate and fast sentiment scoring of phrases with #hashtags, emoticons :) & emojis 🎉
Stars: ✭ 51 (+200%)
Mutual labels:  sentiment, sentiment-classification
Lingua
👄 The most accurate natural language detection library for Java and the JVM, suitable for long and short text alike
Stars: ✭ 341 (+1905.88%)
Mutual labels:  nlp-library, nlp-machine-learning
Contextualized Topic Models
A python package to run contextualized topic modeling. CTMs combine BERT with topic models to get coherent topics. Also supports multilingual tasks. Cross-lingual Zero-shot model published at EACL 2021.
Stars: ✭ 318 (+1770.59%)
Mutual labels:  nlp-library, nlp-machine-learning
Nuts
自然语言处理常见任务(主要包括文本分类,序列标注,自动问答等)解决方案试验田
Stars: ✭ 21 (+23.53%)
Mutual labels:  nlp-library, nlp-machine-learning
Pytorch Sentiment Classification
LSTM and CNN sentiment analysis
Stars: ✭ 89 (+423.53%)
Mutual labels:  sentiment, sentiment-classification
NLP-Natural-Language-Processing
Projects and useful articles / links
Stars: ✭ 149 (+776.47%)
Mutual labels:  nlp-library, nlp-machine-learning
mlconjug3
A Python library to conjugate verbs in French, English, Spanish, Italian, Portuguese and Romanian (more soon) using Machine Learning techniques.
Stars: ✭ 47 (+176.47%)
Mutual labels:  nlp-library, nlp-machine-learning
OpenPrompt
An Open-Source Framework for Prompt-Learning.
Stars: ✭ 1,769 (+10305.88%)
Mutual labels:  nlp-library, nlp-machine-learning
Letslearnai.github.io
Lets Learn AI
Stars: ✭ 33 (+94.12%)
Mutual labels:  machinelearning, nlp-machine-learning
billboard
🎤 Lyrics/associated NLP data for Billboard's Top 100, 1950-2015.
Stars: ✭ 53 (+211.76%)
Mutual labels:  sentiment, sentiment-classification

empathyMachines

A standalone NLP sentiment classifier you can import as a module

Purposes

  1. Offer a batteries-included NLP classifier you can use either on it's own, or to make sentiment predictions as part of a broder NLP project (for example, when classifying customer messages, whether the customer is angry or not might help you determine if this is a compensation request, or a request to adjust their address.)
  2. Have the entire sentiment prediction process scaffolded so you can feed in your own training corpus, and easily train an NLP sentiment classifier.

How to use

  1. pip install empythy
from empythy import EmpathyMachines
nlp_classifier = EmpathyMachines()
nlp_classifier.train()
nlp_classifier.predict(text_string)

Corpora included

NLTK Movie Reviews

The classic sentiment corpus, 2000 movie reviews already gathered by NLTK.

Assembling a custom Twitter sentiment corpus

CrowdFlower hosts a number of Twitter corpora that have already been graded for sentiment by panels of humans.

I aggregated together 6 of their corpora into a single, aggregated and cleaned corpus, with consistent scoring labels across the entire corpus. The cleaned corpus contains over 45,000 documents, with positive, negative, and neutral sentiments.

Train on your own corpus

Feel free to train a classifier on your own corpus!

Two ways to do this

  1. Read in a .csv file with header row containing "sentiment", "text", and optionally, "confidence"
    • Pass the name of the .csv file to train, like so:
    • nlp_classifier.train(corpus='custom', corpus_path='path/to/custom/corpus.csv')
  2. Pass in an array of Python dictionaries, where each dictionary has attributes for "sentiment", "text", and optionally, "confidence"
    • nlp_classifier.train(corpus='custom', corpus_array=my_array_of_texts)
    • Two important parts to this, both corpus='custom', and corpus_array=my_variable_holding_the_documents.

Advanced Usage

  1. nlp_classifier.train(verbose=False) to turn off print status statements while training.
  2. nlp_classifier.train(print_analytics_results=True) to print out results of training the classifier.
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].