РАЗРАБОТКА И ПРИМЕНЕНИЕ МАКРОСА НА БАЗЕ ПРИКЛАДНЫХ ПРОГРАММ ДЛЯ ПРОВЕДЕНИЯ ТЕКСТОВОГО АНАЛИЗА
РАЗРАБОТКА И ПРИМЕНЕНИЕ МАКРОСА НА БАЗЕ ПРИКЛАДНЫХ ПРОГРАММ ДЛЯ ПРОВЕДЕНИЯ ТЕКСТОВОГО АНАЛИЗА
Ермолатий Денис Александрович
аспирант, Российская академия народного хозяйства и государственной службы,
РФ, г. Москва
DEVELOPMENT AND APPLICATION OF A MACRO BASED ON APPLICATION PROGRAMS FOR TEXT ANALYSIS
Denis Ermolatiy
Postgraduate student, Russian Academy of National Economy and Public Administration,
Russia, Moscow
АННОТАЦИЯ
Целью данной работы является разработка макроса для проведения обработки и анализа текстовой информации на примере правовых актов. Выполнение макроса предусмотрено в среде MS Office посредством разработки на VBA. Приведен вариант подготовки текстового документа к более удобному в работе варианту для вынесения экспертной оценки в рамках юридического аспекта. Предложенный вариант обработки и анализа позволяет проводить экспертные оценки с более высокими показателями скорости и качества.
ABSTRACT
The purpose of this work is to develop a macro for processing and analyzing textual information on the example of legal acts. Macro execution is provided in the MS Office environment through VBA development. A variant of preparing a text document for a more convenient option for making an expert assessment within the framework of the legal aspect is given. The proposed version of processing and analysis allows for expert assessments with higher rates of speed and quality.
Ключевые слова: макрос, семантика и прагматика, текстовый анализ, правовая информация, экспертная оценка
Keywords: macro, semantics and pragmatics, text analysis, legal information, expert assessment
Введение. Сегодняшняя деятельность человека, вне зависимости от направления деятельности, не обходится без обработки текстов, в том числе анализа юридической информации, представленной в нормативно-правовых актах (далее – НПА). Во многом успех деятельности зависит от качественного и глубокого анализа свода НПА, регламентирующего выбранное направление.
Также немаловажную роль играет юридический аспект НПА с точки зрения согласованности документов. Выявление ошибок, неточностей и противоречий на этапе разработки НПА рабочими группами позволяет обеспечить непрерывность рабочих процессов. А автоматизация процесса обработки и анализа позволит как увеличить скорость проведения согласования, так и повысит качество получаемого правового документа.
Основная часть. При разработке программы для обработки и анализа текстовой информации, где анализ выступает информационным процессом [5], в рамках планирования можно отталкиваться от «классической» схемы поэтапности работ [3]:
1. Формирование исходного текста;
2. Разбиение на слова и предложения;
3. Анализ отдельных слов;
4. Синтактический анализ;
5. Семантический анализ.
В рамках описываемой работы исходным текстом выступают НПА.
На синтактическом уровне может проводиться декомпозиция не только на словосочетания и предложения, но и на <...> элементарные предикативные структуры, выражающие структуры [4]. В случае нашего практического опыта фреймы (блоки) будут представлять из себя абзац из юридического документа. После деления НПА на фреймы, можно провести общий анализ, как между фреймами по требующимся параметрам, так и сделать выводы на уровне документов (см. рис. 1 и 2).
Рисунок 1. Условная схема анализа НПА
Рисунок 2. Схема сравнения фреймов
Для каждого отдельного случая определяются свои оценочные критерии и параметры фильтрации, может меняться и программная среда. Приводимой опыт отражает работу в среде MS Office ввиду ее доступности, распространенности и относительной простоты.
В первой фазе разрабатывается подгрузка НПА [1]:
Set path = Application.FileDialog(msoFileDialogFilePicker)
With path
.Title = "Выбрать первый файл"
.ButtonName = "Выбрать файл"
.Filters.Clear
.InitialFileName = "C:\"
.InitialView = msoFileDialogViewLargeIcons
If path.Show = 0 Then Exit Sub
Files = Documents.Open(.SelectedItems(1))
End With
Во второй фазе происходит деление правового текста на фреймы, а в выводимой форме строятся динамические блоки (см. рис. 3):
ReDim array1(ActiveDocument.Paragraphs.Count, 1000)
array1(0, 0) = ActiveDocument.Paragraphs.Count
Do While ActiveDocument.Paragraphs.Count >= i
Рисунок 3. НПА, разделенный на фреймы
Технически, фреймы представляют собой массивы данных.
For y = 1 To ActiveDocument.Paragraphs(i).Range.Words.Count
array2(i, y) = ActiveDocument.Paragraphs(i).Range.Words(y)
Next
Перед переходом к ключевой фазе, стоит определить, сколько НПА подгружается для дальнейшей обработки. В данном опыте проведена обработка и анализ двух документов.
В третьей фазе задаются параметры обработки. Для выполнения экспериментальной задачи задан параметр совпадения содержания свыше 50%:
percen = Round(percen / Val(array1(i, 0)) * 100, 2)
result(i, y, 2) = Str(percen)
После отработки макроса формируется отчет в форме, пригодной для проведения анализа экспертами (см. рис. 4).
Рисунок 4. Пример отчета по заданным параметрам
Заключение. При работе с предложенным инструментом в рамках анализа текстовой (правовой) информации или законотворческой деятельности повышается скорость обработки решений при действии рабочей группы, а также возрастает вероятность принятия более юридически совершенного документа.
Важно отметить, что предлагаемый инструмент приходится достаточно простым для понимания и использования как экспертами, так и аналитиками.
Список литературы:
- Гарнаев А. Самоучитель VBA // БХВ-Петербург. Учебник. 2004. 542 с.
- Инькова О.Ю. Несвязность текста, или о некоторых подводных камнях на пути автоматической обработки текста // Вестник Том. гос. ун-та. Филология. 2021. №74. с. 81-98
- Лингвистика и обработка текстов // OSP. (Электронный ресурс.) URL: https://www.osp.ru/os/2013/04/13035562 (дата обращения: 21.09.2022)
- Яцко В. А. Алгоритмы и программы автоматической обработки текста // Вестник ИГЛУ. №1 (17). 2012. с. 150-161
- Boyar-Sozonovitch A., Pitelinskiy K., Ermolatiy D. Innovation economy: aspects of economic and information security in logistics innovation // Amazonia Investiga. Vol. 8 Núm. 21: 6- 13. 2019