УДК 81'322.2

Головко Н.В.

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

 

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

Поскольку тексты, подвергаемые исследованию, могут быть зашумлены посторонними элементами, снижающими надежность оценки по второму диагностическому критерию (потенциальной полисемантичности) и вносящими нежелательную погрешность в вычисления, необходимым структурным элементом МФСП-алгоритма представляется под-алгоритм предварительной обработки текстов, с описания которого мы и полагаем необходимым начать. Представим требуемую последовательность действий в виде ряда шагов.

1. Удаление знаков препинания, создающих помехи:

1.1. Удаление кавычек (одинарных, двойных, угловых).

1.2. Удаление скобок (круглых, квадратных, фигурных, угловых).

1.3. Удаление черточек и тире.

2. Удаление особых знаков, создающих помехи:

2.1. Замена непечатаемых символов переноса строки (знак абзаца) на стандартный пробел.

3. Удаление имен собственных и аббревиатур:

3.1. Удаление знакосочетаний вида “прописная буква + точка”.

3.2. Удаление слов, начинающихся с прописной буквы, если перед ними не обнаружена точка.

3.3. Удаление слов, набранных исключительно прописными буквами.

4. Удаление служебных слов:

4.1. Удаление предлогов, союзов и частиц в соответствии с предварительно заданным списком.

Алгоритм считаем необходимым реализовать в виде последовательного циклического поиска и обработки определенных знакосочетаний в предъявленном тексте по каждому из шагов. Обработанный материал на выходе будет подаваться на вход собственно МФСП-анализатора; посредством предварительной обработки мы ожидаем получить более точные и корректные результаты. Блок-схематическое представление поискового цикла изображено на рисунке 1. Важно указать, что механизм предварительной обработки должен быть органично встроен в процесс исследования текста; для простоты изложения мы изобразим его в виде отдельного цикла, однако при разработке программного обеспечения, реализующего МФСП-алгоритм, цикл очистки не будет замкнутым и обособленным; напротив, он будет являться конструктивным элементом общей последовательности действий.

 



 

В первую очередь необходимость интеграции связана с тем, что шаги 3 и 4 вносят в текст количественные изменения с целью более эффективного определения его качественных параметров; это полезно с позиции второго детектирующего критерия (измерения потенциальной полисемантичности текста), но с точки зрения первого критерия (расчета средней длины слова) принципиально неприемлемо. В силу этого, строго говоря, перед запуском исследования по МФСП-алгоритму будут работать только шаги 1-2; шаги 3-4 будут подключены уже в процессе.

Теперь нам необходимо перейти к формированию основной последовательности операций для последующего построения на ее основе аналитического программного обеспечения. Данный алгоритм со всей очевидностью окажется существенно более сложным, поскольку в нем необходимо учесть ряд необходимых условий и описать некоторые нестандартные процедуры. Полагаем целесообразным представить алгоритм в виде следующего набора шагов:

1. Расчет данных по первому детектирующему критерию (средняя длина слова).

1.1. Рассчитать общее количество любых символов в тексте.

1.2. Рассчитать количество знаков препинания в тексте в соответствии с заданным списком знаков, включая пробелы.

1.3. На основании разности данных, полученных на этапах 1.1 и 1.2, определить суммарное количество неслужебных символов, входящих в состав слов.

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

1.5. Найти СДС на основании частного данных, полученных на этапах 1.3 и 1.4.

2. Расчет данных по второму детектирующему критерию (потенциальная полисемантичность).

2.1. Рассчитать количество знакосочетаний вида «пробел + буква» для каждой словарной группы по алфавиту.

2.2. Рассчитать массовую долю (индивидуальную и суммарную) для характеристических словарных групп на основании данных, полученных на этапах 1.4 и 2.1.

3. Анализ данных  по обоим детектирующим критериям.

3.1. Предварительно определить ФС исследуемого текста на основании сравнения данных, полученных на этапе 1.5, с заданным диапазоном СДС.

3.2. Предварительно определить ФС исследуемого текста на основании сравнения данных, полученных на этапе 2.2, с заданными диапазонами массовых долей характеристических словарных групп.

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

3.3. Принять решение о запуске дополнительных верификационных процедур на основании сравнения и анализа вердиктов и данных по обоим детектирующим критериям.

3.4. Вынести окончательный вердикт по итогам всех расчетов и аналитических процедур третьего этапа.

Расчеты в основном алгоритме, как и в случае предварительной обработки, будут производиться на основании циклических процедур поиска определенных знакосочетаний и инкрементирования счетчиков. Таким образом, мы располагаем возможностью подготовить блок-схематическое представление логики работы программного обеспечения, реализующего МФСП-алгоритм; оно представлено на рисунке 2.

На последнем рисунке изображены т.н. встроенные процедуры, которые в интересах целесообразности, эргономики и компактности представления были вынесены за пределы общей блок-схемы МФСП-алгоритма. Места вхождения указанных процедур в основную последовательность операций на рисунке 2 обозначены соответствующими аббревиатурами.

 


 

 


 

 


 

Рис. 3. Встроенные процедуры сравнения (ПС) и инкремента (ПИ)

 

Отметим, что в наши непосредственные задачи в рамках данной статьи не входит изображение полного объема возможных вариантов работы аналитического программного обеспечения. Мы считаем необходимым представить лишь основную последовательность действий, которая позволяет составить базовое представление о принципах и логике функционирования проектируемого анализатора; технические детали устройства и организации программного продукта, равно как и теоретически допустимые отклонения от изначально намеченного «курса» работы программы, могут быть исключены из представления без существенного ущерба для понимания сути МФСП-алгоритма и принципов, на которых он построен.

Границы базовых диапазонов мы определяем на основании проведенных исследований эталонных текстов. По результатам работы с каждым из двух диагностических критериев выносятся субвердикты: двоичным переменным присваивается либо значение «1», соответствующее свободным книжным стилям, либо значение «0», соответствующее стилям формальным. Затем они сопоставляются посредством операции суммирования; если значение итоговой переменной составит «0» (0 + 0 = 0), то исследуемый текст будет признан относящимся к формальному книжному стилю речи – научному либо официально-деловому; при значении «10» (1 + 1 = 10) – к свободному (художественному либо публицистическому). Оставшиеся два сочетания дадут в сумме единицу (0 + 1 = 1, 1 + 0 = 1); такое значение будет свидетельствовать о наличии разницы между критериями и о необходимости запуска дополнительных верификационных процедур.

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

Поясним сущность функционирования данной секции общего алгоритма на примере. Предположим, что данные по двум детектирующим критериям разошлись, и на выходе получен код «1», который соответствует нечеткости вердикта – положим, средняя длина слова в тексте соответствует формальным стилям, но степень потенциальной полисемантичности свидетельствует о наличии у текста признаков свободных стилей. В таком случае необходимо удостовериться в том, что высокие показатели сильно полисемантизованных словарных групп не обусловлены тематикой текста. Располагая данными о тематике и / или ключевыми словами, алгоритм сможет отсечь аномальные показатели и выполнить повторное сопоставление результатов, полученных для обоих детектирующих критериев.

Если же критерии будут отличаться даже после анализа тематики, может быть запущена проверка по особо достоверным словарным группам. Итоги расчетов массовых долей различных словарных групп, имеющиеся в нашем распоряжении, указывают на устойчивость показателей «ЕЁ», «Ж», «Щ» и «Я», так что вспомогательная процедура верификации состоит в последовательном соотнесении их показателей с заданными диапазонами, причем данные о тематике также учитываются.

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

Отметим, что в настоящее время алгоритм реализован в виде демонстрационного образца программного обеспечения, которое после проверки на широкой выборке из 100 текстов различной функционально-стилевой отнесенности и уточнения параметров диагностики корректно классифицировало 97% предъявленных ему образцов. Данный результат подтверждает выдвинутую нами гипотезу и свидетельствует о высокой степени надежности МФСП-алгоритма.

 

Примечания

 

1. Головко Н.В. К вопросу о формальной идентификации функционального стиля в русском языке // Вестник Пятигорского государственного лингвистического университета. 2009. №2. С. 16-19.