На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

2
Ожидается:
16 Июня 2024

Объектно-ориентированная парадигма и тенденции развития свойства активности баз знаний

Статья опубликована в выпуске журнала № 1 за 2000 год.
Аннотация:
Abstract:
Авторы: Башмаков И.А. () - , Крылович С.В. () -
Ключевое слово:
Ключевое слово:
Количество просмотров: 11984
Версия для печати
Выпуск в формате PDF (1.43Мб)

Размер шрифта:       Шрифт:

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

1. Свойство активности в базах данных и базах знаний. Интеллектуальные системы, которые строятся на основе результатов, полученных в области искусственного интеллекта, часто называют системами, основанными на знаниях, что подчеркивает их принципиальное отличие от ранее создававшихся систем [1]. Как многие фундаментальные понятия в других науках ("множество" в математике, "истина" в логике или "мышление" в психологии), в искусственном интеллекте понятие "знание" не имеет какого-либо исчерпывающего определения. В большинстве случаев под знаниями понимаются основные закономерности предметной области, позволяющие человеку решать конкретные производственные, научные и другие задачи, т.е. факты, понятия, взаимосвязи, оценки, правила, эвристики (иначе фактические знания), а также стратегии принятия решения в этой области (иначе стратегические знания) [2]. Знания представляют собой совокупность сведений (у индивидуума, общества или интеллектуальной системы) о мире (конкретной предметной области, совокупности объектов или объекте), включающих информацию о свойствах объектов, закономерностях процессов и явлений, а также правилах использования этой информации для принятия решений.

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

Существует еще пять свойств, отличающих знания [3]: 1) внутренняя интерпретируемость; 2) рекурсивная структурируемость; 3) взаимосвязь единиц; 4) наличие семантического пространства с метрикой; 5) активность.

Последнее отличие знаний от данных весьма существенно. В классических программах процедура решения задачи отделена от данных. Обычно в таких случаях говорят об отделении процедурных знаний (что и как делать) от декларативных (что дано вначале и какие промежуточные результаты надо далее обрабатывать для получения результата, который также является декларативным знанием). При этом предполагается, что декларативные знания пассивны (как пассивны данные в традиционных программах), а процедурные - активны. Инициализация процедур приводит к активизации данных, но не наоборот. Однако для человеческого мышления характерно иное положение вещей: именно декларативные знания играют активную роль. Например, знание о том, что в книжный магазин поступила интересующая нас книга, может активизировать начало процедуры, которая обеспечит ее покупку. Даже некоторое незнание (знание о незнании) может стать той активной силой, которая инициирует начало выполнения нужных процедур, направленных на ликвидацию (или уменьшение) этого незнания.

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

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

Переход от технологий баз данных (БД) к технологиям БЗ происходил постепенно и под влиянием многих факторов. В связи с постоянным усложнением требований к разрабатываемым информационным системам традиционных семантических средств описания отношений объектов предметных областей в БД становилось уже недостаточно: возникла необходимость перехода к использованию средств представления, хранения и обработки знаний, интегрированных с БД [3]. При такой интеграции разнообразных информационных ресурсов характерным является стремление к однородной трактовке процедур, а также компонентов БД и БЗ при непроцедурном решении задач.

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

В настоящее время определился основной подход к решению задач семантического моделирования в БД [4, 5]. Он заключается в выделении двух уровней моделирования: уровня концептуального моделирования предметной области и уровня моделирования собственно БД. На первом уровне осуществляется переход от неформализованного описания предметной области и информационных потребностей конечного пользователя к их формальному выражению с помощью специальных языковых средств.

Быстрое развитие потребностей применения систем управления БД (СУБД) и систем управления БЗ (СУБЗ) выдвигает на передний план ряд новых требований к ним [5]:

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

управление мультибазами данных (в общем случае неоднородными);

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

развитие технологий БЗ, интеграция концепций БД и БЗ, реализация дедуктивных БД;

обеспечение целостности БД и БЗ в широком диапазоне разнообразных предметных областей и операционных обстановок.

2. Реализации свойства активности. С самого начала своего развития программирование пошло по пути разделения программы и данных, с которыми эта программа работает. В программе было сосредоточено процедурное знание. Оно хранило в себе информацию о том, как надо действовать, чтобы получить требуемый результат. Знания в нужный момент использовались программой, которая играла роль активатора данных. Знания другого типа, которые обычно называют декларативными, хранили в себе информацию о том, над чем надо выполнять эти действия. Процедурное знание формировало обращение к декларативному знанию. Таким образом, традиционно при использовании ЭВМ порождающими новые знания являлись программы, а данные пассивно хранились в ее памяти. Однако, как было отмечено выше, исследования когнитивных структур человека свидетельствуют о том, что для него характерна противоположная ситуация. Человеку свойственна познавательная активность, то есть его знания активны. Не процедурные знания активизируют декларативные, а наоборот - та или иная структура декларативных знаний оказывается активатором для процедурных знаний. Таким образом, последним шагом на пути превращения данных в знания является свойство активности БЗ, под которым в общем виде понимается зависимость функционирования БЗ от ее внутреннего состояния.

Такой подход к созданию интеллектуальных систем постоянно совершенствуется. На первых порах использовались смешанные представления, в которых декларативные и процедурные знания понимаются единообразно и могут активизировать друг друга. Для примера смешанного представления рассмотрим фрейм, у которого в качестве значения какого-либо слота выступает имя процедуры, подлежащей выполнению [6]. Обращение к данному слоту может обусловливаться либо другими слотами данного фрейма, либо другими фреймами. Это позволяет формировать условия, необходимые для выполнения той или иной процедуры, а следовательно, сделать активаторами процедур декларативные знания, хранящиеся в определенных слотах фреймов, образующих семантическую сеть. Недостатком данного подхода является увеличение трудоемкости его реализации при росте сети фреймов. Легко реализуются одношаговые зависимости: встроенное в слот отношение - реакция на его определенное значение. Однако, каскадные или многошаговые зависимости недостаточно наглядны, могут вызывать трудно контролируемые побочные эффекты и замедление в работе системы.

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

Программированию, управляемому данными, в некотором смысле противоположным является программирование, управляемое событиями. Под вычислениями, управляемыми событиями, понимают такой стиль вычислений, в котором функции или другие действия не вызываются непосредственно или на основе интерпретации данных, а активируются в определенных ситуациях. Ситуацией может быть, например, изменение значения переменной или поля структуры, вызов функции и т.п., либо это может быть внешнее по отношению к программе событие, о котором она извещается. Функции или действия, инициируемые в результате возникновения ситуации, в ЛИСПе называются демонами [6]. Более эффективно эти возможности предоставляют объектно-ориентированная парадигма (ООП) и объектно‑ориентированные языки программирования [7]. Программная единица такого языка является математическим представлением объекта, т.е. моделью, и включает описание математических методов ее преобразования и анализа (свойство инкапсуляции).

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

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

Понятие "объектная ориентация" довольно широко. Можно выделить три уровня объектной ориентации для СУБД и СУБЗ:

1. Если модель данных позволяет определить структуру данных для представления сущностей произвольной сложности, то модель является структурно объектно-ориентированной.

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

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

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

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

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

3. Уровни активности БЗ. Рассмотрим подход к выделению уровней активности БЗ. За первый уровень активности примем систему реализации ограничений целостности данных и знаний, поступающих в БД и БЗ.

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

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

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

Любая модель знаний принципиально обязана учитывать и представлять в построенных на ее основе БЗ все свойства знаний, в том числе и активность. Однако, известные модели знаний в различной степени удобны для представления и использования данного свойства. Можно заметить, что с ростом объема БЗ в традиционных моделях знаний нарастает сложность выявления противоречий между новыми и ранее приобретенными знаниями. Разрешение обнаруженных противоречий (а стало быть и управление знаниями) во всех традиционных моделях знаний возлагается на человека (либо на эксперта, либо на администратора БЗ). В табл. представлена оценка ряда свойств БЗ для различных моделей знаний, на которых они основываются.

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

Заключение. Итак, свойство активности является существенным отличием знаний от данных. В предложенной классификации выделено четыре уровня активности БЗ: от простейшей автоматной модели реализации ограничений целостности на первом уровне до использования метаусловий для извлечения знаний на четвертом. Анализ тенденций развития свойства активности БЗ позволил сделать вывод о том, что наиболее эффективной основой для его реализации является ООП. С выделенными уровня активности ассоциируются уровни верификации БЗ. В активных объектно‑ориентированных БЗ могут быть реализованы процедуры интеллектуальной верификации как наследуемые методы на всех уровнях иерархии классов.

Список литературы

1. Будущее искусственного интеллекта. М.: Наука, 1991. 302 с.

2. Толковый словарь по искусственному интеллекту / Авторы-составители А.Н.Аверкин, М.Г.Гаазе-Рапопорт, Д.А.Поспелов. М.: Радио и связь, 1992. 256 с.

3. Кондрашина Е.Ю., Литвинцева Л.В., Поспелов Д.А. Представление знаний о времени и пространстве в интеллектуальных системах / Под ред. Д.А.Поспелова. М.: Наука, 1989. 328 с.

4. Цаленко М.Ш. Моделирование семантики в базах данных. М.: Наука, 1989. 288 с.

5. Калиниченко Л.А., Сюнтюренко О.В., Томилин А.Н. и др. Информационные системы, базы данных и научные телекоммуникации/ Под общ. ред. Ю.И.Журавлева// Вестник РФФИ. 1997, N 3(9). с. 6-27.

6. Хювенен Э., Сеппянен Й. Мир Лиспа. В 2-х т. Т. 1: Введение в язык Лисп и функциональное программирование. Пер. с финск. М.: Мир, 1990. 447 с.

7. Буч Г. Объектно-ориентированное проектирование с примерами применения: Пер. с англ. М.: Конкорд, 1992. 519 с.


Постоянный адрес статьи:
http://swsys.ru/index.php?page=article&id=859
Версия для печати
Выпуск в формате PDF (1.43Мб)
Статья опубликована в выпуске журнала № 1 за 2000 год.

Возможно, Вас заинтересуют следующие статьи схожих тематик: