РАЗДЕЛ VIII ПРАВОВАЯ ИНФОРМАТИКА
УДК 002:681.3:34(094)
Г.И. Иванов, Н.Б. Ельчанинова, А.Э. Саак
МЕТОДЫ ФОРМАЛИЗАЦИИ НОРМАТИВНО-ПРАВОВОЙ ИНФОРМАЦИИ НА ОСНОВЕ ДЕКЛАРАТИВНОГО ПРОГРАММИРОВАНИЯ
В настоящей работе рассматриваются способы формально-логического представления нормативно-правовых документов (далее — НПД) с целью последующего создания на его основе советующих правовых систем, которые принципиально отличаются от справочных тем, что выдают пользователю конкретные рекомендации о его дальнейших действиях, а не тексты документов целиком. Следует отметить, что мы пытаемся формализовать не художественные тексты, наполненные различными аллегориями, гиперболами, речевыми оборотами и т. д., а юридические документы, которые по своей природе более формально-логичны и поэтому удобны для этих целей.
Ранее эти задачи решались на блок-схемном и автоматном уровне [1], однако не всякую норму права можно представить в виде блок-схемы. Например, существуют т. н. дефинитивные нормы, которые не нормируют выполнение какого-либо действия, а дают определение какого-то понятия или явления. Для таких случаев хорошо подходят декларативные методы формализации НПД, которые являются наиболее приближенными к естественному языку. Это связано с тем, что формализация НПД является своего рода проблемой представления знаний. И хотя в данной области подобные исследования достаточно широко еще не проводились, в других предметных областях (химия, медицина, геология и др.) такие методы, как продукционные системы, семантические сети, логика предикатов и фреймы нашли широкое применение [2].
Для реализации перечисленных моделей представления знаний на ЭВМ существует множество декларативных языков программирования, таких, как Пролог, Лисп, ЕКЬ, ЕМБ и др. [2, 3].
В данном случае в качестве модели формализации НПД нами была выбрана логика предикатов первого порядка, т. к. в ней принципиально отсутствуют ограничения на порядок записи логических формул, и она дает возможность почти буквального перевода исходного текста НПД с минимальными первичными преобразованиями. Кроме того, в логике предикатов можно в формулы свободно включать переменные, а в других методах это или совершенно невозможно, или возможно в крайне ограниченной степени. Логике предикатов присущ высокий уровень модульности знаний, и одновременно с этим она позволяет получить единственную систему представления, в которой логически разъясняются свойства знаний как единого целого. Следовательно, с помощью логики предикатов можно, определяя произвольным образом знания, выяснить, имеются или
отсутствуют противоречия между новыми и уже существующими знаниями. Полученное формально-логическое представление НПД легко может быть реализовано на Прологе, т. к. он основан на логике предикатов первого порядка и является типичным языком декларативного типа, который был принят в качестве базового в японской программе создания ЭВМ пятого поколения. Кроме того, Пролог имеет встроенную машину логического вывода, основанную на обратной системе дедукции.
Все это позволяет надеяться, что предикатное описание НПД может представлять определенные интересы для создания информационно-советующих систем, а также для анализа НПД в научных целях.
Основными семантическими категориями естественного языка являются: имена предметов, имена признаков и предложения, а семантическими категориями логики предикатов — термы, предикаты и правильно построенные формулы (ППФ).
Имена предметов — это отдельные слова или словосочетания, обозначающие предметы. В логике предикатов предметы или объекты описываются упорядоченными последовательностями конечной длины из букв и символов, исключая зарезервированные символы, и называются термами. Имена признаков — это имена качеств, свойств или отношений. В исчислении высказываний имена признаков обозначаются как имена предикатов.
В дальнейшем будем использовать следующее определение предиката: “Атомарным предикатом называется последовательность из п (п>1, конечно) термов, заключенная в круглые скобки, следующая за предикатным символом, имя которого выражено некоторой конечной последовательностью букв” [2].
Предикат может принимать одно из двух значений — истина или ложь. Из всех предложений, которые образуют естественный язык, атомарные предикаты соответствуют простым нераспространенным предложениям. Соединяя предикаты с помощью специальных связок (&, V, ®, «), можно получить правильно построенные формулы (ППФ) или логические формулы, которые будут описывать сложные предложения естественного языка.
Пути формализации НПД могут быть различными, но при декларативном подходе наиболее естественным является двигаться прямо по тексту. Однако не любое предложение естественного языка может быть сразу представлено на языке логики предикатов. Например, предложение: “Товарищество (а) может договориться (Р) с кредиторами (Ь) о том, что оно (а) принимает на себя (Б) определенные обязательства по отношению к ним (с)” можно записать в виде следующего предиката второго порядка — Р(а, Ь, Б(а,с)). Однако Пролог не допускает использования предикатов более высоких порядков, чем первый. Поэтому здесь возникает проблема преобразования предикатов второго порядка путем их разбиения на множество предикатов первого порядка. Эта проблема до конца еще не решена и представляет самостоятельный интерес.
Но можно пойти другим путем: постепенно производить эквивалентные преобразования в естественном языке так, чтобы при этом не нарушалась значимость исходного НПД. Такие преобразования, с одной стороны, представляются достаточно очевидными, но с другой стороны, требуют определенных исследований в области юридической адекватности этих представлений.
Предлагается следующая методика преобразования исходного текста НПД к формальной записи на языке логики предикатов первого порядка.
1. Так как все сложные предложения строятся из простых, то выполним и обратный процесс, т. е. любое сколь угодно сложное предложение может быть разбито на простые. Поэтому сначала необходимо разбить каждое сложное предложение на простые нераспространенные предложения, сохранив между ними союзы-связки.
Причем если в сложном предложении были местоимения, союзы и другие соединительные части речи, то их необходимо оставить после разбиения в качестве союзов-связок между получившимися простыми предложениями. Однако в естественном языке для выражения нюансов представления применяются самые различные союзы, а в логике предикатов описываются только логические факты. И поэтому для устранения избыточности все многообразие союзов необходимо свести к ограниченному множеству союзов-связок, принятых в языке логики предикатов: “и”— &,
“или” — V, “если, то”-----®, “эквивалентно” — «. Чтобы установить, на
какой из перечисленных союзов заменить т. н. “нестандартный” союз, необходимо провести анализ истинности исходного сложного предложения при различных вариантах значений истинности входящих в него простых предложений и сравнить результаты с таблицами истинности для &, V, ®, «. В данном случае под истинными простыми предложениями понимаются предложения, которые соответствуют действительности (описывают некий свершившийся факт). Сложное же предложение будем считать истинным, если оно не противоречит норме права, описанной в НПД. Подобный способ соединения приводит к потере некоторых нюансов и становится причиной более низкой описательной мощности логики предикатов по сравнению с естественным языком, но, с другой стороны, дает возможность автоматизировать обработку предложений с помощью компьютера.
2. Так как атомарный предикат соответствует простому нераспространенному предложению, то далее необходимо представить каждое простое нераспространенное предложение в виде предиката.
Но сначала проводится полуформализованное описание объекта, т. е. строится структурно-графическое представление текста НПД. В вершины помещаются понятия, сущности или объекты, упомянутые в предложении, а дугами описываются признаки и отношения, связывающие данные объекты. Причем дуги можно помечать именами отношений. В качестве отношения в предложении чаще всего выступает сказуемое. Далее каждую дугу структурно-графического представления нужно задать предикатом как отношение между сущностями, которые описывают узлы на концах дуги; причем за имя предиката принимается пометка, стоящая на дуге.
3. Затем необходимо объединить в одну ППФ атомарные предикаты, составленные в п. 2, используя союзы-связки между простыми предложениями, определенные в п. 1. Таким образом, каждая ППФ будет описывать соответствующее ей сложное предложение.
Кроме того, необходимо отдельно выписать все импликации, встречающиеся в полученных ППФ, а также заменить множество одноименных предикатов одним предикатом с неким собирательным именем по одной из трех нижеследующих формул. Например, для предложений типа: “В претензии указываются требования заявителя, сумма претензии, обоснованный ее расчет...”, — будем пользоваться формулой (1) (см. ни-
же), т. к. в конечном итоге советующая система должна будет выдавать пользователю все элементы, которые нужно указать в претензии, соединяя их при этом союзом “и”. То есть в процессе логического вывода понадобится перебрать все соответствующие предикаты. Для примера: “Претензия отправляется заказным или ценным письмом, по телеграфу, телетайпу...” также необходимо будет выдать пользователю все варианты отправления претензии, но соединяться они уже будут союзом “или”, поэтому замену нужно производить по формуле (2). Далее в процессе логического вывода для предикатов типа S_and или S_or будет инициироваться механизм отката, реализованный в Прологе, который позволяет осуществить полный перебор всех необходимых предикатов. В случаях, когда в процессе логического вывода полный перебор одноименных предикатов производить не нужно, а достаточно найти какой-либо один из них, будем пользоваться формулой (3). Например, когда необходимо выбрать из множества документов (x) один, регулирующий данное правоотношение (а), достаточно найти один из предикатов "регулирует (x, y)",
для которого y=a, чтобы понять, что документ x применим в данном случае к правоотношению а. Причем последний случай может возникать только для дизъюнктивного соединения предикатов, и не может — для конъюнктивного, т. к. только в дизъюнкции для истинности всей ППФ достаточно истинности хотя бы одного из входящих в нее предикатов:
& S (ai, b ) = S _ and (x, y) (1)
V S(ai, bi ) = S_ or(x y) (2)
£ S(a, bi ) = S(X y) (3)
где S — имя одинаковых предикатов; n — их количество; a;, bi — их термы; x, y — переменные; and — “и”; or — “или”.
4. Семантической единицей любого НПД является норма права, которая описывает общеобязательные правила поведения, регулирующие правовые отношения в социальной среде, неисполнение которых влечет применение юридических санкций.
В соответствии с теорией права любая юридическая норма содержит три элемента: гипотезу (A) — указание на условия, при которых возникают права и обязанности; диспозицию (B) — указание на сами права и обязанности; санкцию (C) — указание на неблагоприятные последствия, наступающие при нарушении нормы [4]. Моделью такой структуры является логическая формула “если..., то..., иначе...”:
ABC v ABC =[(A ® B)® C]&[(A ® B)® C] (4)
Поэтому необходимо выделить в тексте НПД правовые нормы, закрепить за каждой из них совокупность предложений, которые описывают ее, определить, как эти предложения связаны между собой и какому
из трех элементов структуры нормы права (А, В или С) они соответствуют. Затем все ППФ для этих предложений можно объединить в одну ППФ по формуле (4). Следует отметить, что не во всякой норме обязательно присутствуют все три элемента. Диспозиция всегда содержится в норме права. В некоторых нормах гипотеза подразумевается. Санкции содержатся в основном в правоохранительных нормах.
Проиллюстрируем применение данной методики формализации НПД на примере одного предложения из “Положения о претензионном порядке урегулирования споров”: “Претензия отправляется заказным или ценным письмом, по телеграфу, телетайпу, а также с использованием иных средств связи, обеспечивающих фиксирование ее отправления, либо вручается под расписку”.
В соответствии с п. 1 данной методики представим это предложение в виде: “Претензия отправляется заказным письмом. или. Претензия отправляется ценным письмом. или. Претензия отправляется по телеграфу. или. Претензия отправляется по телетайпу. или. (Претензия отправляется иными средствами связи. если. Иные средства связи обеспечивают фиксирование отправления.) или. Претензия вручается под расписку”. В данном случае союзы “либо”, “а также” были заменены союзом “или”, наиболее близким по смыслу. Кроме того, был добавлен союз “если”, который присутствовал в предложении в неявном виде.
Далее, в соответствии с п. 2, построим структурно-графическое представление текста НПД, приведенное на рисунке:
На основе рисунка можно записать множество предикатов: 8(а,Ъ), 8(а,с), Б(а,а), 8(а,е), 8(аД), 8(а,е), д(е,к).
Затем, в соответствии с п. 3, объединим перечисленные выше предикаты в одну ППФ (5), учитывая, что союзам “или” соответствует дизъюнкция (V), а союзу “если..., то...” — импликация (®). Формулу (5) можно разбить на две ППФ: (6) и (7), преобразовав их по формуле (2).
8(а,Ъ^8(а,с^8(а,^8(а,е^8(а,:Е)^д(е,к)®8(а,е)), (5)
0(е,к)®8_ог(а,е), (6)
8(а,Ъ^8(а,с^8(а,^8(а,е^8(а,:Е^8(а,е)=8_ог(х,у). (7)
Далее, в соответствии с п. 4, выделим в тексте НПД норму права и определим ее структуру. В рассматриваемом НПД данное предложение входит в структуру нормы права, описывающей порядок предъявления претензии, в качестве гипотезы наряду с другими предложениями, соединенными между собой знаком &. Диспозицией является предикат Р(а)=предъявляется(претензия). Санкция в структуре данной нормы отсутствует. Поэтому, в соответствии с формулой (4), для данной нормы можно записать ППФ (8), где все константы заменены переменными:
и_апЩх,7)&К_ог(х,-№)&Т(х,г)&8_ог(х,у)®Р(х) (8)
Подобным образом, весь рассматриваемый документ был представлен в виде модели знаний на языке логики предикатов первого порядка, состоящей из множества атомарных предикатов и ППФ.
После формализованного представления текста НПД можно переходить к реализации базы знаний на ЭВМ с помощью языка декларативного программирования Турбо-Пролог. Основными элементами в нем являются правила и факты. Факты представляют собой атомарные предикаты, в которых все термы являются константами (аналог высказываний в логике предикатов). Правила представляют собой аналог ППФ, записанных в форме импликации, в которых предикаты соединяются между собой с помощью специальных символов. Таким образом, формализованное представление НПД на языке логики предикатов может быть легко переведено на Пролог.
Итак, нами были предприняты первые попытки формализации НПД декларативными методами. Такая формализация была проведена на примере конкретного документа. На основе формализованной модели была написана программа, которая в диалоговом режиме выдает пользователю рекомендации о том, как ему поступать в конкретной правовой ситуации в соответствии с данным нормативным документом. То, что такая программа была создана, и она правильно функционирует, уже говорит о том, что такая формализация в принципе возможна. Однако предложенная методика еще нуждается в доработке. Основная проблема, которая здесь возникает, — это проверка адекватности полученной модели знаний реальной системе знаний и доказательство того, что полученная модель, по крайней мере, не противоречит закону, который она формализует. Эта проблема представляет особый интерес и требует проведения дополнительных исследований в данной области.
ЛИТЕРАТУРА
1. Правовая информатика и кибернетика : учебник для ВУЗов / Под ред. Поле-
вого Н.С. М.: Юридическая литература, 1993. 528 с.
2. Осуга С. Обработка знаний. Пер. с япон. М.: Мир, 1989. 293 с.
3. Гаврилова Т.А., Червинская К.Р. Извлечение и структурирование знаний для
экспертных систем. М.: Радио и связь, 1992. 200 с.
4. Хропанюк В.Н. Теория государства и права : учебное пособие для ВУЗов. М.: Дабахов, Ткачев, Димов. 1995. 384 с.