Slide 1

Slide 1 text

17 сентября 2021 [email protected], [email protected] Олисеенко Валерий Дмитриевич Ассистент кафедры информатики Рекомендательные системы в социальных сетях Абрамов Максим Викторович Доцент кафедры информатики

Slide 2

Slide 2 text

2/21 2/21 ЧТО ТАКОЕ РЕКОМЕНДАТЕЛЬНЫЕ СИСТЕМЫ? Рекомендательная система — это алгоритм, который предсказывает что будет интересно пользователю (информация, продукт, услуга и т.д.) на основе информации известной о нём. Информация

Slide 3

Slide 3 text

3/21 3/21 ТИПЫ РЕКОМЕНДАТЕЛЬНЫХ СИСТЕМ Существует 4 чипа рекомендательных систем: • Коллаборативная фильтрация (пользователи с похожими интересами); • Основанные на контенте (рекомендация похожих продуктов); • Основанные на знаниях (рекомендация дополняющих продуктов); • Гибридные. Источник: https://hub.forklog.com/

Slide 4

Slide 4 text

4/21 4/21 КОЛЛАБОРАТИВНАЯ ФИЛЬТРАЦИЯ 1/3 Обозначения: • 𝑗 — пользователи (всего пользователей — 𝑁, 𝑖 = 1 … 𝑁). • 𝑎 — предметы (сайты, товары, фильмы...), которые рекомендуются (всего — 𝑀, 𝑎 = 1 … 𝑀). • Пользователь 𝑖 оценивает предмет 𝑎, он производит отклик 𝑟𝑖,𝑎 [отклик = случайная величина]. • Задача — предсказывать оценки 𝑟𝑖,𝑎 , зная признаки 𝑥𝑖 и 𝑥𝑎 для всех элементов базы и зная некоторые уже расставленные в базе 𝑟𝑖′,𝑎′ . Предсказание будем обозначать через Ƹ 𝑟𝑖,𝑎 .

Slide 5

Slide 5 text

5/21 5/21 КОЛЛАБОРАТИВНАЯ ФИЛЬТРАЦИЯ 2/3 Введём расстояние схожести, например, на основе коэффициента Пирсона: где ҧ 𝑟𝑎 – средний рейтинг продукта 𝑎 среди всех пользователей: 𝑤𝑖,𝑗 = σ𝑎 (𝑟𝑖,𝑎 − ҧ 𝑟𝑎 )(𝑟 𝑗,𝑎 − ҧ 𝑟𝑎 ) σ𝑎 (𝑟𝑖,𝑎 − ҧ 𝑟𝑎 )2 σ𝑎 (𝑟 𝑗,𝑎 − ҧ 𝑟𝑎 )2 , Ƹ 𝑟𝑖,𝑎 = ഥ 𝑟𝑎 + σ 𝑗 𝑟 𝑗,𝑎 − ҧ 𝑟𝑗 𝑤𝑖,𝑗 σ 𝑗 |𝑤𝑖,𝑗 |

Slide 6

Slide 6 text

6/21 6/21 КОЛЛАБОРАТИВНАЯ ФИЛЬТРАЦИЯ 3/3

Slide 7

Slide 7 text

7/21 7/21 А ЧТО В СОЦИАЛЬНЫХ СЕТЯХ? Источник: https://habr.com/ru/company/vk/blog/552162/ Источник: https://3-info.ru/post/14727

Slide 8

Slide 8 text

8/21 8/21 РЕКОМЕНДАЦИЯ ДРУЗЕЙ Источник: https://habr.com/ru/company/vk/blog/552162/

Slide 9

Slide 9 text

9/21 9/21 ФОРМАЛИЗАЦИЯ ЗАДАЧИ Источник: https://habr.com/ru/company/vk/blog/552162/ Эвристика на основе числа общих друзей Эвристика Adamic/Adar

Slide 10

Slide 10 text

10/21 10/21 АЛГОРИТМ ВКОНТАКТЕ EgoML Источник: https://habr.com/ru/company/vk/blog/552162/ MapReduce: • Подготовка. Для каждого 𝑐 выделяется тот контекст, который он будет учитывать для вынесения оценок. Например, в Adamic/Adar это будет просто список друзей. • Map. «Спрашиваем» у каждого 𝑐, что он думает про возможность дружбы в каждой паре его друзей. По сути, вычисляем 𝑒𝑧𝑐 (𝑢, 𝑣) и сохраняем в виде (𝑢, 𝑣) → 𝑒𝑧𝑐 (𝑢, 𝑣) для всех 𝑢, 𝑣 𝑖𝑛 𝑁(𝑐). В случае Adamic/Adar: (𝑢, 𝑣) → 1/log |𝑁(𝑐)|. • Reduce. Для каждой пары (𝑢, 𝑣) суммируем все соответствующие ей значения. Их будет ровно столько, сколько общих друзей у 𝑢 и 𝑣.

Slide 11

Slide 11 text

11/21 11/21 ЭГО-ГРАФ Пример мер в эго-графе: • число общих друзей 𝑢 и 𝑣 внутри эго-графа 𝑐; • число общих друзей 𝑢 и 𝑐; • интенсивность взаимодействий между 𝑣 и 𝑐; • время, прошедшее с последней дружбы между 𝑢 и кем-либо из эго-графа 𝑐; • плотность эго-графа 𝑐; Эго-граф Хоппера Источник: https://habr.com/ru/company/vk/blog/552162/

Slide 12

Slide 12 text

12/21 12/21 НАБОР ДАННЫХ Финальный набор данных: • для каждой пары пользователей 𝑢 и 𝑣, а также их общего друга 𝑐, посчитаны меры(признаки) по эго-графу 𝑐; • пара пользователей 𝑢 и 𝑣 встречается в наборе данных ровно столько раз, сколько у них общих друзей; • все пары пользователей в наборе данных не являются друзьями на момент времени 𝑇; • для каждой пары 𝑢 и 𝑣 проставлена метка — подружились ли они в течение определённого промежутка времени начиная с 𝑇. Источник: https://habr.com/ru/company/vk/blog/552162/

Slide 13

Slide 13 text

13/21 13/21 ПОДСЧЁТ Источник: https://habr.com/ru/company/vk/blog/552162/

Slide 14

Slide 14 text

14/21 14/21 РЕКОМЕНДАЦИЯ ГРУПП Источник: https://3-info.ru/post/14727

Slide 15

Slide 15 text

15/21 15/21 ПОДХОД RANDOM WALKS Источник: https://3-info.ru/post/14727

Slide 16

Slide 16 text

16/21 16/21 МОДЕЛЬ В ОДНОКЛАССНИКАХ Источник: https://3-info.ru/post/14727

Slide 17

Slide 17 text

17/21 17/21 ПРОВЕРКА МОДЕЛИ Источник: https://3-info.ru/post/14727

Slide 18

Slide 18 text

18/21 18/21 ПРОБЛЕМА ПОДХОДА Источник: https://3-info.ru/post/14727

Slide 19

Slide 19 text

19/21 19/21 УЛУЧШЕНИЕ МОДЕЛИ Источник: https://3-info.ru/post/14727 • Собираем неявный фидбек: все открытия окон, просмотры видео в группах, клики в ленте и просмотры постов в ленте (число и длительность просмотра). • Собираем явный фидбек: классы, решары, комменты. • С негативным весом добавляем скрытия контента, выход из групп, отписки от групповых оповещений. • Нормализуем взаимодействия на количество показов контента (исключаем перекос активно постящих групп). • Взвешиваем по типу контента, учитывая то, насколько давно пользователь ознакомился с группой (уменьшаем вес случайным действиям). • Нормализуем веса групп во вкусах пользователей. Эти веса и будут весами ребер графа на первом шаге обхода графа.

Slide 20

Slide 20 text

20/21 20/21 ИТОГИ Источник: https://3-info.ru/post/14727 Word2vec, дополнительные данные и учёт мощности и качества групп при формировании графа по сравнению с оригинальным подходом дали: •x4 к числу групп в рекомендациях; •x13 вступлений в группы численностью менее 1к пользователей; •+30% к общим вступлениям в групп

Slide 21

Slide 21 text

17 сентября 2021 [email protected], [email protected] Олисеенко Валерий Дмитриевич Ассистент кафедры информатики Рекомендательные системы в социальных сетях Абрамов Максим Викторович Доцент кафедры информатики