近期,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