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

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) могут быть одинаковы у огромного количества страниц.

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

6 комментариев

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

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

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

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

Оставить ответ