Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
40_алгоритмов_Python.pdf
Скачиваний:
8
Добавлен:
07.04.2024
Размер:
13.02 Mб
Скачать

284

Глава 10. Рекомендательные системы

на коллаборативной фильтрации, мы классифицировали Елену и Майка как похожих пользователей. Теперь Елена читает Документ 3 (журнал о женской моде). Если следовать алгоритму, мы должны предложить этот журнал и Май­ ку, который, скорее всего, не проявит к нему особого интереса.

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

Алгоритм коллаборативной фильтрации не зависит от какой-либо другой ин­ формации, является автономным и базируется на изменении поведения поль­ зователей и совместных рекомендациях.

Гибридные рекомендательные системы

Итак, мы обсудили системы на основе контентной и коллаборативной фильтра­ ции. Оба типа рекомендательных систем могут быть объединены для создания гибридной системы. Для этого нужно выполнить следующие действия:

zz Создать матрицу сходства элементов.

zz Создать матрицы предпочтений пользователей. zzВыработать рекомендации.

Рассмотрим подробнее обозначенные шаги.

Создание матрицы сходства элементов

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

Предположим, у нас есть пять товаров. Используя рекомендации на основе со­ держания, создадим матрицу, которая отражает сходство между товарами и вы­ глядит следующим образом (рис. 10.4).

Далее объединим матрицу сходства с матрицей предпочтений для выработки рекомендаций.

Типы рекомендательных систем

285

1 2 3 4 5

1

2

3

4

5

Рис. 10.4

Генерация векторов предпочтений пользователей

Основываясь на истории покупок, создадим вектор предпочтений (preference vector), который отражает интересы пользователей.

Предположим, мы должны настроить рекомендации для интернет-магазина под названием KentStreetOnline, в котором продается 100 уникальных товаров. KentStreetOnline — популярный магазин с миллионом активных подписчиков. Важно отметить, что нам нужно сгенерировать только одну матрицу сходства размером 100 на 100. Необходимо также сгенерировать вектор предпочтений для каждого пользователя (в общей сложности это 1 миллион векторов пред­ почтений).

Каждая запись вектора представляет предпочтение для одного товара. Значение первой строки означает, что вес предпочтения для Товара 1 равен 4; значение второй строки означает, что для Товара 2 предпочтение не задано. Это наглядно показано на рис. 10.5.

1

2

3

4

5

Рис. 10.5