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

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

Мы можем использовать эти функции, чтобы рекомендовать пользователю фильмы/материалы. Поэтому, рекомендуя фильм, мы можем использовать модель линейной регрессии (wx+b) с компонентом смещения. то есть wx. мы можем переписать уравнение, как показано ниже:

Причина, по которой мы используем вектор v вместо вектора признаков x непосредственно в модели, заключается в том, что размер вектора для функций пользователей (x_u) и фильмов (x_m) может иметь разные размеры. Теперь задача здесь состоит в том, чтобы вычислить вектор v из вектора признаков x. Для этого мы можем использовать нейронную сеть (NN) для вычисления вектора v на основе входных данных x.

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

В процессе обучения нейронных сетей мы можем поместить их в одну процедуру обучения, используя Tensorflow, вместо того, чтобы обучать их по отдельности.

Я сделал пример реализации алгоритма фильтрации контента и разместил его в GitHub Repo. Загрузите блокнот Jupyter в репозиторий, чтобы увидеть пошаговое кодирование алгоритма.

Заслуга в общем содержании принадлежит специализированному курсу Эндрю Нга по машинному обучению на Coursera.

Если вам понравилась моя статья, подпишитесь на меня в профилях Github, Linkedin и/или Medium.

Ссылка

  1. https://www.eliftech.com/insights/all-you-need-to-know-about-a-music-recommendation-system-with-a-step-by-step-guide-to-creating-it /
  2. https://www.kaggle.com/rounakbanik/the-movies-dataset
  3. https://www.alpha-quantum.com/blog/content-based-recommendation-engine/content-based-recommender-system-with-python/