Upload
-
View
633
Download
0
Embed Size (px)
DESCRIPTION
2013 осень
Citation preview
Рекомендательные системы
Курышев Сергей 525 группа
Содержание
• Постановка и актуальность задачи • Сбор и представление данных • Подходы к составлению рекомендаций • Оценка качества рекомендаций • Проблемы рекомендательных систем • Существующие рекомендательные системы • Разработка музыкальной рекомендательной системы
Постановка и актуальность задачи Рекомендательные системы — программы,
которые пытаются предсказать, какие объекты (фильмы, музыка, книги и т.д.) будут интересны пользователю, имея определенную информацию о его профиле.
Для чего нужны рекомендательные системы
• Увеличение продаж • Продажа более разнообразных объектов • Увеличение лояльности пользователей • Улучшение понимания пользовательских
потребностей и желаний
Применение рекомендательных систем
• Электронная коммерция • Поиск фильмов, музыки, ПО, научных статей • Он-лайн банкинг • Новостные сайты • Справочные центры
Сбор данных
Используется явный или неявный сбор данных. • При явном сборе от пользователя требуется
заполнять анкеты для выявления предпочтений. • При неявном сборе действия пользователя
протоколируются для выявления предпочтений, и составления рейтингов происходит автоматически.
Иногда оба подхода комбинируются: когда истории действий пока нет – используются опросы. Затем начинают учитываться действия.
Представление данных
Таблица оценок пользователей, где каждая ячейка ru,i соответствует оценке пользователем u элемента i
Требуется предсказать оценку rа,i для активного пользователя a
Типы оценок пользователей
• Числовые рейтинги – от 1 до 5, как, например, для аудиозаписей в iTunes.
• Упорядоченные рейтинги – такие как “полностью согласен”, “согласен”, “нейтрален”, “не
согласен”, “полностью не согласен”, в ситуации, когда у пользователя спрашивают мнение о высказывании.
• Двоичные рейтинги – товар является хорошим или плохим по мнению
пользователя • Абсолютные рейтинги
– количество прослушиваний аудиозаписей
Подходы к формированию рекомендаций
• Content-based (фильтрация содержимого) • Transaction-based
– Model-based – Memory-based
• Коллаборативная фильтрация – User-based – Item-based
Вычисление похожести
Основной принцип: похожим пользователям рекомендуют похожие объекты. Как определять похожесть?
• Content-based. Похожесть определяется на основании характеристик предметов и пользователей. Для товаров: функциональное назначение, категория, ценовая группа. Для клиентов: демографические данные, предпочтения из заполненных анкет.
• Transaction-based. Товары считаются похожими, если часто входят вместе в одну транзакцию, а пользователи – если совершают схожие покупки.
Используется ли модель предметной области
• Model-based. Создается модель предпочтений пользователей, товаров и взаимосвязи между ними. Рекомендации формируются на основе полученной модели.
• Memory-based. Модели данных нет. Рекомендации формируются на основании вычисления некой меры похожести по всем накопленным данным.
Достоинства и недостатки memory-based и model-based подходов
• Memory-based. – Достоинства: простота, точность, инкрементальный учет
новых данных. – Недостатки: ресурсоемкость, невозможность
предоставления описательного анализа закономерностей • Model-based.
– Достоинства: простое вычисление рекомендаций, большее понимание формируемых рекомендаций
– Недостатки: ресурсоемкое обучение модели, меньшая точность, не поддерживает инкрементальное обучение
Коллаборативная фильтрация
Идея подхода - те, кто одинаково оценивали какие-либо предметы в прошлом, склонны давать похожие оценки другим предметам и в будущем.
• User-based. Предложить товары, приобретаемые похожими пользователями
• Item-based. Предложить товары, похожие на уже приобретенные
User-based коллаборативная фильтрация
• Для активного пользователя определяется группа похожих пользователей. – В качестве меры близости применяются метрики,
основанные на углах между векторами оценок: • Косинус угла между векторами оценок. • Корреляция между векторами оценок. • Количество совпадающих оценок. • …
• Искомая оценка предмета определяется на
основании анализа оценок группы похожих пользователей
Item-based коллаборативная фильтрация
• Для предмета, оценку которого требуется предсказать, создается список похожих предметов – Похожесть вычисляется при помощи метрик, применяемых к
векторам оценок для каждого предмета
• Оценка прогнозируется на основе оценок активного пользователя для похожих предметов
Пример item-based фильтрации
Пример item-based фильтрации
Пример item-based фильтрации
Пример item-based фильтрации
Пример item-based фильтрации
Пример item-based фильтрации
Пример user-based фильтрации
Пример user-based фильтрации
Пример user-based фильтрации
Пример user-based фильтрации
Пример user-based фильтрации
Пример user-based фильтрации
Оценка качества рекомендаций
• Опрос пользователей – Наиболее достоверный способ оценки качества – Не всегда может быть реализован
• Метрики оценки качества рекомендаций – Точность – Полнота – Half-life Utility
Half-life Utility
• Имитирует радиоактивный распад: чем дальше релевантный элемент находится от начала списка рекомендаций, тем меньше его вес
• с - период полураспада, ra,j – рейтинг элемента j для активного пользователя a
∑ −−=j
cjja
a
rHLU )1/()1(
,
2
Проблемы рекомендательных систем
• Разреженность данных • Проблема холодного старта • Масштабируемость • Синонимия • Мошенничество
Рекомендательная система Amazon.com
• Amazon.com рекомендует пользователям товары, которые они, скорее всего, захотят купить.
• Введение рекомендательной системы увеличило товарооборот на 40%
Особенности рекомендательной системы Amazon.com
• Самая большая товарная база данных – Более 30 млн пользователей и 5 млн. товаров
• Для составления рекомендаций используется Item-based алгоритм коллаборативной фильтрации – Item-based алгоритм позволяет выполнить наиболее
ресурсоемкие вычисления оффлайн.
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 – количество пользователей
Amazon.com: составление рекомендаций
• По составленной таблице товаров система находит похожие товары для каждой покупки пользователя и рекомендует наиболее релевантные.
• Вычисления выполняются очень быстро. Сложность зависит только от количества приобретенных пользователем товаров.
Music Genome Project
• Музыкальная рекомендательная система, основанная на алгоритмах фильтрации содержимого
• Команда экспертов анализирует каждую композицию и оценивает по более чем 400 признакам
• Рекомендации составляются на основе схожести
признаков прослушанных и рекомендуемых композиций.
Постановка задачи дипломной работы
• Разработать рекомендательную систему для рекомендации музыки пользователям Last.fm и vk.com
• Оценить работу системы и сравнить использованный алгоритм с другими алгоритмами рекомендаций.
Выбор алгоритма
В данной работе реализован user-based алгоритм коллаборативной фильтрации по следующим причинам: – Сравнительно небольшой набор данных для анализа
(360 000 пользователей и 100 000 исполнителей) – Качество рекомендаций user-based подхода не уступает
item-based рекомендациям – Отсутствие вычислительных мощностей для генерации
таблицы похожих исполнителей
Особенности реализации
Для реализации алгоритма построения рекомендаций была использована база Last.fm dataset 360K.
Алгоритм состоит из следующих шагов:
– Загрузка обучающей выборки в оперативную память – Загрузка библиотеки прослушиваний активного
пользователя – Выбор из обучающей выборки подгруппы пользователей,
похожих на активного – Составление рекомендаций на основе общей библиотеки
прослушиваний выбранной подгруппы
Результат
Сравнение алгоритмов составления рекомендаций
Алгоритм Метрика
Точность Half-Life Utility
Алгоритм на основе популярности 13.1% 28.6%
Алгоритм на основе популярности с учетом жанров
18.2% 41.7%
Item-based коллаборативная фильтрация
~70%
User-based коллаборативная фильтрация
39% 69.5%
Что планируется сделать
• Комбинирование методов коллаборативной фильтрации и фильтрации содержимого для улучшения качества рекомендаций – Учет пола, возраста пользователей, жанра композиций и т.д.
• Индексирование базы данных и оптимизация алгоритма для ускорения работы системы
• Улучшение пользовательского интерфейса