近期,IBM 对 Watson 认知 API 服务进行了扩充,新增了情绪和语调分析 API 的测试版本。
Watson 的情绪分析 API 被添加至 AlchemyLanguage 的现有 API 服务中。去年 IBM 收购 AlchemyAPI 之后,后者的 API 服务就被纳入了 Watson 的服务清单中。目前,情绪分析 API 在处理完文本之后,会根据五种情绪对文本内容进行排名:快乐、恐惧、悲伤、厌恶和愤怒。
在宣布进行 API 更新的博客中有一个示例,对下面的文本进行了分析:“那天别人跟我说我已经被经济系入取了。”这个文本的情绪分析排名结果是:
- 愤怒:0.045
- 厌恶:0.023
- 快乐:0.93
- 恐惧:0.035
- 悲伤:0.07
根据这些数据,开发者可以对整体文本表达的情绪进行推断。
我们可以通过两种方式向该 API 发送需要处理的文本和 HTML 内容,一是通过 HTTP 将内容直接传送至端点,二是传入一个网络上可公开访问内容的 URL 链接。API 的输出格式包括 XML 和 JSON 两种。该 API 按照请求数计费,每个 IBM Bluemix 机构每天可以免费使用 1000 次 API 事件请求。计费标准为 0.007 美元 / 事件请求,最多支持 25 万次事件。
Watson 语调分析器与情绪分析 API 类似,但是在分析时增加了语言和社交语调的维度。
语调分为三大类:分析性、自信性和试探性的语调。对于前述示例文本,分析性得分为 0.39,自信性和试探性的值则为 0。
社交语调分析将语调分为五种不同的语调:开放性、尽责性、外向性、亲和性和情绪范围(或情绪稳定性)。这五种语调也被称为“五大”人格特征。对示例文本的分析得出这五种社交语调的值为:
- 开放性:0.134
- 尽责性:0.409
- 外向性:0.474
- 亲和性:0.736
- 情绪范围:0.784
与情绪分析 API 类似,该 API 也只是使用了简单的 GET 和 POST 请求等 HTTP API,并返回一个单一响应。 API 文档中提供了 curl、Node、Java 和 Python 等方式调用的示例。在测试期内,通过 IBM Bluemix 可以免费使用语调分析器。下面是使用 Node 对前述示范文本进行分析的例子:
var watson = require('watson-developer-cloud'); var tone_analyzer = watson.tone_analyzer({ username: '{username}', password: '{password}', version: 'v3-beta', version_date: '2016-02-11' }); tone_analyzer.tone({ text: 'the day I was told that I had been accepted as a student of economics.' }, function(err, tone) { if (err) console.log(err); else console.log(JSON.stringify(tone, null, 2)); });
IBM 已经公布了一个应用程序入门套件。除 AlchemyData News API 外,该套件还使用了 AlchemyAlanguage 和语调分析器。目前,这些 API 只支持英语文本。
这个示范应用展示了如何使用互联网和社交媒体及自然语言处理,以理解重要话题及人们对这些话题的反应。
开发者如果有兴趣通过实践项目探索这些 API,可以考虑参加线上 Watson 开发者挑战(目前正在进行,直至 4 月 15 日结束),以及今年 5 月 21-22 日在纽约 36 号码头举行的 Watson 世界黑客马拉松(World of Watson Hackathon)。
查看英文原文: IBM Expands Watson Cognitive APIs
感谢张龙对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论