Як створити базовий чат-бот в платформі Dlalogflow ми розібрали в попередніх 4-х уроках (посилання в кінці статті). В останній частині Введення в Dialogflow я відкрию деякі нюанси налаштування чат-бота, а також розповім про ряд обмежень платформи.
Як ви вже знаєте, агент реагує не тільки на фрази, які прописані в “Training phrases”, але і на схожі за змістом. Бот обробляє інформацію та видає користувачеві відповідь. Відповідь формується завдяки розділу Responses.
Загалом, все виглядає досить просто і прозоро. Провівши навчання, додавши контексти та параметри, можна отримати від бота досить хороших результатів.
Спробуємо трохи “доналаштувати” наші правила.
Пріоритети
Зайдіть до розділу “Intents” і зверніть увагу на сині маркери перед назвою правил.
Це є пріоритет. Давайте виберемо правило і відкриємо його. Поряд із назвою також буде синій маркер.
Якщо натиснути на маркер, то з’явиться список пріоритетів для правила. Як бачимо, блакитний маркер означає нормальний пріоритет.
Пріоритети особливо актуальні за великої кількості правил. Як би ви цього не хотіли, але обов’язково відбуватимуться ситуації, коли низка тренувальних фраз будуть прописані одночасно в кількох правилах. Використовуючи пріоритети, ви зможете керувати частотою виклику того чи іншого правила або взагалі вмикати та вимикати правила за потреби (статус Ignore).
Експорт/Імпорт
Dialogflow має функцію, яка дозволяє експортувати/імпортувати правила та інші налаштування. Ви можете зробити резервну копію поточної версії агента та відновити її з архіву у разі потреби.
Для цього зайдіть в налаштування (кнопка у вигляді “шестерні” у верхньому лівому кутку) та виберіть меню “Export and Import”.
Machine Learning Settings
Ще один корисний розділ у налаштуваннях називається “ML Settings”. ML це скорочено від “machine learning” (машинне навчання).
Там є цікавий параметр, який відповідає за реакцію на вхідні фрази і два варіанти — гібридний і тільки машинне навчання.
За невеликої кількості правил використовуйте гібридний спосіб. А от коли правил зібралося вже не одна сотня, то вибирайте машинне навчання. У цьому випадку агент працюватиме значно швидше і не буде при кожному збереженні запускати процес навчання.
Нижче наведено параметр “ML CLASSIFICATION THRESHOLD”, що містить значення в діапазоні від 0 до 1. Цим параметром ви визначаєте, наскільки суворим буде агент. Якщо значення ближче до 0, це означає, що агент буде швидше знаходити правило і реагувати на фрази, але й поріг помилок буде вищим. Коротше кажучи, агент буде менш розумним, але швидшим 😄
Відповідно, при значенні ближче до 1, агент стане більш ретельно вибирати фрази. Добре працюватиме при великій кількості фраз і достатньому досвіді агента. Чим агент досвідченіший, тим суворіше його можна робити. Але підбирати значення параметра доведеться на реальних прикладах, послідовно.
Налаштовувати параметр “AUTOMATIC SPELL CORRECTION” я не бачу особливого сенсу. Цим параметром ми дозволяємо агенту виправляти орфографію користувача для більш точного розпізнавання вхідних фраз. Вимкнено параметр або увімкнено, особливої різниці я не побачив. Можливо, ця функція найкраще працює для англійської мови.
Параметр “AUTOMATIC TRAINING” вимагає активації в тому випадку, якщо ви хочете самостійно навчати агента. Активація параметра відключає автоматичне навчання (яке може займати години в деяких випадках) та активує за кнопкою “TRAIN”.
Останній параметр у розділі “ML Settings” називається “AGENT VALIDATION” та відповідає за автоматичну перевірку вмісту агента. Під перевіркою мається на увазі правильність складання тренувальних фраз, відповідей та іншого. Результати автоматичної перевірки ви зможете спостерігати у розділі “Validation”.
На цьому ми закінчимо вступ до Dialogflow. Отримана в 5 статтях інформація дасть вам необхідні знання для швидкого запуску чат-бота. Упевнений, що вам сподобається Dialogflow та захочете піти далі у розробці розмовних ботів, інтегрувати з іншими сервісами, тощо.
Недоліки та обмеження
У Dialogflow є свої мінуси.
- Насамперед, це поріг входження. Він досить високий. Навіть інтерфейс Dialogflow виглядає “страшнішим”, ніж інтерфейс будь-якої іншої платформи для розробки чат-ботів.
- Якщо ваш бот часто обмінюється інформацією з користувачами (приймає, зберігає і обробляє параметри, передає дані з діалогу в діалог), то без стороннього сервера тут не обійтися. І це помітно підвищить складність розробки чат-бота. Але є і хороша новина, ви зможете гнучкіше оперувати даними і зберігати їх у тому форматі, в якому вам зручніше.
- Чат-бот не може першим вступати в діалог з користувачем, а лише реагує на його дії. Це обмеження не дозволить вам реалізувати, наприклад, розсилку контенту. Обійти обмеження можна. Один з варіантів – інтегрувати Dialogflow з ManyChat або Chatfuel. Це цілком реально. Таким чином ви зможете покласти розсилку на останні дві платформи, а спілкування з користувачем буде за Dialogflow. Другий варіант - реалізувати розсилку вручну за допомогою API месенджерів.
- Dialogflow вміє розпізнавати як текст, так і голос користувача. На превеликий жаль, ця функція добре працює лише для англійської мови.
Кожна платформа має свої переваги і недоліки. Я б назвав Dialogflow - однією з небагатьох платформ, яка дозволяє створювати справжніх чат-ботів, здатних підтримати осмислений діалог із користувачем, а не просто реагувати на кнопки.
Сподіваюся, що ця тема вас зацікавить. Буду радий почути від вас зворотний зв’язок.