Когда использовать машинное обучение или средство ранжирования результатов поиска

Когда наступает подходящее время для перехода к системе ранжирования поиска с машинным обучением от более простой системы, основанной на оценке

Традиционный поиск информации начался с ранжирования результатов поиска на основе баллов с использованием таких баллов, как TF-IDF [1] или BM25 [2]. По мере того, как поисковые системы становились лучше, оценки, которые они использовали, начали улучшаться. Многие крупные поисковые системы используют эвристическую / оценочную модель для ранжирования в поиске. Самым известным является то, что совсем недавно, в 2011 году, Google использовал эвристическую модель для ранжирования в поиске [3], несмотря на наличие действительно сильного внутреннего опыта в области машинного обучения.

Ранжирование результатов поиска с использованием моделей машинного обучения изучается уже как минимум пару десятилетий. Он приобрел еще большую известность с популярностью методов обучения ранжированию [4] в последнее десятилетие или около того. Например, Bing использует методы обучения ранжированию для ранжирования результатов поиска по крайней мере с 2009 года [5].

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

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

1. Объяснение

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

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

2. Срок реализации

Обычно создание новой версии модели машинного обучения занимает нетривиальное количество времени. Вам необходимо выполнить несколько итераций цикла «сбор / очистка данных -› обучение - ›проверка -› проверка », прежде чем ваша модель будет готова для A / B-тестирования.

Обновление модели, основанной на оценках, может быть таким же простым, как корректировка оценок, и, таким образом, можно за очень короткое время подготовить A / B-тест.

3. Показатель оптимизации

Для большинства поисковых систем сложно найти объективную метрику для оптимизации. Это показатель, который говорит вам, что ваши результаты по определенному поисковому запросу хорошие и поиск был успешным. Этот показатель меняется в зависимости от того, какой продукт вы создаете и что считается «успехом» вашего поиска. У вас может возникнуть соблазн начать оптимизацию для пользовательских кликов, но если вы используете клики вслепую, вы можете обучить модель, которая благоприятствует плохим, «кликабельным» результатам. Крупные поисковые машины тратят много денег на создание систем релевантности для людей [6], где обученные люди-рейтеры используют четко определенные руководящие принципы для создания объективной «оценки успеха» для каждого результата поиска. Обучающие данные, сгенерированные этими системами, можно затем использовать для обучения моделей машинного обучения ранжированию результатов поиска. У небольших поисковых систем может не быть такого же количества ресурсов, как у крупных игроков, и они могут быть не в состоянии позволить себе создание таких систем.

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

4. Актуальность результата

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

5. Гибкость

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

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

6. Время наращивания инженерного потенциала

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

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

Гибридные системы машинного обучения / настроенные вручную

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

Совет для новых поисковых систем

Для новых поисковых систем, с учетом различных факторов, перечисленных выше, хорошее практическое правило будет следующим:

  1. Начните с модели, настроенной вручную. Их проще построить заранее, и вы сможете сразу приступить к работе.
  2. Получите своих первых пользователей. Заставьте их какое-то время использовать ваш поиск, чтобы вы сгенерировали хорошие обучающие данные для своей будущей модели машинного обучения.
  3. Когда вы достигнете шкалы, в которой постепенное повышение релевантности будет более важным, чем остальные факторы, подумайте о переходе к модели машинного обучения. Но убедитесь, что у вас есть хороший ответ на проблему с «метрикой оптимизации», прежде чем вы начнете работать над моделью машинного обучения.

Первоначально опубликовано на www.quora.com

Примечания

[1] tf – idf
[2] Okapi BM25
[3] Почему машинное обучение широко используется для рейтинга объявлений Google и меньше - для их рейтинга в поиске?
[ 4] Ответ Нихила Дандекара на вопрос« Каково интуитивное объяснение обучения ранжированию и таких алгоритмов, как RankNet, LambdaRank и LambdaMART?
[5] Потребности пользователей, особенности и наука, лежащая в основе Bing
[6 ] Ответ Нихила Дандекара на вопрос« Как Google измеряет качество своих результатов поиска?