Рекомендательные системы в сети интернет. Абсолютное юзабилити

28 апреля 2016 года мы официально объявили о запуске первого адаптивного курса на Stepic.org , который подбирает задачи по Python в зависимости от уровня учащегося. До этого мы ещё реализовали на платформе рекомендованные уроки, чтоб учащиеся как не забывали, что они уже прошли, так и открывали для себя новые темы, которые могут их заинтересовать.

Под катом две основные темы:

  • про онлайн-образование, плюсы/минусы/подводные камни;
  • классификация рекомендательных систем, их применимость в образовании, примеры.

Про онлайн-образование, его плюсы, минусы и подводные камни

Эта часть в большей мере вводная, характеризующая онлайн-образование, волнующие подробности рекомендательных систем под следующей картинкой:)

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

Одной из наиболее распространенных форм онлайн-обучения являются массовые открытые онлайн-курсы (MOOCs, Massive Open Online Courses). Чаще всего они включают видео, слайды и текстовый контент, подготовленные преподавателем, а также задачи для проверки знаний, которые обычно проверяются автоматически, но также возможна проверка студентами работ друг друга. В качестве задач могут быть предложены самые разнообразные типы заданий: от простого выбора правильного ответа до написания эссе и даже, как у нас на Стэпике, задач на программирование с автоматической проверкой.

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

В то же время в онлайн-обучении есть и минусы. В отличие от традиционного образования, где у студента всегда есть мотивация в виде оценки его академической успеваемости, в случае онлайн-курсов нет никаких штрафов за непройденный курс. Из-за этого доля закончивших курс из записавшихся на него редко превышает 10% (у нас на Стэпике лучший по версии EdCrunch Awards 2015 курс Анатолия Карпова “Основы статистики” в первый запуск прошли рекордные 17% записавшихся, но это скорее исключение). Помимо этого, из-за большого числа учащихся у преподавателя нет возможности уделять индивидуальное внимание каждому студенту сообразно его уровню и возможностям.


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

В общем, учиться должно было стать ещё интереснее!

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

  • Системы, основанные на фильтрации контента. Такие системы предлагают пользователям контент, похожий на тот, что они изучали ранее. Схожесть подсчитывается с помощью характеристик сравниваемых объектов. Например, для рекомендации фильмов можно использовать близость жанров или актерский состав. Такой подход используется в сервисе для оценки, поиска и рекомендаций фильмов Internet Movie Database .
  • Системы, использующие коллаборативную фильтрацию. В этом случае пользователю предлагается контент, заинтересовавший похожих на него пользователей. Рекомендации сервиса MovieLens основаны именно на этом подходе.
  • Гибридные системы, комбинирующие два предыдущих подхода. Система такого типа используется в Netflix , сервисе для онлайн-просмотра фильмов и сериалов.

Мы создали гибридную систему с более активным использованием фильтрации контента и менее активным – коллаборативной фильтрации.

Существует множество исследований, посвященных рекомендательным системам для обучения, основанного на использовании технологий (Technology Enhanced Learning) . Специфика задачи в этом случае добавляет новые направления развития рекомендательной системы.


В чём особенности рекомендательной системы образовательного проекта?

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

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

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

Coursera, EdX, Udacity (платформы для онлайн-обучения) используют свои рекомендательные системы, советуя пользователям курсы, которые их могут заинтересовать. Недостаток этих рекомендаций в том, что они могут предложить только курс целиком, но не какую-то его часть, даже если пользователю будет интересна только она. Также построенная таким образом система никак не может помочь пользователю в изучении курса, который он выбрал.

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

В следующих статьях мы подробнее расскажем про устройство Stepic.org и реализацию рекомендательной системы, определим, что такое адаптивная рекомендательная система, и подробно проанализируем полученные результаты. Будет весело:)

Существуют две основные стратегии создания рекомендательных систем: фильтрация содержимого и коллаборативная фильтрация .

При фильтрации содержимого создаются профили пользователей и объектов.

  • Профили пользователей могут включать демографическую информацию или ответы на определённый набор вопросов.
  • Профили объектов могут включать названия жанров, имена актёров, имена исполнителей и т.п. - в зависимости от типа объекта.

Этот подход используется в проекте Music Genome Project : музыкальный аналитик оценивает каждую композицию по сотням различных музыкальных характеристик, которые могут использоваться для выявления музыкальных предпочтений пользователя.

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

Методика

Примеры явного сбора данных

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

Примеры неявного сбора данных

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

Применение

Рекомендательные системы сравнивают однотипные данные от разных людей и вычисляют список рекомендаций для конкретного пользователя. Некоторые примеры их коммерческого и некоммерческого использования приведены в статье о коллаборативной фильтрации . Рекомендательные системы - удобная альтернатива поисковым алгоритмам, так как позволяют обнаружить объекты, которые не могут быть найдены последними. Любопытно, что рекомендательные системы часто используют поисковые машины для индексации необычных данных.

  • Имхонет (фильмы, литература, фото)
  • Last.fm (музыка)
  • Ozon (книги, диски и пр.)
  • Software Informer (программное обеспечение)
  • Лаборатория фантастики (сайт о фантастике и фэнтези)
  • Imdb - фильмы (сайт на английском)
  • Rechelper - фильмы
  • Advizzer - места
  • Мир4 - экспериментальная система способная работать с любым контентом, в том числе малотиражным. Пока работает лишь с новостями.

Ссылки

Примечания

Литература

  • Melville P.,Mooney R., Nagarajan R. Content-Boosted Collaborative Filtering for Improved Recommendations (англ.) // University of Texas, USA : Материалы конф. / AAAI-02, Austin, TX, USA, 2002. - 2002. - С. 187-192.

Wikimedia Foundation . 2010 .

    Отрасль научной и практической деятельности, один из видов библиографии (См. Библиография). Главное общественное назначение Р. б. в СССР и др. социалистических странах содействовать общему и профессиональному образованию и самообразованию … Большая советская энциклопедия

    URL: http://imhonet.ru Коммерческий: Нет Тип са … Википедия

    Эта статья в данный момент активно редактируется участником Участник:Moshanin. Пожалуйста, не вносите в неё никаких изменений до тех пор, пока не исчезнет это объявление. В противном случае могут возникнуть конфликты редактирования. Данное… … Википедия - Эту страницу предлагается переименовать в Международное Агентство по Атомной Энергии. Пояснение причин и обсуждение на странице Википедия:К переименованию/24 июля 2012. Возможно, её текущее название не соответствует нормам современного … Википедия

    БИБЛИОГРАФИЯ ДЕТСКОЙ ЛИТЕРАТУРЫ - раздел библиографии, в задачи к рого входят учёт и информация о произведениях печати для детей и юношества. Такая информация направлена в два осн. адреса: взрослым (учителям, родителям, воспитателям, специалистам, профессионально связанным с… … Российская педагогическая энциклопедия

    Экономика страны - (National economy) Экономика страны это общественные отношения по обеспечению богатства страны и благосостояния ее граждан Роль национальной экономики в жизни государства, сущность, функции, отрасли и показатели экономики страны, структура стран… … Энциклопедия инвестора

    Ликвидность - (Liquidity) Ликвидность это мобильность активов, обеспечивающая возможность бесперебойной оплаты обязательств Экономическая характеристика и коэффициент ликвидности предприятия, банка, рынка, активов и инвестиций как важный экономический… … Энциклопедия инвестора

Начнем с определения, что же такое рекомендательные системы. Это программы и сервисы, которые пытаются определить, что хотят видеть пользователи, и предоставить им это (или порекомендовать, откуда и название). Каждый из нас наверняка встречал подобные приемы на различных сайтах. Сегодня мы опишем типы, принцип работы подобных программ, а также дадим примеры этих алгоритмов в действии. Читайте до конца, будет интересно!

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

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

Для интернет-магазинов это в принципе важная функция, а для таких крупных каталогов типа Amazon — один из немногих способов качественно работать. Способ рекомендации в данном случае не является обычной дополнительной опцией, она обеспечивает удобство навигации пользователя по веб-ресурсу. Если электронный каталог содержит более 20 000 наименований продукции, ориентация уже представляется непомерно тяжелой, что говорить, если товаров миллионы?

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

Как показывает практика, не только онлайн-магазины используют подобный прием. Социальные сети также не отстают. Ниже — пример из ВКонтакте.

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

Методики

Итак, первый тип — явный сбор данных. Как можно было догадаться из названия, пользователь сам предоставляет необходимые для работы материалы. Например, когда рекомендательные системы Яндекс или других поисковиков просят человека дать оценки разным элементам, составить список фаворитов определенной сферы или же ответить на несколько вопросов. Если же человек отказывается дать информацию самостоятельно, актуальной будет следующая методика.

Второй тип — неявный сбор данных. Условно говоря, это шпионская миссия, согласно которой действия участника процесса фиксируются программой для дальнейшей обработки и применения. Что нужно для этого? Программа распознает покупки, оценки на сайтах, собирает информацию по просмотрам, комментариям. Конечно, выбор такой методики ведет за собой некоторые этические проблемы, ведь защита персональных данных — одно из главных требований, предъявляемых пользователем поисковикам. Но пока факт остается фактом — своеобразная слежка возможна, и рядовые посетители сайтов проверить, действительно ли ведутся подобные мероприятия, не могут.

Первая базовая методика называется коллаборативной фильтрацией (collaborative filtering). Рекомендации с использованием данной методики выдаются, основываясь на поведенческих характеристиках одного человека или группы людей, последнее даже является более эффективным. В группы собираются люди, которые похожи между собой по поведению и характеристикам.

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

Второй подход называется контентной фильтрацией (content-based filtering). Здесь рекомендация формируется исходя из поведения человека. При использовании этого подхода также может браться за основу история просмотров конкретного участника.

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

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

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

Алгоритмы

Корреляция Пирсона

Этот алгоритм позволяет выделить общие характеристики между несколькими пользователями. Каким образом? С помощью простой математики, а именно определением линейной зависимости между двумя элементами. Важный момент — такая методика не подходит для сообщества людей.

Кластеризация

Этот принцип работы рекомендательных систем основывается на выделении сходства между элементами (пользователями) путем вычисления их близости друг другу в так называемом пространстве признаков. Признаками выступают те элементы, по которым сходятся интересы определенных участников процесса (для музыкальных ресурсов это треки, для кино-порталов — фильмы). Схожие по характеристикам пользователи объединяются в так называемые кластеры.

Алгоритм совместной фильтрации

Жесткую кластеризацию можно заменить и другим алгоритмом, который работает по довольно сложной формуле, и также как и все предыдущие, основывается на поведении пользователей из его группы. Однако в этой методике есть несколько довольно существенных минусов. Во-первых, новым или нетипичным пользователям (которые не объединяются в группы) сложно найти рекомендации. Во-вторых, так называемый «холодный старт», когда новые объекты не попадают в рекомендательные системы.

Алгоритм фильтрации содержимого

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

Вместо заключения

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

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