Термин «рекомендательные системы» в последние годы стал модным словом в техническом сообществе из-за его вклада в успех продукта. Ажиотаж вокруг знаменитого алгоритма рекомендаций Tik Tok и его успешных показателей вовлеченности побудили меня заинтересоваться рекомендательными системами. Системы рекомендаций могут изменить способ общения компаний и продуктов со своими пользователями, позволяя им выбирать персонализированный контент для пользователей на основе предпочтений и действий каждого клиента.

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

Что такое рекомендательные системы?

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

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

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

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

Контентная фильтрация:

  • В рекомендациях на основе содержания описательные атрибуты элементов используются для рекомендаций пользователям. Здесь «контент» относится к атрибутам или тегам, связанным с элементом. Соответствующие элементы предлагаются пользователям на основе их покупательского поведения, оценок и результатов поиска в сочетании с информацией о содержании, доступной для элементов [5].
  • Пример: Предположим, что Джон очень высоко оценил фильм «Дюна». Считается, что описание предмета «Дюна» указывает на другие фильмы, которые могут понравиться Джону. Атрибуты или описание «Дюны» учитывают ключевые слова, похожие на другие научно-фантастические фильмы, такие как «Интерстеллар» и «Гравитация», поэтому они рекомендуются Джону.

Совместная фильтрация:

  • Совместная фильтрация использует совместные оценки и действия нескольких пользователей для выработки рекомендаций. Новые элементы рекомендуются пользователю на основе интересов и предпочтений других «похожих пользователей». При совместной фильтрации характеристики элементов не используются для рекомендации. Скорее, пользователи классифицируются по кластерам сходства, и рекомендации даются в соответствии с предпочтениями кластера [6]. Популярным примером использования совместной фильтрации является веб-сайт покупок Amazon — «Клиенты, которые купили этот продукт, также купили XYZ».
  • В матрице рейтинга, изображающей пользователей и элементы со значениями, указывающими соответствующие рейтинги, большинство пользователей взаимодействовали бы лишь с небольшой долей множества элементов. В результате большинство оценок являются «неуказанными» или «ненаблюдаемыми», что делает матрицу разреженной. Идея совместной фильтрации заключается в том, что эти неуказанные рейтинги могут быть импутированы, поскольку наблюдаемые рейтинги часто сильно коррелируют между группами кластеров. Например, давайте рассмотрим двух пользователей Алису и Боба, у которых очень похожие вкусы и предпочтения. Если рейтинги, предоставленные обоими, очень похожи, вполне вероятно, что рейтинг, в котором только один из них указал значение, также, вероятно, будет аналогичным [5].

Гибридная модель:

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

Как компании используют систему рекомендаций для стимулирования роста?

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

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

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

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

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

Чтобы разобраться в работе некоторых аспектов этих систем рекомендаций, давайте рассмотрим примеры Spotify и Instagram.

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

  • Spotify использует совместную фильтрацию, чтобы рекомендовать новые песни пользователям на основе активности прослушивания другими похожими пользователями. Для этого Spotify использует матрицы. Рассмотрим матрицу R, где все строки соответствуют пользователю (X), а все столбцы — песне (Y). На самом деле эта массивная матрица хранится на серверах Spotify и состоит примерно из 200 миллионов строк и 40 миллионов столбцов. После линейных алгебраических операций Spotify определяет векторы X и Y, каждый из которых представляет профиль пользователя и профиль песни соответственно.

  • Например, чтобы Аарон мог получать новые музыкальные рекомендации по своему вкусу, алгоритм рекомендаций идентифицирует пользователей со схожими вкусами с Аароном, сравнивая вектор Аарона с векторами 200 миллионов других пользователей, создавая группу пользователей со схожими вкусами. Отсюда Аарон порекомендовал новую песню из треков одного из участников его группы.
  • Контентная фильтрация используется для сравнения тегов (поп, классика, имя исполнителя, язык и т. д.) элемента (песни) с профилем пользователя, чтобы сделать предложения.
  • Аудиофункции извлекаются непосредственно из необработанного аудио с помощью сверточных нейронных сетей (CNN). Работа этих CNN выходит за рамки этой статьи, но важно понимать, что выходные данные этих нейронных сетей состоят из звукового профиля песни, такого как ее темп, тональность, громкость, тональность, тактовый размер и т. д. Акустические профили сравниваются, чтобы найти сходство, и новые песни рекомендуются пользователям на основе звукового сходства [3].

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

  • Instagram использует собственный доменный язык под названием IGQL, который обеспечивает правильный уровень абстракции, оптимизирует ресурсы и объединяет несколько алгоритмов, необходимых для поиска кандидатов в их системе рекомендаций.
  • Из-за огромного объема медиаконтента, которым в режиме реального времени делятся в Instagram по широкому кругу тем, моделям, основанным на контенте, сложно понять такие разновидности. Чтобы решить эту проблему, поиск информации на уровне учетной записи используется для предложения соответствующего контента. Благодаря внедрению учетных записей (аналогично внедрению слов) тематически похожие учетные записи идентифицируются более эффективно.

  • Instagram использует инфраструктуру Ig2Vec, аналогичную платформе Word2Vec, для определения встраивания учетных записей. Используя Ig2Vec, можно предсказать учетные записи, с которыми пользователь, скорее всего, будет взаимодействовать в данном сеансе.Если пользователь взаимодействует со строкой учетных записей в данном сеансе, они, скорее всего, будут тематически похожи, > по сравнению со случайной последовательностью учетных записей от различных пользователей. Это помогает идентифицировать тематически похожие учетные записи, используемые в рекомендациях [4].

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

Ссылки

[1] https://help.netflix.com/en/node/100639

[2] https://blog.youtube/inside-youtube/on-youtubes-recommendation-system/

[3] https://medium.com/the-sound-of-ai/spotifys-discover-weekly-explained-breaking-from-your-music-bubble-or-maybe-not-b506da144123

[4] https://ai.facebook.com/blog/powered-by-ai-instagrams-explore-recommender-system/

[5] «Система рекомендаций — учебник», Чару С. Аггарвал.

[6] https://www.geeksforgeeks.org/collaborative-filtering-ml/

[7] https://analyticsindiamag.com/a-guide-to-building-hybrid-recommendation-systems-for-beginners/