Пример сбоя функции чувствительности в NLU Уотсона с кодом ошибки 400 - PullRequest
0 голосов
/ 20 января 2019

Я пробовал примеры примеров различных функций, задокументированных на 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 Ответ

0 голосов
/ 21 января 2019

Вот как это работает для меня. Подробно объясняя, как помочь другим.

Прежде всего, вам нужно создать файл с именем 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"
}
...