- •1. Введение в интеллектуальные системы.................................................................7
- •2. Разработка систем, основанных на знаниях ........................................................36
- •3. Теоретические аспекты инженерии знаний..........................................................55
- •4. Технологии инженерии знаний.............................................................................. 95
- •5. Новые тенденции и прикладные аспекты
- •6. Программный инструментарий разработки систем, основанных на знаниях............................................................................................................................194
- •7. Пример разработки системы, основанной на знаниях ................................….226
- •8. Представление данных и знаний в Интернете...................................................257
- •9. Интеллектуальные Интернет-технологии..........................................................300
- •1. Введение в интеллектуальные системы
- •1.1. Краткая история искусственного интеллекта
- •1.1.1. Предыстория
- •1.1.2. Зарождение нейрокибернетики
- •1.1.3. От кибернетики «черного ящика» к ии
- •1.1.4. История искусственного интеллекта в России
- •1.2. Основные направления исследований в области искусственного интеллекта
- •1.2.1. Представление знаний и разработка систем, основанных на знаниях (knowledge-based systems)
- •1.2.2. Программное обеспечение систем ии (software engineering for Al)
- •1.2.3. Разработка естественно-языковых интерфейсов и машинный перевод (natural language processing)
- •1.2.4. Интеллектуальные роботы (robotics)
- •1.2.5. Обучение и самообучение (machine learning)
- •1.2.6. Распознавание образов (pattern recognition)
- •1.2.7. Новые архитектуры компьютеров (new hardware platforms and architectures)
- •1.2.8. Игры и машинное творчество
- •1.2.9. Другие направления
- •1.3. Представление знаний и вывод на знаниях
- •1.3.1. Данные и знания
- •1.3.2. Модели представления знаний
- •1.3.3. Вывод на знаниях
- •1.4. Нечеткие знания
- •1.4.1. Основы теории нечетких множеств
- •123456789 10 Рис. 1.7. Формирование нечетких множеств
- •1.4.2. Операции с нечеткими знаниями
- •1.5. Прикладные интеллектуальные системы
- •2. Разработка систем, основанных на знаниях
- •2.1. Введение в экспертные системы. Определение и структура
- •2.2. Классификация систем, основанных на знаниях
- •2.2.1. Классификация по решаемой задаче
- •2.2.2. Классификация по связи с реальным временем
- •2.2.3. Классификация по типу эвм
- •2.2.4. Классификация по степени интеграции с другими программами
- •2.3. Коллектив разработчиков
- •2.4. Технология проектирования и разработки
- •2.4.1. Проблемы разработки промышленных эс
- •2.4.2. Выбор подходящей проблемы
- •2.4.3. Технология быстрого прототипирования
- •2.4.4. Развитие прототипа до промышленной эс
- •2.4.5. Оценка системы
- •2.4.6. Стыковка системы
- •2.4.7. Поддержка системы
- •3. Теоретические аспекты инженерии знаний
- •3.1. Поле знаний
- •3.1.1. О языке описания поля знаний
- •3.1.2. Семиотическая модель поля знаний
- •3.1.3. «Пирамида» знаний
- •3.2. Стратегии получения знаний
- •3.3. Теоретические аспекты извлечения знаний
- •3.3.1. Психологический аспект
- •3.3.2. Лингвистический аспект
- •3.3.3. Гносеологический аспект извлечения знаний
- •3.4. Теоретические аспекты структурирования знаний
- •3.4.1. Историческая справка
- •3.4.2. Иерархический подход
- •3.4.3. Традиционные методологии структурирования
- •3.4.4. Объектно-структурный подход (осп)
- •4. Технологии инженерии знаний
- •4.1. Классификация методов практического извлечения знаний
- •4.2. Коммуникативные методы
- •4.2.1. Пассивные методы
- •4.2.2. Активные индивидуальные методы
- •4.2.3. Активные групповые методы
- •4.3. Текстологические методы
- •4.4. Простейшие методы структурирования
- •4.4.1. Алгоритм для «чайников»
- •4.4.2. Специальные методы структурирования
- •4.5. Состояние и перспективы автоматизированного приобретения знаний
- •4.5.1. Эволюция систем приобретения знаний
- •4.5.2. Современное состояние
- •4.6. Примеры методов и систем приобретения знаний
- •4.6.1. Автоматизированное структурированное интервью
- •4.6.2. Имитация консультаций
- •4.6.3. Интегрированные среды приобретения знаний
- •4.6.4. Приобретение знаний из текстов
- •5. Новые тенденции и прикладные аспекты инженерии знаний
- •5.1. Латентные структуры знаний и психосемантика
- •5.1.1. Семантические пространства
- •5.1.2. Методы многомерного шкалирования
- •5.1.3. Использование метафор для выявления «скрытых» структур знаний
- •5.2. Метод репертуарных решеток
- •5.2.1. Основные понятия
- •5.2.2. Методы выявления конструктов Метод минимального контекста
- •5.2.3. Анализ репертуарных решеток
- •5.2.4. Автоматизированные методы
- •5.3. Управление знаниями
- •5.3.1. Что такое «управление знаниями»
- •5.3.2. Управление знаниям и корпоративная память
- •5.3.3. Системы omis
- •5.3.4. Особенности разработки omis
- •5.4.1. От понятийных карт к семантическим сетям
- •5.4. Визуальное проектирование баз знаний как инструмент познания
- •5.4.2. База знаний как познавательный инструмент
- •5.5. Проектирование гипермедиа бд и адаптивных обучающих систем
- •5.5.1. Гипертекстовые системы
- •5.5.2. От мультимедиа к гипермедиа
- •5.5.3. На пути к адаптивным обучающим системам
- •6. Программный инструментарий разработки систем, основанных на знаниях
- •6.1. Технологии разработки программного обеспечения - цели, принципы, парадигмы
- •6.1.1. Основные понятия процесса разработки программного обеспечения (по)
- •6.1.2. Модели процесса разработки по
- •6.1.3. Инструментальные средства поддержки разработки систем по
- •6.2. Методологии создания и модели
- •6.3. Языки программирования для ии и языки представления знаний
- •6.4. Инструментальные пакеты для ии
- •6.5. WorkBench-системы
- •7. Пример разработки системы, основанной на знаниях
- •7.1. Продукционно-фреймовый япз pilot/2
- •7.1.1. Структура пилот-программ и управление выводом
- •7.1.2. Декларативное представление данных и знаний
- •7.1.3. Процедурные средства языка
- •7.2. Психодиагностика – пример предметной области для построения экспертных систем
- •7.2.1. Особенности предметной области
- •7.2.2. Батарея психодиагностических эс «Ориентир»
- •7.3. Разработка и реализация
- •7.3.1. Архитектура системы и ее база знаний
- •7.3.2. Общение с пользователем и опрос испытуемых
- •7.3.3. Вывод портретов и генерация их текстовых представлений
- •7.3.4. Помощь и объяснения в эс «Cattell»
- •8. Представление данных и знаний в Интернете
- •8.1. Язык html и представление знаний 8.1.1. Историческая справка
- •8.1.2. Html - язык гипертекстовой разметки Интернет-документов
- •8.1.3. Возможности представления знаний на базе языка html
- •8.2. Онтологии и онтологические системы
- •8.2.1. Основные определения
- •8.2.2. Модели онтологии и онтологической системы
- •8.2.3. Методологии создания и «жизненный цикл» онтологий
- •8.2.4. Примеры онтологий
- •8.3. Системы и средства представления онтологических знаний
- •8.3.1. Основные подходы
- •8.3.2. Инициатива (ка)2 и инструментарий Ontobroker
- •Средства спецификации онтологий в проекте Ontobroker
- •Формализм запросов
- •Формализм представления и машина вывода
- •Аннотация Web-страниц онтологической информацией
- •8.3.3. Проект shoe - спецификация онтологий и инструментарий Общая характеристика проекта
- •Спецификации онтологий и инструментарий shoe
- •Формализм представления и машина вывода
- •Аннотация Web-документов на базе онтологии
- •Формализм запросов
- •8.3.4. Другие подходы и тенденции
- •9. Интеллектуальные Интернет-технологии
- •9.1. Программные агенты и мультиагентные системы
- •9.1.1. Историческая справка
- •9.1.2. Основные понятия
- •9.2. Проектирование и реализация агентов и мультиагентных систем
- •9.2.1. Общие вопросы проектирования агентов и mac
- •9.2.2. Инструментарий AgentBuilder
- •9.2.3. Система Bee-gent
- •9.3. Информационный поиск в среде Интернет
- •9.3.1. Машины поиска
- •9.3.2. Неспециализированные и специализированные поисковые агенты
- •9.3.3. Системы интеллектуальных поисковых агентов
- •Autonomy и Web compass - системы интеллектуального поиска и обработки информации
- •Проект системы marri
- •Прототип системы OntoSeek
- •(Onto)2 - агент поиска и выбора онтологий
3.3.3. Гносеологический аспект извлечения знаний
Гносеология - это раздел философии, связанный с теорией познания, или теорией отражения действительности в сознании человека.
Гносеологический аспект (A3) извлечения знаний объединяет методологические проблемы получения нового научного знания, поскольку при создании БЗ эксперт часто впервые формулирует некоторые закономерности, до того момента составлявшие его личный опыт.
Инженерия знаний как наука, если можно так выразиться, дважды гносеологична - сначала действительность (О) отражается в сознании эксперта (Ml), а затем деятельность и опыт эксперта интерпретируются сознанием инженера по знаниям (М2), что служит уже основой для построения третьей интерпретации (Р) - поля знаний экспертной системы (см. рис. 3.5). Процесс познания, в сущности, направлен на создание внутренней репрезентации окружающего мира в сознании человека.
Предметом данного учебника являются в основном процессы отображения I2 и I3 (I1 - изучают психология и философия); подробно интерпретация I3 будет рассмотрена далее.
Если описать процессы I2 и I3 в терминологии, введенной в главе 1, то мы имеем дело с превращением экспертного знания и теоретического (книжного) опыта Z1 в поле знаний Z2, которое есть материализация модели мира М2 инженера по знаниям.
В процессе извлечения знаний аналитика в основном интересует компонент Z1, связанный с неканоническими индивидуальными знаниями экспертов, поскольку предметные области, требующие именно такого типа знаний, считаются наиболее восприимчивыми к внедрению экспертных систем. Эти области обычно называют эмпирическими, так как в них накоплен большой объем отдельных эмпирических фактов и наблюдений, в то время как их теоретическое обобщение - вопрос будущего.
Если считать, что инженер по знаниям извлекает только фрагмент Z1' то есть часть из системы знаний эксперта Z1, то его задача, во-первых, стараться, чтобы структура Z1' соответствовала Z1, и, во-вторых, чтобы Z1' как можно более полно отражал Z1.
Познание часто сопровождается созданием новых понятий и теорий. Иногда эксперт порождает новые знания прямо в ходе беседы с аналитиком. Такая генерация знаний полезна и самому эксперту, который до того момента мог не осознавать ряд соотношений и закономерностей предметной области. Аналитику может помочь тут и инструментарий системной методологии, позволяющий использовать известные принципы логики научных исследований, понятийной иерархии науки. Эта методология заставляет его за частным всегда стремиться увидеть общее, то есть строить цепочки.
Гносеологическая цепочка: факт → обобщенный факт → эмпирический закон → теоретический закон.
Не всегда удается дойти до последнего звена этой цепочки, но уже само стремление к движению бывает чрезвычайно плодотворным. Такой подход полностью согласуется со структурой самого знания, которое имеет два уровня:
1. Эмпирический (наблюдения, явления).
2. Теоретический (законы, абстракции, обобщения).
Но теория - это не только стройная система обобщения научного знания, это также некоторый способ производства новых знаний. Основными методологическими критериями научности, позволяющими считать научным и само новое знание и способ его получения, являются [Коршунов, Манталов, 1988]:
A3 = {S31, S32, S33} = {внутренняя согласованность, системность, объективность, историзм}.
Внутренняя согласованность (S31)
Основные характеристики эмпирического знания:
S31 = {s31_i} = {модальность, противоречивость, неполнота}.
На первый взгляд критерий внутренней согласованности знания не соответствует реальным характеристикам, описывающим знания с точки зрения слоя s31_i. Эти характеристики эмпирических знаний подчеркивают его «многоукладность» - столь часто факты не согласуются друг с другом, определения противоречат, критерии диффузны и т. д. Аналитику, знающему особенности эмпирического знания, - приходится сглаживать эти «шероховатости» эмпирики.
Модальность (s31_l) знания означает возможность его существования в различных категориях, то есть в конструкциях существования и долженствования. Таким образом, часть закономерностей возможна, другая обязательна и т. д. Кроме того, приходится различать такие оттенки модальности, как:
• эксперт знает, что...;
• эксперт думает, что...;
• эксперт хочет, чтобы...;
• эксперт считает, что....
Возможная противоречивость (s31_2) эмпирического знания - естественное следствие из основных законов диалектики, и противоречия эти не всегда должны разрешаться в поле знаний, а напротив, именно противоречия служат чаще всего отправной точкой в рассуждениях экспертов.
Неполнота (s31_3) знания связана с невозможностью полного описания предметной области. Задача аналитика эту неполноту ограничить определенными рамками «полноты», то есть сузить границы предметной области либо ввести ряд ограничений и допущений, упрощающих проблему.
Системность (S32)
Системно-структурный подход к познанию (восходящий еще к Гегелю) ориентирует аналитика на рассмотрение любой предметной области с позиций закономерностей системного целого и взаимодействия составляющих его частей.
Современный структурализм исходит из многоуровневой иерархической организации любого объекта, то есть все процессы и явления можно рассматривать как множество более мелких подмножеств (признаков, деталей) и, наоборот, любые объекты можно (и нужно) рассматривать как элементы более высоких классов обобщений. Например, системный взгляд на проблематику структурирования знаний позволяет увидеть его иерархическую организацию. Подробнее об этом в параграфе 3.4.
Объективность (S33)
Процесс познания глубоко субъективен, то есть он существенно зависит от особенностей самого познающего субъекта. «Факты существуют для одного глаза и отсутствуют для другого» (Виппер). Таким образом, субъективность начинается уже с описания фактов и увеличивается по мере углубления идеализации объектов.
Следовательно, более корректно говорить о глубине понимания, чем об объективности знания. Понимание - это сотворчество, процесс истолкования объекта с точки зрения субъекта. Это сложный и неоднозначный процесс, совершающийся в глубинах человеческого сознания и требующий мобилизации всех интеллектуальных и эмоциональных способностей человека. Все свои усилия аналитик должен сосредоточить на понимании проблемы.
В психологии известен результат [Величковский, Капица, 1987], подтверждающий факт, что люди, быстро и успешно решающие интеллектуальные задачи, большую часть времени тратят на понимание ее, в то время как плохие решатели быстро приступают к поискам решения и чаще всего не могут его найти.
Историзм (S34)
Этот критерий связан с развитием. Познание настоящего - есть познание породившего его прошлого. И хотя большинство экспертных систем дают «горизонтальный» срез знаний - без учета времени (в статике), инженер по знаниям должен всегда рассматривать процессы с учетом временных изменений - как связь с прошлым, так и связь с будущим. Например, структура поля знаний и база знаний должны допускать подстройку и коррекцию, как в период разработки, так и во время эксплуатации ЭС.
Рассмотрев основные критерии научности познания, попытаемся теперь описать его структуру. Методологическая структура познания может быть представлена как некоторая последовательность этапов [Коршунов, Манталов, 1988]. Параметры {S3i} органически вписываются в эту структуру познания, которая может быть представлена как последовательность этапов, описанных далее с позиций инженера по знаниям:
• Э_1: описание и обобщение фактов;
• Э_2: установление логических и математических связей, дедукция и индукция законов;
• Э_3: построение идеализированной модели;
• Э_4: объяснение и предсказание явлений.
Э_1. Описание и обобщение фактов
Тщательность и полнота ведения протоколов во время процесса извлечения и пунктуальная «домашняя работа» над ними - вот залог продуктивного первого этапа познания pi материал для описания и обобщения фактов.
На практике оказывается трудным придерживаться принципов объективности и системности, описанных выше. Чаще всего на этом этапе факты просто собирают и как бы бросают в «общий мешок»; опытный инженер по знаниям часто сразу пытается найти «полочку» или «ящичек» для каждого факта, тем самым подспудно готовясь к этапу концептуализации.
Э_2. Установление связей и закономерностей
В памяти эксперта все понятия увязаны и закономерности установлены, хотя часто и неявно задача инженера - выявить каркас умозаключений эксперта. Реконструируя рассуждения эксперта, инженер по знаниям может опираться на две наиболее популярные теории мышления - логическую и ассоциативную. При этом если логическая теория благодаря горячим поклонникам в лице математиков широко цитируется и всячески эксплуатируется в работах по искусственному интеллекту, то вторая, ассоциативная, гораздо менее известна и популярна, хотя имеет также древние корни. Так, Р. Фейнман в своих «Лекциях по физике» отмечает, что в физике по-прежнему преобладающим является вавилонский, а не греческий метод построения знаний. Известно, что древневосточные математики умели делать сложные вычисления, но формулы их не были логически увязаны. Напротив, греческая математика дедуктивна (например, «Начала» Евклида).
Традиционная логика формирует критерии, которые гарантируют точность, валидность, непротиворечивость общих понятий рассуждений и выводов. Ее основы заложены еще в «Органоне» Аристотеля в 4 в. до н. э. Большой вклад в развитие логики внес Джон Стюарт Милль (1806-1873).
Инженер по знаниям и сам использует операции традиционной логики и выделяет их в схеме рассуждений эксперта. Это следующие операции:
• определение;
• сравнение и различение;
• анализ;
• абстрагирование;
• обобщение;
• классификация;
• категоризация;
• образование суждений;
• умозаключение;
• составление силлогизмов и т. д.
Однако красота и стройность логической теории не должны заслонять того, что человек редко мыслит в категориях математической логики [Поспелов, 1989].
Теория ассоциаций представляет мышление как цепочку идей, связанных общими понятиями. Основными операциями такого мышления являются:
• ассоциации, приобретенные на основе различных связей;
• припоминание прошлого опыта; пробы и ошибки со случайными успехами;
• привычные («автоматические») реакции и пр.
Однако эти две теории не исчерпывают всего многообразия психологических школ. Большой интерес для инженерии знаний может представлять гештальтпсихология. Одним из ее основателей является выдающийся немецкий психолог М. Вертгеймер (1880-1943). Под гештальтом (нем. Gestalt) понимается принцип целостности восприятия - как основа мышления. Гештальт-психологи стараются во всем выделять некий целостный образ или структуру как базис для понимания процессов и явлений окружающего мира. Эта теория близка теории фреймов и объектному подходу и направлена на постижение глубинного знания, которое характеризуется стабильностью и симметрией. При этом важен так называемый «центр ситуации», относительно которого развивается знание о предметной области.
Для инженера по знаниям это означает, что, выявляя различные фрагменты знаний, он не должен забывать о главном, о гештальте фрагмента, который влияет на остальные компоненты и связывает их в некоторую структурную единицу. Гештальтом может быть некий главный принцип, или идея, или гипотеза эксперта, или его вера в силу каких-то отдельных концепций. Этот принцип редко формулируется экспертом явно, он всегда как бы за «кадром», и искусство инженера по знаниям обнаружить этот основной гештальт эксперта.
В гештальт-теории существует закон «стремления к хорошему гештальту», согласно которому структуры сознания стремятся к гармонии, связности, простоте. Это близко к старинному классическому принципу «бритвы Оккама» - «сущности не должны умножаться без необходимости» - и формулируется как принцип прегнантности Вертгеймера [Вертгеймер, 1987]: «Организация поля имеет тенденцию быть настолько простой и ясной, насколько позволяют данные условия». Рассуждения о гештальте подводят вплотную к третьему этапу в структуре познания.
Э_3. Построение идеализированной модели
Для построения модели, отражающей представление субъекта о предметной области, необходим специализированный язык, с помощью которого можно описывать и конструировать те идеализированные модели мира, которые возникают в процессе мышления. Язык этот создается постепенно с помощью категориального аппарата, принятого в соответствующей предметной области, а также формально-знаковых средств математики и логики. Для эмпирических предметных областей такой язык пока не разработан, и поле знаний, которое полуформализованным способом опишет аналитик, может быть первым шагом к созданию такого языка.
Любое познавательное отражение включает в себя условность, то есть упрощение и идеализацию. Инженеру по знаниям необходимо овладение такими специфическими гносеологическими приемами, как идеализация, огрубление, абстрагирование, которые позволяют адекватно отображать в модели реальную картину мира. Эти приемы доводят свойства и признаки объектов до пределов, позволяющих воспроизводить законы действительности в более лаконичном виде (без влияния несущественных деталей).
На тернистом пути познания проверенный диалектический подход оказывается лучшим «поводырем». Инженер по знаниям, который стремится познать проблемную область, должен быть готов постоянно изменять свои уже утвердившиеся способы восприятия и оценки мира и даже отказываться от них. При этом тщательнее всего следует проверять правильность суждений, которые кажутся самыми очевидными.
Э_4. Объяснение и предсказание моделей
Этот завершающий этап в структуре познания является одновременно и частичным критерием истинности полученного знания. Если выявленная система знаний эксперта полна и объективна, то на ее основании можно делать прогнозы и объяснять любые явления из данной предметной области. Обычно базы знаний ЭС страдают фрагментарностью и модульностью (несвязанностью) компонентов. Все это не позволяет создавать действительно интеллектуальные системы, которые, равняясь на человека, могли бы предсказывать новые закономерности и объяснять случаи, не указанные в явном виде в базе. Исключением тут являются обучающие системы, которые ориентированы на генерацию новых знаний и «предсказание».
Предлагаемая методология вооружает аналитика аппаратом, позволяющим избежать традиционных ошибок, приводящих к неполноте, противоречивости, фрагментарности БЗ, и указывает направление, в котором необходимо двигаться разработчикам. И хотя на сегодняшний день большинство БЗ прорабатываются лишь до этапа Э_3, знание полной схемы обогащает и углубляет процесс проектирования.
