Будь ласка, використовуйте цей ідентифікатор, щоб цитувати або посилатися на цей матеріал:
https://er.chdtu.edu.ua/handle/ChSTU/8587| Назва: | Чат-бот розкладу занять студентів |
| Автори: | ГРЕСЬКО, Світлана ПАЛАМАРЧУК, Андрій |
| Ключові слова: | ЧАТ-БОТ;МЕСЕНДЖЕР;TELEGRAM;SMARTSENDER;РОЗКЛАД ЗАНЯТЬ;КОНСТРУКТОР |
| Дата публікації: | 2023 |
| Короткий огляд (реферат): | Метою даної кваліфікаційної роботи на здобуття освітнього ступеня «бакалавр» є створення Чат-боту розкладу занять студентів. Загальний обсяг роботи становить 57 сторінок. У роботі 35 рисунків та 2 таблиці. Для виконання роботи використано 15 літературних джерел. Основними завданнями кваліфікаційної роботи є розробка чат-бота для розкладу занять студентів. Для розробки планується використання месенджера «Telegram». При розробці проекту застосовано конструктор чат- ботів «Smartsender» для конструювання основного тіла бота методом ланцюгового конструювання. Для коректної інтеграції месенджера та конструктор чат-ботів обрано інструмент для інтеграції ApiX-Drive. Результатом роботи є чат-бот, який зможе надавати студенту поточний розклад занять, розклад сесії та інші матеріали необхідні в навчальному процесі. В першому розділі виконано огляд та класифікація чат-ботів, методи та засоби розробки, сфери використання чат-ботів. В другому розділі сформульована постановка завдання для розробки чат-боту та обґрунтовано вибір засобів розробки. В третьому розділі проведено огляд аналогів. В четвертому розділі розроблено чат-бот для розкладу занять студентів. |
| URI (Уніфікований ідентифікатор ресурсу): | https://er.chdtu.edu.ua/handle/ChSTU/8587 |
| Розташовується у зібраннях: | 123 Комп’ютерна інженерія (Системне програмування) |
Файли цього матеріалу:
| Файл | Опис | Розмір | Формат | |
|---|---|---|---|---|
| 1_3_ТИТУЛКА_АНОТАЦІЯ_Паламарчук-merged.pdf Restricted Access | 1.97 MB | Adobe PDF | Переглянути/Відкрити Запит копії |
Усі матеріали в архіві електронних ресурсів захищено авторським правом, усі права збережено.
Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ І СИСТЕМ КАФЕДРА ІНФОРМАЦІЙНОЇ БЕЗПЕКИ ТА КОМП’ЮТЕРНОЇ ІНЖЕНЕРІЇ ПОЯСНЮВАЛЬНА ЗАПИСКА до кваліфікаційної роботи бакалавра на тему:«Чат-бот розкладу занять студентів» ЧДТУ.231930.004 ПЗ Виконав: студент 4 курсу, групи СП-1906 спеціальності 123 – «Комп’ютерна інженерія» за освітньою програмою – «Системне програмування» Андрій ПАЛАМАРЧУК Керівник Старший викладач, Світлана ГРЕСЬКО Рецензент старший викладач кафедри інформаційних технологій Черкаського національного університету ім. Б. Хмельницького, к.т.н. Інна РОЗЛОМІЙ «ЗАХИСТ ДОЗВОЛЯЮ» Завідувач кафедри ІБ та КІ д.т.н., професор ______ Володимир РУДНИЦЬКИЙ Черкаси 2023 року АНОТАЦІЯ Метою даної кваліфікаційної роботи на здобуття освітнього ступеня «бакалавр» є створення Чат-боту розкладу занять студентів. Загальний обсяг роботи становить 57 сторінок. У роботі 35 рисунків та 2 таблиці. Для виконання роботи використано 15 літературних джерел. Основними завданнями кваліфікаційної роботи є розробка чат-бота для розкладу занять студентів. Для розробки планується використання месенджера «Telegram». При розробці проекту застосовано конструктор чат- ботів «Smartsender» для конструювання основного тіла бота методом ланцюгового конструювання. Для коректної інтеграції месенджера та конструктор чат-ботів обрано інструмент для інтеграції ApiX-Drive. Результатом роботи є чат-бот, який зможе надавати студенту поточний розклад занять, розклад сесії та інші матеріали необхідні в навчальному процесі. В першому розділі виконано огляд та класифікація чат-ботів, методи та засоби розробки, сфери використання чат-ботів. В другому розділі сформульована постановка завдання для розробки чат-боту та обґрунтовано вибір засобів розробки. В третьому розділі проведено огляд аналогів. В четвертому розділі розроблено чат-бот для розкладу занять студентів. Ключові слова: ЧАТ-БОТ, МЕСЕНДЖЕР, «TELEGRAM», «SMARTSENDER», РОЗКЛАД ЗАНЯТЬ, КОНСТРУКТОР. ANNOTATION The purpose of this qualifying work for obtaining the bachelor's degree is to create a Chat-bot for the schedule of students' classes. The total volume of work is 57 pages. The work contains 35 drawings, 2 tables. 15 literary sources were used to perform the work. The main tasks of the qualification work are the development of a chatbot for the schedule of students' classes. It is planned to use Telegram messenger for development. During the development of the project, the chatbot designer "Smartsender" was used to design the main body of the bot by the method of chain construction. The ApiX-Drive integration tool was chosen for the correct integration of the messenger and the chatbot designer. The result of the work is a chatbot that will be able to provide the student with the current class schedule, session schedule and other materials necessary in the educational process. In the first section, an overview and classification of chatbots, methods and means of development, areas of use of chatbots are performed. The second chapter formulates the task for developing a chatbot and substantiates the choice of development tools. In the third section, a review of analogues is carried out. In the fourth chapter, a chatbot was developed for the schedule of students' classes. Key words: CHAT-BOT, MESSENGER, "TELEGRAM", "SMARTSENDER", CLASS SCHEDULE, CONSTRUCTOR. ЗМІСТ ВСТУП……………………………………………………………………………..3 1 ТЕХНОЛОГІЇ СТВОРЕННЯ ЧАТ-БОТІВ…………………………………4 1.1 Загальна концепція чат-ботів………………………………………….4 1.2 Класифікація чат-ботів………………………………………………...7 1.3 Фреймворки для розробки чат-ботів………………………………...11 1.4 Мови програмування для розробки чат-ботів………………………16 1.5 Сфери використання чат-ботів……………………………………….19 2 ПОСТАНОВКА ЗАВДАННЯ……………………………………………...21 2.1 Технічне завдання, функції, засоби розробки………………………21 2.1.1 Формування технічного завдання на розробку чат-боту……21 2.2 Вибір та обґрунтування інструментів розробки…………………….21 2.2.1 Месенджер «Telegram»………………………………………...21 2.2.2 BotFather………………………………………………………...23 2.3 Системи конструювання чат-ботів: переваги та недоліки…………28 3 ОГЛЯД АНАЛОГІВ………………………………………………………..33 3.1 Приклади популярних чат-ботів……………………………………..33 3.2 Чат бот «DonNuBot»………………………………………………….34 4 РОЗРОБКА ЧАТ-БОТУ……………………………………………………36 4.1 Розробка функціональної частини чат-бота розкладу занять студентів……………………………………………………………….36 4.2 Тестування чат-боту розкладу занять студентів……………………42 ВИСНОВКИ……………………………………………………………………...53 ПЕРЕЛІК СКОРОЧЕНЬ ТА УМОВНИХ ПОЗНАЧЕНЬ……………………...55 СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ……………………………………….56 ЧДТУ.231930.004 ПЗ Змн. Арк. № докум. Підпис Дат РозрКобив Паламарчук А.С. а Чат-бот розкладу Літ. Лист Листів Керівник Гресько С.О. Рецеанзент Розломій І.О. занять студентів 2 57 Н.Контроль Гресько С.О. Пояснювальна записка Кафедра ІБ та КІ Затвфердив Рудницький В.М. гр. СП-1906 е д р а К К - 0 6 ВСТУП Розвиток інформаційних технологій супроводжується їх поступовим та повсюдним впровадженням у життя та побут суспільства. Збільшується кількість автоматизованих процесів, з’являються нові технології, вдосконалюються існуючі. Розробляються сучасні та багатофункціональні системи підтримки прийняття рішень, консультаційні та інформаційні системи. Збільшується кількість чат-ботів, які активно впроваджуються у виробничі процеси, інтегруються в існуючі системи та платформи. Сучасні чат-боти активно використовуються майже у всіх сферах нашого життя. Їх широко використовують: у побуті – для здійснення Internet замовлень та домашніх покупок; у комунальній сфері – для передачі показників лічильників та оплати комунальних послуг; в бізнесі – для пошуку потенційних клієнтів, підтримки існуючих, надання послуг та консультацій; у сфері фінансів – обмін валют, здійснення платежів та переказів; у сфері страхування – для підтримки клієнтів, надання страхових послуг, пошуку нових клієнтів; в сфері комунікацій – для тестування, пошуку та відбору потенційних працівників; в сфері надання послуг – замовлення їжі в кафе чи ресторані, запис на СТО, в салон краси, запис до лікаря; в сфері освіти та науки – для вивчення іноземної мови, публікації наукових матеріалів, збірників та видань; в сфері розваг – для створення каталогів ігор, фільмів, музики; для відпочинку – бронювання та купівлі квитків в кіно, театр, на потяг, літак, бронювання номерів у готелі; для особистого використання – спілкування з колегами, однодумцями, ведення власного блогу тощо. Для розробки чат-ботів використовуються різні програмні продукти, платформи, сервіси, додатки. Більшість цих рішень має безкоштовні пробні періоди та певний набір функцій, що надає можливість створювати прості Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 3 а чат-боти, а обравши комерційні пакети, можна створювати досить потужні чат-боти як для власних так і для комерційних потреб. Ще одним варіантом створення чат-ботів є їх розробка «з нуля», використовуючи мови програмування та середовища для розробки. Використовуючи цей спосіб можна створювати чат-ботів різного призначення, функціональності та складності. Чат-боти інтегруються у всі майже у всі месенджери та соціальні мережі. Найпопулярнішими серед месенджерів є Telegram. Тому він був обраний для реалізації майбутнього проекту. Метою кваліфікаційної роботи бакалавра є створення чат-бота розкладу занять студентів, який полегшить студентам роботу з існуючим розкладом занять, зможе знаходити потрібні заняття та зберігати знайдені дані. Актуальність роботи. Дана робота є актуальною, оскільки часто трапляються збої в роботі існуючої системи розкладу занять. А інтеграція системи розкладу з месенджером Telegram, надасть можливість зберігати потрібний розклад незалежно від стабільності роботи основної системи. Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 4 а 1 ТЕХНОЛОГІЇ СТВОРЕННЯ ЧАТ-БОТІВ 1.1 Загальна концепція чат-ботів В наші дні, чат-боти набули масштабного застосування, а їхня популярність може конкурувати тільки з корисністю та потенціалом розвитку в майбутньому. Їх регулярно використовують понад 1,4 мільярда людей у всьому світі [1]. Інтеграція чат-ботів в повсякдення життя та побут відбувається стрімкими темпами, оскільки, комунікативність цих програми охоплює різноманітні сфери людської діяльності: розваги, побут, освіта, навчання, лікування, банківські та соціальні послуги та багато інших. Їх можна створювати та використовувати в різних додатках («Telegram», «Viber», «Facebook»,…), на сайтах, які надають різноманітні послуги, системах голосового звернення та при розробках штучного інтелекту (ШІ), для збору та аналізу даних. Не так давно, з’явилася можливість використовувати Чат- боти як окремі повноцінні додатки, що стало ще одним кроком в розвитку їхньої самостійності. На рисунку 1.1 наведено перелік найпопулярніших глобальних мобільних додатків для обміну повідомленнями, відповідно до щомісячної кількості активних користувачів [2]. Сучасні чат-боти можна поділити за середовищем розгортання на [3]: 1. боти, інтегровані або вбудовані в соціальні мережі та спеціальні програми обміну миттєвими повідомленнями, такі як Facebook Messenger, Slack, Telegram, Twitter, WhatsApp тощо. Їх не потрібно додатково встановлювати та налаштовувати, легкий доступ до миттєвого обміну повідомленнями. 2. автономні програми (наприклад, Amazon Alexa, Google Assistant або Siri). Вони можуть використовувати різні середовища для Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 5 а отримання повідомлень і відповідей на них, як-от голос, SMS або вікна чату на веб-сайті. Рисунок 1.1 – Найпопулярніші глобальні мобільні додатки для обміну повідомленнями станом на січень 2023 року З розвитком технологій створення чат-ботів стає доступним для будь- якого користувача Інтернетом, де можна знайти детальні інструкції та наочні приклади чат-ботів різного призначення та рівня складності. Так, виділяють два способи побудови чат-ботів [3]: 1. чат-боти побудовані за принципом перетягни та впусти / зроби сам. Такі боти створюються за допомогою платформ конструкторів ботів, наприклад Chatfuel, Chattypeople, Motion.ai тощо. В більшості програм існують готові шаблони, які можна використовувати для власних потреб. Так, незалежно від наявних Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 6 а навичок та знань можна створити чат-бота з попередньо визначеною функціональністю додавши лише потрібні функції. 2. чат-боти на основі коду. Такі чат-боти зазвичай включають вбудовану технологію ШІ та створюються за допомогою програмних інфраструктур, таких як Facebook Bot Engine із службою Wi.ai NLP або Microsoft Bot Framework із службою luis.ai NLP. Ці інструменти підходять для роботи з клієнтами, але можуть не підійти для інтеграції додаткових функцій. У таких випадках потрібно здійснювати індивідуальну розробку чат-ботів. 1.2 Класифікація чат-ботів На сьогоднішній день, безліч компаній та фірм по всьому світу розробляють різноманітні форми чат-ботів, спрямовані на покращення обслуговування клієнтів. Розглянемо різні типи чат-ботів [4] (Рисунок 1.2) та їх призначення. 1. Голосові боти. Це канал зв’язку «голос у текст» і «текст у мовлення», який підтримує ШІ та розуміння природної мови (NLU). Технологія ШІ допомагає ідентифікувати основні мовні сигнали та визначати оптимальну реакцію розмови. Потім система перетворення тексту в мову (TTS) завершує взаємодію, шляхом перетворення повідомлення в аудіо або голос. Такі боти запрограмовані на повний цикл розуміння мовлення та відповіді у людський спосіб. Голосові помічники або голосові чат-боти реалізують складну модель спілкування, яку можна реалізувати в різних інструментах обслуговування клієнтів, таких як інтерактивна голосова відповідь (IVR), самообслуговування та online-бази знань. 2. Гібридні чат-боти. Це збалансоване поєднання всього найкращого з чат-бота та живого чату. Представник служби підтримки клієнтів буде Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 7 а доступний у чаті, для відповіді на будь-які запитання клієнтів, незважаючи на їх складність чи заплутаність. Рисунок 1.2 – Типи чат-ботів Компонент ШІ в чат-боті копіює розмови в залежності від його налаштування та потреб розмови. З іншого боку, гібридний чат-бот реалізує автоматизовану розмову в чаті та намагається вирішити запит користувача як Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 8 а най швидше та простіше. Якщо в процесі розмови у чат-бота виникають труднощі, представник служби підтримки клієнтів може втрутитися в будь- який момент або в предметну область, де чат-бот не може виконати завдання. 3. Чат-боти для соціальних повідомлень. Поява нових інтерфейсів соціальних медіа надала змогу організаціям розгортати алгоритм ШІ на різних платформах обміну повідомленнями (Facebook Messenger, Twitter, Instagram) та програмах обміну повідомленнями (WhatsApp і WeChat). Це надає зручні умови для клієнтів, збільшує їх кількість та не перенавантажує call-центр. 4. Чат-боти на основі меню. Найбільш давнішій та тривалий у використанні тип чат-бота, який оснований на навігації за допомогою меню. Найчастіше ці чат-боти базуються на фіксованому дереві рішень, яке відображається користувачу у вигляді кнопок, які можна натиснути. Такі чат- боти (наприклад, автоматичні меню в терміналах самообслуговування, якими ми регулярно користуємося) просять користувача обрати кілька варіантів і натиснути відповідні кнопки для отримання остаточного результату. Ці чат- боти прості та доступні, їх використання надає можливість вирішувати більшість запитів до служби підтримки. 5. Чат-бот навичок. Ще один вид ботів, який здатний виконувати певний перелік завдань, які попередньо в нього програмуються у вигляді навичок. Наприклад, чат-бот може надавати інформацію про графік руху транспорту, керувати освітленням в кімнаті, робити online замовлення тощо. Відкритість вихідного коду навичок надає можливість створювати власні чат-боти навичок та здійснювати їх інтеграцію з іншими платформами. 6. Чат-боти на основі ключових слів. На відміну від чат-ботів на основі меню ці чат-боти слухають, питання користувача, і правильно відповідають на них. Ці чат-боти базуються на настроюваних ключових словах та NLP, які виявити у розмові з користувачем тригери дій, щоб зрозуміти, як правильно реагувати. Якщо однотипні запити повторюються, ці Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 9 а чат-боти можуть не впоратися. В таких випадках чат-боти надають можливість користувачам вводити команди за допомогою кнопок навігації. 7. Чат-боти на основі правил. Такі чат-боти ідеально підходить для компаній, які знають потреби своїх клієнтів. Потоки чатів побудовані на основі логіки if/then та потребують визначення вимоги до мови чат-бота. Основою для функціональності є визначення умов оцінювання слів, структури слів, синонімів тощо. Якщо вхідний запит відповідає заданим параметрам, тоді клієнти отримають вчасну допомогу. При розробці таких чат-ботів потрібно ретельно пропрацювати всі можливі перестановки та комбінації запиту, інакше чат-бот не зрозуміє споживача чи надасть не коректну відповідь. 8. Контекстні чат-боти на основі ШІ. Такі чат-боти розуміють контекст чату та визначають правильне значення запиту користувача. Вони також можуть згадувати попередні взаємодії та використати ці дані для підтримки актуальності під час взаємодії з постійними клієнтами. Контекстні боти забезпечують стабільний доступ для постійних користувачів. Крім того, бот зберігає інформацію про активність користувача на різних платформах та каналах та, за потреби, використовує її при спілкуванні з клієнтом. Контекстні чат-боти прив’язуються до централізованої БД сайту чи додатку, до системи управління взаємовідносинами з клієнтами (CRM) або платформи даних клієнтів (CDP). Така інтеграція надає боту інформацію про клієнта, зокрема ім’я, геодані, історію переглядів товарів та покупок. 9. Чат-боти підтримки. Це системи комунікації, орієнтовані виключно на надання клієнтам підтримки і послуг після здійснення покупки. Вони не надсилають пропозицій, рекламних акцій та інших матеріалалів для залучення клієнтів. Такі чат-боти розташовуються здебільшого на порталах самообслуговування та в online-документації, де користувачі можуть знайти підтримку та допомогу. Чат-боти підтримки широко застосовуються для Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 10 а внутрішніх цілей, зокрема відповіді на запити відділу кадрів, збору ІТ- тикетів, подання документів співробітникам тощо. 10. Транзакційні боти. Призначені для виконання певної кількості спеціалізованих завдань. Використовуються для стимулювання продажів, маркетингових дій, планування зустрічей, пошуку потенційних клієнтів або здійснювати транзакції під час спілкування з чат-ботом. Ці боти використовуються для розвитку бізнес та здійснення транзакції у режимі 24/7/365. 11. Без коду або чат-боти з низьким кодом. Чат-боти зазвичай проектувалися та розроблялися з використанням коду для створення дерев рішень, алгоритмів ШІ та машинного навчання (ML), що забезпечують цю технологію. Всі мови програмування мають веб-API, що використовуються для створення чат-ботів. Багато за стосунків підтримують PHP, Node.js, Python або Java. На сьогоднішній день можна використовувати чат-ботів, які потребують незначного кодування або взагалі без кодування. Для створення та налаштування таких ботів доступний графічний інтерфейс користувача (GUI). Ці боти використовуються для збору інформації та заохочення користувачів. 1.3 Фреймворки для розробки чат-ботів На сьогоднішній день, при наявності необхідних технічних знань, можна створити чат-бота самостійно, використовуючи різні платформ та сервіси (Рисунок 1.3). Є прості у використанні платформи з мінімальним функціоналом майбутнього бота та більш складніші з можливістю інтеграції додаткових систем та сервісів та, відповідно, з більшими функціональними можливостями майбутнього чат-боту. Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 11 а Рисунок 1.3 – Створення чат-ботів за допомогою платформ та сервісів У таблиці 1 наведено деякі з найпопулярніших рішень [1]. Таблиця 1 – Платформи-конструктори для розробки чат-ботів Рішення Короткий опис Переваги Недоліки Вартість Простий у Перегляньте це рішення, використанні якщо ви коли-небудь інтерфейс задавалися питанням, як Готові до створити чат-бота для використання Лише чат-боти Безкоштовний Facebook і його Messenger. елементи чат-бота Facebook план для до 50 Chatfuel Використовуйте цей Вбудована Messenger передплатників інструмент для створення інтеграція чату Немає Платні плани ботів на основі правил, які Надійна аналітика від 15 доларів можуть автоматично Готова аналітика вбудованого ШІ США на місяць ділитися оновленнями та Інтеграція з Zapier, збирати корисні дані. Integromat, DiglogFlow, Google Sheets Підтримка кількох Один із інструментів каналів розробки чат-ботів, який Людські розмови з 14-денна підтримує низку каналів, користувачами Важко використовувати безкоштовна Botsify зокрема веб-сайти, Зростання пробна версія Facebook Messenger, Slack кількості Неможливо Платні плани і SMS. Рішення дозволяє користувачів для підключити до створити для користувачів більшого Facebook Ads $49- $499/місяць розмову, схожу на людину. залучення користувачів Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 12 а Продовження таблиці 1 Безкоштовний Платформа для створення план до 500 чат-ботів для веб-сайтів, Простота Мінімальна взаємодій Flow мобільних додатків і використання аналітика Платний план за XO соціальних мереж. Він Багатоканальна Відсутня 19 доларів на порівняно простий у підтримка інтеграція зі місяць (додаткові використанні та містить Вбудований живий сторонніми боти, активні готові шаблони. чат рішеннями потоки та взаємодії купуються окремо) Відсутність функцій Немає Безкоштовна Серед інших сервісів Легка взаємодія вбудованого пробна версія та HubSpot дозволяє чат-бота ШІ створювати на своїй Вбудований живий Facebook безкоштовний HubSpot платформі чат-ботів. чат Messenger і план Однак його можливості Можливість веб-чат-боти досить обмежені. налаштувати стиль Немає зв’язку Платні плани від віджета сайту з Facebook 46 доларів США Ads на місяць Аналітики немає Для створення online-чат-бота можна використовувати декілька засобів одночасно. Платформи для розробки чат-ботів прості у використанні але мають обмежений функціонал. Тоді, виникає необхідність створення чат-боту за індивідуальними критеріями. На ринку існує ряд рішень, які можна використовувати для створення чат-бота з нуля (Рисунок 1.4). В таблиці 2 наведено найбільш використовувані платформи. Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 13 а Рисунок 1.4 – Створення чат-ботів «з нуля» Таблиця 2 – Платформи для розробки чат-ботів «з нуля» Рішення Короткий опис Мова Підтримка програмування NLP Особливості Інтеграції Популярне рішення для створення Розширений і клієнтських чат- потужний механізм ботів із машинного вбудованим ШІ. навчання Facebook Рішення можна Автоматизований IBM використовувати прогнозний аналіз Messenger Java, C++ Так Хмарне зберігання Домофон Watson для створення чат- даних для Млява ботів для ряду максимальної Сайт платформ, WordPress включаючи безпеки та додатки для конфіденційності обміну 10+ підтримуваних повідомленнями та мов веб-сайти. Набір сервісів, що SDK для кількох дозволяє мов програмування Skype створювати та Функція Млява Microsoft підключати перетворення Facebook Bot інтелектуальних Messenger NodeJS, C# Немає мовлення в текст Веб-сайт Frameworkботів, здатних на основі розмовляти, машинного Кортана слухати та навчання Команда спілкуватися з Багатомовна Microsoft користувачами. підтримка ВООЗ Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 14 а Продовження таблиці 2 Млява Cisco Простий і зручний Webex Платформа з у використанні Cisco відкритим кодом із Активна спільнота Jabber низкою корисних та чудова Microsoft бібліотек і документація Teams BotKit плагінів, які NodeJS Немає Швидкі будівельні Facebook надають додаткові боти Messenger функції, Висока настройка Twilio статистику та Інтеграція з SMS показники найпопулярнішими Twilio платформами IPM Google Hangouts Голосова та Facebook Фреймворк чат- текстова допомога Messenger бота ШІ з Насичені розмови з Google можливостями використанням Assistant машинного природної мови Млява Dialogflow навчання, NLP та NodeJS Так SDK для 14+ Телеграма інтеграцією з платформ Viber популярними Підтримка понад лінія комунікаційними 20 мов Твіліо платформами Аналіз настроїв Алекса Підтримка Кортана інтеграції IoT ВООЗ Рішення, яке Автоматичне дозволяє розпізнавання створювати швидкості Повна інтеграція з Facebook розмовні AWS Messenger Амазон інтерфейси за Млява Лекс допомогою голосу Java, .Net, Ruby Так Висока ВООЗ та тексту. Має масштабованість Twilio можливості SDK для кількох платформ SMS машинного навчання та НЛП. Безкоштовно для користувачів AWS Простота використання з Мобільні Фреймворк чат- Facebook Messenger програми бота з відкритим Велика та активна Веб-сайти Віт ШІ вихідним кодом із спільнота Млява підтримкою NLP Python Так розробників Facebook та інтелектом на Один з найкращих Messenger рівні людини. двигунів НЛП Носимі SDK для iOS, пристрої Node.js, Python, IoT Ruby Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 15 а Окрім наведених в таблиці 2 існує ряд інших фреймворків і API, які можна використовувати, наприклад, Botpress, BotKit, ChatterBot, Pandorabots, MindMeld, Luis та інші. Для створення сучасних та потужних чат-ботів широко застосовуються рішення з підтримкою ШІ, машинного навчання та NLP [5]. Боти, які використовують ШІ та NLP, набувають все більшої популярності, а «навчання» ботів з використанням цих технологій розвиваються та вдосконалюються. З часом боти «навчитися» реагувати, як люди, на довільні запити користувача. В наслідку удосконалення ШІ та NLP чат-боти зможуть: Влучно відповідати на будь-яку інформацію. Бути готовими до активної роботи в будь-який момент часу. Здійснювати збір та аналіз інформації для подальшого її використання. Розвивати емоційний інтелект (EQ). В наслідок чого, вони виглядатимуть більш людяними та зможуть краще виявляти наміри та розрізняти емоції користувачів. AI та NLP допомагають чат-ботам взаємодіяти більш схоже на людину. 1.4 Мови програмування для розробки чат-ботів Використання платформ та систем для конструювання чат-ботів підходить для випадків, коли для досягнення поставленої мети функціональності чат-бота достатньо підключити кілька сторонніх сервісів, додатків та платформ. Це навантажить наш чат-бот додатковими запитами для отримання відповіді від всіх учасників процесу. Тоді, виникає необхідність розробки індивідуального функціоналу для чат-боту з використанням мови програмування. Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 16 а Тож, розглянемо мови програмування, які використовуються для розробки чат-ботів [8-11]. Python – здебільшого використовується для проектів даних, проектів машинного навчання та проектів чат-ботів. Вона має простий синтаксис, який легко читається та розуміють навіть розробники- початківці. Python – це відносно проста мова для створення прототипів чат-ботів і не вимагає додаткового етапу компіляції, на відміну від інших мов. Python також має великий вибір бібліотек для машинного навчання та обробки природної мови (NLP), включаючи потужний інструментарій Natural Language Toolkit (NLTK), який багато розробників вважають найкращою бібліотекою NLP. Java – широко використовується для проектів чат-ботів, оскільки вона є об’єктно-орієнтованою мова загального призначення, яка не залежить від платформи та переноситься. Програми, написані на Java, можуть працювати на будь-якій системі, де встановлено віртуальну машину Java (JVM), що робить її універсальною мовою. Java забезпечує багатопотоковість, що забезпечує вищу продуктивність, на відміну від мов. Чат-боти, написані на Java, можна легко інтегрувати з корпоративними екосистемами. Java також має великий вибір сторонніх бібліотек для машинного навчання та NLP, включаючи Stanford Library NLP і Apache Open NLP. Ruby – це об’єктно-орієнтована мова програмування високого рівня, яка може спростити створення чат-ботів. Як і Python, його синтаксис легко читати та розуміти. Ruby також підтримує загальну техніку проектування алгоритму, яка називається динамічним програмуванням, де можна змінювати код під час виконання відповідно до зміни вимог системи. Ruby має широкий вибір бібліотек машинного навчання та NLP, у тому числі повний фреймворк Stealth, розроблений з нуля для розробки чат-ботів. Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 17 а C++. Її також можна використовувати для створення чат-ботів. Вона є досить швидкою, тому її часто використовують, коли продуктивність є пріоритетом. C++ – не найпростіша мова для вивчення, і в цій мові не так багато бібліотек високого рівня спеціально для створення чат-ботів, а це означає, що вам доведеться створювати більшу частину чат-бота з нуля. Використанні C++ ідеально підійде для рішень в яких пріоритетними є швидкість і продуктивність. PHP був створений для розробки веб-сайтів і веб-додатків і існує стільки ж, скільки існує web-розробка. Це також підходяща мова для створення чат-ботів. Однією з переваг PHP є те, що багато розробників знають його, і багато web-сайтів уже використовують цю мову, що спрощує інтеграцію чат-бота PHP в існуючі системи. У PHP також існує фреймворк під назвою Botman, який надає всі інструменти, необхідні для створення чат-бота та інтеграції з іншими фреймворками web-розробки PHP, такими як Laravel. Clojure – ще одна популярна мова програмування для розробки чат- ботів. Він працює на віртуальній машині Java (JVM) і може легко інтегруватися з існуючими системами, написаними на Java. Clojure – це функціональна мова програмування, яка є діалектом Lisp. Вона використовує рекурсивні функції (які звертаються до самих себе для виконання) замість циклів для проходження списків і масивів, функції, якій надають перевагу багато розробників для обробки даних, задіяних у NLP. Lisp є однією з перших мов високого рівня, яка пройшла кілька етапів розвитку, перш ніж стати дуже ефективною та динамічною мовою. Її часто використовували розробники для створення інтелектуальних і чуйних чат-ботів різних типів через його динамічні функції. Prolog використовується для розробки систем ШІ для більш логічного підходу. На відміну від інших мов Prolog дотримується Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 18 а фундаментального набору фактів, правил, цілей і запитів. Він може розпізнавати шаблони та зіставляти їх, знаходити та логічно впорядковувати дані та автоматично повертатися назад у процесі, щоб знайти кращий підхід. R. Використовується для роботи зі штучним інтелектом та пов’язана з аналізом і візуалізацією даних. Це програма з відкритим вихідним кодом із можливістю обробляти дані, автоматично застосовувати їх будь-яким способом, звітувати про шаблони та зміни, допомагати з прогнозами тощо. R досить складна у вивченні мова, тому її слід поєднувати з іншими надійними інструментами для створення повноцінного програмного забезпечення та продуктивного робочого процесу. Rust – це високорівнева багатопарадигмальна мова програмування. Подібна до C++ за синтаксисом, вона забезпечує безпеку пам’яті без збирання сміття та додаткового підрахунку посилань. Завдяки своїй швидкості, виразності та безпеці пам’яті це оптимальний варіант для ШІ та наукових обчислень. Kotlin. Кросплатформна мова програмування, яка використовується для розробки різних програм. Понад 60% розробників Android використовують цю мову для своїх розробок. Це одна з мов програмування, яка розвивається найшвидше, Kotlin можна використовувати для створення чат-ботів ШІ. 1.5 Сфери використання чат-ботів На сьогоднішній день чат-боти розробляються та інтегруються до месенджерів та соціальних мереж [12]: Телеграм; Facebook Messenger; Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 19 а ВК («ВКонтакті»); «Однокласників»; Viber; Slack; Інстаграм; Skype; WhatsApp; Twitter; Google Assistant і інших платформ. При цьому, користувачам достатньо лише знайти вашого бота в потрібному месенджері або соціальній мережі й одразу ж почати йово використання. Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 20 а 2 ПОСТАНОВКА ЗАВДАННЯ Перш за все необхідно визначити засоби та інструменти для розробки. Зокрема: мову програмування; середовище розробки; інструменти розробки; систему контролю версій. У цьому розділі буде проаналізовано можливості вибору таких засобів та наведено приклад розробки бота за їх допомогою. 2.1 Технічне завдання, функції, засоби розробки 2.1.1 Формування технічного завдання на розробку чат-боту Перш за все сформуємо технічне завдання на розробку «Telegram» бота та розглянемо основний функціонал. Чат-бот «Rozklad_fitis» повинен відповідати наступним вимогам: 1. Чітке функціонування у всіх версіях «Telegram». 2. Дотримання всіх перерахованих параметрів та критерій. 3. Використання зрозумілого інтерфейсу з можливостями роз’яснень. 4. Інформація має бути актуальною. 5. Можливість змінювати програму. Проект має бути в постійній фазі розробки та оновлення, в програму будуть вноситися зміни та доповнення. Інформація про розклад постійно оновлюється. При виконанні всіх умов буде розроблено стабільний чат-бот для розкладу занять студентів. 2.2 Вибір та обґрунтування інструментів розробки 2.2.1 Месенджер «Telegram» «Telegram» – написаний на мовах програмування С++, Java та являє собою безкоштовний додаток, та є кросс-платформленою. Дає змогу Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 21 а спілкуватися за допомогою повідомлень як голосових так і введених з клавіатури або дзвінків. Дає змогу надсилати файлові різноформатні дані, здійснювати розробку чат-ботів та ігрові проекти, створювати власні групи та цілі канали та безліч іншого. Крім того, месенджер дає змогу користуватися хмарним сховищем «Telegram Passport» де залишаються на збереження багато, за потреб, документації користувачів [7]. На сьогоднішній день кількість користувачів «Телеграм» перевищує 550 млн. та продовжує зростати. Месенджер має значні переваги над іншими що і забезпечує йому таку популярність та прихильність користувачів – швидкість виконання команд та передачі інформації між користувачами не говорячи за швидкісне з’єднання. Месенджер надає можливість використовувати приховані чати для конфіденційного спілкування. Повідомлення зберігаються в хмарному сховищі пристроїв співрозмовників. Також присутній, який очищує історію відправлення через певний час після надсилання. Стирання для обох співрозмовників відбувається ідентично, тобто не дає змоги залишити повідомлення одному з користувачів. «Telegram» застосовує шифрування повідомлень користувачів криптографічними протоколами MTProto. І попри все, відправлення зашифровані та мають ключі згідно схеми виконання «з машини №1 до машини №2» що сприяє поліпшенню безпеки та надає гарантію що відправлення не перехоплять, та все ж є ризик втратити свої дані шляхом передання пристрою зловмисникам або втрату пристрою іншим способом. Додаток кросс-платформлений отже запускається на Android, iOS, Windows Phone, macOS и GNU/Linux. При цьому можливості для кожної версії з наведених не змінюються та працюють з однаковою ефективністю. Інтерфейс месенджеру підтримує 19 мов, з яких зазнали найбільшої популярності з яких це англійська, німецька, українська та російська. Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 22 а 2.2.2 BotFather BotFather – найпростіший спосіб для реєстрації, налаштування та керування іншими telegram-ботами. Для роботи з ним не потрібно специфічних навичок. За допомогою BotFather можна зареєструвати необмежену кількість нових ботів. Головною умовою реєстрації нового бота є його унікальне username. BotFather стане відмінним рішенням для тих, хто не розуміється на програмуванні і не хоче довіряти створення та управління своїм ботом стороннім людям або стороннім організаціям. Рисунок 2.1 – Початок роботи із ботом BotFather та набір команд Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 23 а Взаємодія з BotFather здійснюється за допомогою простих команд (рисунок 2.1). Наприклад, для реєстрації нового бота, достатньо відправити в чат команду /newbot і слідувати простим інструкціям: 1. Придумати ім’я бота, яке відображатиметься у чатах та контактах. При потребі, його можна легко змінити. 2. Придумати username – це складніше: ім’я має бути унікальним і закінчуватися на «bot». Допускаються літери латинського алфавіту, цифри та символ підкреслення (приклад – MyPersonsl_new_bot). Загальна кількість символів не менше 5 та не більше 32; 3. Якщо попередні кроки виконано правильно, то ми отримаємо повідомлення з токеном (рисунок 2.2). Токен необхідний для роботи з Bot API за допомогою http-протоколу. Токен не можна передавати іншим користувачам та, за можливості, не втрачати. Для збереження токен можна зберегти в текстовий файл та відправити в хмару. Рисунок 2.2 – Процес отримання токену за допомогою BotFather Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 24 а Після реєстрації нашого нового бота можна здійснити його кастомізацію. Зокрема: встановити аватар, додати до нього опис та контактну інформацію. Змінити ім’я нашого бота, можна за допомогою команди /setname. Встановити аватарку – командою /setuserpic. Змінити чи додати короткий опис – командою /setdescription. Для зміни інформації у профілі – скористатися командою /setabouttext. Після налаштування зовнішнього вигляду нашого бота можна перейти до його функціонального наповнення. Для встановлення списку команд (рисунок 2.3), у рядку повідомлень вводимо команду /setcommands. Рисунок 2.3 – Встановлення команд Команди вводяться без слеша, у форматі «command1 – опис команди». Розглянемо основні команди та їх значення: /newbot – зареєструвати нового робота; /mybots – редагувати своїх ботів. Редагування: /setname – змінити ім’я бота; /setdescription – змінити опис бота; / setabouttext – змінити інформацію про бот; Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 25 а /setuserpic – змінити фотографію профілю бота; /setcommands – змінити список команд; /deletebot – видалити робота. Налаштування бота: /token – генерувати токен авторизації; /revoke – відкликати токен доступу до робота; /setinline – увімкнути вбудований режим (дозволяє звертатися безпосередньо до бота з будь-якого каналу, групи або чату, написавши його ім'я у полі надсилання повідомлень) (https://core.telegram.org/bots/inline); /setinlinegeo – перемикати запити розташування під час використання бота у вбудованому режимі (https://core.telegram.org/bots/inline#location- basedresults); /setinlinefeedback – змінити налаштування зворотного зв’язку (збір статистики команд, що найчастіше відправляються) (https://core.telegram.org/bots/inline#collecting-feedback); /setjoingroups – визначає можливість додавання вашого робота в групи; /setprivacy – переключити режим конфіденційності у групах (https://core.telegram.org/bots#privacy-mode). Ігри: /mygames – редагуйте свої ігри (https://core.telegram.org/bots/games) [бета]; /newgame – створити нову гру (https://core.telegram.org/bots/games); /listgames – отримати список ваших ігор; /editgame – редагувати гру; /deletegame – видалити існуючу гру. Для завершення налаштування нашого бота можна обрати будь-які необхідні команди. Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 26 а Завдяки своїй швидкості Telegram має мільйони користувачів. Тому, наш бот також має бути швидким щоб конкурувати з іншими ботами в системі. Для підтримки конкурентоспроможності своїх ботів, @BotFather повідомляє власника про наявність проблем чи некоректної роботи бота. Telegram перевіряєе кількість відповідей та коефіцієнт конверсії запитів/відповідей для популярних ботів (300 запитів на хвилину: це значення з часом може змінюватися). Якщо результат буде аномально низький, @BotFather сповістить про це. Перед тим як обирати інструменти розробки, необхідно ознайомитися із прикладним програмним інтерфейсом (англ. Application Programming Interface, API), який надає месенджер для розробників. На даний момент є два основні інструменти API, за допомогою яких можна використовувати сервіси Telegram — Telegram Bot API і Telegram API. Перший служить для розробки чат-ботів, другий дозволяє робити повністю кастомні телеграм- клієнти. Розробникам також доступна відкрита бібліотека TDLib (Telegram Database Library), за допомогою якої можна створювати свою версію месенджера з унікальними опціями (наприклад, Telegram X, побудований саме на TDLib). Telegram Bot API є надбудовою над Telegram API, тому користуватися Bot API можна без знань про механізм використовуваного протоколу MTProto. Для його роботи задіяний проміжний сервер з інтерфейсом HTTPS, який шифрує трафік і забезпечує зв'язок з Telegram API. Bot API дозволяє легко створювати програми, які використовують інтерфейс Telegram для виконання коду на локальному сервері. Користувачі можуть взаємодіяти з ботами, надсилаючи їм повідомлення, команди та вбудовані запити. Принцип роботи будь-якого робота полягає в тому, що він перманентно надсилає запити на сервер і регулярно отримує оновлення. Отримувати їх можна двома способами. По-перше, можна використовувати вебхуки, коли Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 27 а сервер здійснює зворотний дзвінок на вказаний URL. По-друге, можна просто «закидати» запитами Telegram, отримуючи постійні відповіді. Зверніть увагу - отримувати повідомлення про нові повідомлення в роботі та інших подіях ви можете всього один раз. Тому, якщо дані чату видаються вам дуже важливими, доведеться самостійно зберігати список чатів та історію старих повідомлень. Якщо ви випадково зітрете/втратите цю інформацію, то ви її ніяк не відновите. На відміну від Bot API, де отримувати оновлення можна лише один раз, у Telegram API це обмеження можна обійти, якщо використовувати кілька клієнтів. У такому випадку робот отримуватиме всі оновлення на кожному із запущених клієнтів. Також у Bot API немає можливості розсилки повідомлень усім користувачам одночасно [6]. 2.3 Системи конструювання чат-ботів: переваги та недоліки Розглянемо основні сервіси для створення чат-ботів [12]: Corezoid (https://corezoid.com/) Платформа, що має хмарну структуру, допоможе об’єднати всі IT- технології, що задіяні в бізнесі, в загальну екосистему. За фактом, це метамова, яка відрізняється універсальністю, здатна комбінувати в собі будь- які API з різними протоколами. Для простоти користувача управління створеною системою відбувається у зручному інтерфейсі, який не вимагає знання навіть азів програмування. Чат-бот Corezoid складається з декількох частин, які взаємодіють між собою за допомогою запитів http(s). Дозволяє зберігати дані, додатково представлена можливість підключення статистичної аналітики – вона робить чіткі висновки про процеси, що відбуваються. Goodpromo (https://goodpromo.me/) Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 28 а За допомогою сервісу Goodpromo можна створити розумного чат-бота всього за 10 хвилин, не маючи при цьому знання програмування. При підключенні даної системи до сайту можна отримати більше профільних заявок від потенційних клієнтів і, відповідно, збільшити конверсію, не вкладаючи зайвих коштів у маркетинг. Особливість чат-бота в тому, що він спочатку цікавиться у відвідувача про його наміри та цілі, а також виставляє йому пропозиції, які повністю персоналізовані. Чат-бот працює безперервно, відповідаючи на запитання клієнтів цілодобово навіть у неробочий час. SMMBOT (https://smmbot.net/) Вам не потрібно розбиратися в тонкощах програмування, а для запуску свого бота вистачить потужності стандартного смартфона. Після реєстрації на сайті ви зможете вибрати один з сценаріїв для свого нового бота або створити власну схему питань і відповідей. Особлива цінність віртуального помічника полягає в тому, що він не тільки відповість заданим повідомленням, але і продовжить ефективну роботу з користувачем – перемістить його на відповідний крок сценарію, відправить по API запит в ваш інтернет-магазин або зробить запис в загальній базі даних. Доступний безкоштовний режим тестування протягом 3 днів, потім можна користуватися конструктором за 299 рублів на місяць. SendPulse (https://sendpulse.ua/) Мультиканальний сервіс автоматизації маркетингу, в якому можна створити чат-ботів для Telegram, Facebook Messenger і ВКонтакте. Візуальний конструктор має інтуїтивно зрозумілий інтерфейс, тому ви легко розберетеся в його налаштуваннях. Функціонал сервісу дозволяє сегментувати підписників, запускати розсилки повідомлень за подією, Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 29 а передавати дані з бота в додатку Google, створювати віджети підписки, приймати платежі, відстежувати детальну статистику і багато іншого. У SendPulse можна безкоштовно створити три чат-бота і щомісяця відправляти до 10 000 повідомлень. При цьому, кількість підписників не обмежена. Ви можете вільно редагувати ланцюжок повідомлень бота і додати до 10 змінних. Вартість платного тарифу починається від $ 7,88 на місяць і залежить від кількості підписників. Smartsender (https://smartsender.com/) Платформа чат ботів для Telegram, Viber, WhatsApp, Instagram Direct, Facebook Messenger, Skype, Vkontakte, Kik, Line, WeChat Ціна: від 3,5 дол. Безкоштовно для компаній з кількістю підписників до 500. Manychat (https://manychat.com/) Візуальний конструктор ботів для впровадження в Facebook Messenger. Дає можливість досить тонко налаштувати функціонал віртуального асистента і відправляти розсилки відповідно до обраної стратегії. Користувачам доступний безкоштовний пробний тариф і платні плани, вартість яких становить від 10 доларів в місяць. З недоліків конструктора можна відзначити відсутність російського інтерфейсу, що не завжди дозволяє швидко знайти потрібні функції. Чат бот дає можливість планувати постинг в месенджері, збирати дані аналітики і налаштовувати трансляції. Chatfuel (https://chatfuel.com) Популярний сервіс для створення чат-ботів, забезпечений великою кількістю плагінів. Почати користуватися можна абсолютно безкоштовно, але коли аудиторія перевищує 1000 чоловік, доведеться перейти на платний пакет за 15 доларів в місяць. Оригінальність цього бота – можливість використовувати інструмент розпізнавання мови. Але безкоштовна версія не Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 30 а дозволяє отримати статистику, тому рекомендується відразу розглянути платний тариф, щоб повністю розкрити функціонал асистента. З недоліків можна відзначити вузьку спрямованість віртуального помічника – він працює тільки в Facebook Messenger і не дозволяє розробити бота для особистої сторінки. Підійде для користувачів, які не мають складнощів з англійською мовою, так як не має російськомовного інтерфейсу. Botmother (https://botmother.com/ru) Крос-платформний конструктор, за допомогою якого можна створити чат бота для Вайбера і будь-якого іншого месенджера – WhatsApp, ВКонтакте, Telegram, Facebook або Однокласників. Візуальний конструктор значно спрощує роботу з сервісом, – для початку досить зареєструватися і ознайомитися з основними компонентами програми. Застосування ботів, що швидко конструюються від Botmother дасть можливість розвантажити працівників колл-центру і надати клієнтам широкий функціонал дій, від бронювання квитків до оплати парковки. Ваша цільова аудиторія зможе оперативно отримувати розсилку про спецпропозиції, а ви – збирати дані аналітики про поведінку на ввірених сторінках в соцмережах або месенджерах. У недоліках значиться не завжди швидка і адекватна реакція служби технічної підтримки. Сhatforma (https://www.chatforma.com/) Найфункціональніший і, водночас, простий і зрозумілий конструктор в рунеті, що дозволяє створювати чат-ботів в месенджерах Telegram, Viber, Vkontakte, Facebook без навичок програмування. PuzzleBot (https://puzzlebot.top/) Сервіс зі створення чат-ботів, а також з ведення чатів і каналів в месендежері Telegram, який допоможе всього за 7 хвилин зібрати Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 31 а багатофункціонального бота без знань в програмуванні. Сервіс відмінно підійде як новачкам, які тільки що відкрили для себе можливості ботів, так і професіоналам в ботостворенні. Flow XO (https://flowxo.com/) Працює з WhatsApp, Facebook Messenger, Telegram, Slack. Flow XO дозволяє вам створювати діалоговий потік, з’єднуючи «тригер» з одним або декількома «діями» – щоразу, коли запускається потік, ми називаємо це «взаємодією». Існує більше 100 інтеграцій, які ви можете використовувати як будівельні блоки, більшість з яких можна використовувати для «запуску» потоку або як вихідної «дії» з потоку. До них відносяться як службові модулі (такі як web-хуки або електронна пошта), так і інтеграції з іншими сторонніми сервісами, такими як Таблиці Google. Дозволяє автоматизувати робочі процеси, працювати з потенційними та поточними клієнтами. Базовий тариф є безкоштовним, стандартний – 19 дол. на місяць. Aimylogic (https://aimylogic.com/) Це візуальний конструктор для чат-ботів зі штучним інтелектом. Створюйте чат-боти, виклики на основі ШІ та дії для голосових помічників (Google Assistant, Alexa), які розуміють наміри ваших клієнтів та їхню природну мову. Публікуйте своїх ботів у 19+ каналах. Стає «розумнішим» у процесі роботи завдяки машинному навчанню. Отже, великий вибір online-сервісів з інтерфейсами українською, російською та англійською мовами надає можливість обрати додаток, який максимально відповідає вашим потребам. А наявність готових шаблонів дозволить вам безкоштовно протестувати майбутнього бота. Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 32 а 3 ОГЛЯД АНАЛОГІВ 3.1 Приклади популярних чат-ботів Топ-5 прикладів чат-ботів у 2022 році На сьогоднішній день чат-боти використовуються майже у всіх галузях та сферах. Вони впроваджуються майже в кожній фірма та компанії. Тож, розглянемо приклади використання технології чат-ботів у окремих галузях та випадках їх використання. [4] 1. Чат-боти для створення потенційних клієнтів на web-сайтах Ці чат-боти використовують техніку розмови, щоб отримати інформацію про відвідувачів web-сайту, допомогти клієнтам у процесі покупки або класифікувати потенційних клієнтів. Вони допомагають користувачам переміщатися між різними варіантами та дозволяють компаніям активно взаємодіяти з потенційними клієнтами, гарантуючи, що вони не покинуть ваш web-сайт. Чат-боти для залучення потенційних клієнтів ефективні для побудови стосунків із відвідувачами web-сайту та взаємодії з ними 24 години на добу, сім днів на тиждень. 2. Чат-боти для подачі інформації та заявок у сфері страхування Постачальники страхових послуг можуть використовувати чат-ботів, щоб зв’язуватися зі споживачами, надавати котирування полісів, збирати страхові внески, продавати додаткові та перехресні продукти та послуги тощо. Це може ґрунтуватися на правилах або використовувати ШІ і обробку природної мови. Крім того, страхування і сектор фінансових послуг значною мірою залежить від людського фактору. Чат-боти дозволяють постачальникам страхових послуг охоплювати набагато ширшу аудиторію та полегшують клієнтам обробку їхніх вимог. 3. Віртуальні помічники для пошуку інформації на смартфонах Велика кількість користувачів смартфонів використовують такі голосові помічники, як Google Now, Cortana, Siri та Alexa, щоб регулярно Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 33 а шукати інформацію. Віртуальний помічник слухатиме вас, відповідатиме та виконуватиме такі завдання, як надсилання листів, пошук, відкриття програм, надання інформації про погоду тощо. Важливою перевагою є те, що ви можете використовувати голос для керування практично будь-чим за допомогою опцій перетворення голосу в текст і тексту в мовлення. 4. Чат-боти підтримки клієнтів у програмах електронної комерції Чат-боти трансформують індустрію електронної комерції та дають продавцям змогу надавати кращий досвід покупок. Вони спрощують широку матрицю складних відносин і просувають бізнес вперед у рамках більш масштабної трансформації для автоматизації операцій і впровадження технологій, які підтримують обслуговування клієнтів. Програми для електронної комерції використовують чат-ботів, щоб підтримувати взаємодію з клієнтами повністю online і зменшувати потребу в взаємодії один на один. 5. Боти для оплати рахунків комунальними підприємствами Чат-боти також дозволяють комунальним компаніям надавати підтримку клієнтів на вимогу, не покладаючись виключно на фактичні команди агентів з обслуговування клієнтів, що стало критичним, особливо під час пандемії COVID. Чат-боти значно впливають на оплату рахунків – клієнт може ввести свій ідентифікатор послуги, і бот автоматично отримає останній рахунок-фактуру. Використовуючи транзакційні системи, клієнти можуть сплачувати внески безпосередньо в додатку, не відвідуючи офіс комунального підприємства. Це забезпечує безперебійне обслуговування та своєчасність платежів. 3.2 Чат бот «DonNuBot» Прикладом чат-боту для розкладу занять є «DonNuBot» (Рисунок 3.1). Розглянемо його детальніше. Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 34 а Він має меню, яке складається з 6 пунктів: /start – Почати роботу /schedule – Вивести розклад предметів /class_schedule – Розклад дзвінків /profile – Профіль /help – Допомога /logout – Вийти та очистити мої дані Рисунок 3.1 – Чат-бот для розкладу занять є «DonNuBot» Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 35 а 4 РОЗРОБКА ЧАТ-БОТУ 4.1 Розробка функціональної частини чат-бота розкладу занять студентів Через BotFather створюємо наш чат-бот (рисунок 4.1). вводимо назву боту та його ім’я. Отримуємо токен, який нам знадобиться для інтеграції з іншими сервісами. Рисунок 4.1 – створюємо чат-бот через BotFather Чат-бот розкладу занять студентів розроблявся для месенджера Telegram. При цьому використовувалися такі платформи та сервіси, в яких будувалися зв’язки та здійснювалися інтеграції: Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 36 а Smartsender, Google Sheets, ApiX-Drive. Проведено попередні налаштування систем. Здійснена інтеграція месенджера Telegram в платформу Smartsender через токен нашого чат-бота (рисунок 4.2). Рисунок 4.2 – Інтеграція месенджера Telegram в платформу Smartsender через токен Приєднано Google Sheets через обліковий запис Google (рисунок 4.3). Рисунок 4.3 – Інтеграція Google Sheets через обліковий запис Google Здійснено об’єднання Smartsender та ApiX-Drive через API ключ Smart Sender (Рисунок 4.4, 4.5) для коректної роботи сервісів Telegram та Google Sheets. Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 37 а Рисунок 4.4 – API ключ Smart Sender Рисунок 4.5 – Інтеграція Smartsender та ApiX-Drive Після здійснення налаштувань, було розпочато роботу над чат-ботом. В Smartsender була побудована структурна схема чат-боту (рисунок 4.6), в якій було пророблено механізм вибору студентом потрібної групи для подальшого отримання розкладу занять для обраної групи. Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 38 а Рисунок 4.6 – Структурна схема чат-боту Rozklad_fitis Для побудови структурної схеми використовувалися такі блоки: Відправити повідомлення (рисунок 4.7) для виведення текстових повідомлень та переходів. Виконати дію (рисунок 4.8) для умовного вибору, виконання інтеграцій, передачі та отримання даних. Постійне меню (рисунок 4.9) для вибору кількох варіантів. Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 39 а Рисунок 4.7 – Блок Відправити повідомлення Рисунок 4.8 – Блок Виконати дію Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 40 а Рисунок 4.9 – Блок Постійне меню Наступним кроком було отримання файлі з розкладом студентів у форматі *.xls для подальшої зручної інтеграції в Google Sheets. Отримані дані були відредаговані та відформатовані для подальшої коректної роботи з ними. Після побудови структурної схеми та зв’язків розпочався процес тестування нашого чат-боту (рисунок 4.10). Рисунок 4.10 – Запуск чат-бота з платформи Smartsender Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 41 а 4.2 Тестування чат-боту розкладу занять студентів На цьому етапі ми бачимо тестувати нашого чат-бота в дії. Коли користувач натискає кнопку Розпочати, бот вітається з користувачем та пропонує обрати один з варіантів для подальшої роботи: «До розкладу» або «Корисні матеріали» (рисунок 4.11). Рисунок 4.11 – Початок роботи чат-боту з розкладу занять студентів Якщо користувач обирає «Корисні матеріали» – йому пропонується меню на вибір за допомогою якого можна переглянути «Розклад дзвінків», подивитися іншу корисну інформацію в розділі «Різне», або перейти до розкладу, обравши відповідний пункт меню. Натиснувши кнопку «Розклад дзвінків» користувач його і отримає (Рисунок 4.12). Натиснувши кнопку «До розкладу» – користувач потрапить в наступне меню, де йому потрібно буде обрати один із факультеті (ФІТІС, ФЕТАМ, ФТБРП, ФЕУ або ФГТ). Слід зазначити, що дана система поки що охоплює лише ФІТІС, а тому при виборі іншого факультету, бот сповістить користувача про помилку та попросить обрати інший факультет Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 42 а (рисунок 4.13). Таке повідомлення буде виводитися до тих пір, поки користувач не обере правильний факультет. Рисунок 4.12 – Вибір пункту «Корисна інформація» Рисунок 4.13 – Вибір факультету, який не підтримується Далі, бот запропонує обрати форму навчання: стаціонар чи заочна (рисунок 4.14). Заочна форма навчання знаходиться в розробці, тому Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 43 а обираємо «Стаціонар». Після цього, бот запропонує користувачеві обрати курс навчання (1, 2, 3 або 4) (рисунок 4.15). Рисунок 4.14 – Вибір форми навчання Рисунок 4.15 – Вибір курсу Оберемо, наприклад, 4 курс який нам ближче, бот нам виведе перелік кафедр, та академічні групи, які закріплені за кожною кафедрою та запропонує обрати потрібну групу (рисунок 4.16). Для прикладу, розглянемо групи кафедри ІБтаКІ. Розпочнемо з групи СП-1906. Далі бот запропонує користувачеві обрати «Розклад занять» або «Розклад сесії» (рисунок 4.17). Оскільки навчальний семестр для студентів 4 курсу вже завершується – доцільним буде ознайомитися з розкладом майбутньої сесії, натиснувши на відповідну кнопку «Розклад сесії». Після цього бот запропонує користувачеві обрати «Заліки», «Консультації» або «Екзамени» (рисунок 4.18). Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 44 а Рисунок 4.16 – Перелік кафедр та академічних груп Рисунок 4.17 – Вибір розкладу для обраної групи (СП-1906) Для початку, переглянемо заліки, які заплановані навчальним планом (рисунок 4.19). Бот виводить кожний елемент почергово та запропонує переглянути наступні записи, натиснувши на «Наступний» (рисунок 4.20). Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 45 а Рисунок 4.18 – Навігація по розкладу сесії для обраної групи (СП-1906) Рисунок 4.19 – Залік Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 46 а Рисунок 4.20 – Всі заліки Після того, як бот виведе всі заліки, можна переглянути графік «Консультацій», обравши відповідний пункт меню (рисунок 4.21). Записи також виводяться по одному, а переглянути інші записи можна натиснувши на кнопку «Наступна». Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 47 а Рисунок 4.21 – Розклад консультацій Після того, як виведуться всі консультації, можна переглянути розклад екзаменів, обравши відповідний пункт меню (рисунок 4.22). Після того як виведуться всі екзамени, бот запропонує меню, в якому користувач може обрати один із пунктів: «Інший розклад» та переглянути розклад занять, для обраної групи, «Іншу групу», або повернутися «На початок» роботи бота. Переглянемо розклад сесії іншої групи кафедри ІБтаКІ, а саме КМС- 2105 (рисунок 4.23). Виведення списку заліків (рисунок 4.24), консультацій (рисунок 4.25) та екзаменів (рисунок 4.26) здійснюється у такому ж порядку та форматі що і для групи СП-1906. Натиснувши кнопку «На початок» (рисунок 4.27) бот повернеться до початку своєї роботи та запропонує користувачеві обрати «Розклад» або «Корисні матеріали». Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 48 а Рисунок 4.22 – Розклад екзаменів Рисунок 4.23 – Обрано іншу групу Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 49 а Рисунок 4.24 – Список заліків групи КМС-2155 Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 50 а Рисунок 4.25 – Список консультацій групи КМС-2155 Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 51 а Рисунок 4.26 – Список екзаменів групи КМС-2155 Рисунок 4.27 – Повернення бота до початку роботи Виведення розкладів занять для інших груп та курсів здійснюється аналогічним чином. Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 52 а ВИСНОВКИ Метою кваліфікаційної роботи бакалавра було створення чат-бота для розкладу занять студентів. Для розробки чат-бота були виконано наступні завдання: 1 Було проаналізовано область застосування та аналоги майбутньої розробки. 2 Зроблено широкий аналіз типів чат-ботів, технологій їх створення, платформ та сервісів для конструювання чат-ботів, середовищ та мов розробки чат-ботів «з нуля». 3 Обрано месенджер, середовище, платформу та сервіси, які будуть використовуватися в розробці чат-боту. 4 Підготовлено вихідні дані (розклад занять). 5 Виконано проектування та моделювання чат-бота для розкладу занять студентів на платформі «Smartsender». 6 Розроблено чат-бот для розкладу занять студентів. 7 Здійснено тестування чат-бота для розкладу занять студентів. Досліджено призначення чат-бота для розкладу занять студентів та визначено доцільність та потенціал даного проекту. Проведено аналіз середовищ для розгортання майбутнього проекту та обрано месенджер «Telegram», оскільки він є найпопулярнішим серед його аналогів. Проаналізовано конструктори для чат-ботів та серед них обрано «Smartsender». Обрано додатковий інструмент для інтеграції ApiX-Drive. Після вибору засобів розробки чат-боту, були визначені пріоритетні завдання, які потрібно вирішити для реалізації чат-бота для розкладу занять студентів. Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 53 а Було визначено вимоги та задачі, які повинен виконувати чат-бот, та побудовано план реалізації проекту. Проведено розробку функціональної частини чат-боту для розкладу занять студентів та вдосконалено механізм послідовності звернень та навігації. Описано реалізацію чат-бота для розкладу занять студентів в месенджері «Telegram» та на платформі «Smartsender». Кваліфікаційна робота бакалавра виконана в повному обсязі згідно ТЗ. Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 54 а ПЕРЕЛІК СКОРОЧЕНЬ ТА УМОВНИХ ПОЗНАЧЕНЬ ШІ – штучним інтелектом NLP – обробки природної мови (natural language processing) NLU – розуміння природної мови (natural language understanding) TTS – перетворення тексту в мову (text-to-speech) IVR – інтерактивна голосова відповідь (interactive voice response) БД – база даних CRM система – система управління взаємовідносинами з клієнтами (customer relationship management system) CDP – платформа даних клієнтів (customer data platform) ML – машинного навчання (machine learning) GUI – графічний інтерфейс користувача (graphical user interface) EQ – емоційний інтелект (emotional quotient) API – прикладний програмний інтерфейс (Application Programming Interface) Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 55 а СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 1. Addevice.io [Електронний ресурс]: [Веб-сайт] – Режим доступу до ресурсу: https://www.addevice.io/blog/how-to-make-a-chatbot-from- scratch – Як створити чат-бота: технології та переваги для бізнесу. 2. Statista.com [Електронний ресурс]: [Веб-сайт] – Режим доступу до ресурсу: https://www.statista.com/statistics/258749/most-popular-global- mobile-messenger-apps/ – Найпопулярніші глобальні мобільні додатки для обміну повідомленнями станом на січень 2023 року, виходячи з кількості активних користувачів щомісяця. 3. Onix-systems.com [Електронний ресурс]: [Веб-сайт] – Режим доступу до ресурсу: https://onix-systems.com/blog/types-of-chatbots-overview-for- business-people – Типи чат-ботів: огляд для ділових людей. 4. spiceworks.com [Електронний ресурс]: [Веб-сайт] – Режим доступу до ресурсу: ttps://www.spiceworks.com/tech/artificial-intelligence/articles/ what-is-chatbot/ – Що таке чат-бот? Значення, робота, типи та приклади. 5. Aithority.com [Електронний ресурс]: [Веб-сайт] – Режим доступу до ресурсу: https://aithority.com/guest-authors/4-evolving-technologies-that- are-empowering-chatbots/ – 4 технології, що розвиваються, які розширюють можливості чат-ботів. 6. Подолян М. М. Розробка телеграм-боту розкладу занять в університеті Кваліфікаційна (бакалаврська) робота. Донецький національний університет імені Василя Стуса Вінниця – 2022. – 62 с. 7. Wikipedia.org [Електронний ресурс]: [Веб-сайт] – Режим доступу до ресурсу: https://uk.wikipedia.org/wiki/Telegram – Телеграм. 8. Chatbotbusinessframework.com [Електронний ресурс]: [Веб-сайт] – Режим доступу до ресурсу: https://chatbotbusinessframework.com/ Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 56 а technology-stack-used-for-chatbot-development/ – Яка технологія використовується в чат-боті? 9. Codecademy.com [Електронний ресурс]: [Веб-сайт] – Режим доступу до ресурсу: https://www.codecademy.com/resources/blog/top-6-programming- languages-for-chatbot-development/ – Топ-6 мов програмування для розробки чат-ботів. 10.Sunstone.in [Електронний ресурс]: [Веб-сайт] – Режим доступу до ресурсу: https://sunstone.in/blog/coding-languages-for-ai-chatbot – 10 мов кодування, які використовуються для створення чат-ботів ШІ. 11.Content.techgig.com [Електронний ресурс]: [Веб-сайт] – Режим доступу до ресурсу: https://content.techgig.com/technology/these-programming- languages- are-used-to-build-ai-chatbots/articleshow/90079684.cms – Ці мови програмування використовуються для створення чат-ботів ШІ. 12.Vlada-rykova.com [Електронний ресурс]: [Веб-сайт] – Режим доступу до ресурсу: https://vlada-rykova.com/ua/top-servisov-dlya-sozdaniya-chat- bota/#Smartsender – ТОП сервісів для створення чат-бота. 13.Методичні рекомендації до підготовки кваліфікаційної роботи бакалавра для здобувачів освітнього ступеня «бакалавр» зі спеціальностей 123 Комп’ютерна інженерія та 125 Кібербезпека усіх форм навчання [Електронний ресурс] / [упорядники: С.О. Гресько, С.Ю. Куницька]; М-во освіти і науки України, Черкаський державний технологічний університет. – Черкаси: ЧДТУ, 2018. – 50 с. 14.Smartsender.com [Електронний ресурс]: [Веб-сайт] – Режим доступу до ресурсу: https://smartsender.com/ 15.Apix-drive.com [Електронний ресурс]: [Веб-сайт] – Режим доступу до ресурсу:https://s5.apix-drive.com/ Лист ЧДТУ.231930.004 ПЗ т Зм. Лист № докум. Підпис Дат 57 а