Формат ввода для точной настройки BERT в корпусе

#python #nlp #bert-language-model #transformer

#питон #nlp #bert-язык-модель #трансформатор

Вопрос:

Я хочу точно настроить BERT для определенного языкового домена, используя следующее репозиторий git:

https://github.com/cedrickchee/pytorch-pretrained-BERT/blob/master/examples/lm_finetuning/README.md

Что касается формата ввода, то в нем говорится:

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

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

Спасибо вам за вашу помощь!

Ответ №1:

Сценарий, о котором вы говорите, является правильным для продолжения предварительной подготовки. Оригинальный BERT использует предсказание следующего предложения в качестве вспомогательной цели. Когда предоставляется пара предложений (разделенных [SEP] маркером), встраивание [CLS] (самого первого) токена используется в качестве входных данных для классификатора, сообщающего, являются ли предложения смежными в связном тексте или нет.

Для этого и предназначены пустые строки: на границе документа предложения не могут быть смежными.

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