УДК 004.42
Информационные технологии
Игонина Елена Викторовна, кандидат физико-математических наук,
доцент кафедры математического моделирования и компьютерных технологий, Елецкий государственный университет им. И. А. Бунина,
Россия, г. Елец
ОБ ОСОБЕННОСТЯХ ОРГАНИЗАЦИИ ДИСТАНЦИОННОГО ТЕСТИРОВАНИЯ, ОБУЧАЮЩИХСЯ С ПОМОЩЬЮ ЧАТ - БОТОВ
Аннотация: Рассмотрены особенности организации дистанционного тестирования обучающихся на основе использования чат-ботов социальных сетей. Приведено поэтапное описание создания чат-бота ВКонтакте с помощью языка программирования Python, подробно рассмотрен механизм его работы по проведению и оценки результатов тестирования обучающихся.
Ключевые слова: чат-бот, язык программирования Python, тестирование, социальные сети, мессенджеры, ВКонтакте API.
Abstract: ^e features of the organization of remote testing of students based on the use of social network chat-bots are considered. A step-by-step description of Creating a Vkontakte chat-bot using the Python programming language is given, and the mechanism of its operation for conducting and evaluating the results of testing students is considered in detail.
Keywords: chat-bot, Python programming language, testing, social networks, messengers, Vkontakte API.
Вынужденный переход всех образовательных структур к дистанционной форме обучения выявил ряд проблем в системе российского образования, а именно: неподготовленность большинства педагогов к удалённой работе, проблемы технического характера, возникшие как на стороне образовательных
учреждений, так и на стороне обучающихся, и что самое главное - отсутствие единой технологической платформы онлайн образования [3]. Это привело к неразберихе, связанной с выбором наиболее простых, удобных и эффективных программных средств, способных организовать и реализовать дистанционный формат обучения.
По мнению автора, комфортными эффективным программным средством онлайн-образования можно считать сервис, который:
1) способен в удобном формате хранить и предоставлять всю необходимую информацию по каждому конкретному предмету;
2) имеет возможность систематизировать результаты обучения, т.е. производить тестирование и обрабатывать его результаты в простой и наглядной форме;
3) погружает обучающихся в более привычную (именно для них) среду.
Последний пункт особенно важен, т. к. онлайн-формат обучения уже
знаком современным обучающимся. Школьники и студенты проводят большое количество времени в Интернете, социальных сетях и мессенджерах, которые вполне могут стать комфортной средой, как для обучения, так и для организации и проведения контроля знаний с помощью дистанционного тестирования [4].
В настоящее время крупные компании (например, Сбербанк [6]) активно используют чат-боты в социальных сетях и мессенджерах для взаимодействия и обслуживания клиентов. Поэтому актуальным в настоящее время является вопрос об использовании информационных ботов и в образовательном процессе.
Чат-бот в социальной сети (мессенджере) - это некоторая программа, которая использует для взаимодействия с пользователем специально созданный аккаунт в той или иной соцсети или мессенджере. Чат-боты бывают двух видов [1]:
1. Примитивные, имеющие заранее заданный жёсткий набор правил реагирования на действия пользователя.
2. Продвинутые, обладающие искусственным интеллектом.
Даже примитивные чат-боты могут значительно повлиять на процесс обучения: преподаватели и обучающиеся могут использовать боты для получения уведомлений, менеджмента методических материалов, в новостных и информационных целях, и, что более важно, автоматизации проведения и оценки результатов тестирования [5].
Программные чат-боты имеют ряд существенных преимуществ. Их создание с технической точки зрения гораздо быстрее и проще, чем создание сайта или мобильного приложения, что также является и экономически выгодным. Боты легко внедрять, настраивать и использовать, они не потребляют ресурсы устройств пользователей (лишь интернет-трафик и то довольно в малом объеме, по сравнению с веб-сайтами) и их легче распространять. Однако главным фактором успешного использования чат-ботов является повсеместное распространение социальных сетей и мессенджеров [1]. Указанные продукты имеются на смартфонах практически любого современного человека, как и подключение к Сети интернет. В качестве площадки для создания бота дистанционного тестирования студентов института математики, естествознания и техники ЕГУ им. И.А. Бунина автором и студентом группы ИиВТу-32 Мельниковым Максимом была выбрана социальная сеть ВКонтакте.
ВКонтакте - это самая популярная в России платформа подобного рода и, например, в отличие от того же WhatsApp, API сервиса для разработки ботов предоставляется бесплатно. API - это прослойка между средой и разработчиком, которая даёт набор готовых функций для взаимодействия с этой самой средой.
Приведем подробное описание создания чат-бота. Первоначально необходимо создать страницу сообщества, через которую будет происходить взаимодействие пользователей с программным ботом. На вкладке «Управления сообществом», в разделе «Работа с API» необходимо создать ключ (токен, a^ess token). Это сгенерированная строка, которая передаётся на сервер вместе
со всеми запросами. Ключ позволяет взаимодействовать с API ВКонтакте от имени сообщества и определить соответствующий набор прав доступа (привилегий). В нашем случае достаточно иметь следующие права: управление сообществом, сообщения сообщества, фотографии, документы (рисунок 1). Затем в разделе «Сообщения - Настройки», для того чтобы созданная страница могла взаимодействовать с ботом, необходимо включить опцию «Возможности ботов».
Ключи доступа 1 CallbackAPI LongPollAPI «"Тул ВКурсеИМЕиТ X23F нернуться к странице
ае42 +****+++ 87Ы Показать Права доступа: управление сообществом, сообщения сообщества, фотографии, документы, истории, стена Настройки Разделы
Создан М. Мельниковым, 1 апр в 17:54 Удалить ключ Комментарии VK Donut Beta
Ссылки
Адреса
Меню
Работа с API
Истории
Участники
Рисунок 1. Создание access token сообщества ВКонтакте
ВКонтакте предоставляет два возможных инструмента для реализации взаимодействия чат-ботов с API ВКонтакте: LongPollAPI и CallbackAPI. Для бота дистанционного тестирования был выбран LongPollAPI. LongPolling является технологией, позволяющей получать информацию о событиях с помощью «длинных запросов». Сервер получает запрос, но отправляет ответ только тогда, когда произойдет какое-либо событие (например, поступление входящего сообщения). Чтобы задействовать выбранный инструмент в разделе «LongPoll API - Настройки» выбираем пункт «Включено». Во вкладке «События» отмечаем те события, на которые будет реагировать бот (рисунок 2).
Ключи доступа 1 Callback API Long Poll API
Настройки Типысобытий
Сообщения: Q Вводящее сообщение
Q Исходящее сообщение Q Редактирование сообщения Q Действие с сообщением
Разрешение на получение
Запрет на получение Q Статус набора текста
Рисунок 2. События, обрабатываемые LongPoll API
Программная часть бота реализована с помощью языка программирования Python3 и специальной библиотеки, предназначенной для работы с API ВКонтакте-vk_api [2]. Список вопросов, которые будут предложены студентам в качестве теста, хранится в json-файле со следующей структурой: значением ключа «question» является сам вопрос, ключу «answers» соответствует список ответов, а «correct_answer» содержит правильный ответ (рисунок 3).
Сначала необходимо создать сессию для работы бота с помощью сгенерированного ранее ключа и подключиться к API ВКонтакте с помощью BotLongPoll API. Затем организуется основной цикл приложения.
FH questicrs sor ¿3
3
4
5
6 1
"q'jes-ion" : "Какке кз прьсвегеннык стилей программирования поггержквает язык Python?", "ап5тгегз" : [ "Пролелурныъ:" , " : ^г-.рктн" мр^^^^уп- на н нт-тх-"" , "Функциональный", "Смешанный"] "correct_an3wer":["Смешанный"]
а й
э 10 11 12 13
"question":"Каккн способом можно объявлять переменные Е Py-jion", "dnswera" ["а=5", "a=in^{5)", "in^ а=5"], "соггес-_апаглгег" : [ "а = 1пл {5) " ]
14 А
15
16 17 la
1Э
"question":"Какая функция отвечает за еывог на экран?", "answers": ["cout«a", "out (a)", "prin- (а)"] , "correct_an3wer":["prin^{а)"]
20 А
21 22
23
24
"question":"Какая функция отвечает за открытке файла?", "answers" :[" file {)" , "openO", "open file {)"] , "саггес-_апзтег":["open{)"]
Рисунок 3. Структура json-файла с тестами
Общий механизм работы чат-бота следующий.
1. Бот ожидает событие на сервере ВКонтакте.
2. Сервер передаёт новое событие боту, если это событие «Новое сообщение» типа «Текст», то бот приступает к его обработке, другие же события игнорируются.
3. Если сообщение пользователя - это команда «тест», то для него стартует тестирование. В противном случае бот сообщает пользователю, что команда некорректна.
4. Для пользователя, начавшего тестирование, в специальном словаре создаётся ключ ^roid ВКонтакте. Его значением является ещё один словарь, в который записывается текущий вопрос, количество набранных баллов, список вопросов, на которые данный пользователь уже ответил, и другая необходимая информация.
5. Вопрос формирует специальная функция, которая:
• выбирает случайным образом один вопрос из json-файла;
• если пользователь не отвечал на этот вопрос ранее, то создается inline-клавиатура, кнопки которой соответствуют вариантам ответов на поставленный вопрос. Варианты ответов же изначально перемешиваются и располагаются на клавиатуре случайным образом (рисунок 4);
• если пользователь уже отвечал на это вопрос, случайным образом выбирается другой вопрос из файла.
Рисунок 4. Виртуальная клавиатура бота с вариантами ответов
6. Пользователь нажимает на кнопку, соответствующую, по его мнению, правильному ответу. Этот вариант и отправляется боту.
7. Происходит проверка ответа: если обучающийся ответил верно, то счётчик баллов увеличивается. Если вопросы в файле не закончились, то выбирается следующий вопрос (рисунок 5).
Макс 10:40 Гтест
ВКурсеИМЕиТ 0:40
Что делает команда import
А Макс 10:41
импортирует файл модуля
Ф
ВКурсеИМЕиТ 10:41
Какие из приведенных стилей программирования поддерживает язык Python?
Напишите сообщение- Ш) © О
Смешанный Процедурный
Функциональный | | Обгэектт-ю-ориентирован н.„
Рисунок 5. Ход тестирования
8. Если пользователь ответил на все вопросы, то рассчитывается его оценка, и результат теста отправляется обучающемуся и дублируется в личное сообщение преподавателю (рисунок 6).
ВКурсеИМЕиТ 10:42
Какая функция отвечает за вывод на экран?
Макс 10:42 -_дд-- print (а)
ВКурсеИМЕиТ 10:42
Каким способом можно объявлять переменные в Python
£ Макс a-inrtC 5)
ВКурсеИМЕиТ 10:42
Какая функция отвечает за открытие файла?
Л Макс 10:42 —open 0
ВКурсеИМЕиТ 10:42
Тест окончен, vk.com/id114954319 Завершил тест: 2020-09-1 5 10:42:57.874864, Оценка: 4
Напишите сообщение...
О © ^
Рисунок 6. Получение результат тестирования
Таким образом, с помощью чат-ботов возможно проводить дистанционное тестирование в простой, удобной и доступной форме как для обучающихся, так и для преподавателей. Кроме того, рассмотренный в настоящей работе бот имеет огромное пространство для дальнейшего расширения функционала. К примеру, возможность добавления тестов на выбор из нескольких дисциплин, добавления веб-интерфеса для редактирования и обновления файлов с вопросами, возможность создавать вопросы с прикреплёнными картинками, аудио и видео файлами, использование таймера, ограничивающего время тестирования и многое другое.
Библиографический список:
1. Аристова А.С., Безносюк Ю.С., Ведикер П.К., Воронович Н.Е. Использование чат-ботов в образовательном процессе // The 2th International Conferenceon Digitalizationof (DSEME-2019). - 2019. - С. 95-98.
2. Джонс Б. К., Бизли Д.М. Python. Книга рецептов.- М.: ДМК Пресс. -2019. - 648 с.
3. Мнение. Карантин показал неготовность школьного образования к работе в период кризиса [Электронный ресурс] .- URL:
https://www.osnmedia.ru/opinions/karantm-pokazal-negotovnost-shkolnogo-obrazovaniya-k-rabote-v-period-krizisa/ (Дата обращения: 16.09.2020).
4. Botsociety. 3 Ways Chatbots are Revolutionizing Your Kids' Education [Электронный ресурс]. - URL: https://botsociety.io/blog/2018/10/education-bots/ (Дата обращения: 16.09.2020).
5. Engati. ChatbotsforEducation [Электронный ресурс]. -URL:https://www.engati.com/chatbots-for-education (Дата обращения: 16.09.2020).
6. Vc.ru. Сбербанк запустил чат-бот платформу для бизнеса «Сбер Бизнесбот» [Электронный ресурс]. - URL: https://vc.ru/services/141601-sberbank-zapustil-chat-bot-platformu-dlya-biznesa-sber-biznesbot (Дата обращения: 16.09.2020).