0

我已将 watson-developer-cloud/personality-insights-python 模块部署到 bluemix 并在 Bluemix 中创建了一个 APP。我的应用程序的链接运行得非常好。但是,当我想通过发布请求调用 /v2/profile api 时出现错误。这是我在 Python 中使用的代码。

import requests, json

payload = {'id': 'my-id',
  'userid': 'id-here',
  'sourceid' : 'twitter',
  'contenttype' : 'text/plain',
  'language' : 'en',
  'content' : 'text to analyse goes here'
}
input_data=json.dumps(payload);
r = requests.post("http://MY-APP.mybluemix.net/v2",
  auth=("USERNAME", "PASSWORD"),
  headers = {"content-type": "application/json"},
  data=input_data)

print(r.content)

我不断收到此错误。

b'{"help": "http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/personality-insights/#overviewInput", "error": "The number of words 1 is less than the minimum number of words required for analysis: 100", "code": 400}'

如果我在没有 V2 的情况下更改 url,那么我们会收到此错误

b'{"code": 400, "error": "No text provided"}'

4

1 回答 1

3

请注意,您不应发布到该 URL。如果您开发本地应用程序,则需要将 Personality Insights 服务绑定到 Bluemix 应用程序,并从那里获取凭证(您可以使用一个 URL、用户名和密码——该 URL 将以https://开头gateway.watsonplatform.net/personality-insights/.. .)。如果我错了,这是一个 Bluemix 应用程序,那么您应该解析 VCAP_CREDENTIALS 对象并从那里获取凭证——请参阅文档中的示例应用程序

然后,一旦您获得正确的 URL,请注意“单词数....”错误。这意味着 Personality Insights 无法分析这么小的一段文本。它需要至少 100 个来自其内部词典的单词才能匹配;除此之外,您需要提供至少 2000 或 3000 个单词才能获得有意义的结果分析。祝你好运!

于 2015-06-06T13:47:27.567 回答