В статье анализируется уровень обеспеченности средствами машинной обработки русского языка.
Ключевые слова: NLP, русский язык, английский язык, машинное обучение.
В настоящее время наблюдается всё более широкое применение технологий машинной обработки естественного языка (natural language processing — NLP). Широкое распространение получили машинный перевод, распознавание и синтез текста (чат-боты) и речи (голосовые ассистенты). Крупными шагами в достижении современного уровня обработки текста и речи стали методы получения векторных представлений слов на основе обучения (Word2vec, FastText и т. д.), появление рекуррентных моделей (RNN, LSTM, GRU), появление механизм внимания Богданова (Bahdanau Attention Mechanism [1]) и, наконец, появление архитектуры трансформер [2] с применением механизма многопоточного самовнимания (multi‑head self‑attention) и большого количества производных моделей на её основе (BART, BERT, GPT, T5 и тд.). Для разработки и применения технологий на основе машинного обучения (при обучении с учителем) решающее значение имеет доступность и качество обучающих датасетов и бенчмарков (SuperGLUE, XTREME, XGLUE, SQuAD и т. д.). В настоящее время это направление исследований в мире динамично развивается. Появление массового конечного продукта обусловлено финансированием исследований со стороны крупных корпораций, большей доступностью вычислительных мощностей, большому вкладу со стороны open-source сообщества.
Одним из факторов, существенно влияющих на применение и доступность современных достижений в области NLP, является многообразие и неоднородность распространения естественных языков. Человечество в своём развитии группировалось под воздействием территориальных, этнических и иных факторов. Доступность различных ресурсов и скорость развития разных сообществ крайне неоднородна. Это обусловило формирование различных языков, которые порой кардинально отличаются по своей форме, семантике, словарному запасу. Неоднородность в цивилизационном развитии обусловила неоднородность распространения различных языков и языковых групп. Количество носителей языка прямо влияет на доступность материалов на каждом языке в том числе на степень доступности материалов в оцифрованном виде.
Такой фактор как качество поддержки различных языков современными средствами NLP в условиях неоднородности распространения и разной степени доступности материалов на разных языках требует дополнительного изучения. Ряд задач, например, выделение именованных сущностей (NER) весьма специфичны для каждой культурной, а следственно и языковой среды и даже для конкретного вида деятельности (юриспруденция, медицина, профессиональная терминология). Также, следствием различий в доступности источников на различных языках становится и различная степень и глубина поддержки средствами на основе машинного обучения.
Общее теоретическое значение имеет также анализ переносимости методов NLP между языками, относящимися к разным языковым группам. Английский язык — язык англо-фризской подгруппы германской группы. Русский язык относится к восточнославянской группе. Английский язык — аналитический, русский — синтетический.
Морфологический анализ, выделение именованных сущностей
Большое различие между морфологическим анализом слов русского и английского языка заключается в том, что это языки разных типологических классов: русский язык синтетический, а английский аналитический. В английском языке грамматические отношения передаются через служебные части речи и порядок слов, в нём мало флексий, а в русском наоборот грамматические отношения выражаются в пределах самого слова (флексии или агглютинация). Таким образом выполнение стемминга (нахождение основы слова) и лемматизации (приведение к нормальной словарной форме) у этих зыков сильно отличаются.
Для морфологического анализа, лемматизации и выделения именованных сущностей на русском языке доступен целый ряд пакетов, однако большая их часть доступна только по коммерческой лицензии. Примерами наиболее востребованных пакетов доступных по свободным лицензиям являются:
– pymorphy2 морфологический анализ, лемматизация, склонение слов Использует словарь OpenCorpora. Лицнзия: MIT
– mystem (Яндекс) морфологический анализатор. Разработчик: Илья Сегалович
– Томита-парсер (Яндекс) извлечение структурированных данных из текста. Извлечение при помощи контекстно-свободных грамматик и словарей ключевых слов. Лицнзия: MPL 2.
– Проект Natasha (Лицензия MIT):
1) библиотека Natasha сегментация, морфологический и синтаксический анализ, лемматизация, извлечение именованных сущностей
2) Yargy парсер взначительной степени вытеснил Томита-парсер
3) Razdel для выделения токенов и предложений на русском языке (более быстрая скорость работы и меньшее количество ошибок по сравнению со SpaCy и NLTK)
4) Slovnet ряд BERT моделей на основе архитектуры трансформер для задач выделения именованных сущностей
– iPavlov — DeepPavlov очень большой пакет включающий, в том числе, средства для морфологического и синтаксического анализа, выделения именованных сущностей. Содержит большое количество моделей в том числе на архитектуре трансформер. Образует среду для разработки и отладки и релиза в качестве сервиса диалоговых ассистентов. DeepPavlov создается и поддерживается Лабораторией нейронных сетей и глубокого обучения МФТИ [3]. Лицензия: Apache 2
Получение векторных представлений на основе обучения
Большое влияние на качество при использовании многих методов NLP имеет способ получения векторных представлений слов. В настоящее время широко используются векторно-семантические модели, формируемые на основе алгоритмов обучения. Для английского языка наиболее известными являются: Word2vec и FastText. Для русского языка наиболее известными являются: RusVectores и Navec.
– RusVectōrēs — набор семантических моделей для русского языка. Для обучения использовались: Национальный корпус русского языка и дамп русского сегмента Википедии;
– Navec семантические модели из состава проекта Natasha.
Разработчики проекта Natasha провели сравнительное тестирование моделей RusVectores и Navec [4] (результат в таблице 1 [4]).
Таблица 1
Качество |
Размер модели, МБ |
Размер словаря, ×10 3 |
|
Navec |
0.719 |
50.6 |
500 |
RusVectores |
0.638–0.726 |
220.6–290.7 |
189–249 |
Датасеты
Значительное улучшение показателей качества и эффективности при выполнении задач NLP обеспечено применением моделей языка, построенных на архитектуре трансформер. Современные модели на архитектуре трансформер основаны на принципе машинного обучения — обучение с учителем. При использовании принципа обучения с учителем получение положительного результата невозможно без достаточного объёма качественных (нормализованных, очищенных и размеченных) данных. В настоящее время доступно несколько достаточных по объёму корпусов текста на русском языке. Удобной «точкой доступа» является агрегатор ссылок на корпуса русского текста и датасеты для обучения моделей выделения именованных сущностей это Corus [5] из состава проект Natasha. В настоящее время через Corus доступно более 30 корпусов и датасетов в том числе: OpenCorpora (открытый корпус), Omnia Russica (TaigaCommon Crawl, Wikipedia и Aranea), дамп русского сегмента Википедии. На сайте ruscorpora.ru доступен Национальный корпус русского языка.
Определено наличие средств машинной обработки для русского языка в категориях:
– средства морфологической обработки;
– средства выделения именованных сущностей;
– средства получения векторно-семантических моделей;
– корпуса текстов на русском языке (в форме для машинной обработки) и русскоязычные размеченные датасеты.
Перечисленные средства создают базу для решения задач машинной обработки русского языка. Однако, значительная часть современных задач NLP решается с применением моделей языка на базе архитектуры трансформер. Необходимо дополнительно исследовать наличие и доступность таких моделей для русского языка.
Литература:
- Dzmitry, Bahdanau Neural Machine Translation by Jointly Learning to Align and Translate / Bahdanau Dzmitry. — Текст: электронный // arXiv: [сайт]. — URL: https://arxiv.org/pdf/1409.0473.pdf (дата обращения: 28.01.2022).
- Attention Is All You Need / Vaswani Ashish. — Текст: электронный // arXiv: [сайт]. — URL: https://arxiv.org/pdf/1706.03762.pdf (дата обращения: 28.01.2022).
- DEEPPAVLOV. — Текст: электронный // deeppavlov.ai: [сайт]. — URL: https://deeppavlov.ai/ (дата обращения: 28.01.2022).
- Александр, Кукушкин Navec — компактные эмбеддинги для русского языка / Кукушкин Александр. — Текст: электронный // natasha.github.io: [сайт]. — URL: https://natasha.github.io/navec/ (дата обращения: 28.01.2022).
- natasha / corus. — Текст: электронный // github.com/natasha: [сайт]. — URL: https://github.com/natasha/corus (дата обращения: 28.01.2022).