Как получить точное слово, которое ищется, вместо его синонима в DialogFlow (ранее API.ai)
Я использую диалоговое окно, чтобы позволить пользователям запрашивать ключевые слова моего продукта и давать им значение этих конкретных ключевых слов.
Но проблема в том, когда пользователь ищет синонимы тех ключевых слов, которые уже определены в моем списке сущностей.
Его HTTP-вызов возвращает мне корневое слово, а не синоним, из-за которого я не могу найти пропущенные слова.
Как я могу получить точное слово, которое было получено?
Пожалуйста, посмотрите на скриншоты ниже для лучшего понимания
Посмотрите на KPI, как это принесло "Уровень смертности"
Посмотрите на параметры, которые выбираются, в KPI он выбирается как "Смертность"
Скриншот моей сущности, Смертность имеет синоним "Смертность"
Мне нужно выбрать точное ключевое слово, которое введено
Я знаю, я могу поместить каждое слово в сущности, с синонимами, но оно слишком расплывчато для большого количества данных. Так как есть ограничения по количеству объектов
1 ответ
Чтобы получить ключевые слова, вы просто используете возвращенные объекты ($entity_name). Чтобы получить точный совпадающий синоним, вы используете $entity_name.original. То, что вы видите в обучающих фразах, является разрешенным значением, но если вы проверите JSON (из диагностической информации, в нижнем правом углу, вы увидите, что возвращаемая сущность определена).
следуя вашему примеру, моя сущность называется Смертность, а один из синонимов - "уровень смертности". Вы можете увидеть разницу между разрешенным значением и реальным возвращаемым именем объекта.