Войти Регистрация

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

Нажав кнопку "Принять и продолжить", вы соглашаетесь с Политикой конфиденциальности

Сообщить об ошибке

Отменить
522 15 1
SEO Читать 16 минут 22 октября 2020

Метрики оценки качества поиска в MLR:
что мы знаем и о чем догадываемся

Метрики оценки качества поиска в MLR Learning to rank
Анастасия Сотула
Анастасия Сотула
Редактор блога Serpstat
Обучение ранжированию используется в области информационного поиска для обработки естественного языка и интеллектуального анализа данных. С момента возникновения поисковых систем в этой области был достигнут значительный прогресс: от наивного поиска до сложнейших алгоритмов и машинного обучения.

В данной статье поговорим о том, что нам известно о метриках, которые используют поисковые системы, фундаментальных проблемах, существующих подходах в обучении.
Что такое обучение ранжированию
Начнем с основного пойнта в вопросе — ранжирования. Ранжирование — это способ сортировки элементов (сайтов, видео, изображений, новостных постов и т.д.) на основе их релевантности.

Под релевантностью мы понимаем степень отношения объекта определенному запросу. Допустим, у нас есть запрос и ряд «объектов» в той или иной мере отвечающих ему. Чем выше степень соответствия объекта запросу — тем выше уровень релевантности. Задача ранжирования — отдать наиболее релевантный объект в ответ на запрос. Чем выше релевантность, тем выше вероятность того, что пользователь совершит целевое действие (зайдет на страницу, купит товар, посмотрит видео и тд.).

С развитием систем информационного поиска тема ранжирования становится все более актуальной. Такая задача возникает буквально везде: в распределении страниц поисковой выдачи, рекомендации видеороликов, новостей, музыки, товаров и прочего. Именно для этой цели существует Обучение ранжированию. Что это?

Обучение ранжированию или Learning to rank (MLR) — это направление машинного обучения, которое занимается изучением и разработкой алгоритмов ранжирования, способных к самообучению. Его основная задача — определить наиболее эффективные алгоритмы и подходы, основываясь на их качественной и количественной оценке. Почему возникла проблема обучения ранжированию?

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

Ранжирование выполняется на базе модели сортировки f (q, d), где q — запрос пользователя, d — файл. Классическая модель f (q, d) работает без самообучения и не учитывает взаимосвязи между словами (пример — модели Okapi BM25, Vector space model, BIR).
Релевантность файла запросу модель вычисляет, основываясь на встречаемости слов запроса в каждом документе. В идеальных условиях, когда мы анализируем множество документов, написанных с целью решить поставленную задачу, подобные алгоритмы более чем неплохо справляются со своими задачами. Что успешно работало раньше.

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

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

Так вот проблема возникла тогда, когда поиск стал монетизироваться. Как только он стал монетизироваться, это простимулировало не просто выставлять документы к анализу, но выставлять их таким образом, чтобы получить преференции относительно конкурентов. И вот тут все и «посыпалось». Поэтому на сегодня результаты поиска, основанные на базе простых моделей, не могут обладать достаточным уровне точности.
Demi Murych
Специалист в реверс-инжиниринге и техническом SEO
Поэтому тренды изменились. Для повышения качества поиска на смену простой классической модели пришло машинное обучение. Использование методов machine learning дало возможность автоматического построения модели ранжирования. В теории, она должна учитывать ряд факторов, свидетельствующих о релевантности, которые ранее не могли быть учтены (например, тексты анкоров, авторитет страницы, анализ естественного языка и пользовательского опыта взаимодействия со страницей).

Но здесь важно отменить несколько пунктов:
  1. Современные системы машинного обучения характеризуются слабым искусственным интеллектом. Говоря очень упрощенным языком, такие системы могут работать тогда и только тогда, когда они обучены на объеме данных, который достаточен для того, чтобы давать статистический верный прогноз.

  2. Сами по себе подобные модели ИИ известны с 1960тых годов. Почему же тогда о ИИ заговорили в серьез только сейчас? Именно потому что ИИ наш слабый и ему нужны огромные массивы данных для обучения. И только сейчас, когда интернет появился в каждой кофеварке, гиганты смогли аккумулировать достаточные данные для обучения.
Что из этого следует:
  1. Нет ни одной возможности сейчас, научить машину решать задачу, если нет пула данных правильных ответов на конкретно эту задачу.
  2. Современные системы тем лучше работают сколь более узкую задачу они решают. Именно по причине того, что собрать данные для таких задач сейчас возможно. Для задачи более общего характера это сделать сейчас нереально.
  3. Из пунктов 1 и 2 следует, что, если в поиске сейчас и работает что-то связанное с ИИ то это ИИ, который может принять решение — это натуральный язык или, скажем, «лапша» сгенерированная цепями Маркова.

То есть он не способен в принципе выносить решения относительно пользовательского опыта, или авторитета страницы. Это абстрактный набор данных которые просто не обладают сейчас необходимым пулом данных для обучения. Даже если посадить 100 000 модераторов, которые будут кликать по сайтам составляя базу — авторитет/ не авторитет — им понадобится миллиард лет, чтобы составить базу необходимого объема.

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


Demi Murych
Специалист в реверс-инжиниринге и техническом SEO
Тем не менее, обучение ранжированию на данный момент — одна из ключевых задач современного веб-поиска. С течением времени в теории информационного поиска уже сформировались наиболее распространенные метрики оценки качества поиска, о которых пойдет речь ниже.
Между настоящим и будущим: как искусственный интеллект меняет SEO
Как реализовывается обучение ранжированию
Обучение ранжированию — это полноценная учебная задача, которая включает обучение и тестирование. Данные для обучения включают в себя:
запрос;
файлы;
степень релевантности.
Каждый запрос связан с рядом файлов. Невозможно проверить релевантность всех файлов, поэтому обычно используется метод объединения — проверяются только несколько «верхних» документов, извлеченных существующими моделями ранжирования. Также данные для обучения могут быть получены автоматически из Google SearchWiki или же путем анализа журнала переходов, цепочек запросов. Но, к сожалению, объем этих данных — даже не сотая доля процента от требуемого объема для обучения ИИ.

Степень соответствия определяется файла запросу несколькими способами. Наиболее распространенный подход предполагает, что степень релевантности документа основывается на ряде показателей. Чем выше соответствие одного показателя — тем выше оценка по нему. Оценки релевантности получены из набора маркировки поисковой системы, которая принимает 5 значений от 0 (нерелевантно) до 5 (совершенно актуально). Оценки по всем показателям суммируются.

По итогу, более релевантным является файл, сумма оценок которого по всем показателям — наивысшая. Данные обучения используются для создания алгоритмов ранжирования, которые вычисляет релевантность документов реальным запросам.
Возможная архитектура поисковой системы с машинным обучением
Возможная архитектура поисковой системы с машинным обучением
Однако здесь есть важный нюанс: обработка запросов пользователей должна выполняться на высокой скорости. И задействовать сложные схемы оценки в таком варианте (для каждого запроса) невозможно. Поэтому проверка выполняется на двух этапах:
1
С использованием более простых алгоритмов формируется выборка небольшого количества релевантных файлов. Это позволяет быстро оценить запросы.
2
Далее эта выборка проходит повторное ранжирование с использованием более сложных моделей (машинного обучения), так как они являются более ресурсозатратными.
Признаки ранжирования
Во время обучения и работы MLR, пары файл-запрос переводится в числовой вектор из факторов ранжирования и прочих сигналов. Они характеризуют взаимоотношения запроса и файла, а также их свойства.

Признаки делятся на три группы:
1
Статические признаки — те, которые не зависят от запроса и относятся к самому файлу. Например, это его объем или авторитетность страницы (PageRank). Данные признаки высчитываются в процессе индексации и могут быть использованы для статической оценки качества файла. Это помогает ускорить оценку поискового запроса.
2
Признаки запроса — те, которые зависят только от запроса. К примеру, его длина или то, о чем запрос.
3
Динамические признаки — те, которые зависят от файла и запроса. Например, степень соответствия файла запросу.
Такой подход позволяет предоставить пользователю наиболее точные результаты на странице выдачи. Признаки ранжирования собраны в LETOR — сборнике эталонов для исследований по обучению ранжированию в информационном поиске.
Метрики оценки
Для оценки каждого файла, который возвращается в ответ на запрос, используется как двоичная (релевантный/ нерелевантный), так и многоуровневая (например, релевантность от 0 до 5) шкалы. На практике запросы могут быть некорректными и иметь разные оттенки релевантности. Например, в запросе «Dog» есть двусмысленность: машина не знает, ищет ли пользователь планету Dog (собаку), альбом группы Blink-182 или репера Snoop Dogg.

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

Именно поэтому мы имеем системы, которые умеют:

  1. Распознавать котиков: потому что за время существования интернетов люди наплодили миллиарды готовых данных с котиками.

  2. Определять натуральность языка, потому что оцифровали массу книг на этом языке и знаем точно, что он натурален.
Но мы не можем оценить релевантность запроса сайту, потому что у нас нет таких данных. Даже если просто посадить асессоров щелкать, они не справятся с задачей, так как релевантность — это не просто совпадение текста запросу, это сотни других факторов которые за приемлемое время человек оценить пока не может.
Demi Murych
Специалист в реверс-инжиниринге и техническом SEO
Но, тем не менее, в теории информационного поиска есть устоявшиеся показатели оценки, о которых пишут авторитетные источники. Вот некоторые из них.
1
DCG (Discounted cumulative gain) и NDCG (Normalized Discounted Cumulative Gain)
Если мы хотим понять метрику NDCG, мы должны сначала понять CG (совокупный выигрыш) и DCG (дисконтированный совокупный выигрыш), а также понять два допущения, которые мы делаем, когда используем DCG и связанные с ним показатели:
высокорелевантные документы более полезны, если они появляются раньше в списке результатов поисковой системы (имеют более высокие ранги).
высокорелевантные документы более полезны, чем второстепенные документы, которые, в свою очередь, более полезны, чем нерелевантные документы.
Если с каждой рекомендацией связана оценка релевантности, CG представляет собой сумму оцененных значений релевантности всех результатов в списке:
Совокупный прирост на определенной позиции в рейтинге p, где rel_i — это оценка релевантность результата на позиции i. Каждая оценка релевантности связана с документом.

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

Например:
Набор показателей A: [3, 1, 2, 3, 2, 0] CG Набора показателей A: 11
Набор показателей B: [3, 3, 2, 2, 1, 0] CG Набора показателей B: 11
Очевидно, что Набор показателей B возвращает гораздо более полезный результат, чем Набор показателей A, но мера CG говорит, что они возвращают одинаково хорошие результаты.

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

Мы выполняем это путем сортировки всех соответствующих документов в корпусе по их относительной релевантности, получая максимально возможную DCG через позицию p(также известную как с).
Где, идеальный дисконтированный совокупный выигрыш:
Подробнее о подсчете метрики можно прочитать в Википедии.
2
Точность@n (Precision)
Это доля извлеченных из индекса ПС документов, имеющих отношение к запросу; @n означает, что значение метрики считается только по n лучшим документам выдачи.
где Drel — это множество релевантных документов в базе, а Dretl — множество документов, найденных системой.
3
Mean average precision (MAP)
Средняя точность для набора запросов — это значение средней точности для каждого запроса.
где Q — количество запросов.
4
Среднеобратный ранг (Mean reciprocal rank, MRR)
Это статистическая мера оценки любого процесса, который создает список возможных ответов на выборку запросов, упорядоченной по вероятности правильности. Среднеобратный ранг определяется как среднее обратных рангов по всем запросам Q:
где ranki — положение первого релевантного документа для запроса i.
5
PFound
Разработка Яндекс, которая используется для оценки качества ранжирования. Расчет PFound производится по такой формуле:
Где pLook[i] — вероятность просмотреть i-й документ из списка, а pRel[i] — вероятность того, что i-й документ окажется релевантным.
Выводы
Тема метрик оценки качества поиска актуальна и важна на сегодня. Но, к сожалению, мы можем говорить о ней только с точки зрения теоретизирования, но не реально работающего Google или Яндекса. Метрики оценки качества поиска, в нашем случае, — это по большей части фантазирование. И вот почему: мы не можем иметь на руках всех данных которые есть в Google или Яндекс, так как даже в самом в отделах этих компаний у людей далеко не все данные.

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

Да, можно пытаться опираться на патенты или слова, брошенные тем или иным официальным лицом. Но 90% всех патентов — это мусор, который к программированию не имеет никакого отношения. А брошенные фразы — это только часть мозаики, которая усугубляется тем, что все эти люди связанные настолько жестким NDA, что даже якобы случайно брошенные фразы, являются «прописанными в таком-то договоре».

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

Всем удачи и высоких позиций!
Чтобы быть в курсе всех новостей блога Serpstat, подписывайтесь рассылку. А также вступайте в чат любителей Серпстатить и подписывайтесь на наш канал в Telegram.

Сэкономьте время на изучении Serpstat

Хотите получить персональную демонстрацию сервиса, тестовый период или эффективные кейсы использования Serpstat?

Оставьте заявку и мы свяжемся с вами ;)

Оцените статью по 5-бальной шкале

4.89 из 5 на основе 35 оценок
Нашли ошибку? Выделите её и нажмите Ctrl + Enter, чтобы сообщить нам.

Поделитесь статьей с вашими друзьями

Войти Регистрация

Вы исчерпали лимит запросов.

Или email
Забыли пароль?
Или email
Optional
Back To Login

Не волнуйтесь! Напишите свой электронный адрес и мы пришлем вам новый пароль.

Вы уверены?

Awesome!

To complete your registration you need to enter your phone number

Назад

Мы отправили код подтверждения на ваш номер телефона

Your phone Resend code Осталось запросов

Что-то пошло не так.

Свяжитесь с нашей службой поддержки
Или подтвердите регистрацию с помощью Телеграм бота Перейдите по этой ссылке
Выберите один из проектов

Знакомство с сервисом

Ознакомьтесь с основными возможностями Serpstat удобным способом!

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

Имя

Email

Телефон

Будем рады вашему комментарию
Увеличить лимиты

Улучшить тариф

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

Зарегистрироваться

Спасибо, мы с вами свяжемся в ближайшее время

Пригласить
Просмотр Редактирование

E-mail
Сообщение
необязательно
E-mail
Сообщение
необязательно

У вас закончились лимиты

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

Я хочу больше лимитов