Как получить точное слово, которое ищется, вместо его синонима в DialogFlow (ранее API.ai) - PullRequest
0 голосов
/ 18 мая 2018

Я использую диалоговое окно, чтобы позволить пользователям запрашивать ключевые слова моего продукта и указывать им значение этих конкретных ключевых слов.

Но проблема в том, что когда пользователь ищет синонимы тех ключевых слов, которые уже определены в моем списке сущностей.

Его HTTP-вызов возвращает мне корневое слово, а не синоним, из-за которого я не могу найти пропущенные слова.

Как получить точное слово, которое было выбрано?

Пожалуйста, посмотрите на скриншоты ниже для лучшего понимания

Посмотрите на KPI, как он выбрал «Смертность»

Посмотрите на параметры, которые выбираются, в KPI он выбирается как «Смертность»

Скриншот моих сущностей. Смертность имеет синоним "Уровень смертности"

Мне нужно выбрать точное ключевое слово, которое вводится

Я знаю, я могу поместить каждое слово в сущности, с синонимами в отдельности, но оно слишком расплывчато для большого количества данных.Так как есть ограничения по количеству субъектов тоже

1 Ответ

0 голосов
/ 18 мая 2018

Чтобы получить ключевые слова, вы просто используете возвращенные объекты ($ entity_name).Чтобы получить точный совпадающий синоним, вы используете $ entity_name.original.То, что вы видите в обучающих фразах, является разрешенным значением, но если вы проверите JSON (из диагностической информации в правом нижнем углу, вы увидите, что возвращаемая сущность определена.

following you example, my entity is named Mortality and one of the synonyms is 'death rate'. You can see the difference between the resolved value and the actual entity name being returned

по вашему примеру, моя сущность называется Смертность, а один из синонимов - «смертность». Вы можете увидеть разницу между разрешенным значением и фактическим возвращаемым именем сущности

...