0

我正在尝试使用 IBM DevOps Services 的 CE 文档页面中列出的 Watson 概念扩展示例应用程序。

该应用程序在尝试检索结果时会生成错误,我想我明白了原因,但不确定该怎么做:

以下是检索结果的适用代码:

// 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 端点的文档页面: /result 的 概念扩展 REST API

据我所知,在函数中,jobid 永远不会被传递。我怀疑这是问题所在,但如果有人能证实这一点,那就太好了,而且我也不清楚如何将 jobid 传递给 /result API 以便能够检索结果。

感谢您的任何帮助!-安迪

4

1 回答 1

0

几天前您尝试时,该服务出现问题。查看您的代码,它应该可以工作。如果您想尝试该服务,您可以使用watson-developer-cloud npm 模块,如下所述:

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));
});

我运行上面的代码并得到:

{
  "return_seeds": [
    {
      "prevalence": "2.803636",
      "result": "penicillin"
    },
    {
      "prevalence": "2.748252",
      "result": "plan: 1"
    },
    {
      "prevalence": "2.685714",
      "result": "actos"
    },
    {
      "prevalence": "2.670330",
      "result": "lipitor"
    },
    {
      "prevalence": "2.649351",
      "result": "zocor"
    },
    {
      "prevalence": "1.400000",
      "result": "ibuprofen 200 mg three pills"
    },
    ...
  ]
}

概念扩展演示:http ://watson-ce-demo.mybluemix.net/

于 2015-06-12T02:52:46.913 回答