
- •Глава 1 Представление знаний
- •1.1. Данные и знания
- •1.2. Логические модели
- •Логическое следствие и логический вывод
- •1.3. Сетевые модели
- •1.4. Продукционные модели
- •1.5. Сценарии
- •1.6. Ленемы
- •Методы работы со знаниями
- •2.1. Приобретение и формализация знаний
- •2.2. Пополнение знаний
- •2.3. Обобщение и классификация знаний
- •2.4. Дедуктивный вывод на знаниях
- •Резолюция с абстракцией
- •2.5. Неточный вывод на знаниях а. Р. Хачатрян
- •Краткая история
- •Глава 3 Общение
- •3.1. Уровни понимания
- •Основные определения
- •Классификация уровней понимания
Обучение. Предполагается, что ИС подобно человеку будут способны к обучению — решению задач, с которыми они ранее не встречались. Для того чтобы это стало возможным, необходимо: создать методы формирования ус ловий задачи по описанию проблемной ситуации или по наблюдению за этой ситуацией, научиться переходу от известного решения частных задач (приме ров) к решению общей задачи, создать приемы декомпозиции исходной для ИС задачи на более мелкие так, чтобы они оказались для ИС уже известны ми, разработать нормативные и декларативные модели самого процесса обу чения, создать теорию подражательного поведения. Перечень задач можно бы ло бы продолжить, ибо в области обучения ИС сделано еще весьма мало. Однако важность работ в этом направлении не вызывает никаких сомнений.
Поведение. Так как ИС должны действовать в некоторой окружающей среде, то необходимо разработать специальные поведенческие процедуры, ко торые позволили бы им адекватно взаимодействовать с окружающей средой, другими ИС и людьми. Для достижения такого взаимодействия надо провести исследование в ряде направлений и создать: модели целесообразного поведе ния, нормативного поведения, ситуативного поведения, специальные методы многоуровневого планирования и коррекции планов в динамических ситуациях. Лишь после этого можно будет говорить о возможности привычного взаимо действия между людьми и ИС.
Практически все перечисленные направления искусственного интеллекта рассмотрены в настоящем томе справочника. Полнота изложения результатов, касающихся того или иного направления, не одинакова. Это объясняется разным уровнем исследований в них. Данный том отражает тот взгляд на исследования в области искусственного интеллекта, который характерен для специалистов, разрабатывающих теоретические модели и методы решения разнообразных задач, возникающих при создании ИС. Этим он отличается от первого тома, в котором проблемы искусственного интеллекта рассматривались с точки зрения пользователей ИС.
Как и остальные тома справочника, второй том подготовлен коллективом специалистов, который объединяется вокруг Научного Совета по проблеме «Искусственный интеллект» АН СССР. В общую редколлегию справочника входят: академик Г. С. Поспелов, д-р техн. наук, проф. Э. В. Попов, д-р техн. наук, проф. Д. А. Поспелов, канд. техн. наук, доц. В. Н. Захаров, канд. техн, наук, доц. В. Ф. Хорошевский. При подготовке данной книги большую помощь оказали члены рабочей группы: канд. техн. наук М. Г. Гаазе-Рапопорт канд физ-мат. наук С. М. Ефимова, канд. физ.-мат. наук Л. В. Литвинцева, Н. В. Руссова, Н. В. Чудова.
Глава 1 Представление знаний
1.1. Данные и знания
Д. А. Поспелов
Основные определения
Информация, с которой имеют дело ЭВМ, разделяется на процедурную и декларативную. Процедурная информация овеществлена в программах, которые выполняются в процессе решения задач, декларативная информация—-в данных, с которыми эти программы работают. Стандартной формой представления информации в ЭВМ является машинное слово, состоящее из определенного для данного типа ЭВМ числа двоичных разрядов — битов. Машинное слово для представления данных и машинное слово для представления команд, образующих программу, могут иметь одинаковое или разное число разрядов. В последнее время для представления данных и команд использу-ютСя одинаковые по числу разрядов машинные слова. Однако в ряде случаев машинные слова разбиваются на группы ио восемь двоичных разрядов, которые называются байтами.
Одинаковое число разрядов в машинных словах для команд и данных позволяет рассматривать их в ЭВМ в качестве одинаковых информационных единиц и* выполнять операции над командами, как над данными. Содержимое памяти образует информационную базу.
В большинстве существующих ЭВМ возможно извлечение информации из любого подмножества разрядов машинного слова вплоть до одного бита. Во многих ЭВМ можно соединять два (или более) машинных слова в слово с большей длиной. Однако машинное слово является основной характеристикой информационной базы, так как его длина такова, что каждое машинное слово хранится в одной стандартной ячейке памяти, снабженной индивидуальным именем — адресом ячейки. По этому имени происходит извлечение информационных единиц из памяти ЭВМ и запись их в нее.
Параллельно с развитием структуры ЭВМ происходило развитие информационных структур для представления данных. Появились способы описания данных в виде векторов и матриц, возникли списочные структуры, иерархические структуры. В настоящее время в языках программирования высокого уровня используются абстрактные типы данных, структура которых задается программистом. Появление баз данных (БД) знаменовало собой еще один шаг на пути организации работы с декларативной информацией. В базах данных могут одновременно храниться большие объемы информации, а специальные средства, образующие систему управления базами данных (СУБД), позволяют эффективно манипулировать с данными, при необходимости извлекать их из базы данных и записывать в нужном порядке в базу.
Таблица
1.1
Фамилия |
Год рождения |
Специальность |
|
Попов Сидоров Иванов Петров |
1965 1946 1925 1937 |
Слесарь Токарь » Сантехник |
5 20 30 25 |
По мере развития исследований в области ИС возникла концепция знаний, которые объединили в себе многие черты процедурной и декларативной информации.
Особенности знаний
Перечислим ряд особенностей, присущих этой форме представления информации в ЭВМ.
1. Внутренняя интерпретируемость. Каждая информационная единица должна иметь уникальное имя, по которому ИС находит ее, а также отвечает на запросы, в которых это имя упомянуто. Когда данные, хранящиеся в памяти, были лишены имен, то отсутствовала возможность их идентификации системой. Данные могла идентифицировать лишь программа, извлекающая их из памяти по указанию программиста, написавшего программу. Что скрывается за т-ем или иным двоичным кодом машинного слова, системе было неизвестно.
Если, например, в память ЭВМ нужно было записать сведения о сотрудниках учреждения, представленные табл. 1.1, то без внутренней интерпретации в память ЭВМ была бы занесена совокупность из четырех машинных слов, соответствующих строкам этой таблицы. При этом информация о том, какими группами двоичных разрядов в этих машинных словах закодированы сведения о специалистах, у системы отсутствуют. Они известны лишь программисту, который использует данные табл. 1.1 для решения возникающих у него задач. Система не в состоянии ответить на вопросы типа «Что тебе известно о Петрове?» или «Есть ли среди специалистов сантехник?».
г При переходе к знаниям в память ЭВМ вводится информация о некоторой протоструктуре информационных единиц. В рассматриваемом примере она представляет собой специальное машинное слово, в котором указано, в каких разрядах хранятся сведения о фамилиях, годах рождения, специальностях и стаже. При этом должны быть заданы специальные словари, в которых перечислены имеющиеся в памяти системы фамилии, года рождения, названия специальностей и продолжительности стажа. Все эти атрибуты могут играть роль имен для тех машинных слов, которые соответствуют строкам таблицы. По ним можно осуществлять поиск нужной информации. Каждая строка таблицы будет экземпляром протоструктуры. В настоящее время СУБД обеспечивают реализацию внутренней интерпретируемости всех информационных единиц, хранимых в базе данных.
Структурированность. Информационные единицы должны обладать гиб кой структурой. Для них должен выполняться «принцип матрешки», т. е. рекурсивная вложимость одних информационных единиц в другие. Каж дая информационная единица может быть включена в состав любой другой, и из каждой информационной единицы можно выделить некоторые составляющие ее информационные единицы. Другими словами, должна существовать возмож ность произвольного установления между отдельными информационными еди ницами отношений типа «часть — целое», «род —вид» или «элемент — класс».
Связность. В информационной базе между информационными единицами должна быть предусмотрена возможность установления связей различного тн- 8
па. Прежде всего эти связи могут характеризовать отношения между информационными единицами. Семантика отношений может носить декларативный или процедурный характер. Например, две или более информационные единицы могут быть связаны отношением <Содновременно >, две информационные единицы— отношением «спричина—следствием или отношением «сбыть рядом^. Приведенные отношения характеризуют декларативные знания. Если между двумя информационными единицами установлено отношение ^аргумент— функция;», то оно характеризует процедурное знание, связанное с вычислением определенных функций. Далее будем различать отношения структуризации, функциональные отношения, каузальные отношения и семантические отношения. С помощью первых задаются иерархии информационных единиц, вторые несут процедурную информацию, позволяющую находить (вычислять) одни информационные единицы через другие, третьи задают причинно-следственные связи, четвертые соответствуют всем остальным отношениям.
Между информационными единицами могут устанавливаться и иные связи, например, определяющие порядок выбора информационных единиц из памяти или указывающие на то, что две информационные единицы несовместимы друг с другом в одном описании.
Перечисленные три особенности знаний позволяют ввести общую модель представления знаний, которую можно назвать семантической сетью, представляющей собой иерархическую сеть, в вершинах которой находятся информационные единицы. Эти единицы снабжены индивидуальными именами. Дуги семантической сети соответствуют различным связям между информационными единицами. При этом иерархические связи определяются отношениями структуризации, а неиерархические связи — отношениями иных типов [Hendrix, 1975; Schubert, 1975].
4. Семантическая метрика. На множестве информационных единиц в некоторых случаях полезно задавать отношение, характеризующее ситуационную близость информационных единиц, т. е. силу ассоциативной связи между информационными единицами. Его можно было бы назвать отношением релевантности для информационных единиц. Такое отношение дает возможность выделять в информационной базе некоторые типовые ситуации (например, «покупка», «регулирование движения на перекрестке»). Отношение релевантности при работе с информационными единицами позволяет находить знания, близкие к уже найденным.
5. Активность. С момента появления ЭВМ и разделения используемых в ней информационных единиц на данные и команды создалась ситуация, при которой данные пассивны, а команды активны. Все процессы, протекающие в ЭВМ, инициируются командами, а данные используются этими командами лишь в случае необходимости. Для ИС эта ситуация неприемлема. Как и у человека, в ИС актуализации тех или иных действий способствуют знания, имеющиеся в системе. Таким образом, выполнение программ в ИС должно инициироваться текущим состоянием информационной базы. Появление в базе фактов или описаний событий, установление связей может стать источником активности системы.
Перечисленные пять особенностей информационных единиц определяют ту грань, за которой данные превращаются в знания, а базы данных перерастают в базы знаний (БЗ). Совокупность средств, обеспечивающих работу с знаниями, образует систему управления базой знаний (СУБЗ). В настоящее время не существует баз знаний, в которых в полной мере были бы реализованы внутренняя интерпретируемость, структуризация, связность, введена семантическая мера и обеспечена активность знаний.
Модели представления данных *
В 70-х годах различали три основные модели представления данных: реляционные, сетевые и иерархические. В настоящее время появилось второе по-
В
написании данного раздела участвовала
С. М. Ефимова.
коление
таких моделей, в рамках которых
происходит постепенное слияние
данных
и знаний [Цикритис и др., 1985], В развитых
моделях представления данных
можно выделить два компонента:
интенсиональные
представления и экстенсиональные
представления. Оба
компонента хранятся в базе данных. При
этом в
ее экстенсиональную часть входят
конкретные факты, касающиеся предметной
области (например, строки табл. 1.1), а
в интенсиональную часть — схемы связей
между атрибутами (например, между
именами столбцов табл. 1.1.). Таким
образом, экстенсиональные представления
описывают конкретные объекты
из предметной области, конкретные
события, происходящие в ней, или
конкретные
явления и процессы, а интенсиональные
представления фиксируют те закономерности
и связи, которым все эти конкретные
объекты, события, явления или процессы
обязаны в данной проблемной области
удовлетворять. Экстенсиональные
представления относятся к данным.
Относительно интенсиональных
представлений единого мнения нет.
Апологеты баз данных говорят в
этом случае о схемах
базы данных, а
представители искусственного интеллекта
— о знаниях
о проблемной области.
Элементами схемы базы данных являются схемы вида Q(Ai, A2, ...,А„), где Q — некоторое отношение, а множество элементов, входящих в Q,— множество атрибутов. В зависимости от того, какие отношения Q допускаются в схемах баз данных, возникают различные представления данных.
Введем понятие домена Di для некоторого атрибута AL. Элементами А будем считать все конкретные факты в экстенсиональном представлении, соответствующие этому атрибуту. Например, в простейшем случае табл. 1.1 домены образуются из элементов столбцов таблицы, а соответствующий каждому домену атрибут показан как обозначение столбца. Домены, относящиеся к различным атрибутам, могут иметь пустое пересечение, непустое пересечение или включаться друг в друга. В предельном случае домены двух различных атрибутов могут полностью совпадать. При этом атрибуты оказываются синонимами. Например, если все токари на данном предприятии (и только они) имеют по трое детей, то атрибуты «Токари» и «Отцы, имеющие троих детей» в данной БД окажутся синонимичными.
Экстенсиональное отношение — это определенным образом выделенное подмножество декартова произведения доменов, относящихся к некоторому набору атрибутов. Например, содержимое табл. 1.1 есть подмножество декартова произведения доменов, соответствующих атрибутам: «Фамилия», «Год рожде-ния», «Специальность» и «Стаж». Из всех возможных кортежей, полученных в этом декартовом произведении, в таблицу отобраны лишь те, которые отражают реальных людей, работающих на предприятии, В схеме баз данных такому экстенсиональному отношению будет соответствовать интенсиональное отношение R{A\, Ац,...,Ат). Имя этого отношения совпадает с именем экстен» сионального отношения (именем той таблицы, которым оно задано, например R может выглядеть как «Список сотрудников данного предприятия»), а в качестве его аргументов выступают атрибуты, домены которых использовались для образования соответствующего экстенсионального отношения.
Описанная модель представления данных, т. е. табличное представление данных, протоструктура которых определяется экстенсиональными отношениями, а схема базы данных — интенсиональными отношениями [Codd, 1979, 1981], характерна для реляционных баз данных.
В сетевых моделях представления данных используются табличные и графовые представления. Вершинам графа соответствуют информационные единицы, называемые записями, которые представляют собой специальным образом организованные таблицы, а дугам графа — типы отношений между записями [Мартин, 1980; Ульман, 1983; Цикритис и др., 1985]. В отличие от реляционных моделей, в которых запрещается повторение одинаковых строк в множестве, определяющем экстенсиональное отношение, в сетевых моделях такие повторения допустимы. Другим отличием является явное задание отношений между записями с помощью графа, а не опосредованное, как в реляционной модели.
10
В иерархических моделях представления данных в отличие от реляционных и сетевых моделей схема базы данных представляет собой множество схем отношений, упорядоченных в деревообразную структуру. В отличие от сетевой модели, в которой экстенсиональные отношения могут быть определены на доменах, элементы которых сами могут быть агрегированными записями (т. е. представлять собой целые фрагменты графа), в иерархических моделях (как и в реляционных) элементами доменов могут быть лишь простые факты [Дейт, 1980; Мартин, 1980; Ульман, 1983].
В базах данных выделяют две составляющие: язык описания данных (ЯОД) и язык манипулирования данными (ЯМД). Средства ЯОД ориентированы, с одной стороны, на то, как на физическом уровне в ЭВМ будут представляться данные, интенсиональные и экстенсиональные отношения, а с другой стороны, на семантику проблемной области, так как в них входят операции по классификации, обобщению и агрегированию экстенсиональных и интенсиональных представлений. Эти средства позволяют вводить обобщенные атрибуты и записи, устанавливать новые схемы отношений на интенсиональном уровне и строить многоуровневые иерархии на множествах обобщенных атрибутов. Таким образом, ЯОД позволяет реализовать в базах данных такие особенности знаний, которые ранее назывались структурированностью и связностью [Цикритис и др., 1985].
При работе с базами данных, т. е. при поиске ответов на запросы пользователей, пополнении содержимого экстенсионального или интенсионального компонентов, необходимо уметь выполнять ряд операций, которые входят в ЯМД. Различия в наборе операций определяют различия в ЯМД.
Многие авторы, например [Дейт, 1980; Дрибас, 1982; Калиниченко, 1983], определяют базы данных как совокупность ЯОД и ЯМД, что сближает их с понятиями алгебры и универсальной алгебраической системы [Мальцев, 1970]. На сегодняшний день можно считать завершенной теорию реляционных баз данных [Maier, 1983; Цаленко, 1985]. Сейчас уже ясно, что все три типа баз данных равномощны [Jacoby, 1982; Филиппов, 1983, 1985].
Второе поколение баз данных характеризуется рядом особенностей моделей представления данных [Цаленко, 1985; Цикритис и др., 1985]. Расширение возможностей таких моделей происходит из-за ослабления требований к виду отношений Q в экстенсиональных представлениях и к виду отношений R в интенсиональных представлениях.
Семантические сети являются наиболее общей моделью представления знаний, так как в них имеются средства для выполнения всех пяти требований, предъявляемых к знаниям. Но такая универсальность семантических сетей имеет и негативную сторону. Если допускать в них произвольные типы отношений и овязей, не являющиеся отношениями в математическом смысле (например, ассоциативные связи), то сложность работы с таким образом организованной информацией резко возрастает. Поэтому в базах данных второго поколения вводятся ограничения на характер структур и типов информационных единиц, находящихся в вершинах семантической сети, и на характер связей, задаваемых ее дугами.
Например, в бинарных моделях представления данных используются лишь бинарные отношения между информационными единицами. Близкой к таким моделям является модель, опирающаяся на язык синтагматических цепей, применявшийся в ситуационном управлении [Поспелов Д., 1981]. Наиболее известной бинарной моделью является модель Сенко [Senko, 1980].
В модели U-графов [Ефимова, 1985; Ефимова и др., 1986] фиксирована топология семантической сети, используемой в схеме базы данных: отношения вида Q(Ao\ Air...,Am) описывают фрагменты семантической сети, называемые звездами. Тело звезды — вершина семантической сети с именем Аа. Вершины с именами А\,..., Ат связаны с вершиной Ао бинарными отношениями с некоторыми именами Ru..., Rm. Такой способ представления информации имеет некоторые аналоги с моделью /?Х-кодов, предлагавшейся для информационно-поисковых систем [Скороходько, 1968].
11
Модели
представления знаний
В ИС используются различные способы описания знаний. 1. Логические модели. В основе моделей такого типа лежит формальная система, задаваемая четверкой вида М—<.Т, Р, А, В>. Множество Т есть множество базовых элементов различной природы, например слов из некоторого ограниченного словаря, деталей детского конструктора, входящих в состав некоторого набора и т. п. Важно, что для множества Т существует некоторый способ определения принадлежности или непринадлежности произвольного элемента к этому множеству. Процедура такой проверки может быть любой, но за конечное число шагов она должна давать положительный или отрицательный ответ на вопрос, является ли х элементом множества Т. Обозначим эту процедуру П(Г).
Множество Р есть множество синтаксических правил. С их помощью из элементов Т образуют синтаксически правильные совокупности. Например, из слов ограниченного словаря строятся синтаксически правильные фразы, из деталей детского конструктора с помощью гаек и болтов собираются новые конструкции. Декларируется существование процедуры П(Р), с помощью которой за конечное число шагов можно получить ответ на вопрос, является ли совокупность X синтаксически правильной.
В множестве синтаксически правильных совокупностей выделяется некоторое подмножество А. Элементы А называются аксиомами. Как и для других составляющих формальной системы, должна существовать процедура П(Л), с помощью которой для любой синтаксически правильной совокупности можно получить ответ на вопрос о принадлежности ее к множеству А.
Множество В есть множество правил вывода. Применяя их к элементам А, можно получать новые синтаксически правильные совокупности, к которым снова можно применять правила из В. Так формируется множество выводимых в данной формальной системе совокупностей. Если имеется процедура П(5), с помощью которой можно определить для любой синтаксически правильной совокупности, является ли она выводимой, то соответствующая формальная система называется разрешимой. Это показывает, что именно правила вывода являются наиболее сложной составляющей формальной системы.
Для знаний, входящих в базу знаний, можно считать, что множество А образуют все информационные единицы, которые введены в базу знаний извне, а с помощью правил вывода из них выводятся новые производные знания. Другими словами, формальная система представляет собой генератор порождения новых знаний, образующих множество выводимых в данной системе знаний. Это свойство логических моделей делает их притягательными для использования в базах знаний. Оно позволяет хранить в базе лишь те знания, которые образуют множество А, а все остальные знания получать из них по правилам вывода.
2. Сетевые модели. В основе моделей этого типа лежит конструкция, названная ранее семантической сетью. Сетевые модели формально можно задать в виде #=</, С], С2,..., Сп, Г>. Здесь / есть множество информационных единиц; С\, С2,..., Сп — множество типов связей между информационными единицами. Отображение Г задает между информационными единицами, входящими в /, связи из заданного набора типов связей.
В зависимости от типов связей, используемых в модели, различают классифицирующие сети, функциональные сети и сценарии. В классифицирующих сетях используются отношения структуризации. Такие сети позволяют в базах знаний вводить разные иерархические отношения между информационными единицами. Функциональные сети характеризуются наличием функциональных отношений. Их часто называют вычислительными моделями, так как они позволяют описывать процедуры «вычислений» одних информационных единиц через другие. В сценариях, используются каузальные отношения, а также отношения типов «средство — результат», «орудие — действие» и т. п. Если в сетевой модели допускаются связи различного типа, то ее обычно называют семантической сетью.
12
Продукционные модели. В моделях этого типа используются некоторые элементы логических и сетевых моделей. Из логических моделей заимствована идея правил вывода, которые здесь называются продукциями, а из сетевых мо делей—описание знаний в виде семантической сети. В результате применения правил вывода к фрагмеЕ1там сетевого описания происходит трансформация се мантической сети за счет смены ее фрагментов, наращивания сети и исключе ния из нее ненужных фрагментов. Таким образом, в продукционных моделях процедурная информация явно выделена и описывается иными средствами, чем декларативная информация. Вместо логического вывода, характерного для логических моделей, в продукционных моделях появляется вывод на знаниях.
Фреймовые модели. В отличие от моделей других типов во фреймовых моделях фиксируется жесткая структура информационных единиц, которая на зывается протофреймом. В общем виде она выглядит следующим образом:
(Имя фрейма:
Имя слота 1 (значение слота 1) Имя слота 2 (значение слота 2);
И
мя
слота К
(значение
слота /С)).
Значением слота может быть практически что угодно (числа или математические соотношения, тексты на естественном языке или программы, правила вывода или ссылки на другие слоты данного фрейма или других фреймов). В качестве значения слота может выступать набор слотов более низкого уровня, что позволяет во фреймовых представлениях реализовать «принцип матрешки».
При конкретизации фрейма ему и слотам присваиваются конкретные имена и происходит заполнение слотов. Таким образом, из протофреймов получаются фреймы-экземпляры. Переход от исходного протофрейма к фрейму-экземпляру может быть многошаговым, за счет постепенного уточнения значений слотов.
Например, структура табл. 1.1, записанная в виде протофрейма, имеет вид
(Список работников:
Фамилия (значение слота 1); Год рождения (значение слота 2); Специальность (значение слота 3); Стаж (значение слота 4)).
Если в качестве значений слотов использовать данные табл. 1.1, то получится фрейм-экземпляр
(Список работников:
Фамилия (Попов—Сидоров—Иванов—Петров); Год рождения (1965—1946—1925—1937); Специальность (Слесарь—токарь—токарь—сантехник); Стаж (5—20-30—25)).
Связи 'между фреймами задаются значениями специального слота с именем <Связь>. Часть специалистов по ИС считает, что нет необходимости специально выделять фреймовые модели в представлении знаний, так как в них объединены все основные особенности моделей остальных типов. В справочнике фреймовые модели будут рассматриваться в общем контексте с сетевыми.
13