Основы рекомендательных систем

За последние несколько десятилетий рекомендательные системы занимают все большее место в нашей жизни. От электронной коммерции (предложение покупателям статей, которые могут их заинтересовать) до онлайн-рекламы (предложение пользователям нужных материалов, соответствующих их предпочтениям) – сегодня рекомендательные системы неизбежно присутствуют в наших ежедневных онлайн-путешествиях. В самом общем виде рекомендательные системы – это алгоритмы, нацеленные на то, чтобы предлагать пользователям релевантные элементы. Например, фильмы для просмотра, тексты для чтения, товары для покупки или что-то еще в зависимости от отрасли. В некоторых отраслях рекомендательные системы действительно важны, так как они могут приносить огромный доход, если они эффективны. Или же быть способом значительно выделиться на фоне конкурентов. В этой статье мы рассмотрим основы и различные парадигмы рекомендательных систем. Для каждой из них мы представим, как они работают, опишем их теоретическую основу и обсудим их сильные и слабые стороны.

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

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

Методы коллаборативной фильтрации

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

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

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

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

Методы, основанные на контенте

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

Затем идея методов, основанных на контенте, заключается в попытке построить модель, основанную на имеющихся «особенностях», которая объясняет наблюдаемые взаимодействия между пользователем и элементом. Продолжая рассматривать пользователей и фильмы, мы попытаемся, например, смоделировать тот факт, что молодые женщины склонны оценивать лучше одни фильмы, молодые мужчины – другие и так далее. Если нам удастся получить такую модель, то делать новые предсказания для пользователя будет довольно просто: нужно лишь посмотреть на профиль (возраст, пол, …) этого пользователя и, основываясь на этой информации, определить релевантные фильмы для предложения.

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

Основы рекомендательных систем: модели, смещение и дисперсия

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

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

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

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

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

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

Пользователь-пользователь

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

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

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

Элемент-элемент

Идея метода элемент-элемент заключается в том, чтобы найти для пользователя новые рекомендации, похожие на те, с которыми он уже «положительно» взаимодействовал. Два предмета считаются похожими, если большинство пользователей, взаимодействовавших с ними, делали это похожим образом. Этот метод называют «элемент-ориентированным», поскольку он представляет элементы на основе взаимодействий пользователей с ними и оценивает расстояния между ними.

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

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

Сравнение методов «пользователь-пользователь» и «элемент-элемент

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

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

Сложность и побочный эффект

Коллаборативная фильтрация на основе памяти имеет один из самых больших недостатков — сложность масштабирования. В системах с миллионами пользователей и товаров поиск ближайших соседей может занять много времени, что затрудняет генерацию рекомендаций. Алгоритм KNN (k ближайших соседей) имеет сложность O(ndk), где n — количество пользователей, d — количество товаров, k — количество рассматриваемых соседей. Для повышения эффективности в масштабных системах можно использовать разреженность матрицы взаимодействия или приближенные методы поиска ближайших соседей (ANN).

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

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

Заключение: основы рекомендательных систем

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

Дополнительные материалы: основы рекомендательных систем

Related Posts

Методы киберпреступности

Методы киберпреступности

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

Технологии в графическом дизайне

Технологии в графическом дизайне

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

Технологии киберфизических систем

Технологии киберфизических систем

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

Суть электронной коммерции

Суть электронной коммерции

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

Системы облачных вычислений

Системы облачных вычислений

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

Разработка облачных сервисов

Разработка облачных сервисов

В настоящее время облачные разработки, включая разработку облачных сервисов, находятся на пике популярности. Цифровые изменения в экономике повлияли на все аспекты ведения бизнеса. Технологии контролируют все –…

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