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();
- Официальный справочник Естественное понимание языков
- Языковая поддержка для использования НЛУ.