Коллаборативная фильтрация что это такое простыми словами

Коллаборативная фильтрация

В современном мире часто приходится сталкиваться с проблемой рекомендации товаров или услуг пользователям какой-либо информационной системы. В старые времена для формирования рекомендаций обходились сводкой наиболее популярных продуктов: это можно наблюдать и сейчас, открыв тот же Google Play. Но со временем такие рекомендации стали вытесняться таргетированными (целевыми) предложениями: пользователям рекомендуются не просто популярные продукты, а те продукты, которые наверняка понравятся именно им. Не так давно компания Netflix проводила конкурс с призовым фондом в 1 миллион долларов, задачей которого стояло улучшение алгоритма рекомендации фильмов (подробнее). Как же работают подобные алгоритмы?

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

Входные данные

Допустим, у нас имеется матрица оценок, выставленных пользователями продуктам, для простоты изложения продуктам присвоены номера 1-9:

Задать её можно при помощи csv-файла, в котором первым столбцом будет имя пользователя, вторым — идентификатор продукта, третьим — выставленная пользователем оценка. Таким образом, нам нужен csv-файл со следующим содержимым:

Для начала разработаем функцию, которая прочитает приведенный выше csv-файл. Для хранения рекомендаций будем использовать стандартную для python структуру данных dict: каждому пользователю ставится в соответствие справочник его оценок вида «продукт»:«оценка». Получится следующий код:

Мера схожести

При реализации был использован факт, что скалярное произведение вектора самого на себя дает квадрат длины вектора — это не лучшее решение с точки зрения производительности, но в нашем примере скорость работы не принципиальна.

Алгоритм коллаборативной фильтрации

Теперь осталось только написать соответствующий код

Для проверки его работоспособности можно выполнить следующую команду:

Что приведет к следующему результату:

Источник

Коллаборативная фильтрация: как предпочтения других пользователей влияют на твои рекомендации

Последние несколько лет в интернет-магазинах, онлайн-кинотеатрах и других сервисах активно развиваются алгоритмы отслеживания интересов пользователей, на основе которых составляется индивидуальный список интересных товаров.

Рекомендательные системы — win-win инструмент как для владельцев платформ, так и для их пользователей. Первые повышают объем продаж за счет показа релевантного контента потенциальным покупателям, вторые тратят меньше времени на поиск нужных вещей.

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

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

Коллаборативную фильтрацию в основе алгоритмов используют многие крупные сервисы (например, Amazon, eBay, AliExpress, Netflix и другие) и социальные сети (ВКонтакте, Facebook и другие). Умные алгоритмы помогают сервисам предлагать пользователям интересные товары или услуги и сокращают время поиска нужных вещей.

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

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

По такому принципу платформа делает разные подборки и рекомендации: по жанрам, актерам, создателям фильмов и т.п.

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

Коллаборативная фильтрация делится на 3 типа: основанный на соседстве, основанный на модели и гибридный. Далее поговорим о них подробнее.

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

Функционирование системы, в основе которой лежит этот тип, осуществляется в несколько этапов:

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

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

Читайте также:  комплектующие для ванной комнаты

Данный подход набирает популярность из-за более высокой точности прогнозов, потому что при работе рекомендательной системы учитываются скрытые факторы, объясняющие наблюдаемые оценки.

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

Гибридный тип распространен больше остальных, особенно если рекомендательная система разрабатывается для коммерческого сайта: интернет-магазина, маркетплейса и т.п. Он объединяет в себе два первых типа и помогает преодолеть ограничения изначального оригинального подхода (основанного на соседстве) и улучшить точность рекомендаций.

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

Несмотря на всю пользу, которую дает коллаборативная фильтрация, есть и ряд проблем, с которыми сталкиваются разработчики.

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

Эта проблема характерна для новых систем. В связи с этим иногда усиливается проблема «холодного старта», о которой поговорим далее.

При постепенном росте количества пользователей рано или поздно может возникнуть проблема масштабируемости. Например, у нас есть 100 тысяч пользователей O(M) и 15 тысяч товаров O(N). Тогда алгоритм коллаборативной фильтрации сложен для расчета в такой степени, каким получается выражение O(M x N).

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

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

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

Проблема рекомендательных систем в том, что любой пользователь может ставить оценки. А если это будет, например, производитель конкретных товаров? Он может положительно оценивать свои товары, а на конкурентных оставлять плохие отзывы. Поэтому рекомендательные системы стали сильно влиять на продажи и прибыль, когда коммерческие проекты начали массово использовать их.

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

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

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

Вопрос не в том, что мы хотим знать о людях, вопрос в том, что люди сами хотят рассказать о себе.

Рассмотрим несколько примеров, где применяется метод коллаборативной фильтрации. Самые очевидные варианты — социальные сети Facebook и ВКонтакте. Он заложен в основе «умных» новостных лент. Наверное, вы замечали, что уже давно посты не показываются в хронологическом порядке. Сервисы определяют ваши интересны и сначала показывают записи, которые заинтересуют вас с большей вероятностью.

По аналогичному принципу сегодня работает еще одна крупная социальная сеть — Instagram. Если раньше мы видели публикации по новизне, то сегодня система автоматически подбирает сначала то, что заинтересует нас. И чем больше ставим лайков и оставляем комментариев, тем точнее работают рекомендации.

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

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

Читайте также:  снять квартиру по часовой в казани

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

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

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

Источник

Коллаборативная фильтрация — что это простыми словами?

По телевидению идет реклама с Дмитрием Нагиевым от МТС. И речь там заводится о коллаборативной фильтрации. Что это такое простыми словами?

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

Английский термин, переводом которого он является, пишется как collaborative filtering.

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

Например, от того, какие запросы пользователь вводит в поисковую строку, зависит выдача.

Прогнозы строятся автоматически на основе того, какими предпочтениями обладают люди со схожими интересами и предпочтениями. Что проверяет система?

В МТС анализируется последний месяц активности. Ученые считают, что в течение этого периода времени интересы людей обычно не претерпевают существенных изменений.

Простым языком

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

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

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

Что имели в виду в рекламе МТС

Компания анализирует расход трафика пользователя, сколько времени он тратит на разговоры по телефону и какое количество СМС отправляет ежемесячно. Основываясь на этом, ему делается предложение об условиях, наиболее подходящих именно ему.

Другие объяснения

Вот несколько примеров того, как коллабортивная фильтрация объяснена в интернете:

Источник

Коллаборативная фильтрация простыми словами

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

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

Этот метод обработки интересов пользователей далеко не новый. Он широко применяется на таких крупных сервисах, как Amazon, Netflix, или в крупных социальных сетях. Благодаря умным алгоритмам компании и организации значительно лучше понимают потребности своих клиентов, а клиенты приобретают наиболее релевантные товары.

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

Применение коллаборативной фильтрации условно можно разделить на два подхода:

Где применяется метод коллаборативной фильтрации

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

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

Читайте также:  интерьер комнаты фронтальная перспектива

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

Таким же образом в ЭБС «Лань» для отображения нового блока рекомендаций используется коллаборативная фильтрация. Сайт анализирует статистику чтения книг конкретного пользователя и сравнивает его интересы с интересами других читателей. Затем из полученной информации делает прогноз, какие книги могут заинтересовать конкретного читателя, и добавляет их в подборку. В настоящий момент разработчики оптимизируют работу нового раздела для приемлемого соотношения качества и количества.

Источник

Что такое коллаборативная фильтрация?

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

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

Что же делать, как ориентироваться в потоке информации? Вам поможет коллаборативная фильтрация.

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

В мире коллаборативные системы создают с 1994 года, имеется обширная литература, проводятся конференции. Сотни систем такого рода с переменным успехом работают для разных типов контента — от книг и фильмов до новостей и вин. По общему признанию, самыми продвинутыми на сегодня являются система крупнейшего мирового книжного магазина Amazon.com, основанная на item-based-фильтрации («Что покупали те, кто покупал Это»), и система Cinematch компании NetFlix.com (прокат DVD) — на основе user-based фильтрации. К сожалению, пока еще не существует системы, которая бы, например, на основе оцененных книг и музыкальных произведений могла бы вам порекомендовать, какой на досуге посмотреть фильм.

А так принцип этого метода довольно прост:

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

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

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

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

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

Источник

Развивающий портал