Алгоритмы рекомендаций, которые советуют пользователям товары или контент, могут стать полезной частью интернет-магазина или другого сервиса. Насколько сложно стартапу построить собственный алгоритм рекомендаций, можно ли взять стороннее решение, как оценить точность алгоритма, рассказывает директор по исследованиям компании SurfingBird Сергей Николенко.
Из программы вы узнаете:
— как оценить эффективность своей рекомендательной системы;
— как выбрать правильные метрики для оптимизации алгоритма;
— насколько серьезной проблемой является переобучение;
— чем полезны рекомендательные системы для маркетинга и рекламы;
— насколько готовы пользователи к персонализации Веба, к повсеместным рекомендациям;
— какие рекомендательные алгоритмы используются в SurfingBird;
— почему SurfingBird вынужден показывать пользователям только действительно интересную рекламу;
— почему не взлетели социальные закладки.
Михаил Боде: Добрый день, дорогие друзья! В эфире канал SeoPult.TV, с вами я, Михаил Боде. Если у вас есть веб-бизнес, интернет-сайт, сервис, то вполне возможно, что крайне ценной его частью станет рекомендательная система, в основе которой лежат рекомендательные же алгоритмы. Как правильно ее использовать, какие именно алгоритмы рекомендаций нужны конкретно вам? Об этом мы поговорим сегодня с Сергеем Николенко, директором по исследованиям компании SurfingBird.
Сергей Николенко, директор по исследованиям Surfingbird.ru
Родился в 1984 году.
Выпускник Санкт-Петербургского государственного университета и University High School в Колорадо.
С 2006 по 2007 год проходил инженерную стажировку в петербургском офисе Google.
С 2008 по 2010 год — старший научный сотрудник Центра речевых технологий.
С 2011 года — младший научный сотрудник Лаборатории математической логики ПОМИ РАН, старший научный сотрудник Лаборатории биоинформатики Академического университета.
С 2011 года — директор по исследованиям SurfingBird.
М. Б.: Сергей, привет!
Сергей Николенко: Привет.
М. Б.: Сергей, насколько сложно построить рекомендательную систему, пусть даже для самого простого случая — для того же интернет-магазина? Все мы видели в интернет-магазинах товары, которые «также покупают с этим». «Вам могло бы подойти еще и это» и пр.
С. Н.: Это не так уж сложно. Базовые алгоритмы рекомендательных систем, с которых начинал тот же Amazon в свое время, достаточно просты, и интернет-магазин может либо заказать, либо самостоятельно разработать такой рекомендательный модуль, который будет по предыдущему поведению пользователей предсказывать, что им можно показать сейчас.
М. Б.: Предвосхищая следующий вопрос: насколько это затратно и в каких случаях имеет смысл самостоятельно разрабатывать такой модуль, а в каких воспользоваться готовым решением?
С. Н.: Самостоятельно разрабатывать алгоритмы рекомендаций, скорее всего, никому не нужно. Потому что их очень много, и если ваш сайт, ваш сервис не является целиком построенным на рекомендациях, как SurfingBird, то вам, вероятно, никогда не придется разрабатывать что-то принципиально новое. Вам нужно будет пользоваться тем, что уже изобрели.
М. Б.: А каковы, с твоей точки зрения, главные проблемы в построении таких систем или, если это приобретенные системы, в их адаптации? Возможно, недостаток информации о пользователях или, наоборот, переобучение алгоритмов?
С. Н.: Все любят пугать переобучением. На самом деле современные алгоритмы рекомендаций с переобучением давно научились справляться.
Естественно, если информации мало, то с этим ничего не сделать: это факт жизни, и придется с ним как-то мириться. Побороть отсутствие информации невозможно. Но, чтобы адаптировать существующие рекомендательные системы под свои нужды, не так много и надо, это не какая-то сверхсложная математическая задача. Нужно просто понять, какие признаки, какие параметры важны именно для вашего проекта, именно для вашей целевой аудитории, и добавить их в систему, а дальше пусть математика работает.
М. Б.: Сергей, компании, которые продают какие-либо товары или оказывают услуги в интернете, конечно, интересуются рекомендательными системами, потому что это работа с аудиторией, крайне важная для них, которая потом превращается в лиды, в продажи. А возможно ли для таких компаний сделать «рекомендации наоборот»? Система отбирает какую-то категорию пользователей, какую-то страту, группирует ее, сегментирует, режет на дольки и потом в готовом виде предлагает компании, которая, например, что-то продает: «Вот твоя целевая аудитория». Насколько это реализуемо сегодня и есть ли такие примеры?
С. Н.: Да, безусловно. Например, в SurfingBird мы как раз предлагаем такого рода таргетированную рекламу. Мы предлагаем рекламодателю добавить в нашу систему страницу, желательно интересную, наполненную контентом, и мы сами подберем ту страту пользователей, для которой эта страница будет наиболее интересна. И будем показывать там, где ожидание какой-то отдачи со стороны рекламодателя будет максимальным.
М. Б.: А каков запрос со стороны рекламодателя, какие таргеты вообще возможны? Понятно, что по соцдему может работать практически любая рекламная система, а что уникального есть в SurfingBird?
С. Н.: Основное, уникальное отличие SurfingBird в том, что мы показываем не баннер, не AdWords, которые состоят из 10-20 слов, а страницу, наполненную контентом рекламодателя. И если эта страница действительно интересна, не сделана в качестве отмазки рекламным отделом, то пользователи будут ею интересоваться, переходить дальше, вглубь сайта, и, возможно, приносить рекламодателю прибыль. У социальных сетей, конечно, больше информации — как-то тавтологично звучит — и о социальных аспектах, и о повседневной жизни пользователя. И, может быть, мы не сумеем узнать, есть ли у него собака, но в реальности он, вероятно, придет к каким-то позитивным, с точки зрения рекламодателя, действиям. Думаю, мы это можем сделать лучше. Понемногу этот рынок появляется.
Понемногу растут затраты рекламодателей на рекламу через рекомендательные системы, на рекламу через провайдеров контента, к которым относится и SurfingBird. Это пока область, несравнимая с баннерной рекламой по объемам, но она растет быстрее.
М. Б.: А готовы ли вообще люди сейчас к максимальной персонализированности Веба, к тому, что он подстраивается под них, в том числе психологически? Не чересчур ли это для них, не перебор ли пока?
С. Н.: К сожалению, их никто не спрашивает. Когда ты заходишь на какую-нибудь домашнюю страницу крупного портала Yahoo!, или Mail.ru, или другого, он уже автоматически подстроен под тебя. И когда ты ищешь в Google, тот тоже персонализирует свою выдачу, и «Яндекс», и любой другой поисковик. Это уже реальность, и если мы этого не замечаем... Что ж, значит, готовы.
М. Б.: А как мерить эффективность своей рекомендательной системы? Положим, она у меня на сайте внедрена, как-то работает, но я не уверен в том, что хорошо. На какие характеристики поведения пользователя стоит обратить? Как выявить ошибки в работе рекомендательных алгоритмов?
С. Н.: Основные метрики достаточно простые. Главная метрика — то, насколько часто пользователь следует рекомендациям, что бы это ни значило: переходит по ссылке, которую ему порекомендовали, или ставит лайк тому, что ему порекомендовали, или покупает. Наверное, в конечном счете, большинству важно какое-то активное действие со стороны пользователя. Вообще, во всей этой науке важно не пытаться оптимизировать то, что тебе не нужно, потому что это может завести не туда. Желательно, конечно, максимально приблизить то, что ты оптимизируешь, к тому, что тебе на самом деле нужно и важно для твоего бизнеса. У нас в SurfingBird есть несколько противоречивые метрики, оптимизация которых может привести к разным результатам. Например, я могу оптимизировать вероятность лайка, с одной стороны. С другой — могу оптимизировать общее время, которое пользователь проведет в SurfingBird, занимаясь серфингом по нашим рекомендациям. Или я могу оптимизировать то, что больше, наверное, интересно рекламодателю: как часто пользователь будет переходить на сайт, куда мы его отправили, и как часто он будет переходить по ссылкам дальше, вглубь сайта. И это три разные метрики, которые приводят к разным результатам. Или можно оптимизировать время, которое пользователь проводит на той или иной странице. Рекламодателю, наверное, интересно, чтобы его предложения дочитывали до конца, но это может войти в конфликт с тем, что эту страницу, может быть, лучше показать пользователю, который быстро ее просмотрит и пойдет дальше. Все метрики, как математики знают, оптимизировать сразу невозможно, всегда нужно выбрать какую-то одну, счесть ее главной и именно ее оптимизировать, а остальные — по мере возможности.
М. Б.: Сергей, в первой части программы с твоим участием, в которой мы разбирали основы алгоритмов рекомендаций, мы говорили о том, как они устроены в целом, какие механизмы используются, звучали страшные слова а-ля «коллаборативная фильтрация» и т. д. Можешь более предметно рассказать о своем проекте SurfingBird? Как именно и какие алгоритмы вы используете и по каким метрикам оцениваете их эффективность?
С. Н.: Мы используем более или менее все классические алгоритмы коллаборативной фильтрации.
М. Б.: Перечисли еще раз, пожалуйста.
С. Н.: Методы ближайших соседей, методы разложения матриц: разложение матриц рейтингов на матрицы факторов пользователей и продуктов, вероятностное разложение матрицы — для решения проблемы холодного старта, о котором мы тоже говорили в прошлый раз. Мы используем алгоритмы, которые ищут наиболее качественные, наиболее интересные страницы менее персонализировано, то есть мы стараемся выделять достаточно широкие кластеры пользователей, и быстро относить к ним нового пользователя, и начинать давать ему страницы, которые нравились этому кластеру, даже если его собственных лайков еще нет. И всегда для нас более или менее основной метрикой является вероятность лайка или добавления в «Избранное»: если пользователь активно выказал, что ему эта страница нравится, значит, мы что-то делаем правильно.
М. Б.: Странный вопрос, может быть, но вас не пытались купить социальные сети, поисковые системы? Потому что я слушаю тебя и понимаю, что если правильно, с умом ваш механизм прикрутить к их сервисам, то это может значительно повысить эффективность их базового продукта.
С. Н.: Купить пока не пытались, но мы уже работаем над приложением для Facebook.
М. Б.: Отлично! Как ты считаешь, а почему в свое время — это был год 2008, если мне не изменяет память, — не взлетели сервисы социальных закладок? Потому что, казалось бы, вот уж где рекомендации-рекомендации — не от какого-то алгоритма, пусть математически выверенного, а от живых людей, от таких же, как ты: на какие сайты стоит зайти, где стоит побывать и т. д. Несколько месяцев был бум таких систем, а потом все резко пошло на спад.
С. Н.: Ну, такой системе всегда нужен очень большой пул, начиная с которого она вообще имеет хоть какой-то смысл. Очень трудно преодолеть первый барьер, за которым может происходить какой-то рост. Если ты, скажем, заходишь на SurfingBird и мы начинаем показывать тебе интересные странички, то сделать так, чтобы для твоего «серфа» эти странички не кончались, не так сложно, ты не так много их посмотришь. А если нужно скоординировать тысячи и сотни тысяч пользователей, чтобы они выбрали что-то интересное сами со своей активностью, это сложнее. Основная причина была в недостатке критической массы, думаю.
М. Б.: Мы немножко начали говорить о том, что вы предлагаете таргетированную — пусть по-своему таргетированную, не в том виде, в каком мы ее знаем, — рекламу тем, кто приходит к вам как заказчик. Возможно, это вполне эффективно (в конце концов, учитываются подлинные предпочтения пользователей), но вместе с тем не входит ли идея подобной монетизации сервиса в конфликт с самой его концепцией, потому что вы должны нести добро, подсказывать пользователю то, что интересно ему на самом деле. Мало кому интересно видеть в поиске, в «серфе» — вы этот термин используете — рекламу, нет ли здесь противоречия?
С. Н.: Конечно есть! Любой сервис, который начинает показывать рекламу, приобретает какие-то конфликтующие друг с другом цели. С одной стороны, заработать побольше денег с рекламодателя, а с другой — предоставить пользователю все-таки то, зачем он пришел на сайт, а не только сплошную рекламу. И я надеюсь, что в SurfingBird у нас есть возможность этот баланс выдержать. У нас есть база пользователей, достаточная для того, чтобы качественно сделанные контент-страницы рекламодателей нашли свою аудиторию, чтобы нашлось много пользователей, которым это предложение от рекламодателя будет не для галочки, а действительно интересно.
М. Б.: Можно ли говорить о каком-то проценте точности работы рекомендательных систем? Понятно, что сфера человеческих предпочтений — штука трудно формализуемая, но можно ли говорить о какой-то конкретной точности у Netflix, у SurfingBird, у рекомендательного алгоритма Ozon вообще?
С. Н.: Да, конечно. Например, Netflix: их основная метрика, их основная мера ошибок, которые они и в своем конкурсе просили минимизировать, — это среднее отклонение предсказанного рейтинга, предсказанного числа звездочек от реального числа звездочек, который пользователь поставит этому фильму. Точнее, среднеквадратическое (ну, это, наверное, не очень важно). В конкурсе Netflix, например, первым результатом этой закрытой системы, которую требовалось улучшить, была ошибка чуть меньше одной звездочки в среднем. И его улучшили на 10% — до 0,8 звездочки. И последние полгода в конкурсе шла борьба за четвертый знак этого показателя. Кажется, что это очень несущественно, и кажется, что это не важно, но на самом деле каждая десятитысячная этого показателя для сервиса с такой базой пользователей, как у Netflix, транслируется в десятки тысяч пользователей, рекомендации для которых существенно улучшились в результате этих изменений. Эти циферки имеют смысл.
М. Б.: А готов ли чем-то ты похвастаться со стороны SurfingBird: сказать о степени вашей точности, над чем вам еще предстоит работать и работать?
С. Н.: Мы оцениваем свои успехи, как я уже говорил, в доле показанных страниц, про которые пользователь явно выразил мнение, что они ему понравились: либо нажал лайк, либо добавил их в «Избранное».
М. Б.: Это ваша основная метрика?
С. Н.: Это наша основная метрика. И за время существования SurfingBird этот показатель увеличился, если я правильно помню, с 3 примерно до 15%, что, по-моему, достаточно удивительно.
М. Б.: Если говорить о дальнейшем совершенствовании и повышении точности рекомендательных систем, получается, что с течением времени сложность этих самых улучшений растет по экспоненте?
С. Н.: Конечно. В какой-то момент просто, как ты говорил, предсказать не всегда все возможно, есть совершенно случайные факторы, которые невозможно предсказать, и в какой-то момент даже идеальная рекомендательная система достигнет уровня шумовых данных, который уже невозможно преодолеть. Где этот уровень, естественно, никто не знает.
М. Б.: Ваша компания говорила о том, что имеет виды на азиатские рынки и собирается выходить за пределы России. С твоей точки зрения, насколько это осуществимо. Нет, ну, понятно, что ты считаешь, видимо, что это осуществимо, раз вы на это решились.
С. Н.: Да.
М. Б.: Но наверняка были и сомнения, потому что в каждой стране у населения своя ментальность. Вспомним, как корейцы играют в игры и в какие игры они играют; это нашему человеку очень трудно вообразить. К каким-то странам мы, русские, по менталитету ближе. Как рекомендательные системы работают, так сказать, с ментальностью страны, насколько просто их приспособить под новые условия?
С. Н.: Сами рекомендательные алгоритмы практически не меняются, потому что они для того и нужны, чтобы понимать твою личную ментальность и твой личный профиль предпочтений.
На азиатском рынке, в той же Корее, естественно, все обученные параметры этих алгоритмов, все результаты будут совершенно другими, но сами алгоритмы не очень изменятся.
Но у выхода на новый рынок всегда есть проблема той самой критической массы, о которой я упоминал. Нужно, чтобы к моменту более или менее широкого выхода на рынок SurfingBird мог предложить хороший user experience, хорошую последовательность интересных сайтов на родном языке пользователя, который впервые туда зашел. И для этого нужна, конечно, локальная поддержка, нужны специалисты из страны, на рынок которой мы собираемся выходить, нужны какие-то местные модераторы, местные источники контента, с которыми можно договориться. И на самом деле основные сложности именно такого плана: как набрать критическую массу интересных ссылок, чтобы было что показывать новому пользователю. А рекомендательные алгоритмы более или менее остаются теми же.
М. Б.: Сергей, я хочу поблагодарить тебя за то, что ты пришел к нам в студию и рассказал как о SurfingBird, своей компании, так и в принципе об устройстве рекомендательных алгоритмов, о том, как их применять, куда их встраивать, зачем они нужны. Спасибо тебе!
С. Н.: Спасибо.
М. Б.: Я надеюсь, что вы с вашей рекомендательной системой и ваши коллеги будут нам давать все более точные рекомендации.
С. Н.: Постараемся.
М. Б.: Научатся анализировать наше подсознательное, к нашему ужасу. В общем, со страхом, нетерпением и удовольствием будем ждать новых вестей от SurfingBird и от рынка рекомендательных систем. Ну а вы, дорогие друзья, пожалуйста, продолжайте смотреть наш канал, отмечайте, какие передачи вам наиболее интересны, в наших аккаунтах в соцсетях: на Facebook, во «ВКонтакте» и в Twitter. И мы будем стараться, конечно, не как рекомендательные системы, но все-таки следовать за вашими предпочтениями и выбирать темы и гостей, которые будут наиболее релевантны вашим интернет-интересам. До новых встреч, счастливо!
В студии SeoPult.TV Герман Гаврилов, основатель проекта Roistat, обещающего объединить веб-аналитику и данные об интернет-рекламе с бизнес-показателями. Мы обсудили с ним, что умеет сервис, с какими продуктами конкурирует и что дает предпринимателю.
11 581 131 1Поговорим об игровом рынке. Но не с точки зрения разработчика, а с точки зрения продавца. Куда этот рынок идет? Как на нем выжить? В гостях у передачи «Бизнес Online» генеральный директор компании RBK Games Александр Новоженов.
580 4 0Во второй части передачи с советником министра связи и коммуникаций РФ Дмитрием Сатиным, ранее — основателем компании UsabilityLab, мы беседуем об изменениях, которые претерпевает рынок услуг юзабилити, и стараемся обозначит дальнейшие направления его развития.
403 5 0Канал SeoPult.TV регулярно проводит обзоры рекламных возможностей крупнейших площадок и сервисов Рунета. Чтобы разобраться в том, что входит сегодня в рекламный инвентарь «ВКонтакте» и как с ним обращаться, мы пригласили Александра Круглова, руководителя отдела клиентского сервиса соцсети.
2 109 27 0Участие государства в жизни Рунета сегодня по-настоящему чувствительно. А значит, стало по-настоящему важно, насколько нам с ним удобно и продуктивно. Вместе с советником министра связи и коммуникаций РФ Дмитрием Сатиным мы разбираемся, что за последний год изменилось в госуслугах, оказываемых через интернет.
384 4 0