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

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

Примеры:

  • Предложение читателям новостных статей, исходя из интересов читателей.
  • Предложение клиентам предложений о том, что они хотели бы купить, на основе их прошлой истории покупок/поисков.

В основном существует три типа рекомендательных систем:

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

Совместные методы для систем рекомендаций — это методы, основанные исключительно на прошлых взаимодействиях, записанных между пользователями и элементами, для создания новых рекомендаций. Эти взаимодействия хранятся в так называемой «матрице взаимодействия пользователя с элементом».

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

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

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

Методы на основе контента

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

Затем идея методов на основе контента состоит в том, чтобы попытаться построить модель на основе доступных «функций», которые объясняют наблюдаемые взаимодействия пользователя с элементом. По-прежнему рассматривая пользователей и фильмы, мы попытаемся, например, смоделировать тот факт, что молодые женщины склонны ставить более высокие оценки одним фильмам, юноши — некоторым другим фильмам и так далее. Если нам удастся получить такую ​​модель, то делать новые прогнозы для пользователя довольно просто: нам нужно просто посмотреть профиль (возраст, интересы, пол, …) этого пользователя и на основе этой информации определить релевантные фильмы, чтобы предложить.

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

Гибридный метод

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

Зачем нужна система рекомендаций?

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

Как работают системы рекомендаций?

Все начинается с тебя! (Ваши данные)

Данные о вас можно собирать двумя различными способами:

1. ЯВНЫЕ ДАННЫЕ

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

2. НЕЯВНЫЕ ДАННЫЕ

  • Понимание пользователей через их «данные о кликах» или «данные о потоках»
  • Склонен к мошенничеству
  • У Amazon так много неявных данных, что ему не нужны лучшие алгоритмы! Даже простые алгоритмы прекрасно работают, когда у нас есть огромное количество данных.

Выводы

Основные выводы этой статьи:

  • Алгоритмы рекомендаций можно разделить на две большие парадигмы: совместные подходы (такие как пользователь-пользователь, элемент-элемент и матричная факторизация), которые основаны только на матрице взаимодействия пользователя и элемента, и подходы, основанные на содержании (такие как модели регрессии или классификации), которые используют предварительная информация о пользователях и/или элементах
  • Совместные методы, основанные на памяти, не предполагают наличия какой-либо скрытой модели и в этом случае имеют низкую предвзятость, но высокую дисперсию; Совместные подходы, основанные на модели, предполагают модель скрытых взаимодействий, которая должна изучать как пользователей, так и представления элементов с нуля и, таким образом, иметь более высокий уклон, но более низкую дисперсию; Методы, основанные на контенте, предполагают, что скрытая модель построена вокруг явно заданных функций пользователей и/или элементов и, таким образом, имеет наибольшее смещение и наименьшую дисперсию.
  • Системы рекомендаций становятся все более и более важными во многих крупных отраслях, и при разработке системы необходимо учитывать некоторые аспекты масштаба (лучшее использование разреженности, итерационные методы факторизации или оптимизации, приблизительные методы поиска ближайших соседей…)
  • Системы рекомендаций трудно оценить: если можно использовать некоторые классические метрики, такие как MSE, точность, полнота или прецизионность, следует иметь в виду, что некоторые желаемые свойства, такие как разнообразие (прозорливость) и объяснимость, не могут быть оценены таким образом; оценка реальных условий (например, A/B-тестирование или тестирование образцов), наконец, является единственным реальным способом оценки новой системы рекомендаций, но требует определенной уверенности в модели.

Следует отметить, что в этом вводном посте мы не обсуждали гибридные подходы. Эти методы, сочетающие совместную фильтрацию и подходы, основанные на содержании, во многих случаях позволяют достичь самых современных результатов и, таким образом, в настоящее время используются во многих крупномасштабных системах рекомендаций. Комбинация, созданная в гибридных подходах, может в основном принимать две формы: мы можем либо обучать две модели независимо (одну модель совместной фильтрации и одну модель, основанную на контенте) и комбинировать их предложения, либо напрямую строить единую модель (часто нейронную сеть), которая объединяет оба подхода. используя в качестве входных данных предварительную информацию (о пользователе и/или элементе), а также информацию о «совместных» взаимодействиях.

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

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