«Быть или не быть?» — устаревший вопрос. Современный мир предлагает человеку выбирать не из двух, а из десятков, сотен и даже тысяч вариантов. В результате даже банальная задача вроде «куда пойти вечером» или «какие туфли купить» ставит в тупик — столько информации вываливает на нас глобальная сеть. Крупные интернет-компании пытаются решить проблему ориентации пользователя в потоках разнообразного контента, и одно из таких решений: рекомендательные системы. 16 июня компания «Яндекс» презентовала обновлённый сервис «Афиша» — теперь он не просто выдаёт по запросу расписание концертов, но и показывает готовую картину культурной жизни города на основе пользовательских предпочтений. Корреспондент Сиб.фм узнал у руководителя направления рекомендательных сервисов компании «Яндекс» Виктора Ламбурта, как машинные алгоритмы угадывают наши тайные желания и почему следование советам не сделает нас безвольными овощами.
Начнём с азов. Рекомендательная система — что это?
Математическая постановка задачи такая: есть множество людей и множество объектов, а программа из множества объектов выбирает часть для множества людей, так чтобы было оптимальное соотношение. Если ещё проще, это программа, способная выбрать из заданного множества объектов некоторое подмножество.
Эту задачу решают давно?
Первые рекомендательные программы, подходящие под это определение, были сделаны для нужд библиотекарского дела — они рекомендовали в базе данных научные статьи. Было это годах в 80-х прошлого века и осталось практически незамеченным. Всплеск интереса к рекомендательным системам случился в 2006 году — тогда компания Netflix объявила международный конкурс для всех желающих на улучшение рекомендательного алгоритма хотя бы на 10%. Победитель получал миллион долларов. К конкурсу подключились тысячи команд по всему миру. Планку в 10% преодолели только на третий год, причём было две конкурирующих команды, результаты которых совпадали до четвёртого знака после запятой. Победу одержала команда, которая представила результаты исследований на 30 минут раньше конкурентов. Тот конкурс, конечно, вызвал бурный ажиотаж. Ну и в процессе всплыло несколько интересных идей, в частности, алгоритм SVD (сингулярного разложения), который мы применяем.
В чём сущность алгоритма рекомендательной системы?
Есть несколько базовых идей, на которых всё строится. Первое — рекомендательная система оперирует свойствами рекомендуемых объектов и пытается найти в них закономерности.
Если мы рекомендуем фильмы, система смотрит, фильмы какого жанра или режиссёра вы чаще смотрите. Может быть, вы любите фильмы с «Оскарами» или фильмы с Вуди Алленом.
30000 пользователей необходимо проанализировать Яндекс.Крипте, чтобы правильно разделить аудиторию на группы по интересам
Апеллировать можно к разным свойствам. Например, есть связи между товарами — что к чему является аксессуаром. Или нечто — аналог чего-то. Системы, которые используют эту идею, называются content based recommendation, так как апеллируют к свойствам контента. Вторая идея в некотором смысле симметрична. Это user based recommendation. Она оперирует общими чертами людей. Например, вы ничего не можете знать о пристрастиях человека, но знаете, что это — дедушка и он служил в армии, или студент, или молодая мама. У разных групп есть паттерны поведения, которые можно эксплуатировать. Даже если вы не знаете ничего о молодой маме, не исключено, что есть смысл порекомендовать подгузники. В этом достоинство алгоритма — он позволяет делать рекомендации пользователям, о пристрастиях которых ещё ничего не знает.
Как система узнаёт, к какой категории принадлежит человек? Как она вообще создаёт эти категории?
По-разному. Например, человек указал некоторые параметры при регистрации на сервисе. Или авторизовался с фейсбука — вы уже можете определить пол. Это маловато, но если есть, скажем, два одинаково клёвых предложения, которые можно показать на главной странице, то это уже позволяет на какие-то проценты повысить конверсию.
И чем больше характеристик, тем сложнее система?
Безусловно. Например, есть Яндекс.Крипта, которая по поведению человека в интернете, по его поисковым запросам достаёт информацию для других провайдеров, в том числе для рекламодателей. Крипта определяет не только соцдем пользователя, но и его уровень дохода, его интересы по справочнику интересов. По тому, что человек ищет, можно сказать, например, что он дачник. С системой поиска Яндекса эта система также интегрирована.
Я, например, журналист и постоянно ищу в интернете то гидротурбины, то пропавших котиков — это сбивает систему с толку?
Вас она, скорее всего, определит не очень точно. Хотя там есть определённая защита. Например, если человек действительно интересуется турбинами, то обычно он много чего спрашивает про турбины, но его совсем не интересует совершенно другая область, например, биотехнологии. А если вы ищете и то и другое, система «понижает пороги» и считает, что в общем и целом вы интересуетесь турбинами, но как-то не очень сильно. Потому что очень много других запросов. Система может оценить глубину вашего погружения в тему.
«Восстание масс» — вышедшая в 1929 году книга испанского философа Хосе Ортеги-и-Гассета, в которой изложены основные принципы доктрины «массового общества», где человек будет лишь частью безликой толпы
Поисковая система Яндекса ежедневно получает два миллиона вопросов из серии «как провести досуг», при этом, по вашей статистике, лишь 5% действительно куда-то ходят. Не значит ли это, что человек становится пассивным? Рекомендательные системы потакают этой пассивности или наоборот побуждают выбирать новое, расширять кругозор?
С одной стороны, рекомендательные системы потенциально могут привести к тому, что человек развалится на диване и будет смотреть в одну точку универсального телевизора, который ему что-то будет вливать напрямую в мозг. Это ужасный пример такого не самого этичного подхода. С другой стороны, мы стараемся, чтобы рекомендательные системы скорее сужали многомиллионное пространство возможностей до какого-то количества, которое вы можете охватить взглядом и сделать осознанный выбор. Есть такой ролик на TED, называется Beware online bubbles. Речь в нём о рекомендательных системах, которые способы загнать тебя в пузырь твоих интересов и никуда оттуда не выпускать. К примеру, человек ищет в интернете турбины, и ему потом всё выдаётся про турбины. Это называется filter bubble. Так делают не очень хорошие рекомендательные системы. Мы стараемся разными способами «разорвать» этот пузырь — специальным образом добавлять контент за пределами интересов человека, как-то комплементарно, но всё-таки за пределами.
Наша система называется «Диско» во многом потому, что умеет делать Discovery, то есть открытие чего-то нового. Она всё время говорит «эй, тут столько всего клёвого!».
И стеночки этого «пузыря» Диско постоянно пытается расширить: «Вот смотри, помимо турбин, есть ещё солнечная энергетика, вот в Исландии дома отапливают энергией гейзеров» и так далее.
Кастомизация: в маркетинге — адаптация имеющегося продукта под нужды конкретной группы потребителей
Получается, система ориентирована на человека, у которого уже сформировались определённые интересы?
Это правда. Но user based recommendation позволяет решить проблему, когда человек вовсе не определился с интересами. Например, мы используем это в Яндекс.Радио. Когда заходите первый раз, там есть выбор радиостанций под настроение, жанр или активность. Когда мы про человека ничего не знаем, ему, тем не менее, надо показать выбор радиостанций. Стараемся как-то подстроить сервис под человека. Девочкам, к примеру, не будем рекомендовать радио «Шансон», а скорее, романтику. При этом есть система лайк-дислайк. Чем больше обратная связь, тем лучше тебя узнаёт радио.
Главный принцип, который был озвучен на презентации Афиши, и других сервисов тоже касается — персональность. Человеку предоставляется только то, чем лично он интересуется. Но ещё в середине XX века социальные философы провозглашали, что общество идёт к «омассовлению», что в будущем не будет личностей, а будут унифицированные толпы. Но сейчас мы видим другое — индивидуализация потребления, кастомизация, сегментация рынков. Значит ли это, что мы движемся не к массовости, а наоборот?
Мобильные приложения Яндекс.Радио, Яндекс.Музыка под iOs и Крипта разрабатывают в Новосибирске
Совершенно точно значит. Почему происходило, как вы говорите, «омассовление». В конце XIX — начале XX века наступила эпоха индустриализации и массового производства, которое делало многие предметы обихода доступнее. Но технологии тех лет позволяли производить массово только одинаковые вещи. Яркий пример — автомобили Форда. Он был талантливый инженер и понимал, что каждая унификация на большом масштабе позволяет экономить много денег. Так что он на протяжении многих лет выпускал одну и ту же модель автомобиля, которая стоила от 260 долларов. Этот автомобиль действительно мог купить любой американец. То есть технологии тех лет создавали доступный, но унифицированный продукт. Сейчас технологии значительно продвинулись, и есть возможность производить разнообразные товары с теми же затратами. То есть массовое производство увеличило количество товаров в единицах, а в результате кастомизации товара стало много в терминах ассортимента.
У людей появилось огромное пространство выбора. Так что рекомендательная система — следующий шаг в эволюции потребления — позволяет в этой огромной матрице сделать персональный выбор со сравнительно небольшими затратами. Сейчас персонализация используется и в поисковых системах, так что разным людям по одному и тому же запросу информация может показываться немножко разная с учётом истории, региона и предыдущих запросов.
Можно ли считать рекомендательную систему аналогом сарафанного радио? То есть в деревне люди взаимодействовали друг с другом напрямую, а жители большого города напрямую друг с другом общаться не могут, но делают это опосредованно — через системы, подобные сервисам Яндекса?
Если отмотать несколько веков назад — люди жили достаточно компактно. На большие расстояния передвигались мало. Ходили примерно в одни и те же места за покупками. Лавочник знал в лицо своих покупателей, и ассортимент у него был обозримый.
Зная, что у покупателя, например, пятеро детей и определённый достаток, лавочник мог давать ему рекомендации.
Он прикидывал, какая у человека потребность, что из товаров удовлетворяет этой потребности, что покупают другие люди. Сейчас рекомендательные системы делают то же самое, просто в радикально ином масштабе.
Человек может делать клёвые рекомендации, но для небольшого количества людей и объектов. А рекомендательные системы в радикально больших масштабах способны делать ту рекомендательную работу, которую делал один человек в деревне.
А в будущем система сможет рекомендовать человеку что-то вроде «судя по вашим запросам, у вас плохое настроение из-за того, что умерла собачка, и вот какую музыку мы для такого состояния советуем».
Не знаю насчёт такого. Но для выхода на пробежку, например, вполне возможно музыку подобрать. Вообще говоря, можно с помощью акселерометра определить, что человек бежит, и подстроить музыку под ритм. Но Музыку мы запустили давно, и там всё довольно неплохо, а вот в Радио больше пространства для улучшений. Впрочем, всегда есть что улучшить.
Яндекс охватил все области, где можно что-то порекомендовать?
Конечно, нет! И мы работаем над этим. Как только всё будет готово, обязательно расскажем!