Яндекс: новая технология анализа текста Yati

На конференции YaC 2020 Яндекс представил новый алгоритм обработки текста в поиске — Yati. Расшифровывается название как Yet Another Transformer with Improvements. Равно как и Палех, и Королев, новый алгоритм устанавливает смысловые связи между пользовательским запросом и документом, но нейросеть по-другому обрабатывает текст и проходит двухэтапное обучение. Теперь Яндекс поиск основан на огромных нейронных сетях на архитектуре трансформера.

Эксперты Яндекса называют Yati самым значимым изменением в поиске Яндекса за последние 10 лет. Новый алгоритм заложил фундамент на следующие годы и обеспечил новый уровень качества поискового ответа.

Как работают поисковые алгоритмы и создают иллюзию “понимания” текста

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

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

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

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

По такому принципу работал поиск Яндекса до 2016 года.

Обработка текста нейронными сетями

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

Первые нейронные сети на архитектуре feed-forward получали текст, превращали каждое слово в вектор, затем полученные векторы суммировали в один семантический вектор, который описывал весь текст.

Основными недостатками работы первых нейронок были:

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

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

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

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

На таком принципе построены алгоритмы Палех и Королев.

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

Экспертная оценка — это оценка смысловой связи запроса и документа реальным человеком с экспертным уровнем знаний в тематике на основе понимания документа.

Сначала сеть тренируется на миллиардах пользовательских переформулировок, а затем на сильно меньшем объеме экспертных оценок. Такой подход позволяет значительно повысить качество поиска. Он называется transfer learning: сеть учится решать простейшие задачи на массивной выборке примеров, а затем дообучается под конкретные задачи на конкретно меньшем количестве примеров. 

принцип работы нейронной сети с дообучением

Принцип работы сетей-трансформеров

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

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

Обучение модели BERT-base с нуля показало прирост качества поискового ответа на 10%.  

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

Для Яндекса важно было оптимизировать работу трансформера под поисковые задачи. Поэтому модель сразу обучалась на текстах, характерных для поиска. На начальном этапе обучения свойствам языка на задачах MLM (Masked Language Model) на вход модель получает запрос и текст документа и сразу обучается предсказывать вероятность клика. На данном этапе применяется таргет на клик:

принцип работы нейронной сети-трансформера с дообучением

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

Таргет на клик может показаться слишком шумным, так как пользователь в выдаче делает выбор по минимальному контексту (заголовок, домен, описание сайта). Открыв страницу, пользователь может покинуть ее через несколько секунд даже без изучение содержимого. Таргет на клик применяется исключительно в больших выборках шумных данных и позволяет отсеять значительный объем данных. Основной таргет модели — экспертная оценка, именно на ее основании формируется текущая выдача Яндекса.

Модель хорошо работает в оффлайне. Но в онлайне ее скорость — фейл для поиска. Поэтому применяется принцип knowledge distillation: более простая система обучается поведению более сложной:

обучение легкой модели поведению тяжелой нейронной сети

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

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

Применение новых тяжелых моделей обеспечило рекордное улучшение качества ранжирования с момента внедрения Матрикснета. Палех и Королев в совокупности дали меньший импульс поиску, чем трансформеры. По прогнозам экспертов, если выключить все факторы ранжирования и оставить только тяжелую модель, то прогнозируемое снижение качества ранжирования достигнет всего 4-5%.

Следующий график сравнивает работу применяемых нейронок в ранжировании, где NDCG (Normal Discounted cumulative gain) отображает отношение полученного качества поискового ответа к идеальному поисковому ответу в эксперименте по датасету. 

сравнение эффективности нейронных сетей по качеству ранжирования

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

Ценные инсайты из ответов на вопросы:

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

Модель YATI учитывает контент, который можно извлечь из HTML-кода. При этом текст добавленный через JS рендерится и точно так же учитывается. Но не для каждой страницы принимается решение рендеринга.

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

Этот обзор YATI также доступен на Дзен-канале Миралинкс!

10+
Поделиться: