- •О.А. Печень
- •Оглавление
- •Предисловие
- •Раздел 1. Теоретические основы построения иис Тема 1.1. Развитие и области применения интеллектуальных информационных систем
- •1.1.1. Предмет, цель и задачи дисциплины
- •1.1.2. Классификация иис, место и роль иис в ит
- •Контрольные вопросы по теме
- •Тема 1.2. Знания и методы представления знаний
- •1.2.1. Знания, свойства и классификация знаний
- •1.2.2. Модели представления знаний
- •1.2.3. Логическая модель представления знаний
- •1.2.3. Нечеткая логика как расширение логической модели
- •1.2.4. Продукционная модель представления знаний
- •База правил
- •База правил
- •1.2.5. Модель представления знаний на основе семантических сетей
- •1.2.6. Представление знаний с применением фреймов
- •1.2.8. Использование различных моделей представления знаний
- •Контрольные вопросы по теме
- •Тема 1.3. Инженерия знаний и получение знаний
- •1.3.1. Инженерия знаний
- •1.3.2. Методы получения знаний
- •Контрольные вопросы по теме
- •Раздел 2. Технологии экспертных систем
- •2.1.2. Структура экспертных систем
- •2.1.3. Классификация экспертных систем
- •Контрольные вопросы по теме
- •Тема 2.2. Технология разработки экспертных систем
- •2.2.1. Этапы разработки экспертной системы
- •2.2.2. Состав и взаимодействие участников процесса разработки и эксплуатации эс
- •Контрольные вопросы по теме
- •Тема 2.3. Процесс поиска решений и механизмы вывода и рассуждений
- •2.3.1. Поиск как основа функционирования иис
- •2.3.2. Методы поиска решений в пространстве состояний
- •2.3.3. Стратегии поиска в глубину и ширину
- •2.3.4. Стратегия эвристического поиска
- •2.3.5. Формализация задач в пространстве состояний
- •Контрольные вопросы по теме
- •Раздел 3. Технологии нейронных сетей
- •Тема 3.1. Введение в нейронные сети и нейросетевые системы
- •3.1.1. Основы нейросетевого подхода
- •3.1.2. Построение и применение нейросетей
- •Контрольные вопросы по теме
- •Тема 3.2. Классификация и выбор структуры нейросетей
- •3.2.1. Классификация нейросетей
- •3.2.2. Выбор структуры нейросетей
- •Контрольные вопросы по теме
- •Тема 3.3. Решение задач с помощью нейросетей
- •3.3.1. Общий подход к построению нейросети
- •3.3.2. Обучение нейросети
- •3.3.3. Применение обученной нейросети
- •Контрольные вопросы по теме
- •Раздел 4. Эволюционные вычисления
- •Тема 4.1. Эволюционные вычисления и генетические алгоритмы
- •4.1.1. Сущность эволюционного подхода к вычислениям
- •4.1.2. Основы теории генетических алгоритмов
- •4.1.3. Направления развития генетических алгоритмов
- •Контрольные вопросы по теме
- •Раздел 5. Средства разработки и интерфейсы иис
- •Тема 5.1. Инструментальные средства разработки иис
- •5.1.1. Общие сведения о средствах разработки иис
- •5.1.2. Языки программирования для разработки иис
- •Тема 5.2. Интеллектуальные интерфейсы
- •5.2.1. Речевое взаимодействие с иис
- •5.2.2. Графические интеллектуальные интерфейсы
- •5.2.3. Интеллектуальные поисковые системы
- •5.2.4. Обучающие системы и тренажеры
- •Контрольные вопросы по теме
- •Литература
Контрольные вопросы по теме
Приведите определение знаний и расскажите об отличиях знаний от данных применительно к построению ИИС.
Приведите известные Вам классификации знаний.
Сформулируйте необходимость в разработке и использовании моделей представления знаний, назовите известные Вам модели представления знаний.
Дайте описание логической модели представления знаний.
Сформулируйте определения основных понятий языка предикатов.
Расскажите о функционировании механизмов вывода в логической модели представления знаний.
Опишите применение нечеткой логики для расширения логической модели представления знаний и сформулируйте преимущества ее применения для решения практических задач.
Расскажите об особенностях выполнения арифметических операций в системах нечеткой логики.
Дайте описание продукционной модели представления знаний.
Расскажите о механизме функционирования систем продукций.
Дайте описание семантической сети для представления
Приведите примеры использования семантической сети для моделирования структуры понятий предметной области.
Расскажите об основных понятиях фреймовой модели представления знаний.
Опишите особенности функционирования фреймовой модели представления знаний.
Сформулируйте необходимость использования различных моделей представления знаний и особенности разных моделей.
Тема 1.3. Инженерия знаний и получение знаний
1.3.1. Инженерия знаний
Понятие инженерии знаний
Как ранее было сказано, знания хранятся в ИИС в виде базы знаний, организованной в соответствии с одной из моделей представления знаний. Напомним, что выбор модели представления знаний оказывает существенное влияние на характеристики и свойства интеллектуальной системы в целом.
Но после проектирования базы знаний и разработки соответствующего программного обеспечения либо выбора удовлетворяющего требования готового решения необходимо сформировать базу знаний, наполнив ее знаниями о предметной области, и возможно необходимыми фактами. Этап формирования базы знаний интеллектуальной системы является критическим для функционирования всей системы в целом, так как если реализация влияет на возможные границы способностей системы, то знания системы определяют ее возможности в решении задач предметной области.
Этот этап разработки ИИС называют этапом приобретения знаний. Область деятельности, изучающая проблемы формирования и наполнения баз знаний, получила название инженерия знаний.
Инженерия знания - достаточно молодое направление искусственного интеллекта, появившееся тогда, когда практические разработчики столкнулись с весьма нетривиальными проблемами трудности «добычи» и формализации знаний. В первых книгах по ИИ эти факты обычно только постулировались, в дальнейшем начались серьезные исследования по выявлению оптимальных стратегий выявления знаний [1,с.59]. Исследования привели к возникновению дисциплины инженерии знаний, и появлению новой специальности - инженера по знаниям, или специалиста, владеющего теоретическими знаниями и практическими приемами построения интеллектуальных систем, а главное, обученного способам формирования баз знаний интеллектуальных систем.
Проблемы формирования баз знаний
При построении ИИС и формировании баз знаний возникает целый спектр трудностей и проблем. Для понимания приведем описание основных из них [18,с.159].
Предметные знания интеллектуальной системы могут быть взяты из многих источников, таких как учебники, отчеты, базы данных, истории болезни, опытные данные и личный опыт. Однако главный источник знаний современных ИИС - это специалист-эксперт в предметной области. Инженер знаний обычно получает знания, непосредственно взаимодействуя с экспертом. Этот процесс состоит из продолжительной серии напряженных, систематических интервью, обычно продолжающихся в течение многих месяцев. Во время бесед инженер знаний дает эксперту для решения задачи, близкие к реальным и того же типа, на решение которых ориентируется создаваемая экспертная система. Инженер знаний должен работать с экспертом, наблюдая, как он решает конкретные задачи. Редко оказывается эффективным подход, при котором эксперту напрямую задаются вопросы о его правилах или методах решения конкретного класса задач в его области компетентности. Эксперты обычно испытывают большие трудности при формулировании таких правил.
Представляется, что «эксперты» имеют тенденцию формулировать свои заключения и то, как они пришли к ним, в общих выражениях, которые слишком широки и расплывчаты для эффективного анализа на ЭВМ. Предпочтительнее, чтобы ЭВМ работала на более конкретном уровне, имея дело с четко определенными порциями исходной информации, которые могут быть встроены в более сложные суждения. Но эксперт редко работает на таком конкретном уровне. Он быстро делает сложные выводы, не утруждая себя тщательным анализом и формулированием каждого шага своего процесса рассуждения. Порции исходных знаний являются неявными допущениями, и они компонуются друг с другом так быстро, что эксперту трудно описать этот процесс. Когда он анализирует проблему, он не может легко описать каждый шаг и он может даже не иметь представления о тех отдельных шагах, которые были сделаны для нахождения решения. Он может приписать интуиции или назвать предчувствием то, что оказывается результатом очень сложного логического процесса, основанного на огромном количестве удерживаемых в его памяти данных и богатой практике. В последующем, объясняя свое заключение или предчувствие, он будет повторять только основные шаги, часто опуская большинство мелких шагов, которые могли показаться ему очевидными в то время. Знание о том, что считать основным и относящимся к делу и не требующим дальнейшей переоценки — вот что делает специалиста «экспертом». Этот аспект природы эксперта несколько необычен. На практике он называется парадоксом экспертизы. В контексте разработки интеллектуальных систем мы будем называть его парадоксом инженерии знаний:
Чем более компетентными становятся эксперты, тем менее способны они описать те знания, которые они используют для решения задач!
Хуже того, исследования показали, что когда эксперты пытаются объяснить, как они пришли к заключению, они часто выстраивают правдоподобные линии рассуждения, которые, однако, мало похожи на их действительное поведение при решении задач. Эта особенность имеет два важных следствия. Вот первое из них:
эксперты нуждаются в посторонней помощи, направленной на то, чтобы прояснить и сделать явным их способ мышления и решения задач. Высказанное можно сформулировать в виде следующего эмпирического правила - не будьте своим собственным экспертом!
Второе эвристическое правило, обращенное к инженеру знаний:
Не верьте всему, что говорят эксперты!
Опытные инженеры знаний развивают рабочие гипотезы, основанные на том, что говорят эксперты, и проверяют эти гипотезы на правильность и непротиворечивость, предлагая экспертам решать новые проблемы, требующие предполагаемых (согласно гипотезе) знаний. Инженер знаний считает, что он или она получили законное экспертное правило не потому, что эксперт ручается за точность правила, а потому, что эксперт демонстрирует применение этого правила при решении задачи.
Иногда поведение экспертов выглядит скорее интуитивным, чем рассудочным. Дело в том, что значительный объем знаний является важнейшей предпосылкой мастерства эксперта. Однако знания эксперта — не просто неупорядоченный свод фактов. Большое число образцов-шаблонов ситуаций служат указателями, помогающими эксперту в долю секунды обратиться к нужным частям его запасов знаний. Эта способность использовать шаблоны для управления процессом интерпретации и решения, возможно, и составляет значительную часть того, что мы называем физической интуицией.
Более того, эксперт может применять совершенно разные методы работы и методики в разных нестандартных ситуациях, и сознательно выделить критерии использования различных методик необычайно трудно.
Терминология инженерии знаний
Поле знаний — это условное неформальное описание основных понятий и взаимосвязей между понятиями предметной области, выявленных из системы знаний эксперта, в виде графа, диаграммы, таблицы или текста [1,с.59].
Поле знаний, как первый шаг к формализации, представляет модель знаний о предметной области, в том виде, в каком ее сумел выразить эксперт на некотором «своем» языке. Проблемы адекватного формирования языка для описания предметной области мы в данном курсе рассматривать не будем. Хорошим источником специальной информации по этой теме служит [1].
Поле знаний служит ключевым средством для последующего построения модели предметной области в базе знаний.
Для названия процесса получения знаний (вида выбираемой при этом стратегии) в литературе получило распространение несколько терминов: приобретение, добыча, извлечение, получение, выявление, формирование знаний. В англоязычной специальной литературе в основном используются два: acquisition (приобретение) и elicitation (выявление, извлечение, установление).
Термин «приобретение» трактуется либо очень широко — тогда он включает весь процесс передачи знаний от эксперта к базе знаний ЭС, либо уже как способ автоматизированного построения базы знаний посредством диалога эксперта и специальной программы (при этом структура поля знаний заранее закладывается в программу). В обоих случаях термин «приобретение» не касается самого таинства экстрагирования структуры знаний из потока информации о предметной области. Этот процесс описывается понятием «извлечение».
Извлечение знаний (knowledge elicitation) — это процедура взаимодействия эксперта с источником знаний, в результате которой становятся явными процесс рассуждений специалистов при принятии решения и структура их представлений о предметной области.
Приобретение знаний (knowledge acquisition) — процесс наполнения базы знаний экспертом с использованием специализированных программных средств (прямое взаимодействие ИИС с экспертом).
Термин формирование знаний традиционно закрепился за чрезвычайно перспективной и активно развивающейся областью инженерии знаний, которая занимается разработкой моделей, методов и алгоритмов обучения. Она включает индуктивные модели формирования знаний и автоматического порождения гипотез на основе обучающих выборок, обучение по аналогии и другие методы. Эти модели позволяют выявить причинно-следственные эмпирические зависимости в базах данных с неполной информацией, содержащих структурированные числовые и символьные объекты (часто в условиях неполноты информации).
Формирование знаний (machine learning) — процесс анализа данных и выявление скрытых закономерностей с использованием специального математического аппарата и программных средств.
Помимо отмеченных существуют также и другие стратегии получения знаний, например, в случае обучения на примерах (case-based reasoning), когда источник знаний — это множество примеров предметной области. Обучение на основе примеров (прецедентов) включает настройку алгоритма распознавания на задачу посредством предъявления примеров, классификация которых известна.
Отметим также важность направления формирования знаний, тяготеющего в большей степени к области machine learning, то есть индуктивному обучению, основываясь на хорошо исследованном аппарате распознавания образови обнаружения сходства объектов. К сожалению даже общее обсуждение этих тем значительно увеличит объем учебного курса и поэтому оставлено за его рамками.
Также рамок курса остались теоретические вопросы формирования знаний из данных (data mining, knowledge discovery). Хорошим источником информации по Data Mining служит [5].