Возврат логического значения при нахождении «до» или «после» или любых синонимов

Я создаю приложение для чат-бота с календарем и использую DialogFlow ES для определения того, что они говорят. Я хочу реализовать одну вещь: пользователь может сказать: «Забронируйте встречу до вторника», «Забронируйте встречу до следующей недели», «Забронируйте встречу после следующего месяца» и т. д.

У меня уже есть функция бронирования встречи, а также определения дат и диапазонов дат (вторник, следующий месяц, завтра и т. д.), однако я хочу, чтобы DialogFlow возвращал логическое значение, если он обнаруживает «до» или «после» в предложение или любые синонимы любого слова (например, до: «до» и т. д.).

Некоторые примеры:

«Забронировать встречу до вторника» вернет типичные параметры, но также и beforeAfterFlag: true («до» установит для него значение true)

«Забронировать встречу после вторника» вернет типичные параметры, но также и beforeAfterFlag: false («после» установит для него значение false)

«Забронировать встречу во вторник» вернет типичные параметры, но также и значение beforeAfterFlag: - (ничего не вернулось)

Как я могу реализовать это?

Тонкая настройка GPT-3 с помощью Anaconda
Тонкая настройка GPT-3 с помощью Anaconda
Зарегистрируйте аккаунт Open ai, а затем получите ключ API ниже.
0
0
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы не можете заставить Dialogflow возвращать логические значения вашему серверу. Dialogflow предназначен для понимания и распознавания слов человеческого языка. Он не понимает логических или других значений программирования.

Поэтому, если вы хотите создать аналогичный механизм с Dialogflow для определения того, использовал ли пользователь такие слова, как «до» или «после», вам придется использовать сущности так же, как вы делали это с определением дат.

Вы можете создать сущность moment и присвоить ей необходимые значения и синонимы:

  1. До, до и т.д.
  2. После

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

Когда ваши пользователи вызывают ваше намерение, вы можете проверить параметр moment в запросе. Если у него есть значение before, вы устанавливаете перед переменной значение true в своем вебхуке, то же самое касается after, и если нет параметра moment, вы знаете, что ваш пользователь не использовал его, поэтому вы можете оставить оба параметра равными false .

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