Технология баз информации. Информационное обеспечение процессов управления в экономике
7.5.3. Семантические сети представления знаний
Это ориентированный граф, в узлах которого находятся имена объектов, а стрелки указывают на отношения между ними (рис.7.19). Из неизмеримого множества отношений часто используются часть-целое, свойства и функциональные связи (производит, находится и т.д.).
При этом если представить семантическую сеть как граф, выражающий семантические отношения (дуги) между понятиями (вершины), то можно утверждать, что различные сочетания входящих и исходящих дуг, присутствующих в цепях различной длины в значительной степени влияют на сложность рассматриваемой структуры.
Семантические сети содержат описание связей в явной форме, указанных с помощью синтаксических, семантических и прагматических отношений.
Наиболее часто в них используется следующие отношения:
- целое-часть (класс – подкласс, элемент – множество и т.д.);
- функциональная связь, определяемая глаголом (производит, находится, поставляет … и т.д.);
- атрибутивные (иметь значение, иметь свойство);
- логические (И, ИЛИ, НЕТ);
- временные (в течение, раньше, позже…).
Семантическая сеть обрабатывается на основе принципа сопоставления объекта и отношения, которые указаны в запросе, с объектами и отношениями, имеющимися в семантической сети. Например, если запрос имеет вид: "Что производит ОАО "Горизонт?"", будет выделен тот фрагмент сети, где фигурируют указанный объект ("Горизонт") и отношение "производит". Ответом будет: "ОАО "Горизонт" производит кинескопы".
С помощью приведенной на рис.7.19 семантической сети можно получить ответы на следующие вопросы:
- Какие предприятия производят кинескопы?
- В каком регионе находится город Тула?
- Кто является поставщиком кинескопов?
- Какие кинескопы производит ОАО "Горизонт"?
Пояснить базу знаний легче в сравнении с базой данных, так как различия между ними нечёткие (размытые).
На рис.7.20 представлена информация о поставках, поставщиках и прочее с помощью реляционной базы данных и базы знаний в виде семантической сети.
Сравнивая базу данных и базу знаний, видим, что в базе данных информация более скудная и поэтому с уверенностью трудно ответить на вопрос: Делал ли ООО "Восход" заказ ООО "Рассвет" на арматуру, которую тот производит или ООО "Восход" поставил арматуру, которую произвел ООО "Рассвет"?
Отличие баз знаний от баз данных состоит в том, что первые содержат связи между объектами в явной форме.
Обрабатывается семантическая сеть на основе принципа сопоставления объекта и отношений, указанных в запросе, с объектами и отношениями, имеющимися в семантической сети.
7.5.4. Фреймы в представлении знаний
Теория фреймов - это парадигма для представления знаний с целью использования этих знаний компьютером. Впервые была представлена Минским, как попытка построить фреймовую сеть, или парадигму с целью достижения большего эффекта понимания. С одной стороны Минский пытался сконструировать базу данных, содержащую энциклопедические знания, но с другой стороны, он хотел создать наиболее описывающую базу, содержащую информацию в структурированной и упорядоченной форме. Эта структура позволила бы компьютеру вводить информацию в более гибкой форме, имея доступ к тому разделу, который требуется в данный момент. Минский разработал такую схему, в которой информация содержится в специальных ячейках, называемых фреймами, объединенными в сеть, называемую системой фреймов. Новый фрейм активизируется с наступлением новой ситуации. Отличительной его чертой является то, что он одновременно содержит большой объем знаний и в то же время является достаточно гибким для того, чтобы быть использованным как отдельный элемент БД. Термин "фрейм" был наиболее популярен в середине семидесятых годов, когда существовало много его толкований, отличных от интерпретации Минского.
Итак, как было сказано выше, фреймы – это фрагменты знания, предназначенные для представления стандартных ситуаций. Термин "фрейм" (Frame – рамка) был предложен Минским. Фреймы имеют вид структурированных компонентов ситуаций, называемых слотами. Слот может указывать на другой фрейм, устанавливая, таким образом, связь между двумя фреймами. Могут устанавливаться общие связи типа связи по общению. С каждым фреймом ассоциируется разнообразная информация ( в том числе и процедуры), например ожидаемые процедуры ситуации, способы получения информации о слотах, значение принимаемые по умолчанию, правила вывода.
Формальная структура фрейма имеет вид:
![f[<N1, V1>, <N2, V2>, …, <Nk,Vk>],](/sites/default/files/tex_cache/78d6fa447c3496446c547eba26e72af6.png)
где f – имя фрейма; пара <Ni, Vi> - i-ый слот, Ni – имя слота и Vi – его значение.
Значение слота может быть представлено последовательностью
![<K1><Li>;...; <Kn><Ln>; <R1>; …; <Rm>,](/sites/default/files/tex_cache/4739bb676d1733eb05e4253943e211ab.png)
где Ki – имена атрибутов, характерных для данного слота; Li – значение этих атрибутов, характерных для данного слота; Rj – различные ссылки на другие слоты.
Каждый фрейм, как структура хранит знания о предметной области (фрейм–прототип), а при заполнении слотов знаниями превращается в конкретный фрейм события или явления.
Фреймы можно разделить на две группы: фреймы-описания; ролевые фреймы.
Рассмотрим пример.
фрейм описание: [<программное обеспечение>, <программа 1С бухгалтерия, версия 7.5>, <программа 1С торговля, версия 7.5>, <правовая программа "Консультант +" проф.>].
Ролевой фрейм: [<заявка на продажу>, <что, установка и покупка программы 1С торговля, версия 7.5>, <откуда, фирма ВМИ>, <куда, фирма "Лукойл">, <кто, курьер Иванова>, <когда, 27 октября 1998г.>].
Во фрейме-описании в качестве имен слотов задан вид программного обеспечения, а значение слота характеризует массу и производителя конкретного вида продукции. В ролевом фрейме в качестве имен слотов выступают вопросительные слова, ответы на которые являются значениями слотов. Для данного примера представлены уже описания конкретных фреймов, которые могут называться либо фреймами – примерами, либо фреймами – экземплярами. Если в приведенном примере убрать значения слотов, оставив только имена, то получим так называемый фрейм – прототип.
Достоинство фрейма – представления во многом основываются на включении в него предположений и ожиданий. Это достигается за счет присвоения по умолчанию слотам фрейма стандартных ситуаций. В процессе поиска решений эти значения могут быть заменены более достоверными. Некоторые переменные выделены таким образом, что об их значениях система должна спросить пользователя. Часть переменных определяется посредством встроенных процедур, называемых внутренними. По мере присвоения переменным определенных значений осуществляется вызов других процедур. Этот тип представления комбинирует декларативные и процедурные знания.
Фреймовые модели обеспечивают требования структурированности и связанности. Это достигается за счет свойств наследования и вложенности, которыми обладают фреймы, т.е. в качестве слотов может выступать система имен слотов более низкого уровня, а также слоты могут быть использованы как вызовы каких-либо процедур для выполнения.
Для многих предметных областей фреймовые модели являются основным способом формализации знаний.
Чтобы лучше понять эту теорию, рассмотрим один из примеров Минского, основанный на связи между ожиданием, ощущением и чувством человека, когда он открывает дверь и входит в комнату. Предположим, что вы собираетесь открыть дверь и зайти в комнату незнакомого вам дома. Находясь в доме, перед тем как открыть дверь, у вас имеются определенные представления о том, что вы увидите, войдя в комнату. Например, если вы увидите какой-либо пейзаж или морской берег, поначалу вы с трудом узнаете их. Затем вы будете удивлены, и в конце концов дезориентированы, так как вы не сможете объяснить поступившую информацию и связать ее с теми представлениями, которые у вас имелись до того. Также у вас возникнут затруднения с тем, чтобы предсказать дальнейший ход событий. С аналитической точки зрения это можно объяснить как активизацию фрейма комнаты в момент открывания двери и его ведущую роль в интерпретации, поступающей информации. Если бы вы увидели за дверью кровать, то фрейм комнаты приобрел бы более узкую форму, и превратился бы во фрейм кровати. Другими словами, вы бы имели доступ к наиболее специфичному фрейма из всех доступных. Возможно, что вы используете информацию, содержащуюся в вашем фрейме комнаты для того чтобы распознать мебель, что называется процессом сверху вниз, или в контексте теории фреймов фреймодвижущим распознаванием. Если бы вы увидели пожарный гидрант, то ваши ощущения были бы аналогичны первому случаю. Психологи утверждают, что распознавание объектов легче проходит в обычном контексте, чем в нестандартной обстановке. Из этого примера мы видим, что фрейм - это модель знаний, которая активизируется в определенной ситуации и служит для ее объяснения и предсказания. У Минского имелись достаточно расплывчатые идеи о самой структуре такой БД, которая могла бы выполнять подобные вещи. Он предложил систему, состоящую из связанных между собой фреймов, многие из которых состоят из одинаковых подкомпонентов, объединенных в сеть. Таким образом, в случае, когда кто-либо входит в дом, его ожидания контролируются операциями, входящими в сеть системы фреймов. В рассмотренном выше случае мы имеем дело с фреймовой системой для дома, и с подсистемами для двери и комнаты. Активизированные фреймы с дополнительной информацией в БД о том, что вы открываете дверь, будут служить переходом от активизированного фрейма двери к фрейма комнаты. При этом фреймы двери и комнаты будут иметь одинаковую подструктуру. Минский назвал это явление разделом терминалов и считал его важной частью теории фреймов.
Минский также ввёл терминологию, которая могла бы использоваться при изучении этой теории (фреймы, слоты, терминалы и т.д.). Хотя примеры этой теории были разделены на языковые и перцептуальные, и Минский рассматривал их как имеющих общую природу, в языке имеется более широкая сфера её применения. В основном большинство исследований было сделано в контексте общеупотребительной лексики и литературного языка.
Одной из трудностей представления знаний и языка фреймов является отсутствие формальной семантики. Это затрудняет сравнение свойств представления знаний различных языков фреймов, а также полное логическое объяснение языка фреймов.
Фреймы используются в системах искусственного интеллекта (например, в экспертных системах) как одна из распространенных форм представления знаний.
Фреймы предназначены для представления стереотипных ситуаций. Они объединяют декларативные и процедурные знания. Фреймы объединяются в сеть. В них указывается: каким образом фрейм реагирует на изменение ситуации, что следует делать далее.
Фрейм состоит из слотов – перечня характеристик объекта.
Основная идея фрейма – сосредоточение всей информации об объекте в одной структуре данных.
Рассмотрим пример фрейма "Руководитель" (рис.7.21).
Реквизиты, указывающие характеристики объекта, называются слотами.
С некоторыми слотами фрейма связаны процедуры, автоматически выполняемые при определенных условиях.
Условия (реакции на события) могут быть следующими:
- реакция на событие "если добавлено";
- реакция на событие "если удалено";
- реакция на событие "если изменено".
Во фрейме "Руководитель" указанные процедуры 1, 2, 3, 4 активизируются при изменении значений слотов.
Слот "Заработная плата" связан с фреймом "Зарплата", который активизируется с помощью процедуры 4. Она включается при изменения слота "Заработная плата". Процедура 4 включается при изменении значения слота "Заработная плата", после включается процедура 5, так изменился слот "Почасовая заработная плата".