Научная статья на тему 'ЧАТ-БОТ ВКОНТАКТЕ «РАСПИСАНИЕ ЗАНЯТИЙ ОМГУ»'

ЧАТ-БОТ ВКОНТАКТЕ «РАСПИСАНИЕ ЗАНЯТИЙ ОМГУ» Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
551
100
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
чат-бот / vk.com / расписание занятий / chatbot / VK.com / schedule of classes

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Т.А. Дейнеко, Д.А. Бобров

Речь в статье идёт о разработке чат-бота в социальной сети «ВКонтакте» для формирования расписания занятий ОмГУ. Чат-бот отображает пользователю расписание занятий по имени группы или имени преподавателя.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

VKONTAKTE CHATBOT ”OMSU CLASS SCHEDULE”

This article is about the development of a chatbot in the social network ”VKontakte” for the schedule of classes at OmSU. The chatbot displays the class schedule to the user by the name of the group or the name of the teacher.

Текст научной работы на тему «ЧАТ-БОТ ВКОНТАКТЕ «РАСПИСАНИЕ ЗАНЯТИЙ ОМГУ»»

Математические структуры и моделирование 2020. №3(55). С. 117-122

УДК 004.55, 004.584, 004.623, 378 DOI 10.24147/2222-8772.2020.3.117-122

ЧАТ-БОТ ВКОНТАКТЕ «РАСПИСАНИЕ ЗАНЯТИЙ ОМГУ»

Омский государственный университет им. Ф.М. Достоевского, Омск, Россия

Аннотация. Речь в статье идёт о разработке чат-бота в социальной сети «ВКонтакте» для формирования расписания занятий ОмГУ. Чат-бот отображает пользователю расписание занятий по имени группы или имени преподавателя.

Ключевые слова: чат-бот, vk.com, расписание занятий.

Введение

Чат-бот - это виртуальный собеседник в мессенджере, который может имитировать коммуникацию с пользователями на естественном языке [3]. В Омском государственном университете идёт внедрение «1С: Автоматизированное составление расписания. Университет» [1,2]. Стандартные функции продукта не позволяют автоматически публиковать расписание занятий на сайте вуза, поэтому был придуман механизм обмена данными через xml-файл. Данные из этого файла используются для работы чат-бота в сети «ВКонтакте».

Этапы работы

Разработка и запуск бота разделялись на несколько этапов:

1. Создание группы в социальной сети «ВКонтакте» и получение «Ключа доступа»

2. Проектирование архитектуры.

3. Разработка чат-бота.

4. Тестирование чат-бота.

5. Размещение бота на сервере.

Набор технологий и платформы для разработки:

• Язык программирования: Python;

Т.А. Дейнеко

к.т.н., доцент, e-mail: DeinekoTA@omsu.ru Д.А. Бобров

студент, e-mail: bobrov1437@gmail.com

• Парсинг данных: библиотека BeautifulSoup 4;

• Сервис контроля версий: Github;

• Хранение данных: СУБД PostgreSQL;

• Хостинг чат-бота: Heroku.

На первом этапе была создана «Группа» в социальной сети «ВКонтакте» и «Ключ доступа», который позволил взаимодействовать с функционалом социальной сети через код программы.

На втором этапе спроектирована архитектура чат-бота. Использовались возможности Python. Приложение обрабатывает события пользователей при помощи технологии LongPoll от API «ВКонтакте», анализирует полученные данные и отправляет ответ пользователю [4].

Далее был разработан чат-бот, проведено тестирование возможностей функционала, найдены и исправлены ошибки.

В итоге чат-бот размещён на хостинг-сервисе Heroku [5], создана база данных в СУБД PostgreSQL.

Хранение данных

Для реализации данного чат-бота потребовалось создать базу данных, чтобы хранить userlD пользователя, имя группы и имя преподавателя, которые вводит пользователь. Также необходимо хранить результат извлечённых данных из XML-документа, то есть расписание занятий для студентов.

Для хранения данных используется реляционная система хранения базы данных PostgreSQL.

Для хранения данных пользователей (userlD, имя группы и имя преподавателя) и данных о расписании занятий (название дисциплины, время, имя аудитории, имя группы, имя преподавателя) были созданы таблицы: users, schedule, timewindow, teachers, rooms.

Структурная схема базы данных показана на рисунке ниже (см. рис. 1).

Обработка запросов пользователя

Взаимодействие бота с пользователем происходит путём обмена сообщениями. Для корректной обработки данных необходимо убедиться, что нам пришли корректные данные от серверов «ВКонтакте».

Прослушивание сервера осуществляется при помощи технологии LongPoll.

Когда сервер принимает новое сообщения от пользователя, чат-боту необходимо провести обработку сообщения: найти пользователя в базе данных, проверить, является ли сообщение пользователя командой, номером группы или именем преподавателя. После обработки сообщения пользователя вызываются функции вывода пользователю расписания занятий на соответствующий день недели или регистрация нового пользователя в базе данных.

schedule

discipline CHARACTER VARYING(150)

teacherindex INTEGER /

Piimid INTEGER /

narnegroup CHARACTER VARYING(20J

indextime INTEGER /

users

userid INTEGER

narnegroup CHARACTER VARYING(20)

nanneteacher CHARACTER VARYING(35)

teachers

teacherld INTEGER

narneteacher CHARACTER VARYING(25)

roorriid INTEGER

ihortnarne CHARACTER VARYING(15)

time window

indextime INTEGER

datetimes CHARACTER VARYING(11)

datefrorn CHARACTER VARYING(6)

dateto CHARACTER VARYING{6)

Рис. 1. Схема базы данных

Для обработки сообщения пользователя был создан класс VkBot. Класс имеет следующие функции:

• registrationUser(self, message) — добавляет имя группы и имя преподавателя пользователя в базу данных;

• checkUser(self) — проверяет, зарегистрирован пользователь в базе данных или нет;

• newMessage(self, message) — обработка новых сообщений пользователей, последующая обработка их и отправка ответов пользователю;

getSchedule(self, name, mode) — метод возвращает расписание занятий пользователю. Параметр name может содержать имя группы или имя преподавателя. Параметр mode может включать три варианта: «Today», «NextDay», «Week».

Чтобы начать взаимодействие с чат-ботом, пользователю необходимо пройти регистрацию в базе данных. Сделать это можно путем отправки сообщения чат-боту с именем группы или именем преподавателя. После этого чат-бот будет искать полученный запрос в базе данных, в таблице schedule в поле group (для поиска имени группы) или в таблице teachers в поле shortname (если запрос является именем преподавателя). После этого бот добавляет пользователя в таблицу users и пользователю становятся доступны команды для вывода расписания занятий: «на сегодня», «на завтра», «на неделю». На рисунке ниже (см. рис. 2) показан алгоритм регистрации пользователя.

Рис. 2. Алгоритм регистрации пользователя

Демонстрация работы

Ответы чат-бота имеют свой шаблон, например, расписание на один день (сегодня/завтра) или неделю.

Примеры ответов чат-бота приведены ниже (см. рис. 3 и рис. 4).

©Расписание занятий ОмГУ 15:50

Среда 9Ё 13.05.2020

09:45-11:20

^Образовательные технологии в социальной работе Прак а кожей с к § в 2-403

©11:30-13505

^Социальная психодиагностика ИПракт

Ашурлакован.а.

Л в 2-217

13:45-15:20 ^Социальная психодиагностика Прак хшурлакован.а. § в 2-217

Рис. 3. Структура расписания занятий на день на десктопной версии «ВКонтакте»

Расписание занятий ОмГУ -

Рис. 4. Структура расписания занятий на день в мобильной версии «ВКонтакте»

Заключение

В предстоящем учебном семестре планируется запустить полученный чат-бот в опытную эксплуатацию в Омском государственном университете им. Ф.М. Достоевского.

Литература

1. Дейнеко Т.А. Переход к автоматизированному составлению расписания учебного процесса в ОмГУ // Математическое и компьютерное моделирование, сборник материалов VI Международной научной конференции, посвященной памяти Б.А. Рогозина. Омск, 2018. С. 170-171.

2. Дейнеко Т.А., Епанчинцева О.Л. Особенности перехода от ручного к автоматизированному составлению расписания в ОмГУ // Омские научные чтения. 2019. Материалы Третьей Всероссийской научной конференции. Омск, 2019. С. 932-934.

3. Что такое чат-бот // The StartUp. URL: https://medium.com/swlh/ what-is-a-chatbot-and-how-to-use-it-for-your-business-97 6ec2e0a99f (дата обращения 02.05.2020).

4. User Long Poll API // ВКонтакте. URL: https://vk.com/dev/using_ longpoll (дата обращения 03.05.2020).

5. Kaffeine. URL: https://kaffeine.herokuapp.com/ (дата обращения 01.05.2020).

VKONTAKTE CHATBOT "OMSU CLASS SCHEDULE"

T.A. Deineko

Ph.D.(Eng.), Associate Professor, e-mail: DeinekoTA@omsu.ru

D.A. Bobrov

student, e-mail: bobrov1437@gmail.com

Dostoevsky Omsk State University, Omsk, Russia

Abstract. This article is about the development of a chatbot in the social network "VKontakte" for the schedule of classes at OmSU. The chatbot displays the class schedule to the user by the name of the group or the name of the teacher.

Keywords: chat-bot, VK.com, schedule of classes.

References

1. Deineko T.A. Perekhod k avtomatizirovannomu sostavleniyu raspisaniya uchebnogo protsessa v OmGU. Matematicheskoe i komp'yuternoe modelirovanie, sbornik materi-alov VI Mezhdunarodnoi nauchnoi konferentsii, posvyashchennoi pamyati B.A. Rogoz-ina, Omsk, 2018, pp. 170-171. (in Russian)

2. Deineko T.A. and Epanchintseva O.L. Osobennosti perekhoda ot ruchnogo k avtomatizirovannomu sostavleniyu raspisaniya v OmGU. Omskie nauchnye chteniya, 2019, Materialy Tret'ei Vserossiiskoi nauchnoi konferentsii, Omsk, 2019, pp. 932-934. (in Russian)

3. Chto takoe chat-bot. The StartUp. URL: https://medium.com/swlh/ what-is-a-chatbot-and-how-to-use-it-for-your-business-97 6ec2e0a99f.

4. User Long Poll API. VKontakte. URL: https://vk.com/dev/using_longpoll (data obrashcheniya 03.05.2020). (in Russian)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

5. Kaffeine. URL: https://kaffeine.herokuapp.com/ (data obrashcheniya 01.05.2020).

Дата поступления в редакцию: 04.08.2020

i Надоели баннеры? Вы всегда можете отключить рекламу.