Использование фреймов для представления знаний
Изучение фреймового способа представления знаний, его специфики и основных характеристик. Обзор других методов представления знаний, их плюсы и минусы. Иерархическая структура данных фрейма. Механизм управления выводом с помощью присоединенной процедуры.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 22.12.2014 |
Размер файла | 2,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ
МИНСКИЙ ГОСУДАРСТВЕННЫЙ ЛИНГВИСТИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра информатики и прикладной лингвистики
РЕФЕРАТ
для допуска к сдаче дифференцированного зачета по дисциплине
«Основы информационных технологий»
на тему: ИСПОЛЬЗОВАНИЕ ФРЕЙМОВ ДЛЯ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ
Подготовлен: Колб Е.С.
магистрантом кафедры
общего языкознания
Проверен: Зубовым А.В.
доктором филологических наук, профессором
Минск, 2014
СОДЕРЖАНИЕ
СПИСОК СОКРАЩЕНИЙ
ВВЕДЕНИЕ
§1. ЗНАНИЯ: ОПРЕДЕЛЕНИЕ И ОСНОВНЫЕ СВОЙСТВА
§2. СПОСОБЫ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ
§3. СПЕЦИФИКА ПРЕДСТАВЛЕНИЯ ЗНАНИЙ В ВИДЕ ФРЕЙМОВ
ЗАКЛЮЧЕНИЕ
СПИСОК ЛИТЕРАТУРЫ
СПИСОК СОКРАЩЕНИЙ
ИИ Искусственный интеллект
БД База данных
БЗ База знаний
ВВЕДЕНИЕ
Способы представления знаний - это одно из важнейших направлений исследований в области искусственного интеллекта. При их создании невозможно обойтись без различных моделей представления знаний. Это обусловлено, в первую очередь, тем фактом, что без знаний искусственный интеллект не может существовать в принципе.
Действительно, представим себе человека, который не знает ничего, даже абсолютно элементарных вещей. Поведение такого человека вряд ли можно считать разумным. И таких примеров множество. Именно поэтому, при создании систем искусственного интеллекта особенное внимание уделяется способам представления знаний.
Несмотря на тот факт, что сегодня разработано уже достаточное количество способов представления знаний, вопрос выбора конкретного способа для решения какой-либо задачи по-прежнему остается актуальным. Одна из проблем в представлении знаний - как хранить и обрабатывать знания в информационных системах так, чтобы машины могли использовать их для достижения поставленных задач.
Данная работа посвящена изучению фреймового способа представления знаний, его специфики и основных характеристик. В работе также представлен и обзор других методов представления знаний, ведь каждый из них обладает своими плюсами и минусами. От выбора способа представления знаний зависит не столько эффективность выполнения поставленной задачи, сколько возможность ее решения вообще.
§1. Знания: определение и основные свойства
Понятие «знание» можно рассматривать как полезную информацию, накопленную человеком в борьбе с природой за свое существование. В целом этому понятию трудно дать строгое однозначное определение, так как оно включает в себя составляющие понятия таких наук, как философия, психология, логика [14, с. 5]. В качестве рабочего определения понятия «знание» примем следующее: знание - это результат процесса познания человеком действительности, ее адекватное отражение в сознании человека в виде представлений, понятий, определений, умозаключений, теорий. По существу знание есть продукт общественной и духовной деятельности людей. Чтобы знание могло служить средством практического овладения окружающей действительностью (предметами, процессами), оно должно иметь эти предметы и процессы в своем содержании, отражать свойства и закономерности объективной реальности. Причем в знании предметы и процессы должны отражаться не только такими, какими они есть в природе, но и какими они могут быть в результате практической деятельности человека. Знание -- это не просто механическое копирование предметов и процессов окружающей действительности, а результат субъективной деятельности человека, в итоге которой создается образ, модель или схема предмета или процесса.
Конкретизируя понятие «знание», можно представить его состоящим из фактов и правил [9, с. 11]. Например:
Факт: Зажженная плита - горячая.
Правило: Если положить руку на зажженную плиту, то можно обжечься.
Факт: В английском слове BEDS перед окончанием - S стоит звонкая согласная - D.
Правило: Если английское существительное в единственном числе заканчивается на звонкую согласную, то суффикс множественного числа этого существительного произносится как [Z].
Факт: В предложении «Коса затупилась, и мы решили отдохнуть» справа рядом со словом «коса» находится глагол «затупилась».
Правило: Если в каком-либо русском предложении рядом со словом «коса» находится слово «затупиться», то слово «коса» употреблено в значении «инструмент для срезывания травы и злаков».
Факт: Студент по окончании института получил диплом с отличием.
Правило: Если студент по окончании института получил диплом с отличием, то он может быть принят в аспирантуру.
Знание неразрывно связано с мышлением и памятью (основные единицы психологии), значением и семантикой (единицы лингвистики), понятием и суждением (основные единицы логики). Сущность знания можно выявить, изучив его взаимоотношения с действительностью, языком, речью, значением и понятием [14, с. 5; 3, с. 99-131].
Известный философ Спиноза (1632-1677) различал четыре способа получения знаний человеком:
1. Понаслышке или через расшифровку каких-либо знаков. Например, понаслышке мы знаем о дне своего рождения; читая текст (лингвистические знаки), мы получаем некоторые знания.
2. Из повседневного (беспорядочного) опыта. Например, каждый знает, что день сменяет ночь.
3. Из сопоставления фактов друг с другом. Например, из своего опыта мы знаем, что один и тот же предмет кажется тем меньше, чем дальше он расположен от нас. Значит, глядя на солнце, мы можем сделать вывод о том, что солнце на самом деле гораздо больше по размеру, чем кажется нам.
4. По интуиции, когда сущность предмета или процесса узнается через специальное познание. Например, нас учили, что 2+3=5, что если две линии параллельны третьей линии, они параллельны между собой и т.д.
С современной точки зрения человек получает знания в результате житейского опыта, обучения и в результате активной мыслительной деятельности. Причем такие знания содержат как субъективные элементы, полученные в результате особенностей индивидуальной психики человека, так и элементы общезначимые, социальные, передаваемые обществом из поколения в поколение.
Многочисленные исследования показывают, что знания в памяти человека не представляют беспорядочного скопления фактов, понятий, суждений, теорий. Все это как-то упорядочено [10, с. 335-420]. В процессе приобретения знаний человеком в его памяти происходит укрупнение и обобщение событий по некоторым логическим принципам. Чаще всего в качестве правил, объединяющих разные составляющие знаний, выступают различные ассоциации: сходство, совпадение по времени и месту, причина и следствие и т.д. Как происходит объединение единиц знания (понятий, суждений, фактов, теорий) в человеческой памяти, объяснить пока трудно. Есть разные теории, раскрывающие принципы организации знаний в памяти человека. Так, в некоторых работах [10, с. 367-376] понятия представляются в виде стандартных схем (рис. 1 и 2):
Рис. 1. Общая схема представления понятия
Рис. 2. Схематическое представление понятия «пирожное»
Связь разных понятий между собой также может быть представлена в виде схемы.
Несколько иной подход предлагается при записи суждений и фактов. Например, факт (событие) «мать убирает в комнате Петра» может быть условно представлен так [10, с. 378-379] (рис. 3 и 4):
Рис. 3. Общая схема представления некоторого действия
Рис. 4. Схема представления действия «убирает»
Представители разных наук, изучающие знание, выделяют следующие его виды: обыденные и научные (специальные знания), содержательные (неформализованные) и формализованные, сложившиеся и развивающиеся, полные и неполные, известные и новые, знания о реальном мире и лингвистические знания и т.д. [14, с. 90-95; 6, с. 262; 2, с. 257-259].
Обыденные знания - это знания, которыми человек оперирует в повседневной жизни (знание стоимости продуктов, места работы или учебы и т.п.). Научные знания представляют собой некоторые научные обобщения, выражаемые словесно теориями, графиками, таблицами и т.д. Эти знания связаны с той или иной наукой - физикой, химией, медициной, лингвистикой и т.д.
Содержательные знания - это знания, использующие данные экспериментов и наблюдений, выдвигающие, обосновывающие и опровергающие научные гипотезы, пользующиеся догадками и интуицией. Они не выражены в виде некоторого алгоритма и относятся к знаниям человека. Формализованные знания - это часть содержательных знаний, представленная в виде конкретного алгоритма, формулы, закона или некоторой формальной модели. Такие знания являются основой системы ИИ.
Понятие «развивающиеся знания» относится к содержательным знаниям; они постоянно развиваются, пополняются. Сложившиеся знания - это знания, которые могут быть представлены в виде алгоритма или формальной системы. Они зафиксированы в книгах, справочниках, словарях и т.п.
Понятия «полные» и «неполные знания» относительны. Полные знания- это знания, позволяющие человеку или системе ИИ решить некоторую задачу от начала и до конца. Неполные знания, в противоположность полным, не позволяют найти решение какой-либо задачи.
Известные знания дают возможность человеку найти решение известной ему задачи, а новые знания открывают путь к решению некоторой новой проблемы или задачи.
Знания о реальном мире - это знания о предметах, процессах окружающего мира и самом человеке. Лингвистические знания включают знания о языке общения, правилах порождения речи и диалога, правилах описания на естественном языке предметов и процессов реальной действительности.
Чтобы система ИИ могла решать такие же интеллектуальные творческие задачи, как и человек, она должна обладать необходимыми для их решения знаниями. Откуда же взять эти знания и как их передать компьютеру? Ответы на эти вопросы можно получить в процессе выполнения следующих процедур [17, с. 12-32; 7, с. 7-76]:
* приобретения знаний от человека;
* представления полученных знаний для компьютера (формализации);
* передачи формализованных знаний компьютеру.
Приобретение знаний от человека. В процессе приобретения знаний принимают участие в простейшем случае два человека: инженер знаний (аналитик) и эксперт. Если строится очень большая система ИИ, в процессе приобретения знаний участвуют группы инженеров и экспертов. Инженер знаний - это человек, хорошо изучивший возможности компьютера, имеющий большой опыт общения с ним и знающий способы формального представления знаний в памяти компьютера [15, с. 14-21]. Эксперт - это хороший специалист в некоторой предметной области (шахматист, медик, лингвист, специалист по управлению производством, военный и т. п.) [15, с.14-21].
К участникам процесса приобретения знаний предъявляются определенные требования [1, с. 66-67]. Так, перед началом работы инженер знаний должен познакомиться со специальной литературой по заданной предметной области (чтобы не задавать эксперту глупых вопросов). Он должен уметь слушать и грамотно задавать вопросы. Эксперт, в свою очередь, должен быть не только компетентным специалистом, но и как-то заинтересован (материально или морально) в решении поставленной задачи, быть доброжелательным к инженеру знаний и уметь объяснить свои знания (наилучший вариант, когда эксперт имеет опыт преподавательской работы). Иногда функции инженера знаний и эксперта выполняет один человек. Тогда, кроме своих знаний, он может использовать учебники, монографии, справочники по исследуемой проблеме.
Приобретение знаний происходит в процессе диалога инженера знаний и эксперта. Чаще всего применяются три режима взаимодействия [1, с. 66; 17, с. 171-190; 3, с. 71-84]: протокольный анализ, интервью, игровая имитация профессиональной деятельности.
Суть протокольного анализа заключается в фиксации (на бумагу, магнитную или видеопленку) «мыслей вслух» эксперта во время решения задачи и в последующем анализе полученной таким образом информации (например, эксперт вслух рассуждает, как он проводит синтаксический анализ сложного английского предложения, а инженер знаний записывает его рассуждения).
В режиме интервью инженер знаний задает эксперту заранее подготовленные вопросы о сути процесса решения конкретной задачи (например, как специалист по английскому языку проводит синтаксический анализ сложного английского предложения: «Каков первый шаг такого анализа?» - «Я просматриваю предложение и отмечаю, есть ли в нем сочинительные и подчинительные союзы». - «Что вы делаете далее?» и т.д.).
Если для извлечения знаний применяется игровая имитация, эксперта помещают в ситуацию, очень похожую на ту, в которой он действует в своей профессиональной деятельности. Инженер знаний наблюдает за экспертом, записывает его действия и формирует свои соображения о необходимых для решения задачи знаниях. Эти соображения впоследствии могут быть уточнены с экспертом в режиме интервью (например, инженер знаний сидит в кабинете врача и наблюдает за тем, как врач обследует больного, задавая ему разные вопросы и используя данные проведенных анализов).
В результате взаимодействия инженера знаний и эксперта последовательно извлекается и уточняется следующая информация [1, с. 65-68; 17, с. 28-30; 15, с. 159-168; 6, с. 282- 284]:
1. Поле знаний, т.е. основные понятия, используемые при описании исследуемой предметной области, и свойства всех отношений, участвующих в установлении связей между выделенными основными понятиями. Например, если определяются знания, необходимые для распознавания значения многозначного слова «коса» в русском предложении, то в поле знаний будут включены такие понятая как «слово, стоящее слева от слова «коса», «слово, стоящее справа от слова «коса», «первое значение слова «коса» - вид женской прически», «второе значение слова «коса» - инструмент» и т.п. Основные отношения между этими понятиями будут выглядеть, например, так: «Если в предложении слева от слова «коса» на расстоянии не более четырех слов находится слово, обозначающее женский головной убор, то слово «коса» имеет значение «вид женской прически» и т.п.
2. Поле знаний уточняется путем выяснения более тонких признаков и условий, влияющих на решение обсуждаемой проблемы. Так, при распознавании значения многозначного слова «коса» выявляются все классы слов, которые могут стоять слева и справа от слова «коса», выясняется расстояние от этих слов до слова «коса» при дифференциации того или иного значения многозначного слова.
3. В сознании инженера знаний строится полная формализованная концептуальная модель процесса решения задачи. Затем эта модель может быть записана в виде иерархических структур, диаграмм, схем или словесно.
§2. Способы представления знаний
Полученные на предыдущем этапе знания должны быть определенным образом подготовлены для их представления в памяти компьютера.
Иногда выделяют два способа представления знаний в памяти компьютера: декларативный и процедурный [3, с. 19-31; 17, с. 12-26].
При декларативном представлении знания рассматриваются как множество утверждений (фактов и правил) независимо от того, где и как их используют. Например, перечень аффиксов русского языка и правил их сочетаемости с русскими основами; правила согласования прилагательного и существительного в зависимости от рода, числа и падежа существительного; описание переводного эквивалента иностранного слова в двуязычном словаре и т.д.
Процедурное представление задает знания в виде некоторых процедур (процессов), действий, которые необходимо выполнить, чтобы достичь какого-то результата. При этом, как правило, указываются какие-то дополнительные условия или ограничения, при которых процедура может быть выполнена. Например, процедура разбиения словоформы на основу и флексию; процедура поиска и выделения в предложении некоторых слов или словосочетаний; процедура синтеза предложения; процедура разрешения многозначности лексической единицы и т.п.
Однако практика создания систем ИИ показывает, что в процессе представления знаний разделить эти два способа довольно трудно. Поэтому в настоящее время используются методы, в которых есть элементы и декларативного и процедурного представления знаний [2, с. 259-269; 4, с. 62-80]. Чаще для представления знания используют следующие три метода [15, с. 70-85; 9, с. 201-208; 17, с. 12-25; 2, с. 281-290; 3, с. 21-31]:
- логических правил вывода;
- семантических сетей;
- фреймов.
Если знания представлены в памяти компьютера в виде логических правил вывода (или правил продукции), связь между фактами (утверждениями) базы данных (напомним, что БД - это набор фактов, утверждений и заключений) передается в виде утверждения (правила продукции) ЕСЛИ - ТО. Например:
ЕСЛИ положить руку на зажженную плиту ТО можно обжечься
ЕСЛИ взошло солнце ТО наступил день
ЕСЛИ в предложении рядом со словом «коса» стоит глагол «косить» ТО слово «коса» употреблено в значении «инструмент для резки травы» и т.д.
В общем случае, когда действителен факт, указанный после слова ЕСЛИ, то верен и факт (утверждение, заключение), стоящий после слова ТО. При этом говорят, что правило выполнено. В случае следования нескольких условий ЕСЛИ, которым соответствует одно ТО, говорят о цепочке выводов. Например, ЕСЛИ в предложения рядом со словом «коса» стоит глагол «косить» и ЕСЛИ между ним и словом «коса» менее четырех слов ТО слово «коса» употреблено в значении «инструмент для резки травы».
Допустим, что необходимо построить систему ИИ, которая бы помогала начальнику отдела кадров любого вуза распределять на работу лиц, окончивших аспирантуру. В принципе возможны три должности, которые может занять выпускник аспирантуры: заведующий кафедрой, старший преподаватель, преподаватель. Естественно, что должность заведующего кафедрой лучше занять человеку, имеющему высокую квалификацию: защитившему диссертацию, опубликовавшему монографию и достаточное число статей, имеющему достаточный стаж работы в вузе. В противоположность сказанному, преподавателем стоит назначить выпускника аспирантуры, который не защитил диссертацию, не имеет монографии, но опубликовал некоторое число статей и имеет небольшой стаж работы в вузе. На должность старшего преподавателя может претендовать человек, защитивший диссертацию, имеющий достаточный стаж работы в вузе и опубликовавший достаточное число статей. Стоит отметить, что при переходе к любому формальному представлению знаний такие нечеткие понятия, как «достаточное число публикаций», «достаточно большой стаж», «некоторое число статей», «небольшой стаж», «достаточный стаж», «определенное число статей» и т.д., должны быть четко выражены определенными числовыми показателями.
Такая концептуальная модель решения задачи распределения выпускника аспирантуры на работу, сложившаяся в сознании инженера знаний, с помощью правил продукции может быть следующим образом представлена для компьютера:
№ правила Правила
10 ЕСЛИ аспирант не защитил диссертацию ТО он не обладает высокой квалификацией
20 ЕСЛИ аспирант защитил диссертацию ТО он обладает высокой квалификацией
30 ЕСЛИ аспирант обладает высокой квалификацией И ЕСЛИ он опубликовал монографию И ЕСЛИ он опубликовал более 10 статей И ЕСЛИ он имеет стаж работы более 5 лет ТО он может быть назначен заведующим кафедрой
40 ЕСЛИ аспирант не обладает высокой квалификацией И ЕСЛИ он не опубликовал монографию И ЕСЛИ он опубликовал менее 10 статей И ЕСЛИ он имеет стаж работы менее 5 лет ТО он может быть назначен преподавателем
50 ЕСЛИ аспирант обладает высокой квалификацией И ЕСЛИ он не опубликовал монографию И ЕСЛИ он опубликовал более 10 статей И ЕСЛИ он имеет стаж работы более 5 лет ТО он может быть назначен старшим преподавателем
Как же работает эта база знаний (БЗ)? Допустим, в систему ИИ поступает вопрос: «Кем может работать выпускник аспирантуры, защитивший диссертацию?». Система начинает поочередно проверять правила 10, 20 и т.д. Правило 10 она пропускает, так как там в условии «ЕСЛИ» стоит «не защитил». Проверив правило 20, компьютер сделает вывод, что такой человек обладает высокой квалификацией. Далее она переходит к правилу 30. Первое «ЕСЛИ» в этом правиле выполняется. А информация, стоящая после других «ЕСЛИ», системе неизвестна. Поэтому она задает последовательно следующие вопросы: «Аспирант опубликовал монографию?», «Аспирант имеет стаж работы более 5 лет?», «Аспирант опубликовал более 10 статей?». Если ответы на все эти вопросы будут положительными, система сделает вывод, стоящий в правиле 30 за словом «ТО»: «Он может быть назначен заведующим кафедрой». Если хотя бы на один из 3-х перечисленных выше вопросов будет дан отрицательный ответ, то система переходит к правилу 40 и т.д.
При построении БЗ на семантических сетях используются понятия «узел» и «дуга». Семантические сети состоят из точек, называемых узлами, и связывающих их дуг, описывающих отношение между узлами. Узлы семантической сети соответствуют объектам, фактам или событиям. Определение дуг зависит от вида представляемых знаний. Обычно дуги выражают между узлами иерархические отношения трех типов: 1) IS, A («является»); 2) HAS («имеет»); 3) PART OF («часть чего-то»). Кроме трех основных типов отношений в семантических сетях используются и производные этих отношений. Например: уметь («летать») - имеет возможность («летать»), использовать -- имеет возможность применять, работать -- имеет возможность работать. Всего выделено около 200 таких отношений.
В семантических сетях, используемых для описания естественных языков, в виде узлов чаще всего применяются так называемые семантико-синтаксические функции (семантические падежи) типа АГЕНС, ПАЦИЕНС, ОБЪЕКТ, РЕЦИПИЕНТ и т.д. [16].
Простейший элемент семантической сети может быть представлен в виде:
и может быть конкретизирован так:
Если попугаю присвоить какое-либо имя, например, Кеша, сеть можно расширить так:
Отсюда можно сделать простейший вывод, что «Кеша - птица». Это свойство сети называется иерархией наследования: элемент сети более низкого уровня («Кеша») наследует свойства элемента более высокого уровня («попугай»).
С помощью семантических сетей можно представить знания, касающиеся атрибутов объекта. Например, факт «птица имеет крылья» можно представить так (дополнив предыдущую сеть):
И опять здесь можно сделать вывод: «Кеша имеет крылья». Полученную сеть можно пополнить, если ввести в нее факт «Кеша владеет золотой клеткой»:
Данную сеть можно расширить и по-другому, введя в нее информацию «Кеша владеет золотой клеткой с весны по осень», где сеть будет уже несколько изменена, так как внимание сконцентрировано на глаголе «владеть».
Наиболее типичный способ использования сети - сопоставление частей сетевой структуры. Это сопоставление происходит следующим образом. Например, в систему поступил запрос: «Чем владеет Кеша?», который представляется в виде подсети (рис. 5):
Рис. 5. Сеть запроса
Далее начинается сопоставление двух сетей. Сначала в общей сети система находит вершину «владеть», затем она определяет, куда ведет дуга «объект владения» (в вершине которой в сети-запросе стоит знак вопроса) при условии, что дуга «владелец» направлена к вершине «Кеша». Дуга «объект владения» направлена к вершине «золотая клетка». Значит, ответ таков: «Кеша владеет золотой клеткой».
Чтобы понять, каким образом семантические сети можно использовать в БЗ, рассмотрим более сложную семантическую сеть (рис. 6):
Рис. 6. Семантическая сеть, отражающая взаимоотношения между атрибутами птицы и самолета
На основании такой семантической сети создаются старшие структуры ПТИЦА и САМОЛЕТ:
ИМЯ СТРУКТУРЫ = ПТИЦА
ЧИСЛО АТРИБУТОВ (т.е. число дуг, идущих от узла «птица» («имеет», «умеет», «использует», «имеет», «имеет») = 5
АТРИБУТ = КРЫЛЬЯ
АТРИБУТ = ЛЕТАТЬ
АТРИБУТ = АЭРОДИНАМИЧЕСКИЕ ПРИНЦИПЫ
АТРИБУТ = КЛЮВ
АТРИБУТ = ОПЕРЕНИЕ
Аналогично создается старшая структура САМОЛЕТ. На основе старших структур строятся структуры конкретных объектов (например, ОРЕЛ и ВОРОБЕЙ). Так, для объекта ОРЕЛ соответствующая структура выглядит следующим образом:
ИМЯ СТРУКТУРЫ = ПТИЦА
ИМЯ ОБЪЕКТА = ОРЕЛ
КРЫЛЬЯ = ШИРОКИЕ
ЛЕТАТЬ = ВЫСОКО
АЭРОДИНАМИЧЕСКИЕ ПРИНЦИПЫ = ПЛАНИРОВАНИЕ
КЛЮВ = ДЛИННЫЙ
ОПЕРЕНИЕ = ЧЕРНО-СЕРОЕ
Сопоставляя старшую структуру и структуру конкретного объекта, можно отметить, что в структуре объекта атрибуты принимают конкретные, специфичные только для данного объекта значения.
Такое представление объектов позволяет создавать БЗ с использованием логических правил вывода. Например:
ЕСЛИ АТРИБУТ ОБЪЕКТА = КРЫЛЬЯ
ТО ЛЕТАЮЩИЙ ОБЪЕКТ = ПТИЦА
ИЛИ ЛЕТАЮЩИЙ ОБЪЕКТ = САМОЛЕТ.
ЕСЛИ АТРИБУТ ОБЪЕКТА = КРЫЛЬЯ
И АТРИБУТ ОБЪЕКТА = КЛЮВ
И АТРИБУТ = ОПЕРЕНИЕ
ТО ЛЕТАЮЩИЙ ОБЪЕКТ = ПТИЦА.
ЕСЛИ ЛЕТАЮЩИЙ ОБЪЕКТ = ПТИЦА
И КЛЮВ = ДЛИННЫЙ
И КРЫЛЬЯ = ШИРОКИЕ
И ЛЕТАЕТ ВЫСОКО
ТО ЛЕТАЮЩИЙ ОБЪЕКТ = ОРЕЛ.
Говоря о фреймовом способе представления знаний, необходимо обозначить следующие его характеристики:
1) В качестве единицы представления знаний используется фрейм, состоящий из определенного числа слотов (от англ. slot -- «щель, отсек»).
2) Иерархичность структуры единиц представления знаний.
3) Различие степени абстракции единиц знаний.
4) Возможность комбинации декларативных и процедурных знаний.
Стоит упомянуть, что теория фреймов была впервые предложена М. Минским в 1974 г. [12]. Под фреймом понимается однажды определенная единица представления знаний, которую можно изменять лишь в деталях согласно текущей ситуации. В основе данной модели представления знаний лежит свойство концептуальных объектов иметь аналогии, которые позволяют строить иерархические структуры отношений типа “абстрактное - конкретное”.
Каждый фрейм следует рассматривать как сеть из нескольких вершин и отношений. На самом верхнем уровне фрейма представляется фиксированная информация о состоянии моделируемого объекта, которая является истинной вне зависимости от контекста рассмотрения объекта и соответствует имени фрейма.
Следующий уровень - уровень терминальных слотов (терминалов), который отражает относящуюся к моделируемому объекту конкретную информацию. В каждом слоте задается условие, которое должно выполняться при установлении соответствия между значениями (слот либо сам устанавливает соответствие, либо обычно это делает более мелкая составляющая фрейма). В одной системе различные фреймы могут иметь общие терминалы. Несколько терминалов одного фрейма обычно заранее определяются значениями по умолчанию, что позволяет представлять информацию общего характера при решении сходных задач. Среди слотов отдельного фрейма выделяют слоты, определяемые системой и определяемые пользователем. Примерами системных слотов могут служить: IS_A (указание на фрейм-родитель), слот указателей дочерних фреймов, слоты дат создания и изменения информации фрейма.
Фреймы, соответствующие описанию отдельных объектов, называются шаблонами, а фреймы верхнего уровня, используемые для представления этих шаблонов, называются фреймами классов.
Фреймы характеризуются следующими основными свойствами:
1) Базовый тип (базовый фрейм), с помощью которого запоминаются наиболее важные компоненты исследуемого объекта. На основании базовых фреймов строятся фреймы для новых состояний исследуемого объекта. При этом каждый фрейм содержит слот, оснащенный указателем подструктуры, который позволяет различным фреймам совместно использовать одинаковые части.
2) Процесс сопоставления, в ходе которого проверяется правильность выбора фрейма. Вначале в соответствии с текущей целью делается попытка подтверждения релевантности некоторого базового фрейма (в т.ч. с помощью подфреймов), при подтверждении процесс сопоставления завершается. В противном случае для слота, в котором возникла ошибка, делается попытка присваивания надлежащего значения с учетом наложенных слотом ограничений. В случае неуспеха управление передается другому надлежащему фрейму из рассматриваемой системы, затем - соответствующему фрейму из другой фреймовой системы и т.д., пока не произойдет успешного сопоставления. В противном случае для данной фреймовой системы рассматриваемая поисковая задача решения не имеет и требуется либо переформулировать текущую цель, либо пересмотреть содержательную часть фреймовой модели, включая накладываемые слотами ограничения.
3) Иерархическая структура. Ее особенность заключается в том, что информация об атрибутах, которую содержит фрейм верхнего уровня, совместно используется всеми фреймами нижних уровней, связанных с ним.
4) Межфреймовые сети. Образуются путем соединения фреймов, описывающих объекты с небольшими различиями, с использованием указателей различия.
5) Значение по умолчанию. Под ним понимается значение слота, полученное путем распределения человеком-экспертом конкретных значений между терминальными слотами фрейма. Выводы, получаемые на основании значений по умолчанию, называются выводами по умолчанию. С их помощью можно восполнить недостатки изначально заданной информации. Как правило, когда используется подобный способ вывода, предполагается наличие эффективно действующих межфреймовых сетей и демонов (см. ниже).
6) Отношения “абстрактное - конкретное” и “целое - часть”. Отношения “абстрактное - конкретное” (IS_A) характерны тем, что на верхних уровнях иерархии расположены более абстрактные объекты, а на нижних уровнях - более конкретные объекты, причем объекты нижних уровней наследуют атрибуты объектов верхних уровней. Отношение “целое - часть” (PART_OF) касается структурированных объектов и показывает, что объект нижнего уровня является частью объекта верхнего уровня. Однако в отношениях этого типа нельзя использовать наследование атрибутов.
§3. Специфика представления знаний в виде фреймов
Как уже отмечалось выше, представление знаний в виде фреймов - это расположение данных в виде иерархической структуры. Структура данных фрейма выглядит следующим образом [5, с. 37-38]:
1) Имя фрейма - присваиваемый фрейму идентификатор, для заданной фреймовой системы имя фрейма должно быть уникально.
2) Имя слота - присваиваемый слоту идентификатор. Слот должен иметь уникальное имя во фрейме, к которому он принадлежит. Как правило, эти имена даются произвольно, но иногда они могут иметь специфический смысл («должность», «возраст», «адрес», «автор», «тема», «дата» и т.п.).
3) Указатели наследования. С их помощью определяется, какую информацию об атрибутах слотов фрейма верхнего уровня наследуют слоты с такими же именами во фрейме нижнего уровня.
Типичными указателями наследования являются: U (Unique, «уникальный») - слот наследуется, но данные в каждом фрейме могут принимать любые значения; S (Same, «такой же») - наследование тех же значений данных; R (Range) - значения слотов фрейма нижнего уровня должны находиться в пределах, указанных значениями слотов фрейма верхнего уровня; O - выполняет одновременно функции указателей U и S, при отсутствии указаний работает как S.
4) Указание типа данных, которые будут располагаться в слоте, или же имя другого фрейма: FRAME (указатель на другой фрейм), INTEGER (целый), REAL (действительный), BOOL (булевский), LISP (присоединенная процедура), TEXT (текст), LIST (список), TABLE (таблица), EXPRESSION (выражение).
5) Конкретное значение слота должно совпадать с указанным типом данных этого слота. Кроме того, должно выполняться условие наследования.
6) Присоединенная процедура является программой процедурного типа, которая является значением слота и запускается по сообщению, переданному из другого фрейма.
7) Демон - особая разновидность присоединенной процедуры, которая запускается при выполнении некоторого условия, определяемого значением соответствующего слота. Например, демон IF-NEEDED (ЕСЛИ НУЖНО) запускается, если в момент обращения к слоту его значение не было установлено, IF-ADDED (ЕСЛИ ДОБАВЛЕНО) запускается, когда в слот помещается новая информация, IF-REMOVED (ЕСЛИ УДАЛЕНО) - при необходимости удалить из слота какую-либо информацию.
Демоны и присоединенные процедуры являются процедурными знаниями из представляемых фреймовой моделью.
В системе ИИ фреймы организуются в некоторую иерархическую структуру: сначала строится фрейм высшего уровня (фрейм класса или протофрейм [13, с. 13; 2, с. 262-265; 3, с. 23-26]), демонстрирующий наиболее общий вид какой-либо информации (например, документа), затем приводятся так называемые «дочерние» фреймы, представляющие наиболее крупные разновидности документа. В конце структуры содержатся «дочерние» к «дочерним» фреймы. Они представляют детальное описание конкретных документов.
Например, фреймы, описывающие любой научный отчет, могут быть представлены в виде следующей иерархической структуры, образующей базу знаний (БЗ) на фреймах:
Фрейм Имя: ОТЧЕТ
высшего автор: TEXT
уровня (фрейм тема: TEXT
класса) дата представления: INTEGER, TEXT
объем: INTEGER, TEXT
«Дочерние» Имя: ТЕХНИЧЕСКИЙ ОТЧЕТ
фреймы к автор: Участники проекта
фрейму класса тема: TEXT
дата представления: INTEGER TEXT
объем: 30 страниц
Имя: ОТЧЕТ О ХОДЕ ВЫПОЛНЕНИЯ РАБОТ
автор: Руководитель проекта
тема: TEXT
дата представления: INTEGER, TEXT
объем: 2 страницы
«Дочерний» Имя: ОТЧЕТ О ХОДЕ ВЫПОЛНЕНИЯ РАБОТ №15
фрейм к автор: Руководитель проекта IF-ADDED
«дочернему» Владимир Петров
фрейму «Отчет тема: TEXT IF-ADDED
о ходе «Проект по биологической классификации»
выполнения дата представления: INTEGER, TEXT
работ» IF-NEEDED
30 сентября
объем: INTEGER, TEXT
2 страницы
Сопоставляя эти фреймы с общей структурой фрейма, можно отметить, что именами слотов здесь являются слова: «автор», «тема», «дата представления», «объем». Далее во всех фреймах идут слова, описывающие тип данных. В нашем примере используются лишь два указателя типа данных: TEXT и INTEGER. Первый указатель говорит о том, что «автор» и «тема» должны быть описаны некоторым текстом на естественном языке. Следующие друг за другом указатели INTEGER и TEXT свидетельствуют о том, что «дата представления» и «объем» должны быть представлены в виде целого числа и некоторого текста. Во фрейме низшего уровня с именем «ОТЧЕТ О ХОДЕ ВЫПОЛНЕНИЯ РАБОТ №15» указаны имена демонов IF-ADDED и IF-NEEDED.
Рассмотрим, как работает эта БЗ. Пусть на вход системы ИИ подается запрос: «Мне нужен отчет о ходе выполнения «Проекта по биологической классификации». Анализируя этот запрос, компьютер выделит название «Проект по биологической классификации» и внесет его в слот «тема» «дочернего» фрейма «ОТЧЕТ О ХОДЕ ВЫПОЛНЕНИЯ РАБОТ №15». Далее выполняется демон IF-ADDED (ЕСЛИ ДОБАВЛЕНО), связанный со слотом «тема», так как в слот была введена новая информация (название проекта). Эта процедура осуществляет поиск в базе данных системы фамилии и имени руководителя «Проекта по биологической классификации». Пусть имя его - Владимир Петров. Процедура IF-ADDED вносит это имя в слот «автор» «ОТЧЕТА О ХОДЕ ВЫПОЛНЕНИЯ РАБОТ №15». Далее начинает выполняться связанная со слотом «автор» процедура IF-ADDED, так как в слот помещено новое данное (имя руководителя проекта). Эта процедура составляет сообщение, чтобы отправить его автору Владимиру Петрову, но системе ИИ неясно, когда же распоряжение о представлении отчета должно быть выполнено -- свободен слот «дата представления». Поэтому в работу включается связанный с ним демон IF-NEEDED (ЕСЛИ НУЖНО). Используя календарь базы данных системы, эта процедура найдет текущую дату (день запроса), например 10 сентября, и решит, что отчет надо представить к 30 сентября (минимальный срок написания отчета - 20 календарных дней - также находится в базе данных). Демон IF-NEEDED вносит эту дату в пустой слот «дата представления» «ОТЧЕТА О ХОДЕ ВЫПОЛНЕНИЯ РАБОТ №15». Далее процедура IF-ADDED, связанная со слотом «автор» (она руководит всеми другими процедурами), обнаружит, что в «ОТЧЕТЕ О ХОДЕ ВЫПОЛНЕНИЯ РАБОТ №15» отсутствует еще одно значение - пуст слот «объем отчета». В этом слоте нет демонов и извлечь новую информацию из базы данных нет возможности. Однако выше, во фрейме более высокого уровня, содержащего общую концепцию «ОТЧЕТА О ХОДЕ ВЫПОЛНЕНИЯ РАБОТ», есть значение объема для отчетов такого типа. Система берет это значение («2 страницы») и подставляет его в слот «объем» «ОТЧЕТА О ХОДЕ ВЫПОЛНЕНИЯ РАБОТ №15». Таким образом, вся информация найдена, и система ИИ выдает ответ на поступивший запрос в виде указания, которое будет передано автору отчета: «Владимир Петров, пожалуйста, представьте отчет о ходе выполнения работ по «Проекту по биологической классификации» к 30 сентября. Предполагаемый объем отчета равен 2 страницам».
В БЗ фреймы представляются в следующем виде [17, с. 20-21; 13, с.131]:
ИМЯ ФРЕЙМА [ИМЯ СЛОТА 1 (значение слота 1); ИМЯ СЛОТА 2 (значение слота 2);... ИМЯ СЛОТА K (значение слота К)].
В свою очередь «значение слота» может быть представлено следующей последовательностью:
имя атрибута 1 = значение атрибута 1;
имя атрибута 2 = значение атрибута 2; ...
имя атрибута S = значение атрибута S.
Как уже отмечалось выше, в качестве значений атрибута могут выступать математические выражения, списки, таблицы, тексты естественного языка, правила вывода и процедуры, ссылки на другие слоты данного фрейма или другие фреймы. При конкретизации фрейма ему и слотам присваиваются конкретные имена, происходит заполнение слотов. Так формируются отмеченные выше «дочерние» фреймы или фреймы-экземпляры. Переход от исходного фрейма высшего уровня (протофрейма) к фрейму-экземпляру может быть многошаговым за счет постоянного уточнения значений слотов. В приведенных выше примерах с фреймами-отчетами такой переход выполнен за три шага:
1-й шаг ОТЧЕТ [ТЕХНИЧЕСКИЙ ОТЧЕТ ( FRAME); ОТЧЕТ
О ХОДЕ ВЫПОЛНЕНИЯ РАБОТ (FRAME)]
2-й шаг ОТЧЕТ О ХОДЕ ВЫПОЛНЕНИЯ РАБОТ [ОТЧЕТ О
ХОДЕ ВЫПОЛНЕНИЯ РАБОТ № 1 (FRAME); ОТЧЕТ
О ХОДЕ ВЫПОЛНЕНИЯ РАБОТ №2 (FRAME);...
ОТЧЕТ О ХОДЕ ВЫПОЛНЕНИЯ РАБОТ №15 (FRAME);...]
3-й шаг ОТЧЕТ О ХОДЕ ВЫПОЛНЕНИЯ РАБОТ №15
[АВТОР (руководитель проекта) IF-ADDED; ТЕМА
(TEXT IF-ADDED); ДАТА ПРЕДСТАВЛЕНИЯ
(INTEGER, TEXT IF-NEEDED); ОБЪЕМ (INTEGER, TEXT)]
Как видно из вышеизложенного, в качестве значений атрибутов фрейма-экземпляра 3-го уровня выступают и конкретный текст («Руководитель проекта»), и указатели типов данных (TEXT и INTEGER), и демоны (процедуры IF-ADDED, IF-NEEDED).
Иногда фреймы делят [17, с. 21] на фреймы-описания, например: ОВОЩИ [ПОМИДОРЫ (болгарские; 30 т); ПЕРЕЦ (югославский; 20 т); БАКЛАЖАНЫ (молдавские; 20 т)] и ролевые фреймы, например: ПОХИЩЕНИЕ [КТО (LIST); КОГО (LIST); С ПОМОЩЬЮ ЧЕГО (FRAME); ОТКУДА (LIST); КУДА (LIST); ЗАЧЕМ (FRAME)].
В языке представления знаний фреймами отсутствует специальный механизм управления выводом, поэтому разработчик должен реализовать данный механизм с помощью присоединенной процедуры.
В последние годы в связи со сложностью решаемых компьютером задач создаются способы организации знаний, основанные на целом ряде семантических универсалий («предикативность», «отрицание», «модальность», «время», «место» и т.д.) [8]. Сделаны попытки к автоматизированному формированию лингвистических БЗ [11].
Передача компьютеру формализованных одним из трех основных способов знаний осуществляется с помощью различных инструментальных средств: универсальных языков программирования типа Pascal, Quick BASIC, С, Java и т.п. или путем использования специальных языков инженерии знаний. Причем в зависимости от того, каким образом представлены знания, последние делятся на [15, с. 330-369]:
• языки, основанные на логических правилах вывода;
• языки, основанные на фреймах;
• языки, описывающие смешанное представление знаний.
Тем не менее, неоспоримым достоинством фреймового способа представления знаний является высокая универсальность языка, что позволяет писать любую программу управления выводом с помощью присоединенной процедуры (помимо иерархического и сетевого представления знаний). Однако не стоит забывать, что для этого требуется высокая квалификация разработчика.
Заключение
фрейм знание управление вывод
Главная особенность применения языка представления знаний фреймами - это простота написания программ для решения интеллектуальных проблем. Высокая универсальность языка позволяет с помощью присоединенных процедур эффективно реализовывать любую программу управления выводом, однако это требует определенной квалификации разработчика. Поэтому язык представления знаний фреймами можно квалифицировать как язык, ориентированный на специалистов в области искусственного интеллекта.
Поскольку большинство систем, ориентированных на решение сложных проблем, содержат в качестве составляющей продукционную систему, то в ряде случаев допускается использование продукционных правил в качестве типа данных фрейма. Тем не менее, весьма серьезной и сложной задачей остается обнаружение семантических противоречий во фреймовой системе.
Применение фреймов для представления знаний при реализации инструментальных средств позволяет описывать достаточно широкий класс технологических объектов. Унифицированная структура фреймов и небольшое число стандартных правил обработки позволяют описывать более сложные правила обработки и делают систему гибкой в построении различных объектно-ориентированных структур знаний.
Фреймовый способ представления знаний удовлетворяет требованиям, характерным для новых информационных технологий, а именно: проблемно-независимое представление информации, обеспечение создания и корректировки базы знаний, данных и фактов на информационном уровне, поддержка выбора на качественном и количественном уровне, возможность описания на информационном уровне различных правил выбора, достаточно простой перевод способа в машинное представление.
Список использованной литературы
1. Аверкин А.М., Блишун А.Ф., Гаврилова Т.А. и др. Приобретение и формализация знаний // Искусственный интеллект. Справочник. Кн. 2. Модели и методы. - М.: Радио и связь, 1990.
2. Балдин К.В., Уткин В.Б. Информатика. Учебник. - М.: Проект, 2003.
3. Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. - СПб.: Питер, 2001.
4. Джексон П. Введение в экспертные системы. - М.; СПб.: Вильямс, 2001. С. 35-62.
5. Зубов А.В., Зубова И.И. Основы искусственного интеллекта для лингвистов: Учеб. пособие. - М.: Университетская книга; Логос, 2007. - 320 с.: ил.
6. Искусственный интеллект. Справочник. Кн. 1. Системы общения и экспертные системы. - М.: Радио и связь, 1990.
7. Искусственный интеллект. Справочник. Кн. 2. Модели и методы. - М.: Радио и связь, 1990.
8. Кузин Е.С. Информационно-сложные задачи и технология их решения // Новости искусственного интеллекта. 2003. №1. С. 24-29.
9. Левин Р., Дранг Д., Эдельсон Б. Практическое введение в технологию искусственного интеллекта и экспертных систем с иллюстрациями на БЕЙСИКЕ. - М., Финансы и статистика, 1991.
10. Линдсей П., Норман Д. Переработка информации у человека. - М., 1974.
11. Мальковский М.Г., Субботин А.В., Грацианова Т.Ю. Интеграционный подход к автоматизированному формированию лингвистических баз знаний // Тр. междунар. конф. «Когнитивное моделирование». (Пущино. 17-19 сентября 1999 г.). Ч. II. - Казань: Отечество, 2001. С. 7-14.
12. Минский М. Фреймы для представления знаний. - М.: Энергия, 1979.
13. Поспелов Д.А. Данные и знания // Искусственный интеллект. Справочник. Кн. 2. Модели и методы. - М.: Радио и связь, 1990.
14. Сильдмяэ И. Знания (когитология). - Таллин: Ээсти раамат, 1987.
15. Уотермен Д. Руководство по экспертным системам. - М.: Мир, 1989.
16. Филлмор Ч. Дело о падеже // Новое в зарубежной лингвистике. Вып. Х. Лингвистическая семантика. - М.: Прогресс, 1981.
17. Экспертные системы для персональных компьютеров. - Минск: Вышэйшая школа, 1990.
Размещено на Allbest.ru
Подобные документы
Представление знаний в когнитологии, информатике и искусственном интеллекте. Связи и структуры, язык и нотация. Формальные и неформальные модели представления знаний: в виде правил, с использованием фреймов, семантических сетей и нечетких высказываний.
контрольная работа [29,9 K], добавлен 18.05.2009Фреймы как один из распространенных формализмов представления знаний в электронных системах, их классификация и типы, структура и элементы. Иерархические фреймовые структуры и принципы их построения. Код программы Интерфейс. Разработка программного кода.
лабораторная работа [524,2 K], добавлен 02.11.2013Сущность данных и информации. Особенности представления знаний внутри ИС. Изучение моделей представления знаний: продукционная, логическая, сетевая, формальные грамматики, фреймовые модели, комбинаторные, ленемы. Нейронные сети, генетические алгоритмы.
реферат [203,3 K], добавлен 19.06.2010Изучение в реальных условиях способов представления знаний во Всемирной сети. Представления данных в интернет и способы эффективной публикации данных. Конфигурация Web-сервера на виртуальном хостинге. Настройка и отладка работы сайтов на разных CMS.
отчет по практике [947,2 K], добавлен 09.02.2012Классы и группы моделей представления знаний. Состав продукционной системы. Классификация моделей представления знаний. Программные средства для реализации семантических сетей. Участок сети причинно-следственных связей. Достоинства продукционной модели.
презентация [380,4 K], добавлен 14.08.2013Проблема представления знаний в компьютерных системах – одна из основных проблем в области искусственного интеллекта. Исследование различных моделей представления знаний. Определения их понятия. Разработка операции над знаниями в логической модели.
курсовая работа [51,9 K], добавлен 18.02.2011База знаний - структурированная информация из области знаний для использования кибернетическим устройством (человеком). Классификация, структура, формат представления знаний, интеллектуальные системы поиска информации. Базы знаний на примере языка Пролог.
презентация [51,3 K], добавлен 17.10.2013Потребность отражения человеческих знаний в памяти компьютера. Модели представления знаний. Продукционные и формально-логические модели. Исчисление предикатов первого порядка. Основные свойства теории фреймов. Аналитическая платформа Deductor.
курсовая работа [538,2 K], добавлен 09.04.2015Фреймовые модели представления знаний. Разработка структуры фреймов для реализации экспертной системы. Разработка экспертной системы с фреймовой моделью представления знаний. Редактирование базы фактов кандидатов и описание режима консультации.
курсовая работа [1,3 M], добавлен 13.10.2012Анализ процессов диагностики повреждений трубопровода. Разработка модели продукционной базы знаний: обзор методов представления знаний, описание создания базы знаний и разработки механизма логического вывода. Экономическое обоснование концепции проекта.
дипломная работа [3,0 M], добавлен 16.04.2017