Научная статья на тему 'Компьютерная реализация тематической классификации нормативно-правовых актов'

Компьютерная реализация тематической классификации нормативно-правовых актов Текст научной статьи по специальности «Языкознание и литературоведение»

CC BY
351
65
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЧАСТОТНЫЙ АНАЛИЗ / FREQUENCY ANALYSIS / КЛАССИФИКАЦИЯ ТЕКСТА / TEXT'S CLASSIfiCATION / АНАЛИЗ ТЕКСТА / TEXT ANALYSIS / DATA MINING / НОРМАТИВНЫЙ ПРАВОВОЙ АКТ / LEGAL ACT

Аннотация научной статьи по языкознанию и литературоведению, автор научной работы — Заболотский Егор Дмитриевич

Задача классификации текстов относится к категории Data Mining. В результате ее решения выделяются признаки, которые характеризуют категории объектов исследуемого набора текстов. По этим признакам новый объект можно отнести к той или иной категории. В работе представлена реализация нормативно-правовых актов, которые составляются по правилам юридической техники, имеют определенный вид, отличаются от привычного всем стиля написания и образуют иерархическую структуру. В настоящее время в справочно-правовых системах отсутствует инструмент классификации. Категориями выступают 16 основных направлений деятельности Правительства Российской Федерации. В качестве текстов, оценивающих категории, применяются нормативно-правовые акты Российской Федерации, регулирующие отношения в соответствующих основных направлениях деятельности. Описать задачу классификации текстов целесообразно следующим образом: существует множество категорий; существует набор текстов по каждой категории; имеется текстовый файл; необходимо установить категорию текстового файла. Этапы реализации: анализ входящего текста; определение и обучение категорий; сравнение входящего текста с конкретными категориями. Используемые средства: как программные средства для решения задачи были выбраны язык Java и средства разработки Eclipse, поскольку потенциально объем словарей лингвистической базы данных может быть очень большим, была выбрана СУБД MS SQL Server. В работе поставленная задача решена, приложение готово к работе, частотные списки категорий составлены и хранятся в базе данных. Целью дальнейшей работы является доработка приложения в целях обработки входящей корреспонденции Федеральной антимонопольной службы.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

COMPUTER IMPLEMENTATION OF LEGAL ACTS CLASSIFICATION

Text classification is one of Data Mining function that assigns items in a collection to target categories or classes. The goal of classification is to accurately predict the target class for each case in the data. Realization of the Russian Federation’s Legal acts classification is presented in article. Legal acts are formed by legal drafting requirements, have a certain form and are different in comparing with usual texts, and generate hierarchical structure. Nowadays classification problem is not solved in legal reference systems. 16 main directions of Russian Federation government work as categories. Legal acts of Russian Federation that regulate relations in main directions of government working are used as texts which define categories. Task description looks like this: we have a set of categories; we have a set of texts for each category; we should define category for new text. Stages of implementation: text analysis, category definition and learning; text comparing with defined categories. Task realized by implementation in Java. MS SQL Server used as database. Classification problem is solved and realized successfully, as a result we have accurate tool for Legal acts classifying and defining executive branch of government by competence. Next purpose of the study is application rework for incoming correspondence classification in Federal antimonopoly service.

Текст научной работы на тему «Компьютерная реализация тематической классификации нормативно-правовых актов»

УДК 51.77 Вестник СПбГУ. Сер. 10. 2014. Вып. 3

Е. Д. Заболотский

КОМПЬЮТЕРНАЯ РЕАЛИЗАЦИЯ ТЕМАТИЧЕСКОЙ КЛАССИФИКАЦИИ НОРМАТИВНО-ПРАВОВЫХ АКТОВ

Санкт-Петербургский государственный университет, Российская Федерация, 199034, Санкт-Петербург, Университетская наб., 7/9; Федеральная антимонопольная служба, Российская Федерация, 123995, Москва, ул. Садовая-Кудринская, 11

Задача классификации текстов относится к категории Data Mining. В результате ее решения выделяются признаки, которые характеризуют категории объектов исследуемого набора текстов. По этим признакам новый объект можно отнести к той или иной категории. В работе представлена реализация нормативно-правовых актов, которые составляются по правилам юридической техники, имеют определенный вид, отличаются от привычного всем стиля написания и образуют иерархическую структуру. В настоящее время в справочно-правовых системах отсутствует инструмент классификации. Категориями выступают 16 основных направлений деятельности Правительства Российской Федерации. В качестве текстов, оценивающих категории, применяются нормативно-правовые акты Российской Федерации, регулирующие отношения в соответствующих основных направлениях деятельности. Описать задачу классификации текстов целесообразно следующим образом: существует множество категорий; существует набор текстов по каждой категории; имеется текстовый файл; необходимо установить категорию текстового файла. Этапы реализации: анализ входящего текста; определение и обучение категорий; сравнение входящего текста с конкретными категориями. Используемые средства: как программные средства для решения задачи были выбраны язык Java и средства разработки Eclipse, поскольку потенциально объем словарей лингвистической базы данных может быть очень большим, была выбрана СУБД MS SQL Server. В работе поставленная задача решена, приложение готово к работе, частотные списки категорий составлены и хранятся в базе данных. Целью дальнейшей работы является доработка приложения в целях обработки входящей корреспонденции Федеральной антимонопольной службы. Библиогр. 9 назв. Ил. 4.

Ключевые слова: частотный анализ, классификация текста, анализ текста, Data mining, нормативный правовой акт.

E. D. Zabolotsky

COMPUTER IMPLEMENTATION OF LEGAL ACTS CLASSIFICATION

St. Petersburg State University, 7/9, Universitetskaya embankment, St. Petersburg,

199034, Russian Federation; Federation antimonopoly service,

11, str. Gardeniyskaya-Cudrinskaya, Moscow, 123995, Russian Federation

Text classification is one of Data Mining function that assigns items in a collection to target categories or classes. The goal of classification is to accurately predict the target class for each case in the data. Realization of the Russian Federation's Legal acts classification is presented in article. Legal acts are formed by legal drafting requirements, have a certain form and are different in comparing with usual texts, and generate hierarchical structure. Nowadays classification problem is not solved in legal reference systems. 16 main directions of Russian Federation government work as categories. Legal acts of Russian Federation that regulate relations in main directions of government working are used as texts which define

Заболотский Егор Дмитриевич — аспирант; главный специалист-эксперт, Управление контроля электроэнергетики, ФАС России; e-mail: [email protected]

Zabolotsky Egor Dmitrievich — post-graduate student; chief specialist-expert, Administration electricity control, FAS; e-mail: [email protected]

categories. Task description looks like this: we have a set of categories; we have a set of texts for each category; we should define category for new text. Stages of implementation: text analysis, category definition and learning; text comparing with defined categories. Task realized by implementation in Java. MS SQL Server used as database. Classification problem is solved and realized successfully, as a result we have accurate tool for Legal acts classifying and defining executive branch of government by competence. Next purpose of the study is application rework for incoming correspondence classification in Federal antimonopoly service. Bibliogr. 9. Il. 4.

Keywords: frequency analysis, text's classification, text analysis, Data mining, legal act.

Введение. В данной статье представлена реализация задачи классификации нормативно-правовых актов (НПА), которые составляются по правилам юридической техники и отличаются от привычного всем стиля написания. В настоящее время существует множество реализованных решений задачи классификации, многие из которых представлены на сайте www.kdnuggets.com. Вместе с тем в справочно-правовых системах, таких как Право.ру, Lexpro, Кодекс, Консультант Плюс, Гарант и РосПра-восудие, отсутствует инструмент классификации НПА. Задача классификации текстов успешно реализована, в результате чего получен довольно точный инструмент для классификации НПА и отнесения их к компетенции конкретного органа исполнительной власти. В результате проведенного исследования получены частотные списки по каждому виду деятельности Правительства Российской Федерации, что может быть использовано для прикладных задач, например обработки обращений, анализа текста на принадлежность к тому или иному органу исполнительной власти.

Задача классификации. Задача классификации текстов (Задача) является подзадачей Data Mining - мультидисциплинарной области, возникшей и развивающейся на базе таких наук как прикладная статистика, распознавание образов, иску-ственный интеллект, теория баз данных (БД) [1].

В результате решения Задачи выделяются признаки, которые характеризуют категории объектов исследуемого набора текстов. По этим признакам новый объект можно отнести к той или иной категории.

Существуют следующие методы классификации текстов [2]:

• классификация с помощью деревьев решений;

• байесовская (наивная) классификация;

• классификация при помощи искуственных нейронных сетей;

• классификация методом опорных векторов;

• статистические методы, в частности линейная регрессия;

• классификация при помощи метода ближайшего соседа;

• классификация CBR-методом;

• классификация при помощи генетических алгоритмов;

• классификация методом частотного анализа.

В статье [3] проведено сравнение и детальное описание методов машинного обучения для Задачи. В ней рассматриваются метод Байеса, метод Роше, метод деревьев решений, метод к ближайших соседей, метод опорных векторов (SVM - support vector machine), метод регрессии, нейронные сети и метод голосования, которые являются наиболее распространенными для решения Задачи. Сравнение показало, что метод SVM имеет преимущество над другими методами для решения задачи классификации.

Аналогичные выводы по результатам сравнения сделаны в работах [4, 5]. В них также отмечена высокая точность классификации методом к ближайших соседей.

Постановка задачи. Существуют множество категорий и набор текстов по каждой категории. Имеется текстовой файл. Необходимо установить категорию текстового файла.

В качестве категорий выступают 16 основных направлений деятельности Правительства Российской Федерации. Как тексты, определяющие категории, используются НПА Российской Федерации, регулирующие отношения в соответствующем направлении деятельности.

Основные направления деятельности Правительства Российской Федерации [6]:

• здравоохранение;

• культура;

• природные ресурсы и экология;

• внутренние дела;

• иностранные дела;

• образование и наука;

• промышленность и торговля;

• спорт;

• связь и массовые коммуникации;

• энергетика;

• финансы;

• транспорт;

• труд и социальная защита;

• сельское хозяйство;

• оборона;

• экономическое развитие.

НПА. Это официальный документ установленной формы, принятый в пределах компетенции уполномоченного государственного органа с соблюдением разработанной законодательством процедуры, содержащий общеобязательные правила поведения, рассчитанные на неопределенный круг лиц и неоднократное применение [7].

НПА имеют конкретный вид, облекаются в документальную форму и составляются по правилам юридической техники. Действующие на территории Российской Федерации, они образуют единую систему [8].

Существуют следующие виды НПА:

• законы;

• указы Президента;

• постановления Правительства;

• приказы федеральных органов исполнительной власти;

• локальные.

Перечисленные виды НПА имеют иерархическую структуру, соответствующую вышеуказанному списку. То есть, например, постановление Правительства не может противоречить закону. Основными НПА являются федеральные законы, на основании которых выходят постановления, на основании их выпускаются приказы федеральных органов исполнительной власти. Стоит отметить, что главным НПА служит Конституция Российской Федерации, но в данной Задаче она не используется.

В настоящей работе в качестве обучающей выборки применяются законы (в среднем 15% от обучающей выборки для категории), постановления Правительства (в среднем 30% от обучающей выборки для категории) и приказы федеральных органов исполнительной власти (в среднем 55% от обучающей выборки для категории). Законы формируют общее представление категории, а постановления

и приказы углубляются в соответствующую отрасль в полном объеме и задают наиболее точный словарь категории.

Метод решения задачи. Алгоритм классификации. Входной информацией для программы должен являться список текстовых файлов в форматах doc, txt, rtf, содержащих тексты по выбранным темам на русском языке, опорными данными для работы программы - русскоязычные тексты, а также списки найденных ключевых слов, наиболее полно характеризующих определенную тематику. Алгоритм 1. Псевдокод общего алгоритма системы 1: function processing category

2: прочитать все тексты из папки категории и сделать один «общий» текст; 3: исключить предлоги, частицы и слова меньше 3 символов; 4: построить «вектор» категории методом TF*IDF; 5: отсортировать частоты по убыванию; 7: запись в БД;

8: выполнить для каждой категории; 9: function processing text

10: прочитать входящий текст;

11: исключить предлоги, частицы и слова меньше 3 символов; 12: построить «вектор» текста методом TF*IDF; 13: отсортировать частоты по убыванию; 14: function comparing

15: поиск пяти одинаковых слов в тексте и частотных списках категориях; 16: вычисление среднеквадратичного отклонения по пяти словам, имеющим наибольшую частоту в тексте, по найденным категориям из БД; 17: вывод о принадлежности, исходя из минимального значения среднеквадратичного отклонения; 18: if добавить текст в категорию 19: function add text.

Алгоритм 2. Псевдокод алгоритма добавления текста в категорию 1: function add text

2: при добавлении текста в ручном режиме создать текстовый файл в папке категории, определенной для данного текста; 3: построить "вектор" текста методом TF*IDF; 4: отсортировать частоты по убыванию;

5: поиск одинаковых слов в частотном списке категории и частотном списке добавляемого текста;

6: вычисление суммы частот одинаковых слов в частотном списке категории (а) и частотном списке добавляемого текста (б);

7: приведение частот одинаковых слов в частотном списке категории и частотном списке добавляемого текста путем деления на а и б соответственно; 8: нахождение среднего арифметического частот по каждому одинаковому слову; 9: умножение полученных частот на а;

10: обновление частот рассмотренных слов в частотном списке категории в БД. Первым этапом решения Задачи является анализ входящего текста. На первой итерации из входящего текста исключаются частицы, предлоги, местоимения и слова, длина которых не превышает 3 символов. Вторая итерация подразумевает определение веса каждого слова в тексте с помощью преобразования TF*IDF.

На втором этапе решения Задачи было необходимо задать категории. Для этого

были выбраны НПА по каждому из вышеуказанных направлений. На сайте каждого министерства и ведомства представлены НПА, руководствуясь которыми осуществляется деятельность.

Для обучения каждой категории было выбрано по 20 НПА, которые наиболее полно отражают ту или иную отрасль.

Таким образом, был построен частотный словарь по каждой категории.

Третьим этапом решения Задачи является сравнение входящего текста с имеющимися категориями. Каждая категория представлена в виде списка слов с соответствующими весами. В случае, если во входящем тексте и в категории имеется более 5 общих слов, считаются среднеквадратичные отклонения по таким категориям из БД. Вывод о принадлежности к категории делается исходя из минимального значения среднеквадратичного отклонения.

Преобразование TF*IDF. В названии преобразования уже содержится формула.

TF (term frequency - частота слова) - отношение числа вхождения некоторого слова к количеству слов документа, оценивается важность терма в пределах одного документа.

IDF (inverse document frequency - обратная частота документа) - инверсия частоты, с которой некоторое слово встречается в документах конкретной категории [9].

Формулы преобразования:

Wi = tfi х idfi, tfi = ^t 7'

idfi = /00—, Ui

Здесь Wi - вес слова i в текущем документе, tfi - отношение числа вхождения слова к общему количеству слов документа, idfi - инверсия частоты, с которой слово встречается в документах категорий, D - количество документов в обучающей выборке, Ui - количество документов, в которых встречается i-тое слово;

Используемые средства. В качестве программных средств для решения Задачи были выбраны язык Java и средства разработки Eclipse.

Для хранения и обработки текстовой информации необходимы БД и СУБД. БД MySQL имеет хорошие показатели быстродействия, но ограничена в создании очень больших БД. Поскольку потенциально объeм словарей лингвистической БД может быть очень большим, была выбана СУБД MS SQL Server.

Описание приложения. На рис. 1 представлено реализованное приложение.

Осуществлена возможность выбирать файл или скопировать обрабатываемый текст в диалоговое окно. Есть функция добавления новой категории. Можно задать значение функции, при котором текст автоматически будет добавляться в определенную категорию в ручном режиме, для чего предусмотрена кнопка. При этом в папке категории создается текстовый файл с указанным текстом. При новом сравнении программа обрабатывает категорию с учетом текста и обновляет данные в БД.

В приложении предусмотрено табличное представление (рис. 2) как категории, так и текста, можно просмотреть частотный список входящего текста или выбранной категории.

В приложении реализован просмотр графиков частот по тексту (рис. 3, а) и по категории (рис. 3, б).

о

! Обработка файлов | Табличное представление

шБыберите файл для сравнения или вставьте 1

Категории: , —Выберите категорию— ▼

^_

; 10 | Добавить текст в категорию Показать график категории График частот по тексту

Добавить категорию

Введите текст для сравнения:

Окно для вставки текста

Пароль сервера mySQL qwei23 Open File Начать сравнение

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Рис. 1. Вид приложения

X

Рис. 3. График частот по входящему тексту (а) и по выбранной категории (б)

о -а

Описание экспериментов. На сайте www.regulation.gov.ru с 1 апреля 2013 г. размещаются все проекты НПА соответствующими министерствами или ведомствами. Были выбраны и обработаны приложением 1000 проектов НПА. Приложение правильно определило принадлежность 830 НПА. 111 проектов НПА были отнесены к смежным категориям. Например, проект Федерального закона «О внесении изменения в Федеральный закон "Об оценочной деятельности в Российской Федерации"

Классификация, %

0 5 10 15 20 25 30 35 40

12

4 -'-'-'-'-'-'-1-'-'-

0 5 10 15 20 25 30 35 40

Количество добавленных текстов в категории

Рис. 4- Изменение точности классификации при добавлении текстов

а - правильная классификация; б - смежная (вверху) и неправильная (внизу) классификации. 1 - кривая, построенная по точкам; 2 - среднее: а —82.9028 + 0, 2471х, б - вверху: 11.2667 — 0.1467х, внизу: 5.8667 — 0.1х.

(в частности установления возможности приостановления членства в саморегулируемой организации оценщиков)» был отнесен к категории «финансы», хотя разработчиком является Министерство экономического развития Российской Федерации и документ должен относиться к категории «экономическое развитие». Оставшиеся 59 проектов НПА были включены в другие категории, это является целью дальнейшей работы в сторону увеличения точности работы приложения.

Также был проведен анализ изменения точности классификации при добавлении текстов в категорию в ручном режиме. Его результаты представлены на графиках изменения точности классификации при добавлении текстов: правильная классификация (рис. 4, а) и смежная и неправильная классификации (рис. 4, б). По оси абсцисс обозначено количество текстов, добавляемых в категории, по оси ординат - процент правильной (рис. 4, а), смежной и неправильной (рис. 4, б) классификаций. В данном эксперименте в каждую категорию добавлялось по пять текстов, после чего вычислялась точность классификации по результатам тестирования. Анализ изменения точности классификации показал, что после добавления дополнительных 40 текстов в категорию точность правильной классификации увеличивалась на 2,1%, а смежной и неправильной классификаций уменьшилась на 1,2 и 0,9% соответственно. Стоит отметить, что при начальном определении категорий были выбраны НПА, которые наиболее полно отражают деятельность того или иного органа исполнительной власти. Дополнительно в категории добавлялись тексты небольшого объема, как правило, приказы, которые в большинстве случаев увеличивали частоту слов, имеющих высокую частоту вхождения в частотных списках исходных категорий. Уравнения средних получены инструментом построения графиков программы STATISTICA 7.

Заключение. Поставленная задача реализована. Приложение готово к работе. Частотные списки категорий составлены и хранятся в БД. Цель дальнейшей работы - дополнительное наполнение категорий НПА. С каждым новым НПА категория корректируется, и частотная характеристика становится более точной. Также планируется ввести список самых часто встречающихся слов, таких как «правительство», «постановление», «федерация» и т. д. Выбранная метрика показала достаточную точность и быстродействие. В результате тестирования в 83% принадлежность входящего текста была определена верно, в 11,1% отнесена к смежной категории и в 5,9% -некорректно.

Таким образом, указанное приложение может использоваться Министерством юстиции Российской Федерации в целях быстрой классификации проектов НПА. Оно может быть расширено подкатегориями, что позволит автоматически распределять документы и НПА по управлениям и департаментам конкретных ведомств и министерств.

Литература

1. Дюк В., Самойленко А. Data Mining: учеб. курс. СПб.: Питер, 2001. 368 с.

2. Sebastiani F. Machine Learning in Automated Text Categorization // ACM Computing Surveys. 2002. Vol. 34. P. 1-47.

3. Korde V. Text classification and classifiers: a survey // Intern. Journal of Artificial and Applications (IJAIA). 2012. Vol. 3. P. 88-92.

4. Comparison of Text Categorizaion Algorithms // WUJNS Journal. 2004. Vol. 9. P. 798-804.

5. Dasgupta Anirban. Feature Selection Methods for Text Classification KDD'07 // Proc. of the 13th ACM SIGKDD Intern. conference on Knowledge discovery and data mining. New York: ACM, 2007. P. 230-239 (URL: http://dl.acm.org/citation.cfm?id=1281220).

6. Сервер органов государственной власти Российской Федерации. URL: http://gov.ru/.

7. Поляков А. В., Тимошина Е. В. Общая теория права: учебник. СПб.: Издат. Дом С.-Петерб. гос. ун-та, 2005. 472 с.

8. Червонюк В. И., Гойман-Калинский И. В., Иванец Г. И. Элементарные начала общей теории права: учеб. пособие. М.: Право и закон; КолосС, 2003. 542 с.

9. Manning Christopher D., Raghavan Prabhakar, Schütze Hinrich. Introduction to Information Retrieval. Cambridge: Camdridge University Press, 2008. P. 359—380 (URL: http://nlp.stanford.edu/ IR-book/).

References

1. Djuk V., Samojlenko A. Data Mining: textbook. St. Petersburg: Piter, 2001, 368 p.

2. Sebastiani F. Machine Learning in Automated Text Categorization. ACM Computing Surveys,

2002, vol. 34, pp. 1-47.

3. Korde V. Text classification and classifiers: a survey. Intern. Journal of Artificial and Applications (IJAIA), 2012, vol. 3, pp. 88-92.

4. Comparison of Text Categorizaion Algorithms. WUJNS Journal, 2004, vol. 9, pp. 798-804.

5. Dasgupta Anirban. Feature Selection Methods for Text Classification KDD'07. Proc. of the 13th ACM SIGKDD Intern. conference on Knowledge discovery and data mining. New York: ACM, 2007, pp. 230-239 (URL: http://dl.acm.org/citation.cfm?id=1281220).

6. Server organov gosudarstvennoj vlasti Rossijskoj Federacii (Russian government server). URL: http://gov.ru/.

7. Poljakov A. V., Timoshina E. V. Obshhaja teorija prava: uchebnik (Common law theory: textbook). St. Petersburg: Izdat. Dom S.-Peterb. gos. un-ta, 2005, 472 p.

8. Chervonjuk V. I., Gojman-Kalinskij I. V., Ivanec G. I. Jelementarnye nachala obshhej teorii prava: uchebnoe posobie (Elementary common law theory: textbook). Moscow: Pravo i zakon; KolosS,

2003, 542 p.

9. Manning Christopher D., Raghavan Prabhakar, Schütze Hinrich. Introduction to Information Retrieval. Cambridge: Camdridge University Press, 2008, pp. 359-380 (URL: http://nlp.stanford.edu/ IR-book/).

Статья рекомендована к печати проф. В. Ю. Добрыниным. Статья поступила в редакцию 3 апреля 2013 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.