Введение 2
1. Анализ предметной области 4
1.1 Изучение предметной области машинного обучения и метода опорных
векторов 4
1.2 Анализ существующих подходов к автоматическому исправлению 8
2. Концептуальные основы машинного обучения методом опорных векторов 14
2.1 Линейный классификатор 14
2.2 Формальное описание метода 16
3. Экспериментальная реализация алгоритма 29
3.1 Технологии для реализации метода опорных векторов 29
3.2 Обучающее и тестовое множества 31
3.3 Этап машинного обучения 32
4. Тестирование по результатам обучения 35
4.1 Экспериментальная оценка результатов обучения 35
4.2 Целевой оценочный тест реализации алгоритма 36
Заключение 38
Список использованных источников
Речь является важным показателем культуры и мышления человека. Она представляет собой способ передачи информации путем коммуникации, а также возможность познания окружающего мира. В речи, как и в других видах человеческой деятельности, встречаются разного рода ошибки. Они появляются как в письменной, так и в устной речи. Из-за речевых ошибок в определённых случаях может исказиться смысл сказанного. С ростом объема информации растет и количество ошибок. Нахождение их вручную и редактирование занимает много времени и приводит к снижению эффективности совершаемых действий. Поэтому автоматизация данного процесса является достаточно актуальной задачей.
На сегодняшний день существует немало инструментов для проверки текста, такие как Grammarly [12], LanguageTool [16], Орфограммка [1]. Данные инструменты хорошо справляются с несловесными ошибками — ошибки в слове, ведущие к образованию несуществующих слов, либо слов, отсутствующих в базе данных. Такие ошибки легко обнаружить, однако их исправление не является тривиальной задачей. Сложнее справляться с ошибками в реальных словах, приводящих к их неправильному использованию в предложении. Большинство таких ошибок провоцируют синтаксические несоответствия в предложениях, поэтому могут быть надежно обнаружены средствами проверки грамматики [1, 12, 16]. Таким образом, исправление является более сложной задачей, чем обнаружение, как для ошибок в реальных словах, так и для несловарных ошибок.
Для решения описанной проблемы были рассмотрены два основных подхода для исправления ошибок в тексте. Первый — метод, основанный на правилах, где входной текст проверяется на соответствие определенному набору правил, которые вручную разрабатываются лингвистами [9]. Главным недостатком данного подходя является трудоёмкость процедуры составления правил. Второй метод — применение машинного обучения. В отличие от метода, основанных на правилах, здесь не требуются глубокие знания грамматики, поскольку зависят только от основного корпуса. Учитывая недостатки подхода, основанных на правилах, и факта, что коррекция ошибок методами машинного обучения еще недостаточно развита в существующем программном обеспечении, возникла идея применить данный подход для коррекции ошибок в текстах. В качестве инструмента для исправления была выбрана машина опорных векторов — мощная и универсальная модель машинного обучения, использующаяся в задачах линейной или нелинейной классификаций, задач регрессии.
Таким образом, предметом исследования данной работы являются грамматические ошибки и их исправление в тексте. Можно сформулировать цель работы как разработку модели, основанной на методе опорных векторов, предназначенной для решения задачи автоматического поиска и исправления грамматических ошибок. Работа имеет следующую структуру:
1. Анализ существующих методов для исправления грамматических ошибок.
2. Разработка экспериментальной модели для исправления грамматических ошибок с применением метода опорных векторов.
3. Разработка программы на основе экспериментальной модели.
4. Проведение анализа полученных результатов.
В рамках данной выпускной квалификационной работы была разработана экспериментальная модель исправления грамматических ошибок с использованием метода опорных векторов. В ходе разработки решены следующие задачи:
• Проведен анализ существующих методов решения и существующих инструментов для исправления грамматических ошибок.
• Была создана модель на основе работы Johannes Schaback и Fang Li «Multi-Level Feature Extraction for Spelling Correction» [27].
• Был создан текстовый корпус для обучения созданной модели.
• На основе модели экспериментальной модели разработана программа на языке Python.
• Проведены анализы полученных результатов.
Исходя из полученных результатов можно сказать, что реализуемая модель может использоваться для исправления грамматических ошибок. Созданную модель можно улучшить путем:
• Увеличение учебного корпуса
• Применение n-грамм более высоких порядков для выявления признаков на уровне слов
• Создание дополнительных метод извлечения признаков