Ask HN: What is the best NLP API/library for sentiment/emotional analysis?
What is the best, preferably free/open source, NLP API/library out there for sentiment, emotional, concept, and keyword analysis?
I'm currently designing an application which will run NLP on daily journal entries in order to gain a personal meta psychological analysis over time.
Because of the potentially sensitive/private nature of the journal entries, privacy is a very important consideration.
Thank you in advance.
5 comments
[ 2.8 ms ] story [ 29.2 ms ] threadThere's not really any such thing as "sentiment". You can classify reviews as positive or negative, and then train a model to reproduce those annotations pretty accurately. But a model trained to do that is unlikely to do anything useful for your task --- the knowledge for your task is quite different.
You need to create some labelled data and train your own text classification model. There are tonnes of tools for this. Scikit-Learn, Fast-Text and Vowpal Wabbit are all good places to look, for different use-cases.
Here's an example of what I'm looking for in terms of sentiment and emotion.
https://natural-language-understanding-demo.mybluemix.net
Journal entries can be given an overall positive/negative sentiment rating and then plotted on a line graph over time.
Drops in positivity could then be further analyzed by looking at the keywords and concepts of the affected time period.
Similar analysis could be done with the emotional analysis (i.e. joy, anger, fear).
I've input a couple test journal entries into that example and it seems feasible, but I'm looking for something free and/or that I could host myself though I realize I may be asking for more than I can get.
I'm not sure how IBM trained this system. Honestly I find the accuracy here pretty indistinguishable from chance --- I think there's a strong Barnum effect here.