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

Децзе Лин

Большие предварительно обученные модели, такие как Google BERT (представления двунаправленного кодировщика от трансформеров), достигли больших успехов во многих задачах обработки естественного языка (NLP). Однако, когда они применяются в определенных областях, эти модели страдают от смещения предметной области и не могут достигать удовлетворительных результатов. Несмотря на то, что исследовательскими институтами и корпорациями опубликовано множество моделей BERT для предметной области, таких как BioBERT, SciBERT, FinBERT и exBERT, не существует BERT, ориентированного на предметную область Казначейство и рынки (T&M).

T&M фокусируется на ценообразовании, бронировании, торговле, платежах и расчетах по различным классам активов и продуктов. Это лишь некоторые из многих специфичных для T&M терминов, которые общая модель BERT не может хорошо понять. Возьмем, к примеру, знание значения длинных и коротких позиций, SGD, USD, Murex и облигаций в контексте T&M.

В этой статье я расскажу, как еще больше расширить предварительное обучение базовой модели Google BERT с помощью словаря T&M для предметной области, чтобы создать новую модель BERT для конкретной предметной области: T&M BERT.

После создания модели T&M BERT ее можно использовать для связанных с T&M задач НЛП, таких как классификация, распознавание именованных объектов (NER), ответы на вопросы и обобщение текста. Поскольку эти задачи используют одну и ту же кодовую базу BERT, эту методологию можно легко распространить на другие варианты использования в конкретной предметной области. Например, его можно применить для поддержки аннотации, представленной в этой статье: Использование семантического поиска для управления смарт-аннотациями для моделей чат-ботов.

Перенос обучения и адаптация домена

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

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

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

Методология

Все экземпляры BERT в этом документе относятся к Bert-base-uncased. Восстановить словарный запас можно в три этапа.

1) Проверьте словарный запас токенизатора BERT: подслова и слова

BERT использует токенизатор WordPiece, что означает, что он работает с использованием слов и алгоритма токенизации на основе подслов. Подслово — это набор символов, который связан с одним или несколькими другими для образования слова. Если он не совпадает с началом слова, он начинается с ##. Например, загруженный словарь модели BERT не содержит слов Murex и SGD. Затем он маркирует их подсловами следующим образом: три лексемы для слова Murex и две для SGD.

print(tokenizer.tokenize('Murex'))

печать (tokenizer.tokenize ('SGD'))

[‘mu’, ‘##re’, ‘##x’]

[‘sg’, ‘##d’]

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

Увеличим словарный запас модели BERT и токенизатора:

New_tokens = [‘murex’, ‘sgd’]

Num_added_toks = tokenizer.add_tokens(new_tokens)

print(tokenizer.tokenize('Murex'))

печать (tokenizer.tokenize ('SGD'))

['мурекс']

['sgd']

2) Получите список токенов из домена T&M и добавьте только слова, а не подслова

Обычный метод заключается в обучении токенизатора того же типа (например, токенизатора BERT WordPiece), который позволяет получить словарь, специфичный для этого корпуса. Затем словарь можно добавить в существующий список.

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

Вот основные этапы этого процесса:

1) Составьте список токенов из документов T&M, используя spaCY. Документы T&M могут быть собраны из источников, включая электронные письма, сообщения чата, контракты, pdf-файлы и т. д.;

2) Получите IDF (перевернутая частота документа) словесных токенов и расположите их в порядке убывания в соответствии с частотой использования;

3) Добавьте новые токены в словарь токенизатора BERT; и

4) Настройте матрицу вложений модели на новый размер векторов встраивания.

В ходе этого исследования мы определили 400 токенов, специфичных для домена T&M, которые были добавлены в словарь токенизатора BERT.

3) Дальнейшее предварительное обучение BERT с помощью моделирования маскированного языка (MLM)

MLM случайным образом замаскирует некоторые токены, заменив их на [MASK]. Детали процедуры маскирования для каждого предложения из обучающего набора данных выполняются следующим образом:

1) 15% токенов замаскировано.

2) В 80% случаев маскированные токены заменяются на [MASK].

3) В 10% случаев замаскированные жетоны заменяются случайным токеном, отличным от того, который они заменяют.

4) В оставшихся 10% случаях замаскированные токены остаются как есть.

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

from transformers import DataCollatorForLanguageModeling
data_collator = DataCollatorForLanguageModeling(tokenizer=tokenizer, mlm_probability=0.15)

Мы начинаем обучение, передавая все Trainer:

trainer = Trainer(
model=model,
args=training_args,
train_dataset=lm_datasets["train"],
eval_dataset=lm_datasets["validation"],
data_collator=data_collator,
)

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

Сравнение производительности

Вот сравнение базовой модели BERT с моделью T&M BERT путем предсказания слов из контекста T&M.

BERT MLM: дальнейшее предварительное обучение без расширения базового словаря BERT, демонстрирующее предикацию Google BERT для замаскированного токена:

True Labels: расчет, дата, фонд

T&M BERT MLM: дальнейшее предварительное обучение с расширенным словарем T&M, показывающее предикацию T&M BERT на замаскированном токене:

True Labels: расчет, дата, фонд

Сравнение эффективности понимания контекста

T&M BERT демонстрирует значительное преимущество в понимании документов/электронных писем, связанных с контекстом T&M. Он достиг на 13% большей точности, чем Google BERT, и на 16% больше, чем FinBERT.

Заключение

Наличие соответствующего набора словарного запаса является краеугольным камнем многих приложений НЛП. BERT — это современная общая языковая модель, выпущенная Google в 2018 году. Это очень большая модель нейронной сети, которая предварительно обучила более 3,3 миллиарда английских слов, извлеченных из Википедии и BookCorpus. Он хорошо подходит для большинства общих случаев использования НЛП, но не для конкретных случаев использования предметной области. В этом исследовании мы разработали модель T&M BERT, в которой применялось трансферное обучение и дополнительно предварительно обученный Google BERT с использованием словаря T&M, специфичного для предметной области.

T&M BERT был обучен с использованием 200 000 электронных писем, и он уже может превзойти Google BERT и FinBERT, когда дело доходит до понимания контекста торговли и расчетов T&M. Я уверен, что T&M BERT от DBS станет основой для всех будущих вариантов использования T&M NLP.

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