
- •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 - агент поиска и выбора онтологий
4.5. Состояние и перспективы автоматизированного приобретения знаний
В данном параграфе мы рассмотрим автоматизированный подход к проблеме извлечения и структурирования знаний, традиционно называемый приобретением знаний (knowledge acquisition).
Поскольку основную трудность в создании интеллектуальных систем представляет домашинный этап проектирования, выполняемый инженером по знаниям (или аналитиком), - анализ предметной области, получение знаний и их структурирование, - эти процедуры традиционно считаются «узким местом» (bottleneck) проектирования экспертных систем [Gaines, 1987; Boose, 1990]. Последние 5-6 лет усилия разработчиков направлены на создание инструментальной программной поддержки деятельности инженера по знаниям и эксперта именно на этих этапах.
4.5.1. Эволюция систем приобретения знаний
Первое поколение таких систем появилось в середине 80-х - это так называемые системы приобретения знаний (СПЗ) (TEIRESIAS [Davis, 1982], SIMER+ MIR [Осипов, 1988], АРИАДНА [Моргоев, 1988]). Это средства наполнения так называемых «пустых» ЭС, то есть систем, из БЗ которых изъяты знания (например, EMYCIN - EMPTY MYCIN, опустошенная медицинская ЭС MYCIN со специальной диалоговой системой заполнения базы знаний TEIRESIAS). Их авторы считали, что прямой диалог эксперта с компьютером через СПЗ поможет сократить жизненный цикл разработки.
Однако опыт создания и внедрения СПЗ продемонстрировал несовершенство такого подхода.
Основные недостатки СПЗ I поколения:
• Слабая проработка методов извлечения и структурирования знаний.
• Жесткость модели представления знаний, встроенной в СПЗ и связанной с привязкой к программной реализации.
• Ограничения на предметную область.
Таким образом, традиционная схема разработки СПЗ I поколения:
создание конкретной ЭС → опустошение БЗ → разработка СПЗ для новых наполнений БЗ → формирование новой БЗ для другой ЭС
оказалась несостоятельной для промышленного применения.
Второе поколение СПЗ появилось в конце 80-х и было ориентировано на более широкий модельный подход [Gaines, 1989; Борисов, Федоров, Архипов, 1991] с акцентом на предварительном детальном анализе предметной области. Так, в Европе широкое применение получила методология KADS (Knowledge Acquisition and Documentation Structuring) [Wielinga et al., 1989], в основе которой лежит понятие интерпретационной модели, позволяющей процессы извлечения, структурирования и формализации знаний рассматривать как «интерпретацию» лингвистических знаний в другие представления и структуры.
KADS-методология
Рисунок 4.13 демонстрирует преобразование знаний согласно методологии KADS [Breuker, Wielinga, 1989] через спецификацию пяти шагов анализа «идентификация - концептуализация - гносеологический уровень - логический уровень - уровень анализа выполнения» и стадии или пространства проектирования.
Результатом анализа является концептуальная модель экспертизы, состоящая из четырех уровней {уровня области - уровня вывода - уровня задачи - стратегического уровня), которая затем вводится в пространство проектирования и преобразуется в трехуровневую модель проектирования (рис. 4.14).
При решении реальных задач KADS использует библиотеку интерпретационных моделей, описывающих общие экспертные задачи, такие как диагностика, мониторинг (см. классификацию 1 из п. 2.2) и пр., без конкретного наполнения объектами предметной области. Интерпретационная модель представляет собой концептуальную модель без уровня области. На основании извлеченных лингвистических данных происходит отбор, комбинация и вложение верхних уровней модели, то есть уровней вывода и задачи, которые наполняются конкретными объектами и атрибутами из уровня области и представляют в результате концептуальную модель рассматриваемой задачи. На рис. 4.15 представлена модель жизненного цикла KADS.
Рис. 4.13. Методология KADS
Первые системы программной поддержки KADS-методологии представлены набором инструментальных средств KADS Power Tools [Schreiber G., Breuker J. et al, 1988]. В этот набор входят следующие системы: редактор протоколов PED (Protocol Editor); Редактор системы понятий (Concept Editor); Редактор концептуальных моделей СМЕ (Conceptual Model Editor) и ИМ-библиотекарь IML (Interpretation Model Librarian).
Редактор протоколов - программное средство, помогающее инженеру по знаниям в проведении анализа знаний о предметной области на лингвистическом уровне. При работе со знаниями на этом уровне исходным материалом являются тексты (протоколы) - записи интервью с экспертом, протоколы «мыслей вслух» и любые другие тексты, полезные с точки зрения инженера знаний. Редактор протоколов реализован как гипертекстовая система, обеспечивающая выделение фрагментов в анализируемом тексте, установление связей между фрагментами, группирование фрагментов, аннотирование фрагментов. Фрагменты могут иметь любую длину - от отдельного слова до протокола в целом. Фрагменты могут перекрывать друг друга.
Рис. 4.14. Основные модели KADS
Возможны следующие типы связей между фрагментами:
• аннотация (связь между фрагментом протокола и некоторым текстом, введенным инженером знаний для спецификации этого фрагмента);
• член группы (связь между фрагментом и названием - именем группы фрагментов; объединение фрагментов в группу позволяет инженеру знаний структурировать протоколы, при этом группа фрагментов получает уникальное имя);
• поименованная связь (связь между двумя фрагментами, имя связи выбирается инженером знаний);
• понятийная связь (поименованная связь между фрагментом и понятием; обычно используется, если фрагмент содержит определение понятий).
Редактор понятий помогает инженеру знаний организовывать предметные знания в виде набора понятий и связывающих их отношений. Каждое понятие имеет имя и может иметь атрибуты; каждый атрибут может иметь значение. Как именно атрибуты используются - это определяет инженер знаний с учетом специфики предметной области. С помощью Редактора понятий инженер знаний может вводить произвольные отношения между понятиями и создавать иерархические структуры по тому или иному отношению. Существует единственное отношение (ISA), семантика которого «встроена» в Редактор. Если инженер знаний устанавливает это отношение между двумя понятиями, то имеет место наследование атрибутов.
Рис. 4.15. Жизненный цикл KADS
ИМ-библиотекарь помогает инженеру знаний проводить анализ предметных знаний на эпистемологическом уровне Основное назначение Библиотекаря состоит в том, чтобы помочь инженеру знаний выбрать одну или более ИМ, подходящих для исследуемой проблемной области (ПО) Помощь Библиотекаря проявляется в чисто информационном аспекте. Вначале Библиотекарь демонстрирует пользователю иерархию типов задач, для которых в библиотеке имеются ИМ.После того как пользователь выбрал интересующую его ИМ, ему демонстрируется ее краткое описание и список атрибутов, включающий в себя следующие атрибуты: «краткое описание», «определение», «структура задачи», «стратегии», «ПО-знания». Выбрав атрибут «определение», пользователь сможет увидеть на экране графическое изображение структуры вывода, элементами которой являются источники знаний и метаклассы. Как источники знаний, так и метаклассы имеют свои наборы атрибутов; инженер знаний может просмотреть их, указывая на соответствующий элемент.
Психосемантика
Помимо идеологии KADS на разработку СПЗ II поколения большое влияние оказали методы смежных наук, в частности психосемантики, одного из молодых направлений прикладной психологии [Петренко, 1988; Шмелев, 1983], перспективного инструмента, позволяющего реконструировать семантическое пространство памяти и тем самым моделировать глубинные структуры знаний эксперта (см. параграф 5.1). Уже первые приложения психосемантики в ИИ в середине 80-х годов позволили получить достаточно наглядные результаты [Кук, Макдональд, 1986]. В дальнейшем развитие этих методов шло по линии разработки удобных пакетов прикладных программ, основанных на методах многомерного шкалирования, факторного анализа, а также специализированных методов обработки репертуарных решеток [Франселла, Баннистер, 1987] (параграф 5.2). Примерами СПЗ такого типа являются системы KELLY [Похилько, Страхов, 1990], MADONNA [Терехина, 1988], MEDIS [Алексеева и др., 1989]. Специфика конкретных приложений требовала развития также «нечисленных» методов, использующих парадигму логического вывода. Примерами систем этого направления служат системы ETS [Boose, 1986] и AQUINAS [Boose, Bradshaw, Schema,1988]. Успехи СПЗ II поколения позволили значительно расширить рынок ЭС, который к концу 80-х оценивался в 300 млн. долларов в год [Попов, 1991]. Тем не менее, и эти системы были не свободны от недостатков, к важнейшим из которых можно отнести:
• несовершенство интерфейса, в результате чего неподготовленные эксперты не способны овладеть системой и отторгают ее;
• сложность настройки на конкретную профессиональную языковую среду;
• необходимость разработки дорогостоящих лингвистических процессоров для анализа естественно-языковых сообщений и текстов.
Третье поколение СПЗ - KEATS [Eisenstadt et al., 1990], MACAO [Aussenac-Gilles, Natta, 1992], NEXPERT-OBJECT [NEXPERT-OBJECT, 1990] - перенесло акцент в проектировании с эксперта на инженера по знаниям [Гаврилова, 1988; Gruber, 1989]. Новые СПЗ - это программные средства для аналитика, более сложные, гибкие, а главное использующие графические возможности современных рабочих станций и достижения CASE-технологии (Computer-Aided Software Engineering). Эти системы позволяют не задавать заранее интерпретационную модель, а формировать структуру БЗ динамически. Существуют различные классификации СПЗ - по выразительности и мощности инструментальных средств [Попов, 1988]; по обобщенным характеристикам [Boose, 1990]; в рамках структурно-функционального подхода [Волков, Ломнев, 1989]; интегрированная классификация предложена в работе [Гаврилова, Червинская, 1992].
Учитывая новейшие тенденции в инженерии знаний можно предложить следующую схему таксономии СПЗ, представленную на рис. 4.16.
Рис. 4.16. Классификация систем приобретения знаний
Однако и современные СПЗ не полностью лишены серьезных недостатков СПЗ I и II поколений, большая часть которых обусловлена отсутствием теоретической концепции проектирования БЗ. В результате эта область до настоящего времени справедливо считается скорее «искусством», чем наукой и основана на «ad hoc» технологии (то есть применительно к случаю).