2. Содержание
•
•
•
•
•
•
•
Постановка и актуальность задачи
Сбор и представление данных
Подходы к составлению рекомендаций
Оценка качества рекомендаций
Проблемы рекомендательных систем
Существующие рекомендательные системы
Разработка музыкальной рекомендательной системы
3. Постановка и актуальность задачи
Рекомендательные системы — программы,
которые пытаются предсказать, какие объекты
(фильмы, музыка, книги и т.д.) будут интересны
пользователю, имея определенную информацию о
его профиле.
4. Для чего нужны рекомендательные
системы
•
•
•
•
Увеличение продаж
Продажа более разнообразных объектов
Увеличение лояльности пользователей
Улучшение понимания пользовательских
потребностей и желаний
6. Сбор данных
Используется явный или неявный сбор данных.
• При явном сборе от пользователя требуется
заполнять анкеты для выявления предпочтений.
• При неявном сборе действия пользователя
протоколируются для выявления предпочтений, и
составления рейтингов происходит автоматически.
Иногда оба подхода комбинируются: когда истории
действий пока нет – используются опросы. Затем
начинают учитываться действия.
7. Представление данных
Таблица оценок пользователей, где каждая ячейка ru,i
соответствует оценке пользователем u элемента i
Требуется предсказать оценку rа,i для активного пользователя a
8. Типы оценок пользователей
•
Числовые рейтинги
– от 1 до 5, как, например, для аудиозаписей в iTunes.
• Упорядоченные рейтинги
– такие как “полностью согласен”, “согласен”, “нейтрален”, “не
согласен”, “полностью не согласен”, в ситуации, когда у
пользователя спрашивают мнение о высказывании.
• Двоичные рейтинги
– товар является хорошим или плохим по мнению
пользователя
• Абсолютные рейтинги
– количество прослушиваний аудиозаписей
10. Вычисление похожести
Основной принцип: похожим пользователям
рекомендуют похожие объекты. Как определять
похожесть?
• Content-based. Похожесть определяется на
основании характеристик предметов и
пользователей. Для товаров: функциональное
назначение, категория, ценовая группа. Для
клиентов: демографические данные, предпочтения
из заполненных анкет.
• Transaction-based. Товары считаются похожими,
если часто входят вместе в одну транзакцию, а
пользователи – если совершают схожие покупки.
11. Используется ли модель предметной
области
• Model-based. Создается модель предпочтений
пользователей, товаров и взаимосвязи между ними.
Рекомендации формируются на основе полученной
модели.
• Memory-based. Модели данных нет. Рекомендации
формируются на основании вычисления некой меры
похожести по всем накопленным данным.
12. Достоинства и недостатки memory-based
и model-based подходов
• Memory-based.
– Достоинства: простота, точность, инкрементальный учет
новых данных.
– Недостатки: ресурсоемкость, невозможность
предоставления описательного анализа закономерностей
• Model-based.
– Достоинства: простое вычисление рекомендаций, большее
понимание формируемых рекомендаций
– Недостатки: ресурсоемкое обучение модели, меньшая
точность, не поддерживает инкрементальное обучение
13. Коллаборативная фильтрация
Идея подхода - те, кто одинаково оценивали какиелибо предметы в прошлом, склонны давать похожие
оценки другим предметам и в будущем.
• User-based. Предложить товары, приобретаемые
похожими пользователями
• Item-based. Предложить товары, похожие на уже
приобретенные
14. User-based коллаборативная
фильтрация
• Для активного пользователя определяется группа
похожих пользователей.
– В качестве меры близости применяются метрики,
основанные на углах между векторами оценок:
•
•
•
•
Косинус угла между векторами оценок.
Корреляция между векторами оценок.
Количество совпадающих оценок.
…
• Искомая оценка предмета определяется на
основании анализа оценок группы похожих
пользователей
15. Item-based коллаборативная фильтрация
• Для предмета, оценку которого требуется
предсказать, создается список похожих предметов
– Похожесть вычисляется при помощи метрик, применяемых к
векторам оценок для каждого предмета
• Оценка прогнозируется на основе оценок активного
пользователя для похожих предметов
28. Оценка качества рекомендаций
• Опрос пользователей
– Наиболее достоверный способ оценки качества
– Не всегда может быть реализован
• Метрики оценки качества рекомендаций
– Точность
– Полнота
– Half-life Utility
29. Half-life Utility
• Имитирует радиоактивный распад: чем дальше
релевантный элемент находится от начала списка
рекомендаций, тем меньше его вес
HLU a = ∑
j
ra , j
2
( j −1) /( c −1)
• с - период полураспада, ra,j – рейтинг элемента j для
активного пользователя a
31. Рекомендательная система Amazon.com
• Amazon.com рекомендует пользователям товары,
которые они, скорее всего, захотят купить.
• Введение рекомендательной системы увеличило
товарооборот на 40%
32. Особенности рекомендательной системы
Amazon.com
• Самая большая товарная база данных
– Более 30 млн пользователей и 5 млн. товаров
• Для составления рекомендаций используется Itembased алгоритм коллаборативной фильтрации
– Item-based алгоритм позволяет выполнить наиболее
ресурсоемкие вычисления оффлайн.
33. Amazon.com: построение таблицы
похожих товаров
• Построение таблицы похожих товаров выполняется оффлайн
по расписанию, при помощи следующего алгоритма
For each item in product catalog, I1
For each customer, who purchased I1
For each item I2 purchased by customer C
Record that a customer purchased I1 and I2
For each item I2
Compute the similarity between I1 and I2
– Похожесть рассчитывается как косинус угла между векторами
оценок
– Сложность алгоритма на практике O(NM)
• N – количество товаров
• M – количество пользователей
34. Amazon.com: составление рекомендаций
• По составленной таблице товаров система находит
похожие товары для каждой покупки пользователя и
рекомендует наиболее релевантные.
• Вычисления выполняются очень быстро. Сложность
зависит только от количества приобретенных
пользователем товаров.
35. Music Genome Project
• Музыкальная рекомендательная система,
основанная на алгоритмах фильтрации содержимого
• Команда экспертов анализирует каждую композицию
и оценивает по более чем 400 признакам
• Рекомендации составляются на основе схожести
признаков прослушанных и рекомендуемых
композиций.
36. Постановка задачи дипломной работы
• Разработать рекомендательную систему для
рекомендации музыки пользователям Last.fm и
vk.com
• Оценить работу системы и сравнить использованный
алгоритм с другими алгоритмами рекомендаций.
37. Выбор алгоритма
В данной работе реализован user-based алгоритм
коллаборативной фильтрации по следующим
причинам:
– Сравнительно небольшой набор данных для анализа
(360 000 пользователей и 100 000 исполнителей)
– Качество рекомендаций user-based подхода не уступает
item-based рекомендациям
– Отсутствие вычислительных мощностей для генерации
таблицы похожих исполнителей
38. Особенности реализации
Для реализации алгоритма построения
рекомендаций была использована база Last.fm
dataset 360K.
Алгоритм состоит из следующих шагов:
– Загрузка обучающей выборки в оперативную память
– Загрузка библиотеки прослушиваний активного
пользователя
– Выбор из обучающей выборки подгруппы пользователей,
похожих на активного
– Составление рекомендаций на основе общей библиотеки
прослушиваний выбранной подгруппы
41. Что планируется сделать
• Комбинирование методов коллаборативной
фильтрации и фильтрации содержимого для
улучшения качества рекомендаций
– Учет пола, возраста пользователей, жанра композиций и т.д.
• Индексирование базы данных и оптимизация
алгоритма для ускорения работы системы
• Улучшение пользовательского интерфейса