Аннотация 2
ВВЕДЕНИЕ 7
1 МЕТОДЫ АВТОМАТИЧЕСКОЙ ОБРАБОТКИ ТЕКСТОВ НА
ЕСТЕСТВЕННОМ ЯЗЫКЕ 8
1.1 Компьютерная лингвистика 8
1.1.1 Определение компьютерной лингвистики 8
1.1.2 Приложения компьютерной лингвистики 9
1.1.3 Инструментарий компьютерной лингвистики 12
1.2 Обработка естественного языка 13
1.2.1 Статистические подходы 13
1.2.2 Лингвистические подходы 14
1.3 Методы классификации 17
1.3.1 Метод ближайших соседей 17
1.3.2 Наивный байесовский метод 18
1.3.3 Дерево принятия решений 19
1.3.4 Случайный лес 20
1.4 Метрики оценки качества классификации 21
1.5 Обзор существующих морфологических анализаторов 22
1.5.1 TreeTagger 23
1.5.2 FreeLing 23
1.5.3 Mystem 23
1.5.4 pymorphy2 23
1.6 Выбор среды разработки, языка программирования и других
инструментов 24
1.7 Выводы по разделу 26
2 РАЗРАБОТКА МАТЕМАТИЧЕСКОЙ МОДЕЛИ ДЛЯ РЕШЕНИЯ
ЗАДАЧИ АВТОМАТИЧЕСКОЙ ОБРАБОТКИ ТЕКСТОВ 28
2.1 Предобработка входного текста 28
2.2 Построение словаря и поиск словоформ с помощью
детерминированного ациклического конечного автомата 28
2.3 Разрешение морфологической омонимии 32
2.4 Выводы по разделу 32
3 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ РЕШЕНИЯ ЗАДАЧИ ОБРАБОТКИ
ТЕКСТОВ НА ЕСТЕСТВЕННОМ ЯЗЫКЕ 33
3.1 Архитектура программы 33
3.2 Алгоритмы работы программы 34
3.3 Модель хранения данных 35
3.4 Описание модулей программы 37
3.4.1 Структура модулей скрипта 37
3.4.2 Структура веб-приложения 39
3.5 Проверка работы программы на экспериментальных данных 40
3.6 Анализ полученных результатов 47
3.7 Выводы по разделу 47
ЗАКЛЮЧЕНИЕ 49
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 50
ПРИЛОЖЕНИЕ 1 Исходный код программы 53
Современное общество за последние несколько десятилетий совершило огромный рывок в технологическом прогрессе, развитии различных сфер жизни людей и научных направлений. Это повлекло за собой значительное увеличение информации как в печатном (книги, научные труды, газеты и журналы и др.), так и в электронном (блоги, форумы, электронные документы и др.) виде. В связи с этим в значительной степени ускорилось развитие научных областей, известных как компьютерная лингвистика и обработка естественного языка, частью которой является морфологический анализ. Вместе с их развитием возникает потребность в создании систем, автоматизирующих процесс обработки больших объемов текстовых данных. Такие автоматизированные системы используются для таких задач, как поиск данных по запросу, классификация и кластеризация текстовой информации, распознавание текста и синтез речи, аннотирование и реферирование, а так же другие задачи компьютерной лингвистики.
В обработке естественного языка в основном заинтересованы различные компании, которым необходимо оперировать большим потоком входящих запросов документов и обращений, распределять обращения по темам и отделам, выделять наиболее важные и негативные, ускорять перевод на другие языки, улучшать поиск по базе данных, внедрять диалоговые и рекомендательные системы и т. п.
Одной из таких является задача морфологического анализа инстаграма Губернатора Челябинской области.
Таким образом, уточним цель: необходимо разработать программный продукт классификации текстов на естественном языке с использованием морфологического анализа.
Благодаря разработанному программному продукту с использованием компьютерной лингвистики, удалось многократно ускорить работу операторов посредством автоматизации процесса загрузки и анализа комментариев постов Губернатора Челябинской Области в социальной сети Instagram. В результате удалось достичь следующих результатов:
- значительно упрощена работа оператора;
- время подготовки документов для совещаний и поездок Губернатора и его заместителей сократилось более чем в 5 раз.
В дальнейшем развитии программного продукта планируется реализация следующего функционала:
- многопользовательская работа;
- работа с комментариями (возможность изменять тему, к которой был отнесен комментарий);
- ведение истории изменений (любые изменения базы данных фиксируются);
- возможность ручного запуска анализатора оператором из веб-приложения.