Sentiment analysis api/tool, for Java



我正在编写一个Java程序,需要分析一小块文本(3-4个句子,新闻文章转述)以了解他们的情绪。我只需要知道这篇文章通常是积极的、消极的还是中立的。

例如,理想情况下,以下内容应归类为正数:

亚马逊的Kindle电子书销量飙升。 Amazon.com 表示销量更高 Kindle电子书 阅读设备比平装本和 精装印刷版合并

我所需要的只是一个非常简单快捷的第三方解决方案,我可以在我的程序中使用它。它不必一直完全准确。许可证等不是问题,只要有可能跟踪解决方案。

到目前为止,我已经找到了一个潜在的好解决方案,AlchemyAPI,但我正在努力实际使用它。

如果有人以前遇到过这个问题,并且知道一个特别好/简单的解决方案,或者一个非常好的教程,我将不胜感激:-)

(我也为这个问题中缺少代码而道歉。

我刚刚测试了AlchemyAPI。 它不是100%准确的,但我想这种技术仍处于起步阶段。

您需要注册(免费)才能获得 API 密钥。

下面是一个示例用法: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

输入是:

  1. 情绪=1
  2. 显示源文本=1
  3. 文本
  4. (我使用了您的示例文本,URI 编码)

我得到了以下输出(中性情绪,而不是预期的积极情绪):

<?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>


另一个示例用法:http://access.alchemyapi.com/calls/text/TextGetTextSentiment?apikey=<insert your api key>&sentiment=1&showSourceText=1&text=kindle%20is%20amazing

和输出:

<?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>

Alchemy API Java SDK在这里:

http://www.alchemyapi.com/developers/sdks/

使用 Alchemy API 的示例 Java 代码如下:

https://gate.ac.uk/gate/plugins/AlchemyAPI/src/com/alchemyapi/api/AlchemyAPI.java

这是另一个:

https://github.com/RubenVerborgh/Refine-NER-Extension/blob/master/src/org/freeyourmetadata/ner/services/AlchemyAPI.java

下面是一个通过LikeColor的Java客户端:

https://github.com/likethecolor/Alchemy-API

2018 年还有更多情感分析 API! :-)根据您需要的功能或文本语言,您可以使用其中之一:

  • LexSent by hyindao at Algorithmia
  • Algorithmia 的 mtman 的情感分析
  • nlu 在 Algorithmia 的情感分析
  • nlu在Algorithmia的社会情绪分析
  • 亚马逊云科技理解
  • 艾利恩文本分析
  • 玻色子NLP情绪分析
  • 谷歌云自然语言
  • IBM Watson NLU
  • 含义云情绪分析
  • Microsoft认知服务文本分析
  • 拒绝文本分析
  • Salesforce Einstein Language
  • 双词情感分析
  • TheSay Preceive

对于语言支持,功能和价格比较,我会参考这篇文章。

如果您需要更好的情感分析准确性,您可以自己训练模型,例如 https://text2data.com/Sentiment-Model-Training

最新更新