ВВЕДЕНИЕ 4
Глава 1. Теоретические основы создания и функционирования
чат-ботов 7
1.1 Чат-боты: история создания, развития и современное состояние 7
1.2 Классификация чат-ботов 10
1.3 Архитектура и основные компоненты чат-бота 11
1.4 Платформы и конструкторы чат-ботов 15
1.5 Платформа для создания чат-ботов Rasa Open Source 16
1.6 NLP при разработке чат-ботов 19
1.7 Выводы по главе 1 29
Глава 2. Реализация чат-бота для автоматизированного сбора информации о неисправностях компьютерной техники 31
2.1 Определение задач и функционала чат-бота 31
2.2 Анализ лингвистического материала - текстов клиентских заявок
сервисного центра «КомпТом» 33
2.3 Разработка чат-бота 36
2.4 Интеграция готового чат-бота в социальные сети сервисного
центра «КомпТом» 50
2.5 Выводы по главе 2 53
ЗАКЛЮЧЕНИЕ 55
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ 58
ПРИЛОЖЕНИЕ А. ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ КОМПЕТЕНЦИЙ 65
Конец XX и начало XXI века характеризуются скачком развития информационных технологий, который затронул практически все сферы жизнедеятельности человека. Отличительной чертой данного процесса является интеграция в повседневную жизнь информатизированной среды. Один из аспектов, который оказался под наибольшим влиянием цифровизации - процесс коммуникации, который всё более перемещается в виртуальную среду благодаря Интернету. Вместе с тем эта сеть стала площадкой не только для межличностного типа коммуникации, но и всех остальных типов, охватывая всю социальную сферу.
Для облегчения взаимодействия в данной сфере разрабатываются различные технологии, которые направлены на упрощение поиска и обмена информацией. Одной из таких технологий является чат-бот.
Чат-бот — это программа, которая имитирует живое общение с пользователем и автоматизирует данный процесс. Целью такого общения, как правило, является выполнение каких-либо команд и запросов пользователя. В наше время чат-боты применяются во многих областях, преимущественно в бизнесе, так как их использование автоматизирует многие бизнес-процессы, которые ранее выполнялись вручную.
Данная работа направлена на создание чат-бота для внедрения его в бизнес-процесс, а именно для анализа, систематизации и автоматизации заявок клиентов сервисного центра по ремонту компьютерной техники.
Таким образом, актуальность данной работы обуславливается неуклонным ростом пользователей сети Интернет, а также резко возросшим интересом к виртуальным помощникам, которые автоматизируют процесс общения и могут заменять человеческий труд в бизнес-процессах.
Объектом исследования является русскоязычная диалоговая система.
Предмет исследования - лингвистические и программные аспекты автоматизации диалога с клиентами.
Цель данной работы - создать чат-бот на основе платформы RASA Open Source и внедрить его в реальный бизнес-процесс (социальные сети сервисного центра «КомпТом», г. Томск). Для достижения данной цени были поставлены следующие задачи:
1. Изучить теоретические основы создания и внедрения чат-ботов, а также изучить функционал уже существующих приложений в области связи с общественностью, а именно направленные на взаимодействие продавца и клиента.
2. Определить концепт виртуального помощника путем создания алгоритма работы приложения.
3. Проанализировать различные варианты платформ для создания виртуального ассистента и выбрать наиболее подходящую.
4. Создать MVP (Minimal Viable Product, минимальный
жизнеспособный продукт) виртуальной диалоговой системы
5. Интегрировать чат-бот в реальный бизнес-процесс, а именно в социальные сети сервисного центра («ВКонтакте», Telegram)
Материалом для исследования послужил анализ клиентских заявок сервисного центра «КомпТом» (г. Томск) за 2019-2022 гг.
Практическая значимость данной работы заключается в создании чат-бота, который будет внедрен в реальный бизнес-процесс, а именно в социальные сети сервисного центра «КомпТом», и будет собирать и обрабатывать заявки клиентов, а также озвучивать примерную цену ремонта, тем самым заменяя работу консультанта.
Теоретическую основу исследования составляют такие работы в области машинного обучения, как диалоговые системы, извлечение информации и создание чат-ботов (McTear M. «Conversational AI: Dialogue Systems, Conversational Agents, and Chatbots», Raj S. «Building Chatbots with Python»).
Структура работы обусловлена логикой поставленных задач. Исследование включает в себя введение, две главы, заключение и приложения.
Во введении обоснованы актуальность выбранной проблемы, цель и задачи исследования, а также теоретическая основа и практическая значимость работы. В первой главе рассмотрены теоретические основы создания и функционирования чат-ботов в сети Интернет. Во второй главе описывается наше решение с использованием платформы Rasa Open Source и интеграция чат-бота в социальные сети «ВКонтакте» и Telegram. В заключении подводятся краткие итоги исследования, а именно каким путем была достигнута цель.
В ходе данной работы был создан чат-бот, собирающий информацию о неисправностях различных видов устройств, а также записывающий клиентов на прием в сервисный центр «КомпТом». Данная диалоговая система была разработана на основе платформы Rasa Open Source, предоставляющая обширный функционал для проектирования разнообразных виртуальных помощников.
Преимущества данного способа создания чат-бота возможно раскрыть в полной мере только при сравнении с чат-ботами, созданными с использованием других технологий.
Для сравнения возьмем чат-бот, созданный на основе платформы Dialogflow Essentials и имеющий такие же функции, как чат-бот из данной работы. Сравнение будет проводиться по следующим критериям:
1. Способ создания главных компонентов чат-бота: намерений, сущностей, ответов.
2. Обучение модели чат-бота, раннее тестирование, а также анализ ошибок и аналитика.
3. Удобство пользования платформой (скачивание, настройка, наличие документации, запуск бота).
Несмотря на то, что созданные чат-боты выполняли одинаковую функцию и имели одну и ту же цель, различные способы их создания накладывают свой отпечаток на каждую из программ. Может казаться, что, если чат-бот создается в специализированном визуальном конструкторе, он априори будет проще, и возможных способов настроек будет меньше. Однако это не так. Платформа Dialogflow предлагает такие же инструменты для создания главных компонентов чат-бота - Intents (намерения), Entities (сущности), Fulfilment (выполнение) и Integrations (интеграции), как и Rasa Open Source. Кроме того, данные компоненты более логично структурированы - они входят в один блок, и их достаточно для создания чат-бота. В Rasa данные компоненты разделены по разным файлам, причем неочевидным образом, и необходимо обращение к документации. Сама технология создания интентов не отличается в зависимости от платформы, однако способ выделения сущностей разный. В случае Rasa имеется возможность выделить сущность внутри примера высказывания, в то время как в Dialogflow необходимо создавать отдельную категорию для каждого вида сущности, где разработчик предоставляет все возможные варианты слов, отображающих сущность.
Кроме того, различается и способ разметки шаблонов диалогов - того, как чат-бот должен вести разговор. Rasa предоставляет возможность более тонкой настройки - изменение хода диалога в зависимости от данных, предоставленных пользователем в предложении. Более того, Rasa поддерживает такую функцию, как заполнение формы . Dialogflow, наоборот, имеет малый уровень вариативности в настройке шаблонов разговоров, который реализуется путем прописывания определенного ответа под каждым интентом.
Что касается обучения модели чат-бота, то Rasa также предоставляет гораздо больше возможностей. Разработчик может самостоятельно выбрать конвейер (pipeline), которая впоследствии будет распознавать сообщения пользователей, причем это может быть как предварительно обученная модель слов из библиотек spaCy или TensorFlow, так и пользовательская модель, созданная и обученная разработчиком самостоятельно. Dialgflow не дает возможности разработчику выбирать модель обучения чат-бота, используя свою внутреннюю неизменяемую модель. Однако другие инструменты, такие как раннее тестирование, пост¬анализ диалогов, переобучение чат-бота на основании уже полученных диалогов с живыми людьми - это реализовано одинаково на обеих платформах.
Удобство использования - достаточно субъективный критерий для сравнения. Dialogflow как визуальный конструктор интуитивно понятный, найти различные компоненты и их настроить несложно. Однако платформа не может похвастаться наличием подробной и обширной документации, вследствие чего некоторые аспекты создания чат-ботов приходится осваивать самостоятельно. Rasa, в свою очередь, менее интуитивно понятная платформа, однако это компенсируется огромным количеством документации, обучающего материала и роликов, а также наличием активно действующего форума, куда можно обратиться с любым вопросом.
Кроме того, следует отметить совершенно различные способы запуска готового чат-бота. Платформа Dialogflow предлагает собственный веб-сервер для развертывания бота. Преимуществом является удобство интеграции - нет необходимости запускать и поддерживать пользовательский сервер на компьютере, однако недостатком является ограничение на количество запросов бота. Если диалоговая система выполняет запросов больше, чем предлагается на бесплатной версии, то необходим ежемесячный платеж за использование серверов Google. В случае Rasa пользовательский сервер разворачивается на компьютере, и ограничений по количеству обращений и запросов нет.
В заключение хотелось бы отметить, что тестовая версия чат-бота, созданного на платформе Rasa, удовлетворила заказчиков больше, чем созданная на Dialogflow.
1. Business insider. Приложения для обмена сообщениями теперь больше,
чем социальные сети. [Электронный ресурс]. URL:
http ://www.businessinsider.com/the-messaging-app-report-2015-11 ?IR=T (дата обращения: 14.04.2022).
2. Colby, K. M. Turing-like in distinguishability tests for the validation of a computer simulation of paranoid processes // Colby, K. M., Hilf, F. D., Weber, S., and Kraemer, H. C. Artificial Intelligence, 3, 1972. - P. 199-221
3. Guzeldere G., Franchi S. Dialogues with colorful personalities of early AI. Stanford Humanities Review, SEHR, volume 4, issue 2: Constructions of the Mind.
4. Jurafsky D. Speech and Language Processing [Electronic source] / Jurafsky D., Martin J. H. - 2019. - URL: https://web.stanford.edu/~jurafsky/slp3/ (access date: 30.04.2022).
5. Khan R. Standardized Architecture for Conversational Agents a.k.a. ChatBots. // International Journal of Computer Trends and Technology. - vol. 50, №2. - 2017. - P. 114-121
6. McTear M. Conversational AI: Dialogue Systems, Conversational Agents, and Chatbots / Michael McTear. - Morgan & Claypool Publishers. - 2021. - 251 P.
7. NLP или кнопки? Покончим с этим вопросом [Электронный ресурс].
URL: https://axmor.ru/articles/nlp-ili-knopki-pokonchim-s-etim-voprosom/
(дата обращения: 21.04.2022)
8. Oracle Россия и СНГ. Что такое чат-бот? [Электронный ресурс]. URL:
https://www.oracle.com/ru/chatbots/what-is-a-chatbot (дата обращения:
11.04.2022)
9. Russian - spaCy Model Documentation [Электронный ресурс]. URL: https://spacy.io/models/ru(дата обращения: 25.04.2022)
10.Sumit Raj. Building Chatbots with Python: Using Natural Language Processing and Machine Learning / Sumit Raj. - Apress Publ. - 2019. - 212 P.
11. Weizenbaum J. ELIZA - A Computer Program for the Study of Natural Language Communication between Man and Machine. [Electronic source] / Weizenbaum J. - 1966. - URL: 59
https://web.stanford.edu/class/linguist238/p36-weizenabaum.pdf (access date: 12.04.2022).
12. Бондаренко Артем Владимирович Лингвистическая онтология от
античности до наших дней // Вестник ЧелГУ. 2009. №10. URL:
https://cyberleninka.ru/article/n/lingvisticheskaya-ontologiya-ot-antichnosti- do-nashih-dney(дата обращения: 15.05.2022).
13. Бородин А.И., Вейнберг Р.Р., Литвишко О.В. Методы обработки текста при создании чат-ботов // Хуманитарни Балкански изследвания. 2019. №3 (5). URL: https://cyberleninka.ru/article/n/metody-obrabotki-teksta-pri- sozdanii-chat-botov(дата обращения: 25.04.2022).
14. Жеребцова Ю.А., Чижик А.В. Сравнение моделей векторного представления текстов в задаче создания чат-бота // Вестник НГУ. Серия: Лингвистика и межкультурная коммуникация. 2020. №3. URL: https://cyberleninka.ru/article/n7sravnenie-modeley-vektornogo- predstavleniya-tekstov-v-zadache-sozdaniya-chat-bota 25.04.2022).
15. Иванов А.Д. Чат-бот в Telegram и ВКонтакте распространения новостей // Вестник ВУиТ.
https://cyberleninka.ru/article/n/chat-bot-v-telegram-i-vkontakte-kak-novyy- kanal-rasprostraneniya-novostey(дата обращения: 30.04.2022).
16. Константинова Н. С. Диалоги и чат-боты / Н. С. Константинова, А. В. Дегтева // Прикладная и компьютерная лингвистика. - М.: URSS, 2016. -420 с.
17. Кузнецов В. В. Перспективы развития чат-ботов//Успехи современной науки. - 2016. - № 12. - С. 16-19
18. Можно всё: решение NLP задач при помощи spacy [Электронный
ресурс]. URL: https://habr.com/ru/post/531940/ (дата обращения:
17.04.2022)
19.Обработка естественного языка (NLP) [Электронный ресурс]. URL: https://ru.snatchbot.me/natural-language-processing (дата обращения:
17.04.2022)
20. Романова Е.В., Двигубский А.В. Чат-боты как элемент управления
системой // Хроноэкономика. 2019. №7 (20). URL:
https://cyberleninka.ru/article/n/chat-boty-kak-element-upravleniya-sistemoy(дата обращения: 26.04.2022).
21. Русин М.С. Бот-помощник для мессенджера Telegram: выпускная бакалаврская работа по направлению 09.03.02 Информационные системы и технологии / Русин Михаил Сергеевич - Красноярск: Сибирский федеральный университет. - 2018. URL: http://elib.sfu- kras.ru/bitstream/handle/2311/74695/final.pdf?sequence(дата обращения: 30.04.2022)
22. Смирнов С.Ю. Примеры использования чат-ботов в бизнесе // Моя профессиональная карьера. - 2020. - №17. - С. 153-157
23. Смирнова Е. Трудно быть ботом: как сделать чат-бота с помощью DeepPavlov [Электронный ресурс]. URL: https://sysblok.ru/nlp/trudno- byt-botom-kak-sdelat-chatbota-s-pomoshhju-deeppavlov/(дата обращения: 13.04.2022)
24. Ураев Д.А. Классификация и методы создания чат-бот приложений //
International scientific review. 2019. №LXIV. URL:
https://cyberleninka.ru/article/n/klassifikatsiya-i-metody-sozdaniya-chat-bot- prilozheniy(дата обращения: 27.04.2022).
25.Чурсин Г.С. Встраиваемый чат-бот в готовые корпоративные системы: диссертация магистра прикладной математики и информатики. Томский политехнический университет, Томск, 2019. - 93 с.
26. Шовин В.А. Программа сйа1Ьо1 - чат-бот или виртуальный собеседник
// МСиМ. 2016. №4 (40). URL:
https://cyberleninka.ru/article/n/programma-shatbot-chat-bot-ili-virtualnyy- sobesednik(дата обращения: 27.04.2022).
27. Языковой барьер и NLP. Почему чат-боты нас не понимают?
[Электронный ресурс]. URL:
https://habr.com/ru/company/binarydistrict/blog/422609/(дата обращения: 30.04.2022)
28. Жеребцова, Ю. А. Проблемы обработки естественного языка в диалоговых системах / Ю. А. Жеребцова, А. В. Чижик, Э. С. Клышинский // Системный администратор. - 2019. - № 10(203). - С. 82-91.
29. Исследование методов обработки текстовой информации и обзор этапов создания модели искусственного интеллекта при создании чат- ботов / А. В. Иванова, А. А. Кузьменко, Р. А. Филиппов [и др.] // Автоматизация и моделирование в проектировании и управлении. - 2021. - № 2(12). - С. 19-23.
30. Chatbot Trends Report 2021 [Electronic Source] / BRAIN [BRN.AI] CODE FOR EQUITY. - 2021. URL: https://chatbotsjournal.com/chatbot-trends- report-2021- b15479c404e4#:~:text=Data%20shows%20that%20chatbot%20usage,to%20 nearly%20one%20in%20six. (access date: 20.06.2022)
31. Akasaki S., Kaji. N. 2017. Chat detection in an intelligent assistant: combining task-oriented and non-task-oriented spoken dialogue systems. // In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics. - vol 1. - P. 1308-1319
32. Formbot - an example which demonstrates the implementation of FormAction [Electronic Source]. URL:
https://github.com/RasaHQ/rasa_core/tree/master/examples/formbot (access date: 15.05.2022)
33.Open Source Conversational AI | Rasa [Electronic Source]. URL: https://rasa.com/ (access date: 23.02.2022)
34. Рытикова В. Разработка чат-бота помощника на языке Python для
ускорения работы техподдержки компании СКБ Контур: выпускная квалификационная работа / Рытикова Виктория Олеговна - Екатеринбург: Уральский федеральный университет имени первого Президента России Б.Н. Ельцина. - 2020. URL:
https://elar.urfu.ru/bitstream/10995/93466/1/m_th_v.o.rytikova_2020.pdf(дата обращения: 01.05.2022)
35. Аликина Ю. Имитация виртуального собеседника: выпускная
квалификационная работа по направлению 09.03.02 Информационные системы и технологии / Аликина Юлия Алексеевна - Красноярск: Сибирский Федеральный университет. - 2019. URL: https://elib.sfu- kras.ru/bitstream/handle/2311/112181/s_titulnikami.pdf?sequence=1(дата обращения: 28.04.2022)
36. Примеры использования чат-ботов в бизнесе [Электронный ресурс]. URL: https://vc.ru/flood/25197-business-bot(дата обращения: 14.04.2022)
37. Эволюция чат-ботов [Электронный ресурс]. URL:
https://habr.com/ru/post/402013/(дата обращения: 29.03.2022)
38. Чат-боты: для чего они нужны, какие бывают, особенности
популярных мессенджеров [Электронный ресурс]. URL: https://sohabr.net/habr/post/346846/#section_2_1 (дата обращения:
03.03.2022)
39. Telegram API Bot [Электронный ресурс]. URL:
https://tlgrm.ru/docs/bots/api(дата обращения: 16.05.2022)
40. Rasa chatbot connects with your Telegram Account [Electronic Source]. URL: https://amilrubasinghe.medium.com/rasa-chatbot-connects-with-your- telegram-account-e2e61f4264d4 (access date: 16.05.2022)
41. Ngrok - Online in One Line [Electronic Source]. URL: https://ngrok.com/ (access date: 16.05.2022)
42. Rasa Community Forum [Electronic Source]. URL: https://forum.rasa.com/ (access date: 15.04.2022)
43. Useful things you need to know in RASA stack [Electronic Source]. URL: https://medium.datadriveninvestor.com/useful-things-you-need-to-know-in- rasa-stack-9fab1e13dbdc (access date: 04.04.2022)
44. YAML за 5 минут: синтаксис и основные возможности [Электронный
ресурс]. URL: https://tproger.ru/translations/yaml-za-5-minut-sintaksis-i-
osnovnye-vozmozhnosti/ (дата обращения: 08.04.2022)
45. Работа с файлами в формате YAML - Документация Python для сетевых инженеров 3.0 [Электронный ресурс]. URL: https://pyneng.readthedocs.io/ru/latest/book/17_serialization/yaml.html(дата обращения: 08.04.2022)
46. Краткий обзор NLP библиотеки SpaCy [Электронный ресурс]. URL: https://habr.com/ru/post/504680/(дата обращения: 14.03.2022)
47. Csaky R. Deep Learning Based Chatbot Models [Electronic Source] /
Richard Csaky. - 2017. URL:
https://www.researchgate.net/publication/335395532_Deep_Learning_Base d_Chatbot_Models (access date: 27.02.2022)
48. Adamopoulou, E., Moussiades, L. An Overview of Chatbot Technology. // IFIP Advances in Information and Communication Technology. - vol 584. - 2020. - PP. 373-383
49. Klopfenstein, L., Delpriori, S., Malatini, S., Bogliolo, A. The rise of bots: a survey of conversational interfaces, patterns, and paradigms // DIS '17: Proceedings of the 2017 Conference on Designing Interactive Systems. -
2017. PP.555-565
50. Molnar G., Szuts Z. The Role of Chatbots in Formal Education // 16th International Symposium on Intelligent Systems and Informatics (SISY). -
2018. - PP. 197-202
51. Xu A. et al. A new chatbot for customer service on social media // Proceedings of the 2017 CHI conference on human factors in computing systems. - 2017. - PP. 3506-3510
52. Folstad A., Nordheim C. B., Bjorkli C. A. What makes users trust a chatbot for customer service? An exploratory interview study // International conference on internet science. - Springer, Cham. - 2018. - PP. 194-208
53. Fernandes A. NLP, NLU, NLG and how Chatbots work {Electronic Source] // Anush Fernandes. - 2017. URL: https://chatbotslife.com/nlp-nlu-nlg-and- how-chatbots-work-dd7861dfc9df (access date: 10.03.2022)
54. Ahmad N. A. et al. Review of chatbots design techniques // International Journal of Computer Applications. - 2018. - Т. 181. - №. 8. - PP. 7-10
55. Nimavat K., Champaneria T. Chatbots: An overview types, architecture, tools and future possibilities // International Journal for Scientific Research & Development - 2017. - Т. 5. - №. 7. - PP. 1019-1024
56. Augello A., Gentile M., Dignum F. An overview of open-source chatbots social skills // International conference on internet science. - Springer, Cham, 2017. - PP. 236-248
57. Zumstein D., Hundertmark S. Chatbots - an interactive technology for personalized communication, transactions and services // IADIS International Journal on WWW/Internet. - 2017. - vol. 15, no. 1. - PP. 96¬109
58. Ramesh K. et al. A survey of design techniques for conversational agents // International conference on information, communication and computing technology. - Springer, Singapore, 2017. - PP. 336-350
59. Dale R. The return of the chatbots // Natural Language Engineering. - 2016.
- Т. 22. - №. 5. - PP. 811-817