Получите бесплатно — все материалы с наших курсов и тренингов
Тренинги, Курсы, Обучение — Agile, Scrum, OKR
Тренинги, Курсы, Обучение — Agile, Scrum, OKR
Тренинги, Курсы, Обучение — Agile, Scrum, OKR
13 сентября, 2022 г.
11 отзывов, в среднем 4 из 5

Рекомендательные системы: как они работают на примерах + как построить свою рекомендательную систему

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

Что такое рекомендательные системы?

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

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

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

Методы построения рекомендательных систем.

Контент–ориентированные, они же content-based, коллаборативная фильтрация, она же Collaborative Filtering, Основанные на знаниях, они же knowledge-based, гибридные, они же hybrid.

Рекомендательные системы

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

Они нужны, чтобы делать людей счастливее. И заставлять их покупать больше. К примеру, 35% выручки интернет–магазина Amazon дают именно рекомендованные товары.

Немного про Нетфликс и развитие рекомендательных систем

Рекомендательные системы — это не изобретение последних 5-10 лет. Они появились в интернете давно, но работали не очень эффективно, редко совпадали с потребностями пользователей.

Но однажды (14 лет назад, если точнее) Netflix, которые тогда занимались арендой DVD и VHS–кассет, запустили соревнование на лучший алгоритм предсказания оценки с главным призом в $1 миллион. Компания таким способом хотела повысить качество рекомендаций своего контента, ведь чем лучше Netflix будет рекомендовать, тем больше фильмов возьмут в прокат. Вы удивитесь, но в то время диски заказывали через интернет, а рассылали их по почте, потом люди также отправляли их обратно в прокат.

Но вернемся к соревнованию. Нетфликс выложили в открытый доступ 100 миллионов зрительских оценок на более 17 тысяч фильмов и 480 тысяч ID пользователей (без конфиденциальной информации, конечно), которые их проставляли. Участникам надо было предугадывать, какую оценку поставят эти пользователи определенным фильмам. Кто сделает это лучше всех, а заодно и превзойдет предсказания самих Netflix на 10%, тот и победит.

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

Для тех, кто в теме: алгоритм Netflix предсказывал оценки с качеством 0,9514 по метрике RMSE. Задача была улучшить качество как минимум до 0,8563.

Длилось соревнование почти три года! Участие в них принимали больше 20 тысяч команд из 150 стран мира. В большинстве своем это были группы ученых из разных университетов. Чтобы подогреть их интерес, каждый год лучшей команде дарили $50 тысяч.

В первый год улучшить показатели Нетфликс удавалось только на 7%. И только к концу второго года две команды смогли преодолеть порог в 10%. Они прислали свои решения с разницей в 20 минут. Первыми оказались «BellKor’s Pragmatic Chaos».

Чтобы получить обещанный приз команда отдала Netflix исходный код алгоритма и лицензию на его использование.

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

Кому нужны рекомендательные системы

Если у вас есть интернет–магазин (даже совсем небольшой)

то рекомендательные системы помогут:

  • продавать больше
  • увеличивать прибыль
  • добавят вам плюсов в карму от благодарных покупателей.

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

Представим, что вы записываете подкасты для родителей. У вас появляется все больше контента по разным темам для этой аудитории и вы создаете для пользователей подборки с рекомендациями. Если угадаете с интересами, то получите еще больше прослушиваний, благодарную аудиторию, которая расскажет о вас другим: «Меня тут так хорошо знают! Скину ссылку подруге.»

Варианты рекомендательных систем

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

  • Рекомендации дополнительных продуктов. Это когда вы покупаете в магазине М.Видео PlayStation 5, а вам предлагают геймпад, подписку на игры и шлем виртуальной реальности. В этом интернет–магазине, кстати, рекомендательные системы устроены довольно круто. Покупателям приставок не предлагают кухонную технику, а делают вполне адекватные подборки товаров, которые могут пригодиться, и их не надо искать по всему каталогу самому.
  • Рекомендации книг, музыки, фильмов, видеороликов, новостей, профилей (в Тик Ток или в Инсте, например). Цель таких подборок — заставить пользователей потреблять больше и больше контента (а с ним же смотреть и рекламу). Ну и заодно знакомить с новым контентом. Например, на сайте с фильмами Imdb (это как глобальный «Кинопоиск») пользователи ставят фильмам оценки от 1 до 10 баллов. Из них система выводит средний рейтинг фильма. И стоит вам оценить несколько фильмов, как сайт начнет предлагать вам похожий на них контент. Такая же история работает в Инсте: лайкнули несколько профилей с Бузовой — получите в подборке весь контент, который с ней связан. Ну, и разумеется, нельзя забыть здесь о Spotify с их рекомендациями музыки на основе короткого опроса.
  • Рекомендации акций и скидок. Предложение чего–то максимально выгодного, что может клиенту понравиться. Обычно такие рекомендации основаны на товарах или скидках, которыми человек уже воспользовался однажды, или что–то похожее на них. Например, такие подборки делает оптовый интернет–магазин Sima-land. «Вы покупали у нас постельное белье, сейчас на него действует скидка 25%».

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

Методы построения рекомендательных систем

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

  • Контент–ориентированные, они же content-based.
  • Коллаборативная фильтрация, она же Collaborative Filtering.
  • Основанные на знаниях, они же knowledge-based.
  • Гибридные, они же hybrid.

Про каждую расскажу подробно и с примерами.

Контент–ориентированный метод

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

Например, вас заинтересовал товар, и интернет–магазин рекомендует список вещей, которые вместе с ним покупали другие пользователи.

Если человек уже что–то покупал (или смотрел), то ему будут рекомендовать продукты, похожие на, что он уже купил или употребил.

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

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

Минус в том, что такие рекомендации не всегда бьют в цель.

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

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

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

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

Основанный на знаниях

Этот метод используют М.Видео и интернет–магазин Apple. Пользователям рекомендуют товары на основе тех, что они уже положили в корзину или создают подборки, связанные с теми, что они уже смотрели.

Так, тот же Apple в re:Store выдает рекомендацию «Созданы друг для друга». iPhone + чехол к нему = их цена вместе.

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

Рекомендации по этому методу получаются довольно точными и полезными.

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

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

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

Уже упомянутый Netflix использует аж 27 алгоритмов в своей рекомендательной системе. И, что спорить, в своих «предложках» они весьма хороши. Не зря 75% выручки Нетфликс дает именно рекомендованный контент.

Что и с чем комбинировать решают разработчики, ограничений тут никаких нет. Но чаще всего компонуют коллаборативную фильтрацию с контент–ориентированными алгоритмами.

Минус гибридного метода, пожалуй, только в сложности его разработки. Он не всем доступен из–за ограниченности ресурсов.

Рекомендательные списки для новеньких

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

Или рекомендовать товары/услуги, которые люди еще не видели и ничего о них не знают.

Чтобы решить эту проблему стараются получить информацию о пользователях из других источников:

  • данные из других, схожих, сервисов
  • опросы при регистрации (в обмен на какую–то выгоду, например)
  • дают информацию о товаре из его содержания.

Как реализовать у себя рекомендательную систему

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

  • Если у вас интернет–магазин с онлайн–кассой, то у вас уже есть достаточно данных для построения системы. Только нужно привести их в должный вид и начать применять на практике.
  • Необязательно создавать всю рекомендательную систему с нуля. Можно воспользоваться внешними решениями (например, Google ML Kit) или готовыми программными платформами (HucksterBot, Diginetica, Driveback).