Рекомендательные системы в онлайн-образовании
28 апреля 2016 года мы официально объявили о запуске первого адаптивного курса на Stepic.org, который подбирает задачи по Python в зависимости от уровня учащегося. До этого мы ещё реализовали на платформе рекомендованные уроки, чтоб учащиеся как не забывали, что они уже прошли, так и открывали для себя новые темы, которые могут их заинтересовать.
Этой статьёй мы начинаем цикл о рекомендательных системах и адаптивном обучении.
Под катом две основные темы:
- про онлайн-образование, плюсы/минусы/подводные камни;
- классификация рекомендательных систем, их применимость в образовании, примеры.
Про онлайн-образование, его плюсы, минусы и подводные камни
Эта часть в большей мере вводная, характеризующая онлайн-образование, волнующие подробности рекомендательных систем под следующей картинкой :)
В современном мире онлайн-образование постепенно становится все более популярным. Возможность учиться у профессоров ведущих учебных заведений, изучать новые области, получать нужные в работе знания, не выходя из дома, привлекает большое количество людей.
Одной из наиболее распространенных форм онлайн-обучения являются массовые открытые онлайн-курсы (MOOCs, Massive Open Online Courses). Чаще всего они включают видео, слайды и текстовый контент, подготовленные преподавателем, а также задачи для проверки знаний, которые обычно проверяются автоматически, но также возможна проверка студентами работ друг друга. В качестве задач могут быть предложены самые разнообразные типы заданий: от простого выбора правильного ответа до написания эссе и даже, как у нас на Стэпике, задач на программирование с автоматической проверкой.
У онлайн-образования есть свои особенности, отличающие его от обычного, офлайн-образования. Среди плюсов, во-первых, уже упомянутая выше доступность каждому, у кого есть доступ к интернету. Во-вторых, это почти неограниченная масштабируемость: благодаря автоматизированной проверке задач на курсе могут одновременно учиться тысячи человек, что несопоставимо с обычными курсами в учебных аудиториях. В-третьих, каждый студент может выбирать удобное для себя время и темп для прохождения материала. В-четвертых, в распоряжении преподавателей оказывается большое число данных о том, как пользователи проходят его курсы, которые он может использовать для анализа и улучшения своих материалов.
В то же время в онлайн-обучении есть и минусы. В отличие от традиционного образования, где у студента всегда есть мотивация в виде оценки его академической успеваемости, в случае онлайн-курсов нет никаких штрафов за непройденный курс. Из-за этого доля закончивших курс из записавшихся на него редко превышает 10% (у нас на Стэпике лучший по версии EdCrunch Awards 2015 курс Анатолия Карпова «Основы статистики» в первый запуск прошли рекордные 17% записавшихся, но это скорее исключение). Помимо этого, из-за большого числа учащихся у преподавателя нет возможности уделять индивидуальное внимание каждому студенту сообразно его уровню и возможностям.
Рекомендательные системы: на Stepic.org и вообще
Мы поставили себе задачу — создать рекомендательную систему, которая могла бы советовать студенту интересный для него контент и учитывать его уровень подготовки и пробелы в знаниях. Кроме этого система должна уметь оценивать сложность контента. Это нужно, в частности, для адаптивных рекомендаций, которые будут помогать пользователю изучать материал, гибко подстраиваясь под него, предлагая именно тот контент, который ему нужен сейчас для обучения. Такая система будет полезна пользователям персонализованными рекомендациями уроков, которые могут помочь им изучить конкретную тему или предложить что-то новое.
В общем, учиться должно было стать ещё интереснее!
Существующие рекомендательные системы
В качестве одного из первых примеров рекомендательной системы в современном представлении можно привести movielens.org, предлагающий пользователям фильмы на основе их предпочтений. Этот сервис интересен тем, что он предоставляет всем желающим обширный набор данных о фильмах и рейтингах, поставленных им пользователями. Этот набор данных был использован в множестве исследований в области рекомендательных систем последних двух десятилетий.Три основных класса рекомендательных систем:
- Системы, основанные на фильтрации контента. Такие системы предлагают пользователям контент, похожий на тот, что они изучали ранее. Схожесть подсчитывается с помощью характеристик сравниваемых объектов. Например, для рекомендации фильмов можно использовать близость жанров или актерский состав. Такой подход используется в сервисе для оценки, поиска и рекомендаций фильмов Internet Movie Database.
- Системы, использующие коллаборативную фильтрацию. В этом случае пользователю предлагается контент, заинтересовавший похожих на него пользователей. Рекомендации сервиса MovieLens основаны именно на этом подходе.
- Гибридные системы, комбинирующие два предыдущих подхода. Система такого типа используется в Netflix, сервисе для онлайн-просмотра фильмов и сериалов.
Мы создали гибридную систему с более активным использованием фильтрации контента и менее активным — коллаборативной фильтрации.
Существует множество исследований, посвященных рекомендательным системам для обучения, основанного на использовании технологий (Technology Enhanced Learning). Специфика задачи в этом случае добавляет новые направления развития рекомендательной системы.
В чём особенности рекомендательной системы образовательного проекта?
Во-первых, это возможность построения адаптивной рекомендательной системы, которая будет подстраиваться под нужды пользователя в конкретный момент и предлагать ему оптимальные пути изучения материала. В таком формате могут быть реализованы различные тренажеры, например, по математике или какому-либо языку программирования, содержащие множество задач разной сложности, из которых разным ученикам будут в каждый момент времени подходить разные.
Во-вторых, можно извлечь зависимости между обучающими материалами из данных о том, как пользователи их проходят.
Эти данные могут помочь извлечь отдельные темы в материалах, связи между этими темами, их соотношения по сложности.
Coursera, EdX, Udacity (платформы для онлайн-обучения) используют свои рекомендательные системы, советуя пользователям курсы, которые их могут заинтересовать. Недостаток этих рекомендаций в том, что они могут предложить только курс целиком, но не какую-то его часть, даже если пользователю будет интересна только она. Также построенная таким образом система никак не может помочь пользователю в изучении курса, который он выбрал.
Рекомендательная система ресурса MathsGarden работает, напротив, с самыми небольшими частями контента — отдельными задачами. Она представляет собой тренажер по элементарной арифметике для учеников начальной школы, который предлагает ученику задачи, оптимально подходящие ему в данный момент времени по сложности.
Для этого система подсчитывает и динамически изменяет относительную характеристику знаний ученика, а также характеристику сложности задач, но подробнее об этом позже.
В следующих статьях мы подробнее расскажем про устройство Stepic.org и реализацию рекомендательной системы, определим, что такое адаптивная рекомендательная система, и подробно проанализируем полученные результаты. Будет весело :)