Watson NLU - недостаточно текста для определения языка

Я работаю с Уотсонским НЛУ и пытаюсь провести анализ настроений по какому-то тексту. Проблема в том, что какой-то текст слишком мал, чтобы определить какой это язык (например, отличный сервис). Можно ли мне указать, что если определение языка невозможно, следует считать его английским?

Вот фрагмент моего NLU (Java):

SentimentOptions sentiment = new SentimentOptions.Builder()
    .targets(targets)
    .document(true)
    .build();


Features features = new Features.Builder()
    .sentiment(sentiment)
    .build();


AnalyzeOptions parameters = new AnalyzeOptions.Builder()
    .text(text)
    .features(features)
    .build();

AnalysisResults response = service
    .analyze(parameters)
    .execute();

String mySentiment = response.getSentiment().getDocument().getLabel();

1 ответ

Решение

В соответствии с Официальной справочной документацией по API, вам необходимо указать language параметр в вашем POST запрос.

Подробнее об этих параметрах читайте в Watson Developer Cloud - Github - Java SDK.

Объяснение API Reference - NLU:

  • язык (строка): код ISO 639-1, указывающий язык для анализа. Этот код переопределяет автоматическое определение языка, выполняемое службой. Допустимые коды: ar (арабский), en (английский), fr (французский), de (немецкий), it (итальянский), pt (португальский), ru (русский), es (испанский) и sv (шведский). Для получения дополнительной информации о том, какие функции поддерживаются на каждом языке, см. Эту таблицу.

Пример того, как это работает:

Пример файла parameters.json:

{
  "text": "Excelent service",
  "features": {
    "semantic_roles": {}
  },
  "language": "en"
}

Пример cURL:

curl -X POST \
-H "Content-Type: application/json" \
-u "{username}":"{password}" \
-d @parameters.json \
"https://gateway.watsonplatform.net/natural-language-understanding/api/v1/analyze?version=2017-02-27"

Вероятно, ваш пример (вы не указали свой язык программирования, поэтому):

AnalyzeOptions parameters = new AnalyzeOptions.Builder()
    .text(text)
    .features(features)
    .language('en')
    .build();
Другие вопросы по тегам