В нейронных сетях применяется так называемый эмбеддинг (от англ. embedding `вложение') -- установление соответствия между собственно лексемами и векторами вещественных чисел. Близкие по употреблению единицы имеют схожее векторное представление, что позволяет нейросети предсказывать их поведение в высказывании и свойства, даже если одна из этих единиц еще не встречалась в данной конкретной речевой цепочке [Jurafsky, Martin 2020: 143].
Искусственная нейронная сеть не может работать с текстами напрямую, она может обрабатывать только числа. Искусственный нейрон принимает на вход набор вещественных чисел, поэтому данные перед обработкой нейросетью должны быть переведены в числовой вид.
Нейросетевая модель BERT и ее дообучение
Для проведения морфологической разметки корпуса СКАТ мы использовали нейросетевую языковую модель BERT (англ. Bidirectional Encoder Representations from Transformers), обученную на русскоязычном корпусе и перенастроенную для разметки древнерусских текстов Авторы благодарят Даниила Гаврилова за предложение использовать этот подход.. Технология перенастройки модели описана в работе [Kuratov, Arkhipov 2019].
Тип моделей BERT появился в 2018 г. Это двунаправленная языковая модель, которую можно дообучить для большинства известных задач обработки естественного языка, таких как машинный перевод, морфологическая разметка, извлечение именованных сущностей и др.
Модель BERT обучается на задаче предсказания слова по контексту. Первые модели, учитывающие контекст, были однонаправленными, то есть могли работать, ориентируясь только на левую часть контекста. Однако чтобы повысить точность предсказания, необходимо было учитывать также и слова, стоящие справа. Для решения этой проблемы были предложены двунаправленные нейросети -- по сути, ансамбль из двух сетей, работающих в противоположных направлениях (одна -- с учетом левого контекста, вторая -- правого) и приводящих свои решения к общему результату. Разработчики BERT придумали более эффективное и изящное решение: применили механизм внимания, позволяющий смотреть сразу по обе стороны искомого токена. Сам токен при этом заменяется маской, из-за чего языковая модель, на которой обучается алгоритм, получила название «маскированной». Еще одним свойством механизма внимания является умение увеличивать или уменьшать вес слов в контексте. Вес отвечает за значимость слова: чем сильнее оно влияет на решение модели, тем больше он должен быть.
BERT использует bite pair encoding (BPE) -- передовой метод токенизации, при котором текст разбивается не на слова, а на части слов (подтокены), которые и хранятся в словарях, при этом неначальные элементы помечаются специальным символом ( ). Сегментация производится исключительно статистическими методами и не соотносится с морфемным составом слова. Еще одним новшеством в устройстве BERT является способ предобучения. Все эти особенности выделяют модель BERT на фоне других систем и делают ее весьма полезной для нашей задачи.
Стандартная предобученная версия BERT довольно громоздкая: весит больше 600 Мбайт, обрабатывает предложение около 120 мс на CPU. Для тестирования нашего подхода, особенно если учесть небольшой размер имеющегося корпуса текстов, таких мощностей не требуется. В связи с этим было принято решение использовать дистиллированную версию модели: RuBERT-tiny2. В ее основе лежит классическая основа BERT (bert-multilingual), параметры которой были уменьшены: словарь сокращен до 83 тыс. токенов, размер эмбеддинга -- в два раза, число слоев -- с 12 до 3. Веса инициализированы случайным образом. Данные для обучающей выборки (2,5 млн коротких текстов) были взяты из параллельных русско-английских корпусов -- от «Яндекс.Переводчика», OPUS-100 и Tatoeba. По оценкам разработчика, модель демонстрирует скорость предсказания одного токена 6 мс и весит всего 45 Мбайт.
Существующие модели BERT можно дообучать, чтобы использовать их для решения других задач. Дообучение, также известное как файнтьюнинг (от англ. fine tuning `тонкая настройка'), основано на предпосылке, что знания, полученные при решении общих заданий, помогают модели справиться с узконаправленными задачами. Суть этого метода состоит в том, что в уже обученную модель добавляется новый слой нейронов. Его веса задаются произвольно, и модель корректирует их, опираясь на параметры остальных слоев. За корректировку весов в модели отвечает функция потерь: это функция, которая сравнивает полученный результат предсказания с ожидаемым и вычисляет ошибку. В процессе дообучения модель старается подбирать веса так, чтобы ошибка была как можно меньше. После дообучения модель можно проверять в действии и оценить ее работу с помощью существующих метрик оценки качества.
Модификация модели и результаты
Чтобы модель BERT смогла работать с текстами на древнерусском языке, ее необходимо было модифицировать. В ее первом слое содержится «словарь» -- индексы и соответствующие им токены. В задачах, связанных с автоматической обработкой языка, кодирование является важнейшим этапом, так как компьютер работает с числовыми векторами, а не со словами естественного языка.
Поскольку индексов для древнерусских слов в оригинальном BERT не предусмотрено, необходимо было произвести кодировку самостоятельно и заменить исходный словарь новым. Важным условием было соблюдение размерности: количество токенов в новом слое должно было быть не больше, чем в старом (в противном случае сети не хватило бы нейронов для их обработки).
Предобучение токенизатора проводилось на неразмеченной части корпуса СКАТ. Далее была проведена настройка на задачу частеречной разметки с помощью размеченного подкорпуса из трех житий: Димитрия Прилуцкого, Дионисия Глушицкого и Кирилла Новоезерского. Общий объем размеченного корпуса -- 35 603 токена, 2885 предложений. Было проведено предварительное разбиение корпуса на обучающую и тестовую выборки в соотношении 0,85:0,15. Модель дообучалась на задачу классификации токенов по стандартной процедуре, описанной в работе [Akbik et al. 2018].
Модели были обучены классифицировать токены в соответствии со следующим набором тегов: «COLON», «COMMA», «DOT», «SEMICOLON», «гл», «инф», «межд», «мест», «нар», «посл», «пред», «прил», «прич», «союз», «сущ», «част», «числ».
В качестве исходной модели была выбрана модель bi-LSTM со следующими параметрами: Window size 2 LSTM state size 200 Optimiser Adagrad Initial learning rate 0.05 Decay rate 0.05 Dropout rate 0.5
Кроме того, были обучены модели RuBERT-tiny2 и RuBERT.
Были выбраны следующие гиперпараметры дообучения:
learning_rate=3e-5,
num_train_epochs=100,
weight_decay=0.01,
Размер батча был установлен на отметке 64 текстов для всех экспериментов. Для оценки качества работы модели использовались стандартные метрики F1 (среднее гармоническое точности и полноты) и Accuracy (количество верно классифицированных объектов относительно общего количества всех объектов). На первых двух эпохах обучения показатели были низкими, поскольку вначале модель использовала существующие у нее веса для текстов на русском языке; однако затем она перестроилась, качество предсказания стало расти. Результаты экспериментов приведены в таблице.
Таблица 1
|
Название модели |
F1 |
Accuracy |
|
|
bi-LSTM |
0,72 |
0,81 |
|
|
RuBERT-tiny2 |
0,80 |
0,87 |
|
|
RuBERT |
0,81 |
0,88 |
Ручная проверка результатов
С помощью полученной модели была произведена разметка нового файла -- «Жития Александра Свирского». Результат разметки был проанализирован вручную. Для этого из текста случайным образом были выбраны 100 предложений. В целом модель показала достаточно хорошие результаты. Приведем пример предложения, не имеющего ошибок в морфологической разметке: сты млтвою во|орХжлше. прил част сущ гл DOT
Однако существует определенное количество контекстов, в которых распознавание морфологической категории части словоформ оказалось для модели затруднительным. Ниже рассмотрим некоторые распространенные случаи.
Ошибки, объяснимые линейным положением
В некоторых случаях словоформа, находящаяся между двумя элементами одинаковой категориальной принадлежности, ошибочно получает ту же морфологическую помету, что и эти два элемента. Так, в примерах (3) и (4) частица же, находящаяся между двумя местоимениями, определена как местоимение.
(1) сс| все БЫ дл з'бХдєіітса бго“ речеиое.
мест мест мест гл част гл сущ прич DOT
(2) ...и ты ми реклъ еси... союз мест мест мест гл гл
Однако возникает подозрение, что модель вообще оказывается склонной к постановке как минимум двух одинаковых категориальных помет подряд, даже если одна из них не соответствует действительности. Скажем, в примере (5) существительное имя перед двумя прилагательными святыя и живоначальныя опознано также как прилагательное, в примере (6) возвратное местоимение си после глагола сокрушаеши помечено как глагол.
(3) ВЪ НМД стыл| ЖИВОИЛЧЛИЫ трцл. пред прил прил прил сущ DOT
(4) По|ч'то тл сокрХ|шлеши" ТГЛО... нар нар гл гл сущ...
В примере (7) аорист с имперфектным значением бп> перед существительным недугомъ ошибочно определен как существительное, а частица же в примере (8), следующая за наречием, указана моделью как наречие.
(5) ^ер'жимл БТ иедХгом'ь веїлїимг... прич сущ сущ прил...
(6) ...и послт вст| ис^ожлше. союз нар нар мест гл DOT
Наконец, в примере (9) частица же, следующая за двумя наречиями, также названа наречием.
(7) и тлко пл|ки послт в'ст из црквї ис^о|жлше. союз нар нар нар нар мест мест сущ гл DOT
Ошибки, объяснимые сходством
Смешение финитного глагола и существительного. Неоднократно в выбранных предложениях повторяется смешение финитной глагольной формы с именем существительным.
(8) ^ер'жимл БТ иедХгомг веїлїимг ил ы'ио времд. прич сущ сущ прил пред прил сущ DOT
(9) га.ко| ЄДИИ0мХ^0ТДфХ| БЄМ0СТВ0ВЛТИ... союз числ прич сущ
При этом возможно отождествление не только глагола с существительным, но и именной части речи (местоимения или существительного) с глаголом.
(10) га. м'чТІтй ей... ськрХ|шитй. союз сущ гл... инф DOT
(11) ирлвеий во ре гако фиий процвт|те. гл союз гл союз сущ гл DOT
(12) no и влиж'ии|мг сХсТдо й| глти. союз союз прил гл мест инф DOT
Возможно, впрочем, такое отождествление обязано своим появлением определенному сходству конечных элементов некоторых существительных с отдельными показателями глагольного словоизменения, как в примере (15), где слово ризу можно, не принимая во внимание контекст и его значение, счесть формой первого лица единственного числа настоящего времени (как еезу).
(13) ийч'то в'зё| рлз'вт потре|в'иХкі ризХ. мест гл сущ прил гл DOT
Смешение прилагательного с другими частями речи
Словоизменительные элементы кратких форм имени прилагательного зачастую совпадают со словоизменительными или словообразовательными средствами других частей речи. Поэтому прилагательное иногда опознается моделью как наречие или существительное:
(14) пожи же| мало в'ремд в до|врТ исповтдлши. прич част нар сущ пред сущ сущ DOT
Случаи смешения прилагательного с существительным весьма многообразны:
(15) Пришёши| NTKAA МЄВИДИ|мАА БЇЛ СИЛА. гл мест прич сущ сущ DOT
(16) коиечиеі исцелеиїе полХчи.
. сущ сущ прич DOT
(17) и и м'иогл испо|вТдл d пресллв'йе мХжи се. союз союз сущ гл пред прил сущ мест DOT
При этом иногда прилагательное может стоять и в полной форме:
(18) блвитг гла dtfu чтиїи. гл гл прич сущ сущ DOT
Видимо, по той же причине -- из-за фонетической близости конечных элементов словоформ -- наречия, как и прилагательные, могут время от времени опознаваться как существительные:
(19) И ефе и въ пеклр'ик>| ЧАСТО ^ожлше.
союз нар част союз пред сущ сущ гл DOT
(20) И ГЛАДА СТМО И dBAMO... союз гл нар союз сущ...
Особенности разметки словоформ с элементом w в начальной позиции. Отдельную подгруппу составляют ошибки, связанные со словоформами, содержащими букву w (в формате plain text передается буквой w с последующим выносным элементом, заключенным в скобки).
Так, в примерах (23) и (24) существительное итець в графическом представлении и смешивается с предлогом w -- и наоборот. Поскольку обе словоформы в формате plain text различаются только содержимым скобок (титлом), их спорадическое смешение объяснимо.
(21) и и| м'иогы вХдеши| д^виы. союз пред прил гл прил DOT
(22) изыди| № г,емлд твое&| и № рожеиїл сво|его.
гл пред сущ мест союз сущ сущ мест DOT
Однако следует отметить, что и достаточно длинные словоформы, если они начинаются сочетанием «и + скобка» (титло), распознаются моделью как предлоги. Именно предлогами модель сочла аорист №до и причастие wrmnX в примерах (25) и (26).
(23) ...и №до в' до сво с миро.
... союз пред пред сущ мест пред сущ DOT
(24) ... №гилиХ бы|в'шХ иечтомХ| д^Х... пред прич прил сущ
Ошибки при разметке глагольных форм
Смешение причастий с другими глагольными формами. С финитным глаголом может смешиваться как пассивное (примеры (27)-(28)), так и активное (примеры (29)-(30)) причастие.
(25) и № все поиосими| вХде союз пред мест гл гл
(26) спислиоїроди|иноигХмеио гл сущ сущ
(27) и блгвит, бы № стго союз прил гл пред прил
(28) ...по|стиическыми стдиил оукрлси|всА.
.прил сущ гл DOT
Определение одной и той же грамматической формы иногда как причастия, иногда как глагола может встречаться в пределах одного предложения, как в примере (31):
(29) плче| стога. ИЛ МЛТВЛ^ЛІ И МОЛА бХ.
нар част прич пред сущ союз гл сущ DOT
Путаница причастий и прилагательных. Видимо, по причине морфологического сходства, а также из-за возможности перехода отдельных причастий в разряд отглагольных прилагательных модель время от времени смешивает эти категории.