Оглавление 2
Введение 3
Глава 1. Проблема создания параллельных корпусов для близкородственных языков 7
1.1 Определение параллельного корпуса 7
1.2 Автоматический сбор данных. Трудности при создании параллельных
корпусов 9
1.3 Библиотеки для классификации и работа в Colab 15
1.4 Использование нейронных сетей для классификации языков 19
1.5 Метрики оценки данных многоклассовой классификации 27
1.6 Выводы к главе 1 29
Глава 2. Экспериментальное исследование 31
2.1 Описание эксперимента 31
2.2 Описание данных 33
2.3 Эксперименты с библиотеками 37
2.3.1 Pycld2 38
2.3.2 LangID 39
2.3.3 FastText 41
2.3.4 Fasttext-Langdetect 43
2.3.5 Результаты 44
2.4 Эксперименты с нейронными сетями 45
2.4.1 CNN 47
2.4.2 LSTM 49
2.4.3 GRU 51
2.4.4 Результаты 53
2.5 Трансформер 54
2.6 Выводы к главе 2 59
Заключение 61
Список использованной литературы 63
Приложение 1 Слои архитектур CNN, LSTM, GRU 70
Приложение 2 Параметры для архитектуры TransformerTiny 74
С развитием технологий появляются новые методы работы с текстовыми данными. Точками соприкосновения лингвистики и компьютерных технологий являются, в частности, системы машинного перевода и LLM- ассистенты. Создание полностью автоматической системы перевода - задача, которую пытаются решить в течение столетия. Первые системы автоматизированного перевода были примитивными, основанные на правилах и статистике. Перевод - сложный процесс, который требует глубоких знаний на всех уровнях языка: фонетике, морфологии, синтаксисе и семантике. Так как это процесс двунаправленный, то и знания должны быть как исходных, так и целевых языков. В настоящий момент на замену устаревшим методам пришли нейронные сети, которые обладают более мощными алгоритмами и способностью к «обучению» [Калинин 2017]. На основе данных об исходном и целевом языках модели способны находить закономерности, что повышает их точность, а возможность настройки параметров помогает контролировать процесс обучения.
За последние годы, системы, основанные на правилах и статистике, активно заменяются на нейросетевые алгоритмы. Компании используют различные архитектуры для выполнения данных целей, начиная с простых CNN, заканчивая более продвинутыми архитектурами с механизмами внимания - трансформерами. Для полной автоматизации системы машинного перевода необходимо также автоматизировать классификацию вводимых языков, так как от этого будет зависеть весь процесс. Классификаторы, представленные для языков латинского алфавита, показывают высокую точность определения, но для языков кириллического алфавита такие алгоритмы демонстрируют низкую эффективность, а для отдельных языков и вовсе отсутствуют.
Актуальность работы связана с отсутствием высокоэффективных моделей для определения языков кириллического алфавита. Классификация языков - важный элемент не только в процессе перевода, но и в других лингвистических исследованиях. Данная работа рассматривает различные алгоритмы, как простые статистические, так и сложные, основанные на различных архитектурах нейронных сетей.
Новизна исследования заключается в представлении нового алгоритма классификации языков кириллического алфавита. В данном исследовании проведены эксперименты по выявлению наилучшего метода токенизации текстов для дальнейшего обучения модели, а также сравнение различных моделей в соответствии с точностью определения языков.
Гипотеза исследования заключается в том, что существующие библиотеки и классификаторы языков недостаточно обучены на языках кириллического алфавита, или не обучены вовсе. Точность определения можно повысить за счет использования новых подходов обработки данных и применения более сложных алгоритмов, например, нейронных сетей. Токенизация текстов - важный процесс предобработки данных, который может повлиять на работу алгоритмов и значительно улучшить их. Выбор архитектуры нейронной сети и способа обработки данных способствуют повышению качества работы классификатора.
Объектом исследования является процесс классификации лингвистических данных. Предметом исследования является процесс классификации языков кириллического алфавита. В данном исследовании рассматривается семь языков кириллического алфавита.
Цель исследования: разработать, обучить и внедрить нейросетевой классификатор для языков кириллического алфавита.
Задачи исследования:
1. Описать процесс сбора и подготовки лингвистических данных;
2. Описать основные характеристики параллельного корпуса языков;
3. Изучить существующие библиотеки для классификации языков;
4. Описать архитектуры нейросетей, используемых для обработки текстовых данных;
5. Подготовить наборы эталонных и сырых данных для проведения экспериментов;
6. Выбрать метрики оценки данных;
7. Провести эксперименты;
8. Описать результаты исследования.
...
Проблема автоматизированного распознавания языка требует тщательной работы на каждом этапе процесса. Необходимо собрать большой объем данных, а также провести их обработку. Методы, основанные на простых алгоритмах, могут стать помощником для человека, например, в Cat- системах. Однако если речь идет о полной автоматизации процесса перевода и использования языковых моделей для иных целей, например в качестве помощников, то от точности определения языка будут зависеть результаты всего процесса.
В настоящий момент тяжело представить жизнь без использования алгоритмов глубинного обучения. Поэтому применение таких алгоритмов для решения сложных лингвистических задач является целесообразным.
В данной работе был описан процесс создания классификатора языков кириллического алфавита. Лингвистическая часть исследования включала в себя сбор и обработку корпусов текстов, техническая часть заключалась в проведении экспериментов как с существующими алгоритмами для классификации языков, так и создание новых, основанных на нейронных сетях. В зависимости от алгоритма обработка данных могла включать в себя посимвольную, BPE или SentencePiece токенизацию, а также деление данных на тренировочные, оценочные и тестовые. Целью исследования являлось выявление алгоритма, который наиболее точно может классифицировать языки кириллического алфавита. Для выполнения этой цели было отобрано 4 библиотеки на языке Python, три архитектуры нейросети и одна архитектура трансформер.
Для достижения поставленной цели нами были описаны лингвистические данные, необходимые для обучения моделей, а также способы их обработки. Нами были рассмотрены существующие библиотеки классификации языков, а также предложены модели, базирующиеся на сложных нейросетевых алгоритмах.
По результатам исследования, наиболее высокие результаты были получены в парах «нейронная сеть и BPE токенизация». Лучшей моделью оказалась TransformerTiny.
Результаты проведенного исследования способствуют улучшению существующих языковых моделей. Обученные модели могут быть полезны как в системах машинного перевода, так и в современных LLM моделях. Перспективным направлением исследования будет являться продолжение сбора данных и обучения модели для таких языков, как: киргизский, македонский, монгольский, а также малочисленных языков и диалектов.
Для практического применения результатов исследования предлагается опубликовать на открытых платформах обученные модели: LSTM, и TransformerTiny.
1. Амиева А. М., Филимонов В. В., Сергеев А. П. и др. Инструменты корпусной лингвистики // 2-я Международная конференция студентов, аспирантов и молодых ученых «Информационные технологии, телекоммуникации и системы управления» : сборник докладов. 2016. С. 251-260.
2. Андросова Е. Е. Применение рекурсивных рекуррентных нейронных сетей // Новые информационные технологии в автоматизированных системах. 2016. №19. С. 107-114.
3. Большакова Е. И., Воронцов К. В., Ефремова Н. Э. и др. Автоматическая обработка текстов на естественном языке и анализ данных : учеб. пособие // Большакова Е. И., Воронцов К. В., Ефремова Н. Э., Клышинский Э. С., Лукашевич Н. В., Сапин А. С. — М.: Изд-во НИУ ВШЭ, 2017. 269 с.
4. Бронников Д. А. Об эффективности использования Байесовского классификатора в задаче идентификации языка текста по биграммам // ОмГТУ 2016. №1. URL: https://cyberleninka.ru/article/n/ob-effektivnosti- ispolzovaniya-bayesovskogo-klassifikatora-v-zadache-identifikatsii-yazyka- teksta-po-bigrammam (дата обращения: 24.05.2024).
5. Гафаров Ф. М., Галимянов А. Ф. Искусственные нейронные сети и их приложения: учебное пособие // Казань: Изд-во Казан. ун-та. 2018. 121 с.
6. Гречачин В.А. К вопросу о токенизации текста // МНИЖ. 2016. №6 (48). С. 25-27.
7. Гукасян Ц. Г. Векторные модели на основе символьных н-грамм для морфологического анализа текстов // Труды исп. РАН. 2020. №2. С. 7-13.
8. Гусев П. Ю. Обработка текстов и подготовка моделей векторизации для программного комплекса классификации научных текстов. Моделирование, оптимизация и информационные технологии.
2021. 9(1). URL: https://moitvivt.ru/ru/journal/pdf?id=912 (дата
обращения: 24.05.2024).
9. Дудченко, П. В. Метрики оценки классификаторов в задачах медицинской диагностики // Томск: Изд-во ТПУ, 2019. С. 164-165.
10.Захаров В. П., Богданова С. Ю. Корпусная лингвистика: учебник для студентов гуманитарных вузов // Иркутск: ИГЛУ, 2011. 236 с.
11.Зубов А. В., Зубова И. И. Информационные технологии в лингвистике // М.: Академия, 2004. 208 с.
12. Иншакова Е. С., Иомдин Л. Л., Митюшин Л. Г. и др. СинТагРус сегодня // Труды Института русского языка им. В. В. Виноградова. 2019. №21. С. 14-40. URL: http://ruslang.ru/doc/trudy/vol21/1-inshakova.pdf (дата обращения: 20.03.2024).
13. Йылдырым C., Асгари-Ченаглу М. Осваиваем архитектуру Transformer. Разработка современных моделей с помощью передовых методов обработки естественного языка // пер. с анг. В. С. Яценкова. М.: ДМК Пресс, 2022. 318 с.
14. Калинин С.М. Актуальные подходы к улучшению точности нейронного машинного перевода // Вестник БГУ. 2017. №1 (31). URL: https://cyberleninka.ru/article/n/aktualnye-podhody-k-uluchsheniyu- tochnosti-neyronnogo-mashinnogo-perevoda (дата обращения: 23.05.2024).
15. Ковалых Е. В. К вопросу о создании корпуса текстов Псковской деловой письменности // Вестник Псковского государственного университета. Серия: Социально-гуманитарные науки. 2011. №15. C. 70-72.
... всего 61 источник