Как устроен поиск Яндекса: два важных доклада из первых рук (заметки на полях)

4 августа 2016 прошла интересная встреча «Как устроен поиск Яндекса: о чём невозможно прочитать» (официальная страница). Доклады с мероприятия крайне интересны для оптимизаторов. На днях я пересмотрел видео выступлений, чтобы освежить кое-что в памяти — и решил для надежности записать важные моменты. Думаю, этот конспект может пригодиться не только мне.

Пётр Попов — Поиск с инженерной точки зрения

Пётр Попов — руководитель отдела ранжирования.

Задачи поиска:

  1. Обойти интернет;
  2. Построить поисковый индекс;
  3. Опубликовать индекс на поиск;
  4. Ответить пользователю.

Яндекс знает несколько триллионов урлов и обходит в день несколько миллиардов из них. Все никогда не обойдет. Мы не кладем в индекс все, только лучшие документы.

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

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

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

Отсюда сразу идея для заталкивания в индекс периодически вылетающих страниц — нужны клики по ним из выдачи. Это не накрутка, которая может испортить Яндексу жизнь, так что банов сильно опасаться не следует. Просто чуть-чуть подталкиваем чашу весов в свою строну.

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

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

Еще идея: для ускорения индексации — ставим ссылки с документов, собирающих поисковый трафик. Можно даже организовать на сайте потенциально трафиковую статью или несколько, пусть там и не будет 100% целевые посетители. Способ хорошо согласуется с наблюдениями на практике.

Современная формула Матрикснет — 100 мегабайт. Попробуйте зареверсить!

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

Любопытен вопрос на 26:23 о качестве страницы, принятии решения включать в индекс или нет. Кратко: берется множество факторов — на их основе делается предсказание о том, может ли вообще попасть в выдачу, топовые кладутся в базу. При этом учитывается размер документа — более объемные имеют больше шансов хоть по какому-то запросу показаться на выдаче.

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

Александр Сафронов — Как найти лучшие ответы

Александр Сафронов — руководитель  службы релевантности и лингвистики.

Как меряется качество:

  • Оценка по разметке асессоров;
  • А/B-тестирование на выдаче (онлайн-эксперименты на пользователях).

В поиске порядка 1500 факторов (фактор — число, которое характеризует документ или запрос, или связь запрос-документ). Факторы комбинируются в одно число, документы в выдаче сортируются по этому итоговому числу.

Виды факторов

  • текстовые (количество вхождений, близость слов, близость к началу…);
  • запросные  (количество слов…);
  • документные (посещаемость…);
  • ссылочные;
  • пользовательские;
  • персональные;
  • и т.д.

Машинное обучение

Матрикснет — совокупность алгоритмов машинного обучения.

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

Лингвистика

Наиболее интересные — вещи, связанные с расширением запросов:

  1. морфология
  2. синонимы
  3. связанные расширения

Первые два пункта лингвистике скорее про понимание поиском разных по написанию, но идентичных по интенту запросов. Это «боль» самого поиска. А вот третий имеет прямое отношение к SEO:

Мы можем набрать облако ассоциативно связанных с этим запросом слов, словосочетаний, других запросов. Они с каким-то весом связаны с исходным запросом. Скорее всего, релевантный документ, помимо слов запроса, будет содержать эти дополнительные слова (если он действительно хорошо отвечает на запрос пользователя).

То есть: современный SEO-текст, наряду с соответствием классическим факторам текстового ранжирования, должен содержать расширения с высоким весом. Качественный контент «без воды» включает их естественным образом, однако для увеличения эффекта нужна дополнительная проверка и включение разных вариантов.

Что это за расширения? Откуда они берутся?

  • готовые словари
  • майниг из текстов (например, часто встречаются слова в скобочках после фразы — гипотеза об аббревиатуре)
  • майнинг из сессий

Гипотезы оцениваются с помощью машинного обучения.

Интересные цитаты из ответов на вопросы:

  • Я бы не сказал, что расширения, которые можно намайнить из word2vec особенно хороши. Это лишь один из источников гипотез.
  • Тут нужна сложная мэшин-лернинговая магия. Иногда вообще отсутствие клика — свидетельство того, что документ хороший (в ответе на вопрос о том, что нельзя всегда считать длительное нахождение на сайте позитивным сигналом).
  • Пользователь счастливый, если регулярно возвращается на Яндекс.
  • Всплески «счастья пользователя» связаны с новыми факторами.

Краткие итоги

  1. Для Яндекса важна не только релевантность выдачи, а баланс между релевантностью и производительностью. Повышение эффективности поиска — сложная задача (и это одна из причин, по которым SEO не умирает, а эволюционирует).
  2. Регулярно вводятся новые факторы, имеющие далеко не нулевой вес.
  3. Важный источник данных для поиска — поведение на выдаче (и это не только привычные кликовые факторы!).
  4. Расширения запросов — важная часть текстовой оптимизации. Хотя бы потому, что по ним документы могут различаться очень сильно, в то время как базовые сигналы (например, вхождение в title) могут быть одинаковы у огромного количества страниц.

А что вы почерпнули из докладов? Делитесь в комментариях!

Поделиться
Отправить
Плюсануть

Читайте также
Комментарии
  • seoonly.ru
    28.02.2017

    Как ни крути)) только супермозги человеческие могли создать яндекс и гугл

    Ответить
    • Кумыр
      28.02.2017

      И только ты констатируешь этот факт. Когда тебя уже инопланетяне домой заберут?

      Ответить
  • Галина Нагорная
    28.02.2017

    Спасибо! Всегда у Вас получаю некоторые знания, отсутствующие у меня. Тем более — с первых рук от Петра Попова и Александра Сафронова.

    У меня к Вам, Алексей, вопрос не по теме статьи — простите! Где мне можно найти синонимы и похожие фразы на Вашем сервере проверок?
    К ним не от носятся Тематичные слова («LSI»)?
    А то я эту область сейчас хочу проработать, а знаний пока нет, но я быстро обучаемая…
    Заранее благодарю за ответ.

    Ответить
    • Алексей Трудов
      01.03.2017

      Галина, рад, что понравилось!
      Синонимы сервис пока не показывает (есть в планах). «Тематичные слова» — больше история про расширения запроса, о которых говорится в докладе. По поводу «LSI» будет отдельная статья.

      Ответить
  • doorwaymoney
    01.03.2017

    Ну если посмотреть слив в 2010-11г. панели задач от Яндексов, там где они ставят эксперименты на выдаче (вносят новые фишки, меняют формат выдачи и т.д.), основной и самый важный показатель является, прибыль а уже потом, удобство пользователя… да же самые удобные штуки/сервисы будут отключать если они уменьшают доход 🙂

    Ответить
  • Кирилл
    01.03.2017

    Где достать исходный код алгоритма ранжирования, чтобы его зареверсить? Я готов 🙂

    Ответить

Добавить комментарий