Анотація. В сучасному світі використання штучного інтелекту і чат-ботів набуває все більшого значення в різних сферах. Чат-боти стали важливим інструментом для спілкування з користувачами в онлайн-середовищі, і вони можуть виконувати різноманітні завдання, від відповідей на запитання користувачів до навчання інформаційному пошуку та підтримки клієнтів.
Ключові слова: чат-бот, машинне навчання, dialogflow.
Abstract. In today's world, the use of artificial intelligence and chatbots is gaining more and more importance in various fields. Chatbots have become a tool for communicating with users in the online environment, and they can perform a variety of tasks, from answering user questions to training information retrieval and customer support.
Keywords: chatbot, machine learning, dialogflow.
У сучасному світі чат-боти стають все більш поширеними. Вони використовуються в різних сферах діяльності, від обслуговування клієнтів до освіти та розваг. Чат-боти можуть виконувати різноманітні завдання, від відповідей на запитання користувачів до надання підтримки та допомоги.
Одним із ключових факторів, що впливають на ефективність чат-бота, є його навчання. Навчання чат-бота дозволяє йому краще розуміти запити користувачів і надавати більш точні та корисні відповіді.
Існує кілька різних методів навчання чат-ботів. Одним із найпоширеніших методів є навчання на основі даних. У цьому випадку чат-бот навчається на наборі текстових даних, що містять приклади розмов між людьми.
Серед сервісів, які дозволяють навчати чат-ботів на основі даних користувачів, є Dialogflow. Dialogflow - це платформа розробки чат-ботів від Google, яка пропонує широкий спектр функцій та інструментів для створення та навчання чат-ботів.
Створення проекту Dialogflow
Щоб створити проект Dialogflow, необхідно зареєструватися в Google Cloud Platform і створити проект. Після створення проекту необхідно перейти в розділ Dialogflow і створити нову модель.
Створення моделі чат-бота
Після створення проекту необхідно створити модель чат-бота. Модель чат-бота - це основа для створення чат-бота. У моделі чат-бота визначаються такі параметри, як мовні моделі, інструкції та правила.
Завантаження даних для навчання
Для навчання чат-бота на основі даних користувачів необхідно завантажити дані для навчання. Дані для навчання можуть містити приклади розмов між людьми. Дані для навчання можна завантажити в Dialogflow у декількох форматах, включаючи CSV, JSON і TXT.
Налаштування навчання
Після завантаження даних для навчання необхідно налаштувати навчання. У процесі налаштування навчання можна визначити такі параметри, як тип навчання, модель навчання та метрики навчання.
Типи навчання у Dialogflow включають:
• Навчання за допомогою правил: у цьому випадку чат-бот навчається на наборі правил, які визначають, як він повинен відповідати на різні запити користувачів.
• Навчання за допомогою машинного навчання: у цьому випадку чат-бот навчається на наборі даних, що містять приклади розмов між людьми, а також на наборі даних, що містять оцінки правильності відповідей чат-бота.
За допомогою Dialogflow можна побудувати такий сценарій, у якому розмова піде тією чи іншою «гілкою», залежно від вибору користувача. Від цього залежить, що агент запитає далі: яку начинку додати або напій.
Найпростіший спосіб зробити "гілку" - це створити пов'язаний Intent за допомогою кнопки "Add follow-up intent", яка з'являється при наведенні на той чи інший намір. Після цього під «батьківським» елементом відображатимуться «дочірні», для яких також можна створити пов'язані наміри:
Наприклад, користувач відповів, що його проблема пов’язана з поламаною веб-сторінкою або посиланням, тоді поточний діалог має контекст «help-followup». Для відповіді на подібне запитання заведено намір «Page & links» з відповідними тренувальними фразами та відповідями, де задається наступне питання:
Рисунок – «позитивна» гілка
Якщо ж користувач скаже, що проблема пов’зяна з швидкістю веб-сайта, то розмова потрапить у інший намір, в якому тренувальні фрази такі самі, але відповідь трохи інша:
Рисунок – «негативна» гілка
Моделі навчання у Dialogflow включають:
• Метод максимального правдоподібності: у цьому випадку чат-бот навчається так, щоб максимально збільшити ймовірність того, що його відповідь буде правильною.
• Метод мінімізації втрат: у цьому випадку чат-бот навчається так, щоб мінімізувати значення функції втрат, яка визначає, наскільки добре чат-бот відповідає на запити користувачів.
Метрики навчання у Dialogflow дозволяють оцінити ефективність навчання чат-бота. До метрик навчання відносяться:
• Точність: точність відповідає за те, наскільки часто чат-бот надає правильну відповідь.
• Повністю та правильно (F1-міра): F1-міра є комбінацією точності та повноти, яка визначає, наскільки часто чат-бот надає правильну відповідь і наскільки часто він надає відповідь, яка покриває всі запити користувача.
Налаштування навчання
Після налаштування навчання можна розпочати процес навчання чат-бота. Процес навчання може зайняти деякий час, залежно від обсягу даних для навчання та складності моделі чат-бота.
Після завершення навчання чат-бот готовий до використання.
Діалог буде по тому сценарію, який вибере користувач:
Використання сервісу Dialogflow для навчання чат-бота на основі даних користувачів є ефективним способом покращити продуктивність та корисність чат-бота. Цей метод дозволяє чат-боту навчатися на реальних взаємодіях з користувачами, що дозволяє йому краще розуміти їхні запити та потреби.
Список використаних джерел
1. [Електронний ресурс] A brief history of Chatbots
https://chatbotslife.com/a-brief-history-of-chatbots-d5a8689cf52f
2. [Електронний ресурс] https://core.telegram.org/
3. Bird S. Natural language processing with Python / S. Bird, E. Klein, E. Loper. – Sebastopol : O’Reilly. – 2009. – 504 p.
4. Jurafsky D. Speech and language processing / D. Jurafsky, J. H. Martin. – New Jersey : Prentice Hall. – 2023. – 628 p.
5. Russell S., Norvig P. Artificial Intelligence: A Modern Approach / S. Russell, P. Norvig. – New York : Pearson. – 2009. – 1159 р.
6. Kevin P. Murphy. Machine Learning: A Probabilistic Perspective / Kevin P. Murphy – New York : The MIT Press. – 2012. – 1104 р.
7. [Електронний ресурс] Coursera: Deep Learning Specialization
https://www.coursera.org/specializations/deep-learning
8. [Електронний ресурс] ChatGPT: Build a Chatbot with the new OpenAI API in Python!
https://www.udemy.com/course/chatgpt-build-a-chatbot-with-the-new-openai-api-in-python/
9. [Електронний ресурс] YouTube: Chatbot Tutorials
https://www.youtube.com/watch?v=6GLFcm7dGiY&list=PLG9FQRMgm_JIFAQ1d6PxzARiySBupelaz
References
1. [Electronic resource] A brief history of Chatbots
https://chatbotslife.com/a-brief-history-of-chatbots-d5a8689cf52f
2. [Electronic resource] https://core.telegram.org/
3. Bird S. Natural language processing with Python / S. Bird, E. Klein, E. Loper. - Sebastopol : O'Reilly. - 2009. - 504 p.
4. Jurafsky D. Speech and language processing / D. Jurafsky, J.H. Martin. – New Jersey: Prentice Hall. - 2023. - 628 p.
5. Russell S., Norvig P. Artificial Intelligence: A Modern Approach / S. Russell, P. Norvig. - New York: Pearson. - 2009. - 1159
6. Kevin P. Murphy. Machine Learning: A Probabilistic Perspective / Kevin P. Murphy - New York : The MIT Press. - 2012. - 1104
7. [Electronic resource] Coursera: Deep Learning Specialization
https://www.coursera.org/specializations/deep-learning
8. [Electronic resource] ChatGPT: Build a Chatbot with the new OpenAI API in Python!
https://www.udemy.com/course/chatgpt-build-a-chatbot-with-the-new-openai-api-in-python/
9. [Electronic resource] YouTube: Chatbot Tutorials
https://www.youtube.com/watch?v=6GLFcm7dGiY&list=PLG9FQRMgm_JIFAQ1d6PxzARiySBupelaz
|