Сергей Людкевич: «Современные тенденции развития алгоритмов поисковых машин с примерами из Яндекса, в частности из его украинской формулы»

В продолжение серии обзоров с недавно прошедшей конференции Optimization.com.ua в Харькове на сайте Searchengines.ru опубликовано выступление Сергей Людкевича, начальника отдела исследований и аналитики Корпорации РБС.

На данном этапе все современные боле менее серьёзные поисковые машины, будь то западные или российский Яндекс, используют в своих алгоритмах так называемое машинное обучение.

Что под этим понимается? Дело в том, что поисковая машина набирает некую выборку экспериментальных данных на основе оценки соответствия конкретных документов по конкретным запросам на основании ручной оценки специальных людей. В Яндексе такие люди называются асессорами. Благодаря этой оценке получается возможным с помощью современных математических методов, которые называются генетическими алгоритмами, построить некую целевую функцию ранжирования, удовлетворяющую определённым условиям.

Начнём с первоначальной тестовой выборки, которая собирается на основе оценок асессоров. Тестовая выборка – это некоторое количество запросов, каждому из которых соответствует некая выборка документов. Задача асессора – поставить каждому документу и каждому запросу из этой выборки ручную оценку соответственно.

Перед тем, как строить функцию ранжирования, нужно набрать некий набор факторов ранжирования, по которым потом и будет поисковый алгоритм строить оценку любого произвольного документа взятому запросу. В конкурсе «Интернет-математика 2009» Яндекс заявлял участие 245 факторов ранжирования. В публикации «Яндекса на РОМИП’09» приводились цифры в 163 для коллекции, которая строится по вебу, и 69 для коллекции без ссылочных факторов. Количество факторов растёт, так как недавно в блоге одного из яндексоидов проскользнула цифра около 300.

Наиболее характерные примеры факторов, взятые как из публикации сотрудников Яндекса, так и западных поисковых машин:
— запросные факторы (длина запроса, язык запроса),
— текстовые факторы (наличие точного запроса в тексте документа, tf*idf и т.д.),
— ссылочные факторы (PR, ТИЦ),
— географические факторы (регион сайта, язык документа)
и т.д.

Функция релевантности представляет собой числовое соответствие документа запросу.
Fr(q,d) = Fr(F(q,d)) = Fr(f1(q,d), …, fN(q,d))
Построение этой функции происходит с помощью генетических алгоритмов по следующему пути:
1. Сначала нужно выбрать метрику, то есть надо понять, какому свойству должна удовлетворять искомая функция ранжирования.
2. После того, как выбрали метрику с помощью генетических алгоритмов, происходит подбор видов функций. В публикации Яндекс на Ромип было указано, что функция подбирается в виде полиномов. На каждый набор тестовых входных данных будет генерироваться именно свой вид функции.
3. Третий этап – подбор коэффициентов для целевой функции ранжирования.

Поисковые машины могут набрать сколько угодно обучающих выборок и построить для каждой из них свой алгоритм. Судя по всему, так и работает в настоящий момент региональный поиск Яндекса. То есть асессоры оценивают выдачу по каждому региону. Уже набралось достаточное количество таких выборок. Есть региональные формулы, есть общероссийская формула ранжирования, для Украины, Беларуси и Казахстана. Весь остальной мир получает московскую формулу.

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

Каким образом теперь изучать чёрный ящик функций релевантности? Сергей предлагает экспериментально исследовать влияние каждого фактора в отдельности. Для этого нужно брать наиболее интуитивно понятные, оказывающие наибольшее влияние на результат. В частности, докладчик привёл методику постановки эксперимента, включающую:
— выбор исследуемого фактора,
— генерацию тестовых коллекций (варьирование исследуемого фактора и фиксация остальных),
— индексацию тестовых коллекций,
— анализ результатов,
— принятие решений о характере влияния исследуемого фактора на функцию релевантности.

В корпорации РБС постоянно проходят подобные эксперименты. Недавно был запущен масштабный эксперимент исследования многих факторов ранжирования, по результатам которого Сергей привёл некоторые значения для украинской формулы:

1. При таком факторе, как количество употреблений термина запроса, зависимость прямая. Чем больше употребляется термин, тем выше значение функции релевантности.

2. Если рассматривать фактор – длина документа в словах, здесь зависимость обратная (но если говорить только об однословных запросах).

3. Рассматривая количество употреблений самого частотного термина, выявлена также обратная зависимость.

Результаты для московской и общероссийской формулы оглашаться не будут.
— — —

(вопрос из зала) Назовите 3 основные фактора из 245 факторов ранжирования, заявленных Яндексом на конкурсе «Интернет-математика 2009»?

(ответ Сергея) Я думаю, что даже Александр сейчас не назовёт 3 основные фактора. Но предполагаю, что один из серьёзных факторов – это количество употреблений термина запроса (tf). Что касается двух других, остаётся только догадываться. Наверняка title очень хорошо влияет, количество ссылок, содержащих точное вхождение запроса.

(в.) Что вы посоветуете компаниям, одновременно желающим быть и в выдаче yandex.ua и в выдаче yandex.ru. Продвигать один домен или делать 2 разных сайта в зоне .ru и .com.ua?

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

(в.) Интересуют факторы, связанные с ссылками. Что посоветуете для украинской формулы ранжирования?

(о.)Не было замечено влияния региональности донора на результат. Стандартная рекомендация – доноры должны быть качественными сайтами.

Основатель Searchengines.ru. С 2005 по 2014 год работал генеральным директором компании "Яндекс.Украина". Основатель и директор крупнейшего коворкинга Одессы — "Терминал 42". Ведет блог, участвует в подкастах. Больше ничего не умеет.