<< Предыдущая

стр. 6
(из 26 стр.)

ОГЛАВЛЕНИЕ

Следующая >>

• умозаключение;
• составление силлогизмов и т. д.
Однако красота и стройность логической теории не должны заслонять того, что человек редко мыслит в категориях математической логики [Поспелов, 1989]. Теория ассоциаций представляет мышление как цепочку идей, связанных общими понятиями. Основными операциями такого мышления являются:
• ассоциации, приобретенные на основе различных связей;
• припоминание прошлого опыта; пробы и ошибки со случайными успехами;
• привычные («автоматические») реакции и пр.
Однако эти две теории не исчерпывают всего многообразия психологических школ. Большой интерес для инженерии знаний может представлять гештальт-психология. Одним из ее основателей является выдающийся немецкий психолог М. Вертгеймер (1880-1943). Под гештальтом (нем. Gestalt) понимается принцип целостности восприятия — как основа мышления. Гештальт-психологи стараются во всем выделять некий целостный образ или структуру как базис для понимания процессов и явлений окружающего мира. Эта теория близка теории фреймов и объектному подходу и направлена на постижение глубинного знания, которое характеризуется стабильностью и симметрией. При этом важен так называемый «центр ситуации», относительно которого развивается знание о предметной области.
Для инженера по знаниям это означает, что, выявляя различные фрагменты знаний, он не должен забывать о главном, о гештальте фрагмента, который влияет на остальные компоненты и связывает их в некоторую структурную единицу. Гештальтом может быть некий главный принцип, или идея, или гипотеза эксперта, или его вера в силу каких-то отдельных концепций. Этот принцип редко формулируется экспертом явно, он всегда как бы за «кадром», и искусство инженера по знаниям обнаружить этот основной гештальт эксперта.
В гештальт-теории существует закон «стремления к хорошему гештальту», согласно которому структуры сознания стремятся к гармонии, связности, простоте. Это близко к старинному классическому принципу «бритвы Оккама» — «сущности не должны умножаться без необходимости» — и формулируется как принцип прегнантности Вертгеймера [Вертгеймер, 1987]: «Организация поля имеет тенденцию быть настолько простой и ясной, насколько позволяют данные условия». Рассуждения о гештальте подводят вплотную к третьему этапу в структуре познания.

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

3.4. Теоретические аспекты
структурирования знаний

Разделение стадий извлечения и структурирования знаний является весьма условным, поскольку хороший инженер по знаниям, уже извлекая знания, начинает работу по структурированию и формированию поля знаний, описанному в параграфе 3.1.
Однако в настоящее время прослеживается тенденция опережения технологических средств разработки интеллектуальных систем по отношению к их теоретическому обоснованию. Практически сейчас существует пропасть между блестящими, но несколько «постаревшими» математическими основами кибернетики (труды Винера, Эшби, Шеннона, Джорджа, Клира, Йордона, Ляпунова, Глушкова и др.) и современным поколением интеллектуальных систем, которые основаны на парадигме обработки знаний (экспертные системы, лингвистические процессоры, обучающие системы и т. п.).
С одной стороны, это объясняется тем, что с первых шагов наука об искусственном интеллекте (ИИ) была направлена на моделирование слабоформализуемых смысловых задач, в которых не применим традиционный математический аппарат; с другой стороны, ИИ — это ветвь информатики и активно развивается как промышленная индустрия программных средств в условиях жесткой конкуренции, где подчас важнее быстрое внедрение новых идей и'подходов, чем их анализ и теоретическая проработка.
Необходимость разработки теоретических основ науки о методах разработки систем, основанных на знаниях — инженерии знаний, — обосновывается в работах Поспелова Д. А., Попова Э. В., Стефанюка В. Л., Шенка Р., Минского М. —ведущих специалистов в области ИИ в России и зарубежом. Первые шаги в создании методологии (работы Осипова Г. С., Хорошевского В. Ф., Яшина А. М., Wielinga, Slagle, etc.) фактически являются пионерскими и чаще всего ориентированы на определенный класс задач, моделируемых в рамках конкретного программного инструментария.
В данном параграфе рассмотрена новая методология [Гаврилова, 1995], позволяющая провести стадию структурирования независимо от последующей программной реализации, опираясь на достижения в области разработки сложных систем.

3.4.1. Историческая справка

Стадия концептуального анализа или структурирования знаний традиционно является (наряду со стадией извлечения) «узким местом» в жизненном цикле разработки интеллектуальных систем [Adeli, 1994]. Методология структурирования близка к современной теории больших систем [Гиг, 1981] или сложных систем [Courtois, 1985; Peters, 1981], где традиционно акцент делается на процессе проектирования таких систем. Большой вклад в эту теорию внесли классики объектно-ориентированного анализа [Буч, 1992].
Разработку интеллектуальных систем с уверенностью можно отнести к данному классу задач, поскольку они обладают основными признаками сложности (иерархия понятий, внутриэлементные и межэлементные связи и пр.). Сложность проектирования ИС определяется в основном сложностью предметных областей и управления процессом разработки, а также сложностью обеспечения гибкости конечного программного продукта и описания поведения отдельных подсистем.
Среди первых сторонников исследований по теории систем наиболее заметными были Бсрталанфи [Bertalanffy, 1950], Раппопорт и Боулдинг [Boulding, 1956].
Аналогичные концепции, но связанные не с общесистемными исследованиями, а рассматривающие информационные процессы в системах, таких как связь и управление, положили начало кибернетике как самостоятельной науке [Винер, 1958; Эшби, 1959]. Этот подход был существенно поддержан работами Шеннона по математическому моделированию понятия информации [Шеннон, Уивер, 1963; Feinstein, 1958; Watanabe, 1969].
Позднее, в 1960-х гг. было сделано несколько попыток сформулировать и развить математические теории систем высокого уровня общности [Mesarovic, 1964; Ар-биб, 1975]. Существенный вклад в математическую теорию систем и основы структурирования внесли отечественные исследователи Моисеев Н. Я. [Моисеев, 1981], Глушков В. М. [Глушков, 1964], Ивахненко А. Г. [Ивахненко, 1971], Поспелов Д. А. [Поспелов, 1986] и другие. Системный анализ тесно переплетается с теорией систем и включает совокупность методов, ориентированных на исследование и моделирование сложных систем — технических, экономических, экологических и т. п.

3.4.2. Иерархический подход

Проектирование сложных систем и методы структурирования информации традиционно использовали иерархический подход [Месарович, Такахара, 1972] как методологический прием расчленения формально описанной системы на уровни (или блоки, или модули). На высших уровнях иерархии используются наименее детализованные представления, отражающие только самые общие черты и особенности проектируемой системы. На следующих уровнях степень подробности возрастает, при этом система рассматривается не в целом, а отдельными блоками.
В теории САПР такой подход называется блочно-иерархическим (БИП) [Норен-ков, 1983; Петров, 1991]. Одно из преимуществ БИП состоит в том, что сложная задача большой размерности разбивается на последовательно решаемые группы задач малой размерности.
На каждом уровне вводятся свои представления о системе и элементах. Элемент к-го уровня является системой для уровня к-1. Продвижение от уровня к уровню имеет строгую направленность, определяемую стратегией проектирования — сверху вниз или снизу вверх.
Предлагаемый ниже объектно-структурный подход позволяет объединить две, обычно противопоставляемые, стратегии проектирования — нисходящую или дедуктивную STRtd (top-down) с последовательной декомпозицией объектов и процессов сверху вниз и восходящую или индуктивную STRbu (bottom-up) с постепенным обобщением понятий и увеличением степени абстрактности описаний снизу вверх.
Синтез этих стратегий, а также включение возможности итеративных возвратов на предыдущие уровни обобщений позволили создать дуальную концепцию, предоставляющую аналитику широкую палитру возможностей на стадии структурирования знаний как для формирования концептуальной структуры предметной области Sk, так и для функциональной структуры Sf.
Рисунок 3.15. иллюстрирует дуальную концепцию при проектировании Sk для ЭС помощи оператору энергетического блока.
Нисходящая концепция (top-down) декларирует движение от n Ю n + 1, где n — n-й уровень иерархии понятий ПО (предметной области) с последующей детализацией понятий, принадлежащим соответствующим уровням.

STRtd : Pnj Ю P1n+1,…, Pn+1ki,

где n — номер уровня порождающего концепта;
i — номер порождающего концепта;
ki — число порождаемых концептов, сумма всех ki пo i составляет общее число концептов на уровне n+1.
Восходящая концепция (bottom-up) предписывает движение n Ю n-1 с последовательным обобщением понятий.

STRbu : Pnj Ю Pkin,…, Pn-1i,

где n — номер уровня порождающих концептов;
i — номер порождаемого концепта;
ki — число порождающих концептов, сумма всех ki по i составляет общее число концептов на уровне n.



Рис. 3,15. Дуальная стратегия проектирования

Основанием для прекращения агрегирования и дезагрегирования является полное использование словаря терминов, которым пользуется эксперт, при этом число уровней является значимым фактором успешности структурирования (см. «вербальные отчеты» в главе 4).

3.4.3. Традиционные методологии структурирования

Существующие подходы к проектированию сложных систем можно разделить на два больших класса:
• Структурный (системный) подход или анализ, основанный на идее алгоритмической декомпозиции, где каждый модуль системы выполняет один из важнейших этапов общего процесса.
• Объектный подход, связанный с декомпозицией и выделением не процессов, а объектов, при этом каждый объект рассматривается как экземпляр определенного класса.
В структурном анализе [Yourdon, 1989; DeMarco, 1979; Gane & Sarson, 1979] разработано большое число выразительных средств для проектирования, в том числе графических [Буч, 1993]: диаграммы потоков данных (DFD — data-flow diagrams), структурированные словари (тезаурусы), языки спецификации систем, таблицы решений, стрелочные диаграммы «объект—связь» (ERD — entity-relationship diagrams), диаграммы переходов (состояний), деревья целей, блок-схемы алгоритмов (в нотации Насси—Шнейдермана, Гамильтона—Зельдина, Фест-ля и др.), средства управления проектом (PERT-диаграммы, диаграммы Ганта и др.), модели окружения.
Множественность средств и их некоторая избыточность объясняются тем, что каждая предметная область, используя структурный подход как универсальное средство моделирования, вводила свою терминологию, наиболее подходящую для отражения специфики конкретной проблемы. Поскольку инженерия знаний имеет дело с широким классом ПО (это «мягкие» ПО), встает задача разработки достаточно универсального языка структурирования.
Объектный (объектно-ориентированный) подход (ООП), возникший как технология программирования больших программных продуктов, основан на следующих основных элементарных понятиях [Буч, 1992]: объекты, классы как объекты, связанные общностью структуры и свойств, и классификации как средства упорядочения знаний; иерархии с наследованием свойств; инкапсуляции как средства ограничения доступа; методы и полиморфизм для определения функций и отношений.
ООП имеет свою систему условных обозначений и предлагает богатый набор логических и физических моделей для проектирования систем высокой степени сложности, при этом эти системы хорошо структурированы, что порождает легкость их модификации. Впервые принцип ООП установлен в 1979 [Jones, 1979], а затем развит в работах [Shaw, 1984; Peterson, 1987; Буч, 1992].
Широкое распространение объектно-ориентированных языков программирования C++, CLOS, Smalltalk и др. успешно демонстрирует жизнеспособность и перспективность этого подхода.

3.4.4. Объектно-структурный подход (ОСП)

Можно предложить в качестве базисной парадигмы методологии структурного анализа знаний и формирования поля знаний РZ обобщенный объектно-структурный подход (ОСП), последовательно разработанный от математического обоснования до технологии и программной реализации [Гаврилова, 1995]. Основные постулаты этой парадигмы заимствованы из ООП и расширены.
1. Системность (взаимосвязь между понятиями).
2. Абстрагирование (выявление существенных характеристик понятия, которые отличают его от других).
3. Иерархия (ранжирование на упорядоченные системы абстракций).
4. Типизация (выделение классов понятий с частичным наследованием свойств в подклассах).
5. Модульность (разбиение задачи на подзадачи или «возможные миры»).
6. Наглядность и простота нотации.
Использование пятого постулата ОСП в инженерии знаний позволяет строить глобальные БЗ с возможностью выделить локальные задачи с помощью горизонтальных и вертикальных сечений на отдельные модули пространства-описания предметной области.
Шестой постулат внесен в список последним, но не по значимости. В инженерии знаний формирование Р7 традиционно является критической точкой [Гаврилова, Червинская, Яшин, 1988; Гаврилова, Червинская, 1992], так как создаваемая неформальная модель предметной области должна быть предельно ясной и лаконичной. Традиционно языком инженерии знаний были диаграммы, таблицы и другие графические элементы, способствующие наглядности представлений. Именно поэтому предлагаемый в данной работе подход к языку связан с возможной визуализацией процесса проектирования.
ОСП позволяет наглядно и компактно отобразить объекты и отношения предметной области на основе использования шести постулатов.
Объектно-структурный подход подразумевает интегрированное использование сформулированных выше постулатов от первой до последней стадий разработки БЗ интеллектуальных и обучающих систем. На основе ОСП предлагается алгоритм объектно-структурного анализа (ОСА) предметной области, позволяющего оптимизировать и упорядочить достаточно размытые процедуры структурирования знаний.

Стратификация знаний
Основы ОСА были предложены автором еще в работах [Гаврилова, 1989; Гаврилова, Красовская, 1990] и успешно применялись при разработке ЭС МИКРОЛЮШЕР [Гаврилова, Тишкин, Золотарев, 1989] и АВЭКС [Гаврилова, Минко-ва, Карапетян,1992].
ОСА подразумевает дезагрегацию ПО, как правило, на восемь страт или слоев (табл. 3.1 и 3.2).




Таблица 3.1.
Стратификация знаний предметной области

s_1
ЗАЧЕМ-знания
Стратегический анализ: назначение и функции системы
s_2
КТО-знания
Организационный анализ: коллектив разработчиков системы
s_3
НТО-знания
Концептуальный анализ: основные концепты, понятийная


структура
s_4
КАК-знания
Функциональный анализ: гипотезы и модели принятия решения
s_5
ГДЕ-знания
Пространственный анализ: окружение, оборудование,


коммуникации
s_6
КОГДА-знания
Временной анализ: временные параметры и ограничения
s_7
ПОЧЕМУ-знания
Каузальный или причинно-следственный анализ: формирование подсистемы объяснений
s_8
СКОЛЬКО-знания
Экономический анализ: ресурсы, затраты, прибыль, окупаемость

Объектно-структурный анализ подразумевает разработку и использование матрицы ОСА (см. табл. 3.2), которая позволяет всю собранную информацию дезагрегировать последовательно по слоям-стратам (вертикальный анализ), а затем по уровням — от уровня проблемы до уровня подзадачи (горизонтальный анализ). Или наоборот — сначала по уровням, а потом по стратам.
Таблица 3.2.
Матрица объектно-структурного анализа

Уровни Страты
Уровень области u1
Уровень проблемы u2
Уровень задачи uэ
Уровень подзадачи u4

un
Стратегический анализ s1
Е11
Е12
Е13
Е14

Е1n
Организационный анализ s2
Е21





Концептуальный анализ s3
E31





Функциональный анализ s4
E41





Пространственный анализ s5
Е51





Временной анализ ss
Е61





Каузальный анализ s7
Е71





Экономический анализ s8
Е81





….




Еij

sm
Em1




Emn

При необходимости число страт может быть увеличено. В свою очередь знания каждой страты подвергаются дальнейшему ОСА и декомпозируются на составляющие
|| emn || ,
где m — номер уровня,
n — номер страты,
етп принадлежит множеству К всех концептов (понятий) предметной области.
(1)
Матрица (1) является матрицей над К. Пусть М(К) — совокупность всех mґn матриц над К. Тогда можно определить клеточную матрицу Е, в которой

m = ml + ... + mk,

n = nl + ... + nl,

где m и n— целые положительные числа. Е О Mm,n (К), и ее можно представить в виде:
(2)
где Emv О Мmm (К), n = l,...,k; v = 1,...,l.
Матрица Е является несимметричной, так как часть клеточных элементов Emv могут подвергаться декомпозиции, а часть представляет некоторые базисные атомарные концепты из К, не подлежащие детализации.
Предлагаемый подход предполагает реализацию концепции последовательного генезиса ОСП через ОСА к объектно-структурной разработке (ОСР).

Алгоритм ОСА
Алгоритм ОСА (объектно-структурного анализа) предназначен для детального практического структурирования знаний ПО. В основе ОСА заложен алгоритм заполнения ОСА-матрицы Еmn. Алгоритм содержит последовательность аналитических процедур, позволяющих упростить и оптимизировать процесс структурирования. Алгоритм разделяется на две составляющие:
• А_I. Глобальный (вертикальный) анализ, включающий разбиение ПО на методологические страты (чтио-знания, кяк-знания и т. д.) на уровне всей ПО. В результате заполняется первый столбец матрицы (2).
• А_II. Анализ страт (горизонтальный), включающий построение многоуровневых структур по отдельным стратам. Число уровней п определяется особенностями стратифицированных знаний ПО и может существенно отличаться для разных страт. С точки зрения методологии n < 3 свидетельствует о слабой проработке ПО.
Первый уровень соответствует уровню всей ПО (уровень области). Второй — уровню проблемы, выделенной для решения. Третий — уровню конкретной решаемой задачи. Дальнейшие уровни соответствуют подзадачам, если имеет смысл их выделять.
При этом возможно как последовательное применение восходящей (bottom-up) и нисходящей концепций (top-down),.так и их одновременное применение.

Глобальный анализ
Технология глобального анализа сводится к разбиению пространства основной задачи структурирования ПО на подзадачи, соответствующие особенностям ПО. Для разработки интеллектуальных систем существует минимальный набор s-страт, обеспечивающий формирование БЗ. Минимальный набор включает три страты:
• s3 — формирование концептуальной структуры Sk;
• s4 — формирование функциональной структуры Sf;
• s7 — формирование подсистемы объяснений So.
Формирование остальных страт позволяет существенно оптимизировать процесс разработки и избежать многих традиционных ошибок проектирования. Страты s4 и s5 являются дополнительными и формируются в случаях, когда знания предметной области существенно зависят от временных и пространственных параметров (системы реального времени, планирование действий роботов и т. п.).
Алгоритм А_1 глобального анализа может быть кратко сформулирован следующим образом:
• А_1_1. Собрать все материалы по идентификации задачи и по результатам извлечения знаний.
• А_1_2. Выбрать набор страт N, подлежащих формированию (Nmin = 3).
• А_1_3. Отобрать всю информацию по первой выбранной страте (i- 1, где i — номер из выбранного набора страт N).
• А_1_4. Повторить шаг А_1_3 для i+1 для всех выбранных страт до i Ь N.
• А_1_5. Если часть информации останется неиспользованной, увеличить число страт и повторить для новых страт шаг А_1_3; иначе перейти к последовательной реализации алгоритмов горизонтального анализа страт А_2.

Анализ страт
Последовательность шагов горизонтального анализа зависит от номера страты, но фактически сводится к реализации дуальной концепции структурирования для решения конкретной подзадачи.
Ниже предлагается алгоритм ОСА для одной из обязательных страт s3 (ЧТО-анализ), результатом которого является формирование концептуальной структуры предметной области Sk.
• А_2_3_1. Из группы информации, соответствующей ЧТО-страте, выбрать все значимые понятия и сформулировать соответствующие концепты.
• А_2_3_2. Выявить имеющиеся иерархии и зафиксировать их графически в виде структуры.
• А_2_3_3. Детализировать концепты, пользуясь нисходящей концепцией (top-down).
• А_2_3_4. Образовать метапонятия по концепции (bottom-up).
• А_2_3_5. Исключить повторы, избыточность и синонимию.
• А_2_3_6. Обсудить понятия, не вошедшие в структуру Sf, с экспертом и перенести их в другие страты или исключить.
• А_2_3_7. Полученный граф или набор графов разделить на уровни и обозначить — согласно матрице ОСА (1).
Аналогичные алгоритмы разработаны для всех страт и апробированы при разработке экспертных систем ПРОГОР и АВЭКС.









<< Предыдущая

стр. 6
(из 26 стр.)

ОГЛАВЛЕНИЕ

Следующая >>