4. Roddick J.F., «SQL/SE - A Query Language Extension for Databases Supporting Schema Evolution», SIGMOD Record (September 1992), 10.
5. Шведенко В.Н. Временная модель данных на основе объектно-ориентированных технологий / В.Н. Шведенко, Д.А. Иванов. Кострома: КГТУ, 2003.- 90 с.
ПРИМЕНЕНИЕ МЕТОДОВ НЕЧЕТКОГО РЕГУЛИРОВАНИЯ В СОЕДИНЕНИИ ОНТОЛОГИЙ ПРЕДМЕТНОЙ ОБЛАСТИ
Л.В. Найханова, к.т.н. (Восточно-Сибирский государственный технологический университет, Бурятия, г. Улан-Удэ)
Онтология описывает понятия предметной области, включает машиночитаемые определения основных понятий и отношений между ними. В этом смысле знания становятся возможными для повторного использования людьми, базами данных и приложениями. При этом значительно повышается эффективность как интеллектуальных, так и традиционных информационных систем. Это определяет актуальность создания онтологий.
К настоящему времени разработано достаточно много систем, позволяющих в диалоговом режиме создавать онтологии. Однако этот процесс характеризуется высокой трудоемкостью. Поэтому знания о понятиях необходимо извлекать из полнотекстовых источников знаний автоматически. Ядром онтологии предметной области является терминосистема, для создания которой знания необходимо извлекать из терминологических словарей. Для автоматического построения номенклатуры [1], являющейся проекцией термино-системы на подобласти знаний, знания можно извлекать из научных и учебных изданий.
Построение онтологии предметной области выполняется на основе единого категориального аппарата, при этом вначале создается терминоси-стема, а затем номенклатуры.
Соединение номенклатуры и терминосистемы
Присоединение вновь создаваемой номенклатуры N8 к существующей терминосистеме ТS той же предметной области выполняется в процессе представления нового термина. По каждому новому термину tkNSeTermNS (где TermNS - множество терминов номенклатуры N8) должен выполняться поиск по образцу данного термина в тер-миносистеме ТS. Пусть имеем два образца т^ и
N8
тк , соответствующие имени термина в терминосистеме Т8 и номенклатуре N8:
тт8 (г1 г2 гз ^ ^ = (г1 г2 гз I
' 1Х11 Х12 Х13У к 1Ук1 Ук2 Ук3У где г1 - имя термина; г2 - тип термина; г3 - вид
Т8
сущности; ху - значение 1 для терминосистемы; Ук - значения для номенклатуры. Если соответст-
N8
вующие хij и уц| равны, то термину 1* соответст-
TS TS TS
вует термин tj eTerm , где Term - множество терминов терминосистемы TS.
Однако возможны случаи, когда в образце TkNS неизвестны значения y^ и/или yk3, так как в научном тексте информация о термине может быть неполной. Тогда, если xji=yki, будем считать, что
NS TS TS
термину tk соответствует термин tj eTerm . Если термин найден, то в соответствующую вершину семантической сети G или слота знака-фрейма F необходимо записать ссылку на термин tjTS терминосистемы.
Кроме того, необходимо добавить записи в заголовки терминосистемы и номенклатуры. В общем виде заголовок терминосистемы и номенклатуры имеет одинаковую структуру: <Имя предметной области = <.. .>
<Присоединенная предметная область
<Уровень предметной области = верхний 1нижний> <Тип предметной области = терминосистема!
1область знаний 1задача!вид деятельности> <Имя присоединенной подобласти знаний = <имя> <Имя связывающего термина = <.. .>
>
Вполне возможно, что некоторые термины номенклатуры имеют имя, не совпадающее с именем термина в терминосистеме, но по сути являются квазисинонимами. Поэтому после создания номенклатуры необходимо выполнить сравнение интенсионалов терминов номенклатуры и терми-носистемы.
Интенсионал термина типа «Понятие» определяется кортежем: Т=<1, Б, Рг, А, С, К, М>, где 1 - имя термина, заданное вектором Z=<z1,z2,z3>; Б - множество дефиниций термина; Рг - множество свойств термина; А - множество действий; С - кортеж, состоящий из множества синонимов и множества коррелятов термина; К - множество терминов, находящихся в квалитативных отношениях с термином 1; М - множество метазнаков.
Так как элементами вектора Т являются в основном множества, анализ будем проводить по У1^еТ, причем существенными будем считать множества Рг, К. Нельзя сказать, что множества С, М и А несущественны. Но, как правило, в научном тексте рассматриваются отдельные сторо-
>
ны термина, касающиеся какой-либо проблемы или задачи, поэтому для номенклатуры они несущественны.
Для анализа интенсионалов будем использовать отношение сравнения элементов вектора Т, которое рассмотрим по каждой паре терминов (ti,tj), такой, что tiTSeTermTS, tNSeTermNS. Обо-
TS
значим символом Х множества вектора Term , а Y - множества вектора TermNS, то есть при рассмотрении элемента «Свойства» вектора Т
TS NS TS
Х=Pri , а Y=Prj , где множество Pri задает
T TS NS
свойства ti е Term , а множество Prj - свойства tiNSeTermNS.
При анализе TiTS и TjNS отношение сравнения должно применяться для множеств терминов, связанных родовидовым отношением и отношением часть-целое. Таким образом, в сравнении участвуют множества свойств, родовых и видовых терминов, терминов типов целое и часть.
Отношение сравнения множеств. Для сравнения множеств X и Y будем использовать отношения: Y^, Y=^ Yc^ Y^, Yi^^.
Y:^. Если для любых X и Y отношение неравенства существует, то из этого следует, что тер-
TS NS
мины ti и tj разные, и номенклатура остается в той же конфигурации.
Y=Х. Если для любых X и Y отношение равенства существует, то термины идентичны. В этом случае в знаке-фрейме FNT, соответствующем данному термину в номенклатуре NT, необходимо удалить всю информацию, кроме заголовочной, в которую нужно добавить ссылку на FST. Тогда в знаке-фрейме FNT остается только имя
NS TS
термина tj и ссылка на ti . В том случае, если имена терминов не совпали, а для остальных множеств существует отношение равенства, то из это-
NS
го следует, что термин tj является синонимом
TS
ti , и во множество синонимов нужно включить имя термина и ссылку на него.
YcХ. Если для любых X и Y отношение включения YcХ истинно, то рассматриваемый
NS TS
термин tj наследует свойства термина ti . Тогда
NT NS
в F термина tj необходимо удалить всю информацию, кроме заголовочной, в которую добавляется ссылка на FST.
YзХ. Если для любых X и Y отношение включения YзХ истинно, то это означает, что рассматриваемый термин tjNS обладает более полным описанием, чем термин tiTS, и его знак-фрейм FST необходимо дополнить недостающей информацией из знака-фрейма FNT, затем удалить всю информацию из знака-фрейма FNT, кроме заголовочной, в которую добавляется ссылка на FST.
Надо отметить, что вероятность существования отношений равенства и включения на множествах X и Y невелика. Наиболее частым является случай, когда истинно отношение Yp^:^ Для его анализа лучше всего использовать аппарат не-
четкой логики, позволяющий рассматривать различные ситуации, например такие:
- часть свойств совпала в основном, и мощность множества пересечения родовых понятий большая, мощность множества пересечения видовых понятий небольшая, а мощности множеств пересечения других множеств ничтожно малы, то
TS
можно сказать, что термин ti в научном тексте рассматривается под другим углом (этой ситуации, скорее всего, соответствует вывод о том, что
NS
в номенклатуре определен новый вид tj как отображение термина tiTS);
- часть свойств совпала в основном, и мощность множества пересечения родовых понятий небольшая, мощность множества пересечения видовых понятий большая, а мощности множеств пересечения других множеств ничтожно малы, то
TS
можно сказать, что термин ti в научном тексте
TS
является родом понятия ti .
Таким образом, проекция терминосистемы TS на плоскость рассматриваемого научного текста в виде номенклатуры NS позволяет уточнять термины терминосистемы, определять новые виды терминов, новые компоненты терминов, то есть уточнять терминологию предметной области.
Анализ отношения YnХ:0
Для примера рассмотрим анализ отношения YnХ:0, которое может быть истинно для V(Y^ Х), где /=1..5 и последовательно нумерует множества: свойств; родовых терминов; видовых терминов; терминов, означающих целое, и терминов, означающих часть. На практике могут встречаться различные комбинации истинности отношения ^пХ,:0. Рассмотрим случай, когда отношение ^пХ,:0 истинно при /=1,2.
Для анализа отношения YnХ:0 используем метод нечеткого регулирования Мамдани [2]. Компоненты нечеткого вывода рассмотрим на примере определения степени достоверности того,
NS
что термин tj является новым видом термина
TS ti-1 .
База правил нечетких продукций состоит из следующих элементов.
Имя продукции: номер нечеткой продукции.
Сфера применения: выявление нового вида термина.
Условие применимости: V (Y/, Х/) Y/nХ/:0 истинно, где /=1,2.
Условие ядра: составное нечеткое высказывание вида «IS1=At/ И IS2=At'», где IS1, IS2 - обозначения входных лингвистических переменных InterSection, являющихся мощностью множеств YinX; терм t'e Т1={Маленький, Средний, Большой}; модификатор AеM1={ОЧЕНЬ, НЕ, НИЖЕ, ВЫШЕ}.
Заключение ядра: нечеткое высказывание вида «Out=At"», где Out - обозначение выходной лин-
гвистической переменной: СТЕПЕНЬ ДОСТОВЕРНОСТИ ГИПОТЕЗЫ О НОВОМ ВИДЕ ТЕРМИНА, терм ^еТ2 и Т2={Низкая, Средняя, Высокая};
модификатор Де M2 и М2={ДОСТАТОЧНО, НИЖЕ, ВЫШЕ}.
Метод определения количественного значения степени истинности заключения ядра - метод min-активизации: ^'(y)=mjn{cj,^.(y)},j=1,84, где Cj - значение степени истинности заключения в правиле Rj; ц(у) - функция принадлежности терма, который является значением выходных лингвистических переменных Out, заданных на универсуме Y=[0;1].
Коэффициент определенности нечеткой продукции: F=1.
Постусловия продукции: процедура модификации сети фрейм-знаков.
Чтобы определить вид зависимостей функции принадлежности нечетких множеств, рассмотрены основные типы и виды существующих функций принадлежности, которые могут быть использованы в решении поставленной задачи. Их анализ показал, что поставленным условиям наилучшим образом удовлетворяет колоколообразная функция.
Этапы нечеткого логического вывода. Фаз-зификация нечетких переменных для входных лингвистических переменных рассматриваемого примера дает значения функций принадлежности, приведенные в таблице.
Таблица
Результат фаззификации входных лингвистических переменных
Процедура агрегирования нечеткого логического вывода сводится к выбору минимального значения функций истинности:
=тт{^ (ф),^2 (V)}.
Результат агрегирования представляет собой множество степеней истинности условий правил нечетких продукций Б={Ьь...,Ьп}, где п - мощность множества правил нечетких продукций. Для рассматриваемого примера п=84.
На этапе активизации степень истинности для терма выходной лингвистической переменной
определяется по формуле: е1 = •Ь,Д=1,п , где Ь -степень истинности условия 1-го правила, определенная на предыдущем этапе; - весовой коэффициент 1-го правила в нечетком выводе. Поскольку все продукционные правила имеют вес, равный единице, степень истинности для термов выходной лингвистической переменной равна степени истинности условий правил нечеткого вывода: е1 = Ь1,1=1,п.
На этапе аккумуляции находим функцию принадлежности выходной лингвистической переменной методом тах-объединения нечетких множеств Сь...,Сп: ц(х)=тах{цС (х)}.
1=1,...,п 1
На рисунке приведен график функции принадлежности выходной лингвистической переменной.
В качестве метода дефаззификации использован метод центра тяжести. На рисунке отмечен центр тяжести для рассматриваемой задачи, который показывает, что степень достоверности гипотезы о новом виде термина 8=0,322. Это значение говорит о том, что мера возможности принятия данной гипотезы слишком мала.
Описание системы нечеткого логического вывода
Для проведения экспериментов и проверки корректности выдвинутых положений было разработано программное обеспечение. Архитектура нечеткого регулятора состоит из трех компонентов: базы правил, интерфейсной части, аппарата нечеткого вывода.
Интерфейсная часть обеспечивает выполнение следующих функций: ввод исходных данных; создание, загрузка и сохранение базы правил нечетких продукций; ввод и редактирование переменных, термов, сфер и условий применимости, правил нечетких продукций на ограниченном подмножестве естественного языка; преобразование правила нечеткой продукции с естественно-языкового представления в предикатное; настройку методов логического вывода (активизации, аккумуляции и дефаззификации); отображение результатов нечеткого логического вывода в виде числовых данных и графиков функций принадлежности.
В базе правил хранятся множества входных и выходных лингвистических переменных с соответствующими им терм-множествами; множество четких переменных; множество продукционных правил, включающих условие применимости правила, посылку и заключение.
Нечеткая Значение функции принадлежности
переменная Ц1(ф) при ф=0,5 ц2(у) при ^=0,333
Очень маленький 0,00100 0,00337
Маленький 0,00195 0,00979
Достаточно 0,00461 0,05045
маленький
Не очень маленький 0,01538 0,77670
Ниже среднего 0,11111 0,29359
Средний 1,00000 0,02614
Выше среднего 0,11111 0,00652
Не очень большой 0,01538 0,00252
Достаточно большой 0,00461 0,00123
Большой 0,00195 0,00069
Очень большой 0,00100 0,00042
Аппарат нечеткого вывода выполняет нечеткий логический вывод с выбранной точностью и обосновано выбранными методами активизации, аккумуляции и дефаззификации.
Предложенный подход соединения онтологий позволяет объединять онтологии одной предметной области на основе анализа интенсионалов терминов, принадлежащих терминосистеме и номенклатуре. Для этого выполняется сравнение отношений между соответствующими множествами интенсионалов, основанное на анализе отношений
неравенства, равенства, включения и пересечения множеств, представляющих элементы интенсио-нала сравниваемых терминов, с применением нечеткого логического вывода. В работе показан способ введения нечеткости и пример применения методов нечеткого регулирования.
Список литературы
1. Мельников Г.П. Основы терминоведения. - М.: Изд-во ун-та дружбы народов, 1991. - 116 с.
2. Асаи К., Ватага Д., Иваи С. и др. Прикладные нечеткие системы. / Под ред. Тэрано Т. - М.: Мир. - 1993. - 344 с.
РАЗРАБОТКА ПРОГРАММНЫХ СРЕДСТВ НА ОСНОВЕ ГИБКИХ МЕТОДОВ
В.В. Бахтизин, к.т.н., С.Н. Неборский
(Белорусский государственный университет информатики и радиоэлектроники, г. Минск)
В последнее время значительно возрос интерес к гибким методам разработки программных средств (ПС). Об этом свидетельствуют различные курсы и тренинги по гибким методам, предложения получить сертификат, удостоверяющий уровень подготовки специалиста. Все гибкие методы интуитивно близки, и выбор того метода, который оптимально решит производственную задачу - проблема не из легких. Проанализировав существующие гибкие методы разработки, можно сделать вывод, что сегодня не существует того метода, который давал бы всегда хороший результат, независимо от условий его применения и целей проекта. В данной работе показано, что нельзя опираться исключительно на один метод - в большинстве случаев необходим симбиоз. Предложена модель ролей команды, которая должна позволить эффективно разрабатывать ПС. На основе выбранного подмножества гибких методов и предложенной модели ролей команды в работе предлагается новый гибкий метод разработки ПС.
Гибкая разработка ПС - это концептуальный каркас для реализации проектов программной инженерии. Она устанавливает первостепенной ценностью непосредственно разработку ПС, а все остальные активности (написание проектной документации, поддержание моделей архитектуры ПС и т.п.) являются второстепенными. Гибкие методы ставят своей целью разработку ПС в срок, в рамках установленного бюджета и, самое важное, они стремятся создать ПС именно таким, каким его хочет видеть заказчик. Два первых постулата манифеста методологии гибкой разработки ПС гласят [1]:
- наивысший приоритет отводится удовлетворению заказчика;
- приветствуется изменение требований.
Таблица содержит характеристику наиболее распространенных гибких методов в предельно сжатой форме.
Проанализировав каждый из приведенных гибких методов, можно сделать вывод, что не существует универсального решения проблемы эффективного создания ПС в условиях постоянно изменяющихся
требований. Именно поэтому необходим некий симбиоз, некая совокупность совместно используемых методов. В качестве таких методов были выбраны гибкое моделирование (Agile Modeling), экстремальное программирование (XP) и разработка, ведомая функциями (FDD). На основе этих методов и был предложен новый метод разработки ПС.
Таблица
Метод Характеристика
Agile Modeling Метод предназначен для создания моделей ПС в условиях изменяющихся требований
XP (eXtreme Programming) Метод представляет собой большей частью набор приемов разработки ПС (например, парное программирование); изменение требований не контролируется
Scrum Метод сводится к управлению проектом, не предполагает комплексного подхода к созданию ПС; изменение требований рассматривается как уничтожение старой функциональности и создание новой
FDD (Feature- Driven Development) Опора на функции как на некоторые формализованные удобные для реализации описания требований;изменение требований допускается лишь на новом инкременте реализации ПС
DSDM (Dynamic Systems Development Method) Команда наделена существенными полномочиями; реверсивность любых изменений; фиксация требований на раннем этапе разработки ПС
TDD (Test-Driven Development) Преувеличение роли тестов; реализация определенного функционала лишь после того, как написан и проверен его тест
ASD (Adaptive Software Development) Разработка ПС - постоянный процесс адаптации к текущему состоянию проекта; предполагается, что заказчик не может точно определить своих требований, а разработчик всегда должен искать баланс между определенностью и неясностью в проекте
При необходимости создания архитектуры ПС имеет смысл использовать гибкое моделирование. Получаемые модели обладают следующими свойствами: практичность, понятность, точность и непротиворечивость, достаточная детальность, простота.