Вопрос 34: Данные и знания. Определения понятий. Представление знаний и работа с ними. Обзор языков представления знаний.
Данные и знания. Определения понятий.
Данные - это отдельные факты, характеризующие объекты, процессы и явления предметной области, а также значения их свойств. При обработке в информационных системах данные меняются, проходя несколько этапов преобразований: от результатов измерений и наблюдений до баз данных на машинных носителях информации. Знания основаны на данных, полученных эмпирическим путем. Они представляют собой результат мыслительной деятельности человека, направленной на обобщение его опыта, полученного в результате практической деятельности .
Знания - это закономерности предметн ой области (принципы, связи, законы), полученные в результате практической деятельности и профессионального опыта, позволяющие специалистам ставить и решать задачи в этой области. Отличительными свойствами знаний являются внутренняя интерпретируемость , структурированность, связность, активность.
Свойства знаний:
Внутренняя интерпретируемость: каждая информационная единица должна иметь уникальное имя, по которому ИС находит ее, а также отвечает на запросы, в которых это имя упомянуто.
Структурированность: информационные единицы должны обладать гибкой структурой. Для них должен выполняться "принцип матрешки", т.е. рекурсивная вложимость одних информационных единиц в другие.
Связность: в информационной базе между информационными единицами должна быть предусмотрена возможность установления связей различного типа.
Активность: знаниям человека свойственна познавательная активность (обнаружение противоречий, неполнота знаний). В отличие от данных, знания позволяют получать новые знания.
Часть знаний представлена в явном виде, т. е. они зафиксированы в печатных источниках - книгах, статьях, руководствах, нормативных материалах, содержатся в электронных системах хранения информации и т. п. Это так называемые явные (эксплицитные) знания. Другая часть знаний находится в головах людей и представляет собой опыт и экспертные знания специалиста, которые могут быть потеряны для организации с его уходом . Это - неявные (имплицитные) знания.
Представление знаний и работа с ними
Как показывают исследования ряда естественных языков и различных предметных областей, существует конечное множество базовых отношений между информационными единицами и объектами реального мира, используя комбинации которых можно выразить необходимые отношения. Отношением называется взаимозависимость или взаимодействие двух или более объектов либо явлений абстрактного или конкретного типа. (виды отношений рассмотрены в вопросе 37)
Первым этапом разработки смысловой модели является выбор метода представления инженерных знаний, который определяет форму описания фактов и закономерностей предметной области. По способам организации знаний и их обработки различают следующие основные группы методов представления: логические, продукционные, сетевые, фреймовые.
Логические методы представления знаний
Логические методы представления знаний базируются на использовании понятия формальной системы, задаваемой множеством базовых элементов, множеством синтаксических правил, позволяющих строить из базовых элементов синтаксически правильные выражения, множеством аксиом, множеством семантических правил вывода, позволяющих расширять множество аксиом за счет других выражений.
Логические методы представления знаний обеспечивают единственность теоретического обоснования системы формально точных определений и выводов, простоту и ясность нотации для записи фактов, которая обладает чётко определенной семантикой. В то же время основным недостатком логических методов является отсутствие четких принципов организации фактов в базе знаний, что затрудняет ее анализ и обработку. Ввиду этого логические методы используются в основном в тех предметных областях, где система знаний невелика по объему и имеет однородную структуру. (подробнее в вопросе 38)
Продукционные системы
Принцип работы продукционных систем основан на поиске путей перевода исходного состояния задачи в целевое с использованием правил продукций. Каждое такое правило имеет вид «ЕСЛИ — условие, ТО — действие». Пример правила: «ЕСЛИ компьютеру не выйти в Интернет и его IP-адрес начинается с 169.254., ТО в сети проблема с DHCP сервером». Анализируя текущее состояние задачи, система определяет множество продукций, «условия» которых удовлетворяют рассматриваемому состоянию, и выбирает из них одну, реализуя определяемое продукцией «действие». Затем анализируется состояние, в которое перешла система, и выполняется следующее действие, т. е. процесс повторяется до тех пор, пока либо не найдется продукция, «условие» которой соответствует текущему состоянию, либо не будет достигнуто целевое состояние.
Наряду с такими положительными чертами, как простота создания и понимания отдельных правил, процедуры их пополнения и модификации, а также естественность организации логического вывода, продукционные системы обладают невысоким быстродействием вследствие необходимости периодического сопоставления реальной ситуации с образцом - «условием».
Семантические сети
В основе сетевых методов лежит представление знаний в виде множества понятий, связанных семантическими отношениями. Графически понятия выражаются вершинами сети, отношения - направленными дугами. Использование семантических сетей в качестве модели представления знаний дает следующие преимущества:
- наглядное отображение взаимосвязей между объектами базы знаний;
- хорошие классификационные свойства сети;
- высокая смысловая выразительность сети, что обеспечивает прямое моделирование семантики предметной области и позволяет проектировщику обращаться с системой на уровне понятий профессионально-ориентированного языка;
- возможность легко модифицировать представленные данные.
Наряду с преимуществами семантические сети обладают и рядом недостатков, основными из которых являются слишком «произвольная» структура графа и большое разнообразие типов вершин и отношений. Обе эти особенности приводят к сложностям, возникающим при разработке программного обеспечения. (подробнее в вопросе 37)
Фреймы
Разновидностью сетевых моделей является фреймовое представление знаний. Фрейм представляет собой информационную структуру, описывающую конкретный стандартный фрагмент знаний (объект, ситуацию, процедуру и т. п.).
Достоинством представления инженерных знаний в виде системы фреймов является структурированность информации по сравнению с семантическими сетями, более компактное представление о конкретных фактах, ситуациях и т. п., возможность описывать в рамках одного фрейма одновременно как декларативные, так и процедурные знания. (подробнее в вопросе 37)
Обзор языков представления знаний
Естественные языки формировались и формируются национальными или профессиональными сообществами людей. Знания передаются от одного человека к другому, после их перевода на язык, который понимают человек источник знания и человек приемник знания.
Искусственные языки создавались и создаются для связи человека с машинами.
Примеры искусственных языков, которые используются преимущественно для представления знаний:
Prolog - язык и система логического программирования, основанные на языке предикатов математической логики дизъюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка. Prolog является декларативным языком программирования: логика программы выражается в терминах отношений, представленных в виде фактов и правил. Для того чтобы инициировать вычисления, выполняется специальный запрос к базе знаний, на которые система логического программирования генерирует ответы «истина» и «ложь». Для обобщённых запросов с переменными в качестве аргументов созданная система Пролог выводит конкретные данные в подтверждение истинности обобщённых сведений и правил вывода.
CycL - в области компьютерных наук и искусственного интеллекта является языком онтологии, используемым проектом Cyc. Первоначальная версия CycL была языком фреймов , но современная версия - нет. Скорее, это декларативный язык, основанный на классической логике первого порядка , с расширениями для модальных операторов и количественного определения более высокого порядка . Словарь языка CycL состоит из термов. Множество термов состоит из констант, составных термов , переменных и некоторых других типов объектов. Термы составляют семантически значимые выражения языка CycL, которые используются для записи суждений в базах знаний проекта Cyc.
Loom - это фреймовый язык в традиции KL-ONE . Как и в случае с KL-ONE, Loom имеет формальную семантику, которая отображает объявления в Loom на утверждения в теории множеств и логике первого порядка. В его основе лежит система представления и обоснования знаний, которая сочетает в себе язык на основе фреймов с механизмом автоматического классификатора. Декларативные знания в Loom состоят из определений, правил, фактов и правил по умолчанию.
OWL — язык описания онтологий для семантической паутины. Язык OWL позволяет описывать классы и отношения между ними, присущие веб-документам и приложениям. OWL основан на более ранних языках OIL и DAML+OIL и в настоящее время является рекомендованным консорциумом Всемирной паутины.