1 / 35

Как понять, чего хочет пользователь, без единого запроса? Строим рекомендательную систему.

Как понять, чего хочет пользователь, без единого запроса? Строим рекомендательную систему. Андрей Федоровский , fedorovsky@gmail.com Дмитрий Исайкин, isaykin@corp.mai.ru Варвара Логачева , v.logacheva@corp.mail.ru. Рекомендательные системы: зачем они?.

matsu
Download Presentation

Как понять, чего хочет пользователь, без единого запроса? Строим рекомендательную систему.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Как понять, чего хочет пользователь, без единого запроса? Строим рекомендательную систему. Андрей Федоровский,fedorovsky@gmail.com Дмитрий Исайкин, isaykin@corp.mai.ru Варвара Логачева, v.logacheva@corp.mail.ru

  2. Рекомендательные системы: зачем они? Цель – изучить вкусы пользователя и понять, какие объекты из коллекции он оценит выше других. Анализируем - Его оценки объектов и лог его действий - Оценки и действия других пользователей

  3. Как это делать?

  4. Как это делать? 1) Показать 10 самых лучших объектов

  5. Как это делать? 1) Показать 10 самых лучших объектов 2) Совместная встречаемость объектов в сессиях

  6. Как это делать? 1) Показать 10 самых лучших объектов 2) Совместная встречаемость объектов в сессиях 3) Ввести рубрикацию/теги объектов

  7. Как это делать? 1) Показать 10 самых лучших объектов 2) Совместная встречаемость объектов в сессиях 3) Ввести рубрикацию/теги объектов Малое число тегов на объект Нет отрицательных отношений

  8. Подходы

  9. Подходы Content-based: теги = ключевые термины из описания объекта

  10. Подходы Content-based: теги = ключевые термины из описания объекта Collaborative filtering: учет оценок других пользователей

  11. Подходы Content-based: теги = ключевые термины из описания объекта Collaborative filtering: учет оценок других пользователей Neighbourhood-based CF: учитываем оценки близких пользователей

  12. Подходы Content-based: теги = ключевые термины из описания объекта Collaborative filtering: учет оценок других пользователей Neighbourhood-based CF: учитываем оценки близких пользователей В каком пространстве?

  13. Подходы Content-based: теги = ключевые термины из описания объекта Collaborative filtering: учет оценок других пользователей Neighbourhood-based CF: учитываем оценки близких пользователей Matrix factorization: построение профилей из скрытых признаков

  14. Требования к системе Масштабирование до миллиардов оценок Высокая скорость работы Универсальная работа с разными наборами данных Явные оценки и неявные (логи действий) Добавление новых оценок, объектов, пользователей без рестарта

  15. Требования к системе Масштабирование до миллиардов оценок Высокая скорость работы Универсальная работа с разными наборами данныхне получилось Явные оценки и неявные (логи действий) Добавление новых оценок, объектов, пользователей без рестарта

  16. MF - профили пользователей - профили объектов

  17. ISMF

  18. RISMF

  19. BRISMF

  20. Оптимизация параметров системы Градиентные методы не подходят. Выбрали покоординатный спуск. Переобучение: Несколько запусков, разные семплы Регуляризация в модели Validation set

  21. Неявные данные 50к оценок против 400М действий

  22. Неявные данные 50к оценок против 400М действий Проблема – матрица НЕразрежена.

  23. Неявные данные 50к оценок против 400М действий Проблема – матрица НЕразрежена. Синтетические явные оценки:

  24. Неявные данные 50к оценок против 400М действий Проблема – матрица НЕразрежена. Синтетические явные оценки: NB: Чем плотнее матрица, тем лучше идет обучение. Поэтому лучше начинать с ядра. NB2: Объекты с единичными оценками кластеризуем

  25. Архитектура

  26. Построение выдачи RMSE – качество на всей коллекции. А нам важны 10 лучших для пользователя.

  27. Построение выдачи: мера качества RMSE – качество на всей коллекции. А нам важны 10 лучших для пользователя. ARP: есть T результатов. Лучшие – на местах ARP = 0 – идеал. ARP = 1 – идеально плохо.

  28. Построение выдачи: сортировка

  29. Построение выдачи: сортировка

  30. Построение выдачи: скорость Случайные проекции LSH - гиперплоскости в Задано разбиение на сектора, а - их m-битная нумерация. Сортируем только объекты, близкие к пользователю (попавшие в один сектор)

  31. Наборы данных * на основе 400 000 000 действий

  32. Результаты

  33. Результаты

  34. Результаты Адаптировали BRISMF для неявных данных LSH4выдает приемлемое качество с высокой скоростью Система умеет добавлять новые оценки, пользователей, объекты на лету, без пересчета матриц.

  35. Спасибо! Вопросы?

More Related