Тарас Пустовой

технический директор Университета 20.35

Все публикации эксперта

07.10.2019

Тарас Пустовой: Рекомендательные системы Университета 20.35. Подбор мероприятий на интенсивах

В последнее время шутят, что за термином AI-powered startup в 80% случаев скрывается линейная регрессия в Excel. 

А как обстоят дела с искусственным интеллектом Университета 20.35?
Какие алгоритмы и технологии он использует?
Как они могут быть доработаны и использованы в ваших образовательных организациях и платформах? 

Ответам на эти вопросы мы посвятим цикл статей.

Сервис рекомендаций Университета 20.35 является ключевым. С него мы и начнем разбираться с тем, какие алгоритмы у нас работают и как. При этом важно понимать, что нет какого-то одного супералгоритма, который одинаково хорошо рекомендует все, что угодно, в разных ситуациях. Разберем на примерах.
Одним из наиболее узнаваемых продуктов Университета 2035 является «Остров». Это 12-дневный образовательный интенсив где совместно обучаются и взаимодействуют несколько тысяч человек. Именно «Острова» приносят нам больше всего данных. 
Во время интенсива участники активно вовлечены в выстраивание своего образовательного пространства — они выбирают, какие мероприятия посещать и с кем общаться. 

RSUNTI_1.jpg

Однако не так просто сделать выбор, когда у тебя 55 возможных вариантов. Даже для внимательного прочтения может не хватить времени, поэтому мы создали систему рекомендаций, которая помогает участникам интенсивов понять, куда им двигаться.
RSUNTI_2.jpg

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

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

Давайте внимательно рассмотрим, как же работала система рекомендаций мероприятий на «Острове», как она устроена, как собирала данные и как обучалась.

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

tri_edited.jpg

Советы выражаются в виде процентной ставки от 0 до 100%. В системе рекомендаций «Острова» мы использовали трёх советников, а их рекомендации взвешивали в долях:

Советник Роли — 0,5;
Советник Характера — 0,25;
Советник Опыта — 0,25.

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

Подробнее о советниках

Советник Роли

sov2.jpg

Самый простой алгоритм, но самый эффективный и важный советник. Он отвечает за достижение Цели пользователем.
Алгоритм основан на пересечении двух множеств, ролей пользователя и активностей мероприятия. Анализируя множество Ролей пользователя («Создатель среды развития предпринимательства», «Архитектор экосистем» и т. п.), он сопоставляет им активности мероприятия. Если пересечение множеств содержит хотя бы один элемент, советник рекомендует мероприятие, как предназначенное для одной или нескольких ролей. Таким образом, советник понимает, какие мероприятия НАДО посещать пользователю для развития согласно его Роли.

Советник Опыта

sov22.jpg

Этот советник — тренер пользователя. Он изучает траекторию уже посещённых мероприятий/имеющихся навыков на основании диагностики и рекомендует такие события, которые помогут развивать и расширять знания. Делает он это, анализируя кластеры описаний мероприятий и пользователей.
Из названий и описаний всех мероприятий формируются кластеры слов по методу k-средних (k-means), при этом каждому из сформированных кластеров соответствует центр кластера, представленный в виде tf-idf-вектора. Далее, при использовании предобученного кластеризатора, для каждого нового мероприятия определяется номер кластера, к которому мероприятие наиболее релевантно, и оценивается близость векторного представления рассматриваемого мероприятия к центру кластера. Для определения близости используется косинусное расстояние. В итоге для каждого из будущих мероприятий известен номер кластера, к которому мероприятие относится, и величина от 0 до 100%, отображающая степень принадлежности мероприятия к данному кластеру.

RSUNTI_9.jpg

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

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

Советник Характера

sov3.jpg

Советник Характера строит рекомендации на основе личных качеств пользователя. Учитывает максимальное полную текстовую информацию о человеке, включая его склонности, личностные качества и особенности характера (например, «достижение», «стремление к лидерству», «коллективизм», «собственная значимость» и т. п.) и оценивает семантическую близость между сформированным таким образом «текстовым портретом» пользователя и описанием того или иного образовательного мероприятия, которое может рекомендоваться этому пользователю.

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

RSUNTI_11.jpg
 
Чтобы повысить обобщающие способности сиамской нейросети, лежащей в основе советника Характера, используется метод переноса обучения. В нашем случае он заключается в том, что сначала основная подсеть обучается решать задачу семантического анализа большого объёма текстов русской Википедии и новостного корпуса «Ленты.ру». В качестве исходных векторных представлений элементов текста используются модели FastText, а затем проводится цепочка нелинейных преобразований с использованием многоголовочного внимания.

Для советника Характера использовался RuBERT — специальный вариант BERT, адаптированный для работы с текстами на русском языке. Затем обе сиамские подсети вместе с последним слоем дообучались на данных участников и образовательных мероприятий «Острова 10-21», состоявшегося в 2018 году, включая данные о том, какие из мероприятий прошлогоднего «Острова» посещались теми или иными участниками.
Выходом нейросети являлась оценка семантического расстояния между текстовыми характеристиками человека и мероприятия.

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

13.jpg

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

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

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

14.jpg

Первоначальные результаты работы алгоритма 


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

15.jpg

Результаты работы алгоритма с учётом накопленных данных

 
Показатель покрытия отражает качество работы рекомендательного модуля и логики отдельных советников. Он рассчитывается как процент пользователей, для которых целевое действие на мероприятие попадает в топ-рекомендаций. Другими словами, учитывает воспользовался ли пользователь нашей рекомендацией. Возможно рассчитать топ-3, топ-5, топ-10 рекомендаций и т. д.

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

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

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



-04 (1).jpg

На графике отображается доля пользователей, которые в разные дни прислушивались к рекомендациям и выбирали мероприятия из топ-10 по уровню рекомендаций.
Скачки значений 17 и 20 июля соответствуют моментам перекалибровки ансамбля алгоритмов рекомендаций (советников), изменяя вес каждого из них в общем уровне рекомендаций.

Как мы уже писали в начале статьи, итоговая рекомендация пользователю считается на основании рекомендаций отдельных советников. Для этого мы объединили всех советников в единый коллектив, назначив каждому из них свой вес вручную — 50%, 25% и 25% соответственно. Веса были поставлены «умозрительно», потому что данных, которые мы могли бы использовать для их вычисления, еще не было. Более того, первые 5 дней использовались алгоритмы, которые были обучены на данных прошлого «Острова». Да, это не совсем корректно, но позволило нам избежать проблему холодного старта.
Через несколько дней обучения мы решили сделать следующий шаг и, с одной стороны, переобучить советника Характера на данных о поведении пользователей за первые 5 дней, а с другой — оценить вес каждого из советников с помощью машинного обучения. 

Мерой качества работы коллектива советников выбрали корреляцию между уверенностью, что человеку подходит мероприятие (значение рекомендации), и заинтересованностью (рассчитанной с помощью показателя покрытия) «островитян» в мероприятии. То и другое измерялось в диапазоне от 0 до 1. Выбрав такую метрику, мы заново рассчитали веса советников, получили коэффициенты 19%, 64% и 14% и начали давать рекомендации по-новому. Однако вместо улучшения мы получили довольно сильное падение показатели покрытия — пользователи стали почти в полтора раза реже выбирать мероприятия из списка топ-мероприятий. 

Тогда мы решили пойти с другой стороны и оттолкнулись от гипотезы, что важнее сам факт интереса человека к мероприятию, а не величина этого интереса. По сути, мы бинаризовали интерес людей, и теперь он принимает не произвольное значение между 0 и 1, а строгое — 0 либо 1. После чего использовали другую меру качества работы нашего коллектива советников — среднюю точность. Рассчитали веса советников, и получили значения, очень похожие на те, что мы «угадали» в самом начале — 51%, 24% и 25%. 

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

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

WhatsApp Image 2019-10-06 at 13.51.13.jpeg



Значение коэффициентов ансамбля советников, полученных в последней итерации для дат 20-21, июля имеют наилучшие показатели «удовлетворенности». Тогда как начальный ансамбль для дат 11-15 июля, выставленный экспертно, показывал результаты лучше по полезности рекомендаций.

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

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

В специальном опросе мы получили весьма любопытный результат.

WhatsApp Image 2019-10-06 at 13.51.13(1).jpeg


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

#Остров 10-22, #остров 10-21, #искусственный интеллект

Эксперты

Дмитрий Холкин

директор Центра Развития Цифровой Энергетики фонда "ЦСР" Северо-Запад

Василий Третьяков

генеральный директор АНО "Университет 20.35"

Дмитрий Песков

специальный представитель Президента РФ по вопросам цифрового и технологического развития

Алексей Боровков

соруководитель рабочей группы «Технет» НТИ, руководитель Центра НТИ СПбПУ «Новые производственные технологии», проректор по перспективным проектам СПбПУ

Александр Крылатов

координатор «Клуба мышления» в Санкт-Петербурге

Андрей Силинг

исполнительный директор АНО «Платформа НТИ», руководитель проекта «Клубы мышления», руководитель штаба интенсива «Остров 10-22»

Сергей Жуков

соруководитель рабочей группы «Аэронет» НТИ

Кирилл Игнатьев

председатель совета директоров группы «Русские инвестиции», футуролог, преподаватель Университета 20.35

Руслан Карманный

руководитель Казначейства и Корпоративных финансов Группы EuroChem AG (Швейцария). Аналитик

Андрей Иващенко

соруководитель рабочей группы NeuroNet НТИ, профессор РАН

Владимир Статут

генеральный директор компании ООО «Нейроматикс»

Александр Повалко

генеральный директор, председатель Правления АО «РВК»

Марина Ракова

заместитель Министра просвещения Российской Федерации

Александр Пинский

генеральный директор АНО «Отраслевой центр МАРИНЕТ»

Ксения Андреева

директор по развитию сервисов АНО «Платформа НТИ»

Наталья Кульбятская

директор Департамента продюсирования знаний АНО «Платформа НТИ»

Анатолий Семенов

ответственный исполнитель проекта по развитию сети Точек кипения на базе университетов АНО «Платформа НТИ», директор техноброкерского агентства «Деловой Альянс»

Юлия Гудач

директор по развитию сети АНО «Платформа НТИ»

Елена Брызгалина

завкафедрой философского факультета МГУ им. М. В. Ломоносова, преподаватель Университета 20.35

Игорь Чаусов

Ведущий эксперт Фонда «ЦСР Северо-Запад», эксперт рабочей группы EnergyNet НТИ

Роман Усатов-Ширяев

генеральный директор группы компаний Robotikum

Николай Ютанов

руководитель исследовательской группы «Конструирование будущего»

Дмитрий Судаков

руководитель проекта «Атлас новых профессий»

Алексей Федосеев

президент Ассоциации участников технологических кружков

Валентин Макаров

лидер рынка SafeNet НТИ, президент компании «РУССОФТ»

Василий Буров

программный директор «Клубов мышления»

Сергей Абдыкеров

руководитель Департамента архитектуры НТИ и аналитики АНО «Платформа НТИ»

Михаил Самсонов

директор медицинского департамента «Р-Фарм», заместитель руководителя рынка HealthNet

Александр Шумский

президент Национальной палаты моды, лидер направления FashionNet

Александр Гурко

президент Федерального сетевого оператора в сфере навигационной деятельности Некоммерческого партнерства «Содействие развитию и использованию навигационных технологий» (НП «ГЛОНАСС»)

Олег Гринько

соруководитель рабочей группы EnergyNet НТИ, директор ООО «Т-Система»

Евгений Казанов

руководитель экспедиции «Эковолна»

Алексей Чадаев

советник председателя Госдумы РФ, гендиректор и учредитель АЦ «Московский регион», преподаватель Университета 20.35

Андрей Ломоносов

соруководитель направления «Биомедицина» HealthNet НТИ

Олег Подольский

директор направления по подготовке кадров для цифровой экономики Университета 20.35"

Алексей Басов

инвестиционный директор РВК

Марина Дегтярь

программный директор «Точки кипения» в Тюмени

Анна Рада

Директор департамента регионального развития Корпорации развития Тульской области

Вячеслав Трактовенко

организатор «Форсайт-кемпа —2019», региональный координатор «Клуба лидеров» в Санкт-Петербурге и Ленобласти

Даниил Мазуровский

лидер «Клуба мышления» в Екатеринбурге

Виталий Генаров

руководитель проектов Университета «20.35»

Фёдор Слюсарчук

руководитель образовательного направления АНО «Университет НТИ 20.35»

Нурлан Киясов

директор центра новых образовательных технологий EdCrunch University НИТУ «МИСиС»

Анатолий Левенчук

преподаватель Школы системного мышления

Вера Адаева

руководитель центра цифрового развития Агентства стратегических инициатив

Константин Горцевский

руководитель проекта департамента развития сети «Точек кипения»

Олег Мальсагов

руководитель проекта по развитию сети «Точек кипения» на базе университетов АНО «Платформа НТИ», член исполкома набсовета АНО «Университет 2035», руководитель Лаборатории по открытию «Точек кипения» на базе университетов в рамках интенсива «Остров 10-22»

Мария Колодина

контент-редактор Департамента продюсирования знаний АНО «Платформа НТИ»

Александрина Клюс

руководитель программы АНО «Платформа НТИ»

Мария Долгих

руководитель международных проектов АНО «Платформа НТИ»

Кирилл Конев

руководитель отдела аналитики рынков и технологий Департамента архитектуры НТИ и аналитики АНО «Платформа НТИ»

Лиана Кобзева

программный директор «Точки кипения» в Томске

Любовь Кириенко

руководитель программ развития сети, департамент развития сети «Точек кипения» АНО «Платформа НТИ»

Константин Кичинский

руководитель центра «Франшиза НТИ», АНО «Платформа НТИ»

Евгений Пен

исполнительный директор Центра компетенций Национальной технологической инициативы по направлению «Технологии распределённых реестров» на базе СПбГУ

Ольга Прудковская

директор по развитию сообщества в проекте Кружкового движения НТИ «Практики будущего»

Юлия Кошурникова

программный директор «Точки кипения» в Иркутске

Сергей Анисимов

директор по операциям компании «Национальный БиоСервис», вице-президент Национальной ассоциации биобанков и специалистов по биобанкированию

Дмитрий Шаменков

директор НОЦ «Информационные и социальные технологии в медицине» Первого МГМУ им. И. М. Сеченова, основатель «Школы открытого диалога», член Экспертной коллегии и ментор Фонда «Сколково»

Брехач Родион

управляющий парнер Группы инновационных образовательных компаний «Каменный город», лидер Клуба мышления в Перми

Виктор Достов

руководитель группы аналитики Центра технологий распределённых реестров СПбГУ, председатель Совета и д-р по исследованиям и разработкам Ассоциации участников рынка электронных денег и денежных переводов

Раиса Малышева

Руководитель проектов, аналитик Проектного офиса НТИ «Российской венчурной компании»

Олег Гранстрем

директор по развитию бизнеса компании «Национальный БиоСервис», вице-президент Национальной ассоциации биобанков и специалистов по биобанкированию

Константин Тетерин

Лидер проекта «Точка Кипения Белгород», генеральный директор «Корпорации "Развитие"» Белгородской области

Николай Живаев

директор Центра трансфера технологий ЯрГУ им. П. Г. Демидова, программный директор университетской «Точки кипения» ЯрГУ

Екатерина Морозова

директор открытого университета «Сколково», лидер проекта «Наставник «Кружкового движения» НТИ, преподаватель Университета 20.35

Валентина Иванова

Д-р эконом. наук, профессор, ректор МГУТУ им. К. Г. Разумовского (ПКУ) председатель Всероссийского педагогического собрания

Иван Тетерин

программный директор университетской «Точки Кипения» в ТГПУ им. Л. Н. Толстого (Тула)

Александр Ларьяновский

управляющий партнер онлайн-школы Skyeng

Алина Яшина

руководитель программы Департамента развития сообществ «Точек кипения»

Николай Косвинцев

общественный лидер «Точки кипения – Пермь», руководитель направления «Экосистема НТИ» Агентства инвестиционного развития Пермского края

Андрей Комиссаров

руководитель направления «Развитие на основе данных» Университета 20.35

Ирина Гордина-Невмержицкая

директор «Информбюро 20.35», главный редактор Ntinews.ru

Денис Коричин

Руководитель сообщества «Конструкторы сообществ практики»

Михаил Чистяков

Проректор по стратегическому развитию Ярославского государственного университета

Лариса Малышева

программный директор «Точки Кипения - Екатеринбург» , директор МВА-Центра Уральского Федерального университета

Сергей Салкуцан

программный директор «Точки кипения – Политех», заместитель руководителя дирекции Центра компетенций НТИ «Новые производственные технологии» СПбПУ Петра Великого

Кураторы «Точек кипения»

«Осенний навигатор» глазами сотрудников «Платформы НТИ» и Университета 20.35

Дмитрий Земцов

проректор по развитию ДВФУ, соруководитель рабочей группы «Кружкового движения» НТИ, преподаватель Университета 20.35

Ольга Такшаитова

руководитель проекта Центра развития сети «Точек кипения» Департамента развития сообществ АНО «Платформа НТИ»

Павел Гудков

заместитель генерального директора Фонда содействия развитию малых форм предприятий в научно-технической сфере

Дарья Гриц

директор по стратегии продукта для университетов и школ онлайн-школы Skyeng

Евгений Куценко

директор Центра «Российская кластерная обсерватория» Института статистических исследований и экономики знаний НИУ ВШЭ

Принять участие

Подписка на обновления

«Информбюро 20.35» делает почтовую рассылку самых интересных публикаций один раз в неделю. Чтобы подписаться на нее, зарегистрируйтесь или войдите через свою учетную запись на платформе leader-id.ru.