Научная статья на тему 'СРАВНИТЕЛЬНЫЙ АНАЛИЗ СОВРЕМЕННЫХ АЛГОРИТМОВ ГЕНЕРИРОВАНИЯ РЕКОМЕНДАЦИЙ НА ОСНОВЕ СЕССИЙ, ПРИМЕНИТЕЛЬНО К ПОТОКОВОМУ СЦЕНАРИЮ ИСПОЛЬЗОВАНИЯ (STREAMING SESSION-BASED RECOMMENDATION)'

СРАВНИТЕЛЬНЫЙ АНАЛИЗ СОВРЕМЕННЫХ АЛГОРИТМОВ ГЕНЕРИРОВАНИЯ РЕКОМЕНДАЦИЙ НА ОСНОВЕ СЕССИЙ, ПРИМЕНИТЕЛЬНО К ПОТОКОВОМУ СЦЕНАРИЮ ИСПОЛЬЗОВАНИЯ (STREAMING SESSION-BASED RECOMMENDATION) Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
44
11
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РЕКОМЕНДАТЕЛЬНЫЕ СИСТЕМЫ НА ОСНОВЕ СЕССИЙ ДЛЯ ПОТОКОВОГО СЦЕНАРИЯ ИСПОЛЬЗОВАНИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Якупов Д.Р.

Системы персонализированных рекомендаций активно применяются во многих областях современной жизни (электронная коммерция, банковская сфера, коммуникации, развлечения и т.д.) и имеют огромное значение для бизнеса и потребителей. Отдельным классом данных систем являются системы рекомендаций на основе сессий, ключевой особенностью которых является генерирование рекомендаций с учетом последних действий пользователя в системе (его текущей сессии), анализ которых позволяет выявить текущие намерения и интересы пользователя. Особенно актуальным является применение систем рекомендаций на основе сессий в потоковом сценарии использования (Streaming Session-based Recommender Systems), например, на платформах развлекательного контента, маркетплейсах и т.д. Отличительной особенностью потокового сценария является непрерывный, высокообъемный и высокоскоростной характер поступления новых данных, которые необходимо обрабатывать в режиме реального времени. В настоящей работе проведен сравнительный анализ современных алгоритмов систем рекомендаций на основе сессий для потокового сценария использования: Streaming Session-based Recommendation Machine, Global Attributed Graph Neural Network, Multi Global Information Assisted Streaming Session-Based Recommendation System, выделены общие принципы построения данных систем, их основные различия, рассмотрены преимущества и недостатки. На основе исследования и анализа данных систем разработаны базовые (типовые) рекомендации по построению архитектуры, алгоритмам и сценарию работы рекомендательных систем на основе сессий в зависимости от внешних условий.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Якупов Д.Р.

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

COMPARATIVE ANALYSIS OF MODERN ALGORITHMS FOR GENERATING RECOMMENDATIONS BASED ON SESSIONS, IN RELATION TO THE STREAMING USAGE SCENARIO (STREAMING SESSION-BASED RECOMMENDATION)

Recommendation systems are actively used in many areas of modern life (e-commerce, banking, communications, entertainment, etc.) and are of great importance for businesses and consumers. A separate class of these systems are session-based recommendation systems, the key feature of which is the generation of recommendations based on the user's recent actions in the system (his current session), the analysis of which allows to identify the current intentions and interests of the user. Especially relevant is the use of session-based recommendation systems in a streaming usage scenario (Streaming Session-based Recommender Systems), for example, on entertainment content platforms, marketplaces, etc. A distinctive feature of the streaming scenario is the continuous, high-volume and high-speed nature of the receipt of new data that needs to be processed in real time. In this paper, a comparative analysis of modern algorithms of session-based recommendation systems for a streaming usage scenario is carried out: Streaming Session-based Recommendation Machine, Global Attributed Graph Neural Network, Multi Global Information Assisted Streaming Session-Based Recommendation System, the general principles of building these systems, their main differences are highlighted, advantages and disadvantages are considered. Based on the research and analysis of these systems, basic (typical) recommendations for the construction of architecture, algorithms and the scenario of the work of recommendation systems based on sessions, depending on external conditions, have been developed

Текст научной работы на тему «СРАВНИТЕЛЬНЫЙ АНАЛИЗ СОВРЕМЕННЫХ АЛГОРИТМОВ ГЕНЕРИРОВАНИЯ РЕКОМЕНДАЦИЙ НА ОСНОВЕ СЕССИЙ, ПРИМЕНИТЕЛЬНО К ПОТОКОВОМУ СЦЕНАРИЮ ИСПОЛЬЗОВАНИЯ (STREAMING SESSION-BASED RECOMMENDATION)»

Сравнительный анализ современных алгоритмов генерирования рекомендаций на основе сессий, применительно к потоковому сценарию использования (Streaming Session-based Recommendation)

ДР. Якупов

Аннотация — Системы персонализированных рекомендаций активно применяются во многих областях современной жизни (электронная коммерция, банковская сфера, коммуникации, развлечения и т.д.) и имеют огромное значение для бизнеса и потребителей. Отдельным классом данных систем являются системы рекомендаций на основе сессий, ключевой особенностью которых является генерирование рекомендаций с учетом последних действий пользователя в системе (его текущей сессии), анализ которых позволяет выявить текущие намерения и интересы пользователя. Особенно актуальным является применение систем рекомендаций на основе сессий в потоковом сценарии использования (Streaming Session-based Recommender Systems), например, на платформах развлекательного контента, маркетплейсах и т.д. Отличительной особенностью потокового сценария является непрерывный, высокообъемный и высокоскоростной характер поступления новых данных, которые необходимо обрабатывать в режиме реального времени. В настоящей работе проведен сравнительный анализ современных алгоритмов систем рекомендаций на основе сессий для потокового сценария использования: Streaming Session-based Recommendation Machine, Global Attributed Graph Neural Network, Multi Global Information Assisted Streaming Session-Based Recommendation System, выделены общие принципы построения данных систем, их основные различия, рассмотрены преимущества и недостатки. На основе исследования и анализа данных систем разработаны базовые (типовые) рекомендации по построению архитектуры, алгоритмам и сценарию работы рекомендательных систем на основе сессий в зависимости от внешних условий.

Ключевые слова— Рекомендательные системы на основе сессий для потокового сценария использования, Streaming Session-based Recommendation.

I. Введение

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

Статья получена 5 мая 2023. Статья подготовлена в рамках работы над магистерской диссертацией на факультете ВМК МГУ имени М.В. Ломоносова.

Д.Р. Якупов - МГУ имени М.В. Ломоносова (email: dyakupov1@gmail.com).

ежесекундно, пользователи все чаще отдают предпочтение тем компаниям, которые предоставляют им качественные и своевременные рекомендации.

Например, согласно отчету McKinsey [1]:

1) 71% потребителей ожидают от компаний персонализированного взаимодействия, и 76% -расстраиваются, когда этого не происходит;

2) компании, преуспевающие в персонализации, получают на 40% больше дохода от этой деятельности, чем средние игроки.

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

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

Отдельным классом данных систем являются системы рекомендаций на основе сессий (Session-based Recommender System, SRS) [3], ключевой особенностью которых является генерирование рекомендаций с учетом последних действий пользователя в системе (его текущей сессии), анализ которых позволяет выявить текущие намерения и интересы пользователя.

Особенно актуальным является применение систем рекомендаций на основе сессий в потоковом сценарии использования (Streaming Session-based Recommender Systems, SSRS), например, на платформах развлекательного контента, маркетплейсах и т.д. Отличительной особенностью потокового сценария является непрерывный, высокообъемный и высокоскоростной характер поступления новых данных, которые необходимо обрабатывать в режиме реального времени.

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

• SSRM [4] (Streaming Session-based Recommendation Machine) - впервые представлен в 2019 году на 25-й

международной конференции «SIGKDD Conference on Knowledge Discovery and Data Mining (KDD'19);

• GAG [5] (Global Attributed Graph Neural Network) -впервые представлен в 2020 году на 43-й международной конференции «ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR'20)»;

• MGIA SSRS [6] (Multi Global Information Assisted Streaming Session-Based Recommendation System») -впервые представлен в 2022 году в журнале «IEEE Transactions on Knowledge and Data Engineering».

На основе выполненного исследования разработаны общие (базовые) рекомендации по построению архитектуры, алгоритмам и сценарию работы рекомендательных систем на основе сессий для потокового сценария использования.

Структура настоящей работы построена следующим образом: в разделах II, III, IV - выполнено подробное исследование архитектуры, алгоритмов и сценариев работы SSRM, GAG и MGIA SSRS соответственно, в разделе V - изложены результаты их сравнительного анализа, в разделе VI - представлены базовые (общие) рекомендацию по построению (выбору) архитектуры, алгоритмам и сценарию работы рекомендательных на основе сессий для потокового сценария использования.

II. STREAMING SESSION-BASED RECOMMENDATION MACHINE (SSRM)

Согласно открытым источникам [[4], [5], [6], [7]] алгоритм SSRM был первой в мире работой посвященной одновременному решению проблемы генерации рекомендаций на основе сессий и работы рекомендательной системы в потоковом сценарии использования.

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

В SSRM рассматривается работа с:

• упорядоченными, персонализированными сессиями, с одним типом доступных действий [3];

• короткими, средними и длинными сессиями [3] -за исключением аномальных сессий, включающих только 1 или более 20 взаимодействий;

• структура сессионных данных - многоуровневая

[3].

Авторы SSRM предлагают следующие, представленные в таб. 1, решения проблем, характерных для рекомендательных систем на основе сессий и потокового сценария использования.

Таб. 1. Проблемы SSRS и предлагаемые решения

№ Проблема Предлагаемое решение

1 Наличие «шума» в сессии, создаваемого нерелевантными взаимодействиями пользователя с элементами (т.е. Снижение влияния на рекомендации «шума», создаваемого нерелевантными взаимодействиями, посредством использования индикатора важности

взаимодействиями, не отражающими его

реальные текущие

намерения и интересы), вызванными «человеческим фактором»: механической (или в связи с рассеянностью/утомление м) ошибкой при выборе элемента, любопытством и т.д.

(attention signal) для пользователя конкретных элементов, просмотренных им в текущей сессии. Задачей индикатора важности является уловить основные

(фундаментальные) предпочтения и интересы пользователя на основе исторических данных:

- о его прошлых взаимодействиях с элементами;

- совокупности

взаимодействий близких (схожих с ним) других пользователей,

характеризующих их

коллаборативное (распространенное) поведение и отражающее популярные интересы и предпочтения в их сообществе.

Особенности потокового режима

Большой объем

поступающих новых данных - требует мощных аппаратных ресурсов, но на практике ресурсы всегда

ограничены, в связи с чем, непрактично, а порой невозможно,

сохранять в памяти все поступающие данные.

Высокая скорость

поступления новых

данных - требует высокой скорости

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

реагировать мгновенно, чтобы улавливать

текущие намерения и интересы пользователя.

Использовать подход online learning для обучения рекомендательной модели, который включает в себя два этапа:

1) предварительно обучить модель на основе имеющихся исторических данных;

2) производить обновление модели (без полного переобучения модели) на основе выборки наиболее информативных данных из комбинации:

- новых поступающих данных;

- выборки из исторических данных, предварительно отобранных и сохраненных в резервуаре.

Под резервуаром понимается хранилище, в котором по определенным правилам сохраняются и исключается отдельные ранее

завершенные (исторические) сессии.

Таким образом:

1) исключается необходимость хранить все поступающие данные;

2) увеличивается скорость обновления модели, так как для ее обновления обрабатываются не все исторические и вновь поступающие данные, а только наиболее информативная их часть._

А. Архитектура SSRM Архитектура SSRM представлена на рис. 1. Сценарий работы SSRM включает в себя

два 136

параллельно выполняющиеся процесса:

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

2) Обновление рекомендательной модели -выполняется посредством дообучения рекомендательной модели (с текущим набором параметров) на основе специально отобранной выборки наиболее

88ЯМ

информативных сессии Период обновления

задается администратором системы.

На вход 88ЯМ поступает поток новых сессий С"еи'. в котором каждая сессия включает в себя

упорядоченную по времени последовательность просмотренных соответствующим пользователем u к текущему моменту времени Г элементов

Рис. 1. Архитектура SSRM

На выходе SSRM выдает ранжированный список элементов у = [v-^, v2,..., vk] для рекомендации соответствующему пользователю и. Так как, на практике пользователи просматривают только несколько первых из рекомендуемых им элементов, список рекомендаций ограничивается первыми к элементами, где число к задается администратором системы.

B. Рекомендательная модель SSRM

Рекомендательную модель SSRM (названную авторами MF-based Attentive Session Recommender) условно можно разделить три компонента:

1) Модуль кодирования сессий (session feature encoder) - компонент, отвечающий за кодирование последовательности взаимодействий пользователя с элементами в скрытое представление сессии;

2) Модуль коллаборативной фильтрации (collaborative filtering) - компонент, отвечающий хранение и обновление скрытых представлений пользователей и элементов (создаваемых посредством использования метода матричной факторизации) и генерацию индикаторов важности для модуля кодирования сессий;

3) Модуль генерирования рекомендаций (predictions) - компонент, отвечающий за вычисление рейтинга элементов и выдачу на основе него рекомендаций пользователю.

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

1) Модуль кодирования сессий

На вход модуля кодирования сессий в непрерывном режиме поступают текущие сессии sj из потока сессий пользователей. На выходе модуль выдает сформированные векторы скрытых представлений

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

Алгоритм обработки модулем поступающих сессий включает в себя следующие этапы:

a) Кодирование идентификаторов элементов сессии

JD

Идентификаторы элементов ID ,,ID

V

каждой сессии

, ¡'f _, поступающей на вход первоначально кодируются в

модуля кодирования, одномерные вектора:

где:

• / Е [1, (:] - порядковый индекс элемента в сессии;

• vjD - идентификатор элемента /.

Для кодирования элементов используется кодирование One Hot Encoding (кодирование «1 из N»). Сессия может содержать повторяющиеся элементы,

когда а,Ъ < t, а Ф Ь. В таком случае ха = хь.

т.е. возможно = ~l'!bD

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

Рис. 2. Внутренняя архитектура рекомендательной модели SSRM

а) Кодирование скрытых состояний элементов

Элементы закодированной сессия

— {!i, [л^, Л'2......\'г_ } кодируется в множество

низкоразмерных скрытых состояний элементов

посредством использования рекуррентной нейронной сети с одним слоем управляемых рекуррентных блоков (Gated Recurrent Unit, далее - УРБ).

Для получения скрытых состояний элементов на вход УРБ последовательно передаются закодированные идентификаторы элементов сессии Xj (1 < j < t), на выходе УРБ выдает скрытое состояние соответствующего элемента hj. При этом, начиная со

второго элемента X2 на вход УРБ также рекуррентно передается вычисленное на предыдущем шаге скрытое состояния предыдущего элемента сессии hj_± (рис. 3).

Внутреннее устройство УРБ представлено на рис. 4.

На у-шаге скрытое состояние у-го элемента вычисляется по формуле:

где: - h:

предыдущего

j-l - скрытое состояние (обработанного) элемента сессии;

- flj - промежуточное скрытое состояние текущего элемента сессии;

- Zj - вентиль обновления (update gate) информации.

Вентиль обновления zt регулирует объем информации, которую необходимо «забыть» из скрытого состояния предыдущего элемента h; _ . и объем информации, которую необходимо «запомнить» из промежуточного скрытого состояния элемента h.

h

^ i

hi

f

( \ с \ С \

U- УРБ УРБ УРБ

ч > \ у V У

h2

±

t

h

h-

1j-I

3

УРБ

h

t i

УРБ

s°he\ [Xj

I

Время, t

hj-22

УРБ

Рис. 3. Кодирование элементов сессии в их скрытые состояния

Xtj)

Условные обозначения.

tanh

УРБ

h

ij+i

s

- слой нейронной сети с функцией активации «гиперболический тангенс»;

- слой нейронной сети с функцией активации «сигмоида»;

'р*—* - конкатенация векторов; - копирование векторов.

(^^Г) - поэлементное умножение векторов; - поэлементное сложение векторов;

(1^) - инвертирование вектора (элементы инвертированного вектора получают путем вычитания из единицы соответсвующих элементов исходного вектора);

Вентиль формуле:

Рис. 4. Внутреннее устройство управляемого рекуррентного блока

обновления на /-шаге вычисляется по

где Wz и Uz - матрицы весовых коэффициентов, с -сигмоидальная функция.

Промежуточное скрытое состояние текущего элемента сессии на /-шаге вычисляется по формуле:

где: W и U - матрицы весовых коэффициентов, tanh -функция гиперболического тангенса, Tj - вентиль сброса

{reset gate), О - произведение Адамара (покомпонентное умножение векторов).

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

Вентиль сброса на /-шаге вычисляется по формуле:

где И^. и иг - матрицы весовых коэффициентов, о -сигмоидальная функция.

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

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

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

Ь) Оценивание важности для пользователя конкретных элементов сессии

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

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

Алгоритм вычисления индикатора С1и будет рассмотрен далее в рамках модуля коллаборативной фильтрации.

Оценивание важности элементов производится посредством вычисления взвешенной суммы скрытых состояний элементов сессии:

t

I'

i=1

fill,] 1 lJ

По своему смыслу данная взвешенная сумма характеризует степень влияния, которую окажет каждый элемент из текущей сессии пользователя на формирование контекста сессии который в

дальнейшем будет использоваться для генерации списка рекомендаций.

с) Формирование представления контекста сессии

Посредством конкатенации вычисленной оценки важности элементов сессии и скрытого состояния последнего просмотренного пользователем элемента в сессии модуль кодирования сессии формирует вектор скрытого представления С^ текущей сессии :

1) в модуль кодирования сессий - индикаторы важности (attentional signals) Clu ;

2) в модуль генерирования рекомендаций - скрытое представление пользователя ри текущей сессии Sj и скрытые представления всех элементов qj ,j 6 [1, п].

Вычисление индикатора важности {attentional signal) Clu для пользователя и конкретных элементов, просмотренных им в текущей сессии, производится следующим образом:

1) Каждому элементу сессии

сопоставляется

соответствующее скрытое представление q j, а

пользователю сессии и - скрытое представление ри. полученные посредством использования матричной факторизации матрицы R ;

2) Для каждого элемента сессии оценка близости

векторов ри и q j посредством вычисления их

скалярного произведения: лЯ

Вычисленный вектор скрытого представления С; { дальше передается на вход модуля генерирования рекомендаций.

2) Модуль коллаборативной фильтрации

Модуль коллаборативной фильтрации хранит и обновляет исторические данные о взаимодействиях пользователей с элементами. Данная информация кодируется в форме матрицы й = )

, где m -

тхп

количество пользователей, п - количество элементов, г. Ь 10,1} - индикатор, отражающий наличие взаимодействия пользователя i с элементом ] (0 -взаимодействия не было, 1 - взаимодействие было).

На основе исторических данных, закодированных в матрице й, посредством использования матричной факторизации модуль коллаборативной фильтрации формирует векторы скрытых представлений пользователей ри £ и элементов qj Е М1>::0.

где О - размерность вектора, и -индекс пользователя, / -индекс элемента.

На вход модуля коллаборативной фильтрации в непрерывном режиме поступают текущие сессии из потока сессий пользователей. На выходе модуль выдает:

Величина yuj характеризует насколько хорошо ри соответствует qj, т.е. насколько пользователю и нравится элемент j.

3) К полученному вектору Уи = \Уи,1> У и,......$u,t]

применяется функция softmax:

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

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

3) Модуль генерирования рекомендаций

На вход модуля генерирования рекомендаций поступает:

1)из модуля кодирования сессий - вектор скрытого представления t текущей сессии Sj ;

2) из модуля коллаборативной фильтрации - скрытое представление пользователя ри текущей сессии Sj и скрытые представления всех элементов qj ,j 6 [1, п].

На выходе модуль выдает ранжированный список из к элементов у = [vlt v2, ■■■, vk] для рекомендации соответствующему пользователю îi.

Алгоритм работы модуля генерирования рекомендаций:

1) для каждого из скрытых представлений элементов qj,j 6 [l,îî] производится оценка его близости к скрытому представлению t текущей сессии:

где В G M0Н - матрица трансформации размерности D X H, D - размерность каждого из векторов скрытых представлений элементов

С//; / £ [1,п]. Н - размерность вектора скрытого представления сессии Сц-.

2) для каждого из скрытых представлений элементов / ё [1, я] производится оценка его близости к скрытому представлению пользователя ри текущей сессии:

3) для каждого элемента вычисляется его рейтинг посредством вычисления взвешенной суммы его оценок близости к скрытым представлениям сессии и пользователя:

где И1 - весовой коэффициент, определяющий степень влияния оценок у ] п У{ ; на итоговую оценку элемента.

4) на основе вычисленных рейтингов элементов выполняется их ранжирование, и первые k элементов с максимальным рейтингом выдаются пользователю в качестве рекомендации для следующего взаимодействия.

С Обучение рекомендательной модели

Обучение рекомендательной модели SSRM выполняется в два этапа:

1) на первом этапе (до первого запуска SSRM в режиме генерации рекомендаций) производится предварительное обучение модели на основе имеющихся исторических данных;

2) на втором этапе (после запуска SSRM в режиме генерации рекомендаций) производится периодическое

Исходная последовательность элементов сессии

дообучение модели на основе специально отобранной выборки наиболее информативных сессии (Csamp!e).

Обучение рекомендательной модели SSRM рассматривается как решение задачи классификации, где в качестве функции потерь используется функция перекрестной энтропии (cross-entropv)\

где:

- i - индекс сессии;

-и - индекс пользователя;

- ти - истинное распределение вероятностей выбора элементов для пользователя и:

- уи - прогнозируемое распределение вероятностей выбора элементов для пользователя u.

Для повышения размера обучающей выборки используется метод увеличения данных (data augmentation technique) [8], суть которого заключается в том, что все начальные подпоследовательности взаимодействий с элементами исходных сессий дополнительно рассматриваются и используются при обучении рекомендательной модели в качестве отдельных сессий (рис. 5).

Алгоритм обучения: Truncated Backpropagation-Through-Time (TBPTT).

Метод оптимизации: ADAM (adaptive moment estimation) [9].

Дополнительно сгенерированные последовательности для обучения модели

V2 —► ? • —*

V2 —► V71 —* ? •

V2 —► V71 —* V12

Рис. 5. Процесс генерации дополнительных данных для обучения модели

D. Дообучение рекомендательной модели

Дообучение (обновление) рекомендательной модели (online updating) позволяет избежать полного переобучения модели (на всех данных) каждый раз при поступлении новых данных.

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

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

- новых поступающих данных;

- выборки из исторических данных, предварительно отобранных и сохраненных в резервуаре.

Необходимость повторно использовать исторические данные для дообучения модели связана с тем, что если производить дообучение модели только на основе новых данных, то модель быстро «забудет» (утратит)

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

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

1) Отбор данных для дообучения рекомендательной модели

Как упоминалось выше отбор данных для обновления

рекомендательной модели производится в два этапа:

1) отбор из потока новых сессий Cnew подмножества сессий и сохранение их в резервуаре;

2) отбор сессий из множества Cnew U С es. где С es - сессии, хранящиеся в резервуаре.

Множество сессий (Jnew служит источником информации для изучения моделью текущих (краткосрочных) интересов пользователей, a C,es источником информации для изучения долгосрочных предпочтений и интересов пользователей.

2) Отбор сессий для сохранения в резервуаре

Для отбора сессий, сохраняемых в резервуаре, используется алгоритм случайной выборки с помощью резервуара (Random Sampling with a Reservoir) [10].

Суть алгоритма заключается в следующем:

1) пусть:

• Cnew = s2, ..., Sj, ... ] - хронологически упорядоченный поток поступающих новых сессий, где индекс I указывает на номер сессии в хронологическом порядке;

I I f Y&S

• п — \ L | - размер резервуара L , т.е. максимальное количество сессий, которые могут быть сохранены в резервуаре;

2) тогда:

• при i < п - вероятность включения сессии Sj в резервуар равна 1;

• при i > п - вероятность включения сессии Sj в

п

резервуар равна у, при этом, одновременно с

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

3) Отбор сессий из множества Cnew U С' es

Для отбора сессий из множества С"еи U Сes используется алгоритм, названный авторами SSRM стратегией активной выборки (Active Sampling Strategy).

Суть алгоритма заключается в следующем:

1)Для каждой сессии Sj = {u, [xvx2, —,3Ct]} И3

mew I I r-res

множества L U L рассчитывается ее оценка

(prediction score) по формуле:

где:

- ru k - оценка способности текущей рекомендательной модели для пользователя и предсказать элемент к (для снижения вычислительной нагрузки рекомендательная модель используется только в части матричной факторизации ru k =

- £ - количество элементов в сессии Sj. Получение сессией высокой оценки означает, что

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

2) Сессии ранжируются на основе рассчитанных оценок в убывающем порядке, и для каждой сессии вычисляется ее весовой коэффициент:^

где ranks. - порядковый номер (ранг) сессии в

ранжированном списке.

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

3) Для каждой сессии рассчитывается вероятность ее выбора для обновления рекомендательной модели:

1Л7

p(st) =

Esiecresucn™'wsi

4) Алгоритм дообучения рекомендательной модели Формальное описание алгоритма дообучения модели:

1) Входные данные алгоритма:

- Mt - рекомендательная модель в момент времени t;

- C'es = s2,..., s|Cî-es|} - текущий резервуар;

- Sj = {Uj ... - новая сессия, поступившая в систему SSRM;

- W - период времени, отводящегося на дообучения модели.

2) Выходные данные:

- Mt+W - обновленная модель в момент времени t+ W.

3) Алгоритм:

для каждого Xt G {C'es U

вычислить Tut ; конец цикла;

4: вычислить для всех сессий из множества

{Cres и s;}; 5: пока W > 0:

6: случайно (в соответствии с рассчитанными p(Sj)) выбрать подмножество сессий

Ssample т множества {Qres U S;};

7: обновить модель Mt методом batch Stochastic

Gradient Descent; 8: конец цикла;

9: вернуть обновленную модель Mt+W.

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

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

реальности сессия может содержать новые

элементы, для которых в модели еще нет скрытых представлений.

значение метрики

означает, что

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

III. GLOBAL ATTRIBUTED GRAPH NEURAL NETWORK (GAG)

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

В GAG рассматривается работа с:

• упорядоченными, персонализированными сессиями, с одним типом доступных действий [3];

• короткими, средними и длинными сессиями [3] - за исключением аномальных сессий, включающих только 1 или более 20 взаимодействий;

• структура сессионных данных - многоуровневая [3].

Авторы GAG предлагают следующие, представленные в таб. 2, решения проблем, связанных с ограничениями SSRM.

Таб. 2. Ограничения SSRM и предлагаемые решения

A. Архитектура GAG

Архитектура GAG представлена на рис. 6.

Сценарий работы GAG аналогичен сценарию работы SSRM и также включает в себя два параллельно выполняющиеся процесса:

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

2. Обновление рекомендательной модели -выполняется посредством дообучения рекомендательной модели (с текущим набором параметров) на основе специально отобранной выборки наиболее информативных сессии (Csamp!e). Период обновления задается администратором системы.

На вход GAG поступает поток новых сессий Спе^ , в котором каждая сессия Sj включает упорядоченную по времени последовательность просмотренных соответствующим пользователем и к текущему моменту времени t элементов: Sj = {u, [i^, v>2> ■■■ > '7t]}•

На выходе GAG выдает ранжированный список элементов у = [v^, v2, ■••, Vfc] для рекомендации соответствующему пользователю U. Так как, на практике пользователи просматривают только несколько первых из рекомендуемых им элементов, список рекомендаций ограничивается первыми к элементами, где число к задается администратором системы.

B. Рекомендательная модель GAG

Рекомендательную модель GAG условно можно

разделить два компонента:

1) Модуль кодирования - компонент, отвечающий за кодирование информации из поступающих сессий в скрытое представление соответствующего пользователя сессии;

2) Модуль генерирования рекомендаций - компонент, отвечающий за вычисление рейтинга элементов и выдачу на основе него рекомендаций пользователю.

№ Ограничения SSRM Предлагаемое решение

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

2 В SSRM отбор наиболее информативных сессий для обновления рекомендательной модели предложено производить с помощью алгоритма Active Sampling Strategy, который основан на вычислении ранга сессии с использованием метода матричной факторизации. Узким местом данного алгоритма является вычисление ранга сессии на основе скрытых представлений элементов, т.е. предполагается, что 1) В выборку сессий для обновления модели сразу включать новые сессии, которые содержат пользователей или элементы, которые ранее не изучались моделью; 2) Для остальных сессий в качестве метрики информативности использовать расстояние Вассерштейна между списком рекомендаций для сессии, генерируемым моделью, и реальным взаимодействием пользователя. Низкое

1) Модуль кодирования

На вход модуля кодирования сессий в непрерывном

режиме поступают текущие сессии из потока сессий пользователей. На выходе модуль выдает обновленное скрытое представление пользователя сессии иира.

Внутренняя архитектура модуля кодирования представлена на рис. 7.

Алгоритм обработки модулем кодирования поступающих сессий включает в себя следующие этапы:

а) Кодирование идентификаторов пользователя и

элементов сессии

г„т „/о

Каждая сессия б^ = {и ,[и{°, ... ,у1]}, поступающая на вход модуля кодирования, первоначально анализируется на предмет того, кодировались ли ранее идентификаторы пользователя и элементов, входящих в сессию, в их скрытые представления. Для ранее кодировавшихся идентификаторов далее используются их текущие скрытые представления.

Xj = Embedv(vjD^ и = Embedu(uID)

где:

v и Embed и - функции кодирования

пользователя

• / Е [1, t] - порядковый индекс элемента в сессии;

• Vi - идентификатор элемента /;

• и - идентификатор пользователя;

• Embed

идентификаторов элементов соответственно.

Авторы GAG прямо не указывают какие функции кодирования они используют.

Сессия может содержать повторяющиеся элементы, т.е. возможно v^0 = vj,D. когда a, b < t, а Ф Ь. В таком случае ха = хь.

b) Построение графа сессии

После кодирования идентификаторов, каждая сессия

представляется в форме взвешенного ориентированного графа (рис. 7), в

Для ранее не кодировавшихся идентификаторов и

V10 производится их первичное одномерные вектора вещественных

и элементов кодирование в чисел:

GAG I---

Поток сессий Cn

u1

u2

□ ut

v6 v7 v5 v7 v3

v4 v7 v5

v2 v71 V12 v4 v9 v19

Рекомендательная модель I

Cn

Г

Модуль кодирования скрытое представление пользователя сессии Модуль генерирования рекомендаций

k u

Ранжированный список рекомендуемых

элементов

y=[y1,y2,y3,...,yk]

Cn

Cnew U C

C

sample

Cr'

Модуль отбора сессий для обновления модели

h

Резервуар

C

,new

Рис. 6. Архитектура GAG

Сессия

u V3 V7 V5 V7 V6

Граф сессии

Модуль кодирования

Рис. 7. Внутренняя архитектура модуля кодирования

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

Вершинам, ребрам и самому графу присваиваются атрибуты:

• вершинам - скрытые представления элементов сессии;

• ребрам - весовые коэффициенты, характеризующие частоту перехода пользователя между соответствующими элементами сессии;

• графу - скрытое представление пользователя сессии (также называемый глобальным атрибутом графа - global attribute).

Формально граф сессии можно описать следующим образом:

где:

• Gs. - граф сессии Sj;

• С; - множество графов всех сессий;

• и - скрытое представление пользователя сессии si;

• Vs. - множество всех вершин графа (скрытых представлений элементов сессии);

• Es, - множество всех направленных ребер графа, т.е. троичных кортежей где w(n-i) n ~ вес ребра, направленного от элемента vn-i к элементу ип.

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

с) Выполнение свертки графа в глобальный атрибут

Свертка графа Gs. в глобальный атрибут выполняется посредством использования графовой нейронной сети. Вычисления выполняются последовательно и для каждого слоя графой нейронной сети включают в себя следующие этапы:

1) Вектора скрытых представлений элементов сессии конкатенируются с текущим скрытым представлением пользователя (глобальным атрибутом графа), рис. 8. u I II u | | |

Xg

Ш

X;

X3 X7 Граф сессии Gs

Xg II u

:

Ш

х3 || и х7 || и х5 || и

Граф сессии

Рис. 8. Конкатенация векторов скрытых представлений элементов и пользователя сессии

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

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

Функции обновления е^' вычисляются следующим образом:

ek,out' ^ 0out(ekivrk,vsk,u) - wk ■ MLP2(vsJ|u)

где:

• ek,in'

- значение функции обновления для вершины-получателя v,., вычисляемое для ребра, исходящего из вершины-отправителя вычисляемое на к - слое графовой нейронной сети;

• - значение функции обновления для вершины-отправителя У?, вычисляемое для ребра, входящего в вершину-получателя 'г, вычисляемое на ^ - слое гоафовой нейронной сети;

• - скалярная форма ек;

• 11 - символ конкатенации векторов;

• М ЬР _ многослойный персептрон.

3) Для каждой вершины, в отдельности для входящих и исходящих ребер, вычисляется нормализованная сумма значений функций обновлений:

где:

• i - индекс вершины;

• v;

1,111

обновлений

- нормализованная сумма значений функций вычисленных для ребер входящих в вершину ¡:

• У,о и/ ~ нормализованная сумма значений функций обновлений, вычисленных для ребер, исходящих из вершины ¡:

-

исходящая степень вершины j;

2) Для каждого ребра графа вычисляется значение функции обновления е^', которое в дальнейшем используется для пересчета значений вершин графа (скрытых представлений элементов сессии).

- входящая степень вершины _].

4) Для каждой вершины вычисляется новое значение скрытого представления элемента:

Таким образом, скрытое представление элемента сессии, фактически консолидирует в себе информацию: • о самом элементе;

• об элементах, соседствующих с ним в сессии, т.е. элементах, просмотренных пользователем до и после него в сессии;

• частоте взаимодействий с этим элементом (переходах пользователя к этому элементу и от него);

• пользователе (глобальном атрибуте).

5) Обновление глобального атрибута (скрытого представления пользователя сессии) на основе всех вершин, ребер и текущего значения самого глобального атрибута. Для выделения долгосрочных и краткосрочных предпочтений пользователя в сессии (т.е. учета их в вычислении глобального атрибута с различными уровнями приоритета), объединение всех скрытых представлений элементов сессии выполняется посредством применения механизма самоконтроля (self-attention) на последнем элементе текущей сессии vt:

u' = фи(У', u) = Self-АШ»;, u) + u где vt Ё V',i = 1,2,3..Л - новые вычисленные скрытые представления элементов.

Механизм самоконтроля реализуется следующим образом:

где многослойный персептрон (MLP) используется для определения весовых коэффициентов для объединения скрытых представлений элементов сессии, последнего элемента в сессии и глобального атрибута.

6) На завершающем шаге в целях обогащения глобального атрибута дополнительной информацией о пользователе глобальный атрибут суммируется со скрытым представлением пользователя сессии:

и' = usg + и

Описанные выше вычисления повторяются на каждом слое графовой нейронной сути. Вычисленный на последнем слое глобальный атрибут и' передается в модуль генерирования рекомендаций.

2) Модуль генерирования рекомендаций

На вход модуля генерирования рекомендаций поступает вычисленный глобальный атрибут И' текущей сессии и множество скрытых представлений всех элементов X.

На выходе модуль выдает ранжированный список из к элементов у = v2,..., l^] для рекомендации соответствующему пользователю и.

Алгоритм работы модуля генерирования рекомендаций:

1) для каждого скрытого представления элемента из множества X вычисляется оценка близости его к глобальному атрибуту и формируется вектор оценок z £ К", где п - общее количество элементов:

Z = и' ТХ

2) затем к полученному вектору оценок применяется функция softmax, на основании которой элементы ранжируются и первые k элементов с максимальным рейтингом выдаются пользователю в качестве рекомендации для следующего взаимодействия:

C. Обучение рекомендательной модели

В части этапов обучения и используемой функции потерь обучение рекомендательной модели GAG одинаково с SSRM.

При обучении GAG (в отличии от SSRM) использование метода увеличения данных (data augmentation technique) не упоминается. Алгоритм обучения: Backpropagation. Метод оптимизации: ADAM (adaptive moment estimation) [9].

D. Дообучение рекомендательной модели Дообучение (обновление) рекомендательной модели

GAG выполняется аналогично SSRM. Далее будут рассмотрены только различия в алгоритмах дообучения GAG и SSRM. Отличия алгоритма дообучения GAG от SSRM:

1)Из потока новых сессий Cnew в выборку сессий

для обновления модели сразу включаются сессии, которые содержат новых пользователей или элементы, которые ранее не изучались моделью;

2) Для остальных сессий, т.е. сессий из множества Cnew U Cres - Csample процедура отбора информативных сессий построена на вычислении расстояния Вассерштейна между списком рекомендаций для сессии, генерируемым текущий моделью, и реальным взаимодействием пользователя.

3) Обновление резервуара на основе Cnew производится после (а не до, как в SSRM) обновления рекомендательной модели. Сам алгоритм обновления резервуара (отбора сессий из Cnew) - идентичен SSRM.

1) Отбор сессий из множества Спеи U С'es

/->_/- « r-new I I rres

Отбор сессии из множества L U и

производится следующим образом:

1) Каждая сессия из множества Cnev" первоначально анализируется на предмет наличия в ней нового пользователя или элементов (т.е. таких, которые ранее не изучались рекомендательной моделью и для которых в модели отсутствуют соответствующие скрытые представления). Если сессия содержит нового пользователя или элемент, то она сразу включается в итоговую выборку сессий CsampIe для обновления рекомендательной модели.

2)Для каждой сессии S; = {li,\xi,x2,...,xt]} из

пnew I I nres /-•sarnpie множества L U С — L рассчитывается

расстояние Вассерштейна между списком рекомендаций

л

для сессии у, генерируемым текущии моделью, и

реальным взаимодействием пользователя:

y (one-hot вектор)

di(y,y) = inf Е

= [l|x-y||]

уеп(у,у)

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

3) Для каждой сессии Sj

из

pOi) =

множество новых сессий, поступивших на

резервуаре;

_ Qiiew

вход GAG.

2) Выходные данные:

- М'— обновленная рекомендательная модель;

Qupd.res

- обновленный резервуар.

3) Алгоритм:

, ^sample

1: инициализировать пустое множество L ;

2: если последняя эпоха завершена:

3: для каждой S; £ С1ен :

4: если Sj включает новых пользователя или

элементы:

г „ rsample

5: включить Sj в L :

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

6: конец если;

7: конец цикла;

о ч ч - „ rz ппеiv I I nres г-sample

8: для каждой Sj t L U L — L

9: вычислить (¡¡:

10: конец цикла;

11: вычислить р(sj);

12: в соответствии с p0>j) из

пnew I I /-•res rsa.rn.ple « R

L U L — L случайным образом

выбрать Sj и включить их в Csam^le: 13: конец если',

14: на основе Csample обновить модель Mt до

15: 16:

17: 18:

модели М';

для каждой Sj £ Cnew :

обновить резервуар (в соответствии с алгоритмом Random Sampling with a Reser\>oir). обновить t; конец цикла.

множества

рассчитывается вероятность включения ее в итоговую выборку:

из

5]S; ecll™'ucres-cj;n™i,ie ^Sj

4) В соответствии с вычисленными p(Sj)

mew I I nves nsainvle множества t U L — С к случайным

образом выбираются сессии и включаются в итоговую

выборку сессий СsamP,e для обновления

рекомендательной модели.

2) Алгоритм дообучения рекомендательной модели Формальное описание алгоритма дообучения модели: 1) Входные данные алгоритма:

- t - текущий момент времени;

- Mt - рекомендательная модель в момент времени

£;

- Cres

текущее множество сессий, хранящихся в

IV. MULTI GLOBAL INFORMATION ASSISTED STREAMING SESSION-BASED RECOMMENDATION SYSTEM (MGIA SSRS)

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

В MGIA SSRS рассматривается работа с:

• упорядоченными, персонализированными сессиями, с одним типом доступных действий [3];

• короткими, средними и длинными сессиями [3] - за исключением аномальных сессий, включающих только 1 или более 20 взаимодействий;

• структура сессионных данных - многоуровневая

[3].

Авторы MGIA SSRS предлагают следующие, представленные в таб. 3, решения проблем, связанных с ограничениями GAG.

Таб. 3. Ограничения GAG авторами MGIA SSRS_

и решения, предлагаемые

1

Ограничения GAG

В модели GAG не учтена возможность использовать для рекомендаций

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

характерных для

большинства

пользователей. Учет

данной информации

позволит снизить влияние на рекомендации «шума», создаваемого нерелевантными взаимодействиями пользователя с

элементами.

Предлагаемое решение

Построить и поддерживать обновление взвешенного ориентированного графа (называемого авторами глобальным),

консолидирующего в себе информацию о

взаимодействиях пользователей из всех сессий. Вершинами графа являются элементы,

ребрами - направления переходов пользователей между элементами,

каждому ребру

присваивается вес,

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

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

Модель GAG не учитывает различия в важности различных признаков в скрытом представлении пользователя, что снижает эффективность учета его долгосрочных предпочтений.

интересом пользователя, от

нерелевантных

взаимодействий.

Использовать механизм внимания для сбора информации о важности различных признаков в скрытом представлении пользователя.

A. Архитектура MGIA SSRS

Архитектура MGIA SSRS представлена на рис. 9.

Сценарий работы MGIA SSRS аналогичен сценарию работы SSRM и GAG, и также включает в себя два параллельно выполняющиеся процесса:

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

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

На вход MGIA SSRS поступает поток новых сессий

С new

, в котором каждая сессия Sj включает упорядоченную по времени последовательность просмотренных соответствующим пользователем и к

текущему моменту времени I элементов:

На выходе MGIA SSRS выдает ранжированный список элементов у = [vlt v2, ■■■, vk] для рекомендации соответствующему пользователю и. Так как, на практике пользователи просматривают только несколько первых из рекомендуемых им элементов, список рекомендаций ограничивается первыми к элементами, где число к задается администратором системы.

B. Рекомендательная модель MGIA SSRS

Рекомендательную модель MGIA SSRS можно разделить три компонента:

1) Модуль кодирования элементов - компонент, отвечающий поступающих элементов;

2) Модуль отвечающий

условно

за кодирование информации из сессий в скрытые представления

кодирования сессий - компонент, за свертку скрытых представлений элементов сессии в скрытое представление сессии.

3) Модуль генерирования рекомендаций - компонент, отвечающий за вычисление рейтинга элементов и выдачу на основе него рекомендаций пользователю.

1) Модуль кодирования элементов

На вход модуля кодирования элементов в непрерывном режиме поступают текущие сессии Я; из потока сессий пользователей. На выходе модуль выдает обновленное множество Н "^скрытых представлений всех элементов.

Внутренняя архитектура модуля кодирования элементов представлена на рис. 10.

Поток сессий C

V6 v7 V5 v7 V3

v4 v7 V5

ut v2 v71 V12 v4 v9 v:

MGIA SSRS I----

C

Cn

Рекомендательная модель I-----------

+

Модуль кодирования элементов Hupd Модуль кодирования сессий Sh Модуль генерирования рекомендаций

Hupd

^new Qres

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

-

C

sample

Cr

Модуль отбора сессий для обновления модели

h

Резервуар

Cn

Рис. 9. Архитектура MGIA SSRS

2

y

Сессия s

Обновление глобального графа

I

Построение графа сессии

Вычисление

Кодирование индикаторов

элементов W важности

элементов

Кодирование пользователй

Объединение глобальных и локальных скрытых представлений элементов

I

Свертка скрытых

представлений элементов сессии

H'

rupd

Модуль кодирования

Рис. 10. Внутренняя архитектура модуля кодирования элементов рекомендательной модели MGIA SSRS

Алгоритм обработки модулем кодирования поступающих сессий включает в себя следующие этапы:

а) Построение графа сессии

Построение графа сессии в MGIA SSRS идентично построению графа сессии в GAG.

Каждая новая поступающая сессия

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

Формально граф сессии описывается следующим образом:

GSi = (u,Vs.,Es.X Gs. е д

где:

Ст5. - граф сессии

• <7 множество графов всех сессий;

• и - пользователь сессии ;

• - множество всех вершин графа (элементов сессии);

• Е5 - множество всех направленных ребер графа, т.е. троичных кортежей ^ п, Х>п . где №(п-1), п ~ вес ребра, направленного от элемента 1?п-1 к элементу ип.

Ь) Построение глобального графа

Глобальный граф перехода между элементами строится посредством объединения в единый граф всех ранее построенных графов сессий (рис. 11). При поступлении в модуль кодирования новой сессии она также включается в глобальный граф.

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

где:

уз

- объединенное множество вершин всех графов из множества §;

• Е^- объединенное множество ребер всех графов из множества где 1 < 1,] индекс ребра, исходящего из вершины г и в входящего в вершину /:

• И/5 - множество весов всех ребер Е^.

Рис. 11. Процесс построения глобального графа

Вес \\>{ъ] ё УУ3 ребра Е^ рассчитывается как сумма весов всех соответствующих ему ребер из множества графов всех сессий

I

g eg

WG,ii

Далее, в целях нормализации, вес каждого ребра W|j делится на максимальное значение веса, встречающееся в графе:

где wfj - нормализованный вес ребра.

c) Кодирование элементов

Каждый элемент в рекомендательной модели MGIA SSRS имеет два скрытых представления. Одно из представлений называется глобальным и вычисляется на основе обработки глобального графа, включающего взаимодействия всех пользователей, второе -локальным и вычисляется на основе взаимодействий пользователя в рамках сессии.

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

Дальнейшее вычисление значений глобальных скрытых представлений элементов выполняется с использованием однослойной Gated Graph Neural Network на вход которой подается глобальный граф.

Формально, вычисление глобального скрытого представления элемента vf на /-шаге в глобальном графе GУ описывается следующим образом:

где:

• НЕ Md >:: 2 d - матрица весовых коэффициентов, где d - размерность векторов;

• Zj - вентиль обновления (update gate) информации;

• Гу - вентиль сброса (reset gate)',

• vf - вектор скрытого представления узла Fj в момент времени t:

• [vf 1,..., vfn 1 ] - список векторов скрытых представлений элементов глобального графа элементов в момент времени М;

• о - функция «сигмоида»;

• О - поэлементное умножение векторов;

• А £ Rmx2m - матрица, являющаяся конкатенацией двух матриц смежности А'13"^' и А1"1-', содержащих в себе веса исходящих и входящих ребер соответственно.

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

d) Кодирование пользователей

Каждый пользователь в рекомендательной модели MGIA SSRS имеет скрытое представление, называемое его глобальным скрытым представлением.

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

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

e) Вычисление индикаторов важности элементов Для каждого элемента сессии, на основе его

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

= IkeNiexp (LeakyReLUiWX + U.u]) * v£) где:

• aui ~ индикатор важности элемента У для пользователя и;

• Leaky Re LU - функция Leaky ReLU;

• hf - глобальное скрытое представление элемента У;

• U® - глобальное скрытое представление пользователя и:

• Wa и ия - матрицы весов для преобразования глобальных скрытых представлений пользователя и элемента в одно векторное пространство.

f) Объединение глобальных и локальных скрытых представлений элементов

Для каждого элемента сессии с учетом его индикатора важности для пользователя выполняется объединение глобального и локального скрытого представлений элемента:

где:

• h i - объединенное скрытое представление элемента У;

• h, локальное скрытое представление элемента У;

• aui ~ индикатор важности элемента У для пользователя и;

• hf - глобальное скрытое представление элемента У. Объединенные скрытые представления элементов

передаются на вход модифицированной версии однослойной сверточной графовой сети (названной авторами Bi-directed Attentional Graph Convolutional Network, BA-GCN).

g) Свертка скрытых представлений элементов сессии

В модели MGIA SSRS свертка выполняется аналогично свертке в модели GAG:

1) Для каждой вершины vk определяют два множества ее соседних вершин Sk ¿п и Skout. В множество Sk ¿л входят вершины Vk ¡rl . которые имеют общие с вершиной Vк ребра, входящие в вершину vk. В множество Skout входят вершины v>kout, которые имеют общие с вершиной vk ребра, исходящие из вершины ик.

2) Для каждого ребра графа вычисляется значение функции ejj, которое в дальнейшем используется для пересчета значений вершин графа (скрытых представлений элементов сессии).

Так же, как и в модели GAG в модели MGIA SSRS при вычислении свертки графа веса ребер в процессе вычислений не обновляются.

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

Значения функции е^ вычисляются следующим образом:

ek ш = 4>in(we>Vk,i

in> Vк,out

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

,u) = we* vki

— Фош^в' vk,in> Vk,out> u) — we * vk,out

W h + b

v*query"i ' "query

'key^j ^ key

^ ßijObj

j'ejv(i)

где: • h,

ek,oiif

где:

• ek,in ~ значение функции е^ для ребра, входящего в вершину Vj,;

• ek,oiif ~ значение функции е^ для ребра, исходящего из вершины vk;

• we - вес соответствующего ребра.

3) После завершения расчета значений функции е^ для всех ребер графа, на основе вычисленных значений выполняется обновление скрытых представлений элементов.

Вычисления для каждого элемента производятся в две итерации: на первой производятся вычисления скрытого представления на основе обработки входящих ребер

, на второй - на основе обработки исходящих ребер .

Для повышения чувствительности модели к различиям в важности для элемента различных его соседей вычисления производятся с использованием механизма внимания.

Далее, для примера, приводятся формулы расчета для обработки входящих ребер (для исходящих ребер вычисления производятся аналогично): query;

key, = Wfr

и Ьу - скрытые представления элементов г* и ] (до обновления);

• с1 размерность скрытого слоя;

• N(0 - множество соседей 1-го элемента;

• И; ¿п - обновленное скрытое представление 1-го элемента (на основе обработки входящих ребер);

• 0 - поэлементное умножение.

4) После завершение вычисления и И; оШ

выполняется, с использованием механизма внимания, объединение их со скрытыми представлениями пользователей.

Вычисления для каждого элемента производятся в две

итерации: на первой производится обработка ¿1, ¿п, на

Далее, для примера, приводятся формулы для обработки (для обработки вычисления

производятся аналогично):

ех р (1еакуИе1и{\\.\ и)^

Yu,i =

X;eFs ex р [LeakyReLU(hfu) j

hr. =

l,in

hijin + lui * u

где:

• h; - обновленное скрытое представление /-го элемента (на основе обработки входящих ребер);

• U - скрытое представление пользователя сессии;

• Yui ~ весовой коэффициент, характеризующий важность элемента i и пользователя и.

5) После завершения вычисления и h|0,(r

выполняется их объединение в единое обновленное скрытое представление элемента:

out; = MLP(by |h^t)

где:

• out,- - обновленное скрытое представление /-го элемента;

• MLP - многослойный персептрон.

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

2) Модуль кодирования сессии

В модули кодирования сессии производится объединение всех скрытых представлений (локальных и глобальных) элементов в сессии и скрытого представления пользователя сессии в скрытое представление сессии с использованием механизма самоконтроля:

d^MLPMlhiWhfWü)

sh ==MLP2(h,||s)

где:

• hj - скрытое представление последнего элемента в сессии;

• hj - скрытое представление г-го элемента сессии;

• hf - глобальное скрытое представление г-го элемента сессии;

• U - скрытое представление пользователя сессии;

• MLP - многослойный персептрон.

Вычисленное скрытое представление сессии Б!г далее

передается в модуль генерации рекомендаций.

3) Модуль генерирования рекомендаций

На вход модуля генерирования рекомендаций поступает вычисленное скрытое представление сессии Sjj и множество скрытых представлений всех элементов Н

На выходе модуль выдает ранжированный список из к элементов у = [vlt v2, —, vk] для рекомендации соответствующему пользователю и.

Алгоритм работы модуля генерирования рекомендаций:

1)для каждого скрытого представления элемента из множества Н ё M.rf п вычисляется оценка близости его к скрытому представлению сессии и формируется вектор оценок z ё Мп. где Ii - общее количество элементов:

2) затем к полученному вектору оценок применяется функция softmax, на основании которой элементы ранжируются и первые k элементов с максимальным рейтингом выдаются пользователю в качестве рекомендации для следующего взаимодействия:

Ree = topk(y)

C. Обучение рекомендательной модели

В части этапов обучения и используемой функции потерь обучение рекомендательной модели MGIA SSRS одинаково с моделями GAG и SSRM.

При обучении MGIA SSRS (в отличии от SSRM) использование метода увеличения данных (data augmentation technique) не упоминается.

Алгоритм обучения: Backpropagation.

Метод оптимизации: ADAM (adaptive moment estimation) [9].

Дообучение (обновление) рекомендательной модели MGIA SSRS выполняется полностью аналогично GAG.

V. Сравнительный анализ SSRM, GAG и MGIA SSRS

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

Исследование алгоритмов SSRM, GAG и MGIA SSRS показало, что они имеют довольно схожую архитектуру, при проектировании которой закладывались следующие общие принципы:

1) Разделить процесс обучения рекомендательной модели на два этапа: offline и online обучение. Offline обучение производить предварительно (перед запуском рекомендательной модели) на базе имеющихся исторических данных. Online обучение производить параллельно с работой рекомендательной модели на основе комбинации непрерывно поступающих новых и исторических данных.

2) Учитывая непрерывный и высокообъемный характер поступления данных, сохранять для online обучения не весь объем данных, а только их часть. Для сохранения данных использовать временное хранилище (резервуар) небольшого объема.

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

Основные различия в архитектуре алгоритмов SSRM, GAG и MGIA SSRS заключаются в архитектуре и алгоритмах работы рекомендательной модели:

1) в SSRM для кодирования скрытых представлений используется управляемые рекуррентные блоки (Gated Recurrent Unit), для учета исторических данных -индикатора важности (attention signal) вычисляемый посредством использования матричной факторизации (Matrix Factorization);

2) в GAG для кодирования скрытых представлений используется графовая сверточная сеть (Graph Convolutional Networks);

3) в MGIA SSRS для кодирования скрытых представлений используется графовая нейронная сеть с вентильными узлами (Gated Graph Neuron Network).

B. Рекомендательные модели

Рекомендательные модели SSRM, GAG и MGIA SSRS

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

1) в первом блоке с использованием различных технологий производится кодирование информации:

• о новых и исторических сессиях пользователя в вектор вещественных чисел (скрытое представление), характеризующего пользователя (в GAG) или сессию (в SSRM и MGIA SSRS);

• об элементах в множество векторов вещественных чисел (скрытые представления), в котором каждый из векторов, характеризует соответствующий ему элемент.

2) во втором блоке производится оценка близости (сравнение сходства), полученных в первом блоке векторов вещественных чисел пользователя (сессии) с каждым из векторов элементов. По результатам оценки для рекомендации пользователю выбираются k-наиболее близких элементов.

Технологии кодирования подробно рассмотрены в соответствующих разделах, посвященных

рекомендательным моделям SSRM, GAG и MGIA SSRS.

C. Алгоритмы отбора данных для сохранения в резервуаре

В SSRM, GAG и MGIA SSRS используются одинаковый алгоритм отбора данных для сохранения в резервуаре: Random Sampling with a Reservoir [10], который обеспечивает случайную выборку данных из всего потока данных.

D. Алгоритмы отбора информативных данных для online обучения

В SSRM, GAG и MGIA SSRS используются разные алгоритмы отбора наиболее информативных данных для online обучения рекомендательной модели:

1) в SSRM используется алгоритм Active Sampling Strategy, который основан на вычислении ранга сессии с использованием метода матричной факторизации;

2) в GAG и MGIA SSRS используется алгоритм, основанный на вычислении расстояния Вассерштейна между генерируемым моделью списком рекомендаций и реальным взаимодействием пользователя.

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

В отличие от SSRM, в GAG и MGIA SSRS в выборку информативных сессий для обновления модели сразу включаются новые сессии, которые содержат пользователей или элементы, которые ранее не изучались моделью.

E. Эффективность рекомендаций

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

Сравнение эффективности рекомендаций SSRM, GAG и MGIA SSRS произведено на основе результатов, представленных авторами в своих статьях.

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

1) Датасеты

Датасеты (наборы данных), использованные для тестирования эффективности алгоритмов SSRM, GAG и MGIA SSRS, представлены в таб. 4.

Предобработка датасетов производилась следующим образом:

1) Датасет Lastfm:

• в качестве рекомендуемых элементов из датасета было отобрано 10 000 самых популярных исполнителей;

• в качестве сессии рассматривались действия пользователя, совершенные в течение 8 часов;

• из итогового датасета исключены аномальные сессии длительностью менее 2 или более 20 взаимодействий.

_ г. processed

P;n\icp итогового датасета ¿'Lastfm 298 919

сессий.

2) Датасет Gowalla:

• в качестве рекомендуемых элементов из датасета было отобрано 30 000 самых популярных мест посещения;

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

• из итогового датасета исключены аномальные сессии длительностью менее 2 или более 20 взаимодействий.

_ ^processed

Размер итогового датасета "Gowalla :

- у авторов SSRM и GAG: 198 608 сессий;

- у авторов MGIA SSRS: 435 722 сессий.

Авторы MGIA SSRS отметили, что они произвели предобработку датасета по тем же правилам, что и авторы GAG, но при этом количество сессий в итоговом датасете получилось значительно больше, чем в работе GAG (435 722 против 198 608). Также авторы MGIA SSRS отметили, что если исключать сессии длительностью менее 3 и более 20 взаимодействий, то они получают равное с авторами GAG количество сессий, но результаты работы GAG на таком датасете ухудшаются.

3) Датасет Tmall:

• в качестве рекомендуемых элементов из датасета было отобрано 10 000 самых популярных исполнителей;

• в качестве сессии рассматривалась данные по взаимодействиям пользователя на платформе Tmall в течение 10 дней;

• из итогового датасета исключены сессии длительностью менее 2 или более 20 взаимодействий.

Таб. 4. Датасеты

№ Датасет SSRM GAG MGIA SSRS

1 Lastfm + + +

2 Gowalla + + +

3 Tmall - - +

Размер итогового датасета ^Tmalf : 962 384 или 809 993 сессии (в статье указаны противоречивые сведения: в текстовой части статьи указано 962 384 сессии, а в таблице №2: 809 993 сессии).

2) Алгоритм эмуляция потокового сценария

В SSRM, GAG и MGIA SSRS использовался одинаковый алгоритм для эмуляции потокового сценария (рис. 1 2), который включал в себя следующие шаги:

1)Все сессии в датасете (после его предобработки)

упорядочиваются в хронологическом порядке в соответствии со временем их завершения;

2) Датасет j)Processed разделяется на две части:

n train

тренировочное множество L) и множество

м candid ate кандидатов U

[)t,a'n включают первые 60% сессий из jy processed ^ в qcandidate _

В

упорядоченного датасета оставшиеся 40%.

Множество [)t,a'n рассматривается в качестве набора исторических данных и используется для предварительного offline обучения рекомендательной

модели, а множество D

candidate

- для моделирования поступающего потока новых сессий.

I candidate

3) Множество ""ШШ1ие разделяется на 5 равных по размеру множеств О^^, I Е [1,5], разделение производится в соответствии с хронологией завершения

сессий.

I train

4) Десять процентов (10%) множества D и

множество

D\

test

используются в качестве

n validation г-

валидационного множества и для подбора

оптимальных гиперпараметров модели.

5) В экспериментах все тестовые множества,

предшествующие текущему, используются для online

обучения модели, т.е. если в текущий момент модель

Dtest i

\test

е D

то для ее са ndidate

online обучения используются VDj

где 1 < j < г'.

6) Временное окно для обновления модели (время

r^test

между поступления в модель множеств и задается фиксированным и одинаковым для всех тестируемых моделей.

Упорядоченный в хронологическом порядке датасет

Dran (60% датасета)

10%

Dcand,dat (40% датасета)

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

Этап № 1

10%

D?

D2

Данные для обучение модели (68% датасета)

Этап № 2

Ï /

Данные для обучение модели (76% датасета)

Этап № 3

I . I V

Данные для обучение модели (84% датасета)

rix, 11 \ л

DJ

Этап

+ + + ^

Данные для обучение модели (92% датасета)

D3

Dl"'

d5

d2 '

D3 '

D5

Рис. 12. Алгоритм эмуляции потокового сценария

3) Метрики

Для оценки эффективности рекомендаций SSRM, GAG и MGIA SSRS использовались метрики Recall@K и MRR@K (Mean Reciprocal Rank), где K - количество рекомендуемых пользователю элементов.

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

4) Результаты оценки эффективности алгоритмов Достигнутые результаты эффективности алгоритмов

SSRM, GAG и MGIA SSRS приведены на рис. 13-16.

Метрика MRR@20 Датасет Lastfm

0,25

2 3 4 5

■ SSRM IGAG ■ MGIA SSRS

Рис. 13. Эффективность алгоритмов

Метрика Recall@20 Датасет Lastfm

0,40

2 3 4 5

■ SSRM «GAG ■ MGIA SSRS

Рис. 14. Эффективность алгоритмов

Метрика MRR@20 Датасет Gowalla

0,30

2 3 4 5

■ SSRM BGAG ■ MGIA SSRS

Рис. 15. Эффективность алгоритмов

Метрика Recall@20 Датасет Gowalla

0,60

2 3 4 5

■ SSRM BGAG ■ MGIA SSRS

Рис. 16. Эффективность алгоритмов

F. Выводы по результатам сравнительного анализа SSRM, GAG, MGIA SSRS

Обобщенные результаты сравнения SSRM, GAG и MGIA SSRS приведены в таб. 5.

Также по результатам проведенного анализа необходимо отметить общую проблему, ранее уже обозначенную в научном сообществе еще в 2019 году [11], но по-прежнему сохраняющую свою актуальность, а именно невозможность воспроизвести результаты, представленные авторами работ в своих статьях. Из трех рассмотренных работ, только авторы GAG выложили в открытый доступ исходный код реализации своей модели. В связи с чем, отсутствует возможность произвести дополнительное экспериментальное исследование и сравнение результатов на других датасетах, с использованием других метрик и т.д.

VI. Общие (базовые) рекомендации по построению (выбору) архитектуры, алгоритмам и сценарию

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

Исследование и анализ передовых алгоритмов рекомендаций на основе сессий для потокового сценария использования SSRM, GAG, MGIA SSRS позволяет разработать конкретные общие (базовые) рекомендации по построению архитектуры, алгоритмам и сценарию работы рекомендательных систем на основе сессий в зависимости от конкретных внешних условий.

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

A. Рекомендации по сценарию работы рекомендательной системы

В сценарии работы рекомендательной системы рекомендуется предусмотреть два параллельно выполняющихся процесса:

1. Процесс генерирования рекомендаций текущей рекомендательной моделью;

2. Процесс обновления рекомендательной модели.

Разделение данных процессов позволяет производить

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

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

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

Использование выборки данных позволяет не расходовать ограниченные аппаратные ресурсы для

сохранения всего объема новых и исторических данных, и увеличить скорость обработки данных и, соответственно, скорость обновления рекомендательной модели.

В. Рекомендации по типовой общей архитектуре решения

Общую архитектуру рекомендательной системы рекомендуется разделять на два функциональных блока (рис. 17):

1) Блок генерирования рекомендаций - данный блок отвечает за поддержку работы и обновление рекомендательной модели системы.

На вход данного блока поступает:

- непрерывно - поток новых сессий пользователей;

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

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

На выходе данного блока (для каждой сессии из потока): список персонализированных рекомендаций для пользователя сессии.

Таб.5. Обобщенные результаты сравнения SSRM, GAG, MGIA SSRS

№ Характеристика Алгоритм

SSRM GAG MGIA SSRS

1 Год выпуска статьи 2019 2020 2022

2 Решаемая задача Рекомендация следующего взаимодействия в текущей сессии

3 Входные данные Комбинация данных, известных о текущей сессии, и исторических данных

4 Классификация рассматриваемых сессий • упорядоченные, персонализированные сессии, с одним типом доступных действий; • короткие, средние и длинные сессий - за исключением аномальных сессий, включающих только 1 или более 20

взаимодействий;

• структура сессионных данных - многоуровневая.

5 Архитектурные особенности

5.1 Этапы обучения рекомендательной модели 2 этапа (offline и online)

5.2 Принцип хранения исторических данных Выборочное сохранение данных во временном хранилище (резервуаре)

5.3 Алгоритм отбора данных для сохранения в Random Sampling with a Reservoir

резервуаре

5.4 Принцип отбора данных для online обучения Отбор наиболее информативных сессий из новых и исторических данных

модели

5.5 Алгоритм отбора данных для online обучения Active Sampling Strategy (основан на вычислении ранга сессии с использованием Расстояние Вассерштейна между генерируемым моделью списком рекомендаций и реальным взаимодействием пользователя

метода матричной факторизации)

5.6 Основные алгоритмы, используемые в • Gated Recurrent Unit Graph Convolutional Gated Graph Neuron Network

рекомендательной модели • Matrix Factorization Networks

6 Значения ключевых параметров и условий, при которых авторы проводили обучение и оценку эффективности своих алгоритмов

6.1 Функция потерь перекрестная энтропия (cross-entropy)

6.2 Использование метода увеличения обучающих данных использовался (data augmentation technique) не указано не указано

6.3 Использование метода dropout (для избегания переобучения модели) использовался (dropout rate: 0,25) не указано не указано

6.4 Алгоритм обучения Truncated Backpropagation-Through-Time: • Time steps: 19; • Batch size: 512. Backpropagation: • Batch size: 100. Backpropagation

6.5 Метод оптимизации ADAM ADAM ADAM

(начальная скорость обучения 0,001) (начальная скорость обучения 0,003) (начальная скорость обучения 0,002)

6.6 Датасеты, использованные авторами для • Lastfm; • Lastfm; • Lastfm;

оценки модели • Gowalla. • Gowalla. • Gowalla; • Tmall.

6.7 Предобработка датасетов Производилась

6.8 Размер датасета после предобработки а С; 298 919 сессий. а ¿SïT: I98 608 сессий. а 298 9I9 сессий. а С;Xrf: I98 608 сессий. • С;: 298 919 сессий. • С;Х*: 435 722 сессий. • "КГ*: 962 384 или 809 993 сессии (в статье указаны противоречивые сведения)

6.9 Алгоритм эмуляция потокового сценария Авторами SSRM, GAG и MGIA SSRS использовался одинаковый алгоритм для эмуляции потокового сценария

6.I 0 Временной интервал между поступлением блоков новых данных (в online обучении) |Cnew| итераций для каждого множества 6 J 6 - задан в итерациях (а не в единицах времени), чтобы исключить влияние конфигурации оборудования на скорость вычислений

6.I I Используемые метрики • Recall@K; • MRR@K.

6.I 2 Алгоритмы рекомендаций, с которыми авторы производили сравнение своего алгоритма а POP; а S-POP; а BPR-MF (модифицированный); а HRNN; а GRU4Rec; а NARM. а POP; а S-POP; а BPR-MF; (модифицированный); а GRU4Rec; а NARM; а FGNN; а SSRM. • POP; • S-POP; • BPR-MF; • GRU4Rec; • NARM; • SR-GNN; • FGNN; • SSRM; • GAG.

6.I 3 Язык, использованный авторами для программной реализации своей модели Python (в том числе библиотека Theano) Python Python (в том числе библиотеки PyTorch, PyTorch-geometric)

6.I 4 Аппаратные ресурсы, использованные авторами при тестировании своей модели а Видеокарта: NVidia GTX 1080 Ti GPU; а другие характеристики оборудования не указаны. не указаны двухпроцессорный сервер: • Процессор (2 шт.): Intel(R) Xeon(R) Silver 4210 CPU @ 2.20GHz; • ПЗУ: 256 GB; • Видеокарта: Nvidia GeForce RTX 2080 Ti.

Т Значение настраиваемых параметров алгоритмов, при которых авторы достигли их максимальной эффективности

7.I Размер резервуара не указан

7.2 Количество слоев для MLP не предусмотрен I I

7.3 Размер вектора скрытого представления а пользователя: 50; а элемента: 50. а пользователя: 200; а элемента: 200. а пользователя: 200; а элемента: 200.

IS8

7.4 Весовой коэффициент IV, определяющий • Lastfm: 0,4; не предусмотрен

степень влияния модуля коллаборативной • Gowalla: 0,7.

фильтрации на рейтинг элемента

Рекомендательная система

Рис. 17. Рекомендация по типовой общей архитектуре решения

2) Блок отбора данных для обновления модели -данный блок отвечает за отбор данных для обновления рекомендательной модели.

C. Рекомендации по архитектуре и алгоритмам рекомендательной модели

Результаты сравнения эффективности рекомендаций SSRM, GAG и MGIA SSRS показывают, что эффективность рекомендаций растет с увеличением числа факторов (информационных блоков), учитываемых в рекомендательной модели.

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

рекомендательной моделью с учетом имеющихся ресурсных ограничений эксплуатирующей систему организации.

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

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

Например, как показали авторы GAG и MGIA SSRS, хорошим выбором может быть использование подходов на основе графовых нейронных сетей, которые позволяют учесть сложные зависимости между пользователями и элементами.

D. Рекомендации по архитектуре и алгоритму работы блока отбора данных для обновления модели

Архитектуру блока отбора данных для обновления рекомендательной модели рекомендуется разделять на два функциональных модуля (рис. 18):

1) Модуль отбора сессий - данный модуль отвечает за отбор сессий для обновления рекомендательной модели.

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

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

способность текущей рекомендательной модели генерировать точные рекомендации для таких сессий.

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

2) Резервуар - данный модуль отвечает за хранение и обновление выборки исторических данных.

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

Для отбора (из потока новых данных) сессий, сохраняемых в резервуаре, рекомендуется использовать алгоритм Random Sampling with a Reservoir [10], который обеспечивает случайную выборку из всего потока данных.

Блок отбора данных для обновления модели

1 Поток новых данных 1 Данные для

Модуль отбора сессий обновления модели

1 для обновления модели 1 *

1 1 1 Выборка исторических данных Поток новых данных 1 1 1

1 Резервуар 1

1 1

1

Рис. 18. Рекомендация по типовой архитектуре блока

отбора данных для обновления рекомендательной модели

Благодарности Работы в области рекомендательных систем для сессий были инспирированы работами В.П. Куприяновского по торговым системам [12, 13]. Другие материалы по данной тематике см. в работах [3, 14].

Библиография

[1] Nidhi Arora, Daniel Ensslen, Lars Fiedler, Wei Wei Liu, Kelsey Robinson, Eli Stein, Gustavo Schüler. "The value of getting personalization right - or wrong - is multiplying". https://www.mckinsey.com/capabilities/growth-marketing-and-sales/our-insights/the-value-of-getting-personalization-right-or-wrong-is-multiplying#/. Дата обращения: 10.04.2023.

[2] Deuk Hee Park, Hyea Kyeong Kim, Il Young Choi, Jae Kyeong Kim. A Literature Review and Classification of Recommender Systems on Academic Journals. // Journal of Intelligence and Information Systems. 2011.

[3] Якупов Д., Намиот Д. "Рекомендательные системы на основе сессий - модели и задачи". В журнале INJOIT, издательство Лаборатория ОИТ факультета ВМК МГУ им. М.В. Ломоносова (Москва), 2022 г., том 10, № 7, с. 128-155.

[4] L. Guo, H. Yin, Q. Wang, T. Chen, A. Zhou, and N. Quoc Viet Hung, "Streaming session-based recommendation," in Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, 2019, pp. 1569-1577.

[5] R. Qiu, H. Yin, Z. Huang, and T. Chen, "Gag: Global attributed graph neural network for streaming session-based recommendation," in Proceedings of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval, 2020, pp. 669678.

[6] Z. Yin, K. Han, P. Wang and H. Hu, "Multi Global Information Assisted Streaming Session-Based Recommendation System," in IEEE Transactions on Knowledge and Data Engineering, 2022, doi: 10.1109/TKDE.2022.3199373.

[7] S. Latifi, D. Jannach. "Streaming Session-Based Recommendation: When Graph Neural Networks meet the Neighborhood". In Sixteenth

ACM Conference on Recommender Systems (RecSys '22), September 18-23, 2022, Seattle, WA, USA. ACM, New York, NY, USA, 7 pages. https://doi.org/10.1145/3523227.3548485.

[8] Yong Kiam Tan, Xinxing Xu, and Yong Liu. 2016. Improved recurrent neural networks for session-based recommendations. DLRS (2016).

[9] Diederik P Kingma and Jimmy Ba. 2014. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980 (2014).

[10] Jeffrey S Vitter. Random sampling with a reservoir. ACM Trans. Math. Software (1985).

[11] Maurizio Ferrari Dacrema, Paolo Cremonesi, and DietmarJannach. 2019. Are We Really Making Much Progress? A Worrying Analysis of Recent Neural Recommendation Approaches. In Thirteenth ACM Conference on Recommender Systems (RecSys '19), September 16-20, 2019, Copenhagen, Denmark. ACM, New York, NY, USA

[12] Куприяновский, В. П., et al. "Розничная торговля в цифровой экономике." International Journal of Open Information Technologies 4.7 (2016): 1-12.

[13] Куприяновская, Ю. В., et al. "Умный контейнер, умный порт, BIM, Интернет Вещей и блокчейн в цифровой системе мировой торговли." International Journal of Open Information Technologies 6.3 (2018): 49-94.

[14] Ninichuk, Marina, and Dmitry Namiot. "Survey On Methods For Building Session-Based Recommender Systems." International Journal of Open Information Technologies 11.5 (2023): 22-32.

Comparative analysis of modern algorithms for generating recommendations based on sessions, in relation to the streaming usage scenario (Streaming Session-based Recommendation)

Dmitry Yakupov

Abstract — Recommendation systems are actively used in many areas of modern life (e-commerce, banking, communications, entertainment, etc.) and are of great importance for businesses and consumers. A separate class of these systems are session-based recommendation systems, the key feature of which is the generation of recommendations based on the user's recent actions in the system (his current session), the analysis of which allows to identify the current intentions and interests of the user. Especially relevant is the use of session-based recommendation systems in a streaming usage scenario (Streaming Session-based Recommender Systems), for example, on entertainment content platforms, marketplaces, etc. A distinctive feature of the streaming scenario is the continuous, high-volume and high-speed nature of the receipt of new data that needs to be processed in real time. In this paper, a comparative analysis of modern algorithms of session-based recommendation systems for a streaming usage scenario is carried out: Streaming Session-based Recommendation Machine, Global Attributed Graph Neural Network, Multi Global Information Assisted Streaming Session-Based Recommendation System, the general principles of building these systems, their main differences are highlighted, advantages and disadvantages are considered. Based on the research and analysis of these systems, basic (typical) recommendations for the construction of architecture, algorithms and the scenario of the work of recommendation systems based on sessions, depending on external conditions, have been developed.

Keywords— Streaming Session-based Recommendation.

References

[1] Nidhi Arora, Daniel Ensslen, Lars Fiedler, Wei Wei Liu, Kelsey Robinson, Eli Stein, Gustavo Schüler. "The value of getting personalization right - or wrong - is multiplying". https://www.mckinsey.com/capabilities/growth-marketing-and-sales/our-insights/the-value-of-getting-personalization-right-or-wrong-is-multiplying#/. Retrieved: 10.04.2023.

[2] Deuk Hee Park, Hyea Kyeong Kim, Il Young Choi, Jae Kyeong Kim. A Literature Review and Classification of Recommender Systems on Academic Journals. // Journal of Intelligence and Information Systems. 2011.

[3] Dmitry Yakupov, Dmitry Namiot. Session Based Recommender Systems - Models and Tasks. // International Journal of Open Information Technologies ISSN: 2307-8162 vol. 10, no. 7, 2022, p. 128-155.

[4] L. Guo, H. Yin, Q. Wang, T. Chen, A. Zhou, and N. Quoc Viet Hung, "Streaming session-based recommendation," in Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, 2019, pp. 1569-1577.

[5] R. Qiu, H. Yin, Z. Huang, and T. Chen, "Gag: Global attributed graph neural network for streaming session-based recommendation," in Proceedings of the 43rd International ACM SIGIR Conference on

Research and Development in Information Retrieval, 2020, pp. 669678.

[6] Z. Yin, K. Han, P. Wang and H. Hu, "Multi Global Information Assisted Streaming Session-Based Recommendation System," in IEEE Transactions on Knowledge and Data Engineering, 2022, doi: 10.1109/TKDE.2022.3199373.

[7] S. Latifi, D. Jannach. "Streaming Session-Based Recommendation: When Graph Neural Networks meet the Neighborhood". In Sixteenth ACM Conference on Recommender Systems (RecSys '22), September 18-23, 2022, Seattle, WA, USA. ACM, New York, NY, USA, 7 pages. https://doi.org/10.1145/3523227.3548485.

[8] Yong Kiam Tan, Xinxing Xu, and Yong Liu. 2016. Improved recurrent neural networks for session-based recommendations. DLRS (2016).

[9] Diederik P Kingma and Jimmy Ba. 2014. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980 (2014).

[10] Jeffrey S Vitter. Random sampling with a reservoir. ACM Trans. Math. Software (1985).

[11] Maurizio Ferrari Dacrema, Paolo Cremonesi, and DietmarJannach. 2019. Are We Really Making Much Progress? A Worrying Analysis of Recent Neural Recommendation Approaches. In Thirteenth ACM Conference on Recommender Systems (RecSys '19), September 16-20, 2019, Copenhagen, Denmark. ACM, New York, NY, USA

[12] Kuprijanovskij, V. P., et al. "Roznichnaja torgovlja v cifrovoj jekonomike." International Journal of Open Information Technologies 4.7 (2016): 1-12.

[13] Kuprijanovskaja, Ju. V., et al. "Umnyj kontejner, umnyj port, BIM, Internet Veshhej i blokchejn v cifrovoj sisteme mirovoj torgovli." International Journal of Open Information Technologies 6.3 (2018): 4994.

[14] Ninichuk, Marina, and Dmitry Namiot. "Survey On Methods For Building Session-Based Recommender Systems." International Journal of Open Information Technologies 11.5 (2023): 22-32.

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