АННОТАЦИЯ 3
Перечень условных обозначений 3
Введение 4
1 Теоретический базис создания диалоговых систем 7
1.1 Подходы к определению чат-ботов 7
1.2 Классификация чат-ботов 8
1.3 Способы создания чат-ботов 12
1.4 Архитектура и основные составляющие чат-ботов 14
Выводы по первой главе 16 2 Этапы разработки русскоязычного чат-бота для сопровождения абитуриентской кампании
ТГУ 17
2.1 Анализ существующих диалоговых систем для информационного сопровождения
абитуриентов 17
2.2 Определение задач и функционала чат-бота 22
2.2.1 Составление схемы работы чат-бота 23
2.3 Составление сценария диалога чат-бота 24
2.4 Этапы создания базы данных 28
2.4.1 Составление модели данных 29
2.4.2 Создание базы данных 33
2.4.2 Заполнение базы данных 34
2.5 Создание модели Word2Vec 36
2.6 Создание моделей предсказания 44
2.7 Создание чат-бота в мессенджере «Telegram» 47
Выводы по второй главе 56
Заключение 58
Список использованных источников и литературы 60
Приложение А 65
Приложение Б 67
Приложение В 68
Приложение Г 69
Приложение Д 70
Данная работа направлена на создание Q&A чат-бота для внедрения его в процесс абитуриентской кампании, а именно для информационного сопровождения абитуриентов.
Актуальность работы обусловлена активным изучением диалоговых систем и проблем, которые возникают при их разработке. Можно отметить работы Майкла Ф. Мактира, Д. А. Ураева, Г. В. Рыбину, Н. Н. Масюк, В. В. Кузнецова, С. Д. Суворова и О. М. Куликова и др. Отдельный научный интерес исследователи проявляют относительно проблемы классификации текстов. Этому посвящены работы Т. В. Батуры, А. Д. Обухова, О. Г. Шевелева и А. В. Петракова, П. Ю. Гусеева, И. А. Кузнецов и др.
В настоящее время в лингвистике широко изучаются вопросы выстраивания модели коммуникации и их систематизация, определения особенностей речевого поведения и коммуникативных стратегий и тактики: К. Бюлер, В. И. Ивченков, С. В. Киселева и А. А. Смирнова, Г. Ласуэлл, А. И. Провотар, Л. Р. Тухватулина, Е. Е. Тихомирова и Т. В. Чапля, Р. Якобсон. В коммуникативной лингвистике большая часть работ посвящена цифровой коммуникации, а именно тому, как развитие цифровой среды влияет на появление новых речевых моделей и языковых механизмов, а также специфике коммуникативных стратегий в новых цифровых реалиях (Е. А. Бердникова, Т. Ю. Виноградова, Е. И. Горошко, С. В. Киселева, И. Н. Розина).
Актуальность исследования также обусловлена возрастающей популярностью использования чат-ботов компаниями. Основной целью внедрения данной технологии является автоматизация процесса поддержки связи с клиентами, их обслуживание и консультирование. Чат-бот - это универсальный инструмент, который в современном мире используется повсеместно. Основное его преимущество - гибкость - специалисты компании могут настроить диалоговую систему для решения необходимых задач, наполнив ее определенным функционалом.
Цель работы - создать русскоязычного чат-бота для информационного сопровождения абитуриентской кампании ТГУ на базе системы мгновенного обмена сообщениями «Telegram».
Для достижения данной цели были поставлены следующие задачи:
1. Изучить теоретический материал по созданию чат-ботов.
2. Проанализировать существующие чат-боты и их функционал для информационного сопровождения абитуриентской компании других высших учебных заведений согласно актуальным запросам Абитуриент.Центра ТГУ по автоматизации диалога с абитуриентами во время абитуриентской компании.
3. Определить задачи и алгоритм работы чат-бота в соответствии с актуальными запросами Абитуриент.Центра ТГУ по автоматизации диалога с абитуриентами во время абитуриентской кампании.
4. Создать базу данных для чат-бота и заполнить ее необходимыми данными.
5. Создать MVP виртуального ассистента в мессенджере «Telegram».
Объект исследования - диалоговая система.
Предмет исследования - русскоязычный Q&A чат-бот
Методы исследования
1. Метод описания
Метод описания использовался для рассмотрения существующих классификаций диалоговых систем, способов создания чат-ботов, описания существующих решений для информационного сопровождения абитуриентов, представленных в виде виртуального собеседника.
2. Метод обработки естественного языка
Метод обработки естественного языка использовался для определения языка, токенизации, лемматизации слов, то есть предобработки данных, а также для создания векторного представления слов, отражающего их контекстную близость.
3. Методы машинного обучения
При выполнении работы используется метод градиентного бустинга, относящийся к обучению с учителем, для создания модели классификации текстов.
4. Метод коммуникативного моделирования
Метод коммуникативного моделирования использовался при разработке алгоритма работы чат-бота, на основе которого затем был составлен его сценарий диалога.
Новизна данной работы заключается в создании русскоязычного поискового Q&A чат- бота для информационного сопровождения абитуриентской кампании ТГУ.
В качестве материала использовались данные, предоставленные Абитуриент.Центром ТГУ.
Практической значимостью работы является создание первого поискового чат-бота для его внедрения в процесс абитуриентской кампании ТГУ с целью автоматизации коммуникации с абитуриентами.
Теоретическую базу составляют следующие работы в области компьютерной лингвистики, машинного обучения и информационных технологий, посвященные диалоговым системам, разработке чат-ботов (M. McTear «Conversational AI: Dialogue Systems, Conversational Agents, and Chatbots», Raj S. «Building Chatbots with Python»), векторному представлению слов, созданию модели классификации и проверки адекватности полученной модели (Силен Дэви, Мейсман Арно, Али Мохамед «Основы Data Science и Big Data. Python и наука о данных»), проектированию и построению баз данных (К. Дж. Дейт «Введение в системы баз данных»).
Структура работы обусловлена логикой поставленных задач. Исследование состоит из введения, двух глав, заключения и приложений.
Во введении представлены актуальность работы, цель исследования, необходимые задачи для ее выполнения, описаны объект и предмет исследования, используемые методы и теоретическая база, а также обозначена новизна и практическая значимость данной работы.
В первой главе проанализированы теоретические источники, даны определения ряду ключевых терминов, описаны классификации чат-ботов, приведена их базовая архитектур, а также рассмотрены различные способы их создания.
Во второй главе представлена поэтапная разработка декларативного поискового Q&A чат-бота на базе системы обмена мгновенными сообщениями Telegram.
В заключении приводятся основные итоги работы.
В приложении А приведен DDL, сгенерированный по физической модели данных.
В приложении Б продемонстрированы функции для подключения к базе данных и выполнения SQL-запросов.
В приложении В приведен код для заполнения таблиц «answer» и «question» в БД «tsu».
В приложении Г продемонстрированы регулярные выражения для отчистки текста.
В приложении приведен код для асинхронного подключения и выполнения запросов к БД.
В ходе данной работы был создан MVP русскоязычный чат-бот для информационного сопровождения абитуриентской кампании ТГУ на базе системы мгновенного обмена сообщениями «Telegram». Для его разработки были пройдены следующие этапы:
1. Анализ существующих диалоговых систем для информационного сопровождения абитуриентов. Были проанализированы чат-боты «U-me bot» и «Приёмная комиссия ИРНИТУ» в Telegram по трем параметрам: функционал, интерфейс и приближенность к реальному общению. Данный анализ позволил определить преимущества и недостатки чат-ботов, созданных для информационного сопровождения абитуриентской кампании, и задать вектор разработки созданному нами чат-боту.
2. Определение задач и требуемого функционала. Главной задачей разработанного нами чат-бота является информационное сопровождение абитуриентов ТГУ. Абитуриент.Центра ТГУ запросил наличие следующих функций: прием вопросов от абитуриентов, мгновенный ответ пользователю в зависимости от выбранной ступени обучения, при этом сохранение данных пользователя в базе данных для последующего анализа и использования в качестве тренировочных данных. Опираясь на требуемый функционал, была составлена схема работы чат-бота.
3. Составление сценария диалога и портрета чат-бота. Разработанный чат-бот призван заменять сотрудника Абитуриент.Центра ТГУ, поэтому важно, чтобы общение с диалоговой системой было приближено к человеческому. Для этого была описана личность чат-бота «Аби», составлен его графический портрет, сообщения чат-боты были составлены с учетом особенностей личности, а также являются понятными, логичными и несут эмоциональную нагрузку. Для составления сценария диалога мы описали существующие модели сценариев. В основу легла модель «Перчатка» с добавлением цикла из модели «Цикл и рост».
4. Составление физической модели данных. Работа созданного нами чат-бота строит на использовании базы данных. Первым этапом ее создания является проектирование. Из-за необходимости иметь необъемную базу данных нами была построена физическая модель базы данных, которая максимально детализирует данные, опуская концептуальное и логическое моделирование.
5. Создание и заполнение базы данных. Для создания базы данных использовалась программа «DBeaver» с использованием DDL, полученного при разработке физической модели данных в программе «Toad Data Modeler». Заполнение полученной структуры данных производилось с помощью языка Python. В итоге была получена база данных, состоящая из трех таблиц: в первой хранятся вопросы о поступлении, полученные от Абитуриент.Центра, во второй - ответы на эти вопросы, в третьей - вопросы, полученные от реальных пользователей.
6. Предобработка текстовых данных. Данный этап является важной частью любого исследования, связанного с построением языковых моделей. В рамках предобработки текста были выполнены следующие шаги: нормализация, токенизация, лемматизация, удаление стоп- слов и выделение биграмм и триграмм. Качество проведенный предобработки сильно влияет на качество языковой модели.
7. Создание векторного представления слов с использованием Word2vec. При создании модели использовались возможности библиотеки Gensim. Полученная модель использовалась для обучения модели классификации, а также для обработки поступающих вопросов от пользователей чат-боту.
8. Создание модели классификации с применением градиентного бустинга. Данный выбор обусловлен том, что метод градиентного бустинга лучше справляется с большим количеством параметров, легче интерпретируется (возможно вывести деревья решений при осмысленном параметров классификации), а также данный метод является наиболее популярным методом машинного обучения. Для обучения модели классификации мы использовали XGBoost. Данный фреймфорк с высокой скоростью строит модели с хорошей предсказывающей силой. Полученные модели классификации не отличаются высокой адекватностью предсказаний, что стало ясно при их оценке с помощью стратифицированной k-кратной перекрестной проверке.
9. Создание чат-бота в боте «BotFather» и его программной части при помощи асинхронной библиотеки Aiogram. Для того, чтобы чат-бот мог функционировать в Telegram, необходимо было создать и оформить его аккаунт с помощью команд в боте «BotFather». Дальнейшая разработка производилась на языке Python с помощью асинхронной библиотеки Aiogram. Таким образом была разработана основная логика чат-бота, отвечающая необходимой задаче и выполняющая требуемые функции.
Полученный продукт не является завершенным, он требует улучшений для дальнейшей более корректной работы. Для этого необходимо предпринимать попытки по улучшению модели классификации, использования других методов построения векторного представления слов, пополнять базу вопросов для того, чтобы примерно уровнять количество вопросов на каждый ответ и прочее.
Данный чат-бот будет передан Абитуриент.Центру для его внедрения в процессы абитуриентской кампании ТГУ и дальнейшего развития базы вопросов. На данный момент для его передачи необходимо расположить чат-бот на активном сервере, чтобы обеспечить его постоянную работу и доступ к программному коду и базе данных.
1. Michael McTear, Conversational AI Dialogue Systems, Conversational Agents, and Chatbots. // SYNTHESIS LECTURES ON HUMAN LANGUAGE TECHNOLOGIES. - Morgan & Claypool Publishers. - 2021. - 251р.
2. Chen H., A Survey on Dialogue Systems: Recent Advances and New Frontiers / H. Chen, X. Liu, D. Yin, J. Tang // Data Science and Engineering Lab, Michigan State University. - [Б. м.], 2018. - URL: https://arxiv.org/pdf/1711.01731.pdf (дата обращения: 15.03.2023).
3. Чат-бот «Виня». - [Б. м.], 2023. - URL: https://botinplace.ru/ (дата обращения: 15.03.2023).
4. Чат-бот «Kuki». - [Б. м.], 2023. - URL: https://chat.kuki.ai/ (дата обращения: 15.03.2023).
5. Чат-бот «pBot». - [Б. м.], 2023. - URL: http://p-bot.ru/ (дата обращения: 15.03.2023).
6. Jurafsky D., Speech and Language Processing / D. Jurafsky, J. H. Martin // Stanford University. - [Б. м.], 2023. - URL: https://web.stanford.edu/~jurafsky/slp3/ (дата обращения: 16.03.2023).
7. Бизнес-логика // Википедия : свободная энциклопедия. - [Б. м.], 2022 - URL: https://ru.wikipedia.org/wiki/Бизнес-логика (дата обращения: 20.03.2023)
8. Ураев Д. А. Классификация и методы создания чат-бот приложений // International scientific review. - 2019. - №LXIV. - URL: https://cyberleninka.ru/article/n/klassifikatsiya-i- metody-sozdaniya-chat-bot-prilozheniy (дата обращения: 20.03.2023).
9. Смирнов Ю. В., Чат-коммуникация в процессе библиотечного обслуживания читателей / Ю. В. Смирнов, Ю .В. Соколова // Научные и технические библиотеки. - 2021. - 1(2). - С. 81-90. - URL: https://doi.org/10.33186/1027-3689-2021-2-81-90 (дата обращения: 21.03.2023).
10. Lane H. Natural Language Processing in Action / H. Lane, C. Howard, H. M Hapke. - Manning Publications Co. 2019. - P. 367-394.
11. Подобрий А. Н., Архитектура построения базы знаний проектной организации / А.
Н. Подобрий, В. В. Тимирзянов, А. А. Перцев // Научно-технический журнал «Автоматизация процессов управления. - 2021. - URL:
https://web.archive.org/web/20220630000546id_/http://apu.npomars.com/images/pdf/66_3.pdf (дата обращения: 30.03.2023).
12. Рубашкин В. Ш. Онтологическая семантика : знания, онтологии, онтологически ориентированные методы информационного анализа текстов / В. Ш. Рубашкин. - М. : Физматлит, 2012. - 346 с.: ил.
13. Gruber, T. R. A Translation Approach to Portable Ontology Specifications. Knowledge Acquisition / T. R. Gruber. - 5, 1993. - 200 p.
14. Намиот Д. Е., ПОРОЖДАЮЩИЕ МОДЕЛИ В МАШИННОМ ОБУЧЕНИИ / Д. Е. Намиот, Е. А. Ильюшин // International Journal of Open Information Technologies. - 2022. - №7.
- URL: https://cyberleninka.ru/article/n/porozhdayuschie-modeli-v-mashinnom-obuchenii (дата обращения: 07.04.2023).
15. Chatbots with Seq2Seq. - [S. l.], 2017. - URL: https://blog.suriya.app/2016-06-28-easy- seq2seq/ (дата обращения: 10.04.2023).
..55