I'm writing a Java program and need to analyze small chunks of text (3-4 sentences, news articles paraphrased) for their sentiment. I just need to know whether the article is generally positive, negative or neutral.
For example, the following would ideally be classed as positive:
Kindle e-book sales soar for Amazon. Amazon.com says it is selling more e-books for its Kindle electronic reading device than paperback and hardback print editions combined
All I need is a very simple and quick to implement third party solution, that I can use in my program. It does not have to be totally accurate all the time. Licenses etc. are not an issue, so long as it is possible to trail the solution.
So far I have found a potential good solution, AlchemyAPI, but am struggling to actually use it.
If anyone has encountered this problem before and knows of a particularly good/easy solution, or of a really good tutorial, I would be very grateful :-)
(Also I apologize for the lack of code in this question.)
i just tested AlchemyAPI. it's not 100% accurate but i guess this sort of technology is still in its infancy.
you will need to register (free) to get an api key.
here's a sample usage: http://access.alchemyapi.com/calls/text/TextGetTextSentiment?apikey=<insert your api key>&sentiment=1&showSourceText=1&text=Kindle%20e-book%20sales%20soar%20for%20Amazon.%20Amazon.com%20says%20it%20is%20selling%20more%20e-books%20for%20its%20Kindle%20electronic%20reading%20device%20than%20paperback%20and%20hardback%20print%20editions%20combined
the inputs are:
i got the following output (neutral sentiment, instead of the expected positive sentiment):
<?xml version="1.0" encoding="UTF-8"?>
<results>
<status>OK</status>
<usage>By accessing AlchemyAPI or using information generated by AlchemyAPI, you are agreeing to be bound by the AlchemyAPI Terms of Use: http://www.alchemyapi.com/company/terms.html</usage>
<url></url>
<language>english</language>
<text>Kindle e-book sales soar for Amazon. Amazon.com says it is selling more e-books for its Kindle electronic reading device than paperback and hardback print editions combined</text>
<docSentiment>
<type>neutral</type>
</docSentiment>
</results>
another sample usage: http://access.alchemyapi.com/calls/text/TextGetTextSentiment?apikey=<insert your api key>&sentiment=1&showSourceText=1&text=kindle%20is%20amazing
and the output:
<?xml version="1.0" encoding="UTF-8"?>
<results>
<status>OK</status>
<usage>By accessing AlchemyAPI or using information generated by AlchemyAPI, you are agreeing to be bound by the AlchemyAPI Terms of Use: http://www.alchemyapi.com/company/terms.html</usage>
<url></url>
<language>english</language>
<text>kindle is amazing</text>
<docSentiment>
<type>positive</type>
<score>0.283568</score>
</docSentiment>
</results>