Разработка модели семантического поиска и использование ее для создания семантической поисковой системы для COVID-19.

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

Поиск прохода

Проблема поиска отрывков определяется следующим образом: учитывая корпус отрывков D и запрос q, мы хотим вернуть k самых релевантных отрывков для запроса, используя функцию оценки f с двумя аргументами q и d ∈ D, которая вычисляет a оценка релевантности f (q, d) ∈ R. При ответе на вопрос запрос является вопросом, и ожидается, что соответствующие отрывки дадут ответ на вопрос, в то время как при проверке фактов запрос является утверждением, и соответствующие отрывки поддерживают или противоречат данное заявление.

Ограничения разреженных представлений

TF-IDF и BM25 представляют текст в виде разреженных векторов большой размерности, которые можно эффективно искать с помощью структуры данных инвертированного индекса. Эти разреженные представления могут быть эффективными для сокращения пространства поиска на основе ключевых слов. Например, когда мы хотим ответить на такой вопрос, как «Кто снял фильм« Начало »?», мы, очевидно, хотим сосредоточиться на отрывках, содержащих слова фильм и Начало. . Однако разреженные представления могут быть ограничительными, потому что они требуют перекрытия слов между запросом и отрывком, и они не могут уловить скрытые семантические отношения. Например, если мы хотим получить отрывки для утверждения «Молодой человек умер от COVID-19», соответствующие отрывки, содержащие предложения типа «ребенок умер от COVID-19» или «мальчик умер от COVID-19» не будет.

Скрытый плотный поиск

Нейронные модели, основанные на преобразователях и предварительно обученные задачам языкового моделирования, таким как BERT, GPT и T5, привели к значительным улучшениям во многих задачах обработки естественного языка, включая поиск отрывков. В нашей системе мы используем модель встраивания текста на основе BERT. В частности, мы используем скалярное произведение φ (q) и φ (d) в качестве нашей функции оценки прохождения:

где φ (.) - функция вложения, которая отображает переход или запрос в плотный вектор. Выбор этой функции f позволяет нам использовать эффективный поиск максимального внутреннего продукта с использованием библиотеки FAISS и легко масштабировать нашу систему до миллионов документов. Для функции встраивания φ (.) Мы используем среднее вложение токенов BERT-base, которое было точно настроено для ряда задач:

где BERT (d, i) - вложение i-го токена в переходе d, а | d | количество жетонов в d. На рисунке ниже показана модель плотного поиска, называемая QR-BERT, которая определяет, соответствует ли отрывок запросу. Наша модель плотного поиска состоит из одного кодировщика, который внедряет запрос и переход в одно и то же k-мерное пространство. Сходство между запросом и отрывком (релевантность отрывка) определяется косинусным сходством их встроенных представлений.

Обучение модели встраивания

QR-BERT обучается на наборе примеров прохождения запроса. Пусть D + - множество положительных пар запрос-переход. Мы оцениваем параметры модели θ оценочной функции, максимизируя логарифмическое правдоподобие:

Условная вероятность p (d | q) аппроксимируется softmax:

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

где D_B - это набор переходов в обучающем пакете B, а D_B + - набор положительных пар запрос-переход в B. Модель обучается на наборе данных MSMARCO с оптимизатором Adam. Наши эксперименты показали, что QR-BERT значительно превосходит поиск пассажей BM25.

Предварительное обучение с данными NLI

Мы обнаружили, что предварительное обучение модели внедрения на основе данных логического вывода на самом деле может улучшить ее. Мы объединили два популярных набора данных NLI (SNLI и MultiNLI) в один, называемый NLI, а также получили новый набор данных FactualNLI из существующих наборов данных с ответами на вопросы. Методология получения нового набора данных NLI подробно описана в нашей статье. Набор данных FactualNLI используется для обучения и оценки модели поиска для проверки фактов, а также для предварительного обучения модели для поиска ответов. Используя данные NLI, мы предварительно обучаем модель с целью классификации:

где u - вложение предложения посылки, v - вложение предложения гипотезы, W_3 × 3k - матрица линейного преобразования, где k = 768 - размерность скрытого представления BERT-базы, а [u; v; | u - v |] - конкатенированный вектор u, v и их абсолютная разность | u − v |. Мы предварительно обучили QR-BERT, используя потерю кроссэнтропии и оптимизатор Адама. Наши эксперименты показали, что предварительная тренировка по NLI и FactualNLI улучшает запоминание при поиске.

Гибридный поиск

В наших экспериментах мы получили наилучшие результаты, когда мы объединили лучшие результаты ретривера BM25 и QR-BERT и повторно ранжировали их с помощью бинарного классификатора релевантности. Мы обучили бинарный классификатор релевантности на основе BERT-large с использованием набора данных MSMARCO (например, monoBERT от Ногейры и др.).

Более подробно об оценке моделей можно прочитать в нашей статье.

Качественный анализ

В таблице ниже показаны основные фрагменты, полученные по некоторым вопросам и утверждениям QR-BERT и BM25:

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

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

Система Квин

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

У Quin есть модуль для сканирования RSS-каналов и хранения html-кода новостных статей. Мы удаляем шаблон и изолируем основное содержание новостных статей. Из чистого текста мы извлекаем фрагменты по 5 предложений каждый, используя скользящее окно для последовательности предложений каждой статьи. Мы используем библиотеку nltk, чтобы разбивать документы на предложения. Чтобы облегчить эффективный крупномасштабный поиск, мы создаем два индекса для фрагментов: (а) эффективный разреженный инвертированный индекс для поиска BM25 (индекс ключевого слова) и (б) плотный (семантический) индекс FAISS, который поддерживает максимальный поиск внутреннего продукта.

Запрос используется для выполнения поиска по разреженному и плотному (FAISS) индексам сниппетов. Мы извлекаем 500 лучших результатов из каждого индекса и вычисляем оценку релевантности для каждого результата. Результаты ранжируются по их оценке релевантности, и мы выводим окончательный ранжированный список результатов. Когда запрос является оператором, у нас есть дополнительный шаг, который классифицирует извлеченные отрывки по трем классам с использованием модели NLI, чтобы они отображались на трех вкладках; все, подтверждающие и опровергающие доказательства.

Помимо новостей, Quin также поддерживает семантический поиск по исследовательским работам, связанным с COVID-19. На момент написания Quin имеет индекс из более чем 200 000 новостных статей и 100 000 исследовательских публикаций, связанных с COVID-19. Мы надеемся, что эта система поможет в борьбе с дезинформацией и поможет некоторым исследователям в поисках лечения от COVID-19.

[Страница проекта], [Бумага], [Демо]