Модели знаний и данных

Содержание.







1.Введение.





2.Особенности знаний (Основные понятия).





3.Модели представления знаний.





4.Фреймовые и сетевые модели.



5.Представление  знаний в системе распределенных баз знаний в INTERNET/INTRANET.



6.Список литературы.











































Введение.



Информация с которой имеют дело ЭВМ, разделяется на процедурную и декларативную. Процедурная информация овеществлена в программах,которые выполняются в процессе решения задач, декларативная – в данных с которыми эти программы работают. Стандартной формой представления информации в ЭВМ является машинное слово, состоящее из определенного для данного типа ЭВМ числа двоичных разрядов – битов. Однако  в ряде случаев машинные слова разбиваются на группы по восемь двоичных разрядов которые называются байтами.

Параллельно с развитием структуры ЭВМ происходило развитие информационных структур для представления данных. Появились способы описания данных в виде векторов и матриц, возникли списочные структуры, иерархические структуры. В настоящее время в языках программирования высокого уровня используются абстрактные типы данных, структура которых задается программистом. Появление баз данных (БД) знаменовало собой еще один шаг на пути организации работы с декларативной информацией. В базах данных могут одновременно хранится большие обьемы информации, а специальные средства образующие систему управления базами данных (СУБД), позволяют эффективно манипулировать с данными, по необходимости извлекать их из базы данных и записывать их в нужном порядке в базу.

По мере развития исследований  в области ИС возникла концепция знаний, которая объединила в себе многие черты процедурной и декларативной информации.

Итак, что же такое представление информации? В рамках этого направления решаются задачи, связанные с формализацией и представлением знаний в памяти интеллектуальной системы (ИС). Для этого разрабатываются специальные модели представления знаний, выделяются различные типы знаний. Изучаются источники, из которых ИС может черпать знания, и создаются процедуры и приемы с помощью которых возможно приобретение знаний для ИС. Проблема представления знаний для ИС чрезвычайно актуальна, так как ИС - это система функционирование которой опирается на знания о предметной области, которые хранятся в её памяти.

Вывод: представление знаний – это одно из направлений в исследованиях по искусственному интеллекту. Другие направления это – манипулирование знаниями, общение, восприятие, обучение и поведение. Но на них я далее останавливаться не буду.



Особенности знаний.





Перечислим ряд особенностей присущих различным формам представления знаний в ЭВМ.

1.Внутренняя интерпретируемость. Каждая информационная единица должна иметь уникальное имя, по которому ИС находит её, а также отвечает на запросы, в которых это имя упомянуто. Когда данные, хранящиеся в памяти, были лишены имен, то отсутствовала возможность их идентификации системой. Данные могла идентифицировать лишь программа, извлекающая их из памяти по указанию программиста, написавшего программу. Что скрывается за тем или иным двоичным кодом машинного слова, системе было неизвестно.

2.Структурированность. Информационные единицы должны были обладать гибкой структурой. Для них должен выполняться “принцип матрешки”, т.е. рекурсивная вложенность одних информационных единиц в другие. Каждая информационная единица может быть включена в состав любой другой, и из каждой единицы можно выделить некоторые её составляющие. Другими словами должна существовать возможность   произвольного установления между отдельными информационными единицами отношений типа “часть – целое”,” род – вид” или “элемент – класс”.

3.Связность. В информационной базе между информационными единицами должна быть предусмотрена возможность установления связей различного типа. Прежде всего эти связи могут характеризовать отношения между информационными единицами. Например: две или более информационные единицы могут быть связаны отношением  «одновременно», две информационные единицы  - отношением «причина – следствие» или отношением «быть рядом». Приведенные отношения характеризуют декларативные знания. Если между двумя информационными единицами установлено отношение «аргумент – функция», то он характеризует процедурное знание, связанное с вычислением определенных функций. Существуют - отношения структуризации, функциональные отношения, каузальные отношения и семантические отношения. С помощью первых задаются иерархии информационных единиц, вторые несут процедурную информацию, позволяющие вычислять (находить) одни информационные единицы через другие, третьи задают причинно следственные  связи, четвертые соответствуют всем остальным отношениям.

Перечисленные три особенности знаний позволяют ввести общую модель представления знаний, которую можно назвать семантической сетью, представляющей собой иерархическую сеть в вершинах которой находятся информационные единицы.

4.Семантическая метрика. На множестве информационных единиц в некоторых случаях полезно задавать отношение, характеризующее информационную близость информационных единиц, т.е. силу ассоциативной связи между информационными единицами. Его можно было бы назвать отношением релевантности для информационных единиц. Такое отношение дает возможность выделять в информационной базе некоторые типовые ситуации (например «покупка», «регулирование движения»). Отношение релевантности при работе с информационными  единицами позволяет находить знания близкие к уже найденным.

5.Активность.С момента появления ЭВМ  и разделения используемых  в ней информационных единиц на данные и команды создалась ситуация, при которой данные пассивны а команды активны. Все процессы протекающие в ЭВМ инициируются командами, а данные используются этими командами лишь в случае необходимости. Для ИС эта ситуация неприемлема. Как и у человека, в ИС актуализации тех или иных действий способствуют знания, имеющиеся в системе. Таким образом, выполнение программ в ИС должно инициироваться текущим состоянием информационной базы. Появление в базе фактов или описание событий, установление связей может стать источником активности системы.

Перечисленные пять особенностей информационных единиц определяют ту грань, за которой данные превращаются в знания, а базы данных перерастают в базы знаний (БЗ). Совокупность средств, обеспечивающих работу со знаниями, образуют систему управления базой знаний (СУБЗ). В настоящее время не существует баз знаний, в которых в полной мере были бы реализованы перечисленные вше особенности. 



Модели представления знаний.



Во многих случаях для принятия решений в той или иной области человеческой деятельности неизвестен алгоритм решения, т.е. отсутствует четкая последовательность действий, заведомо приводящих к необходимому результату. Например:

проектирование развития тяжелой промышленности;

оптимальное размещение персонала внутри здания;

лечение больного человека.

При принятии решения в таких случаях необходимо иметь некоторую сумму знаний о самой этой области. Например: при выборе наилучшего хода в конкретной шахматной позиции необходимы знания о правилах игры, силе шахматных фигур, стратегии и тактике  и многое другое. Под знаниями понимается то, что стало известно после изучения. Совокупность знаний нужных для принятия решений, принято называть предметной областью или знаниями о предметной области.

В любой предметной области есть свои понятия и связи между ними, своя терминология, свои законы, связывающие между собой объекты данных предметной области, свои процессы и события. Кроме того, каждая предметная область имеет свои методы решения задач.

Решая задачи такого вида на ЭВМ используют ИС, ядром которых являются базы знаний, содержащие основные характеристики предметных областей.

При построении баз знаний традиционные языки, основанные на численном представлении данных являются неэффективными. Для этого используются специальные языки представления знаний, основанные на символьном представлении данных. Они делятся на типы по формальным моделям представления знаний. Различные авторы по-разному эти модели классифицируют. Вообще их четыре:

продукционные модели

логические модели

сетевые модели

фреймовые модели

Кто-то объединяет продукционные и логические, а кто-то сетевые и фреймовые.

Сначала вкратце рассмотрим продукционные и логические модели:

Знания в таких моделях представляются в следующей форме: «Если А, то В». Вместо А и В могут стоять некоторые утверждения, факты, приказы и т.д. Например: «Если диагонали четырехугольника пересекаются под прямым углом, то  этот четырехугольник ромб», «Если сделаешь работу то получишь зарплату» и т.д.

Из примеров видно что правило состоит из двух частей: посылки (условия) и следствия (заключения). Если А (посылка) имеет место, то В(следствие) также реализуется или может быть реализовано. Посылка может состоять и из нескольких частей т.е: «Если А1,А2,..,АN то В».

Запись правила означает, что  «Если все посылки от А1 до АN истинны, то следствие В также истинно». Посылки А1..АN есть простые посылки они соединяются с помощью союзов: и,или  и могут содержать отрицание не. При реализации правил такого вида из одной или нескольких посылок  (знаний) могут быть получены новые знания, поэтому они называются продукционными. Примером может служить следующее правило:

Если человек Х является сыном человека У, и

человек У является сыном человека Z, и

человек Z является мужчиной,

то человек Х является внуком человека Z.

Далее рассмотрим сетевые модели.

В основе сетевых моделей представления знаний лежит идея о том, что любые знания можно представить в виде совокупности объектов (понятий) и связей (отношений) между ними. В отличие от продукционных эти модели более наглядны, поскольку любой пример можно представить в виде ориентированного (направленного) графа. 

В основе моделей этого типа лежит конструкция, названная семантической сетью. Сетевые модели формально можно задать в виде Н=[I,C1,C2,..,CN,G]. Здесь I множество информационных единиц; С1,..,СN – множество типов связей между информационными единицами. Отображение G задает между информационными единицами, входящими в I связи из заданного набора типов связей.

В зависимости от типов связей, используемых в модели, различают классифицирующие сети, функциональные сети и сценарии.

Пример: Рассмотрим набор из нескольких фраз.

Попугай  Кеша является птицей, и он умеет говорить.





Птица

Кеша









Попугай                               Зовут                               является







Говорит                                        умеет







  

Фреймовые и сетевые модели.



 Ранее были рассмотрены семантические сети. Понятия, входящие в сеть, описываются в виде фреймов. А что такое фрейм? 

Фрейм – это минимально возможное описание сущности какого-либо события, ситуации, процесса или объекта. Существует и другое понимание фрейма – это ассоциативный список атрибутов. Понятие минимально возможное означает, что при дальнейшем упрощении описания теряется его полнота, и оно перестает определять ту единицу знаний, для которой было предназначено. Представление знаний с помощью фреймов понимается как один из способов представления знаний о ситуациях. Фрейм имеет имя (название) и состоит из слотов. Слоты – это незаполненные (нулевые) позиции фрейма. Если у фрейма все слоты заполнены – это описание конкретной ситуации. В переводе с английского слово «фрейм» означает «рамка», а слово «слот» – «щель». В отличие от моделей других типов во фреймовых моделях фиксируется жесткая структура информационных единиц, которая называется протофреймом. В общем виде структура информационных единиц выглядит следующим образом:

(Имя фрейма:

      имя слота1 (значение слота1);

      имя слота2 (значение слота2);

      . . . . . . . . . . . . . . . . . . . . . . . . . .

      имя слотаК (значение слотаК)).

Значением слота может быть практически что угодно (числа, математические соотношения, тексты на естественном языке или на языке программ, ссылки на другие слоты данного фрейма).Значением слота может выступать и отдельный фрейм, что является очень удобным для упорядочивания знаний по степени общности. Исключение из фрейма любого слота делает его неполным, а иногда и бессмысленным.

При конкретизации фрейма ему и слотам приписываются конкретные имена и происходит заполнение слотов. Таким образом из протофреймов получаются фреймы – экземпляры. Переход от исходного протофрейма к фрейму – экземпляру может быть многошаговым, за счет постепенного уточнения значений слотов.

Рассмотрим некоторый протофрейм:

(Список сотрудников:

          Фамилия (значение слота1);

           Год рождения (значение слота2);

          Специальность (значение слота3);

          Стаж (значение слота4)).

Если в качестве значений слотов использовать конкретные данные, то получим фрейм – экземпляр:

(Список сотрудников:

         Фамилия (Попов – Сидоров – Иванов – Петров);

         Год рождения (1965 – 1975 – 1980 – 1978);

         Специальность (директор – бухгалтер – техник – курьер);

         Стаж (15 – 7 – 3 – 4)).

Связи между фреймами задаются значениями специального слота с именем «связь». Как я уже ранее писал часть специалистов по ИС считает, что нет необходимости специально выделять фреймовые в представлении знаний, так как в них объединены  все основные особенности остальных типов. 

Теперь рассмотрим несколько примеров:

№1. Пусть дана некоторая фраза «Кассир выдает деньги рабочим». Запишем её в виде фрейма:

(Выдает:

     служащий (кассир);

     получатель (рабочий);

     объект (деньги)).

Из примера видно что фрейм имеет следующую протоструктуру 

(Выдает:

     служащий (Значение слота1);

     получатель (Значение слота2);

     объект (Значение слота3)).

№2. Пусть дан некоторый фрейм. Сформулируем на естественном языке те знания которые заложены в этом фрейме.

(Список  учеников:

         Фамилия (Иванов – Петров – Сидоров);

         Год рождения (1987 – 1985 – 1990);

          Класс (5 – 7 – 2)).

Иванов родился в 1987 и учится в 5-м классе.

Петров родился в1985 и учится в 7-м классе.

Сидоров родился в 1990 и учится во 2-м классе.

Еще рассмотрим пример вложенного фрейма т.е.

(План недели:

            мероприятие1 (Собрание);

            мероприятие2 (Празднование);

            мероприятие3 (Футбольный матч)).

  (Собрание:

            Тема (Начало учебного года);

            Время (Понедельник, 14.00);

            Место (Актовый зал);

            Присутствуют (Коллектив школы)).

  (Празднование:

            Тема (День рождения);

            Время (Среда, 17.00);

            Место (Столовая);

            Присутствуют (Ученики класса)).

  (Футбольный  матч:

            Тема (болеть за «наших»);

            Время (Пятница, 18.30);

            Место (Стадион);

            Присутствуют (болельщики команд)).

Для сетевых моделей стоит выделить следующие проблемы:

1.Сетевые модели не имеют общей теории.

2.Много эвристики.

3.Проблема эффективности процедур работы с сетями.

4.Много видов сетей, в том числе рассчитанных на аппаратную реализацию.





















































ПРЕДСТАВЛЕНИЕ ЗНАНИЙ В СИСТЕМЕ РАСПРЕДЕЛЕННЫХ БАЗ ЗНАНИЙ И ДАННЫХ В INTERNET / INTRANET.



Постановка задачи.

В настоящее время в основном три изобретения в области информатики определяют пути ее развития; 

экспертные системы, 

системы управления базами данных, 

сеть Internet.

        В последние два десятилетия широкое распространение в различных областях деятельности получили экспертные системы. Отличительной чертой компьютерных программ, называемых экспертными системами, является их способность накапливать знания и опыт высоко квалифицированных специалистов в какой-либо узкой предметной области. Затем с помощью этих знаний пользователи экспертных систем, имеющие не очень высокую квалификацию, могут решать свои текущие задачи столь же успешно, как это сделали бы сами эксперты. На данный момент экспертные системы должны удовлетворять следующим требованиям : 



1.Необходимо использовать в них не поверхностные знания в виде эвристических      правил, а глубинные, представляющие собой теории предметных областей и общие стратегии решения проблем. 

2.Знания должны быть организованы в виде составных иерархических представлений, включающих сети фреймов, продукции и логические модели. 

3.Экспертная система должна решать задачи из динамических предметных областей, то есть областей, знания о которых могут изменяться непосредственно в процессе вывода. 

4.Одним из компонентов экспертной системы должна являться база данных с неполной информацией. 

5.Система должна быть способна анализировать имеющиеся у нее знания, обнаруживая противоречия между старыми знаниями и вновь полученными от эксперта, устанавливать факт их неполноты или ошибочности. 

     В большинстве случаев современные экспертные системы не удовлетворяют этим требованиям. Следует сказать о таком важном, недостатке экспертных систем, как отсутствие возможности хранить большие объемы данных. Конечно, в принципе база знаний экспертной системы может хранить любое количество данных в виде правил-продукций или просто фактов. Но механизм ее работы в общем виде таков, что при работе с большими объемами похожих фактов или правил скорость работы резко падает. 

Остановимся теперь на средствах управления базами данных. Не секрет, что в связи с ростом объемов носителей и скоростей передачи данных человечество просто тонет в огромном количестве информации. Все знания, которыми когда-либо обладал человек если уже не хранятся, то в ближайшем будущем будут храниться в компьютеризированном виде. Таким образом, если человеку нужна какая-либо конкретная информация, он может быть уверен, что где-то, на каком-то сервере и в какой-то базе данных эта информация уже хранится. Нужно только извлечь ее. Дальше начинаются сложности. Пользователь должен знать не только точный адрес нужного сервера, но и представлять себе, где именно на этом сервере и в каком виде хранится нужная ему информация. И это еще не все. Человек должен суметь сформулировать свой вопрос на языке, прямо скажем, далеком от естественного, например, на языке SQL. Только тогда он сможет добраться до нужной информации. 



Примерно тем же недостатком обладают средства поиска информации в сети Internet. Поисковые машины Internet ни в коей мере не используют семантику предметной области при поиске информации, а могут искать информацию только по ключевым словам, подбор которых является для пользователя отнюдь не тривиальной задачей. Кроме того, даже зная какие слова нужно искать, пользователь не гарантирует себе успешный поиск, т.к. не знает в каком падеже используются эти слова. 

     Итак: Экспертная система способна выдавать ответы, выбирая их из собственной базы знаний или выводя с помощью правил-продукций, но не имеет доступ к огромным массивам информации, хранящимся в базах данных различного типа. 

Средства управления базами данных, например, SQL-сервера, способны выдавать только конкретную информацию по конкретным запросам, сформулированным на соответствующем языке. Делать выводы и самообучаться они не могут. 

Средства поиска информации в Internet не способны гарантировать успех, т.к. не используют при поиске семантику предметной области. 

     Таким образом, мы пришли к выводу, что ни базы знаний с инструментарием экспертной системы, ни базы данных с языками запросов, ни поисковые машины Internet неискушенного человека удовлетворить не могут. Тогда и возникла идея объединить базы данных и базы знаний едиными концепциями и единым инструментарием и погрузить их в среду Internet / Intranet . 



    Язык представления данных и знаний IRL.



В качестве модели представления данных и знаний была выбрана сеть фреймов. Понятие фрейма широко используется в областях, связанных с искусственным интеллектом. Фрейм позволяет описывать как абстрактные объекты и понятия, так и конкретные объекты, имеющие точные числовые характеристики. Также представляется очень существенной возможность представления в виде фреймов иерархических объектов. Фрейм, как известно, состоит из слотов, описывающих конкретные свойства понятия или объекта. Для работы с фреймами был разработан специальный язык, названный нами Intelligent Request Language, или сокращенно IRL. Грамматика этого языка представлена ниже. Она относится к классу Q-грамматик, так как содержит правила вида N:empty. Грамматики этого типа допускают нисходящий грамматический разбор. Общий вид грамматики представлен ниже. 



<ОписаниеПонятия>: <ИмяПонятия> <Предок> <Источник> <Состав> <ОписанияСлотов> { <Источник> <Состав> <ОписанияСлотов>

<Предок>: :<ИмяПредка> { {

<Источник>: <ИсточникДанных>=<ОписаниеИсточника> empty

<ОписаниеИсточника>: "<ИмяФайла>"; "<IP-адрес>";

<Состав>: <Состоит> { <ОписаниеСостава>

<ОписаниеСостава>: <ОписаниеПонятия> <ОписаниеКоличества> <ОписаниеСостава> }

<ОписаниеКоличества>: :<ЧислоВхождений>; ;

<ОписанияСлотов>: <ИмяСлота> <ЗначениеСлота> <ОписанияСлотов> }

<ЗначениеСлота>: <Число> <ЕдиницаИзмерения> <Продолжение> [<Число>,<Граница>] <ЕдиницаИзмерения> <Продолжение> "<Строка>" <Продолжение> ~<ОписаниеСтолбца> <ЕдиницаИзмерения> <Продолжение> #<ИмяСлота> <Продолжение> <ОписаниеПонятия> <Продолжение> ?;

<ЕдиницаИзмерения>: (<ИмяЕдиницы>) empty

<Граница>: <Число> > <

<Продолжение>: ; | <ЗначениеСлота>

<ОписаниеСтолбца>: <Столбец><ПродолжениеОписанияСтолбца>

<ПродолжениеОписанияСтолбца>: :<ИмяФайла>:<Столбец>=<Столбец><ПродолжениеОписанияСтолбца> empty



Достоинством языка IRL можно считать возможность описания двух таких важных сущностей, как наследование и включение. По нашему мнению, машинный язык может адекватно представлять устройство мира с человеческой точки зрения только в том случае, если он отображает эти понятия. Как видно из грамматики, в частном случае фрейм языка IRL может иметь только имя, и ничего больше. В этом случае он является описанием базового понятия, то есть, понятия, не имеющего предка. В качестве базовых понятий используются:



Действие (Action).

Свойство (Property).

Отношение (Relation).

Объект (Object). 



Некоторые из базовых понятий имеют свойства (слоты), другие - нет. К числу первых относятся действие и отношение, к числу вторых - свойство и объект. Базовое действие имеет следующие слоты: 

Название. 

Объект действия. 

Субъект действия. 

Время действия. 

Место действия. 

Что имеется в начале действия. 

Что имеется в конце действия. 

Последние два слота предназначены для того, чтобы система могла анализировать действие не только по названию, но и по сути. Базовое отношение в свою очередь имеет слоты: 

Объект. 

Субъект. 

При описании конкретного действия или отношения каждый слот получает соответствующее значение. Все остальные понятия наследуются из базовых. По умолчанию фрейм-потомок наследует все слоты фрейма-предка, а к ним уже может добавлять любое количество своих слотов. Кроме наследования, грамматика языка IRL позволяет реализовать такую важную вещь, как понятие включения. Для этого введен специальный слот <Состоит>. Объект может состоять из любого числа других объектов, которые, в свою очередь, могут быть составными. Если характеристика объекта может быть выражена с помощью чисел, то язык предоставляет следующие возможности: 

        Использование единиц измерения по усмотрению пользователя. Единицы измерения, используемые пользователем, с помощью таблиц преобразования приводятся к унифицированным. 

          Использование числовых диапазонов. Для них предусмотрен специальный синтаксис. Кроме понятий и объектов система  может хранить отдельные факты и правила-продукции, или, говоря другими словами, каждый фрейм является своего рода правилом-продукцией. Остановимся для начала на фактах. Факт любого рода может быть представлен в виде фрейма, описывающего конкретное действие. Например, если мы хотим занести в базу знаний системы тот факт, что Колумб открыл Америку в 1492 году, это будет выглядеть следующим образом: 

Открыл : Действие { Объект = "Колумб" Субъект = "Америка" Время действия = "1492 год" } 

        Фреймов с одинаковым названием в системе может храниться сколь угодно много. Нужно лишь, чтобы они отличались друг от друга. Благодаря уникальной конструкции файловой системы поиск нужного фрейма происходит очень быстро. Обратимся вновь к грамматике языка IRL. Слот <Источник> может присутствовать в любом фрейме, но он не является обязательным. Это значит, что если данные хранятся в конкретной базе данных, то мы ее указываем, а если нет - это будет факт общего вида, пример которого и был приведен выше. Следует остановиться еще на одном важном моменте. В реальной практике довольно редко встречаются обособленные файлы баз данных. Как правило, для увеличения быстродействия систем обработки данных информация хранится во множестве различных файлов, связанных между собой. Язык IRL позволяет описывать связанные базы данных. Мы не будем касаться конкретного синтаксиса. Приведем лишь общий вид некоторого факта, а именно: описание объекта "Фирма", данные о котором хранятся в одной базе данных, а данные о продукции, выпускаемой фирмой - в другой базе данных. Естественно, что эти базы должны быть связаны между собой. 



Список литературы:

1.”Искусственный интеллект”. 2-й том под редакцией Поспелова.

2.