Компания
493,76
рейтинг
12 декабря 2012 в 13:27

Разработка → Новая платформа поиска Яндекса с персональными результатами: «Калининград»

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

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



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

Три года назад при формировании результатов поиска мы начали учитывать регион пользователя.

Самый простой пример запроса, где это важно — доставка пиццы. Люди из Москвы и из Волгограда должны видеть ссылки на те компании по её доставке, которые работают именно у них в городе. А в некоторых городах, где сервис ещё не развит, по запросу «пицца» нужно и вовсе показывать её рецепт. С тех пор, как поиск Яндекса начал учитывать местонахождение человека, запросы, в которых уточняется регион, стали вводить на 30% реже.

Летом прошлого года мы запустили поисковую платформу «Рейкьявик». Она понимала языковые предпочтения пользователей и учитывала часто ли человек открывает результаты поиска на английском языке. Людям, которые чаще ищут англоязычные ресурсы, поиск стал отвечать большим количеством ссылок на них, и наоборот.

Сейчас мы рассказывает о нашей следующей поисковой платформе «Калининград», которая предоставляет пользователям персональные поисковые подсказки и персональные результаты поиска.

Расскажем подробнее про каждую из частей.

Персонализированные поисковые подсказки


Поиск как инструмент навигации по интернету должен помогать человеку придерживаться курса и находить самые короткие маршруты к цели. Эти задачи несколько лет решают поисковые подсказки. Они помогают правильно, а главное, быстро сформулировать запрос. Мы рассказывали о том, что они тоже научились учитывать большое количество факторов, которые также ориентируются на контекст. Одним из самых важных запусков, который помог в персонализации саджеста, стал учёт предыдущего запроса пользователя. То есть если человек искал [титаник], то при наборе в поисковой строке буквы «к», в числе первых он увидит подсказки [кейт уинслет] и [как снимали титаник], а не [контакт] и [карта метро].

Пользователь — это его поисковая сессия

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

При этом надо помнить, что пользователь для поиска Яндекса выглядит приблизительно вот так:

Пользователь для поисковой системы Яндекса

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

Сделать поисковые подсказки более персонализированными получилось не сразу. Казалось, что мы можем выделить какие-то кластеры пользователей, например, методом k-средних. Но выяснилось, что подобные механические методы не очень хорошо работают. И мы решили пойти другим путём, выделив смысловые тематики. Оказалось, что минимум их должно быть 400 000. Широта человеческих интересов удивила и нас самих.

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

Для того чтобы понять, добились ли мы своей цели и смогли ли сделать подсказки такими, что их можно называть персональными, мы использовали два способа. Сначала проверили, что всё это работает на исторических данных. У нас есть какой-то набор действий, которые пользователи совершали раньше. Используя их, мы пытались как бы предугадывать следующие. Мы смотрели на то, с какого знака система узнаёт запрос без персонализации и с ней. Такой её вариант мы включили сначала на пять, а потом на 10% пользователей. Дальше мы сравнивали то, как взаимодействуют с подсказками они и контрольная выборка такого же размера, но со старой версией саджеста. Как вы понимаете, 5-10% пользователей Яндекса — это миллионы человек. Эксперимент показал, что мы можем включать новую систему уже на всех — пользователям она понравилась.

Персонализированные результаты поиска


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

Фактически теперь существует столько их вариантов, сколько пользователей поиска Яндекса. С учётом наших знаний о человеке, его интересов, того, какие сайты он предпочитает и многого другого.

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

Персонализация позволяет улучшить ответы для 75-80% запросов каждого пользователя. Мы подробно измеряли эффект от улучшений на поиске благодаря персонализации. Например, на персонализированный первый результат люди кликают на 37% чаще, чем на неперсонализированный. Чтобы этого добиться, мы провели эксперименты с более чем 10 разными формулами ранжирования и механизмами подстройки, а экспериментальные результаты за это время видели более 50 миллионов пользователей.

Особенности


Конечно, при желании персонализацию можно отключить в настройках поиска:



По нашим оценкам, персонализация в целом позволяет каждому человеку, пользующемуся Яндексом, сэкономить 14% времени, быстрее получив ответ, за которым он пришёл.
Автор: @anton
Яндекс
рейтинг 493,76

Комментарии (49)

  • +26
    Спасибо за возможность отключить.
    • –3
      Лучше бы по умолчанию было выключено.
      Из видео особенно понравилось про выдачу на определенном языке:
      Яндекс показывает отвратную выдачу на английском, соответственно я не перехожу по таким ссылкам и из этого делается вывод, что английский я не знаю! Гениально.
      Если между поисками про какие-нибудь api и статьями it введу запрос про свадьбу? Яндекс покажет мне свадьбу Цукерберга, т.к. она в контексте FB api?
      • +1
        Когда мы принимаем решение о выкатывании алгоритма, мы смотрим не на экспертные оценки, а на поведение пользователей. Разумеется, подобран нужный баланс между персональной релевантностью и общей. Свадьба Цукерберга не пройдёт.
  • +14
    Жизнь сеошников усложнилась.
    • +20
      жизнь тупых сеошников усложнилась
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        То же, что в Youtube давным-давно. Стоило неделю назад поискать скринкаст по работе с программой, как неделю (!) уже при поиске музыки вижу среди предлагаемых (близких по смыслу) видео справа стабильно 1-2 видеоролика про эту программу. Смотрится дико.

        Хуже, что еще 2-3 результата на тему видео, которое я просмотрел с месяц назад даже не у них, а здесь, внедренный в страницу Хабра. Как донести, что, если я ищу музыку конкретного исполнителя (вводя в поиске именно его имя), я не хочу 50% подсказок видеть никак не связанных с ним — непонятно, разве что анонимным режимом браузера воспользоваться?
      • 0
        Всё-таки яндекс даёт как минимум 10 ответов за раз, а не один первый.
        • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        Согласен, один из минусов данной системы в том, что для того чтобы найти что-то новенькое (библиотеку, доставку, сайт рецептов) придётся прокрутить 3-5 своих любимых сайтов. Вопрос: зачем тогда в браузере закладки?
    • 0
      их ждет битва под «Калининградом»
  • +17
    Пойду сеошникам отнесу корвалол! )
    • –7
      Ха 8) я тя умоляю…
  • +1
    А как бы Яндекс ответил на критику Duck Duck Go про то, что не существует объективных результатов поиска?
    • +4
      А разве мы уже не ответили ссылкой на отключение для тех, кто не хочет персонализированных результатов? В целом же сейчас персонализация показывает выше результаты, которые лучше подойдут, но никак не лишает возможности увидеть остальные.
      • +1
        Мы же оба знаем, что разницу в результатах нужно сначала осознать, потом понять, что она отключаема и только потом найти ссылку. Но такую честность всё равно ценю :)
    • –1
      В том то и дело, что где-то что то отключили — а где-то нет- поэтому быть уверенным в объективности поиска нельзя. [paranoia mode] Хотя все пугают гуглом — но имхо — данные по россии там объективнее, чем в яндексе.
  • +2
    Летом прошлого года мы запустили поисковую платформу «Рейкьявик». Она понимала языковые предпочтения пользователей и учитывала часто ли человек открывает результаты поиска на английском языке.


    Я бы рад кликать на англоязычные источники, но вы для начала начните их показывать
  • 0
    Если искать «титаник», потом ввести «к» — в поисковых подсказках первой будет «кейт уинсет».
    Если искать «титаник», потом искать «кино», потом ввести «к» — в поисковых подсказках первым будет «какое кино посмотреть».
    Т.е. алгоритм использует только предыдущий запрос?
    • +4
      Алгоритм, который использовал только предыдущий запрос, работал уже много месяцев.
      Теперь используется вся история запросов конкретного человека за последние недели, не только один запрос.
  • –9
    Надеюсь, эту опцию можно будет отключить.
    • +5
      Читайте статью до конца, а не только заголовок.
      Конечно, при желании персонализацию можно отключить в настройках поиска
      • –3
        Сначала я только видео посмотрел и оставил комментарий, только потом скриншот увидел, потом отключил опцию в своём профиле Яндекса.
        • +2
          Оставайтесь на связи.
  • +1
    У меня почему-то в половине случаев поисковик неправильно угадывает местный или глобальный запрос я ввожу. Очень часто ищу что-то общее, а он меня ограничивает московскими сайтами
  • 0
    Палка о двух концах.
  • 0
    Интересненько. Будем вникать и тестировать. И ещё один вопрос, а тем, кто не авторизован в Яндексе, для них тоже отображается персональная выдача? Если так, то её невозможно отключить, я правильно понял?
    • 0
      Да, для них тоже отображается персональная выдача. Отключить её можно залогинившись, либо сбросив куки.
  • +2
    По идее при таком подходе на сайт будут приходить более заинтересованные пользователи. Второй день — трафик с яндекса на сайт по столовым приборам сократился вдвое и люди приходят «левые» — заходят и тут же уходят. Пошел пить корвалол.
    • 0
      Не надо. толпа асессоров в течение полугода обучит нейронную сеть и все наладится.
  • +6
    Персонализированый блеклист не планируете? Чтобы добавлять сайт в него и ен видеть больше в выдаче никогда.
    • +3
      Спасибо, это хорошая идея. Мы думаем и экспериментируем на эту тему. К сожалению, не все люди относятся к таким спискам совсем ответственно, и довольно часто в блэклисты добавляют потенциально хорошие сайты.
      • +5
        Так и я про то что персональный. Свой список создал и ни на что не влияю кроме как на свою выдачу.
      • 0
        В гугле уже есть: www.google.com/reviews/t Говорят, что ссылка «больше не показывать сайты с этого домена» появляется, если перейти с результата на сайт и назад, но у меня так никогда не работало. Некоторые сайты в принципе не банятся, например, ютуб. :(

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

        Вообще говоря, эти списки персональные, но слышал, что после их введения куча народа ломанулась вырезать из результатов expertexchange (это который набрал кучу высокорелевантных программерских запросов, а потом внезапно стал платным, при этом не пропав из раздачи) — Гугл в конце концов это заметил, и выпилил сайт из топа. :)
  • 0
    Насчет поднятой в видео проблеме о передаче ссылки с результатами поиска пользователя А пользователю Б (ссылка будет одна и та же, а результаты поиска — разные). Почему бы не добавлять в url с результатом поиска пользователя А некий идентификатор, позволяющий для одного единственного запроса пользователя Б включить интересы пользователя А? Насколько я понимаю, это позволит решить проблему с разной выдачей. Или же есть какие-то проблемы с безопасностью?
    • –1
      А для чего? Только для того, чтобы можно было поделиться ссылкой свои результаты поиска? Не кажется, что в этом есть много пользы.
      • +1
        А я, бывает, говорю кому-то: «вбиваешь в Гугл (Яндекс) что-то, одна из первых ссылок — то, что надо». Уже такое может и не сработать.
        • 0
          да, как говорится, мелочь, а приятно
  • +2
    О боже, на превью показалось что Стиллавин сидит, я даже ролик решился просмотреть из любопытства!
  • +1
    Видео, как мне кажется натянутое и слегка пафосное. Это Мы еще напрягло.
    Текст же хороший и по делу.
    Посмотрим, что будет.
    Как скажется на коммерческой и не коммерческой выдаче.
  • +4
    Когда вы почините поддержку HTTPS на сайте?
    Пример 1: nahodki.yandex.ru, root.yandex.ru, time.yandex.ru — не открываются.
    Пример 2: yandex.ru/search/advanced — нажатие «Найти» приводит к появлению сообщения «Хотя эта страница и зашифрована, отправленная вами информация будет передана по незашифрованному соединению и может быть легко доступна третьей стороне.» (Firefox 17)
  • +3
    «сэкономить 14% времени»
    Вы уверены, что именно 14, а не 15?
    • +2
      Важнее, что сведения о юзерах (и их предпочтениях!) теперь на 14% больше прибыли приносят в разрезе рекламы.
  • 0
    А какие типы запросов больше подвержены персонализации — коммерческие или некоммерческие? Как отразятся на мне мои предыдущие запросы, если я захочу купить, скажем, кофемашину? Если раньше я никогда не интересовался молоком, то в выдаче будут преимущественно кофемашины без каппучинатора? Или наоборот, если яндекс поймет, что я по жизни ленивый, потому что когда то искал посудомоечную машину и хлеборезку, то он предложит мне преимущественно кофемашины с автоматическим каппучинатором?
  • 0
    ответ на запрос [Северное сияние] для разных людей будет отличаться. Путешественнику мы покажем ответ о природном явлении, москвичке, интересующейся покупками, — торговый центр, любителю кино — ссылки на информацию о фильме.

    А если я люблю кино, но сейчас хочу узнать о природном явлении, то мне будет тяжелее найти нужно?

    Вообще молодцы! То что вы развиваетесь — это хорошо.
  • +1
    Звучит вдохновляюще. Возможно, даже буду пользоваться. :)

    * Ушёл тестировать: кликать по неяблоковым «снежным барсам», чтобы оценить пропадание маков из выдачи. *
  • +1
    Персонализированный поиск Яндекса версии «Калининград» — это создание элиты сайтов по модели «вход строго по пропускам».
  • 0
    Вот нигде у вас в статьях не нашёл, под персонализацией для конкретного пользователя вы подразумеваете конкретный аккаунт в яндексе или же некоторую сессию, сохранённую в куки браузера? Или совместно?
    Просто хочу уточнить, правильно ли я понял, что, если пользователь не авторизован, то персонализация будет справедлива для данного конкретного инстанса браузера. А если авторизован, то для него будет работать одна и таже персонализация на разных браузерах и компьютерах?
  • 0
    Ещё вопросик: один пользователь всегда входит в одну из 400 000 групп или может входить в несколько?

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

Самое читаемое Разработка