Научная статья на тему 'РАЗРАБОТКА РЕКОМЕНДАТЕЛЬНОЙ СИСТЕМЫ НА ОСНОВЕ СЕССИЙ С ИСПОЛЬЗОВАНИЕМ МНОГОУРОВНЕВОЙ СИСТЕМЫ ОТБОРА КАНДИДАТОВ'

РАЗРАБОТКА РЕКОМЕНДАТЕЛЬНОЙ СИСТЕМЫ НА ОСНОВЕ СЕССИЙ С ИСПОЛЬЗОВАНИЕМ МНОГОУРОВНЕВОЙ СИСТЕМЫ ОТБОРА КАНДИДАТОВ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
407
45
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБУЧЕНИЕ РАНЖИРОВАНИЮ / МАШИННОЕ ОБУЧЕНИЕ / РЕКОМЕНДАТЕЛЬНАЯ СИСТЕМА / МЕТРИКИ РАНЖИРОВАНИЯ / CATBOOST

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Мохов Алексей Игоревич, Кислинский Вадим Геннадьевич, Алексейчук Андрей Сергеевич

В статье рассматривается рекомендательная система, основанная на сессиях - взаимодействиях вида «пользователь-объект», которые происходят в течение некоторого времени - и производится сравнение подходов к построению рекомендаций с ранжированием и без него. В работе рассматриваются парные критерии для задач ранжирования, а также методы подбора кандидатов на основе векторных представлений для объектов (товаров). В ходе исследования была разработана рекомендательная система и ПО для сравнения оценки двух и более подходов к задаче рекомендации. Для оценки модели используются метрики качества, применяемые в задачах ранжирования и построения рекомендаций. Приведены результаты сравнения алгоритмов обучения ранжированию на реальных данных.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Мохов Алексей Игоревич, Кислинский Вадим Геннадьевич, Алексейчук Андрей Сергеевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

SESSION BASED RECOMMENDER SYSTEM WITH MULTISTAGE CANDIDATE SAMPLING

Understanding users' preferences is a challenging task especially with a huge amount of items. Modern recommender systems are keen to solve this task by applying state-of-the-art methods of candidate sampling and simple heuristics in couple with Machine Learning ranking algorithms. This paper presents an algorithm of candidate sampling from three different sources followed by a ranking algorithm. These two stages form a session-based recommender system that is capable of building a user's probable preferences based on its current session. For candidate sampling, we use a language model (Word2Vec) and sparse vectors for item representations, and the most popular items from a dataset. Each stage is divided into multiple substages making it really simple to add new candidate sources or remove existing ones. The same technique can be easily applied to ranking algorithms - one can remove a ranking algorithm or add the new one in order to blend model predictions maximizing Precision or Recall metrics as well. We also show the importance of ranking algorithms in recommender systems by measuring Learning to Rank (L2R) specific metrics on test data. There are several ranking algorithms in this paper. All of them belong to the pairwise algorithms subclass. Such algorithms as LambdaRank, YetiRank, and StochasticRank are used in comparison to non-ranked recommendations. We use CatBoost implementation of gradient boosting and PyTorch to build a neural ranking net. As a result of the experiment, we get a ready end-to-end recommender system pipeline with flexible modules that are easy to add/remove and show the benefits of ranking models with recommendations on real data.

Текст научной работы на тему «РАЗРАБОТКА РЕКОМЕНДАТЕЛЬНОЙ СИСТЕМЫ НА ОСНОВЕ СЕССИЙ С ИСПОЛЬЗОВАНИЕМ МНОГОУРОВНЕВОЙ СИСТЕМЫ ОТБОРА КАНДИДАТОВ»

Труды МАИ. 2022. № 126 Trudy MAI, 2022, no. 126

Научная статья УДК 004.891

DOI: 10.34759/Ы-2022-126-20

РАЗРАБОТКА РЕКОМЕНДАТЕЛЬНОЙ СИСТЕМЫ НА ОСНОВЕ СЕССИЙ С ИСПОЛЬЗОВАНИЕМ МНОГОУРОВНЕВОЙ СИСТЕМЫ ОТБОРА КАНДИДАТОВ

Мохов Алексей Игоревич1, Кислинский Вадим Геннадьевич2, Алексейчук Андрей Сергеевич3

1,3Московский авиационный институт (национальный исследовательский университет), МАИ, Москва, Россия

2Московский физико-технический институт (национальный исследовательский

университет), МФТИ, Долгопрудный, Московская обл., Россия

1AIMokhov@mai.ru

2kislinskiy.vg@phystech.edu

3alexejchuk@gmail.com

Аннотация. В статье рассматривается рекомендательная система, основанная на сессиях - взаимодействиях вида «пользователь-объект», которые происходят в течение некоторого времени - и производится сравнение подходов к построению рекомендаций с ранжированием и без него. В работе рассматриваются парные критерии для задач ранжирования, а также методы подбора кандидатов на основе векторных представлений для объектов (товаров). В ходе исследования была

разработана рекомендательная система и ПО для сравнения оценки двух и более подходов к задаче рекомендации. Для оценки модели используются метрики качества, применяемые в задачах ранжирования и построения рекомендаций. Приведены результаты сравнения алгоритмов обучения ранжированию на реальных данных.

Ключевые слова, обучение ранжированию, машинное обучение, рекомендательная система, метрики ранжирования, CatBoost

Для цитирования. Мохов А.И., Кислинский В.Г., Алексейчук А.С. Разработка рекомендательной системы на основе сессий с использованием многоуровневой системы отбора кандидатов // Труды МАИ. 2022. № 126. DOI: 10.34759/trd-2022-126-20

Original article

SESSION BASED RECOMMENDER SYSTEM WITH MULTISTAGE

CANDIDATE SAMPLING

Alexey I. Mokhov1, Vadim G. Kislinskiy2, Andrey S. Alekseychuk3

1,3Moscow Aviation Institute (National Research University), MAI, Moscow, Russia

2Moscow Institute of Physics and Technology (National Research University), MIPT,

Dolgoprudny, Moscow Region, Russia

1AIMokhov@mai.ru

2kislinskiy.vg@phystech.edu

3alexejchuk@gmail.com

Abstract. Understanding users' preferences is a challenging task especially with a huge amount of items. Modern recommender systems are keen to solve this task by applying state-of-the-art methods of candidate sampling and simple heuristics in couple with Machine Learning ranking algorithms. This paper presents an algorithm of candidate sampling from three different sources followed by a ranking algorithm. These two stages form a session-based recommender system that is capable of building a user's probable preferences based on its current session. For candidate sampling, we use a language model (Word2Vec) and sparse vectors for item representations, and the most popular items from a dataset. Each stage is divided into multiple substages making it really simple to add new candidate sources or remove existing ones. The same technique can be easily applied to ranking algorithms -one can remove a ranking algorithm or add the new one in order to blend model predictions maximizing Precision or Recall metrics as well. We also show the importance of ranking algorithms in recommender systems by measuring Learning to Rank (L2R) specific metrics on test data. There are several ranking algorithms in this paper. All of them belong to the pairwise algorithms subclass. Such algorithms as LambdaRank, YetiRank, and StochasticRank are used in comparison to non-ranked recommendations. We use CatBoost implementation of gradient boosting and PyTorch to build a neural ranking net. As a result of the experiment, we get a ready end-to-end recommender system pipeline with flexible modules that are easy to add/remove and show the benefits of ranking models with recommendations on real data.

Keywords: learning to rank, recommender system, machine learning, ranking metrics, CatBoost

For citation: Mokhov A.I., Kislinskiy V.G., Alekseychuk A.S. Session based recommender system with multistage candidate sampling. Trudy MAI, 2022, no. 126. DOI: 10.34759/trd-2022-126-20

Рекомендательные системы стали фундаментальным инструментом для принятия решений, помогая делать более эффективный и умный выбор практически во всех сферах жизни. Их роль стала особенно важна в эпоху цифровой экономики, когда пользователи делают выбор из огромного множества товаров и услуг. Современные рекомендательные системы, основанные на контенте и на коллаборативной фильтрации, возникли благодаря успешным исследованиям в области рекомендательных систем. Однако они заточены на использование исторических данных пользователя с целью выявления статических предпочтений. Такой сценарий использования несёт в себе предположение о равноважных взаимодействиях пользователя с товарами на протяжении всего времени. В действительности данное предположение может быть неверно в силу двух факторов. Во-первых, предпочтения пользователя зависят не только от его долгосрочных действий, но и от краткосрочных, которые составляют лишь малую часть от первых. Во-вторых, предпочтения пользователя относительно товаров склонны меняться со временем и являются скорее динамичными, нежели статичными.

В связи с данными недостатками пристальное внимание уделяется рекомендательным системам на основе сессионной информации. В отличие от подходов, которые были упомянуты выше, такие системы учитывают предпочтения на основе сессий, которые создаются в процессе потребительской активности.

Каждая сессия состоит из некоторых взаимодействий вида «пользователь-товар», которые происходят в течение некоторого времени, например, добавление товара в корзину, просмотр товара и т.д. Принимая сессию в качестве входных данных, сессионная РС способна извлекать информацию как о кратковременных предпочтениях пользователя, так и о изменениях предпочтений с течением времени, что помогает делать своевременный и точный прогноз (рекомендацию).

В рекомендательных системах важным этапом построения рекомендаций является еще и ранжирование. Задача ранжирования является ключевой частью многих информационных систем: поисковые системы, системы оперативного анализа информации [20], системы поддержки принятия решений [21, 22] и др. К настоящему моменту разработано множество подходов к ранжированию. Самый простой из них -поточечное ранжирование (pointwise ranking), где каждый документ в поисковой выдаче рассматривается как единая сущность, а ранжирование строится на основе модели регрессии, обученной на оценках релевантости. Более сложные подходы основываются на отношениях для нескольких объектов в рамках одной поисковой выдачи - попарное ранжирование (pairwise ranking), списочное ранжирование (listwise ranking) [11, 12]. Регрессионные модели в свое время показали неэффективность, поскольку оптимизируемый функционал значительно отличается от метрик качества в задачах ранжирования.

Самые первые работы по рекомендательным системам освещали коллаборативную фильтрацию как инструмент для подбора кандидатов. Среди множества методов коллаборативной фильтрации наиболее популярным является матричная факторизация [9]. Это такой алгоритм, который проецирует пользователей

и объекты в одно пространство и оценивает предпочтения пользователей для конкретного продукта как скалярное произведение двух векторов. Другие подходы оценивают схожесть между товарами по заранее вычисленной матрице и таким образом выдают похожие товары как рекомендацию [9, 10]. Также в последнее время есть множество работ, которые показывают, как использование нейросетевых методов помогает улучшать качество рекомендательных систем. Зачастую алгоритм для подбора кандидатов строят на методах, которые используются для обработки естественного языка. Это объясняется тем, что история действий пользователя на сайте или история его покупок представляется в виде последовательности, аналогичной последовательности слов в предложениях. Например, в [16] в качестве алгоритма для подбора кандидатов используют BERT - нейросетевую модель для естественного языка на основе механизма внимания (attention), которая произвела прорыв в сфере обработки естественного языка и до сих пор остается наиболее частым выбором для задач классификации, перевода и извлечения векторных представлений из текста [5].

В задачах ранжирования принято выделять два вида объектов: q (запрос) и d (документ), а также функцию f(q, d), с помощью которой строится ранжирование документов. Ранее такие задачи решались с помощью моделей без обучаемых параметров, например, BM25 [15]. Здесь f(q,d) рассматривается как условная вероятность P(rlq,d), где q и d обозначают запрос и документ соответственно, г = = 1, если объект является релевантным для данного запроса, и г = 0 в противном случае. В модели Language Model for IR (LMIR) f(q, d) представлена как P(qld) [4].

Такие модели не требуют обучения, поскольку значения вероятностей могут быть вычислены по запросу и документу явным образом.

Применение моделей машинного обучения для получения ранжирующих моделей открыло новую область для исследования. В первом десятилетии XXI века было предложено множество решений задач ранжирования с использованием машинного обучения, и большинство из моделей, предложенных тогда, используются и по сей день [1, 3]. Были предложены парные функционалы качества LambdaRank и RankNet, которые изначально предполагались для использования с нейронными сетями, а затем появились их модификации с использованием градиентного бустинга [2].

На данный момент все ещё остается проблема оптимизации негладких функционалов качества и применения списочных (listwise) критериев в задачах ранжирования. Так, в [19] говорится о новом методе оптимизации для метрик ранжирования с использованием стохастического сглаживания и оценкой градиентов при помощи частного интегрирования. Поднимается проблема типичных метрик ранжирования, которые определены для списка объектов, но при этом их нельзя оптимизировать напрямую, так как они являются кусочно-постоянными функциями, а поэтому не являются ни выпуклыми, ни гладкими, а множество современных попыток аппроксимировать эти метрики гладкими функционалами страдают от смещения и не являются выпуклыми, поэтому существующие алгоритмы могут гарантировать нахождение только локального минимума. При этом в статье нет проблемы воспроизводимости [17], поскольку предложенный метод доступен в библиотеке CatBoost [6]. В другой статье про обучение ранжированию также

предлагается метод для оптимизации списочных критериев качества, причем упоминается отсутствие корреляции между функционалом качества и целевой метрикой. Используя результат другой работы, авторы получают дифференцируемую аппроксимацию функции сортировки с помощью релаксации реальной функции качества [7, 14].

2. Математическая постановка задачи

Рассмотрим построение рекомендательной системы, предназначенной для выработки рекомендаций и ранжирования рекомендуемых товаров для пользователей интернет-магазина. Предполагается, что последовательность взаимодействий пользователя является неупорядоченной с неравномерными интервалами времени между взаимодействиями, то есть подходит под определение сессии в сессионных рекомендательных системах (СРС).

Исходными данными являются множество сессий 5 (|5| = I) и множество товаров I. Сессия 5 задаётся набором из трёх подмножеств ^еы Е 1,1саг1 Е 1,10гйег Е I, каждое из которых указывает на тип взаимодействия во время сессии: «просмотр», «добавление в корзину», «заказ». Требуется для каждой сессии 5 Е 5 построить список из N (задаваемый параметр) наиболее релевантных товаров / Е I по входным данным 1Сап. Каждый из построенных списков необходимо отсортировать в порядке убывания релевантности товаров. Релевантными в данном случае считаются товары, которые принадлежат Ьогаег для конкретной сессии. Такие товары имеют значение релевантности 1 внутри сессии, остальные - 0.

Задачу построения рекомендаций можно разбить на два этапа: этап подбора кандидатов и этап ранжирования.

Этап подбора кандидатов заключается в выборе алгоритма подбора рекомендаций д, осуществляющего фильтрацию списка товаров в соответствии с предполагаемыми интересами пользователя:

dijiview}' {icartY) = ftl' ^N] = R> где [iview], [icart] - списки просмотренных и добавленных в корзину товаров для кой сессии, а [i^,..., i1^] - подобранные рекомендации согласно заданным действиям.

На этапе ранжирования необходимо определить алгоритм ранжирования /, позволяющий упорядочить множество объектов в списке рекомендаций в порядке убывания их релевантности. Для этого для каждого объекта ti в списке рекомендаций R вычисляется вектор вещественных значений Xi - вектор признаков, по которому в дальнейшем будет определяться положение элемента в упорядоченном списке Rranked. Алгоритм f отображает каждый вектор признаков Xi в вещественное значение rt:

f(x0.....ВД = Ь.....rN] =r.

Таким образом, список всех векторов признаков X = (Х0,.. .,XN) отображается в вектор вещественных значений г. Соответственно, каждому элементу Ri Е R будет соответствовать значение rt, которое указывает на его порядок в итоговом списке

Rranked.

Список Rranked обладает свойством:

rRi > rR.\i'j = l'...'N'i<j,

то есть в рамках конкретной сессии список Rranked будет содержать элементы,

упорядоченные по убыванию значения rt.

Основная задача, рассматриваемая в настоящей статье - разработка сквозной (end-to-end) рекомендательной системы с ранжированием списка рекомендаций по релевантности с использованием функционала ранжирования на основе нейронных сетей.

3. Модели подбора товаров-кандидатов

На первом этапе для подбора товаров-кандидатов проведем сравнение трех моделей:

• векторное представление товаров на основе языковых моделей;

• векторное представление товаров с использованием разреженных векторов;

• выбор наиболее популярных товаров.

В качестве наиболее популярных товаров выбирается заданное количество наиболее заказываемых товаров за месяц за исключением промо -товаров (например, тех, которые кладутся в заказ в качестве подарка).

3.1. Векторное представление товаров на основе языковых моделей

Векторное представление товаров основано на вычислении векторных представлений (embeddings) - векторов заданной размерности, сопоставленных каждому товару. Подобный подход широко используется в моделях обработки текстов на естественном языке. Для каждого слова строится его векторное представление, отражающее отношения семантического сходства между ним и другими словами, входящими в словарь выбранного языка. Для построениия векторных представлений слов разработан ряд моделей обработки больших корпусов

текстов, в частности, модель Word2Vec [13]. Аналогичную модель можно использовать и для построения векторных представлений товаров. Введем метрику косинусной схожести d для пары векторов (х,у), где х Е Rn,y Е Rn:

(х, у)

а(х,у) = Ш •

где (х,у) - скалярное произведение двух векторов х и у, а \х\ - норма вектора х. Эта метрика отражает отношение близости между векторами в Rn и, соответственно, наличие связи между соответствующими товарами с точки зрения покупателя. Обучая модель Word2Vec, используя данные сессий в качестве обучающей выборки, можно получить векторные представления, отражающие частоту встречаемости товаров в одной сессии. Таким образом, векторы пар товаров, встречающихся часто в одной сессии, будут иметь значение метрики косинусной схожести выше, чем для товаров, которые появлялись в одной сессии редко или вовсе не появлялись. Для подбора кандидатов выбираются товары с наибольшим значением этой метрики.

3.2. Векторное представление товаров с использованием разреженных

векторов

Модель представления товаров с использованием разреженных (sparse) векторов основана на построении матрицы, отражающей наличие товаров в рамках каждой сессии. В качестве примера рассмотрим следующий список сессий и участвующих в них товаров (рис. 1).

session

Рисунок 1. Список сессий

Составим такую матрицу А, где строки будут отвечать за сессии, а столбцы - за товары. Тогда элемент матрицы с индексами i,j будет равен 1, если товар с индексом j встречался в сессии i, и 0 в противном случае (рис. 2).

sess¡on_0 1110 0 1 sess¡on_1 0 10 111 sess¡on_2 0 11110

Рисунок 2. Разреженная матрица

В реальных приложениях матрица А является разреженной, поскольку в рамках каждой сессии участвует лишь малая доля всего ассортимента товаров, и большинство элементов матрицы равно нулю. Используя матрицу А, можно посчитать косинусную схожесть между любой парой товаров:

■ ( м (а'Ъ)

sim(a, b) = ——, Hlbl

где a,b - произвольные столбцы А. Применив данную формулу ко всем возможным парам а,Ь из А, получаем матрицу А' размерности N X N, где N - число уникальных товаров, а элементами этой матрицы являются попарные схожести между товарами.

В дальнейшем для подбора кандидатов используется только матрица А' путем нахождения наиболее близких товаров по метрике косинусной схожести.

Все три рассмотренные модели подбора товаров-кандидатов можно объединить в следующий алгоритм. Параметрами алгоритма являются значения т. - число рекомендаций на товар и К - общее число рекомендаций на сессию.

1. На вход подается сессия а = {idQ,... ,idn}, где каждый элемент id^ представляет собой идентификатор товара из данной сессии.

2. Для каждого товара id^ находится т. наиболее близких товаров в соответствии с выбранной моделью. Так как используется три модели, то для каждого товара выходит 3т схожих товаров. В итоге для всей сессии находится 3тп товаров.

3. Каждая такая рекомендации сортируется по убыванию значения схожести г^. Из сортированного списка выбирается максимум К товаров.

4. Методы ранжирования рекомендаций

Для получения окончательной рекомендации нужно, получив список товаров-кандидатов, найти среди них наиболее релевантные, а затем ранжировать список по значению релевантности. В таком случае лучше использовать либо парные (pairwise), либо списочные (listwise) подходы к ранжированию, так как при обучении они способны напрямую учитывать релевантность объектов и их расположение относительно друг друга. В данной статье рассматриваются только парные критерии ранжирования, поскольку они требуют значительно меньше ресурсов, но при этом их качество зачастую не отличается со списочных критериев. Применение ранжирования позволяет значительно повысить метрики ранжирования и тем самым улучшить качество рекомендаций.

Рассмотрим 4 метода возможной поисковой выдачи:

• без ранжирования (просто порекомендуем популярные товары);

• ЬашЬёаЯапк;

• УейЯапк;

• 81;осЬав1;юКапк.

4.1. Модели ранжирования

Модель LambdaRank использует идею множителя Я, который в оригинальной статье [3] был получен как изменение значения метрики ИОСО при перестановке двух элементов ранжированного списка. Исследователи выяснили, что при домножении градиентов на значение Я = ЛЫОСС можно значительно быстрее оптимизировать желаемую метрику, которой в случае задач информационного поиска, зачастую является ИОСО. В качестве реализации используется собственный код, написанный с использованием библиотеки машинного обучения руТогск

Авторы модели YetiRank продолжают результаты исследования [3] и используют также парный подход к ранжированию, определяя оптимизируемую функцию как

Ь

Zeл■l (ч)

где индексы (1,]} - это все возможные индексы пар документов для конкретного

запроса, wij - вес конкретной пары из запроса, Х^Х] - предсказанные значения функции ранжирования для документов I и ] соответственно. Дальнейшие

рассуждения приведены в оригинале статьи [8]. Данный метод реализован в проекте с открытым исходным кодом CatBoost [6].

Авторы метода StochasticRank [18] предлагают новый метод для оптимизации ранжирующего функционала, при этом адаптируя результаты своих предыдущих работ. Например, в качестве модели оптимизации используется SGLB (Stochastic Gradient Langevin Boosting), который гарантирует нахождение глобального минимума для мультимодальных функций, а также превосходит классический градиентный бустинг по результатам экспериментов. В своей работе авторы предлагают метод Coordinate Conditional Sampling, который позволяет получать оценки градиентов для любых ранжирующих функционалов с низкой дисперсией, а также метод для ускорения сходимости алгоритма (Scale-Free Acceleration) [19]. Метод также реализован в проекте CatBoost [6].

4.2. Метрики ранжирования

Для определения метрик ранжирования введем следующие обозначения. Пусть Q = [q1, ■ ■■,qn} - множество запросов на составление рекомендаций, отправленных

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

информационной системе, Dq = {dq1, ■■■,dqmc^ - документы, которые получены для

запроса q, а Lq = {lq1, ■.., lqmq} - истинные значения релевантности для документов

из Dq. Необходимо получить такую функцию f = f(dqi) = xqi, которая выдает значение релевантности xqi для документа dqi. Затем полученные значения xqi используются для ранжирования документов Dq путем их сортировки по убыванию значения xqi.

Для оценки качества ранжирования будем использовать метрики NDCG, MAP и MRR. Это классические метрики качества в задачах ранжирования, их особенность заключается во взвешивании каждого из объектов в списке рекомендаций (или поисковой выдаче) таким образом, чтобы больший вес имели объекты, которые находятся в начале списка. Все они принимают значения от 0 до 1 и показывают отклонение действительного ранжирования от идеального ранжирования, при котором все релевантные объекты находятся выше в выдаче, чем нерелевантные. Normalized Discounted Cumulative Gain (NDCG) определяется для запроса q и набора документов dq, полученных для запроса q, как

mq

DCG(q) = ^

Iqk

ы (к + 1)'

где lqk - это известная релевантность для документа под индексом к в выдаче для поискового запроса q. Порядок определяется сортировкой по значению релевантности в порядке убывания = f(dqi) для документа под индексом i из выдачи Dq. В таком случае значение NDCG определяется как отношение DCG полученной выдачи к значению DCG для идеальной выдачи (если бы сортировка была по действительным значениям релевантности, а не по полученным).

Используя такие же обозначения, введем метрику Average Precision, которая определяется через классическую метрику задач классификации - Precision:

Precision^, к) =

^ I{dqi,k) Mil '

где l(dqi,k) показывает, является ли данный документ релевантным для данного запроса, если рассматривать первые к элементов выдачи. Average Precision регулируется целочисленным параметром К и определяется так:

Precisionidj, к)

АР@К = t*=l- -

К

Метрика Mean Average Precision at К (MAP@K) определяется как среднее всех значений АР@К для всего множества запросов.

Ещё одной метрикой для задач ранжирования является MRR (Mean Reciprocal Rank). Эта метрика проста и в реализации, и для интуитивного понимания. Она показывает средний ранг первого релевантного документа в выдаче. Рангом в данном случае называется порядок элемента i Е [1,..., п}, где п - размер ответа на поисковый запрос:

М

MRR - — V 1

IQI ranki' i=1

где гапк^ - ранг первого релевантного документа в выдаче, а Q - всё множество запросов.

5. Экспериментальное сравнение методов выдачи рекомендаций

Для сравнительного анализа приведенных методов выдачи рекомендаций проведен ряд экспериментов с использованием данных о сессиях одного из действующих интернет-магазинов. Каждая сессия представляет собой список просмотренных, добавленных в корзину и заказанных товаров. Время с момента

начала сессии до ее завершения составляет не более 24 часов. Таким образом, мы предполагаем, что у пользователя в рамках одной сессии сохраняются предпочтения и он смотрит схожие товары. В полной выборке содержится 1 млн уникальных товаров, а также 6 млн сессий.

Для получения репрезентативных оценок метрик эксперимент проводится несколько раз с усреднением полученных результатов. Из всей выборки каждый раз выбирается срез из 50 тысяч случайных сессий, которые разбиваются на обучающую и тестовую выборки в соотношении 4:1 (40000 на обучение и 10000 на тест).

Проведение эксперимента состоит из 5 этапов:

1. Обработка исходных данных.

2. Получение моделей для векторных представлений.

3. Подбор кандидатов и генерация признаков.

4. Обучение моделей ранжирования.

5. Оценка моделей ранжирования.

Эти пункты применяются при каждом запуске эксперимента, после чего проводится оценка полученных моделей на тестовой выборке. В результате для каждой конфигурации эксперимента получается 12 итоговых значений (по 3 метрики на каждую из четырех моделей ранжирования).

В результате экспериментирования и подсчета метрик получены следующие результаты (табл. 1).

Таблица 1

Сравнительный анализ метрик ранжирования

Метод Метрика Значение метрики

УейЯапк N000^0 0.974323

StochasticRank NDCG@10 0.975185

ЬашЬёаЯапк NDCG@10 0.967434

N0 Яапк N000^0 0.09074

УейЯапк МАР@10 0.106497

StochasticRank MAP@10 0.108269

ЬашЬёаЯапк МАР@10 0.083618

N0 Яапк МАР@10 0.001056

УейЯапк МЯЯ 0.134089

StochasticRank MRR 0.136322

ЬашЬёаЯапк МЯЯ 0.104541

N0 Яапк МЯЯ 0.001326

При рассмотрении примеров рекомендаций можно увидеть, что при использовании моделей ранжирования (рис. 4) пользователю рекомендуются товары, которые часто покупают вместе и они могут быть полезны пользователю, а, следовательно, выше вероятность их покупки. Если ранжирование не используется (рис. 5), то в рекомендации попадают товары, очевидно не релевантные текущей сессии.

Рисунок 4. Рекомендация с ранжированием Рисунок 5. Рекомендация без ранжирования

Исходный код программ, использованных при проведении эксперимента, опубликован по ссылке https://github.com/HuviX/my recom.

6. Заключение

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

Разработанное ПО может быть использовано для исследования качества работы рекомендательных систем, систем подбора товаров-кандидатов или алгоритмов ранжирования, а также в качестве готового сквозного решения, способного обеспечивать высокое качество рекомендаций при обучении на сессионных данных.

Список источников

1. Burges C., Shaked T., Renshaw E., Lazier A., Deeds M., Hamilton N., Hullender G. Learning to rank using gradient descent // 22nd International Conference on Machine learning, 2005, pp. 89-96. DOI: 10.1145/1102351.1102363

2. Burges C.J. From ranknet to lambdarank to lambdamart: An overview // Learning, 2010, vol. 11, no. 81. URL: https://www.microsoft.com/en-us/research/publication/from-ranknet-to-lambdarank-to-lambdamart-an-overview/

3. Burges C., Ragno R., Le Q. Learning to rank with nonsmooth cost function // Advances in neural information processing systems, 2006, vol. 19, pp. 193-200. DOI: 10.5555/2976456.2976481

4. Croft W.B., Metzler D., Strohman T. Search engines: Information retrieval in practice, Reading: Addison-Wesley, 2010, vol. 520, pp. 131-141. URL: https://www.isi.edu/people/metzler/publications/search_engines_information_retrieval_pr actice

5. Devlin J., Chang M.W., Lee K., Toutanova K. Bert: Pre-training of deep bidirectional transformers for language understanding // Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, 2018, vol. 1, pp. 4171-4186. DOI: 10.18653/v1/N19-1423

6. Prokhorenkova L., Gusev G., Vorobev A., Dorogush A., Gulin A. CatBoost: unbiased boosting with categorical features // Advances in Neural Information Processing Systems 31 (NeurIPS 2018), 2008, pp. 6638-6648. URL: https://arxiv.org/pdf/1706.09516.pdf

7. Grover, A., Wang, E., Zweig, A., and Ermon, S. Stochastic optimization of sorting networks via continuous relaxations // Proceedings of the International Conference on Learning Representations, 2019. URL: https://arxiv.org/pdf/1903.08850.pdf

8. Gulin A., Kuralenok I., Pavlov D. Winning the transfer learning track of Yahoo!'s learning to rank challenge with yetirank // Learning to Rank Challenge, 2011, pp. 63-76. DOI: 10.5555/3045754.3045761

9. Koren Y. Factorization meets the neighborhood: a multifaceted collaborative filtering model // 14th ACM SIGKDD international conference on Knowledge discovery and data mining, 2008, pp. 426-434. DOI: 10.1145/1401890.1401944

10. Koren Y., Bell R., Volinsky C. Matrix factorization techniques for recommender systems // Computer, 2009, vol. 42 (8), pp. 30-37. DOI: 10.1109/MC.2009.263

11. Li H. A short introduction to learning to rank // IEICE Transactions on Information and Systems, 2011, vol. 94 (10), pp. 1854-1862. DOI: 10.1587/transinf.E94.D.1854

12. Liu T.Y. Learning to rank for information retrieval // Foundations and Trends® in Information Retrieval, 2009, vol. 3, no. 3, pp 225-331. DOI: 10.1561/1500000016

13. Mikolov T., Chen K., Corrado G., Dean J. Efficient estimation of word representations in vector space // In 1st International Conference on Learning Representations, ICLR 2013, Scottsdale, Arizona, USA, May 2-4, 2013.

14. Felix Petersen, Christian Borgelt, Hilde Kuehne, Oliver Deussen. Learning with Algorithmic Supervision via Continuous Relaxations // Proceedings of the 35th Conference

on Neural Information Processing Systems (NeurIPS 2021). URL:

esearch.ibm.com/publications/learning-with-algorithmic-supervision-via-continuous-

relaxations

15. Robertson S., Zaragoza H. The probabilistic relevance framework: BM25 and beyond, Now Publishers, Inc. 2009. DOI: 10.1561/1500000019

16. Sun F., Liu J., Wu J., Pei C., Lin X., Ou W., Jiang P. BERT4Rec: Sequential recommendation with bidirectional encoder representations from transformer // 28th ACM international conference on information and knowledge management, 2019, pp. 1441-1450. DOI: 10.1145/3357384.3357895

17. Sun Z., Yu D., Fang H., Yang J., Qu X., Zhang J., Geng C. Are we evaluating rigorously? Benchmarking recommendation for reproducible evaluation and fair comparison // In Fourteenth ACM Conference on Recommender Systems, 2020, pp. 23-32, DOI: 10.1145/3383313.3412489

18. Ustimenko A., Prokhorenkova, L. StochasticRank: Global Optimization of Scale-Free Discrete Functions // International Conference on Machine Learning, 2020, pp. 96699679, URL: https://proceedings.mlr.press/v119/ustimenko20a.html

19. Ustimenko A., Prokhorenkova L. SGLB: Stochastic Gradient Langevin Boosting // International Conference on Machine Learning, 2021, pp. 10487-10496. URL: https://deepai.org/publication/sglb-stochastic-gradient-langevin-boosting

20. Проценко П. А., Хуббиев Р.В. Методика ранжирования космических аппаратов дистанционного зондирования Земли с целью оперативного мониторинга чрезвычайных ситуаций // Труды МАИ. 2021. № 119. URL: http://trudymai.ru/published.php?ID=159756. DOI: 10.34759/trd-2021-119-18

21. Смерчинская С.О., Яшина Н.П. Агрегирование предпочтений с учетом важности критериев // Труды МАИ. 2015. № 84. URL: http://trudymai.ru/published.php?ID=62973

22. Заковряшин А.И. Особенности интеллектуальной поддержки принятия решений // Труды МАИ. 2012. № 61. URL: http://trudymai.ru/published.php?ID=35494

References

1. Burges C., Shaked T., Renshaw E., Lazier A., Deeds M., Hamilton N., Hullender G. Learning to rank using gradient descent, 22nd International Conference on Machine learning, 2005, pp. 89-96. DOI: 10.1145/1102351.1102363

2. Burges C.J. From ranknet to lambdarank to lambdamart: An overview, Learning, 2010, vol. 11, no. 81. URL: https://www.microsoft.com/en-us/research/publication/from-ranknet-to-lambdarank-to-lambdamart-an-overview/

3. Burges C., Ragno R., Le Q. Learning to rank with nonsmooth cost function, Advances in neural information processing systems, 2006, vol. 19, pp. 193-200. DOI: 10.5555/2976456.2976481

4. Croft W.B., Metzler D., Strohman T. Search engines: Information retrieval in practice, Reading: Addison-Wesley, 2010, vol. 520, pp. 131-141. URL: https://www.isi.edu/people/metzler/publications/search_engines_information_retrieval_pr actice

5. Devlin J., Chang M.W., Lee K., Toutanova K. Bert: Pre-training of deep bidirectional transformers for language understanding, Proceedings of the 2019 Conference of the North

American Chapter of the Association for Computational Linguistics: Human Language Technologies, 2018, vol. 1, pp. 4171-4186. DOI: 10.18653/v1/N19-1423

6. Prokhorenkova L., Gusev G., Vorobev A., Dorogush A., Gulin A. CatBoost: unbiased boosting with categorical features, Advances in Neural Information Processing Systems 31 (NeurIPS 2018), 2008, pp. 6638-6648. URL: https://arxiv.org/pdf/1706.09516.pdf

7. Grover, A., Wang, E., Zweig, A., and Ermon, S. Stochastic optimization of sorting networks via continuous relaxations, Proceedings of the International Conference on Learning Representations, 2019. URL: https://arxiv.org/pdf/1903.08850.pdf

8. Gulin A., Kuralenok I., Pavlov D. Winning the transfer learning track of Yahoo!'s learning to rank challenge with yetirank, Learning to Rank Challenge, 2011, pp. 63-76. DOI: 10.5555/3045754.3045761

9. Koren Y. Factorization meets the neighborhood: a multifaceted collaborative filtering model, 14th ACM SIGKDD international conference on Knowledge discovery and data mining, 2008, pp. 426-434. DOI: 10.1145/1401890.1401944

10. Koren Y., Bell R., Volinsky C. Matrix factorization techniques for recommender systems, Computer, 2009, vol. 42 (8), pp. 30-37. DOI: 10.1109/MC.2009.263

11. Li H. A short introduction to learning to rank, IEICE Transactions on Information and Systems, 2011, vol. 94 (10), pp. 1854-1862. DOI: 10.1587/transinf.E94.D.1854

12. Liu T.Y. Learning to rank for information retrieval, Foundations and Trends® in Information Retrieval, 2009, vol. 3, no. 3, pp 225-331. DOI: 10.1561/1500000016

13. Mikolov T., Chen K., Corrado G., Dean J. Efficient estimation of word representations in vector space, In 1st International Conference on Learning Representations, ICLR 2013, Scottsdale, Arizona, USA, May 2-4, 2013.

14. Felix Petersen, Christian Borgelt, Hilde Kuehne, Oliver Deussen. Learning with lgorithmic Supervision via Continuous Relaxations, Proceedings of the 35th Conference on Neural Information Processing Systems (NeurIPS 2021). URL: esearch.ibm.com/publications/learning-with-algorithmic-supervision-via-continuous-relaxations

15. Robertson S., Zaragoza H. The probabilistic relevance framework: BM25 and beyond, Now Publishers, Inc. 2009. DOI: 10.1561/1500000019

16. Sun F., Liu J., Wu J., Pei C., Lin X., Ou W., Jiang P. BERT4Rec: Sequential recommendation with bidirectional encoder representations from transformer, 28th ACM international conference on information and knowledge management, 2019, pp. 1441-1450. DOI: 10.1145/3357384.3357895

17. Sun Z., Yu D., Fang H., Yang J., Qu X., Zhang J., Geng C. Are we evaluating rigorously? Benchmarking recommendation for reproducible evaluation and fair comparison, In

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Fourteenth ACM Conference on Recommender Systems, 2020, pp. 23-32, DOI: 10.1145/3383313.3412489

18. Ustimenko A., Prokhorenkova, L. StochasticRank: Global Optimization of Scale-Free Discrete Functions, International Conference on Machine Learning, 2020, pp. 9669-9679, URL: https://proceedings.mlr.press/v119/ustimenko20a.html

19. Ustimenko A., Prokhorenkova L. SGLB: Stochastic Gradient Langevin Boosting, International Conference on Machine Learning, 2021, pp. 10487-10496. URL: https://deepai.org/publication/sglb-stochastic-gradient-langevin-boosting

20. Protsenko P.A., Khubbiev R.V. Trudy MAI, 2021, no. 119. URL: http://trudymai.ru/eng/published.php?ID=159756. DOI: 10.34759/trd-2021-119-18

21. Smerchinskaya S.O., Yashina N.P. Trudy MAI, 2015, no. 84. URL: http://trudymai.ru/eng/published.php?ID=62973

22. Zakovryashin A.I. Trudy MAI, 2012, no. 61. URL: http://trudymai.ru/eng/published.php?ID=35494

Статья поступила в редакцию15.03.2022 Статья после доработки 20.03.2022 Одобрена после рецензирования 28.08.2022 Принята к публикации 12.10.2022

The article was submitted on 15.03.2022; approved after reviewing on 28.08.2022; accepted for publication on 12.10.2022

i Надоели баннеры? Вы всегда можете отключить рекламу.