Пример сбоя функции чувствительности в NLU Уотсона с кодом ошибки 400
Я пробовал примеры примеров различных функций, задокументированных на https://cloud.ibm.com/apidocs/natural-language-understanding. Все примеры функций работают правильно, за исключением функции Sentiment при попытке использования Curl.
curl -X POST \
-H "Content-Type: application/json" \
-u "apikey:{apikey}" \
-d @parameters.json \
"{url}/v1/analyze?version=2018-11-16"
parameters.json
{
"url": "www.wsj.com/news/markets",
"features": {
"sentiment": {
"targets": [
"stocks"
]
}
}
}
Sentiment feature response:
{
"language": "en",
"error": "target(s) not found",
"code": 400
}
1 ответ
Решение
Вот как это работает для меня. Разъясняют в деталях, чтобы помочь другим.
Прежде всего, вы должны создать файл с именем parameters.json
и вставьте следующий код
{
"url": "www.wsj.com/news/markets",
"features": {
"sentiment": {
"targets": [
"stocks"
]
}
}
}
Указывает на папку, в которой этот файл JSON находится в терминале или командной строке, и заменяет {apikey}
а также {URL}
со значениями сервиса NLU выполните команду ниже
curl -X POST \
-H "Content-Type: application/json" \
-u "apikey:{APIKEY}" \
-d @parameters.json \
"{URL}/v1/analyze?version=2018-11-16"
{URL} в моем случае https://gateway.watsonplatform.net/natural-language-understanding/api
Тогда должен увидеть ниже вывод
{
"usage": {
"text_units": 1,
"text_characters": 1421,
"features": 1
},
"sentiment": {
"targets": [
{
"text": "stocks",
"score": -0.640222,
"mixed": "1",
"label": "negative"
}
],
"document": {
"score": -0.662399,
"label": "negative"
}
},
"retrieved_url": "https://www.wsj.com/news/markets",
"language": "en"
}