ADPASS рекомендует материал к прочтению
Lava Media
13.02.2024, 11:37

Как работают алгоритмы рекомендаций: от youtube и видеохостингов до музыкальных сервисов?

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

Несмотря на повсеместную распространённость, сами принципы работы алгоритмов для многих остаются загадкой. А где загадки — там и опасения: что если алгоритмы подбора на самом деле помещают нас в информационный пузырь и не дают из него выбраться? Лишают настоящего выбора и оставляют лишь его иллюзию?

Давайте разбираться, как всё обстоит на самом деле.

Взгляд в историю

Первым «настоящим» алгоритмом рекомендаций можно считать онлайн-библиотеку Гранби. Читателей при вступлении опрашивали относительно их предпочтений в чтении. На основе похожих интересов формировались группы, а уже для этих групп делались рекомендации.

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

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

  • Вопрос первый: как рекомендовать что-то, не спрашивая при этом подробно пользователя о его предпочтениях?

  • Вопрос второй: как определять сходство?

Не самый удачный опыт: алгоритмы, основанные на запоминании.

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

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

Например:

  • Активный читатель А постоянно читает Чехова, Тургенева, Лермонтова и Бунина.

  • Менее активный читатель Б взял несколько книг Бунина, Лермонтова и Чехова.

Что может посоветовать ему алгоритм? Алгоритм будет рассуждать так: я запомнил, что человеку, которому нравится тоже что и тебе, понравился ещё и Тургенев. И предложит почитать «Отцов и детей» или «Муму».

Казалось бы — отличная система! Но и здесь нашелся свой подводный камень.

Давайте на секунду представим, что читатель А по какой-то причине решил прочитать “50 оттенков серого». Алгоритм, способный только запоминать, но не анализировать, уверенно предложит эту книгу читателю Б. Ну, а читателю А начнёт подсыпать в рекомендации то, что нравится фанатам Э.Л. Джеймс. Конфуз.

Именно поэтому алгоритмы основанные на запоминании довольно быстро сменились новым поколением.

Современные алгоритмы

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

Это тоже рекомендательный алгоритм, только анализирующий не вас, а товары в магазине.

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

Для онлайн-магазинов такой способ часто будет более эффективен. Представьте на секунду, что все было бы наоборот. Клиент покупает стекло на iPhone, сковородку, электробритву и напольные весы; не потому, что все это отлично сочетается и дополняет друг друга, а потому, что ему было нужно именно это. Не советовать же теперь электробритву всем покупателям сковородок?

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

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

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

От теории к практике

А как рекомендовать, например, музыку? На что опираться?

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

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

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

И есть третий, менее очевидный вариант: смотреть не на «подпись», а на сам трек. Заняться поиском сходств не через жанры или авторство, а через саму музыку. Если бы этим занимался человек, то всё обстояло бы просто: он бы слушал треки и говорил какие из них похожи. Но как песню может «услышать» алгоритм?

Здесь все довольно просто. Любая аудиозапись — это совокупность звуковых колебаний. В разной музыке будут преобладать разные частоты. Где-то много басов, где-то много высоких частот, отвечающих, например, за вокал. Всё это измеримо, а значит, можно анализировать и сравнивать между собой.

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

Всё же пузырь?

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

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