Научная статья на тему 'Операции преобразования грамматик'

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

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

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

Алгоритм сравнения следующий.

1. Если объект ПОЗ совпадает с основным объектом описания ПОД (сравнение происходит с учетом иерархии объектов, то есть объект ПОЗ может быть таким же, как объект ПОД, или быть его родителем), документ включается в результат выборки (из подготовленного ПОД выбираются заголовок, адрес, релевантность определяется по степени родства объектов ПОД и ПОЗ (при совпадении максимальная)).

2. Если объект ПОЗ совпадает с одним из часто встречаемых объектов ПОД (без учета родства), документ включается в результат выборки (из ПОД выбираются заголовок и адрес документа, релевантность назначается как 0,5 от максимальной).

По данному алгоритму проверяются все ПОД из БД. Результаты, отсортированные по релевантности, представляются пользователю. Пользователь либо формирует новый запрос к уже отобранным данным, либо просматривает описания найденных ФЭ, загружая их из БД ФЭ по ссылке.

Все программные модули написаны на языке MS Visual С# 2005 и работают под управлением Windows 2000/XP/Vista. Использована бесплатная СУБД - MS SQL Express 2005.

Всего проанализировано 1300 эффектов. Также была использована древовидная структура словарей входов/выходов и объектов ФЭ из старой версии системы.

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

Как было отмечено выше, построение онтологии осуществлялось на основе автоматизированного анализа описаний ФЭ, которые имелись в банке данных поиска ФЭ по запросу на естественном языке. В рамках этой работы разработан алгоритм автоматического представления запроса на естественном языке в терминах объектно-ориентированного представления физических данных и осуществления поиска.

К перспективам использования данной системы можно отнести возможность построения на ее основе обучающих систем. Отраженные в ее БЗ зависимости позволяют строить различные наглядные представления физических знаний с разной степенью детализации, а в дополнение к алгоритму поиска по запросу на естественном языке можно получить обучающую систему в виде «вопрос - ответ» с произвольными вопросами из области физических знаний.

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

Литература

1. Русская морфология для программистов. URL: http://www.aot.ru/download/RusLemmatizer.zip (дата обращения: 27.10.2009).

2. Кобозева И.М. Лингвистическая семантика. М.: Книжный дом «ЛИБРОКОМ», 2009. 352 с.

3. Перспективные технологии: итоги и прогнозы / С.В. Асмаков [и др.] // КомпьютерПресс. 2008. № 1 (217). С. 24-25.

ОПЕРАЦИИ ПРЕОБРАЗОВАНИЯ ГРАММАТИК

В.В. Дрождин, к.т.н.; В.М. Тобольченко

(Пензенский государственный педагогический университет им. В.Г. Белинского,

drozhdin@spu-penza. ш)

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

Ключевые слова: информационная система, формальный язык, грамматика, преобразование грамматик.

Широкое внедрение автоматизированных информационных систем (АИС) в различные сферы деятельности человека требует все более интенсивного взаимодействия с ними людей с различным уровнем образования и квалификации. Однако взаимодействие с АИС резко ограничивается низкой способностью распознавания информации системой (только на уровне типов данных и полей форм) и невозможностью ввода и вывода

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

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

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

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

- грамматика отражает только синтаксическую (конструктивную) сторону данных, а формат учитывает как синтаксическую сторону, так и использование, и семантику данных;

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

- формат выступает ограничением (играет роль управления) для грамматики представления конкретного набора данных;

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

- грамматика может изменяться и совершенствоваться, а формат будет оставаться фиксированным, но изменение формата почти всегда будет приводить к изменению грамматики.

Формат представления набора данных, обладающих высокой степенью подобия, можно задать относительно небольшой совокупностью грамматических правил, что требует минимального объема памяти для хранения данных [1]. Набор данных сложной структуры может быть представлен системой форматов с иерархической или сетевой структурой. Это обеспечивает компактное хранение самих форматов данных и повышает возможность правильного распознавания данных в случае их перестановки или неполноты. Для выявления формата данных целесообразно использовать аналитический подход, разработанный в математической лингвистике для анализа естественных и формальных языков [2].

Пусть значения набора данных xe X представляют собой конечные последовательности символов x=aia2...an, где aje A. Все множество значений данных X составляет язык LX={xj I i e I}, где I -номерное множество.

Основываясь на анализе языка LX, АИС должна разработать эффективную грамматику GX=(T, N, P, S), удовлетворяющую условию LX=L(GX),

где Т=А - множество терминальных символов;

I 1} - множество нетерминальных символов; Р={р} - множество правил подстановки, заданных в виде продукций р: х^у, порождающих по слову х слово у; 8 - начальный символ грамматики, представляющий слова из Ьх в Ох [3]. Для обеспечения высокой эффективности алгоритмов порождения грамматики Ох и обработки данных на ее основе целесообразно строить грамматику Ох в форме контекстно-свободной грамматики.

Для осуществления преобразования грамматики О=(Т, N5 Р, 8) необходимо привести множество ее правил Р к виду

P={S ^Vi v 2...v n Pi :vi ^ ••• P2 :v 2 ^ •••

(1)

Р„:у „ ^ •••

}

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

Пример 1. Рассмотрим грамматику ОА, представленную в виде (1), которая порождает последовательности символов типа «адрес»:

GA: S ^ViV 2 V 3 V 4 V 5

Pi :Vi ^ ул.

P2 :V2 ^Мира1Ленина1Минская... P3:V3 P4 :V4

P5

P6

(2)

V5 ^V

V^ 0...9I VVIVE

где е - пустая последовательность.

Преобразование грамматики О вида (1) в грамматику О' такого же вида зададим формулой:

О О или О'=0(О), (3)

где 0 - допустимая операция над грамматикой О.

Операции преобразования грамматик (3) предоставляют возможность задавать грамматику О' через грамматику О и наоборот. Таким образом, необязательно задавать обе грамматики с помощью четверок (Т, N5 Р, 8), достаточно иметь одну грамматику и множество допустимых операций 0, чтобы сформировать требуемое разнообразие грамматик с определенными характеристиками.

Рассмотрим подробнее операции преобразования грамматик.

Замена цепочки символов - это операция получения грамматики О' из грамматики О вида (1) заменой правила рк грамматики О, порождающего цепочку символов а, на правило рк' грамматики О', порождающего цепочку символов в:

С=0зам.(С,Рк,Рк'), (4)

где рк : Ук ^ а; рк' : Ук ^ р.

Пусть имеется грамматика G=(T, N P, S) вида (1), множество правил P которой содержит некоторое правило pk: vk^а, pke P, vke N где а - некоторая цепочка, состоящая из символов, принадлежащих словарю Т.

Для получения грамматики G' операция замены цепочки символов (4) выполняет следующие действия.

1. Изменяет множество правил P: Р'=Р\РкиРк'.

Примечание. Множество правил P' может

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

2. Изменяет множество терминальных символов Т:

- дополняет символами множества Нь которые входят в цепочку в, но не входят во множество Т (Н1ПТ=0): Т'=ТиНь

- удаляет символы множества Н2, которые входят в цепочку символов а, но не порождаются другими правилами грамматики G': Т'=Т\Н2.

Таким образом, после применения операции

(4) к грамматике G получим новую грамматику G'=(T', N Р', S), которая будет порождать такие же цепочки символов, как грамматика G, но вместо цепочки а будет порождать цепочку в.

Пример 2. Операцию замены цепочки символов продемонстрируем на грамматике (2). Грамматика РА порождает адреса в формате «ул. улица №_дома-№_квартиры» (например, «ул. Мира 1234»). Курсивом в формате выделены поля, значения которых изменяются в различных порождаемых цепочках. Преобразуем грамматику GA таким образом, чтобы новая грамматика РА порождала адреса в формате «улица улица №_дома-№_квартиры» (например, «улица Мира 12-34»):

РА ^зам.^А^Р/) , где Р1 : V ^ УЛ.; Р1' : V1 ^ улица.

Удаление цепочки символов, 0удал, является частным случаем операции замены цепочки символов, так как в качестве в выступает пустая цепочка символов е:

G/=eуДал.(G,Рk) = 0зам.(Р,Рк,Рк'), (5)

где Рк : Vk ^ а; рк : Vk ^ е.

Для получения грамматики G' операция удаления цепочки символов (5) выполняет следующие действия:

1) изменяет множество правил Р: Р'=Р\РкиРк';

2) изменяет множество терминальных символов путем удаления символов множества Н2: Т'=Т\Н2.

Множество Н2 состоит из символов цепочки а, которые больше не порождаются другими правилами грамматики G'.

Таким образом, после применения операции

(5) к грамматике G получим новую грамматику G'=(T', N Р', S), которая будет порождать такие

же цепочки символов, как грамматика G, за исключением цепочки а.

Пример 3. Преобразуем грамматику (2) таким образом, чтобы новая грамматика GA порождала адреса без цепочки «ул.»: GA=0^.^^).

Множество правил Р' грамматики GA примет вид:

Р = ^ ^^3V4V5

Рl':Vl ^е

Р2 :v 2 ^ Мира1Ленина1Минская...

Рз^3 ^

Р4:V4

0...9lvv lvе

}

Вставка цепочки символов, 0встав> позволяет получить грамматику G' путем добавления цепочки символов а в позицию к начального символа S грамматики G:

^=0встав (G,V',k) . (6)

Таким образом, получим грамматику G'=(T',

Р', S'), в которой:

1) в позиции к начального символа S установлен нетерминальный символ V';

2) множество терминальных символов Т дополнено множеством символов Н, входящих в цепочку а (НпТ=0): Т'=ТиН;

3) множество нетерминальных символов дополнено символом V', порождающим цепочку а:

№=№и{ V'};

4) множество правил Р изменено следующим образом:

Р'=^ '...V,,

Р1:^ ^...

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

Р2:v 2 ^...

Рn:Vn ^...

Р'^ '^а

}

Примечание. Множество правил Р' может быть дополнено и другими правилами, необходимыми для вывода цепочки а.

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

р' =0 (Р V 1)

А встав ^ А' индекс' ' '

В новой грамматике РА в начальном символе S первым нетерминальным символом будет задан vиндекс. Множество терминальных символов Т останется неизменным, так как почтовые индексы состоят только из цифр, которые уже содержатся во множестве Т. Изменится множество нетерминальных символов № N'=Nu{vиндекC, V'}, а множество правил Р примет вид:

P ={S'^VHHfleKCV1V 2 V3V4V5 Pi:vx —■ ул.

p2 :v 2 — Мира1Ленина1Минская..

p6:V— 0...9ÍVV ÍVe

P-VH

. —V'V'V'V'V'V'

p/:V'— 0...9

}

Модификация числовых цепочек позволяет получить грамматику G' из грамматики G вида (1) путем изменения цепочки символов x, являющейся числовой переменной и порождаемой нетерминальным символом Vk правила pk, на цепочку символов y, порождаемую из x по закону f:

G'=e4_M(W(G,pk,pk',f), (7)

где pk:Vk—a, Vk.val=x; pk : Vk—P, Vk.val=y; y=f(x).

Обозначение Vk.val, приписывающее значение параметра val нетерминальному символу Vk, будем рассматривать как расширение контекстно-свободной грамматики Хомского, называемое атрибутной грамматикой. Атрибутная грамматика позволяет каждому символу (терминальному и нетерминальному) порождающей контекстно-свободной грамматики приписать конечное число семантических параметров - атрибутов, которые принимают некоторые значения (они могут быть целыми, символьными цепочками, признаками, матрицами значений и т.п.) [4].

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

- сложение: y=x+k;

- вычитание: y=x-k;

- умножение: y=x*k;

- деление: y=x/k;

- тригонометрические функции: например, y=sin(x);

- другие математические операции над числами.

Здесь k - произвольный коэффициент, учитываемый в законе f.

После применения операции (7) к грамматике G будет получена грамматика G'=(T, N, P', S) со множеством правил P': P'=P\pkupk'.

Пример 5. Рассмотрим грамматику Gд=(T, N, P, S) вида (1), порождающую даты 21-го столетия, в которой запись года представлена в сокращенном формате (01, 09, 14 и т.д.):

GД : S — V1V2V3V4V5

p1:V1 —>1Í2Í...Í31

p2:V2 —.

p3 :v3 —1Í2Í...Í12

p4:V4—.

p5:V5 — 00Í01Í...Í99

(8)

Преобразуем грамматику Gд при помощи операции (7) таким образом, чтобы запись года была представлена в полном формате (например, 2001, 2009 и т.д.): G Д = еч_мОД (G д ,p5,p5', 2000+V5 .val).

Изменение порядка следования цепочек позволяет получить грамматику G' из грамматики G вида (1) путем взаимного изменения позиций двух нетерминальных символов в начальном символе S грамматики G:

G^e^XG,Vk,V,). (9)

Пусть задана грамматика G=(T, N, P, S) вида (1) со множеством правил P:

P = {S — V1V2...Vk...V, ...Vn p1:V1 —... p2 :V2 —...

pk:Vk—a

p,:V,—P

pn:Vn —... }

Для получения грамматики G' операция изменения порядка следования цепочек (7) модифицирует только начальный символ S, переставляя местами нетерминальные символы Vk и V,.

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

Пример 6. Модифицируем грамматику (8), порождающую даты в формате «дд.мм.гг» (европейский формат), таким образом, чтобы новая грамматика порождала даты в формате «мм/дд/гг» (американский формат). Для этого используем множество операций 0: 0={епоряд, езам}.

Применим к грамматике Gд следующую последовательность операций:

[епоряд (G Д > V1> V3)0 езам (G Д ^ам (G Д Л'И ,

где p2' : V2 = / , p4' : V4 = / и получим грамматику Gд' вида: Gд'=(T', N, P', S'), в которой множество терминальных символов T'=T\{.}u{/}, а множество правил P':

P' = {S — V3 V2V1V4V5

P1:v1 —1Í2Í...Í12

P2:v2 — /

P3:v3 —1Í2Í...Í31

P4:v4 — /

P5:v5 — 00Í01Í...Í99

}

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

Литература

1. Дрождин В.В., Баканов А.Б. Грамматика описания домена фамилий // Вопросы радиоэлектроники. Сер.: Электрон-

p3:V 3 — V

p4:V4 —

p5:V5 — V

ная вычислительная техника. 2007. Вып. 1. С. 77-82.

2. Маркус С. Теоретико-множественные модели языков. М.: Наука, 1970. 332 с.

3. Линьков В.М., Дрождин В.В., Лушникова Е.В. Порождение грамматики описания данных в информационных до-

менно-ориентированных средах // Проблемы информатики в образовании, управлении, экономике и технике: сб. стат. III Всеросс. науч.-технич. конф. Пенза, 2003. С. 8-11.

4. Карпов Ю.Г. Теория и технология программирования. Основы построения трансляторов. СПб: БХВ-Петербург, 2005.

КЛАСТЕРЫ РАСПРЕДЕЛЕННОЙ СИСТЕМЫ ТРЕНАЖЕРНО-МОДЕЛИРУЮЩЕГО КОМПЛЕКСА В ЗАДАЧЕ АГРЕГАЦИИ ФРАКТАЛОВ

В.В. Янюшкин

(Донской филиал Центра тренажеростроения, г. Новочеркасск, vadim21185@rambler.ru)

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

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

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

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

Формализация и постановка задачи. Описание структуры тренажера можно представить в виде иерархии нескольких уровней (рис. 1):

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

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

функционирования и правильной работы приложений;

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

Предложенная иерархическая организация архитектуры может являться практическим примером и попыткой декомпозиции сложной системы, на основе которой удобно рассматривать функциональные составляющие системы и их взаимодействие. Наибольшее внимание в данной работе уделяется верхнему уровню организации системы. Например, дальнейшая декомпозиция данного уровня при использовании подхода Service-Oriented Architecture (SOA) и современной технологии Windows Communication Foundation (WCF) может быть такой, как представлено на рисунке 2, из которого видно, что именно массивы данных, конкретные объекты и значения их атрибутов являются основой формирования распределенного общетренажерного ресурса, находясь на вершине

Уровень обеспечения

Уровень функциональной

конфигурации -программное обеспечение и модели

\ Уровень аппаратной ^^ конфигурации -компьютерное оборудование

Рис. 1. Структура тренажера в виде иерархии уровней

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