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

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

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

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

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

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

Посмотрите на KPI, как это принесло "Уровень смертности"

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

Скриншот моей сущности, Смертность имеет синоним "Смертность"

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

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

1 ответ

Решение

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

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

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

Другие вопросы по тегам