Научная статья на тему 'ОБ ОСОБЕННОСТЯХ ОРГАНИЗАЦИИ ДИСТАНЦИОННОГО ТЕСТИРОВАНИЯ ОБУЧАЮЩИХСЯ С ПОМОЩЬЮ ЧАТ - БОТОВ'

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

CC BY
281
76
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЧАТ-БОТ / ЯЗЫК ПРОГРАММИРОВАНИЯ PYTHON / ТЕСТИРОВАНИЕ / СОЦИАЛЬНЫЕ СЕТИ / МЕССЕНДЖЕРЫ / ВКОНТАКТЕ API

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Игонина Елена Викторовна

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

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

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

УДК 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

"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

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

ВКурсеИМЕиТ 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).

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