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

  • Холодный старт для новых пользователей.
  • Проблема с новым элементом.
  • Редкость.
  • Прозрачность.

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

Плюсы:

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

Минусы:

  • Content-Based RecSys имеет тенденцию к чрезмерной специализации: они будут рекомендовать товары, аналогичные уже потребленным, с тенденцией создания пузыря фильтров.
  • Методы, основанные на совместной фильтрации, оказались эмпирически более точными при выработке рекомендаций.

Архитектура рекомендательной системы, основанной на содержании

Три основных компонента:

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

Как представить контент?

Содержание предмета - вещь очень абстрактная и дает нам множество вариантов. Мы могли бы использовать множество разных переменных. Например, для книги мы можем рассмотреть автора, жанр, текст самой книги… список можно продолжить.

Когда мы знаем, какой контент мы рассмотрим. Нам необходимо преобразовать все эти данные в Модель векторного пространства, алгебраическое представление текстовых документов.

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

Конкретной реализацией набора слов является представление TF-IDF, где TF означает частоту термина, а IDF - обратную частоту документа. Эта модель сочетает в себе важность слова в документе (местное значение) с тем, насколько важно слово в корпусе (глобальное значение).

Хотите узнать больше?

Это был общий аспект рекомендательных систем, основанных на содержании.

Мы должны знать, что представление «Мешок слов» не учитывает контекст слов. Если для нас важно уловить это, становится важным представление семантического содержания. Я представляю два варианта, если вы хотите узнать о нем больше.

Вариант 1 - Явное семантическое представление:

  • WordNet
  • ConceptNet
  • Онтологии для семантического представления

Вариант 2 - Вывести семантическое представление:

Увидимся в следующем посте.