ИИ поможет пройти онлайн-курс: разработка BI-системы для оценки вовлеченности

Рассказываем, как команда выпускников курсов 1Т Дата разработала систему на основе искусственного интеллекта для оценки вовлеченности учащихся.

Летом 2024 года в 1Т стартовал новый поток курсов по искусственному интеллекту. После окончания курсов 197 выпускников продолжили обучение на производственной практике. Шесть команд работали над реализацией практических ИИ-проектов — создавали сервисы для формирования команд, управления беспилотниками, для тестирования торговых стратегий и подбора вакансий. Практика продолжалась три месяца, а в конце года команды презентовали результат работы на встрече выпускников 1Т и участников Союз.рф.
Задача — оценить вовлеченность учащихся
Говорит Карина Шушунова, ментор СОЮЗ.РФ и преподаватель интернет-маркетинга в 1Т:

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

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

Нам хотелось получить инструмент, который бы показывал точки риска — этот студент учится хорошо, проблем нет, а вот здесь нужно быть внимательнее. Новая система, в идеале, должна рассчитывать вероятности разных исходов: успешного завершения курса или того, что студент скоро бросит учиться. Важно знать это заранее, чтобы вовремя определять тех, кто в «группе риска». Тогда мы сможем действовать на упреждение — не ждать, когда студент обратится к нам сам, а первыми предлагать свою помощь тем, кому стало сложно учиться. Чем раньше мы это сделаем, тем проще будет подобрать какие-то варианты, скорректировать план обучения, найти индивидуальный подход.
ИИ-продукт за три месяца с командой выпускников курсов
В сентябре работать над проектом начала команда EduTech: выпускники-аналитики, менеджеры, дата сайентисты и разработчики — всего около 15 человек. Все они совмещали разработку проекта с работой или учебой, а для некоторых и сам формат удаленной работы был в новинку. Уточнилось и ТЗ — новый продукт должен был не только показывать вероятность завершения обучения, но и классифицировать студентов, разделяя их на когорты — по каким параметрам, тоже нужно было разобраться команде.
Гипотезы и метрики
Рассказывает Татьяна Глухова, аналитик:

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

Прежде чем запросить данные об обучаемых от заказчика, то есть от 1Т, нам нужно было понять, какие это будут данные. А для этого нужны гипотезы о факторах, влияющих на отток или потерю студентов, и список метрик, которые могли бы их подтвердить или опровергнуть.

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

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

Основание: недостижение промежуточных дедлайнов может указывать на проблемы с дисциплиной или трудности с усвоением материала.

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

В это время менеджеры команды работали над документацией по проекту, а наш девопс подготавливал среду для работы. Так что когда заказчик предоставил нам данные, мы были уже во всеоружии.
Реальные данные
— Казалось, что как только у нас будут данные, всё тут же заработает — но реальность быстро расставила все по своим местам. У нас на руках были «сырые» данные о сотнях учеников, тысячах выполненных заданий и других взаимодействий. Их нужно было привести к формату, который позволит адекватно интерпретировать данные и работать с ними.

Мы разбирались в том, как столбцы в таблицах взаимодействуют между собой, какие поля зависят от других или связаны с полями в других таблицах. Мы рисовали схемы, составляли описания столбцов и фиксировали наши предположения. Начиналось это так:
Первичная «сырая» схема базы данных с отмеченными взаимосвязями между таблицами
Но быстро превратилось в такое:
Вариант схемы базы данных с назначенными primary key и foreign key
Если обобщать, нашу работу можно свести к следующим пунктам:
  • Выявляли неясности и «странные» данные, которые сложно было объяснить логически.
  • Сквозь сухие цифры пытались увидеть реальные истории пользователей.
  • Искали паттерны поведения и закономерности, чтобы объединить учащихся в группы.
  • Приводили данные к единому виду: переводили категории в числовой формат, убирали повторы.
Именно тогда у всей нашей команды появился один любимый пользователь — user_2614. На нем мы делали выборки и проверки скриптов, он был действующим лицом наших предположений, моделью поведения студентов и их пользовательского опыта.

Так был собран первый датасет для «кормления» модели с данными по шести ключевым метрикам. Целевой метрикой стал простой и понятный показатель — прогресс по курсу, то есть отношение количества выполненных обучаемым заданий к общему количеству заданий по курсу.
Обучение моделей
Рассказывает Всеволод Зайцев, дата-сайентист:

Получив датасет от аналитиков, мы активно включились в работу. Насколько активно, показывала статистика нашего девопса Александра: выделенный нам сервер компании трудился почти круглосуточно, а модели состязались в результативности, раскаляя мощную видеокарту RTX 4090.

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

По итогам множества экспериментов на первом датасете мы обучили модель, которая предсказывала прогресс студента в ходе освоения курса с достоверностью около 89% на первой неделе и до 95% с третьей недели. Модель прогнозировала и вероятность успешного завершения курса — с точностью до 95–99%.

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

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

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

Мы задались целью во что бы то ни стало добиться лучших результатов и провели очередную серию экспериментов. Для начала попробовали обучить модели заново только на «взрослых» данных. Аналитики доработали датасет, но даже с этим прогнозирование оставляло желать лучшего.

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

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

Важно, что нашей команде удалось не только найти нужные метрики и создать модель, но и вдохнуть в неё жизнь, создать с командой начинающих по-настоящему работающий интеллектуальный продукт.
Готовый ИИ-сервис
В декабре команда EduTech представила результат трехмесячной практики — веб-сервис с интегрированными ИИ-моделями. Этот сервис:
  • показывает текущие показатели прогресса и общий прогресс по курсу обучающегося;
  • отображает вероятность успешного завершения курса обучающимся;
  • наглядно отображает изменения в статусе и вероятности успешного окончания курса обучения;
  • алгоритмическими методами делит пользователей на когорты;
  • визуализирует показатели и отдельные метрики учебного процесса по группам обучающихся;
  • позволяет делать выборки по пользовательским запросам.
Сейчас сервис интегрируется в систему управления обучением 1Т и станет реальным инструментом для наших менторов и кураторов. Созданная выпускниками ИИ-курсов модель будет помогать нашим преподавателям обучать ИИ-технологиям, выпуская всё больше специалистов в этой области.

Еще один важный итог стажировки — замечательная команда, которая сложилась за три месяца, люди, которых сплотила интенсивная работа в творческой, открытой и поддерживающей среде. А четыре участника команды, включая Татьяну, которая была в EduTech аналитиком, получили на презентации проекта оффер от 1Т и будут продолжать работу над проектом.
Читать еще