Сервис автоматической проверки и оценки знаний учеников онлайн-школы с использованием ML-алгоритмов

Заказчик
Онлайн-школа (NDA)
Задача
Разработать сервис для автоматической проверки ответов и тестов, чтобы сократить время преподавателей на оценку знаний учеников

Проблематика

EdTech компании оптимизируют работу студентов и преподавателей, ведь объёмы информации и нагрузка растут, а время — не увеличивается. Одним из популярных решений в учебных заведениях и онлайн-школах является автоматизация проверки и оценки знаний студентов. Благодаря ей сокращается время преподавателей, затрачиваемое на проверку тестов, и появляется ресурс для более важных аспектов обучения. Кроме того, такие решения почти мгновенно выдают результат в виде оценок, поэтому студенты могут уделить больше времени темам, в которых были совершены ошибки.

Цель

Сократить время преподавателей на проверку тестов за счёт разработки и внедрения образовательного сервиса автоматической проверки знаний студентов с использованием фиксированных алгоритмов и правил для университетов и онлайн-школ.

Задачи

  1. Проектирование архитектуры решения
  2. Разработка алгоритма определения верных ответов
  3. Подготовка аналитики и отчётности в PDF для преподавателей и учеников
  4. Интеграция с существующими образовательными платформами и системами

Решение

Образовательные системы, как правило, обладают высокой нагруженностью и со временем масштабируются из-за увеличения количества студентов и информационных данных. Поэтому для создания сервиса мы выбрали гибкий стэк backend’а, который со временем позволит без труда расширить возможности платформы — Python, REST API, и Redis для очередей.

«Благодаря накопленным экспертизе и опыту в реализации EdTech-проектов, мы создали удобный и надёжный сервис проверки, оценки знаний пользователей. Сервис отлично продуман с точки зрения администрирования, имеет удобный и простой в использовании интерфейс. Все это позволит нашему заказчику улучшить качество обучения и эффективность работы».

 

 

Евгений Околита, руководитель проекта

Форма авторизации

Сначала мы создали форму авторизации через протокол OAuth, чтобы ученики и преподаватели могли входить в сервис с помощью учётной записи своей образовательной системы.

Далее подписали сервис на вебхуки (уведомления о новых событиях) системы и настроили синхронизацию данных. Это нужно, чтобы сервис получал сведения о новых учениках или изменениях в данных и автоматически обновлял информацию у себя.

Мы реализовали интеграцию сервиса с учебным планом. Через REST API у платформы есть доступ к учебному плану, на основе которого сервис сам назначает тесты по завершению темы, а также передаёт прогресс студентов обратно в образовательную систему.

 

Обработка ответов учеников

Следующим этапом для нашей команды был процесс обработки ответов учеников. Как это происходит?!

Когда студент завершает тест, его ответ помещается в очередь для дальнейшей обработки. Этот подход позволяет системе масштабироваться без больших трудозатрат, так как обработка ответов может выполняться асинхронно.

Redis, благодаря своей гибкости, эффективно управляет очередями задач. Он позволяет добавлять и извлекать элементы из очереди, а также управлять приоритетами. Для обработки больших тестов мы настроили параллельную обработку, распределяя задачи по нескольким очередям. Это ускоряет работу системы и повышает её эффективность.

Проверка тестов

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

В зависимости от типа вопросов использовались разные алгоритмы. Для стандартных вопросов, где нужно выбрать правильный ответ, применялись простые алгоритмы сравнения: ответ студента сопоставляется с заранее заданным правильным вариантом.

Для ответов в свободной форме использовалась библиотека Natural Language Processing (NLP). Модель анализа текста определяет правильность ответа, основываясь на ключевых словах, семантике и синтаксисе, связанных с темой вопроса. Система сравнивает ответ с заданными параметрами, выявляет правильные данные и выдаёт оценку студенту.

Для проверки математических и физических задач применялась библиотека SymPy. На её основе был создан алгоритм, который распознает введённое уравнение или формулу, решает её и сравнивает полученный результат с ответом студента.

Дашборд ученика

По итогам всех заданий ученику должна выставляться общая оценка. Эту механику мы реализовали через модель машинного обучения на базе Scikit-learn: система анализирует все ответы и автоматически выставляет оценку, экономя время преподавателя.

С помощью Scikit-learn мы настроили модель так, что по итогам тестирования в облачное хранилище системы выгружается отчёт в PDF с процентом правильных ответов, статистикой по вопросам, прогностической аналитикой и другими метриками.

Модель машинного обучения анализирует успехи студента и просчитывает, какие темы могут вызвать у него трудности в дальнейшем. Таким образом, можно скорректировать вектор обучения и помочь ученику улучшить результаты.

Что в итоге

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

Подобные продукты значительно облегчают образовательный процесс, поскольку преподаватели экономят время на проверке заданий и аналитике успеваемости. С их помощью они могут уделить больше внимания корректировке учебного плана или дополнительной проработке сложных тем.

Со временем алгоритмы вполне могут взять на себя обязанность составления тестов и их проверки без участия преподавателей, что поможет усовершенствовать процесс обучения.

В карточку агентства

Письмо автору кейса

Пользуйтесь реальным опытом в IT и следите за успехами потенциальных подрядчиков и конкурентов
Подпишитесь на рассылку
Читайте также
Кейсы по теме#Создание сайтов
Проекты компании Proactivity Group