УДК 004
Метод сингулярного разложения в задачах прогнозирования пользовательского интереса при рекомендации товаров и услуг
Гордеев Дмитрий Владимирович – аспирант Российского государственного социального университета.
Аннотация: В статье рассмотрены основные методы построения рекомендательных систем, а также даны определения основных подходов в построении рекомендательных систем. Рассматривается задача коллаборативной фильтрации в условиях высокой размерности и сильной разреженности данных. Для решения этой задачи предлагается использовать математическую технику факторизации матриц низкого ранга.
Ключевые слова: рекомендательные система, коллаборативная фильтрация, контентная фильтрация, матричная факторизация, прогнозирование.
Рекомендательные системы – совокупность математических методов и программных сервисов, анализирующих тенденции и предпочтения отдельных людей (клиента, потребителя, пользователя) и пытаются предсказать, что их заинтересует.
Целью данных систем является предсказывание предпочтений потребителя с максимальной точностью и формирование для него персональных предложений, наиболее подходящих товаров или услуг.
Рекомендательные системы широко применяются в современном мире. Использование данного класса систем можно встретить при рекомендации книг, кинофильмов, музыкальных композиций, товаров и продуктов и т.д. Имея различные области применения и назначения, рекомендательные системы можно разделять по различным параметрам: цели, предмету, степени персонализации.
Так, если рекомендательная система формирует предложения контента (фильмы, книги, новости и т.п.), то основной целью данной системы является привлечь пользователя к потреблению новой информации. В данном случае, предложение основано, как на действиях самого пользователя, так и на новизне, различных оценках и популярности данного контента у других пользователей.
При рекомендации потребителю купить товары, например повседневного спроса система имеет иные задачи, а именно не только предложить новые товары, учитывая контекстные действия потребителя, но и «подсветить» часто покупаемые, основываясь на его истории потребления. Тут основные цели системы – повысить средний чек, расширить корзину потребления и лояльность потребителя.
Рекомендательные системы предоставляют ряд преимуществ для потребителя и поставщика товаров/услуг. Для потребителя это в первую очередь представление рекомендаций по товарам/услугам, которые потенциально могли бы вызвать у него интерес и могли бы быть ему полезны исходя из анализа его потреблений и предпочтений. Поставщик услуг/товаров также имеет ряд преимуществ:
- Увеличение количества продаж. Одна из важных причин внедрения и рекомендательной системы. Как следствие использования такого класса интеллектуальной системы является повышение коэффициента конверсии потребителей.
- Продвижение товаров/услуг. Продажа разнообразного товара. Благодаря рекомендательной системе происходит продвижения товаров и услуг, которые могли бы остаться не замеченные потребителями.
- Перекрестные продажи. Рекомендательные системы при продвижении товара предлагают «сопутствующие» товары/услуги, которые связанны с купленным товаром/услугой.
- Повышение лояльности. Потребители работают с теми платформами/магазинами, где качественный и удобный сервис, а также, где присутствуют релевантные предложения и были удовлетворены их потребности.
- Данные для проведения анализа потребительского спроса.
От поставленных целей, задач и требуемых характеристик зависит выбор одного из подходов в реализации рекомендательной системы.
Основные методики построения рекомендательных систем
Можно выделить несколько основных подходов при построении рекомендательной системы: контентно‑ориентированная и коллаборативная фильтрация.
Контекстно-ориентированная
Контекстно-ориентированный подход основывается на предположении, что потребителю интересны те товары, которые похожи на товары, приобретенные им ранее [4,2]. Схожесть товаров определяется на основе признаков, характеризующих товар. Ярким примером рекомендательной системы, основанной на контекстно-ориентированном подходе, является система рекомендации фильмов в онлайн кинотеатре. В данном случае система ищет сходства между фильмами основываясь на следующих признака, описывающих фильм: жанр, режиссер, актеры, киностудия, год и т.д. Данный подход является достаточно простой и хорошо решает определенный круг задач. Основная трудность данном подходе это выделение признаков характеризующий объект.
Коллаборативная фильтрация
Основная идея рекомендательных систем, основанных на подходе коллаборативной фильтрации, заключается в использовании так называемого «группового интеллекта». На основе анализа накопленных данных система рекомендует те продукты, которыми уже интересовалась группа пользователей с похожими интересами, а данный пользователь пока еще нет. Суть метода в нахождении отношений между пользователями или товарами (элементами) [3]. Вначале находятся сходства пользователей на основе данных о предпочтениях по элементам. Далее рекомендации даются на основе похожих пользователей.
В основе коллабаративной фильтрации лежит матрица предпочтений (user-item matrix) – сопоставлении пользователей и товаров (или услуг, новостей и т.д.).
Рисунок 1. Матрица предпочтений.
В коллаборативной фильтрации выделяют два подхода: на основе пользователя и на основе продукта (элемента).
На основе пользователя
Данный подход формирует предложения пользователю на основании предпочтений группы пользователей схожих своими вкусами с рассматриваемым. На первом шаге, на основе данных о предпочтениях и интересах, определяется множество пользователей, которые схожи по предпочтениям и интересам с рассматриваемым пользователем. На втором шаге, у группы схожих пользователей отфильтровываются те предпочтительные элементы, но еще не были у рассматриваемого пользователя. Далее, эти элементы рекомендуются рассматриваемому пользователю.
Точность рекомендации напрямую зависит от полноты и богатства признаков в наборе данных. Как попутный результат, коллаборативная фильтрация на основе пользователя неявно выявляет отношение между рекомендованными товарами и предпочтениями пользователя.
На основе продукта (элемента)
В отличии от коллаборативной фильтрации на основе пользователя, данный метод ищет сходство в элементах, а затем рекомендует похожие элементы на основе существующего выбора пользователя. В частности, на первом шаге, коллаборативная фильтрация на основе элемента вычисляет сходство между элементами в соответствии с данными о поведении пользователя, а затем генерирует список рекомендаций для целевого пользователя на основе сходства элементов и поведения пользователя [9].
Исходя из сути метода коллаборативной фильтрации на основе продукта, данный метод не требует от новых пользователей данных об их интересах. Как только пользователь выберет тот или другой продукт в системе, то можно сразу же рекомендовать продукты, которые похожи на выбранный. Данный метод быстро реагирует на поведение пользователя, т.е. новый выбор (не похожий на ранее сделанный выбор) пользователя приведет к изменению рекомендации в реальном времени. Однако точно точность метода коллаборативной фильтрации на основе продукта ниже, чем у метода коллаборативной фильтрации на основе пользователя поскольку первый не учитывает отличий в интересах разных пользователей [1,8].
Постановка задачи прогнозирования пользовательского интереса
Расчет коэффициентов сходства товаров с товарами, которые пользователь ранее приобрел есть не что иное, как прогнозирование пользовательского интереса. Таким образом, задачу прогнозирования пользовательского интереса можно сформулировать следующим образом.
Пусть задано
- U = {,..., |U|} – множество пользователей, где n – количество пользователей;
- I = {,..., |I|} - множество товаров/услуг, с которыми могут взаимодействовать пользователи, где m – количество товаров/услуг (объектов).
Исходные данные
– транзакционные данные
– пространство описаний транзакций
– матрица предпочтений (отношений) пользователей к объектам
– оценка пользователем объекту
– бинарные данные
или – рейтинги (порядковые или целые)
Задача
- предсказание незаполненных ячеек ;
- ранжирование списка top-n рекомендаций для и для .
Для решения задачи коллаборативной фильтрации существуют различные алгоритмы, которые используется во многих рекомендательных системах.
Матричное разложение
Рассмотрим матрицу . Если ранг матрицы будет меньше либо равен , то можно найти такие матрицы , , где будет справедливо выражение:
(1)
В том случае, если ранг матрицы больше k, то приближением ранка k матрицы R будем следующее выражение
, (2)
где , – фактор-матрицы приближения. Ниже будет представлен способ матричного приближения для определенного ранга k матрицы R. Данный способ относится к латентным методам на основе сингулярного разложения матрицы .
Алгоритм сингулярного разложения (singular value decomposition - SVD) – данный алгоритм основан на решении оптимизационной задачи, а именно минимизируется квадратическое отклонение для элементов матрицы предпочтений, при приближении ранга k [5]
(3)
где – элемент u-й строки, i-го столбца матрицы ; – u-я строка матрицы X; – i-я строка матрицы Y. При этом матрицы X, Y определены с точностью до невырожденного линейного преобразования , так как:
(4)
Список литературы
- Клюквин Р.В., Белов Ю.С. Использование косинуса схожести в рекомендательных системах на основе коллаборативной фильтрации // Электронный журнал: наука, техника и образование. 2017. № 2 (12). С. 131-136.
- Barsegyan A.A. [et al.]. Data analysis technologies: DataMining, VisualMining, TextMining, OLAP [In Russian]. Moscow: BHV-Petersburg‖ Publ.; 2007.
- Bokde D., Girase S., Mukhopadhyay D. Matrix factorization model in collaborative filtering algorithms: A survey, Procedia Computer Science 2015; 49: 136-146.
- Chubakova I.A. Data Mining [In Russian]. Moscow: Binom‖ Publ.; 2008.
- Cremonesi P., Koren Y., Turrin R. Performance of recommender algorithms on top-n recommendation tasks. RecSys 2010.
- Introduction to recommendation engine. – https://dataaspirant.com/2015/01/24.
- Nee D. Collaborative filtering using alternating least squares. –http://danielnee.com/art/1999.
- Shams B., Haratizadeh S. Graph-based collaborative ranking // Expert Syst. Appl., 2017, vol. 67, no. C, pp. 59-70.
- Wang Q., Zhang T., Rong Z. Collaborative Filtering Similarity Algorithm Using Common Items// WHICEB, 2017, vol. 16.