Пример сбоя функции чувствительности в 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"
}
Другие вопросы по тегам