Ранжирование В Яндексе: Как Поставить Машинное Обучение На Поток (Пост №1)

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

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



Ранжирование в Яндексе: как поставить машинное обучение на поток (пост №1)



Ранжирование в Яндексе: как поставить машинное обучение на поток (пост №1)

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

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

доля рынка каждый.

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

В-третьих, меняются привычки пользователей.

Например, за последние несколько лет длина среднего поискового запроса увеличилась с 1,5 до 3 слов.

Качество поиска — сложное понятие.

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

В этой серии статей мы рассмотрим только один аспект качества: рейтинг.

Как многие уже знают, он отвечает за порядок предоставления найденной информации пользователю.

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

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

Возможно, вы уже читали о платформе распределенных вычислений.

Еще один MapReduce (YAMR) , библиотека машинного обучения Матрикснет и в основном алгоритм формула рейтинга обучения.

Теперь мы решили поговорить о Структура ФМЛ (Friendly Machine Learning — «машинное обучение с человеческим лицом»).

Это был следующий шаг в автоматизации и упрощении работы наших коллег — постановка работы с машинным обучением на поток.

Вместе FML и Matrixnet являются частями одного решения — технологии машинного обучения Яндекса.

Говорить о FML довольно сложно, но мы хотим сделать это подробно.

Поэтому разделим нашу историю на несколько постов:

  1. Что такое ранжирование и какие проблемы оно решает? .

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

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

    А те, кто уже знаком с рейтингом, смогут уточнить у нас используемую терминологию.

  2. Выбор формулы ранжирования .

    Вы узнаете, как FML стал конвейером подбора формул (да, их очень много!), позволяющих быстро учитывать большой объем оценок оценщиков и новых факторов с минимальным вмешательством человека.

    А также о созданном в Яндексе кластере на графических процессорах, который вполне может войти в сотню самых мощных суперкомпьютеров мира.

    Разработка новых факторов и оценка их эффективности .

    Как правило, публикации в области машинного обучения фокусируются на самом процессе выбора формулы, а разработка новых факторов игнорируется.

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

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

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

  3. Мониторинг качества уже реализованных факторов .

    Интернет постоянно меняется.

    И вполне возможно, что факторы, которые еще несколько лет назад очень помогали улучшить качество, сегодня утратили свое значение и тратят вычислительные ресурсы впустую.

    Поэтому мы поговорим о том, как ФМЛ поддерживает постоянную эволюцию, в которой слабые факторы умирают и уступают место сильным.

    Распределенный вычислительный конвейер .

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

    Сегодня около 70% вычислений в разработке Яндекс.

    Поиска контролирует FML. Области применения и сравнение с аналогами .

    FML используется в Яндексе для машинного обучения ряда команд и для решения задач, далеких от поиска.

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

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

    Мы также обсудим, как применение FML в ЦЕРНе может проложить путь к Нобелевской премии.



Что такое ранжирование и какие проблемы оно решает?



Ранжирование в Яндексе: как поставить машинное обучение на поток (пост №1)

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

Алгоритм, выполняющий эту работу, называется функцией ранжирования (в средствах массовой информации ее иногда называют формулой релевантности).

Задача ранжирования состоит именно в том, чтобы выделить наиболее важные из найденных страниц и определить «правильный» порядок их отображения.

Улучшение — это первое и главное место, где используются FML и Matrixnet. Когда-то в Яндексе функция ранжирования выражалась одной-единственной формулой, подобранной вручную.

Его размер растет экспоненциально (на графике масштаб Y логарифмический).



Ранжирование в Яндексе: как поставить машинное обучение на поток (пост №1)

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

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

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

При ранжировании эксперты определяют порядок показа документов по конкретным запросам.

Таких запросов десятки тысяч.

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

Эти данные называются оценки и, как многие знают, готовятся отдельными специалистами - оценщики .

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

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

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

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

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

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

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

Существует несколько технологий получения оценок оценщика, и каждая из них предусматривает свой тип суждения.

На данный момент оценщики Яндекса оценивают соответствие документа запросу по пятибалльной шкале.

Этот метод основан на методике Крэнфилд II .

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

Почему стандартные методы неприменимы при ранжировании Однако даже собрав достаточное количество рейтингов и рассчитав набор факторов для каждой пары (запрос + документ), построить функцию ранжирования стандартными методами оптимизации не так-то просто.

Основная трудность возникает из-за кусочно-постоянного характера целевые показатели ранжирования (nDCG, pFound и т. д.).

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

Метрикам ранжирования и их оптимизации посвящено отдельное научное направление — Учимся ранжировать (рейтинговое обучение).

А в Яндексе есть специальная группа, которая занимается внедрением и усовершенствованием различных методов решения этого довольно узкого, но очень важного класса задач оптимизации поиска.

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

Он создан с помощью машинного обучения — в случае Яндекса это библиотека Matrixnet. В следующие сообщения мы поговорим о том, откуда берутся факторы поиска и как все это связано с FML.

Ранжирование в Яндексе: как поставить машинное обучение на поток (пост №1)

Теги: #Машинное обучение #Большие данные #машинное обучение #Интеллектуальный анализ данных #matrixnet #FML #FML #факторы ранжирования #факторы ранжирования #факторы ранжирования #обучение ранжированию #обучение ранжированию #обучение ранжированию #обучение ранжированию

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.