Назад до блогу

Введення у DialogFlow: сутності та параметри

Продовжуємо покращувати наш чат-бот, реалізований на платформі Dialogflow. Раніше ми створили кілька правил, познайомилися з режимом тренування і чат-бот навчився давати більш-менш адекватну реакцію на фрази користувача.

Наступний досить важливий блок функціоналу Dialogflow - це сутності (entities). По суті, сутності — це різні форми написання однієї й тієї фрази чи слова. Синоніми. У моєму прикладі чат-бота, я в сутності можу описати синоніми екскурсії. Наприклад, "тур", "поїздка", "дивитися місця" і так далі.

Blog post image

Як агент використовує сутності?

Припустимо, у запиті користувача є слово чи фраза з множини, визначеної в сутності. Агент позначає такий підрядок, як параметр.

У процесі формування правил ви напевно звертали увагу, деякі слова автоматично позначаються іншим кольором. Це параметри. Як параметр Dialogflow виділяє міста та інші локації, дати, числа, а також все, що описано в сутності.

Blog post image

Далі, ці параметри можна використовувати в розділі "Action and parameters" при створенні правил. Намагаюся пояснити.

Наприклад, ми запитуємо користувача: "У якому місті або готелі ви проживаєте?"

Користувач відповідає: "Я у готелі Hilton".

Слово "Hilton" виділяється в окремий параметр і ми зможемо звертатися до значення цього параметра у будь-якому місці діалогу. У моєму прикладі, після того, як користувач замовить екскурсію, чат-бот може написати щось на кшталт: "Автобус вас забере з Hilton завтра, о 07:00".

Контексти та їх використання

Давайте відкриємо будь-яке правило з розділу "Intents" і зупинимо увагу на першому блоці, під назвою "Contexts".

Blog post image

Контексти — це якась сесія, де зберігається інформація з попередньої розмови користувача та бота. Спробую пояснити. Ви маєте кілька правил (intent). Правила реагують на певні фрази. Якщо вам важлива послідовність запуску правил, то в цьому випадку потрібно використовувати контексти.

Blog post image

Уявіть, що ваш чат-бот продає квитки на екскурсію. Ви ж не можете спочатку запропонувати користувачеві купити квиток, а потім розповісти про екскурсію і взяти у нього контактні дані. Потрібна послідовність. Для дотримання цієї послідовності можна використати контексти.

Події (Events)

Blog post image

Наступний блок у правилах - "Events". За допомогою цього блоку можна зробити так, щоб правило виконувалося тільки при потрібній нам події.

Наприклад, якщо вибрати "Telegram Welcome", правило виконається при першому спілкуванні користувача з ботом, коли користувач вводить команду /start.

Розширені відповіді

Blog post image

А як бути, якщо хочеться надіслати користувачеві не просто текст, а картинку або навіть кнопки? У Dialogflow це можливо, хоча і трохи складніше ніж у деяких інших платформах.

Подивимося уважніше на блок Responses, де можна налаштувати реакцію (відповіді) бота на повідомлення користувача. Майте на увазі, якщо ви налаштовуєте Dialogflow на інтеграцію з декількома месенджерами, то можливості цих месенджерів можуть відрізнятися один від одного.

Fulfillment

Blog post image

Цей блок використовується для підключення Dialogflow до інших сервісів та обміну даними з ними. Наприклад, агент може прийняти запит від користувача, надіслати запит на сторонній сервер (наприклад, до бази даних) та отримати вибірку звідти.

Звісно, без програмування не обійтися. Не хвилюйтеся, до "Fulfillment" ми повернемося в наступних уроках і розберемося докладніше.