Научно-производственный центр Интелтек Плюс

Концепция проекта “Минерва”

Цель проекта:

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

Структура системы

Структура экспертной системы, разрабатываемой в рамках выполнения проекта, представлена на рисунке.

Можно выделить три основных блока экспертной системы - Логический анализатор текста, Блок семантического анализа, Базу данных для хранения знаний экспертной системы.

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

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

В качестве исходного материала для начального заполнения базы знаний предусматривается использовать базы данных нормативных актов известных правовых информационных систем "Консультант Плюс", "Гарант".

Логический анализатор текста

Состоит из следующих элементов:

  • словарь ограниченного русского языка
  • морфологический анализатор
  • синтаксический анализатор

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

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

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

Пример метапонятия

Слово Лицо в различном контексте может интерпретироваться как часть тела человека, если оно встречается в связке с прилагательным – Физическое Лицо, то это определенный юридический термин, если в связке с прилагательным Юридическое Лицо, то это еще одно значение термина, отличное от предшествующих.

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

Пример

Модель управления для предиката ВЫПОЛНЯТЬ. Глагол ВЫПОЛНЯТЬ может встречаться, например, в таких предложениях:

  1. Министерство РФ выполняет постановление.
  2. Экспертная группа выполняет анализ для вынесения заключения.
  3. Подрядчик выполняет работы по поручению заказчика.

Для таких предложений модели управления указаны в соответствующих строках таблицы.

Таблица модели управления для предиката выполнять

N

Предлог

Часть речи - кандидат

Синтаксический падеж слова-кандидата

Семантическое метапонятие слова-кандидата

Семантическая роль

Есть альтер-нативы

1*

 

Существительное

Именительный

СУБЪЕКТ

Агент

Нет

2

Для

Существительное

Родительный

ОБЪЕКТ

Цель

Нет

3

По

Существительное

Дательный

ОБЪЕКТ

Инициатор

Нет

 

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

 

Синтаксический анализатор выполняет построение синтаксического графа предложения.

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

Семантический анализ

Выполняется как преобразование графа предложения (см. пункт Синтаксический анализатор) в выражения на языке “Минерва” с применением шаблонов. Состоит из собственно анализатора и библиотеки шаблонов синтаксических конструкций русского языка, для которых уже имеется описание на формальном языке представления знаний.

Пример

Предложения из постановления Верховного Совета Российской Федерации “О порядке введения в действие Закона Российской Федерации "Об основах налоговой системы в Российской Федерации"”

... Правительству РФ ...:

провести переговоры о заключении с иностранными государствами соглашений об избежании двойного налогообложения доходов (прибыли) и имущества юридических и физических лиц;

и

разработать и ввести, начиная с 1992/93 учебного года, в программу средней школы курс по налоговому законодательству;

 

имеют сходную структуру, в которой присутствуют следующие смысловые категории:

СУБЪЕКТ - ПРЕДИКАТ - ОБЪЕКТ - ТЕМА

Шаблон, формирующий знание для такого рода предложений, выглядит так:

 

Boolean СУБЪЕКТ::ПРЕДИКАТ ( ОБЪЕКТ )
begin

if( ОБЪЕКТ.Название () = ТЕМА)

assign Истина

else

assign Ложь

end

 

Ключевое слово Boolean означает, что данный шаблон выдает логический ответ: ИСТИНА или ЛОЖЬ в зависимости от названия получаемого ОБЪЕКТА.

 

Программа на языке “Минерва”

Язык описания семантики текстов документов должен быть объектным, чтобы можно было адекватно отразить объекты (например, СУБЪЕКТ ПРАВА, ПРЕЗИДЕНТ, НАЛОГ), их свойства и модели отношений между ними.

Формальный язык описания документов имеет рабочее название “Минерва”. Далее представлен пример обработки системой нормативного акта – от исходного текста до записи его семантики на формальном языке.

Текст исходного документа:

 

П О С Т А Н О В Л Е Н И Е

ВЕРХОВНОГО СОВЕТА РОССИЙСКОЙ ФЕДЕРАЦИИ

 

О порядке введения в действие Закона Российской Федерации

"Об основах налоговой системы в Российской Федерации"

 

1. Ввести в действие Закон Российской Федерации "Об основах

налоговой системы в Российской Федерации" с 1 января 1992 года, за

исключением положений о порядке распределения в бюджетную систему

налогов на добавленную стоимость и прибыль предприятий и организа-

ций.

2. Комитету Верховного Совета Российской Федерации по законо-

дательству до 1 февраля 1992 года внести на рассмотрение Верховного

Совета Российской Федерации предложения о приведении законодательных

актов Российской Федерации в соответствие с указанным Законом.

3. Правительству Российской Федерации:

а) до 15 января 1992 года привести решения Правительства Россий-

ской Федерации в соответствие с указанным Законом;

б) определить перечень, порядок и сроки уплаты сборов и разных

неналоговых доходов до 1 апреля 1992 года. До указанного срока сборы

и неналоговые платежи взимать в установленном на 1991 год порядке;

в) разработать и ввести, начиная с 1992/93 учебного года, в прог-

рамму средней школы курс по налоговому законодательству;

г) провести переговоры о заключении с иностранными государствами

соглашений об избежании двойного налогообложения доходов (прибыли) и

имущества юридических и физических лиц;

д) в двухнедельный срок решить следующие вопросы:

обеспечения Государственной налоговой службы Российской Федера-

ции материально-техническими средствами, включая служебные помещения,

полиграфические мощности, транспорт, средства вычислительной, органи-

зационной техники и связи, предусмотрев ассигнования на эти цели в

федеральном бюджете на 1992 год отдельной строкой;

комплектования кадрами налоговых органов, в том числе централь-

ного аппарата Государственной налоговой службы Российской Федерации,

обеспечения работников налоговых органов жильем, детскими учреждени-

ями и другими социально-бытовыми условиями.

 

После морфологического и синтаксического анализа из исходного текста автоматически выделяется набор именных групп (в тексте примера выделены жирным шрифтом) и предикатов, которые к ним относятся (выделены подчеркиванием).

Пример выделения понятий и предикатов

верховный совет РФ {постановлять} постановление

постановление {вводить в действие} Закон РФ "Об основах налоговой системы в Российской Федерации"

 

1.

1.1 постановление {ввести в действие} Закон РФ "Об основах налоговой

системы в РФ".

1.2 постановление {ввести в действие} Закон РФ "Об основах налоговой

системы в РФ" с 1 января 1992 года.

1.3 постановление NOT{ввести в действие} положение

1.4 положение {есть} "О порядке распределения в бюджетную

систему налогов на добавленную стоимость и прибыль предприятий и

организаций.

2.

2.1 комитет ВС РФ по законодательству {внести} предложения

2.2 верховный совет РФ {требовать} предложения.

2.3 комитет ВС РФ по законодательству {внести предложения} до 01/01/1992.

2.4 предложения {касается} законодательных актов РФ.

2.5 законодательные акты РФ {привести в соответствие} с Закон РФ

"Об основах налоговой системы в Российской Федерации".

3.

3.1 постановление {обязывает} правительство РФ.

3.2 решения правительства РФ {привести в соответствие} с Закон РФ

"Об основах налоговой системы в Российской Федерации".

3.3 решения правительства РФ {привести в соответствие} до 15/01/1992.

3.4 правительство РФ {определить} перечень налогов.

3.5 правительство РФ {определить} порядок уплаты налогов.

3.6 правительство РФ {определить} сроки уплаты налогов.

3.7 правительство РФ {определить} до 01/01/1992.

3.8 правительство РФ {взимать} налоги.

3.9 правительство РФ {взимать} старый распорядок.

3.10 правительство РФ {взимать} до 1 апреля 1992 года.

3.11 правительство РФ {разработать} курс по налоговому законодательству.

3.12 правительство РФ {ввести} курс по налоговому законодательству.

3.13 курс по налоговому законодательству {ввести в программу} средней школы.

3.14 правительство РФ {ввести} курс с 1992/93 учебного года.

3.15 правительство РФ {провести} переговоры.

3.16 переговоры {провести} с иностранными государствами.

3.17 переговоры {избежать} двойного налогообложения доходов (прибыли) и

имущества юридических и физических лиц.

3.18 правительство РФ {решить} вопрос.

3.19 правительство РФ {решить} в течение 14 дней.

3.20 вопрос {есть} обеспечение Государственной налоговой службы Российской Федерации.

3.21 вопрос {есть} комплектования кадрами налоговых органов.

Система формирует объект и его модель поведения. Если в базе знаний уже есть такой объект, то его модель поведения дополняется.

Пример

Объект Правительство РФ

Его модель поведения определяется следующими предикатами:

{определить}

{взимать}

{разработать}

{ввести}

{провести}

{избежать}

{решить}

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

Пример

Возьмем рассмотренные ранее предложения и шаблон для них. В роли СУБЪЕКТа выступает Правительство РФ, ОБЪЕКТ в первом случае - переговоры, во втором – курс. Модель поведения в первом случае определяется глаголом Провести, во втором - Ввести. Система автоматически сформирует два следующих выражения для объекта Правительство РФ:

Boolean Правительство РФ::Провести (Переговоры)

begin

if(Переговоры.Название () = “двойное налогообложение”)

assign True

else

assign False

end

Boolean Правительство РФ::Ввести ( Курс )

begin

if(Курс.Название () = “налоговое законодательство”)

assign True

else

assign False

end

 

База данных для хранения объектов и моделей поведения

Для хранения атрибутов объектов и их методов целесообразно применить объектную базу данных. Именно объектная СУБД обеспечивает эффективное хранение объектов, взаимодействие между ними посредством передачи сообщений (в терминах объектного программирования – вызовом методов с определенными параметрами), чтение/запись объектов из/в базу. Следует отметить, что применение объектной базы данных позволяет совместить хранение знаний в виде объектов и связей между ними, наряду с текстами самих документов. Объектная СУБД ODB-Jupiter, разработанная в НПЦ "Интелтек Плюс", хорошо подходит для этой цели. В информационно-поисковой системе ODB-Text, использующей эту СУБД как сервер документов, уже решены вопросы хранения текстов юридических документов в виде гипертекста, а также реализован сложный полнотекстовый поисковый механизм.

 

Противоречия

Пример выявления противоречия статьи 11 федерального закона "О государственной регистрации прав на недвижимое имущество и сделок с ним" Конституции РФ.

Конституция РФ

Статья 57

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

 

На основании статьи 57 система сформирует такие знания:

 

Субъект_права.Платить ( Налог )

Субъект_права.Платить ( Сбор )

 

Субъект_права.Иметь ( Имущество )

 

Федеральный закон

“О государственной регистрации прав на недвижимое имущество и сделок с ним”

Статья 1. Основные термины

. . .

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

 

Статья 11.

Источники средств для создания и развития системы государственной регистрации прав

1. Система государственной регистрации прав создается за счет платы

за регистрацию и предоставление информации о зарегистрированных правах, бюджетных средств и иных не запрещенных законом источников.

2. Плата за регистрацию и предоставление информации о зарегистрированных правах на недвижимое имущество и сделок с ним взимается в размерах, установленных субъектами Российской Федерации.

Максимальный размер платежей на территории Российской Федерации устанавливается Правительством Российской Федерации.

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

Статья 1, которая определяет необходимость регистрации недвижимого имущества, на языке “Минерва” будет представлена так:

Boolean Субъект_права.Должен_Регистрировать ( Имущество )

begin

if (Субъект_права.Иметь ( Имущество ) AND Имущество = Недвижимость)

return Истина

else

return Ложь

end

Статья 11, которая определяет порядок такой регистрации, на языке “Минерва” будет представлена так:

Boolean Субъект_права.Регистрация ( Имущество )

begin

if ( Субъект_права.Регистрировать( Имущество ) AND Субъект_права.Платить ( Плата) )

return Истина

else

return Ложь

end

После описания процедуры регистрации пользователь системы добавляет это описание в базу знаний. На этом этапе и будет выявлено противоречие с информацией, занесенной в базу ранее: отсутствие у объекта Субъект_права метода Платить с аргументом Плата, поскольку в Конституции РФ декларируется обязанность Субъект_права платить только налоги и сборы. В законе "Об основах налоговой системы в Российской Федерации", где определяется понятие налогов, термин Плата также не фигурирует, следовательно, среди объектов формального языка не присутствует. Пользователь получит сообщение с информацией о документах, в которых встречались упоминание о Субъекте_права (в нашем случае – Конституция РФ и закон "Об основах налоговой системы в Российской Федерации") система укажет ему имя объекта и метода, вызвавших конфликт и выделит строку программы языка "Минерва":

if ( Субъект_права.Регистрировать( Имущество ) AND Субъект_права.Платить ( Плата) )

на которой произошел останов. На основании этой информации пользователь сможет позиционироваться на тех фрагментах документа, где выявлено противоречие. В нашем примере это будет статья 11 закона "Об основах налоговой системы в Российской Федерации".

Синтез текста документа, временной срез

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

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

ИНТЕЛТЕК ИЗДАТЕЛЬСТВО Искусственный интеллект


© НПЦ "ИНТЕЛТЕК ПЛЮС", 1997-2006, E-mail: publish@inteltec.ru