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

Сегодня мы живем в поколении, которое во многом зависит от приложений на основе веб-сайтов для решения любых простых задач, например, бронирования отелей, перелетов, билетов в кино, просмотра фильмов (Netflix и т. д.), покупок (Amazon, Flipkart, Myntra и т. д.), прослушивания музыки. (ganaa и т. д.), реклама, поиск туристических мест, поиск ресторанов по местоположению и т. д. Когда мы делаем что-либо в Интернете, мы можем эффективно выполнять задачи без необходимости физического посещения и исследования задачи, которая занимает больше времени. Наша жизнь становится проще и удобнее, когда мы выполняем такие задачи онлайн. Кроме того, в приложении доступно огромное количество информации, поэтому мы получаем выгоду в поиске по нашему желанию. Но мы также можем потеряться в огромном количестве информации, доступной в приложениях, и в конечном итоге потерять много времени, просто пытаясь найти то, что нам может понравиться. Проблема называется проблемой информационной перегрузки.

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

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

Стратегии рекомендательной системы

Цель RS может быть достигнута с использованием одной из стратегий, приведенных ниже, или гибридной версии:

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

Совместная фильтрация (CF). Этот метод основан на прошлом поведении пользователей и анализирует отношения между ними. Например, история просмотров, история покупок, рейтинги, отзывы и т. д., и рекомендации товаров на основе этого. Ссылаясь на пример на диаграмме ниже, где пользователь уже купил два товара, RS находит других пользователей, которые также купили те же товары, и рекомендует другие невидимые товары первому пользователю, предполагая, что у обоих пользователей одинаковые вкусы. Методы CF подразделяются на стратегии, основанные на моделях, и стратегии, основанные на памяти. Метод CF на основе модели строит модель, используя существующие отношения пользователей и элементов, и учит модель точно прогнозировать. Метод CF на основе памяти сначала находит группу пользователей со схожими вкусами, используя меры подобия, такие как корреляция Пирсона, скорректированное косинусное сходство и т. д., а затем рекомендует элементы на основе выбора похожих пользователей. Некоторыми популярными методами, основанными на моделях, являются разложение по сингулярным значениям (SVD), матричная факторизация (MF), кластеризация, байсовские сети и т. д.

Проблемы в системах рекомендаций на основе контента

  • Получить явную информацию от пользователей сложно, так как большинство пользователей не желают предоставлять информацию из-за проблем с безопасностью.
  • Если доступной информации меньше, прогноз не точен.

Проблемы в рекомендательных системах совместной фильтрации

  • CF страдает от проблемы с холодным запуском. Проблема «холодного старта» — это проблема в рекомендательных системах, когда новый пользователь или элемент не получают никаких рекомендаций или не рекомендуются.
  • Это происходит потому, что CF работает с прошлым поведением пользователей. Новый пользователь, который ничего не делал в приложении, не имеет отношения ни к каким элементам. Таким образом, RS не может предложить какие-либо рекомендации для нового пользователя.

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

Описание данных

Данные, доступные в CF, — это оценки, выставленные пользователями предметам. Рейтинги варьируются от [1-R], так что 1 соответствует наименее предпочтительному, а R соответствует наиболее предпочтительному. Данные представлены в виде матрицы Y размером [n,m], где n и m — количество пользователей и элементов соответственно. Значение входа в матрицу представляет собой оценку, данную соответствующим пользователем по соответствующему элементу. Отсутствующий рейтинг представлен нулем в матрице. Некоторые из эталонных наборов данных: 1M, 10M, 100k, последние небольшие наборы данных Movielens, Eachmovie и т. д. доступны здесь. Наборы данных для рекомендательных систем представляют собой разреженные матрицы.

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

Поскольку данные, доступные в CF, скудны, SVD не может генерировать точные прогнозы из-за частично заполненной матрицы оценок. Таким образом, исследователи сосредотачиваются на методе матричной факторизации (MF) для решения рекомендательной системы, поскольку метод MF является масштабируемым. В MF две матрицы скрытых факторов U и V используются для создания скрытых функций пользователей и элементов, в которых скалярное произведение U и V аппроксимирует истинную оценочную матрицу Y. Функция потерь, такая как сумма квадратов ошибок, метод опорных векторов (SVM) и т. д. используются для получения приблизительной матрицы рейтинга пользовательских элементов в MF вместе с термином регуляризации. Различные подходы к MF: Регулярная MF (RMF), Максимальная маржа MF (MMMF), Неотрицательная MF (NMF), Вероятностная MF (PMF).

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

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

В подходе CF на основе элементов он находит группу похожих элементов, анализируя связь пользователей с элементами. Например, пользователю P нравится фильм под названием «Мстители». Система находит других пользователей (например, M,N,O), которым понравился тот же фильм «Мстители», затем система находит другие фильмы (Темный рыцарь, Гражданские войны, Железный человек), которые понравились пользователям M,N,O. Непросмотренные фильмы активным пользователем P среди (Темный рыцарь, Гражданские войны, Железный человек) выбираются и рекомендуются активному пользователю P.

Пример пользовательского CF показан на рисунке.

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

Использованная литература:

  1. Иегуда Корен и др. др. «Методы матричной факторизации для рекомендательных систем», IEEE Computer, 2009 г.
  2. Джейсон Д.М. Ренни и Натан Сребро «Быстрая факторизация матрицы максимальной маржи для совместного прогнозирования», Международная конференция по машинному обучению, 2005 г.
  3. Руслан Салахутдинов и Андрей Мних «Вероятностная матричная факторизация», Материалы 20-й Международной конференции по нейронным системам обработки информации, NIPS 2007, США.
  4. Бадрул Сарвар и др. др. «Алгоритмы рекомендаций по совместной фильтрации на основе элементов», Материалы 10-й Международной конференции по WWW, 2001 г.
  5. Джонатан Л. Херлокер и др. др. «Оценка рекомендательных систем совместной фильтрации» ACM 2004

Первоначально опубликовано на http://happinessandme.com 18 ноября 2019 г.