我正在尝试使用与IBM DevOps Services的CE文档页面一起列出的Watson Concept Expansion示例应用程序。
该应用在尝试检索结果时会产生错误,我想我明白了为什么但不确定该怎么做:
以下是检索结果的适用代码:
// Get the job result by calling PUT to '/result' with the jobid
var job_result_async = function(jobid, onSuccess, onError) {
// create a new map with the defaault https params
var params = extend({},default_params);
params.path += '/result';
params.method = 'PUT';
var watson_req = https.request(params, function(result) {
var response_string = '';
result.on('data', function(chunk) {
response_string += chunk;
});
result.on('end', function() {
var result_json = JSON.parse(response_string);
// format results if exists
if (util.isArray(result_json.return_seeds)) {
var result_clean = result_json.return_seeds.map(function(e) {
return { 'result' : clean_string(e.result),
'prevalence': e.prevalence }
});
result_json.return_seeds = result_clean;
}
onSuccess(result_json);
})
});
watson_req.on('error', function(e) {
onError(e)
});
// send the data
watson_req.write(JSON.stringify({'jobid': jobid}));
watson_req.end();
};
以下是/ result REST API端点的文档页面: Concept Expansion REST API for /result
在函数中,就我所知,jobid永远不会被传递。我怀疑这是问题,但如果有人能证实这很好,而且我也不清楚如何将jobid传递给/ result API以便能够检索结果。
感谢您的帮助! -Andy
答案 0 :(得分:0)
几天前你试过这项服务时遇到了问题。看看你的代码它应该工作。 如果您想尝试该服务,可以使用watson-developer-cloud npm模块,如下所述:
input
我运行上面的代码并得到:
var watson = require('watson-developer-cloud');
var concept_expansion = watson.concept_expansion({
username: '<username>',
password: '<password>',
version: 'v1'
});
var params = {
seeds: ['motrin','tylenol','aspirin'],
dataset: 'mtsamples',
label: 'medications'
};
concept_expansion.expand(params, function (err, response) {
if (err)
console.log('error:', err);
else
console.log(JSON.stringify(response, null, 2));
});