Лекция 4. Данные и знания
Всегда вызывает
интерес соотношение между данными и знаниями, в особенности представления
(способы формализации) тех и других, модели представления данных и знаний,
поскольку данные и знания — это форма представления информации в ЭВМ (рис.
1.17).
Информация, с которой имеет дело ЭВМ, разделяется на
процедурную и декларативную.
Процедурная
информация овеществлена в программах, которые выполняются в процессе решения
задач, декларативная — в данных, с которыми эти программы работают (рис. 1.18).
Стандартной
формой представления информации в ЭВМ является машинное слово, состоящее из
определенного для данного типа ЭВМ числа двоичных разрядов — битов. В ряде
случаев машинные слова разбиваются на группы по восемь двоичных разрядов,
которые называются байтами.
Одинаковое число разрядов в машинных словах для команд и данных позволяет
рассматривать их в ЭВМ в качестве одинаковых информационных единиц (ИЕ) и
выполнять операции над командами, как над данными. Содержимое памяти образует
информационную базу (рис. 1.19).
Для удобства сравнения данных и знаний можно выделить основные формы (уровни)
существования знаний и данных. Как представлено в табл. 1.2, у данных и знаний
много общего. Однако знания имеют более сложную структуру, и переход от данных к
знаниям является закономерным следствием развития и усложнения информационных
структур, обрабатываемых на ЭВМ.
Данные
Параллельно с
развитием структуры ЭВМ происходило развитие информационных структур для
представления данных.
Появились
способы описания данных в виде: векторов, матриц, списочных структур,
иерархических структур, структур, создаваемых программистом (абстрактных типов
данных).
В настоящее время
в языках программирования высокого уровня используются абстрактные типы данных,
структура которых создается программистом. Появление баз данных (БД)
знаменовало собой еще один шаг по пути организации работы с декларативной
информацией.
По мере развития
исследований в области ИнС возникла концепция знаний, которая объединила
в себе многие черты процедурной и декларативной информации.
Сегодня термины «база данных», «информационная интеллектуальная система», как и
многие другие термины информатики, стали широко употребительными. Причина этого
— всеобщее осознание (социальная потребность) необходимости интенсивного
внедрения ЭВМ и других средств автоматизированной обработки информации в самые
различные области деятельности современного общества. Начало последней четверти
нынешнего столетия по праву можно назвать началом эры новой информационной
технологии — технологии, поддерживаемой автоматизированными информационными
ИнС.
Актуальность
проблематики ИнС и лежащих в их основе БД определяется не только социальной
потребностью, но и научно-технической возможностью решения классов задач,
связанных с удовлетворением информационных нужд различных категорий
пользователей (включая как человека, так и программно-управляемое устройство).
Такая возможность возникла (примерно на рубеже 70-х годов) благодаря
значительным достижениям в области технического и программного обеспечения
вычислительных систем.
База данных как
естественнонаучное понятие характеризуется двумя основными аспектами:
информационным и манипуляцион-ным. Первый аспект отражает такую структуризацию
данных, которая является наиболее подходящей для обеспечения информационных
потребностей, возникающих в предметной области (ПО). С каждой ПО ассоциируется
совокупность «информационных объектов», связей между ними (например,
«поставщики», «номенклатура выпускаемых изделий», «потребители» — категории
информационных объектов, а «поставки» — тип отношений, имеющих место между этими
объектами), а также задач их обработки. Манипуляционный аспект БД касается
смысла тех действий над структурами данных, с помощью которых осуществляются
выборка из них различных компонентов, добавление новых, удаление и обновление
устаревших компонентов структур данных, а также их преобразования.
Под системой управления базами данных (СУБД) понимается комплекс средств
(языковых, программных и, возможно, аппаратных), поддерживающих определенный
тип БД. Главное назначение СУБД, с точки зрения пользователей, состоит в
обеспечении их инструментарием, позволяющим оперировать данными в абстрактных
терминах (именах и/или характеристиках информационных объектов), не связанных
со способами хранения данных в памяти ЭВМ. Следует заметить, что средств СУБД
может, вообще говоря, не хватать для решения всех задач той или иной ПО.
Поэтому на практике приходится адаптировать (дополнять, настраивать) средства
СУБД для обеспечения требуемых возможностей. Системы, получаемые путем адаптации
СУБД к данной ПО, относятся к ИнС.
Жизнеспособная
ИнС, т. е. способная поддерживать модель БД с учетом динамики развития ПО, по
необходимости должна в качестве своего ядра содержать СУБД. Выработанная на
сегодняшний день методология проектирования ИнС (с точки зрения БД) включает
четыре основные задачи:
1)
системный анализ ПО, спецификацию
информационных объектов и связей между ними (в результате вырабатывается так
называемая концептуальная, или семантическая, модель ПО);
2)
построение модели БД, обеспечивающей
адекватное представление концептуальной модели ПО;
3)
разработку СУБД, поддерживающей выбранную
модель БД;
4)
функциональное расширение (посредством
некоторой системы программирования) СУБД с целью обеспечения возможностей
решения требуемого класса задач, т.е. задач обработки данных, характерных для
данной ПО.
Знания
Рассмотрим общую
совокупность качественных свойств для знаний (специфических признаков знаний) и
перечислим ряд особенностей, присущих этой форме представления информации в ЭВМ
и позволяющих охарактеризовать сам термин «знания».
Прежде всего
знания имеют более сложную структуру, чем данные (метаданные). При этом знания
задаются как экстенсионально (т.е. через набор конкретных фактов,
соответствующих данному понятию и касающихся предметной области), так и
интенсионально (т.е. через свойства, соответствующие данному понятию, и схему
снязсй между атрибутами).
С учетом
сказанного перечислим свойства.
Внутренняя интерпретируемость знаний.
Каждая
информационная единица (ИЕ) должна иметь уникальное имя, по которому ИС находит
ее, а также отвечает на запросы, в которых это имя упомянуто. Когда данные,
хранящиеся в памяти, были лишены имен, то отсутствовала возможность их
идентификации системой. Данные могла идентифицировать лишь программа.
Если, например, в память ЭВМ нужно было записать сведения о студентах вуза,
представленные в табл. 1.10, то без внутренней интерпретации в память ЭВМ была
бы записана совокупность из четырех машинных слов, соответствующих строкам этой
таблицы.
При этом информация о том, какими группами двоичных разрядов в этих машинных
словах закодированы сведения о студентах, у системы отсутствует. Они известны
лишь программисту.
При переходе к знаниям в память ЭВМ вводится информация о некоторой
протоструктуре информационных единиц. В рассматриваемом примере она
представляет собой специальное машинное слово, в котором указано, в каких
разрядах хранятся сведения о фамилиях, годах рождения, специальностях и курсе.
При этом должны быть заданы специальные словари, в которых перечислены имеющиеся
в памяти системы фамилии, года рождения, название специальностей и курса. Все
эти атрибуты могут играть роль имен для тех машинных слов, которые соответствуют
строчкам таблицы. По ним можно осуществлять поиск нужной информации. Каждая
строка таблицы будет экземпляром протоструктуры. В настоящее время СУБД
обеспечивают реализацию внутренней интерпретируемости всех ИЕ, хранимых в базе
данных.
Структурированность (рекурсивная структурированность) знаний.
Информационные
единицы должны обладать гибкой структурой. Для них должен выполняться «принцип
матрешки», т.е. рекурсивная вложимость одних ИЕ в другие. Каждая ИЕ может быть
включена в состав любой другой, и из каждой ИЕ можно выделить некоторые
составляющие ее ИЕ.
Другими словами,
должна существовать возможность произвольного установления между отдельными ИЕ
отношений типа «часть — целое», «род— вид»
или «элемент — класс».
Связность (взаимосвязь единиц знаний).
В информационной
базе между ИЕ должна быть предусмотрена возможность установления связей
различного типа. Прежде всего эти связи могут характеризовать отношения между
ИЕ. Семантика отношений может носить декларативный или процедурный характер.
Например, две или более ИЕ могут быть связаны отношением «одновременно», две ИЕ
— отношением «причина — следствие» или отношением «аргумент — функция».
Приведенные
отношения характеризуют декларативные знания. Различают отношения
структуризации, функциональные отношения, каузальные отношения и семантические
отношения. С помощью первых задаются иерархии ИЕ, вторые несут процедурную
информацию, позволяющую находить (вычислять) одни ИЕ через другие, третьи задают
причинно-следственные связи, четвертые соответствуют всем остальным отношениям.
Между ИЕ могут устанавливаться и иные связи, например определяющие порядок
выбора ИЕ из памяти или указывающие на то, что две ИЕ несовместимы друг с другом
в одном описании.
Активность знаний.
С момента
появления ЭВМ и разделения используемых в ней ИЕ на данные и команды создалась
ситуация, при которой данные пассивны, а команды активны. Все процессы,
протекающие в ЭВМ, инициируются командами, а данные используются этими
командами лишь в случае необходимости. Для ИнС эта ситуация неприемлема. Как и у
человека, в ИнС актуализации тех или иных действий способствуют знания,
имеющиеся в системе. Таким образом, выполнение программ в ИнС должно
инициироваться текущим состоянием информационной базы. Появление в базе фактов
или описаний событий, установление связей может стать источником активности
системы.
Следует упомянуть о функциональной
целостности знаний, т.е. возможности выбора желаемого результата, времени и
средств получения результата, средств анализа достаточности полученного
результата.
Перечисленные пять особенностей ИЕ определяют ту грань, за которой данные
превращаются в знания, а базы данных перерастают в базы знаний (БЗ).
Совокупность
средств, обеспечивающих работу со знаниями, образует систему управления базой
знаний (СУБЗ). Однако к БЗ, в которых в полной мере была бы реализована
внутренняя интерпретируемость, структуризация, связность, введена семантическая
мера и обеспечена активность знаний, еще необходимо проделать определенный путь.
Таким образом,
выполнение программ в ИнС должно инициироваться текущим состоянием
информационной базы. Появление в базе фактов или описаний событий, установление
связей может стать источником активности системы.
Следует упомянуть о функциональной целостности знаний, т.е. возможности выбора
желаемого результата, времени и средств получения результата, средств анализа
достаточности полученного результата.
Все приведенные
выше качественные свойства знаний касаются в основном уровня Зн1 и связаны со
сложной природой знания, изучение которой происходит на междисциплинарном стыке
таких наук, как кибернетика, лингвистика, психология и т.д.
Знания иногда
называют хорошо структурированными данными метаданными, данными о данных и т.д..
Сравнение данных
и знаний можно проиллюстрировать сравнением ИнС и обычных программных систем.
ИнС существенным
образом отличаются от традиционных программных систем не только наличием БЗ, в
которой знания хранятся и модифицируются в форме, понятной специалистам
предметной области (именно поэтому вопросы разработки БЗ являются центральными
при создании ИнС).
Дело в том, что
стиль программирования ИнС непохож на стиль традиционного программирования с
использованием обычных алгоритмических языков. На рис. 1.20 и 1.21 и в табл. 1.3
показаны характерные различия между ИнС и обычными программными системами.
Следует добавить, что кроме общих выделенных особенностей разработки ИнС и
традиционных программных систем каждый тип ИнС обладает, как правило, своим
собственным стилем программирования, что затрудняет его использование для
других
НН.
Тем не менее в
качестве основного вывода по сравнительной характеристике ИнС и традиционных
программных систем можно отметить, что обычное для классических систем
соотношение ДАННЫЕ + АЛГОРИТМЫ = ПРОГРАММА заменяется на новую архитектуру,
основу которой составляет БЗ и интерпретатор БЗ (машина логического вывода),
т.е. ЗНАНИЯ + ВЫВОДЫ = СИСТЕМА.
База знаний
База знаний, БЗ (англ. Knowledge base, KB) — это особого рода база данных,
разработанная для управления знаниями (метаданными), то есть сбором, хранением,
поиском и выдачей знаний. Раздел искусственного интеллекта, изучающий базы
знаний и методы работы со знаниями, называется инженерией знаний.
Под базами знаний понимает совокупность фактов и правил вывода, допускающих
логический вывод и осмысленную обработку информации. В языке Пролог базы знаний
описываются в форме конкретных фактов и правил логического вывода над базами
данных и процедурами обработки информации, представляющих сведения и знания о
людях, предметах, фактах событиях и процессах в логической форме.
Наиболее важным свойством информации, хранящейся в базах знаний, является
достоверность конкретных и обобщенных сведений в базе данных и релевантности
информации, получаемой с использованием правил вывода, заложенных в базу знаний.
В ответах на простейшие запросы к базам знаний системы логического
программирования Пролог, выдает значения «истина» и «ложь» в зависимости от
наличия соответствующих фактов.
Обобщенные сведения в языке Пролог задаются с помощью правил логического вывода,
выполняющих роль определения понятий, а также логических процедур, состоящих из
наборов правил логического вывода. Достоверность обобщенных сведений зависит от
наличия необходимых фактов и достоверности данных в базах знаний.
Наиболее важный параметр БЗ — качество содержащихся знаний. Лучшие БЗ включают
самую релевантную, достоверную и свежую информацию, имеют совершенные системы
поиска информации и тщательно продуманную структуру, и формат знаний.
Классификация баз знаний
В зависимости от уровня сложности систем, в которых применяются базы знаний,
различают:
·
БЗ всемирного масштаба — например, Интернет или Википедия
·
БЗ национальные — например, русская Википедия
·
БЗ отраслевые— например, Автомобильная энциклопедия
·
БЗ организаций
·
БЗ экспертных систем
·
БЗ специалистов
Применение баз знаний
Простые базы знаний могут использоваться для создания экспертных систем и
хранения данных об организации: документации, руководств, статей технического
обеспечения. Главная цель создания таких баз — помочь менее опытным людям найти
существующее описание способа решения какой-либо проблемы предметной области.
Онтология может служить для представления в базе знаний иерархии понятий и их
отношений. Онтология, содержащая еще и экземпляры объектов не что иное, как база
знаний.
База знаний — важный компонент интеллектуальной системы. Наиболее известный
класс таких программ — экспертные системы. Они предназначены для построения
способа решения специализированных проблем, основываясь на записях БЗ и на
пользовательском описании ситуации.
Создание и использование систем искусственного интеллекта потребует огромных баз
знаний.
Базы знаний в интеллектуальной системе
Ниже перечислены интересные особенности, которые могут (но не обязаны) быть у
интеллектуальной системы, и которые касаются баз знаний.
1.
Машинное обучение: Это модификация своей БЗ в процессе работы интеллектуальной
системы, адаптация к проблемной области. Аналогична человеческой способности
«набирать опыт».
2.
Автоматическое доказательство (вывод): Способность системы выводить новые знания
из старых, находить закономерности в БЗ. Некоторые авторы считают, что БЗ
отличается от базы данных наличием механизма вывода.
3.
Интроспекция: Нахождение противоречий, нестыковок в БЗ, слежение за правильной
организацией БЗ.
4.
Доказательство заключения: Способность системы «объяснить» ход её рассуждений по
нахождению решения, причем «по первому требованию».