Достоинства семантических сетей:
- универсальность, достигаемая за счет выбора соответствующего набора отношений. В принципе с помощью семантической сети можно описать сколь угодно сложную ситуацию, факт или предметную область;
- наглядность системы знаний, представленной графически;
- близость структуры сети, представляющей систему знаний, семантической структуре фраз на естественном языке;
- соответствие современным представлениям об организации долговременной памяти человека.
В качестве иллюстрации последнего утверждения приведем следующий пример.
Рис.5.3. Семантическая сеть «Канарейка»
Из психологии известно, что люди при запоминании часто используют ассоциации и стараются иерархически организовать свои знания. Коллинс и Куиллиан проводили следующий тест. Группе людей задавались вопросы о различных свойствах птиц, такие как «Канарейка — это птица?», «Канарейка может петь?» или «Канарейка может летать?».
Хотя ответы на эти вопросы, возможно, просты, изучение времени реакции показало, что при ответе на вопрос «Может ли канарейка летать?» оно больше, чем на вопрос «Может ли канарейка петь?». Аллан Коллинс и Росс Куиллиан объясняют эту разницу во времени ответа тем, что люди запоминают информацию на самом абстрактном уровне. Вместо того, чтобы запоминать конкретные свойства для каждой птицы (канарейки летают, дрозды летают, ласточки летают), люди запоминают, что канарейки — птицы, а птицы (обычно) имеют свойство летать. Таким образом, попытка вспомнить, может ли канарейка летать, занимает больше времени, чем воспоминание, может ли канарейка петь. Это происходит из-за того, что для получения ответа человек должен дольше путешествовать по иерархии структур памяти.
|
Недостатки семантических сетей:
- сетевая модель не дает (точнее, не содержит) ясного представления о структуре предметной области, поэтому формирование и модификация такой модели затруднительны;
- сетевые модели представляют собой пассивные структуры, для обработки которых необходим специальный аппарат формального вывода;
- проблема поиска решения в семантической сети сводится к задаче поиска фрагмента сети, соответствующего подсети, отражающей поставленный запрос. Это, в свою очередь, обуславливает сложность поиска решения в семантических сетях;
- представление, использование и модификация знаний при описании систем реального уровня сложности оказывается трудоемкой процедурой, особенно при наличии множественных отношений между ее понятиями.
В качестве иллюстрации последнего утверждения приведем выдержку из:
Очень быстро семантические сети позволили воссоздать исходный ХАОС мироздания и снова загнать кибернетику в интеллектуальный тупик.
Возьмем самый элементарный пример: "Федя дал книгу Мане".
Проще некуда?
Изобразим сеть с Федей и Маней и их связь (через книгу), направленную от Феди к Мане. Но, поскольку все эти объекты обладают свойствами, то припишем Феде свойства "хороший и сильный", а книге и Мане - "очень хорошая и интересная". И пририсуем их.
Но ведь есть и многие другие связи, которые тоже следует отобразить в сети: семейные (у Феди жена и трое детей), дипломатические (с тещей), агентурные (Федя шпион, но не любит об этом хвастаться), телепатические (у Мани еще с одним стеснительным мальчиком), производственные (у Феди с оборонным КБ, а у Мани с начальником) и т.д....
|
Концептуальные графы
Дальнейшим развитием графовых структур, моделирующих семантику естественного языка, являются концептуальные графы, предложенные Джоном Сова (1984г.).
Концептуальный граф – это двудольный ориентированный граф, состоящий из вершин двух типов: понятий (англ. concept) и концептуальных отношений (англ. conceptual relation). Напомним, что двудольный граф – это граф, множество вершин которого можно разбить на две части таким образом, что каждое ребро графа соединяет какую-то вершину из одной части с какой-то вершиной другой части, то есть не существует ребра, соединяющего две вершины из одной и той же части.
Рис.5.4. Двудольный граф
Понятия в концептуальных графах отображаются прямоугольниками, отношения между ними – эллипсами. В отличие от семантических сетей отношение между понятиями отображаются не именованной дугой графа, а вершиной соответствующего типа, которая связывает два понятия дугами без метки. Рассмотренный выше пример «Маша укрепила стул клеем» (см. рис.5.1) в виде концептуального графа будет выглядеть следующим образом.
Рис.5.5. Пример концептуального графа
Авторы первых семантических сетей не уделяли должного внимания к четкому семантическому разделению отношений вида «класс - подкласс» («множество» - «подможество») и «класс» - «экземпляр» («множество» - «элемент»). Например, отношения, характеризующие свойства и поведение класса («млекопитающие»), могут отличаться от отношений подкласса («собака»), также как отношения подкласса («собака») от отношений конкретного экземпляра («Тузик»). Графического или символьного выделения таксономии (иерархии) понятий в семантических графах не предусмотрено. В концептуальных графах внутри вершины, обозначающей понятие, можно указывать имена его типа и экземпляра (разновидности типа). Например, «персона: Маша», «млекопитающее: собака» или «собака: Тузик».
|
При описании конкретных, но неименованных (анонимных) экземпляров, используется маркер «#». Например, «персона: #1234» или «собака: #4321». Использование анонимных экземпляров позволяет упростить описание и представление предметной области (базы знаний), как набора концептуальных графов. В частности, факт, что три собаки «Тузик», «Мухтар» и «Байкал» черного цвета можно описать вместо одного графа двумя.
Рис.5.6. Пример использования анонимных экземпляров
Вместо обращения к экземпляру по имени можно использовать маркер «*», обозначающий любой экземпляр типа. Т.о., имена понятий «собака» и «собака: *» являются эквивалентными.
Дополнительно к обобщающему маркеру «*» допускается использование переменных для более упрощенного и наглядного отображения графов. В частности, для минимизации пересечений и поворотов стрелок. Например, факт «Собака чешет лапой ухо» может выглядеть следующим образом.
Рис.5.7. Пример использования переменной
Как отмечено ранее, база знаний представляет собой набор концептуальных графов. Каждый отдельный граф представляет собой один факт (высказывание, правило) из предметной области, описываемый через ассоциативные отношения между понятиями. Для представления второго базового механизма структурирования знаний – обобщения понятий – в теории концептуальных графов используются иерархии типов. Отдельная иерархия представляется в виде решетки, описывающей таксономические отношения (отношения наследования) между понятиями, включая множественное наследование. Для представления иерархии типов в виде решетки в нее включается два специальных типа:
- универсальный тип (англ. universal type), являющийся супертипом для всех типов. Обозначается символом «┬»;
- абсурдный тип (англ. absurd type), являющийся подтипом для всех типов. Обозначается символом «┴».
На следующем рисунке приведен пример иерархии типов.
Рис.5.8. Пример иерархии типов геометрических фигур
Иерархии типов позволяют описать статическую составляющую предметной области, а непосредственно концептуальные графы как статическую, так и динамическую.
Теория концептуальных графов предусматривает четыре вида операций, позволяющие создавать новые графы на основе существующих. К ним относятся:
- копирование – создание точной копии какого - либо графа;
- объединение двух графов в один, если они имеют семантически общие вершины-понятия. Для графов, отображенных на рис.5.6, результат объединения выглядит следующим образом:
Рис.5.9. Пример объединения двух графов
- ограничение – замена вершины-понятия графа другой вершиной-понятием, представляющими его специализацию, или замена имени типа на имя подтипа (экземпляра). Пример применения операции для графов, отображенных на рис.5.6:
Рис.5.10. Пример применения операции «ограничение»
- упрощение – исключение дублирующих понятий или отношений. Дублирование часто возникает в результате операции объединения. Пример применения операции для графа, отображенного на рис.5.7:
Рис.5.11. Пример применения операции «упрощение»
В дополнение к возможности определения отношений между понятиями предметной области, выраженными в одном высказывании, с помощью концептуальных графов можно выражать отношения между высказываниями. Например, предложение: «Вася предполагает, что Маша любит мороженное». Здесь «предполагает» является отношением между субъектом «Вася» и высказыванием «Маша любит мороженное». Все предложение целиком является высказыванием о высказывании (метавысказыванием).
В формализме концептуальных графов выделяется особый класс понятий - утверждение (англ. proposition). Понятие «утверждение» включает в себя один или несколько концептуальных графов, что и позволяет определять метавысказывания. Визуально «утверждение» выражается в виде прямоугольника, внутри которого располагаются другие концептуальные графы.
Рис.5.12. Пример метавысказывания
Помимо отображения высказываний в виде графов, наиболее наглядной и доступной для понимания форме, они могут быть выражены в т.н. линейной форме. При этом понятия заключаются в квадратные скобки, а отношения – в круглые. Например, граф, отображенный на рис. 5.12, в линейной форме выглядит следующим образом:
[персона: Вася] <– (агент) <– [предполагает] –> (объект) –>
[[персона: Маша] <– (агент) <– [любит] –> (объект) –> [мороженное]].
При наличии более, чем двух дуг, соединяющих понятие или отношение с другими, они перечисляются через «-». Например, для графа на рис. 5.5 линейная форма
[Маша] <– (агент) <– [укрепить] –
–> (время) –> [прошедшее]
–> (объект) –> [стул]
–> (инструмент) –> [клей].
Аналогичный подход используется, если в графе имеются контуры. Например, для графа на рис. 5.11 линейная форма
[собака: *X] –
<– (агент) <– [чешет] –
–> (объект) –> [ухо]
–> (инструмент) –> [лапа]
<– (часть) –
<– [ухо]
<– [лапа].
Существуют и другие способы текстово-символьного описания концептуальных графов. В частности в международном стандарте «ISO/IEC IS 24707:2007. Information technology - Common Logic (CL): a framework for a family of logicbased languages» («Информационная технология - Общие положения: Основы семейства логически-ориентированных языков») дается описание языка CGIF (Conceptual Graph Interchange Format, формат обмена концептуальными графами).