情绪分析 api/tool,用于 Java

Posted

技术标签:

【中文标题】情绪分析 api/tool,用于 Java【英文标题】:Sentiment analysis api/tool, for Java 【发布时间】:2011-08-29 17:01:04 【问题描述】:

我正在编写一个 Java 程序,需要分析一小段文本(3-4 句话,转述的新闻文章)以了解他们的情绪。我只需要知道这篇文章总体上是正面的、负面的还是中性的。

例如,理想情况下,以下内容将被归类为正面:

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

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

到目前为止,我找到了一个潜在的好解决方案,AlchemyAPI,但我很难实际使用它。

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

(另外我为这个问题中缺少代码表示歉意。)

【问题讨论】:

“对于这个问题中缺少代码,我深表歉意。”关于缺少问题的任何评论? ;) 【参考方案1】:

我刚刚测试了 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 showSourceText=1 文本(我使用了您的示例文本,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=&lt;insert your api key&gt;&amp;sentiment=1&amp;showSourceText=1&amp;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>

【讨论】:

如何在 java 中使用 alchemyAPI? 我也在寻找相同的。你能告诉我怎么用java写吗?【参考方案2】:

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

【讨论】:

【参考方案3】:

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

LexSent by hyindao at Algorithmia mtman 在 Algorithmia 的情绪分析 nlu 在 Algorithmia 的情绪分析 nlu 在 Algorithmia 进行的社会情绪分析 亚马逊网络服务理解 外星人文本分析 Boson NLP 情绪分析 谷歌云自然语言 IBM Watson NLU 意义云情感分析 Microsoft 认知服务文本分析 声名狼藉的文本分析 Salesforce 爱因斯坦语言 双字情感分析 TheSay PreCeive

关于语言支持、功能和价格比较I would refer to this article。

【讨论】:

【参考方案4】:

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

【讨论】:

以上是关于情绪分析 api/tool,用于 Java的主要内容,如果未能解决你的问题,请参考以下文章

用于情绪分析的 Mahout

用于情绪分析的好数据集? [关闭]

用于电子邮件情绪分析的客户支持数据集

用于情绪分析的 BERT 微调模型高度过拟合

情绪分析java库[关闭]

人脸情绪识别 需求分析心得