Открытые словарные представления символов на уровне слов

Что такое CharacterBERT и чем он отличается от BERT?

CharacterBERT - это вариант BERT, который пытается вернуться к более простым временам, когда модели производили одиночные вложения для отдельных слов (или, скорее, токенов). На практике единственная разница заключается в том, что вместо использования WordPieces, CharacterBERT использует модуль CharacterCNN точно так же, как тот, который использовался в ELMo [1].

На следующем рисунке показана внутренняя механика CharacterCNN и сравнивается ее с исходной системой WordPiece в BERT.

Представим, что слово «Apple» - неизвестное слово (т.е. оно не встречается в словаре WordPiece BERT), затем BERT разбивает его на известные WordPieces: [Ap] и [## ple], где ## используются для обозначения WordPieces, которые не находятся в начале слова. Затем каждая единица подслова встраивается с помощью матрицы встраивания WordPiece, что дает два выходных вектора.

С другой стороны, CharacterBERT не имеет словаря WordPiece и может обрабатывать любой * входной токен, если он не является необоснованно длинным (т.е. менее 50 символов). Вместо того, чтобы разделять «Apple», CharacterBERT читает его как последовательность символов: [A], [p], [p], [l], [e] ». Затем каждый символ представляется с помощью матрицы встраивания символов, в результате чего получается последовательность встраивания символов. Затем эта последовательность передается в несколько CNN, каждая из которых отвечает за сканирование последовательности из n символов за раз, с n = [1..7]. Все выходные данные CNN объединяются в один вектор, который затем проецируется вниз до желаемого измерения с помощью слоев шоссе [3]. Эта последняя проекция является контекстно-независимым представлением слова «Apple», которое будет объединено с встраиваемыми позициями и сегментами перед подачей на несколько слоев преобразователя, как в BERT.

Почему CharacterBERT вместо BERT?

CharacterBERT действует почти как замена BERT,

  • Производит однократное встраивание для любого входного токена
  • Не полагается на словарный запас WordPiece

Первый пункт явно желателен, так как работа с одиночными встраиваниями гораздо удобнее, чем наличие переменного числа векторов WordPiece для каждого токена. Что касается второго пункта, он особенно актуален при работе в специализированных областях (например, в области медицины, юридической области и т. Д.). Фактически, обычная практика при создании специализированных версий BERT (например, BioBERT [4], BlueBERT [5] и некоторых SciBERT [6] models) заключается в переобучении исходной модели на наборе специализированных текстов. В результате большинство специализированных моделей SOTA сохраняют исходный словарный запас общей предметной области WordPiece, который не подходит для специализированных предметных приложений.

В таблице ниже показана разница между исходным словарем общей предметной области и медицинским словарем WordPiece, созданным на основе медицинских корпусов: MIMIC [7] и PMC OA [ 8].

Мы ясно видим, что словарь BERT не подходит для специализированных терминов (например, «холедохолитиаз» делится на [cho, led, och, oli, thi, asi, s]). Медицинское слово работает лучше, однако у него есть свои ограничения (например, «бормочить» на [бор, бор, иг, ми]).

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

Как CharacterBERT тестируется против BERT?

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

Примечание: здесь мы сосредоточены на английском языке и медицинской сфере.

Чтобы быть максимально справедливым, и BERT, и CharacterBERT предварительно обучаются с нуля в одинаковых условиях. Затем каждая предварительно обученная модель оценивается по нескольким медицинским задачам. Возьмем пример.

i2b2 / VA 2010 [9] - это соревнование, состоящее из нескольких задач, включая задачу Определение клинической концепции, которая использовалась для оценки наших моделей. Цель состоит в том, чтобы выявить три типа клинических концепций: Проблема, Лечение и Тест. Пример приведен в крайней левой части рисунка выше.

Как обычно, мы оцениваем наши модели путем первого обучения на обучающей выборке. На каждой итерации модель тестируется на отдельном наборе для проверки, что позволяет нам сохранить лучшую итерацию. Наконец, после прохождения всех итераций оценка (здесь строгая оценка F1) вычисляется на тестовом наборе с использованием модели из лучшей итерации. Вся эта процедура затем повторяется еще 9 раз с использованием различных случайных начальных значений, что позволяет нам учесть некоторые отклонения и сообщить окончательные характеристики модели в виде: среднего ± стандартное отклонение.

Примечание: более подробная информация представлена ​​в статье [2].

Каковы результаты?

В большинстве случаев CharacterBERT превосходил своего коллегу BERT.

Примечание. Единственным исключением является задача ClinicalSTS, в которой медицинский CharacterBERT получил (в среднем) более низкий балл, чем версия BERT. Это может быть связано с небольшим набором данных задачи (1000 примеров по сравнению с 30 000 в среднем для других задач) и требует изучения.

Бонус: устойчивость к шуму

Помимо чистой производительности, еще один интересный аспект - устойчивы ли модели к шумным входам. Фактически, мы оценивали BERT и CharacterBERT на шумных версиях задачи MedNLI [10], где (проще говоря) цель состоит в том, чтобы определить, противоречат ли два медицинских предложения друг с другом. Здесь уровень шума X% означает, что каждый символ в тексте заменен или переставлен с вероятностью X%. Результаты показаны на рисунке ниже.

Как видите, медицинская модель CharacterBERT кажется более надежной, чем медицинская BERT: начальный разрыв между двумя моделями с точностью ~ 1% увеличивается до ~ 3%, когда добавление шума ко всем разделениям и ~ 5%, когда модели удивляют шумом только в тестовом наборе.

А как насчет недостатков CharacterBERT?

Основным недостатком CharacterBERT является его более низкая скорость перед обучением .
Это связано с:

  1. модуль CharacterCNN, который обучается медленнее;
  2. но главным образом потому, что модель работает на уровне токена:
    она обновляет большой словарь токенов на каждой итерации перед обучением.

/! \: однако CharacterBERT во время логического вывода работает так же быстро, как и BERT (на самом деле, он даже немного быстрее), и доступны предварительно обученные модели, так что вы можно вообще пропустить этап подготовки к тренировке 😊!

Заключение

В общем, CharacterBERT - это простой вариант BERT, который заменяет систему WordPiece на CharacterCNN (как и ELMo). Результаты оценки множества медицинских задач показывают, что это изменение является полезным: улучшенная производительность и повышенная устойчивость к орфографическим ошибкам. Надеюсь, эта модель послужит стимулом для проведения дополнительных исследований языковых моделей, основанных на преобразователе открытого словаря на уровне слов: применение той же идеи к ALBERT [11], ERNIE [12]

Исходный документ:
https://arxiv.org/abs/2010.10392

Код и предварительно обученные модели:
https://github.com/helboukkouri/character-bert

Ссылки:
[1] Peters, Matthew E., et al. « Глубокие контекстные представления слов .
препринт arXiv arXiv: 1802.05365
(2018).
[2]
Эль Буккури, Хичам и др. « CharacterBERT: согласование ELMo и BERT для представлений открытого словаря на уровне слов на основе символов »
препринт arXiv arXiv: 2010.10392 (2020).
[3]
Шривастава, Рупеш Кумар, Клаус Грефф и Юрген Шмидхубер. « Магистральные сети » препринт arXiv arXiv: 1505.00387 (2015).
[4] Ли, Джинхёк и др. . BioBERT: предварительно обученная модель представления биомедицинского языка для биомедицинского анализа текста. Биоинформатика 36.4 (2020): 1234–1240.
[5] Пэн, Ифань, Шанкай Янь и Чжиюн Лу. « Трансферное обучение в биомедицинской обработке естественного языка: оценка Bert и Elmo на десяти тестовых наборах данных . препринт arXiv arXiv: 1906.05474 (2019).
[ 6] Бельтаги, Из, Кайл Ло и Арман Коэн. SciBERT: предварительно обученная языковая модель для научного текста. препринт arXiv arXiv: 1903.10676 (2019).
[7] Джонсон, Алистер и др. Клиническая база данных MIMIC-III (версия 1.4). PhysioNet (2016), https://doi.org/10.13026/C2XW26.
[8] Корпус PMC OA : Https://www.ncbi.nlm.nih.gov/pmc/tools/openftlist/
[9] Узунер, Озлем и др. . « 2010 i2b2 / VA: проблема концепций, утверждений и отношений в клиническом тексте . Журнал Американской ассоциации медицинской информатики 18.5 (2011): 552–556.
[10] Шиваде, Чайтанья. MedNLI - набор данных вывода на естественном языке для клинической области (версия 1.0.0). PhysioNet (2019), https://doi.org/10.13026/C2RS98.
[11] Лань, Чжэньчжун , и другие. « АЛЬБЕРТ: облегченный BERT для самостоятельного изучения языковых представлений » препринт arXiv arXiv: 1909.11942 (2019).
[12] Сунь Ю. и др. « ERNIE 2.0: система непрерывного предварительного обучения для понимания языка » AAAI. 2020.

Работу сделали: Хишам Эль Буккури, Оливье Ферре, Томас Лаверн, Хироши Ноджи, Пьер Цвейгенбаум и Юничи Цуджи.