Анализ лингвистического материала – текстов заявок студентов сервисного центра. Материалом для создания и обучения чат-бота выступили диалоги клиентов с консультантами сервисного центра в социальной сети за период 2021-2023 годы. Общее число студентов – 36 человек. Был проведен анализ каждого из диалогов по следующим критериям: соответствие темы диалога; Количество проблем, с которыми обратился клиент; Характер проблемы (абстрактная или конкретная); Характеристика абстрактных проблем. 14 студентов вели диалог не по теме расписания, из них большинство представляют рекламные сообщения. Количество диалогов, в которых клиент отказался от общения составляет 9 или 25% от общего числа заявок.
Было выделено частые причины отказа клиента: сервисный центр не занимается контролем посещаемости; клиент не ответил консультанту, согласен ли он на изменение расписания. Если рассматривать данные причины в контексте чат-бота, а именно каким образом чат-бот будет строить диалог с такого вида отказами, то в ходе обсуждения вопроса с консультантами сервисного центра были предложены следующие варианты действий.
1. Сервисный центр не занимается контролем посещаемости. Если в списке команд не будет данных о посещаемости, то чат-бот будет отказывать в приеме заявки студента.
2. Клиент не ответил консультанту. В данном случае чат-бот прощается с клиентом и завершает диалог.
Среди 94 клиентских диалогов было выделено проблемы, с которыми они обратились. Подавляющее большинство клиентов обратилось в сервисный центр один раз (14 человека), остальные 22 студента являются постоянными и обращались 2 и более раз с различными проблемами. Так как чат-бот направлен в первую очередь на взаимодействие уникального клиента, были проанализированы структура диалогов людей, которые обратились единожды, а также первые заявки постоянных клиентов. Среди данных диалогов было выделено 20 конкретных вопросов о расписании занятий, и 74 абстрактных проблем или консультационных вопросов. Кроме того, было выявлено, что клиенты пишут о своих проблемах двумя способами: 1) Пользователь сначала спрашивает, есть ли возможность изменить расписание. 2) Пользовательсразу указывает вид проблемы.
Разработка чат-бота. Создание чат-бота невозможно описать без рассмотрения основных конфигурационных файлов бота, в которых содержится вся информация, позволяющая программе быть диалоговой системой. В Rasa Open Source структура конфигурационных файлов выглядит так (Рисунок 11):
Рисунок 11 – Структура конфигурационных файлов Rasa Open Source
Из данного перечня файлов разработчику для создания чат-бота необходимо заполнить только пять: config.yml, domain.yml, nlu.yml, stories.yml и actions.py, последний является опциональным. Рассмотрим каждый подробнее.
Файл config.yml определяет компоненты и политики, которые модель будет использовать для прогнозирования на основе пользовательского ввода. Самый главный компонент данного конфигурационного файла – ключ языка и пайплайна, или конвейера, которые используются чат-ботом для обработки сообщений пользователя. Rasa предоставляет возможность подключить как уже готовые пайплайны, так и собственную обученную модель. В данной работе в файле config.yml указан целевой язык чат-бота – русский, а также подключена языковая модель от spaCy – ru_core_news_md, включающая в себя такие компоненты, как векторизатор слов, морфологический анализатор, парсер текста, NER (распознавание именованных сущностей), лемматизатор.
Файл domain.yml определяет пространство, в котором работает диалоговая система, а именно: намерения, сущности, ответы чат-бота, слоты (память бота, существующая как хранилище информации, предоставленной пользователем), формы, которые позволяют чат-боту собирать информацию от пользователя, а также действия. В нашей работе будут использоваться все виды вышеупомянутых компонентов данного файла. Однако файл домена является обобщенным файлом, где отображены ключи данных, использованных в файлах в папке data. Основными файлами с данными являются nlu.yml и stories.yml. В первом хранятся данные обучения и состоят они из примеров высказываний пользователей, классифицированных по намерениям, внутри которых выделяются сущности. Кроме этого, в файл nlu можно добавить дополнительную информацию, такую как регулярные выражения, синонимы сущностей, таблицы поиска. Во втором файле хранятся шаблоны диалогов между пользователем и диалоговой системой, используемые для обучения модели поведения чат-бота. Файл actions.py представляет из себя настраиваемое пользовательское действие, позволяющее разработчику запустить любой код, который он хочет, например, включать свет, добавлять событие в календарь, проверять баланс на банковской карте и многое другое.
Когда Rasa Open Source вызывает пользовательское действие, он отправляет запрос на сервер действий, который может быть любым – база знаний, внешний сайт, файл с данными и прочее, и в ответ на запрос получает некоторые событие и/или ответы, возвращаемые пользователю. Например, чат-бот, который информирует о погоде, использует настраиваемое действие, чтобы обратиться ко внешнему сайту погоды и получить информацию в соответствии с местоположением пользователя.
Rasa Open Source использует язык разметки YAML («Yet Another Markup Language» – «Еще один язык разметки») как унифицированный и расширяемый способ управления всеми данными обучения модели. Данный язык похож на популярные языки разметки XML и JSON, однако использует более минималистичный синтаксис при сохранении аналогичных возможностей. YAML заточен под работу с большим объемом данных, поддерживает комментарии и строки без кавычек, а также имеет дополнительные типы данных (расширяемые типы данных, относительные якоря и маппинг типов с сохранением порядка ключей).
Для обучения модели чат-бота является правильное выделение намерений клиентов. В данном чат-боте будет создано 11 намерений: приветствие; прощание; благодарность; абстрактная проблема с устройством или вопрос консультационного характера; конкретная проблема с расписанием; проблема с контролем посещаемости, которая не входит в перечень сервисного центра; более подробное описание абстрактной проблемы или вопроса консультационного характера; вопрос о занятии; согласие на расписание; отказ от расписания; запись на изменение расписания.
Первые три интента являются обязательными атрибутами институционального общения, в рамках которого будет происходить взаимодействие клиента и сервисного центра. Остальные восемь намерений выведены согласно анализу текстов диалогов людей с консультантами центра обслуживания. Согласно алгоритму работы чат-бота, диалоговая система реализует три ветки развития диалога в зависимости от типа проблемы. Так как клиент всегда обращается с какой-либо проблемой, и выбор дальнейшей стратегии зависит только от ошибки в расписании, было решено использовать поисковый интент (retrieval intent). Это особый тип намерения, который можно разделить на более мелкие поднамерения. В данной работе это реализовано как интент «Проблема», разделенный на три подынтента: «Конкретная проблема», «Абстрактная проблема», «Проблема вне сферы деятельности». После заполнения всех необходимых файлов необходимо обучение модели. Однако, прежде чем обучать чат-бота, его необходимо проверить на наличие ошибок. Для этого существует команда «rasa data validate», которая запускается из командной строки Windows и осуществляет проверку всех файлов чат-бота. В случае наличия ошибок командная строка выдает информацию о природе ошибки, в каком файле находится ошибочные данные и советы по исправлению. В данном случае ни один из файлов чат-бота не содержит ошибок, что позволяет нам обучить модель. За это действие отвечает команда «rasa train», которая обучает модель, используя данные файлов-конфигураторов и подключая к чат-боту алгоритмы NLU. На выходе мы получаем готовый чат-бот, который сохраняется в папке models в виде архива tar.gz. В случае наличия ошибок командная строка выдает информацию о природе ошибки, в каком файле находится ошибочные данные и советы по исправлению. В данном случае ни один из файлов чат-бота не содержит ошибок, что позволяет нам обучить модель. За это действие отвечает команда «rasa train», которая обучает модель, используя данные файлов-конфигураторов и подключая к чат-боту алгоритмы NLU. На выходе мы получаем готовый чат-бот, который сохраняется в папке models в виде архива .tar.gz,
Указывание оригинального названия бота (в нашем случае – comptom1_bot).
Получение сгенерированного маркера доступа (access token). Маркер доступа позволяет идентифицировать пользователя и содержит информацию по безопасности сеанса.
Добавление точки доступа в файлы чат-бота.
Подключение чат-бота к любому внешнему сайту, мессенджеру, соцсети производится путем добавления необходимых данных в файл credentials.yml. В случае интеграции в Telegram в файле необходимо отметить следующие данные: маркер доступа, имя бота и URL-адрес Rasa-сервера, на который Telegram должен отправлять сообщения. URL-адрес позволяет отправить чат-бота во всемирную паутину, так как в данный момент он находится только на локальном сервере – на компьютере. Для этого необходимо создать безопасный туннель и установить соединение с Интернетом, что в данной работе будет проходить с использованием программы ngrok.
Открытие проекта Rasa. Чтобы чат-бот работал без сбоев, необходимо запустить не только туннель (соединение с Интернетом), но и сам проект. Это реализуется через команду «rasa run». После выполнения всех шагов чат-бот запущен и реагирует на сообщения пользователей.
Преимущества данного способа создания чат-бота возможно раскрыть в полной мере только при сравнении с чат-ботами, созданными с использованием других технологий.
Для сравнения возьмем чат-бот, созданный на основе платформы 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.
ҚОРЫТЫНДЫ
В работе выполнен обзор нескольких способов интеграции данных корпоративных информационных систем. Рассмотрены механизмы обмена данных на основе XI/PI, SOAP и Flat Files, кроме того выделены предпосылки их использования. Для реализации способа обмена данных, использующего импорт/экспорт плоских файлов (Flat Files) сформулированы требования к разрабатываемой программе. Требования универсальны и применимы для реализации всевозможных программных разработок. Предложены механизмы реализации сформулированных требований, и разработана программа по загрузке основных данных в систему SAP ERP. Результаты работы успешно апробированы в департаменте цифровизации университета.
В ходе работы над магистерской диссертацией была проанализирована литература по вопросам организации образовательного процесса, а также управления им. Анализ показал, что в организации деятельности образовательного процесса существует проблема, связанная с рациональным распределением времени обучающегося. Решением данной проблемы можно считать информационную технологию как эффективный инструментарий повышения качества организации образовательной деятельности, что является перспективным направлением в области современного образования. Анализ работы информационных систем университетов показал, что при осуществлении автоматизации учебных процессов информационные технологии не рассматривают время студента, неохваченным остался вопрос, связанный с планированием времени обучающегося. Для осуществления оптимизации были определены и проанализированы модели организации образовательного процесса, который показал основные направления, для которых информационная система является эффективным инструментом осуществления образовательной деятельности. Декомпозиция обозначенных процессов позволила информационной системе реализовать алгоритм интеграции сервисов, обеспечивающий автоматизированный подход к оптимизации времени обучающегося.
Экспериментальная апробация разработанной информационной системы доказала, что использование инновационного инструментария, представленного в виде автоматизированного решения, приводит к улучшению показателей оптимизации времени обучающегося. Таким образом, внедрение в образовательные учреждения разработанной информационной системы является эффективным и целесообразным.
В ходе данной работы был создан чат-бот, собирающий информацию о изменениях в расписании, записывающий студентов на прием в сервисный центр. Данная диалоговая система была разработана на основе платформы Rasa Open Source, предоставляющая обширный функционал для проектирования разнообразных виртуальных помощников.
Чат-бот, или диалоговая система – это программа, имитирующая общение с живым пользователем. Чат-бот является технологией мессенджеров. Резко возросла потребность в чат-ботах, которые будут облегчать взаимодействие пользователя с бизнес-компаниями (например, бронирование такси) или же с компьютером (поиск информации). В настоящее время существуют множество платформ и конструкторов для создания чат-ботов. Нами был выбрана и проанализирована платформа Rasa Open Source, которая включает в себя весь необходимый инструментарий для быстрого и качественного создания и интеграции чат-бота.
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ
Матвеева, Н. Ю. Технологии создания и применения чат-ботов / Н.Ю. Матвеева, А.В. Золотарюк // Научные записки молодых исследователей - 2018 - №1. - С. 28-30.
Халимова, Э. Р. Чат-бот мессенджера Telegram («Medicine-Bot») / Э. Р. Халимова, И. Ю. Карякин, Л. Н. Ба-кановская, О. С. Вунш. - Программа для ЭВМ. Свидетельство RU2018663280.
Language Processing and Python. электронный. - URL: http://www.nltk.org/book/ch01.html (Дата обращения: 10.01.2022).
Степанов Д.Ю. Перспективные направления развития корпоративных информационных систем на примере программных решений компании SAP. // Аспирант и соискатель. - 2013. - т.66, №6. – c.168-172.
Matveeva, N. Yu. Technologies of Creating and Using Chat Bots / N. Yu. Matveeva, A. V. Zolotaryuk // Scientific Notes of Young Scientists. - 2018 - p. 28-30.
Лодон Дж., Лодон К. Управление информационными системами. / Пер. с англ. под ред. Трутнева Д.Р. - СПб.: Питер. 2005.
Кусов А.А. Проблемы интеграции корпоративных информационных систем. // Управление экономическими системами: электронный научный журнал. – 2011. - т. 28, №4.
Официальный сайт поддержки SAP. http://help.sap.com/ Официальный сайт SOAP. http://www.w3.org/TR/soap/
Власова, Н. В. Мессенджеры как обучающая среда : статья для конкурса «Большая перемен@» / Н. В. Власова // Яндекс Дзен. — [сайт]. — 2019. — URL: https://zen.yandex.ru/media/ digitalteacher/messendjery-kak-obuchaiuscaia-sreda-5d09078dee9efa00afeeba19 (дата обращения: 21.06.2021).
Рейтинг мессенджеров 2020 // Coba. — [сайт]. — 2020. — URL: https://coba.tools/ compilation/reiting-messendzherov-2018 (дата обращения: 21.06.2021).
Закорюкин В.Б. Надежность, эргономика и качество АСОИУ. - М.: МИРЭА. 2016.
Аджиев, A.C. Интеграция и загрузка структурированных данных в ИС на основе платформы ИСИР / A.C. Аджиев // Информационное обеспечение науки. Новые технологии: сборник научных трудов. - М., 2015. - С. 199-224.
Бочков, И. Стандарты и технологии системного взаимодействия /И. Бочков// Открытые системы. - 2002. - № 11. - С. 49-52.
Бубарева O.A., Ануфриева Н.Ю., Попов Ф.А. программа: АРМ «Расчет себестоимости образовательной услуги». Роспатент. Свидетельство: №2011612224 от 17.03.2021.
Бубарева, O.A. Информационная система управления финансами вуза / O.A. Бубарева, Ф.А. Попов, Н.Ю. Ануфриева, A.A. Тютякин // Фундаментальные науки и образование: материалы I Международной научно-практической конференции. - Бийск: ФГБОУ ВПО «АГАО», 2012. -С. 176-179.
Вагин, В.Н. Разработка метода интеграции информационных систем на основе метамоделирования и онтологии предметной области / В.Н. Вагин, И.С. Михайлов // Программные продукты и системы. - 2008. - С. 22-26.
Веселов В., Долженков А. XML и технологии баз данных. URL: http://www.osp.ru/os/2001/02/ (дата обращения: 22.06.2011).
Гаврилова, Т.А. Ohtojiui ический подход к управлению знаниями при разработке корпоративных информационных систем / Т.А. Гаврилова // Новости искусственного интеллекта. - 2013. - № 1 (55). - С. 24-30.
Гаврилова, Т.А. Базы знаний интеллектуальных систем / Т.А. Гаврилова, В.Ф. Хорошевский //.- СПб.: Питер, 2012. - 382 с.
Гринев, М. Особенности СУБД Sedna. XML-СУБД Sedna: технические особенности и варианты использования / М. Гринев, С. Кузнецов, А. Фомичев // Открытые системы. - 2004. - № 8.
Журавлев, В.М. Автоматизированная информационная система «Учебное планирование» / В.М. Журавлев, A.M. Даничев, H.A. Шубина // Бюллетень "CAD/CAM/CAE/CALS". 2(5). - Красноярск: КГТУ, 2014. - С. 10-32.
Игнатова, И.Г. Корпоративные электронные информационные среды поддержки научно-образовательной деятельности на основе процессно-ролевого подхода: автореф. докторской дис. - М.:-2015.
Исследование применения онтологических моделей для семантического поиска / А. И. Бажанова, Т.В. Мартыненко // Материалы II научно-практической конференции студентов, аспирантов и молодых ученых. - Донецк: ДонНТУ, 2011. - С. 244-248.
Карпенко, А. П. Методы отображения онтологий. Обзор / А.П. Карпенко, P.C. Сухарь // Наука и образование. - 2019. [Электронный ресурс]. URL: http://technomag.edu.ni/doc/l 15931.html (дата обращения: 20.08.2011).
Клещев, A.C. Классификация свойств онтологий. Онтологии и их классификации / A.C. Клещев, Е.А. Шалфеева // Препринт. - Владивосток: ИАПУ ДВО РАН, 2015. - 19 с.
Крюков, В.В. Разработка информационной среды на базе комплексного подхода / В.В. Крюков, К.И. Шахгельдян // Труды всероссийской научно-методической конференции «Телематика». - СПб.: Из-во СПбГУ ИТМО, 2017.
Курмышев, Н.В. Построение портала ВУЗа на платформе WebSphere Portal. Концепция и опыт внедрения в Новгородском государственном университете / Н.В. Курмышев и др. // Тр. Всероссийской научно-методической конференции «Телематика». - СПб., 2005. URL: http://tm.ifmo.ru/tm2005/src/252c.pdf (дата обращения: 01.07.2011).
Ландэ, Д.В. Основы интеграции информационных потоков: монография / Д.В. Ландэ //. -Киев: Инжиниринг, 2006. - 240 с.
Михайлов И.С. Математическое и программное обеспечение структурной и семантической интероперабельности информаодонных систем на основе метамоделей: дис. кан. тех. наук. МЭИ, Москва, 2008.
Никоненко, A.A. Обзор баз знаний онтологического типа / A.A. Никоненко // Искусственный интеллект. - 2002. - № 4. - С. 157-163.
Обзор инструментов инженерии онтологий / О.М. Овдей, Г.Ю. Проскудина // Журнал ЭБ. - 2014. - № 4.
Скворцов, Н. А. Использование онтологии верхнего уровня для отображения информационных моделей. RCDL'2008 / H.A. Скворцов // . -Дубна: ОИЯИ, 2018 - С. 122-127.
Скурихин, А. Генетические алгоритмы / А. Скурихин // Новости искусственного интеллекта. - 1995. - № 4. - С. 6-17.
Старых, В.А. Кросс-платформенные Web-решения интеграции информационных ресурсов и данных в организации взаимодействия гетерогенных информационных систем / В.А. Старых, С.Б. Дунаев // Телематика: труды Всероссийской научно-методической конференции. -СПб.: Из-во СПбГУ ИТМО, 2015.
Трэвис, Б. XML и SOAP: программирование для серверов BizTalk. Новейшие технологии: пер.с англ. / Б. Трэвис. - М.: Издательско-торговый дом «Русская редакция», 2011. - 496 с.
Филиппов, В. Электронные хранилища информации и Web-технологии / В. Филиппов. - М.: УРСС, 2011. - 500 с.
Хабибуллин, И.Ш. Самоучитель XML / И.Ш. Хабибулин. - СПб.: БХВ-Петербург, 2013. - 289 с.
Достарыңызбен бөлісу: |