
- •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. Визуальное проектирование баз знаний как инструмент познания
- •5.4.1. От понятийных карт к семантическим сетям
- •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 - агент поиска и выбора онтологий
2.4.7. Поддержка системы
При перекодировании системы на язык, подобный С, повышается ее быстродействие и увеличивается переносимость, однако гибкость при этом уменьшается. Это приемлемо лишь в том случае, если система сохраняет все знания проблемной области и это знание не будет изменяться в ближайшем будущем. Однако если экспертная система создана именно из-за того, что проблемная область изменяется, то необходимо поддерживать систему в ее инструментальной среде разработки.
Пример 2.3
Удачным примером ЭС, внедренной таким образом, является XCON (R1) - ЭС, которую фирма DEC использует для комплектации ЭВМ семейства VAX. Одной из ключевых проблем, с которой столкнулась фирма DEC, является необходимость постоянного внесения изменений для новых версий оборудования, новых спецификаций и т. д. Для этой цели XCON поддерживается в программной среде OPS5.
3. Теоретические аспекты инженерии знаний
□ Поле знаний
□ Стратегии получения знаний
□ Теоретические аспекты извлечения знаний
□ Теоретические аспекты структурирования знаний
3.1. Поле знаний
Инженерия знания - достаточно молодое направление искусственного интеллекта, появившееся тогда, когда практические разработчики столкнулись с весьма нетривиальными проблемами трудности «добычи» и формализации знаний.
В первых книгах по ИИ эти факты обычно только постулировались, в дальнейшем начались серьезные исследования по выявлению оптимальных стратегий выявления знаний [Boose, 1990; Wielinga, Schreiber, Breuker, 1992; Tuthill, 1994;
Adeli, 1994].
Данная глава целиком посвящена теоретическим проблемам инженерии знаний, другими словами - проектированию баз знаний - получению и структурированию знаний специалистов для последующей разработки баз знаний. Центральным понятием на стадиях получения и структурирования является так называемое поле знаний, уже упоминавшееся в параграфе 1.3.
Поле знаний - это условное неформальное описание основных понятий и взаимосвязей между понятиями предметной области, выявленных из системы знаний эксперта, в виде графа, диаграммы, таблицы или текста.
3.1.1. О языке описания поля знаний
Поле знаний Pz формируется на третьей стадии разработки ЭС (см. п. 2.4) -стадии структурирования.
Поле знаний, как первый шаг к формализации, представляет модель знаний о предметной области, в том виде, в каком ее сумел выразить аналитик на некотором «своем» языке. Что это за язык? Известно, что словарь языка конкретной науки формируется путем пополнения общеупотребительного языка специальными терминами и знаками, которые либо заимствуются из повседневного языка, либо изобретаются [Кузичева, 1987]. Назовем этот язык L и рассмотрим его желаемые свойства, учитывая, что стандарта этого языка пока не существует, а каждый инженер по знаниям вынужден сам его изобретать.
Во-первых, как и в языке любой науки, в нем должно быть как можно меньше неточностей, присущих обыденным языкам. Частично точность достигается более строгим определением понятий. Идеалом точности, конечно, является язык математики. Язык L, видимо, занимает промежуточное положение между естественным языком и языком математики.
Во-вторых, желательно не использовать в нем терминов иных наук в другом, то есть новом, смысле. Это вызывает недоразумения.
В-третьих, язык L, видимо, будет либо символьным языком, либо языком графическим (схемы, рисунки, пиктограммы).
При выборе языка описания поля знаний не следует забывать, что на стадии формализации необходимо его заменить на машинно-реализуемый язык представления знаний (ЯПЗ), выбор которого зависит от структуры поля знаний. Существует ряд языков, достаточно универсальных, чтобы претендовать на роль языка инженерии знаний, - это структурно-логический язык SLL, включающий аппарат лямбда-конверсии [Вольфенгаген и др., 1979], язык К-систем [Кузнецов, 1989], УСК [Мартынов, 1977] и др. Однако они не нашли широкого применения. В некотором смысле создание языка L очень близко к идеям разработки универсальных языков науки [Кузичева, 1987]. К XVII веку сложились два подхода в разработке универсальных языков: создание языков-классификаций и логико-конструктивных языков. К первому примыкают проекты, восходящие к идее Ф. Бэкона, - это языки Вилкинса и Далгарно. Второй подход связан с исследованиями в рамках поиска универсального метода познания, наиболее четко высказанного Р. Декартом, а затем в проекте универсальной характеристики Г. Лейбница. Именно Лейбниц наметил основные контуры учения о символах, которые в соответствии с его замыслами в XVIII веке развивал Г. Ламберт, который дал имя науке «семиотика». Семиотика в основном нашла своих адептов в сфере гуманитарных наук. В последнее время сложилась также новая ветвь семиотики - прикладная семиотика [Pospelov, 1995].
Представители естественных наук еще не до конца осознали достоинства семиотики только из-за того, что имеют дело с достаточно простыми и «жесткими» предметными областями. Им хватает аппарата традиционной математики. В инженерии знаний, однако, мы имеем дело с «мягкими» предметными областями, где явно не хватает выразительной адекватности классического математического аппарата и где большое значение имеет эффективность нотации (ее компактность, простота модификации, ясность интерпретации, наглядность и т. д.). В главе 8 рассматриваются современные тенденции в этой области, и вводится понятие онотологического инжиниринга, как одного из подходов к семиотическому моделированию предметной области.
Языки семиотического моделирования [Осипов, 1988; Поспелов, 1986] как естественное развитие языков ситуационного управления являются, как нам кажется, первым приближением к языку инженерии знаний. Именно изменчивость и условность знаков делают семиотическую модель применимой к сложным сферам реальной человеческой деятельности. Поэтому главное на стадии концептуализации - сохранение естественной структуры поля знаний, а не выразительные возможности языка.
Традиционно семиотика включает (рис. 3.1):
• синтаксис (совокупность правил построения языка или отношения между знаками);
• семантику (связь между элементами языка и их значениями или отношения между знаками и реальностью);
• прагматику (отношения между знаками и их пользователями).
Рис. 3.1. Структура семиотики