Семантическая сеть как Пролог - программа



Важнейшей концепцией формализма семантических сетей является иерархия понятий и связанное с ней наследование атрибутов между уровнями иерархии (IS - A).

Если семантическую сеть рассматривать как описание отношений, которые поддерживаются между понятиями, то ее непосредственно, можно реализовать на языке Пролог. На рис. 5.5 представлена структура сети, аналогичная примеру предыдущего раздела.


Рис. 5.5. Пример семантической сети.

Эта сеть может быть реализована как Пролог - программа, обобщенная структура которой будет иметь вид:

 is_a (ласточка, птица).

 is_a ("Ласта", ласточка).

 

 /* учет иерархии наследования */

 является (X,Y) :- is_a(X,Y).

 является (X,Y) :- is_a(Z,Y), является(X,Z).

 

 имеет (крылья, птица).

 /* учет наследования атрибутов между уровнями иерархии*/

 имеет (X,Y): - является (Y,Z), имеет (X, Z).

Один из вариантов реализации этой программы в среде Турбо-Пролога может иметь вид, представленный на рис. 5.6.


Рис. 5.6. Реализация семантической сети, представленной на рис. 5.5.

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


Рис. 5.7. Cемантическая сеть, учитывающая черный цвет ласточек.

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

 имеет (черный_цвет, ласточка).

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


Рис. 5.8. Программная реализация семантической сети, представленной на рис. 5.7.

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


Рис. 5.9. Учет общего свойства птиц, что они летают.

Особенность перехода от этой семантической сети к Пролог-программе состоит в том, что он потребует добавления в программу не только факта

 летает (птица).

но и правила, которое должно реализовать иерархию наследования. В данном конкретном случае оно будет иметь вид:

 летает (Х):- является (Х, Y), летает (Y).

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


Рис. 5.10. Программная реализация семантической сети, представленной на рис. 5.9.

Следует отметить, что в рассматриваемой модели представления знаний понятие птица не имеет никаких биологических атрибутов. Оно определено как некоторый объект, который имеет крылья и может летать. Под такое определение понятия птица подподает и такой объект, как самолет, что может быть учтено в семантической сети (рис. 5.11).


Рис. 5.11. Пример семантической сети.

Программная реализация этой семантической сети в среде Турбо-Пролога приведена на рис. 5.12. Запросы к ней подтверждают, что объект самолет обладает такими свойствами, как наличие крыльев и способность летать.


Рис. 5.12. Программная реализация семантической сети, представленной на рис. 5.11.

В том случае, когда понятие "птица" будет иметь такие свойства, которые принципиально отличают его от понятия "самолет", следует в семантическую сеть ввести новый объект. Для него надо будет переопределить свойство "летает", а в качестве его наследников определить обекты "птица" и "самолет".

 

Элементы семантической сети

Семантическая сеть представляет собой ориентированный граф с помеченными (поименованными) дугами и вершинами. Основными элементами сети являются вершины и дуги. При этом вершинам семантической сети соответствуют понятия, события и свойства (рис. 5.13).


Рис. 5.13. Вершины семантической сети.

· Понятия — представляют собой сведения об абстрактных или физических объектах предметной области или реального мира.

· События — представляют собой действия происходящие в реальном мире и определяются:

o указанием типа действия;

o указанием ролей, которые играют объекты в этом действии.

· Свойства — используются для уточнения понятий и событий. Применительно к понятиям они описывают их особенности и характеристики (цвет, размер, качество), а применительно к событиям — продолжительность, время, место.

Дуги графа семантической сети — отображают многообразие семантических отношений, которые условно можно разделить на четыре класса (рис. 5.14).

 


Рис. 5.14. Классификация семантических отношений.

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

· глагольные (время, вид, род, залог, наклонение);

· атрибутивные (цвет, размер, форма);

· падежными (см. ниже).

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

Теоретико-множественные — это отношение подмножеств, отношение части и целого, отношение множества и элемента. Примерами таких отношений являются "IS-A" и "PART-OF".

Квантифицированные отношения — это отношения, которые используют логические кванторы общности и существования. Они используются для представления таких знаний как «Любой станок надо ремонтировать», «Существует работник А, обслуживающий склад Б».

 


Дата добавления: 2018-04-15; просмотров: 1582; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!