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

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

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

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

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

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

Входы и выходы:

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

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

Результат совместной фильтрации:

Оценка, которую пользователь дал бы продуктам, которые он еще не оценил.

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

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

  1. Методы, основанные на скрытых факторах и
  2. Методы на основе ближайшего соседа

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