Семантическая сеть представляет собой направленный граф, вершины которого соответствуют объектам (понятиям, сущностям) предметной области, а дуги – отношениям (связям) между ними. И узлы, и дуги имеют метки (имена). Имена вершин и дуг обычно совпадают с именами соответствующих объектов и отношений предметной области.
Известно, что любую конкретную ситуацию в реальном мире, всегда можно представить в виде совокупности взаимосвязанных понятий. Причем число базовых отношений не может быть бесконечным (оно заведомо меньше 300); все остальные отношения выражаются через базовые в виде их комбинаций. Эта гипотеза служит основой утверждения о том, что семантические сети являются универсальным средством для представления знаний в интеллектуальных системах.
Объекты предметной области, отображаемые семантической сетью, можно условно разделить на три группы:
- Обобщенный объект соответствует собирательному понятию некоторой абстракции реально существующего объекта, процесса или явления предметной области.
- Индивидный объект – это каким-то образом выделенный единичный представитель класса.
- Агрегатный объект - составной объект, образованный из других объектов, которые рассматриваются как его составные части.
Семантические сети систематизируют функции отношений между понятиями с помощью следующих признаков:
• множество — подмножество (типы отношений «абстрактное — конкретное», «целое — часть», «род — вид»);
• индексы (свойства, имена прилагательные в языке и т.п.);
• отношения «близости»;
• отношения «сходства — различия»;
• отношения «причина — следствие»;
• связи, определяющие тип объектов ("это есть" или "класс-подкласс", "иметь частью" или "часть-целое", "принадлежать" или "элемент-множество" и т.п.);
• функциональные связи (определяемые обычно глаголами "производит", "влияет" …);
• количественные ("больше", "меньше", "равно" …);
• пространственные ("далеко от", "близко от", "за", "под", "над"...);
• временные ("раньше", "позже", "в течение" …);
• атрибутивные связи (иметь свойство, иметь значение...);
• логические связи ("и", "или", "не") и др.
Типы связей между объектами семантических сетей могут быть любыми. Но чаще всего применяются следующие основные связи:
- «род-вид». Наличие связи типа «род-вид» между обобщенными объектами А и В означает, что понятие А более общее, чем понятие В. Например, понятие «животное» - это родовое понятие для объекта «птица». Связь «род-вид» обычно обозначают отношением ako (от англ. a-kind-of – «разновидность»).
- «является представителем». Связь «является представителем» существует обычно между обобщенным и индивидным объектом, когда индивидный объект выступает в роли представителя класса. Например, индивидный объект «овчарка Альма» является представителем обобщенного объекта «овчарка». Связь «является представителем» - отношением is_a (от англ. is a – «является», «есть»).
- «является частью».
Характерной особенностью семантических сетей является обязательное наличие в одной сети трех типов отношений:
- класс - элемент класса;
- свойство - значение;
- экземпляр элемента класса.
При построении семантической сети отсутствуют ограничения на число элементов и связей. Поэтому систематизация отношений между объектами в сети необходима для дальнейшей формализации. Пример семантической сети представлен на рисунке 1.
Рисунок 1 – Семантическая сеть «Умение летать»
Для реализации семантических сетей существуют специальные сетевые языки: Lisp, PROLOG и др. Широко известны экспертные системы, использующие семантические сети в качестве языка представления знаний: PROSPECTOR, CASNET, TORUS.
Систематизация отношений конкретной семантической сети зависит от специфики знаний предметной области и является сложной задачей. Особого внимания заслуживают общезначимые отношения, присутствующие во многих предметных областях. Именно на таких отношениях основана концепция семантической сети. В семантических сетях декларативные и процедурные знания не разделены, следовательно, база знаний не отделена от механизма.
Проблема поиска решения в базе знаний типа семантической сети сводится к задаче поиска фрагмента сети, соответствующего некоторой подсети, отвечающей поставленному вопросу. Подобного рода задачи решаются с помощью аппарата теории графов. Следует особо отметить роль фундаментальных признаков связей (рефлексивность, симметричность и транзитивность) в процессе вывода на сети. Так, например, связи вида "это есть" или "иметь частью" транзитивны, что позволяет говорить об установлении с помощью этой связи свойств иерархии наследования в сети. Это означает, что элементы более низкого уровня в сети могут наследовать свойства элементов более высокого уровня в сети.
Примером простой семантической сети является описание объекта автомобиль и рядя связанных с ним понятий (рисунок 2). На этой сети присутствует следующая цепочка понятий: «автомобиль имеет частью двигатель», «двигатель имеет частью стартер». В силу транзитивности отношения "иметь частью" можно вывести следующее утверждение «автомобиль имеет частью стартер». Аналогично можно сделать вполне очевидный вывод, что «Иванов обладает автомобилем» или, что «Mercedes имеет частью двигатель и потребляет топливо».
Рисунок 2 -Пример простейшей семантической сети
Основное преимущество этой модели – в соответствии современным представлениям об организации долговременной памяти человека и высокой наглядности представления знаний. В современной практике подобная форма представления получила развитие в самых различных приложениях. Недостатком данной модели является сложность поиска решения и вывода на семантической сети.
Пример решения задачи. Задача. Построить сетевую модель представления знаний в предметной области «Ресторан» (посещение ресторана).
Описание процесса решения. Для построения сетевой модели представления знаний необходимо выполнить следующие шаги:
1) Определить абстрактные объекты и понятия предметной области, необходимые для решения поставленной задачи. Оформить их в виде вершин.
2) Задать свойства для выделенных вершин, оформив их в виде вершин, связанных с исходными вершинами атрибутивными отношениями.
3) Задать связи между этими вершинами, используя функциональные, пространственные, количественные, логические, временные, атрибутивные отношения, а также отношения типа «являться наследником» и «являться частью».
4) Добавить конкретные объекты и понятия, описывающие решаемую задачу. Оформить их в виде вершин, связанных с уже существующими отношениями типа «являться экземпляром», «есть», is_a.
5) Проверить правильность установленных отношений (вершины и само отношение при правильном построении образуют предложение, например «Двигатель является частью автомобиля»).
Решение.
1) Ключевые понятия данной предметной области – ресторан, тот, кто посещает ресторан (клиент) и те, кто его обслуживают (повара, метрдотели, официанты, для простоты ограничимся только официантами). У обслуживающего персонала и клиентов есть общие характеристики, поэтому целесообразно выделить общее абстрактное понятие – человек. Продукцией ресторана являются блюда, которые заказывают клиенты. Исходя из этого, вершины графа будут следующими: «Ресторан», «Человек», «Официант», «Клиент», «Заказ» и «Блюдо».
2) У этих объектов есть определенные свойства и атрибуты. Например, рестораны располагаются по определенным адресам, каждое блюдо из меню имеет свою цену. Поэтому добавим вершины «Адрес» и «Цена».
3) Зададим связи между этими вершинами, используя функциональные, пространственные, количественные, логические, временные, атрибутивные отношения, а также отношения типа «являться наследником» и «являться частью».
4) Добавим знание о конкретных фактах решаемой задачи. Пусть имеется два ресторана: «Вкуснятина» и «Вкусная еда», в первом работает официантка Марина, а во втором официант Сергей. Пётр решил пойти в ресторан «Вкусная еда» и сделал заказ официанту на 2 блюда: картофель фри за 30 р., бифштекс за 130 р. Также известны адреса этих ресторанов и их специфика. Исходя из этого, добавим соответствующие вершины в граф и соединим их функциональными отношениями и отношениями типа «например или являться экземпляром». Полученный в результате граф изображен на рисунке 3.
5) Осуществим проверку установленных связей. Например, возьмем вершину «Блюдо» и пройдем по установленным связям. Получаем следующую информацию: блюдо является частью заказа, примерами блюд могут служить картофель фри и бифштекс.
Рисунок 3 - Семантическая сеть предметной области «Ресторан»