BERT, одна из революционных моделей в НЛП прошлого года, изменила способ работы с текстовыми данными. Несмотря на то, что он превзошел современные результаты для широкого круга задач НЛП, некоторые вопросы, связанные с его адаптацией к предметной области и расширением для задачи ответа на вопросы, все еще не исследованы. Эта статья призвана обобщить исследования, проведенные во время летней стажировки в Peltarion, чтобы адаптировать BERT к ограниченному количеству наборов данных по предметной области для задачи QA с длинным входным контекстом.
Среди множества сложных задач НЛП, в которых BERT добился больших успехов, ответы на вопросы - одна из них. Модели, хорошо справляющиеся с этой задачей, находят прямое применение в различных отраслях, например, один из клиентов Peltarion, крупная телекоммуникационная компания, хочет использовать глубокое обучение для оптимизации процесса запроса предложений. Модель, которая может заглянуть в документ продукта и выделить соответствующие ответы или доказательства на вопросы, заданные в запросах предложений, может значительно ускорить процесс запроса предложений. Ожидаемые данные от клиента - это документы продукта, вопросы из запросов предложений и аннотации в качестве ответов, извлеченных из соответствующего документа продукта. Прежде чем мы смогли попросить клиента выполнить дорогостоящую задачу по сбору данных, мы начали с BERT, чтобы построить доказательство концепции на основе набора данных emrQA. Вы можете прочитать больше о BERT и модели ответов на вопросы для набора данных SQUAD в [1] и [2]. Учитывая, что вы хорошо разбираетесь в модели BERT, в этом блоге вы найдете ответы на вопросы, которые лежали в основе наших экспериментов, их результаты и выводы.
Вопросы для исследования
Ранее в этом году многие статьи [3,4] были посвящены адаптации BERT к различным областям, таким как наука и биомедицина. Общий подход заключался в том, чтобы либо обучить BERT с нуля с помощью больших корпусов, специфичных для предметной области, таких как научные статьи и использовать словарь, специфичный для предметной области, либо доработать языковую модель BERT с большим корпусом, специфичным для предметной области, используя исходный словарь BERT. Затем они доработали адаптированную модель на наборе данных для конкретной задачи и оценили классификацию предложений и NER, которые являются относительно более простыми задачами, чем QA. Кроме того, наборы данных, используемые в существующей работе, обычно имеют меньшую длину контекста, обычно менее 512 токенов. BERT имеет ограничение в 512 входных токенов, но документ продукта от клиента или клиническая заметка из набора данных emrQA обычно намного больше, чем принятая входная длина BERT. Учитывая эти проблемы на нашем пути к построению модели контроля качества для ограниченного количества предметно-ориентированных наборов данных, мы определили следующие исследовательские вопросы:
- Каков будет подход к задаче «Ответ на вопрос», где входной контекст или абзац в n раз больше 512?
- Как адаптировать модель BERT для предметно-ориентированного набора данных QA с ограниченным объемом предметно-ориентированного корпуса (только документы продукта или только клинические заметки)?
- Помогает ли замена заполнителей в словаре BERT частыми предметными словами?
- Сколько обучающих данных необходимо для достижения приличной точности?
Работа с длинным контекстом
Модель BERT-QA принимает входные данные в следующем формате: токен «[CLS]», токенизированный вопрос, токен «[SEP]», токены из содержимого документа и последний токен «[SEP]», ограничивающий общий размер каждого экземпляра до 512 токенов. Как упоминалось ранее, длина клинических заметок составляет примерно 5x из 512, и для решения этой проблемы мы модифицируем обучающие данные так, чтобы их можно было использовать в модели BERT без изменения ее архитектуры. Хакерство состоит в том, чтобы разделить клинические заметки на несколько дополнительных заметок, чтобы каждая дополнительная заметка при объединении с входным вопросом давала около 512 токенов. После объединения входного вопроса с дополнительным примечанием есть две возможности: 1) если вложенное примечание содержит ответ на основную истину, пометьте ответ его начальной и конечной позицией во вспомогательной заметке 2) если вспомогательная заметка не содержит основы ответ правды, пометьте начальную и конечную позиции как 0 (указывает на токен [CLS]). Во время вывода мы разбиваем входную клиническую заметку на несколько подзаметок аналогично тому, как это делается во время обучения, и объединяем каждую часть с входным вопросом. Спрогнозируйте начальную и конечную точки ответа во всех подмечаниях клинической заметки для данного вопроса. Это делается путем вычисления span_score (c, s, e) для контекста c, начиная с местоположения s и заканчивая e .
Диапазон ответов (s, e) из части c клинической заметки с наивысшим значением span_score (c, s, e) равен предсказал как ответ. Этот подход частично основан на [5].
Эксперименты и результаты
После разработки подхода к обработке длинного контекста в QA мы провели несколько экспериментов, чтобы изучить оставшиеся вопросы исследования. Для оценки используются показатели F1 и EM_5. EM_5 - это модифицированная версия метрики точного совпадения (EM), которая может быть определена как то, сколько раз прогнозируемые начальная и конечная позиции лежат в пределах +/- 5 маркеров наземных истинных позиций.
Эксперимент на графиках ниже можно рассматривать как несколько этапов обучения, выполненных во временном порядке слева направо, где цвет стрелки показывает тип обучения, а два цвета в одной стрелке указывают на дополнительную модификацию, выполненную во время этого этап обучения. Для всех экспериментов модель инициализируется из предварительно обученных весов базовой модели BERT без корпуса.
Все эксперименты можно условно разделить на три части:
- Предварительные эксперименты
Предварительные эксперименты были проведены, чтобы выяснить производительность точно настроенной модели BERT-QA SQUAD на предметно-ориентированных наборах данных, таких как emrQA. Это подтвердило нашу интуицию о том, что модель будет плохо работать из-за недостатка знаний в предметной области. Также было необходимо выяснить, какой объем знаний в предметной области можно получить, выполняя точную настройку на основе задач с помощью emrQA. Кроме того, было интересно посмотреть, может ли модель адаптироваться к предметной области путем обучения языковой модели с использованием ограниченного количества текстовых данных, то есть клинических заметок из emrQA.
2. Эффект от тренировки LM
Как показали предварительные эксперименты, точная настройка, связанная с задачами, в наборе данных для конкретной предметной области является наиболее многообещающим шагом, и обучение LM даже на ограниченном объеме текста предметной области еще больше повысило производительность. Задача прогнозирования следующего предложения не использовалась во время обучения LM, поскольку два последовательных предложения в клинических заметках в основном сохраняли структуру и смысл заметки, даже если они не соседствовали друг с другом. Первая серия экспериментов была проведена с целью улучшения адаптации с использованием LM-обучения. Можно было попробовать заменить 1000 заполнителей из исходного словаря BERT на наиболее часто встречающиеся слова, относящиеся к предметной области, чтобы посмотреть, поможет ли это модели лучше усвоить эти слова. Другая идея заключалась в том, чтобы расширить корпус домена, используя клинические заметки из другого набора данных, называемого CliCR. Низкая производительность при увеличении заметок CliCR может быть связана с различием в структуре и содержании клинических заметок из CliCR (источник) и набора данных emrQA (цель). Ниже приведены результаты обеих модификаций:
3. Эффект тонкой настройки
С целью улучшения точной настройки задач я исследовал два направления. Во-первых, добавление классификатора поверх BERT для составления краткого списка соответствующих частей из клинических заметок, которые могут иметь потенциальные ответы на входной вопрос. Проще говоря, классификатор будет брать контекст (окно из 512 маркеров из клинической заметки) и спрашивать, чтобы предсказать, соответствует ли контекст данному вопросу или нет. Если да, то можно рассчитать начальный и конечный баллы. Другой вопрос заключался в том, добавляет ли тонкая настройка большого общего набора данных QA домена, то есть SQUAD, перед его точной настройкой в наборе данных домена emrQA значение? Вот результаты:
«Мы предполагаем, что, когда модель настраивается непосредственно для последующих задач и использует только очень небольшое количество случайно инициализированных дополнительных параметров, модели для конкретных задач могут получить выгоду от более крупных, более выразительных предварительно обученных представлений, даже если последующая задача данных очень мало. ”выдержка из статьи БЕРТА
4. Влияние количества обучающих данных
Аннотирование данных - дело дорогое и трудоемкое, поэтому важно понимать, сколько аннотированных данных действительно необходимо. Шаги из описанных выше экспериментов были использованы для обучения модели на обучающих данных разного размера, сохраняя при этом тестовые данные фиксированными. График ниже объясняет результаты для того же:
Выводы
- Модели, обученные на общем наборе данных предметной области, плохо работают с наборами данных предметной области.
- Чтобы адаптироваться к предметной области, точная настройка на основе конкретных задач с помощью набора данных QA для предметной области является одним из наиболее важных шагов.
- Адаптация предметной области с помощью обучения LM с ограниченными данными (только с доступными параграфами или клиническими заметками из набора данных QA) дает незначительное улучшение производительности.
- Добавление специфичных для предметной области слов путем замены заполнителя из исходного словаря помогает модели лучше выучить эти слова.
- Тонкая настройка модели BERT-QA с большим общим набором данных QA для предметной области перед точной настройкой набора данных QA для предметной области может оказаться полезной, когда набор данных для предметной области ограничен.
Спасибо Андерсу за руководство во время стажировки и ценные отзывы для этой статьи.
P.S. Код для всех подходов можно найти в моем аккаунте Github. Все эксперименты проводились на бесплатном TPU от Google Colaboratory.
Ссылки
[1] https://ai.googleblog.com/2018/11/open-sourcing-bert-state-of-art-pre.html
[3] SciBERT: предварительно обученная языковая модель для научного текста, Beltagy, et al.
[4] BioBERT: предварительно обученная модель представления биомедицинского языка для биомедицинского анализа текста, Ли и др.
[5] A BERT Baseline for the Natural Questions, Alberti, et al.