ВВЕДЕНИЕ 3
1 ПОДХОДЫ К КЛАССИФИКАЦИИ ТЕКСТОВЫХ ДОКУМЕНТОВ 5
1.1 Ручная классификация 5
1.2 Автоматическая классификация 5
2 ФОРМАЛИЗАЦИЯ ЗАДАЧИ ПОСТРОЕНИЯ КЛАССИФИКАТОРА.
НАЗНАЧЕНИЕ ВЕБ-ПРИЛОЖЕНИЯ 9
2.1 Формализация задачи построения классификатора 9
2.2 Назначение веб-приложения 9
2.3 Данные 9
3. ЭТАПЫ ПРОЦЕССА КЛАССИФИКАЦИИ. МЕТРИКИ ДЛЯ ОЦЕНКИ КАЧЕСТВА АЛГОРИТМОВ 10
3.1 Этапы процесса классификации методом машинного обучения 10
3.2 Метрики для оценки качества алгоритмов 10
4 РЕАЛИЗАЦИЯ МОДЕЛЕЙ КЛАССИФИКАЦИИ И РАЗРАБОТКА ВЕБПРИЛОЖЕНИЯ 13
4.1 Реализация моделей классификации 13
4.2 Разработка веб-приложения 24
ЗАКЛЮЧЕНИЕ 28
ГЛОССАРИЙ 29
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ 30
ПРИЛОЖЕНИЕ 35
Как показывает статистка [24, 23, 20], в госсекторе наблюдается лавинообразный рост текстовых документов, в частности это происходит, в судопроизводстве Российской Федерации. Сегодня квалифицированные сотрудники выполняют ручное распределение дел по классам судебных споров, то есть сопоставление текста к заранее определенному классу.
Такой процесс в интеллектуальном анализе текста называется «Классификация текста» (Text Classification). При классификации, модель классификации или классификатор строится на основе обучающих данных и определяется метка класса текстовых данных. Классификация документа несет за собой уникальные проблемы из-за большого количества обучающих выборок, зависимостей между словами в выборках. Это привело к разработке множества алгоритмов классификации текста, которые в разной степени решают эти проблемы.
Ручное распределение требует высокой квалификации сотрудника в данной области.
Таким образом, назрела необходимость создания приложения, которое могло бы автоматически классифицировать юридические документы.
Приложение является одним из модулей разрабатываемой системы, посвященной решению проблемы документооборота Арбитражного суда Республики Татарстан [4, 22].
Целью данной работы является разработка веб-приложения для автоматической классификации юридических документов.
Для достижения этой цели поставлены следующие задачи:
1. Сделать сравнительный анализ существующих методов
классификации, подготовить отчет по итогам анализа;
3
2. Реализовать систему классификации юридических документов на основе выявленного в результате анализа оптимального метода;
3. Разработать демонстрационное веб-приложение;
Выпускная квалификационная работа включает в себя введение, 4 главы, глоссарий, заключение, список источников и литературы, приложение.
В первой главе кратко описаны подходы к классификации текстовых документов.
Во второй главе приведено формальное определение задачи математическим языком и описано назначение веб-приложения.
В третьей главе описаны этапы классификации текстовых документов методом машинного обучения и метрики для оценки качества алгоритмов.
В четвертой главе описаны этапы реализации моделей классификации с применением библиотек машинного обучения, этапы разработки вебприложения, а также анализ полученных результатов.
В данной работе были применены алгоритмы машинного обучения, такие как K-ближайших соседей, Наивно-байесовский классификатор, Метод опорных векторов, Случайный лес и алгоритм градиентного бустинга на открытых юридических документах для их классификации. Все представленные алгоритмы были применены из библиотеки sklearn и XGBoost. Также было разработано демонстрационное веб-приложение для быстрой и удобной классификации юридических документов к определенному классу.
Разработанное приложение имеет некоторые ограничения по количеству определяемых классов. Можно выделить несколько перспективных задач, которые могут быть решены в будущем:
- повышение точности классификации документов на новых данных;
- увеличение количество предсказываемых классов;
А также разработанное приложение планируется интегрировать с системой, разрабатываемой в рамках проекта “Робот-юрист” и внедрить в структуры Арбитражного Суда Республики Татарстан.
Исходный код работы выложен на веб-сервисе для хостинга IT-проектов GitLab, по адресу http://gititis.kpfu.ru/DIRaimov/LawDocClassificatorApp
Все поставленные задачи были решены.
1. BalancedRandomForestClassifier - сбалансированный алгоритм Случайный лес [Электронный ресурс] . - Режим доступа: https://imbalanced- learn.readthedocs.io/en/stable/generated/imblearn.ensemble.BalancedRandomF orestClassifier.html (дата обращения: 31.05.19)
2. Class Imbalance Problem. - Авг 30, 2013 [Электронный ресурс]. Режим доступа: http://www.chioka.in/class-imbalance-problem/. (дата обращения:
20.03.2019) .
3. Daniel Martin Katz A General Approach for Predicting the Behavior of the Supreme Court of the United States [Текст] / Daniel Martin Katz, Michael J Bommarito II, Josh Blackman. - DOI: 10.1371. - April 12, 2017.
4. Daniyar Mazitov NAMED ENTITY RECOGNITION IN RUSSIAN USING MULTI-TASK LSTM-CRF [Текст] / Daniyar Mazitov, Ilseyar Alimova, Elena Tutubalina // Записки научных семинаров ПОМИ. - 2018 г.
5. Ekta Jadon Data Mining: Document Classification using Naive Bayes Classifier [Текст] / Ekta Jadon, Roopesh Sharma // International Journal of Computer Applications; Volume 167; No.6, June 2017. - pp. 0975 - 8887.
6. Gautam Karmakar XGBoost—Model to win Kaggle. - Янв 18, 2018.
[Электронный ресурс]. Режим доступа:
https://medium.com/@gautam.karmakar/xgboost-model-to-win-kaggle- e12b35cd1aad. (дата обращения: 20.03.2019).
7. GridSearchCV - модуль для подбора гиперпараметров из библиотеки
sklearn [Электронный ресурс] . - Режим доступа: https:// scikit- learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.ht ml (дата обращения: 31.05.19)
8. Jochen Hartmann Comparing automated text classification methods [Текст] / Jochen Hartmann, Juliana Huppertz, Christina Schamp, Mark Heitmann // International Journal of Research in Marketing; Volume 36, Issue 1, March 2019, pp 20-38.
9. Jupyter Notebook / Бесплатная интерактивная оболочка для языка программирования Python, позволяющая объединить код, текст и диаграммы, и распространять их для других пользователей [Электронный ресурс]. - Режим доступа: https://jupyter.org/ (дата обращения:
20.03.2019) .
10. Neha Rani Text Classification Using Machine Learning Techniques: A Comparative Study [Текст] / Neha Rani, Aanchal Sharma, Dr. Sudhir Pathak // International Journal on Future Revolution in Computer Science & Communication Engineering; Volume: 4 Issue: 3, ISSN 2454-4248. - March 2018, pp. 551-555.
11. Niklas Donges The Random Forest Algorithm - Feb 22, 2018. [Электронный ресурс]. Режим доступа:
https://towardsdatascience.com/multi-class-text-classification-model- comparison-and-selection-5eb066197568. (дата обращения: 20.03.2019).
12. Pandas — программная библиотека на языке Python для обработки и
анализа данных [Электронный ресурс]. - Режим доступа:
https://pandas.pydata.org/ (дата обращения: 20.03.2019).
13. pymorphy2 - морфологический анализатор [Электронный ресурс] . -
Режим доступа: https://pymorphy2.readthedocs.io/en/latest/ (дата
обращения: 31.05.19)
14. Rohith Gandhi K Nearest Neighbours—Introduction to Machine Learning Algorithms. - Окт 13, 2018. [Электронный ресурс]. Режим доступа: https://towardsdatascience.com/k-nearest-neighbours-introduction-to-machine- learning-algorithms-18e7ce3d802a. (дата обращения: 20.03.2019).
15. Scikit-learn - Бесплатная библиотека машинного обучения для языка программирования Python [Электронный ресурс]. - Режим доступа: https://scikit-learn.org/ (дата обращения: 20.03.2019).
16. Susan Li Multi-Class Text Classification Model Comparison and Selection
[Электронный ресурс]. Режим доступа:
https://towardsdatascience.com/multi-class-text-classification-model- comparison-and-selection-5eb066197568. - Sep 25, 2018. (дата обращения:
20.03.2019) .
17. Synced Tree Boosting With XGBoost—Why Does XGBoost Win “Every”
Machine Learning Competition?. - Ост 23, 2017. [Электронный ресурс]. Режим доступа: https://medium.com/syncedreview/tree-boosting-with-
xgboost-why-does-xgboost-win-every-machine-learning-competition- ca8034c0b283. (дата обращения: 20.03.2019).
18. Thorsten Joachims Text Categorization with Support Vector Machines: Learning with Many Relevant Features // ECML'98 Proceedings of the 10th European Conference on Machine Learning. pp 137-142 / Universitat Dortmund Informatik LS8, Baroper Str. 301 44221 Dortmund, Germany.
19. XGBoost - библиотека для машинного обучения, реализующая алгоритм градиентного бустинга. [Электронный ресурс]. Режим доступа: https://xgboost.readthedocs.io. (дата обращения: 20.03.2019).
20. 19 февраля 2019 года в Арбитражном суде РТ состоялось расширенное совещание по итогам работы за 2018 год [Электронный ресурс] / Офиц. страница Арбитражного Суда Р. - Режим доступа: http://tatarstan.arbitr.ru/node/15991 (дата обращения: 29.05.19)
21. Агеев М.С. Методы автоматической рубрикации текстов, основанные на машинном обучении и знаниях экспертов [Текст] : дис. к.ф.-м.н.: 05.13.11 / Агеев Михаил Сергеевич - M., 2004. - 136 с.
22. Алексеев А.А. Классификация текстовых документов на основе технологии Text Mining [Текст] / Алексеев А.А., Катасёв А.С., Кириллов А.Е., Кирипичников А.П. // Вестник технологического университета. - 2016 г. - Т.19 (№18).
23. Статистика Суддепа: нагрузка на суды растет из года в год [Электронный ресурс] / Офиц. стр. “Право.ру”. - Режим доступа: https://pravo.ru/news/201967/ (дата обращения 29.05.19)
24. Максим Вараксин Верховный суд подвел итоги работы судов за 2018 год [Электронный ресурс] / Офиц. стр. “Право.ру”. - 12 фев 2019. - Режим доступа: https://pravo.ru/story/209019/ (дата обращения: 29.05.18)
25. Отношение TF/IDF / Блог компании “Топодин”. [Электронный ресурс].
Режим доступа: https://topodin.com/seo/post/otnoshenie-tfidf. (дата
обращения: 20.03.2019).
26. Официальный сайт Django веб-фреймворк. [Электронный ресурс]. URL: https://www.djangoproject.com/. (дата обращения: 20.03.2019).