Научная статья на тему 'Моделирование системы управления активацией продукционных правил с использованием автоматного программирования'

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

CC BY
118
21
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТЕОРИЯ АВТОМАТОВ / ОНТОЛОГИЯ С АКТИВНОЙ СЕМАНТИКОЙ / МОДЕЛИРОВАНИЕ СИСТЕМ СО СЛОЖНЫМ ПОВЕДЕНИЕМ / УПРАВЛЕНИЕ АКТИВАЦИЕЙ СИСТЕМ ПРОДУКЦИЙ / СИСТЕМА / ОСНОВАННАЯ НА ЗНАНИЯХ / БАЗА ЗНАНИЙ / СИСТЕМА ПРОДУКЦИЙ / THEORY OF AUTOMATA / ONTOLOGY WITH ACTIVE SEMANTICS / MODELLING THE SYSTEMS WITH COMPLEX BEHAVIOR / CONTROL THE ACTIVATION OF PRODUCTION SYSTEMS / SYSTEM / BASED ON KNOWLEDGE / BASE OF KNOWLEDGE / PRODUCTION SYSTEM

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Дармахеева Татьяна Анатольевна, Хаптахаева Наталья Баясхалановна

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Дармахеева Татьяна Анатольевна, Хаптахаева Наталья Баясхалановна

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

Modeling of System for Controling Activation of Production Rules with the Use of Automatic Programming

The article presents the results of modeling the system for controlling activation of production systems. The activation of production systems is controlled through the use of knowledge of the system of production in the form of an ontology with active semantics. The behavior of the system that implements the control of the activation of production systems based on ontology with active semantics is complex. The theory of automata and the technology of automatic programming are used to simulate such a system. As a result, an automatic model of the system for controlling the activation of production systems was obtained and its software implementation was carried out. Testing of methods of natural language processing of the text and extraction of knowledge concerning terms and relations between them from the dictionary articles of the terminological dictionary were carried out by means of the obtained software. The methods are presented in the form of production systems.

Текст научной работы на тему «Моделирование системы управления активацией продукционных правил с использованием автоматного программирования»

ИНФОРМАЦИОННЫЕ СИСТЕМЫ И ТЕХНОЛОГИИ

УДК 004.82

DOI: 10.18101/2304-5728-2018-3-40-59

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

©Дармахеева Татьяна Анатольевна

ассистент,

Восточно-Сибирский государственный университет технологий и управления Россия, 670013, г. Улан-Удэ, ул. Ключевская, 40В E-mail: tania-shatyeva@mail.ru

О Хаптахаева Наталья Баясхалановна

кандидат технических наук, доцент,

начальник отдела подготовки кадров высшей квалификации, Восточно-Сибирский государственный университет технологий и управления Россия, 670013, г. Улан-Удэ, ул. Ключевская, 40В E-mail: khapnb@gmail.com

В статье приведены результаты моделирования системы управления активацией систем продукций. Управление активацией систем продукций осуществляется за счет использования знаний о системе продукций в виде онтологии с активной семантикой. Поведение системы, реализующей управление активацией систем продукций на основе онтологии с активной семантикой, является сложным. Для моделирования такой системы применяется теория автоматов и технологии автоматного программирования. В результате чего получена автоматная модель системы управления активацией систем продукций и выполнена её программная реализация. Посредством полученного программного обеспечения проведено тестирование методов естественно-языковой обработки текста и извлечения знаний о терминах и отношениях между ними из словарных статей терминологического словаря. Методы представлены в виде систем продукций. Ключевые слова: теория автоматов; онтология с активной семантикой; моделирование систем со сложным поведением; управление активацией систем продукций; система, основанная на знаниях; база знаний; система продукций.

Введение

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

В статье рассматривается база знаний, содержащая продукционные правила, сгруппированные в системы продукций. Каждая отдельная система продукций реализует либо метод естественно-языковой обработки текста, либо метод извлечения знаний о терминах и отношениях между ними. Для управления активацией этих систем продукций в [1] разработан способ управления, суть которого заключается в обходе сети знаков-фреймов, образующих онтологию системы продукций. В результате движения по сети знаков-фреймов происходит вызов внутренних и внешних присоединенных процедур знаков-фреймов, что обеспечивает автоматическое решение следующих задач: выбор системы продукций для активации, построение рабочей памяти, соответствующей активной системе продукций, запуск машины логического вывода на активной системе продукций [1]. Знак-фрейм - это концептуальный объект одной из категорий: «Понятие», «Свойство», «Действие», «Величина», «Событие» и «Состояние» [2]. Внутренние присоединенные процедуры предназначены для чтения ХМЬ-документов, содержащих описание терминов онтологии, и отвечают за обход сети знаков-фреймов. К ним относятся процедуры осуществляющие разбор концептуальных объектов категорий «Понятие», «Действие», «Свойство», «Величина», «Состояние» и «Событие»: Яеас1Сопсер1;0, Ясас1Ас1:юп(). ЯеасШгорейуО, ЯеасК^иагЛ^уО, Яеас181а1е0 и Яеас1Еуеп1;() соответственно. В процессе выполнения внутренних процедур запускаются внешние присоединенные процедуры, реализующие основные действия механизма управления системами продукций. Например, процедура В1и1с1_гс1айопз(). которая строит таблицы рабочей памяти в соответствии со структурой предикатов, где имя таблицы соответствует имени предиката, а поля — аргументам. Заполнение таблиц фактами, необходимыми для решения задачи, осуществляется посредством выполнения процедур лексического анализа текста Ьсх_апа1уз1з(). загрузки словарей Ьоас1_ВР(), извлечения множество пар <основа+окончание> из лексем Ех^ас^тофЬетевО и другими. Запуск машины логического вывода на полученных фактах рабочей памяти и заданной системе продукций выполняет внешняя присоединённая процедура Р1ау_1г^егепсеЕгщте(). Библиотека присоединенных процедуры модифицируется и пополняется в зависимости от решаемой задачи. Вызов внутренних и внешних присоединенных процедур выполняется том порядке, в котором данные процедуры встречаются в знаке-фрейме. Содержимое слотов знаков-фреймов зависит от реализуемого системой продукций метода. Последовательность чтения знаков-фреймов определяется онтологией системы продукций, которая для каждой системы продукций является уникальной.

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

1. Моделирование систем со сложным поведением на основе автоматного программирования

Система управления активацией систем продукций (далее - СУ АСП) состоит из следующих компонент: интерфейс программы, подсистема чтения онтологии системы продукций, подсистема обработки знаков-фреймов, библиотека присоединенных процедур знаков-фреймов. Поведение данной системы описывается следующим образом:

1. Через интерфейс программы пользователем вводится словарная статья и выбирается метод естественно-языковой обработки текста или метод извлечения знаний.

2. На вход подсистемы обработки онтологии подается онтология системы продукций, соответствующая выбранному методу. В процессе чтения онтологии происходит обход сети знаков-фреймов. Обход всегда начинается со знака-фрейма категории «Понятия», являющимся центральным в сети. Если требуется активация другой системы продукций, то чтение текущей онтологии SPj приостанавливается и осуществляется переход на чтение онтологии системы продукций SP^. После окончания чтения онтологии Sl'i,. происходит возврат к чтению онтологии Л7'(

3. В каждом узле сети знаков-фреймов из подсистемы обработки знаков-фреймов вызываются соответствующие механизмы. Каждая категория знаков-фреймов имеет различную структуру и поэтому обрабатывается соответствующим образом. Например, если знак-фрейм относится к категории «Понятие», то необходимо вызвать конкретный механизм для его обработки. И так для каждой из перечисленных выше категорий концептуальных объектов.

4. Если в слоте знака-фрейма прописан вызов присоединенной процедуры, то происходит ее вызов. После выполнения присоединенной процедуры обработка знака-фрейма продолжается дальше, но уже после точки вызова процедуры. Результатом вызова процедуры может быть:

• переход на обработку другого знака-фрейма;

• активация другой системы продукций, что означает выполнение п.2;

• построение структуры рабочей памяти;

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

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

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

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

объектов управления, которые состоят из управляемой и управляющей частей. Управляемая часть состоит из объекта управления, который отвечает за выполнение действий, выбранных для выполнения управляющей частью, и, возможно, за формирование некоторых компонентов входных воздействий для управляющей части - обратных связей. Управляющая часть отвечает за логику поведения - выбор выполняемых действий, зависящий от текущего состояния и входных воздействий, а также за переход в новое состояние. Управляющая часть представляет собой управляющий автомат или систему взаимодействующих автоматов. Формально автоматизированный объект управления - это пара вида [3]:

АО и =< А, О >, (1)

где А — управляющий автомат, О — объект управления.

Управляющий автомат — это пятерка вида:

А=<Х,¥,г,у0,(р,8>, (2)

где X = ХЕ х Х0 — конечное множество входных воздействий, причем каждое входное воздействие х состоит из компоненты хЕ, порождаемой внешней средой, и компоненты х0, порождаемой объектом управления;

Г — конечное множество управляющих состояний;

Z — конечное множество выходных воздействий;

у0 6 7 — начальное состояние;

ф = ф'х ф" — функция выходов (выходных воздействий), состоящая, в общем случае, из двух компонент: функции выходных воздействий в состояниях ф': и функции выходных воздействий на переходах ф": ХхУ^г;

5: X х7 —>7— функция переходов.

Объект управления - это тройка вида:

о=<у,ис>, (з)

где V — потенциально бесконечное множество вычислительных состояний (или значений);

/ч: К—>Х0 — функция, сопоставляющая входное воздействие вычислительному состоянию;

/с\ Z/ V— функция, изменяющая вычислительное состояние в зависимости от выходного воздействия.

Функции /ди/с являются математическими эквивалентами набора запросов и набора команд соответственно.

2. Автоматная модель СУ АСП

Таким образом, используя автоматную модель СУ АСП можно описать как множество взаимодействующих между собой автоматизированных объектов, которое имеет вид:

Control _ Activation _SP = {AOU, ,AOU0, AOU, ,AOUd,

(4)

AOUg, AOU6, AOU7}.

Автоматизированный объект управления AOU\, отвечает за чтение онтологии системы продукций и работу системы в целом имеет вид:

AOUl =< ReadOntlogy, < GUI,ControlOntology », (5)

где ReadOntology — автомат, реализующий алгоритм обхода сети знаков-фреймов, образующих онтологию заданной пользователем системы продукций и работу интерфейса программы;

GUI— объект управления, отвечающий за интерфейс программы;

ControlOntology — объект управления, содержащий механизмы, требуемые для чтения онтологии системы продукций.

Управляющий автомат ReadOntology — это пятерка вида:

ReadOntology =< ont_Х,ont _Y,ont _Z,ont_y0,ont_<p,ont_ô > , (6)

где ont_X = XExX0={pl.e\}x{Gui.X\}={pl,e\, Gui.X\} — множество входных воздействий: р\.в\- компонент, порождаемый поставщиком событийр 1 и означающий событие «Система продукций выбрана пользователем»; Gui.X\ — компонент, порождаемый объектом управления Gui и отвечающий на вопрос: «Найден ли центральный знак-фрейм онтологии системы продукций?».

ont_Y = {ont_y0, ont_y\, ont_y2, ont_y3} — конечное множество управляющих состояний:

ont_y0 - «Получение входных данных»;

ont_yi - «Чтение онтологии СП»;

ont_y2 ~ «Вызов автомата ReadConcept»;

ont^y3 - «Активация системы продукций завершена».

ont_Z = {Gui,z\,Gui,z2, Ontology.z\) — конечное множество выходных воздействий:

Gui.zi — «Загрузить интерфейс»;

Gui.z2 — «Определить категорию знака-фрейма»;

Ontology.z\ — «Прочитать онтологии системы продукций».

ont_y0 G ont_Y — начальное состояние.

ont (р = ont ср'хont ср"— функция выходов (выходных воздействий): ont ср': ont_Y—> ont_Z— функция выходных воздействий в состояниях: ontjp'I: yO—*Gui.zl, ont ср''2: yl^>Gui.z2, Ontology.zl,

ont ср'З: y2^ReadConcept. ont ср": ont_Xxont_Y—>ont_Z — функция выходных воздействий на переходах, для данного автомата не существует. ont_(p={(y0-^-Gui,z\), (yi^(Gui.z2, Ontology.zi)), (y2^ReadConcept))}, где Gui.zi, Gui.z2, Ontology.z\ из ontJZ. ReadConcept - управляющий автомат, реализующий алгоритм разбора знаков-фреймов категории «Понятие».

ont_8: oni_X/oni_Y—> ont_Y — функция переходов, которая представлена ниже в таблице 1.

Таблица 1.

№ ont X ont Y ont X><ont Y^ont Y

1 p\.Q\,Gui.X\ ont_y0 ont_yi

2 р\.Q\,\Gui ,Х\ ont y0 ont y3

3 р2.в\ Ont_yi ont_y2

4 р2.ег Ont_yi ont_yj,

5 р2.еъ ont_y2 ont_yj,

Поставщик событий р2 описывает события, возникающие в процессе чтения онтологии системы продукций. Данные события передаются автоматам ReadOntology и ReadConcept. Ниже, в таблице 2 представлено описание событий из р2.

Таблица 2. События поставщика р2

Событие Описание Комментарий

e\ Онтология инициализирована Событие генерируется в случае, если для указанной пользователем системы продукций найден центральный знак-фрейм

e2 Онтология не инициализирована Событие генерируется в случае, если для указанной пользователем системы продукций не найден центральный знак фрейм

e3 Процесс активации завершен Событие генерируется, когда обход сети знаков-фреймов завершен

e4 Следующий такт автомата Это событие генерируется при переходе автомата из одного состояния в другое

Объект управления GUI — это тройка вида:

GUI =< gui _ V, gui _ fq, gui _ fc >, (7)

Для данного объекта gui_V= {gui_v\, gui_v2}: gui_v\ — «Загружен интерфейс»; gui_v2 — «Получены входные данные».

guij~q. gui_V-^>X0 — функция, сопоставляющая входное воздействие вычислительному состоянию:

gui_fqi \ gui_v\—► «Начало работы системы»;

45

gui_fq2. giti_v2—> «Данные введены». gui J¿ Y] х > gui_V — функция, изменяющая вычислительное

состояние в зависимости от выходного воздействия: gui_fc\. Gui.z\x gUÍ_V\ —> gui_v2. Объект управления ControlOntology — это тройка вида:

ControlOntology =< ont _ V, ont _ fq, ont _ fc >, (8)

где ont_V={ont_v\, ont_v2}: ont_v\ — «Онтология заданной системы продукций прочитана»; ont_v2 — «Заданная система продукций активирована».

ont_fq\. ont_v 1—► «Центральный знак-фрейм заданной системы продукций найден»;

ontJ'c\ : «Завершение работы системы»* ont_v^ оnt_v2. Автоматизированный объект управления, отвечающий за обработку знаков-фреймов категории «Понятие»:

AOU2 =< ReadConcept, ControlConcept >, (9)

ReadConcept — автомат, реализующий алгоритм разбора знаков-фреймов категории «Понятие»;

ControlConcept — объект управления, хранящий механизмы, стандартные — для обработки всех знаков-фреймов и специальные — для обработки знаков-фреймов категории «Понятие».

Управляющий автомат ReadConcept — это пятерка вида:

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

ReadConcept =< Con _Х, Con _Y, Con _Z, Con _ Jq, ^q^

Con _cp,Con _S >,

где Con_X = {(p2.e4,ControlConcept.Xi), (p2.e4,ControlConcept.x2), (p2.e4,ControlConcept.хъ), (p2.e4, ControlConcept.x4), (p2.e4, ControlConcept.x5), (p2.e4, ControlConcept.x6), ip2.e4, ControlConcept.x7)} — множество входных воздействий:

p2.e4 — компонент, порождаемый поставщиком событий р2 (см. выше в таблице 1);

ControlConcept. x¡ — истинно, если рассмотренный слот знака-фрейма имеет вложенный слот;

ControlConcept,х2 — истинно, если на текущем уровне знака-фрейма есть не обработанный слот;

ControlConcept.х3 — истинно, если рассмотренный слот знака-фрейма является вложенным слотом;

ControlConcept,х4 — истинно, если текущий слот необходимо обработать;

ControlConcept,х5 — истинно, если вызванный автомат завершил работу;

ControlConcept,х6 — возвращает код категории знака-фрейма от 1 до 6 (1 — Понятие, 2 — Действие и т.д.);

ControlConcept,x-¡ — истинно, если в текущем слоте знака-фрейма прописан вызов присоединенной процедуры.

Con_Y = { Соп_у0, Соп_у\, Соп_у2, Соп_у3, Соп_у4, Соп_у5, Соп_у6, Con_y-¡, Соп_уч, Соп_у9, Con_yw, Соп_уи, Con_yi2} — конечное множество управляющих состояний:

Соп_уо — «Инициализация знака-фрейма категории «Понятие»»;

Con_у\ — «Переход к вложенному слоту»;

Соп_у2 — «Переход к следующему слоту»;

Соп_у3 — «Возврат к родительскому слоту»;

Соп_у4— «Обработка текущего слота»;

Соп_у5 — «Завершение работы автомата»;

Соп_у6 — «Вызов присоединенной процедуры»;

Con_y-¡— «Вызов автомата ReadConcept»;

Соп_уч — «Вызов автомата ReadAction»;

Соп_у9 — «Вызов автомата ReadProperty»;

Con_yw— «Вызов автомата ReadState»;

Соп_уц — «Завершение работы присоединенной процедуры». Con_Z = {ControlConcept,zh ControlConcept,z2, ControlConcept.z3, Con-trolConcept.z4, ControlConcept.z5, ControlConcept ,z6, ControlConcept,z7} — конечное множество выходных воздействий:

ControlConcept.z\ — «Обработать вложенный слот»; ControlConcept,z2— «Обработать следующий слот»; ControlConcept.z3— «Вернуться к родительскому слоту»; ControlConcept,z4— «Выполнить присоединенную процедуру»; ControlConcept,z5— «Передать управление вызвавшему автомату»; ControlConcept,z6— «Завершить работу присоединенной процедуры»;

ControlConcept.z-¡— «Обработка знака-фрейма «Понятие»»; ControlConcept.z8 — «Предобработка знака-фрейма «Понятие»».

Соп_у0 е Con_Y— начальное состояние.

Соп_ф = Сои_ф'хСои_ф" — функция выходов (выходных воздействий):

Соп_ф': Сои_Г—>■ Con_Z— функция выходных воздействий в состояниях:

Соп_ф\: Con_y0-^ControlConcept.z%, Con_<$'2. Con _у ^ControlConcept.zi, Соп_ф'3: Con_y2-^ControlConcept.z2, Соп_(р\: Con_y3-^ControlConcept.z3, Соп_ц>'5: Соп_у^ControlConcept.z-¡, Соп_($'6: Con_y5-^ControlConcept.z5, Conj^i. Con_y6-^ControlConcept.z4, Соп_ц>'%: Con_y-¡^ReadConcept,

47

Соп_ф'9: Con_y^ReadAction, Соп_ф'ю: Con_y9-^ReadProperty, Соп_ф'ц: Con_yw-^ReadState, Соп_ц>\2: Con_yu^ControlConcept,z6. Con_(p": Con_Xx ('on_Y—>( \>n_Z— функция выходных воздействий на переходах:

Соп_ф"ь (p2.e4,ControlConcept.zg)^- Соп_у\. Con_<$={(Con_y0-^ControlConcept.z%, (p2.e4,ControlConcept.z%)^Con_yi),

(iCon_yi^ControlConcept.z\,(p2.e¿r,ControlConcept.z%)^Con_yi), (iCon_y2-^ControlConcept.z2,(p2.e4,ControlConcept.z%)^Con_yi), (Con_yj,-^ControlConcept.zj„ (p2.e4,ControlConcept.z%)^Con_yi), (Con_y4-^ControlConcept.z-¡, (p2.e4,ControlConcept.z%)^Con_yi), (Con_y5-^ControlConcept.z5, (p2.e4,ControlConcept.z%)^Con_yi), (Con_y6-^ControlConcept.z4, (p2.e4,ControlConcept.z%)^Con_yi), (Con_y1^ReadConcept,(p2.e4,ControlConcept.z%)^Con_y\), (Con^y^ReadAction, (p2.e4,ControlConcept.z%)^Con_yi), (Con_y9-^ReadProperty, (p2.e4,ControlConcept.z%)^Con_yi), (Con_yw-^ReadState, (p2.e4,ControlConcept.z%)^Con_yi), (Con_yu^ControlConcept,z6, (p2.e4,ControlConcept.z$)^-y\), где ReadAction, ReadProperty, ReadState — вызываемые автоматы, отвечающие за обработку знаков-фреймов категорий «Действие», «Свойство» и «Состояние» соответственно.

Соп_5: Con_Х х С'on_Y—>( 'on_Y — функция переходов для автомата ReadConcept, представлена ниже в таблице 3.

Таблица 3. Функция переходов Con 8 автомата ReadConcept

№ Con X Con_Y Con ХУ-СОП Y —> Сои 7

1 р2.е4 Соп^уо Сои_>>1

2 р2. с'\ |! ControlConcept.x 4&&! ControlConcept.x \ &&ControlConcept.x2] Соп_у\ Соп_у2

3 р2. с'\ |! ControlConcept.x4&L&.ControlConcept.X\ ] Соп_у2 Соп_у\

4 р2. с'\ |! ControlConcept.x 4&&! ControlConcept.x \ &&ControlConcept.x2] Соп_у2 Соп_у2

5 р2. с'\ |! ControlConcept.x4&L&.ControlConcept.X\ ] Соп_у\ Соп_у\

6 р2. с'\ |! ControlConcept.x 4&&! ControlConcept.x \ &&! ControlConcept.x2] Соп_у\ Con

7 р2. с'\ |! ControlConcept.x 4&&! ControlConcept.x \ && ! ControlConcept.x2] Соп_у2 Сои _>-3

8 p2.e4[ControlConcept.x28L&ControlConcept.x3] Con Соп_у2

9 p2.eA[\ControlConcept.x2&&ControlConcept.Xj\ Сои _>>3 Con

1 0 р2. с'\ |! ControlConcept.x3] Сои _>-3 Сои _>-5

1 1 /?2.е4 Сои _>-5 Сои_>>1

1 2 р2. е ¿¡[ControlConcept.х 4] Cow_y4

1 3 р2. e4[ControlConcept.X\ &&! ControlConcept.x7] Cow_y4

1 4 р2. е 4[ControlConcept.x4] Con_y2 Cow_y4

1 5 р2. с'\ |! ControlConcept.x \ &&ControlConcept.x2 efe efe! ControlConcept.x7] Con_y4 Con_y2

1 6 р2. с'\ |! ControlConcept.x \ &&! ControlConcept.x 2 efe efe! ControlConcept.x7] Con_y4 Con _j-3

1 7 р2. e4[ControlConcept.x1] Con_y4 Con_y6

1 8 р2. e4[ControlConcept.x6=l] Con_y6 Con_y-j

1 9 р2. e4[ControlConcept.x6=2] Con_y6 Con _ys

2 0 р2. e4[ControlConcept.x6=3] Con_y6 Con_y9

2 1 р2. e4[ControlConcept.x6=4] Con_y6 Con _yw

2 2 p2.e4[ControlConcept.x6<\ || ControlConcept.x^ 4] Con_y6 Con_y\ i

2 3 p2. c'\ |! ControlConcept.x \ 8L&ControlConcept.x2] Con_y\ i Con_y2

2 4 p2. c'\ |! ControlConcept.x \ &&! ControlConcept.x 2 ] i Con _j-3

2 5 /?2.e4[Cow/ro/Cowce/>/.Xi] i Con_y\

Объект управления ControlConcept — это тройка вида:

ControlConcept =< Con _ V, Con _ fq, Con _fc>, (11)

где Con_V— это множество всех возможных конфигураций слотов знака-фрейма категории «Понятие». Для обработки слотов знаков-фреймов используются множество команд Con_fq и множество запросов Con_fc\

Con_fq = {ControlConcept,zh ControlConcept.z2, ControlConcept.z3, ControlConcept.z4, ControlConcept.z5, ControlConcept,z6, ControlConcept.z-¡, ControlConcept ,z8}, подробное описание данных команд приведено выше в множестве Con_Y из (10).

Con_JC = {ControlConcept,хь ControlConcept,х2, ControlConcept.х3, ControlConcept.х4, ControlConcept,х5, ControlConcept,х6}, подробное описание данных запросов приведено выше в множестве Con^Х из (10).

Автоматизированные объекты управления AOU3, AOU4, AOU5, AOU6 и AOU7, отвечающие за обработку знаков-фреймов категорий «Свойство», «Величина», «Действие», «Событие» и «Состояние» соответственно, организованы в соответствии с их назначением.

4. Реализация автоматной модели

Для программной реализации описанной выше автоматной модели СУ АСП используется технология автоматного программирования ишМос1 [3]. Согласно концепции автоматного программирования схема связей автоматов — это тройка вида:

И=<Р,А,0>, (12)

Р = {Р{и = 1,..,к}, (13)

где Р — множество источников событий, к — количество источников событий. Множество источников событий рассматриваемой системы имеет вид:

Р = {Р1,Р2}, (14)

^2={е2'е3'е4'е5}- (16)

р 1 — поставщик событий, который генерирует событие с 1: р2 —

поставщик событий, возникающих в процессе чтения онтологии сис-

темы продукций. Описание этих событий приведено выше в таблице 2. А — множество диаграмм состояний автоматов:

А = {^и = 1,..,8}, (17)

Ai —диаграмма состояний конкретного автомата;

g — количество диаграмм. Ниже на рисунке 1 представлена построенная в среде ишМос1 схема связей автоматов.

Рис. 1. Схема связей автоматов

Как видно из рисунка 1, схема связей автоматов содержит два поставщика событий р\ п р2, расположенных слева. В центре рисунка расположены семь автоматов. Между собой автоматы соединены стрелками, которые указывают на вызываемые автоматы. Справа на рисунке расположены объекты управления. Связь между автоматом и объектом управления показана стрелками.

В работе множество диаграмм состояний автоматов имеет вид:

А = {ReadOntology,ReadConcept,ReadAction,ReadProperty, ,. „.

ReadOllantity,ReadState,ReadEvent}, ^

ReadOntology, ReadConcept, ReadAction, ReadProperíy, ReadOuantity, ReadState и ReadEvent автоматы математическое описание которых представлено выше.

О — множество объектов управления:

0 = {0j \i = \,..,r}, (19)

где г — количество объектов управления. Каждый элемент ог содержит множество соответствующих ему входных и выходных воздействий, обозначаемых через множества Хи Z соответственно:

Oj={X,Z}, (20)

X = {Xj I / = 1,..,/}, (21)

Z = {Zj | / = 1,..,т). (22)

В данной системе множество объектов управления имеет вид: О = {Gui, ControlOntology, ControlConcept, ControlProperty, ControlAction, ControlQuantity, (23)

ControlState, ControlEvent,AttachProc}, Gui, ControlOntology, ControlConcept, ControlProperty, ControlAction, ControlQuantity, ControlState, AttachProc — объекты управления элементов из

(4).

Автомат ReadOntology

Автомат ReadOntology — инициализирующий автомат, запускает приложение и задает начальные данные посредством взаимодействия пользователя с графическим интерфейсом. Автоматы ReadConcept, ReadAction, ReadProperty, ReadQuantity, ReadStates, ReadEvents реализуют логику работы с соответствующими объектами онтологии системы продукций.

Согласно рисунку 1 автомат ReadOntology взаимодействует с двумя объектами управления: Gui и Con. Также автомат ReadOntology осуществляет вызов автомата ReadConcept, задачей которого является разбор центрального знака-фрейма «Понятие». Граф переходов автомата ReadOntology представлен ниже на рисунке 2.

Получение входных данных

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

tenter /Gui.zl j

el[Gui.xl]

Чтение онтологии СП ^

4 e2

tenter /Gui.zZ, Ontoloqy.zl

éL

Вызов автомата ReadConcept41

i n cl u d е /Rea d С on cept

•1

Рис. 2. Граф переходов автомата ReadOntology

Граф переходов автомата ReadOntology описывается четверкой вида:

ReadOntology =< Ont_S,Ont_E,Ont_X,Ont_Z >, (24) где Ont_S — множество возможных состояний автомата ReadCO из (6).

Ont Е=<е,е ,е >, (25)

- 12 3

элементы из множества Ont_E описаны выше в таблице 2. Ont X— множество входных воздействий из (6), Ont Z— множество выходных воздействий из (6).

Автомат ReadConcept Активация системы продукций начинается с чтения центрального знака-фрейма, который имеет структуру концептуального объекта «Понятие». Из рисунка 1 видно, что автомат ReadConcept взаимодействует с одним объектом управления ControlConcept, производит вызов автоматов ReadProperty, ReadAction, ReadState, а также вызывает рекурсивно самого себя. Ниже на рисунке 3 представлен граф переходов данного автомата.

Рис. 3. Граф переходов автомата ReadConcept

Граф переходов автомата ReadConcept — это четверка вида:

ReadConcept =< Con _ S, Con _ E, Con _ X, Con _ Z >, (26)

где Con_S — множество возможных состояний автомата ReadConcept из (Ю).

Con Е=<е >, (27)

- 4

элементы из множества Con Е описаны выше в таблице 2. где Con_Х— множество входных воздействий из (10), Con Z— множество выходных воздействий из (10).

Остальные автоматы ReadProperty, ReadAction, ReadStates, ReadQuantity и ReadEvents реализованы аналогично автомату ReadConcept с учетом особенностей структуры соответствующих концептуальных объектов.

5. Апробация

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

В статье приведено краткое описание вычислительного эксперимента, проводимого на словарной статье: «ДЕНЬГИ — одно из важнейших понятий любого рыночного хозяйства: любые общепринятые средства платежа, которые могут обмениваться на товары и услуги и использоваться для оплаты долгов. Деньги — всеобщий эквивалент, особый товар, форма выражения стоимости всех других товаров. Деньги выполняют функции средства обмена, платежей, измерения стоимости, накопления богатства, мировых денег. Несмотря на то, что деньги возникли много тысяч лет назад, до сих пор в мире идут дискуссии о том, что такое деньги и почему они используются в хозяйстве» [5].

Выполнение морфологического анализа означает активацию системы продукций «Извлечение динамической морфологической информации». На рисунке 4 продемонстрирована структура базы данных арз, то есть рабочей памяти, сформированной для заданной системы продукций в автоматическом режиме.

^0 aps paggrwhole

Bid: int(11) ©Whole: longtext if Part: longtext

0 aps dictbasisnoun

«id: irrt(11) ill basis: longtext

0 aps dict_end_noun

id: int(11) ill end : longtext

^0 aps dictbasisverb

«id: int(11) if basis: longtext

Д 0 aps dict end verb

!id:int(11) © end : longtext

J|0 aps phiercategory

^id : int(11) if Text_unit: longtext i Category: longtext

Jq aps dict basis adjective

«id: int(11> if basis: longtext

J0 aps diet end adjective

^id : int(11)

i end : longtext

^0 aps drw_noun

Bid : int(11) if word_form :

longtext

J|0 aps drw union

Bid: int(11) iword_form :

longtext

^0 aps phierindex

iid:int(11) if Text_unit: longtext if Indexs: longtext

Д 0 aps dict_dmi_adjective

id: int(11) ® FK_number: longtext If end_nurnber: longtext if numbers: longtext

cases : longtext if genus : longtext

^0 aps dict fc

Bid : irrt(11) if word_form : longtext if number: longtext

^0 aps ppropcharacter Bid : int(11) ®Text_unit: longtext ® Characters : longtext

^0 aps dict_dmi_m

d: int(11) © FK_number: longtext if end_nurnber; longtext if numbers: longtext ises: longtext

go aPs

drw adverb

Bid: int(11) ®word_form :

longtext

J0 aps drwp re position

Bid: int(11) ®word_form :

longtext

Рис. 4. Структура рабочей памяти «Извлечение динамической морфологической информации»

1 Свидетельство об официальной регистрации программы для ЭВМ. Модуль активации систем продукций / заявитель и правообладатель ФГБОУ ВО ВСГУТУ. № 2018610271; заявл. 27.09.2017; опубл. 09.01.2018, Реестр программ для ЭВМ. 1 с.

Согласно рисунку 4 рабочая память содержит всего 17 таблиц, из которых 13 словарей — сПс1:_ЬазIэасУ ее!I\ с. сПс1:_Ьаз1з_поип и т.д., и 4 таблицы paggrwhole, pЫercategory, phierindex, рргорсЬагасШг. После запуска машины логического вывода в таблицу РРгорСЬага^ег записывается морфологическая информация. Ниже представлен фрагмент содержимого данной таблицы.

id Text unit Character

1 ?шого Наречие

4 и Союз

S деньги Сущ.

57 деньги 148

107 деньги Мн.ч.

44 деньги Им.п.

351 люоого Муж.

364 тнхое Ср.

Рис. 5. Фрагмент таблицы, содержащей динамическую морфологическую информацию о лексемах

Извлечение дефиниций из словарной статьи выполняется путем активации системы продукций «Извлечение дефиниции термина». На рисунке 6 представлена структура рабочей памяти аре, сформированной для заданной системы продукций в автоматическом режиме.

■Дф арз рЫегса1едогу Д 0 ара рЫеппйех Дф- арь раддпл>Ьо1е Д р нрв рргорсЬагас!ег

®Тех)_ипИ : 1опд1ех1 щТех1ипг1: 1опд1ех1 ц(М№а1е : 1опд1ех1 ЕоТей игй : 1опд1ех1

®Са1едогу : 1опд1е*1 вЫехэ : 1опд1ех1 ®Раг1: 1опд1е>Л рСЬагас^еге к>пд1ех1

Рис. 6. Структура рабочей памяти для системы продукций «Извлечение дефиниции термина»

Рабочая память содержит всего 3 таблицы — paggrwhole, phiercategory и рЫегтс1ех. После запуска машины логического вывода в таблицу рЫег-category добавлена запись о дефиниции термина «Деньги» (рисунок 7).

Таблица phiercategory

id Text unit Category

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

84 Деньги термин

Рис. 7. Фрагмент таблицы, содержащей текстовые единицы и их категории

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

Заключение

Описанная в статье автоматная модель системы управления активацией систем продукций была разработана в инструментальной среде 11шМос1, поддерживающей технологию автоматного программирования. Использование ишМос1 значительно снизило трудоемкость разработки системы как на этапе проектирования, валидации и отладки модели, так и на этапе ее программной реализации [3]. В дальнейшем в случае необходимости в модель и программу без особых сложностей могут быть внесены изменения.

Полученный в результате модуль управления активацией систем продукций является одним компонентов системы, основанной на правилах и предназначенной для извлечения знаний из текстов. Модуль позволяет выполнять в автоматическом режиме: выбор системы продукций для активации; построение рабочей памяти, соответствующей активной системе продукций; запуск машины логического вывода на активной системе продукций. Это стало возможным за счет применения онтологии с активной семантикой, представляющей знания о системе продукций [1].

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

2

" Свидетельство об официальной регистрации программы для ЭВМ. Модуль активации систем продукций / заявитель и правообладатель ФГБОУ ВО ВСГУТУ. № 2018610271; заявл. 27.09.2017; опубл. 09.01.2018, Реестр программ для ЭВМ. 1 с.

Литература

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

1. Дармахеева Т. А., Хаптахаева Н. Б. Онтологическая модель представления знаний о системе продукций. «ЗНАНИЯ — ОНТОЛОГИИ — ТЕОРИИ» (ЗОНТ-2017): матер, всеросс. конф. с междунар. участием. Новосибирск: Изд-во СО РАН Институт математики им. С. Л. Соболева, 2017. С. 119-129.

2. Найханова Л. В. Технология создания методов автоматического построения онтологий с применением генетического и автоматного программирования: монография. 2-е изд., 2013. Улан-Удэ: Изд-во ВСГУТУ, 268 с.

3. Поликарпова Н. И., Шалыто А. А. Автоматное программирование. СПб.: Питер, 2009. 176 с.

4. Шатуева (Дармахеева) Т. А., Хаптахаева Н. Б. Формирование рабочей памяти продукционной системы, предназначенной для автоматического извлечения знаний из текстов // Вестник Восточно-Сибирского государственного университета технологий и управления. 2013. № 4 (43). С. 69-74.

5. Борисов А. Б. Большой экономический словарь. М.: Книжный мир, 2003. 895 с.

MODELING OF SYSTEM FOR CONTROLING ACTIVATION OF PRODUCTION RULES WITH THE USE OF AUTOMATIC PROGRAMMING

TatyanaA. Darmakheeva

Assistant, Department of systems of computer science, East Siberia State University of Technology and Management 40V, Klyuchevskaya St., Ulan-Ude, 670013, Russia E-mail: tania-shatyeva@mail.ru

Natalya B. Khaptakhaeva Cand. Sci. (Engineering), A/Prof,

Head of the Department for training of higher qualification personnel, East Siberia State University of Technology and Management 40V, Klyuchevskaya St., Ulan-Ude, 670013, Russia E-mail: khapnb@gmail.com

The article presents the results of modeling the system for controlling activation of production systems. The activation of production systems is controlled through the use of knowledge of the system of production in the form of an ontology with active semantics. The behavior of the system that implements the control of the activation of production systems based on ontology with active semantics is complex. The theory of automata and the technology of automatic programming are used to simulate such a system. As a result, an automatic model of the system for controlling the activation of production systems was obtained and its software implementation was carried out. Testing of methods of natural language processing of the text and extraction of knowledge concerning terms and relations between them from the dictionary articles of the terminological dictionary were carried out by means of the obtained software. The methods are presented in the form of production systems. Keywords: theory of automata; ontology with active semantics; modelling the systems with complex behavior; control the activation of production systems; system, based on knowledge; base of knowledge; production system.

References

1. Darmakheeva T. A., Khaptakhaeva N. B. Ontologicheskaya model' predstav-leniya znanii o sisteme produktsii [Ontological Model of Presentation Knowledge on Production System], "Znaniya - Ontologii - Teorii" (ZONT - 2017) materialy Vseros-siiskoi konferentsii s mezhdunarodnym uchastiem - "Knowledge -Ontologies - Theories (ZONT - 2017)": Proceedings of All-Russia conference with international participation. Novosibirsk: SB RAS Institute of Mathematics named after S. L. Sobolev, 2017. Pp. 119-129.

2. Naikhanova L. V. Tekhnologiya sozdaniya metodov avtomaticheskogo postroeniya ontologii s primeneniem geneticheskogo i avtomatnogo programmirovaniya [Technology of Creating Methods for Automatic Construction of Ontologies with the Use of Genetic and Automatic Programming], 2-nd edition. East Siberian State University of Technology and Management Publ., 2013. 268 p.

3. Polikarpova N. I., Shalyto A. A. Avtomatnoe programmirovanie [Automatic Programming], St. Petersburg: Piter Publ., 2009. 176 p.

4. Shatueva (Darmakheeva) T. A., Khaptakhaeva N. B. Formirovanie rabochei pamyati produktsionnoi sistemy, prednaznachennoi dlya avtomaticheskogo izvlecheniya znanii iz tekstov [Formation of Working Memory of a Production System Designed to Automatically Extract Knowledge from Texts]. Vestnik Vostochno-Sibirskogo gosudarstvennogo universiteta tekhnologii i upravleniya - Bulletin of the East Siberian State University of Technology and Management. 2013. No. 4 (43). Pp. 69-74.

5. Borisov A. B. Bol'shoi ekonomicheskii slovar [Big Economic Dictionary], Moscow: Knizhnyi Mir Publ., 2003. 895 p.

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