В моей предыдущей статье Какой у вас« следующий фильм ? Введение в системы рекомендаций », я рассказываю историю ориентированного на данные решения Netflix для телепрограмм, которое меняет правила игры до сих пор, в отношении того, как большие данные стали основным фактором, определяющим решения при производстве и распространении фильмов / телепрограмм. промышленность, какой мы ее знаем сегодня. Для такой компании, как Netflix, решение о том, в какой фильм / сериал инвестировать, - это одна часть проблемы, которую большие данные предоставляют решения, другая, еще более важная часть, - это их распространение. Имея около 200 миллионов подписчиков и постоянно растущую библиотеку, в настоящее время около 14 000 контента, из которых около 10% является оригинальным контентом Netflix (исходным контентом), возникает бизнес-вопрос, как привлечь подписчиков с сильно различающимися предпочтениями к легко добраться до интересующего их контента. Решение этой проблемы достигается с помощью рекомендательных (рекомендательных) систем / движков.

Автоматизированный процесс фильтрации по объектам (в данном примере, фильмов) и предложения пользователям того, что им важно или может быть интересно, на основе собранных данных - это то, что называется системами рекомендаций. Это алгоритмы машинного обучения, предназначенные для сортировки контента и предложения пользователям релевантных элементов. В цифровом мире невозможно избежать рекомендательных систем, даже если вы этого не хотите. Благодаря огромному количеству информации, будь то фильмы, новости, статьи, продукты, просто купить все, что есть в цифровом мире, навигация по ним для определения ваших предпочтений отнимает много времени. Следовательно, система рекомендаций имеет решающее значение для предприятий во многих отраслях и может быть тем, что выделяет ее среди конкурентов, как в случае с Netflix.

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

Существуют две основные парадигмы рекомендательных систем: методы совместной работы и методы, основанные на содержании.

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

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

Класс алгоритмов совместной фильтрации разделен на две (2) подкатегории.

На основе памяти

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

Пользователь - Пользователь: Предположим, мы хотим дать рекомендацию для данного пользователя по имени Джеймс. Во-первых, каждого пользователя можно представить математически (его вектором… давайте сейчас сосредоточимся на идее), обратите внимание на взаимодействие с различными элементами. Затем мы можем вычислить какое-то сходство между нашим пользователем, Джеймсом и каждым из них. другие пользователи. Эта мера сходства такова, что двух пользователей с одинаковым взаимодействием с одними и теми же элементами следует рассматривать как близких. После подсчета сходства для каждого пользователя мы можем использовать (k ближайшего соседа; алгоритм), чтобы найти пользователей, наиболее близких к Джеймсу (можно сказать, что эти пользователи похожи на Джеймса, вы знаете, птица из того же пера…) тогда мы можем предложить самый популярный предмет среди них, принимая во внимание только те предметы, с которыми Джеймс еще не взаимодействовал. Еще одна вещь, которая учитывается в этом методе, - это общее количество взаимодействий каждого сравниваемого пользователя, сила сходства будет варьироваться.

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

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

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

На основе модели

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

Метод на основе содержания / фильтрация

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

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

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

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

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