Как Яндекс оценивает качество своего поиска

2

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

Почему важно оценивать качество?

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

Почему важно ОЦЕНИВАТЬ качество?

Важно давать численную оценку выходящему, так как изменения бывают разными, для того, чтобы измерить пользу от одного конкретного изменения, нужно численно воображать, что изменения А дают такой-то профит, а изменения Б – такой же или меньший. Это нужно для однозначной приемки тех изменений, которые делаются.

Отчего ВАЖНО оценивать качество?

Постоянное внесение изменений необходимо потому, что порог перехода в другую поисковую систему весьма низкий. Для этого пользователю достаточно всего лишь открыть другую вкладку, задать другой ПС свой запрос и решать свои задачи там. Если у пользователя вдруг неожиданно лег Facebook или ВКонтакте, вряд ли он побежит спешно пользоваться Snapchat’ом, так как там нет его друзей и нет его сети контактов. А если лежит поиск Яндекса, то пользователь очень просто идет в иную поисковую систему и прекрасно себя чувствует. При этом, если поиск не решает ту задачу, которая есть у пользователя, то он также переходит в иную поисковую систему. А это значит, что отвечать бесполезно и не отвечать – означает одно и то же, только детектировать такие случаи гораздо сложнее.

Как измеряют качество?

1. Маркетинговые опросы. Это самое несложное, что можно сделать.

2. Онлайн-эксперименты. Одним из наиболее популярных способов провести онлайн-эксперимент является A/B-тестирование. Когда выкатывается одна из версий розыска на группу А (довольно большую), другая версия – на группу Б, и отслеживается, как пользователи себя ведут в поведенческой модели в этих двух версиях. Подобный метод позволяет непосредственно работать с пользователем и получать от него обратные сигналы. Однако такая модель, с одной сторонки, является достаточно сложной для измерений, а с другой – группе Б может так не понравится показанная версия поиска, что они просто перебегут в другую поисковую систему.

3. Оценка офлайн-модели. Здесь аналитики не имеют дела с настоящим пользователем, они его моделируют. Моделируются также его поступки, совершаемые на поиске, прогнозируется его удовлетворенность результатами.

Офлайн-модель

Офлайн-модель позволяет достаточно быстро проводить эксперименты, в том числе и весьма «опасные», которые нельзя выкатывать в онлайн, никак не ограничивает эти эксперименты ни во времени, ни в количестве.

Как считаются метрики

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

Пример из поиска по картинкам. Здесь представлены два поисковых ответа по запросу [яндекс бенуа]:

 

Задав этот запрос в картиночный розыск, можно начинать парсить данную поисковую выдачу. Здесь вводится понятие searchengine response page — это поисковый ответ. У этого поискового ответа могут быть требования, регион пользователя и количество документов. Далее уже начинается парсинг всех картинок, которые представляем в виде компонентов, имеющих собственный url, текстовое описание, размер. Для того, чтобы посчитать цветность, нужны сигналы о том, какая картинка цветная, какая нет. Этот сигнал можно получить с поддержкой ручной разметки, либо какой-то программы, либо с помощью машинного обучения.

Важно следующее – это сигнал имеет какую-то ключевую особенность. Обыкновенно это картинка, представленная в виде url, и этот сигнал можно подклеить на этот url. Поэтому берется поисковая выдача, из нее вычленяются url картинок, на них наклеивается сигнал о том, какая картинка цветная, а какая нет, и таким манером уже можно посчитать долю цветных картинок в данной поисковой выдаче (ImagesColor). В первом случае эта метрика равновелика 0,91, во втором – 0,12.

Но предположим, что наши пользователи, при прочих равных, любят картинки с большим разрешением. Посчитали метрику посредственного разрешения в поисковой выдаче (ImagesSize), которая в первом случае составила 0,52, а во втором – 0,55.

Далее важно все-таки выстроить эту абстрактную «метрику счастья». С помощью элементарного полинома значения обеих метрик складываются, тем самым уже давая возможность численно постичь, какая система лучше, по этому конкретному запросу.

F (Color + Size) = α*IC + β*IS

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

F [queries] = α*IC[..] + β*IS[..]

В итоге процесс модулирования поступков пользователя выглядит так:

После этого результаты (отчет о том, какая версия ПС лучше) уже можно показать менеджеру проекта или аналитику розыска.

Инструменты оценки качества

Для сбора контрольной выборки запросов используется Log miner, задачей которого является скопить как можно большую выборку запросов и научиться ее обновлять. Для того, чтобы данные были свободны от смещений в сторонку тех или иных временных явлений, отражающихся на поиске (праздники, выходные, Новый год), берется как можно большее количество пользовательских логов за будет таки продолжительное время.

Следующий инструмент – это Scraper. Он работает с двумя системами – контрольной (текущая версия ПС) и бетой (версия ПС с какими-либо изменениями, качество каких нужно оценить). Задача инструмента заключается в том, чтобы одновременно прокачать эти две системы и получить поисковые ответы по ним.

Вытекающая система – это система получения сигналов Assessment. Исторически так сложилось, что первые сигналы Яндекс получал с помощью ручной разметки, с поддержкой асессоров, задача этого инструмента заключается в том, чтобы следить за качеством асессорских сигналов.

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

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

Сервис Nirvana позволяет аналитикам основывать свои бизнес-процессы по получению новых сигналов, вкладывать туда свою кастомную логику, например, могут использовать тот же Assessment или свои инструменты для машинного обучения, а могут использовать недавно показавшийся сервис Toloka.

Вся эта архитектурная система работает на микросервисах, в основном используется язык java, реляционные базы этих и SQL. Она используется в нескольких сценариях:

• Приемка новых изменений
• Анализ исторических данных
• Мониторинг

Данная система используется для всех сервисов Яндекса, какие имеют контент: веб-поиск, мобильный поиск, картинки, видео, геопоиск, Маркет. Она работает с big data, потому что доводится сравнивать различные элементы поискового ответа, добавлять сотни сигналов, добавлять сотни метрик и производить десятки тысяч вычислений в день. Развитие этой системы влечётся к тому, чтобы создать одну большую оффлайн-платформу для проведения экспериментов, чтобы разработчики и аналитики поиска могли спокойно добавлять свои сигналы, создавать свои метрики и принимать те или иные изменения в поиске. Чтобы пользователи розыска могли видеть только лучшие из этих изменений.

Источник: searchengines.ru