情绪分析 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=<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>
【讨论】:
如何在 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的主要内容,如果未能解决你的问题,请参考以下文章