Семантическая сеть как программа
Важнейшей концепцией формализма семантических сетей является иерархия понятий и связанное с ней наследование атрибутов между уровнями иерархии (IS - A).
Если семантическую сеть рассматривать как описание отношений, которые поддерживаются между понятиями, то ее непосредственно, можно реализовать на языке Пролог. На рис. 7 представлена структура сети, аналогичная примеру предыдущего раздела.
Рисунок 7. Пример семантической сети.
Эта сеть может быть реализована как программа, обобщенная структура которой будет иметь вид:
is_a (ласточка, птица). is_a ("Ласта", ласточка). /* учет иерархии наследования */ является (X,Y) :- is_a(X,Y). является (X,Y) :- is_a(Z,Y), является(X,Z). имеет (крылья, птица). /* учет наследования атрибутов между уровнями иерархии*/ имеет (X,Y): - является (Y,Z), имеет (X, Z).Если модель представления знаний должна учитывать такое свойство всех ласточек, что все они имеют черный цвет, то рассматриваемая семантическая сеть должна быть дополнена еще одной вершиной и дугой, связывающей эту вершину с понятием ласточка отношением PART_OF (рис. 8).
Рисунок 8. Cемантическая сеть, учитывающая черный цвет ласточек.
Для реализации этой семантической сети в исходную Пролог-программу достаточно добавить всего лишь один факт, а именно:
имеет (черный_цвет, ласточка).В том случае, если проектируемая модель представления знаний должна учитывать такое общее для всего класса птиц свойство, что они летают, то исходную семантическую сеть следует немного преобразовать и она будет иметь вид (рис. 9):
Рисунок 9. Учет общего свойства птиц, что они летают.
Особенность перехода от этой семантической сети к Пролог-программе состоит в том, что он потребует добавления в программу не только факта
летает (птица).но и правила, которое должно реализовать иерархию наследования. В данном конкретном случае оно будет иметь вид:
летает (Х):- является (Х, Y), летает (Y).Следует отметить, что в рассматриваемой модели представления знаний понятие птица не имеет никаких биологических атрибутов. Оно определено как некоторый объект, который имеет крылья и может летать. Под такое определение понятия птица подпадает и такой объект, как самолет, что может быть учтено в семантической сети (рис. 10).
Рисунок 10. Пример семантической сети.
В том случае, когда понятие "птица" будет иметь такие свойства, которые принципиально отличают его от понятия "самолет", следует в семантическую сеть ввести новый объект. Для него надо будет переопределить свойство "летает", а в качестве его наследников определить объекты "птица" и "самолет".
Элементы семантической сети
Семантическая сеть представляет собой ориентированный граф с помеченными (поименованными) дугами и вершинами. Основными элементами сети являются вершины и дуги. При этом вершинам семантической сети соответствуют понятия, события и свойства (рис. 11).
Рисунок 11. Вершины семантической сети.
· Понятия – представляют собой сведения об абстрактных или физических объектах предметной области или реального мира.
· События – представляют собой действия происходящие в реальном мире и определяются:
o указанием типа действия;
o указанием ролей, которые играют объекты в этом действии.
· Свойства – используются для уточнения понятий и событий. Применительно к понятиям они описывают их особенности и характеристики (цвет, размер, качество), а применительно к событиям – продолжительность, время, место.
Дуги графа семантической сети — отображают многообразие семантических отношений, которые условно можно разделить на четыре класса (рис. 12).
Рисунок 12. Классификация семантических отношений.
Лингвистические отношения – отображают смысловую взаимосвязь между событиями, между событиями и понятиями или свойствами. Лингвистические отношения бывают:
· глагольные (время, вид, род, залог, наклонение);
· атрибутивные (цвет, размер, форма);
· падежными.
Логические отношения – это операции, используемые в исчислении высказываний (алгебре логики): дизъюнкция, конъюнкция, инверсия, импликация.
Теоретико-множественные – это отношение подмножеств, отношение части и целого, отношение множества и элемента. Примерами таких отношений являются "IS-A" и "PART-OF".
Квантифицированные отношения – это отношения, которые используют логические кванторы общности и существования. Они используются для представления таких знаний как «Любой станок надо ремонтировать», «Существует работник А, обслуживающий склад Б».