Этот блог создается и поддерживается студентами программы профессионального магистра в Школе компьютерных наук Университета Саймона Фрейзера в рамках их кредита на курс. Чтобы узнать больше об этой уникальной программе, посетите {sfu.ca/computing/pmp}.

Авторы: Цюань Юань, Юхэн Лю, Вэньлун У

Введение

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

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

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

Методология

Сбор данных

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

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

1. Атрибуты

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

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

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

3. Контекстная информация

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

4. Система тегов

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

5. Проблема с холодным запуском

Холодный старт - распространенная проблема в рекомендательной системе, вызванная отсутствием информации о пользователе или элементе. Когда на платформу добавляется новый пользователь или новый элемент, как система рекомендаций обходится без данных? Получается несколько типовых решений для получения исходной информации. Вы определенно когда-либо использовали авторизованный вход для создания новой учетной записи на веб-сайте. Пока вы регистрируетесь с другой учетной записью в социальной сети, система может получать из нее некоторые ваши записи и извлекать некоторую полезную информацию в качестве данных, используемых в системе рекомендаций. Некоторые веб-сайты просят нового пользователя выбрать несколько интригующих тегов вначале. Затем система порекомендует некоторые популярные блюда на основе выбора пользователя в качестве закуски. Случайная стратегия также используется как решение проблемы «холодного старта». Рекомендация случайных элементов новым пользователям или новых элементов случайным пользователям может дать системе рекомендаций положительный отзыв, основанный на взаимодействии пользователя с элементом.

Алгоритмы:

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

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

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

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

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

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

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

a) Назначьте точки данных ближайшему центроиду и, таким образом, создайте кластеры с центрами в этих центроидах.

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

На следующем графике показано, как этот алгоритм реализуется при k = 2.

2. На основе содержания

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

заявка

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

1. Amazon

Amazon - транснациональная технологическая компания, специализирующаяся на электронной коммерции. Дж. Линден, Б. Смит и Дж. Йорк в своей статье рассказали о совместной фильтрации Amazon Item-to-Item.

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

2. TikTok

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

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

Заключение:

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

Спасибо за прочтение! 🤗🤗🤗

Ссылки:

  1. Х. Ланг, Совместная фильтрация, https://blog.csdn.net/hlang8160/article/details/81433356, 2018 г.
  2. З. Шен, Collaborative Filter - Data Mining, https://blog.csdn.net/shenziheng1/article/details/89813959, 2019 г.
  3. Павел Кордик, Объяснение рекомендательных систем, https://medium.com/recombee-blog/recommender-systems-explained-d98e8221f468
  4. Батист Рокка, Введение в рекомендательные системы, https://towardsdatascience.com/introduction-to-recommender-systems-6c66cf15ada
  5. Дж. Ченг, З. Ли, Л. Ван и К. Биан, «Практика создания новой структуры слияния моделей в коротких видео-рекомендациях», Международная конференция по виртуальной реальности и интеллектуальным системам (ICVRIS) 2019 г., Цзишоу, Китай, 2019 г., стр. 27–30.
  6. Дж. Линден, Б. Смит и Дж. Йорк, «Рекомендации Amazon.com: совместная фильтрация элементов данных», в IEEE Internet Computing, vol. 7, вып. 1. С. 76–80, январь-февраль. 2003 г.
  7. Дж. Танхулу, Рекомендательная система: контентная и совместная фильтрация, https://blog.csdn.net/yinyu19950811/article/details/85697227, 2019 г.