Предварительная подготовка языковой модели на небольшом корпусе - PullRequest
1 голос
/ 24 апреля 2020

Мне было любопытно, можно ли использовать трансферное обучение в генерации текста и переобучать / предварительно обучать его для определенного типа c текста.

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

Если рассматривать это как конвейер, я бы описал это как:

  1. Использование предварительно обученного токенизатора BERT.
  2. Получение новых токенов из моего нового текста и добавление их в существующую заранее обученную языковую модель (например, ванильный BERT).
  3. Переподготовка предварительно обученной модели BERT на заказном корпусе с помощью комбинированного токенизатора.
  4. Создание текста, напоминающего текст в небольшом пользовательском корпусе.

Звучит знакомо? Возможно ли это с обнимающим лицом?

1 Ответ

1 голос
/ 25 апреля 2020

Я не слышал о трубопроводе, который вы только что упомянули. Чтобы создать LM для вашего варианта использования, у вас есть в основном два варианта:

  1. Дальнейшее обучение модели BERT (-base / -large) на вашем собственном корпусе. Этот процесс называется адаптация домена , как также описано в этой недавней статье . Это адаптирует изученные параметры модели BERT к вашему указанному c домену (био / медицинский текст). Тем не менее, для этой настройки вам понадобится довольно большой корпус, чтобы помочь модели BERT лучше обновлять свои параметры.

  2. Использование предварительно обученной языковой модели, которая предварительно обучена на большом количестве специфика домена c текста либо с нуля, либо с тонкой настройкой на ванильной модели BERT. Как вы, возможно, знаете, ванильная модель BERT, выпущенная Google, прошла обучение по тексту из Википедии. После ванильного BERT исследователи попытались обучить архитектуре BERT в других областях, кроме Википедии. Возможно, вы сможете использовать эти предварительно обученные модели, которые хорошо разбираются в предметно-специфическом c языке. Для вашего случая есть несколько моделей, таких как: BioBERT , BlueBERT и SciBERT .

Возможно ли это с обнимающим лицом?

Я не уверен, что разработчики обнимающего лица разработали надежный подход для предварительного обучения модели BERT на пользовательских корпусах, как утверждается, что их код все еще находится в разработке, но если Вы заинтересованы в выполнении этого шага, я предлагаю использовать код bert исследования Google, который был написан на Tensorflow и полностью устойчив (выпущен авторами BERT). В их файле readme и в разделе Pre-training with BERT был объявлен точный процесс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...