Читайте также: |
|
Термин «семантическая сеть» обозначает семейство представлений, основанных на графах. Эти представления отличаются главным образом именами вершин, связей и выводами, которые можно делать в этих структурах.
Под семантической сетью подразумевают систему знаний некоторой предметной области, имеющую определенный смысл в виде целостного образа сети, узлы которой соответствуют понятиям и объектам, а дуги - отношениям между объектами. При построении семантической сети отсутствуют ограничения на число связей и на сложность сети. Для того чтобы формализация оказалась возможной, семантическую сеть необходимо систематизировать.
Базовые структуры в этих моделях знаний могут быть представлены графом, множество вершин и дуг которого образуют сеть. Развитию моделей этого класса в большей степени послужили проблемы алгоритмизации понимания естественного языка. Семантические сети (СС) обычно используют для представления знаний общего характера.
Кроме общих исходных предпосылок различные СС существенно отличаются. Это объясняется тем, что конкретные типы СС разрабатываются для различных целей различных приложений.
Не всякий помеченный сетевой граф можно рассматривать как СС, поскольку семантичность не присуща графу априори. Для того, чтобы приписать графу некоторую семантику, необходимо тщательно определить:
1. Что обозначают вершины и дуги графа.
2. Как их можно использовать при обработке.
Создание СС – это реализация попытки обеспечить интегрированное представление данных, категорий (типов) данных, свойств категорий и операций над данными и категориями. Особенность СС заключается в целостности системы, выполненной на ее основе, т.е. возможности разделить базу знаний и механизм вывода, при этом интерпретация СС реализуется с помощью использующих эту сеть процедур.
При построении семантической сети отсутствуют ограничения на число элементов и связей. Поэтому систематизация отношений между объектами в сети необходима для дальнейшей формализации.
В СС нет четких различий между операциями над данными и операциями над схемой. СС позволяет в одинаковой мере манипулировать как данными, так и знаниями о них.
Рассмотрим основные концепции, реализуемые в СС:
1. Концепция одновременного рассмотрения в модели как «знака», так и «типа». Знак – это конкретное значение или конкретный экземпляр рассматриваемого объекта. Тип – это класс подобных знаков.
Обобщение знаков в типы – элементарная форма абстрагирования. Это обобщение необходимо для улучшения понимания сложных объектов. Например, общее понятие ВЕЛОСИПЕД - абстракция множества представлений о конкретных велосипедах.
Абстракция может быть многоуровневой, т.е. абстракция одного уровня может рассматриваться как объект абстракции другого уровня и т.д. (т.е. абстракция может быть использована для формирования нового типа из других типов).
2. Концепция иерархии типов. Обобщение позволяет соотнести множество знаков или множество типов с одним общим типом. Различают обобщения:
знак – тип – его называют классификацией;
тип–тип, которое собственно и носит название обобщения.
Процессом, обратным процессу классификации, является экземпляризация – порождение реализаций. Процессом, обратным процессу обобщения, – специализация.
Обобщение акцентирует внимание на сходстве объектов, абстрагируясь от различий. Общий тип обладает всеми свойствами, общими для базовых знаков и типов, т. е. все свойства обобщенного типа могут быть унаследованы базовыми типами. Однако при задании ограничений целостности в модели можно явно запретить наследование определенных свойств. Например, можно указать, что некоторые свойства характеризуют тип в целом и не наследуются подтипами или базовыми знаками.
Агрегация позволяет раскрыть структуру объектов. Допускается многократное применение агрегации. Обратный процесс носит название пошаговой детализации.
Агрегация и обобщение могут применяться взаимодополняющим образом и выражать структурные и классификационные аспекты типизации. Структуру можно представить как агрегат базовых типов, а сам агрегат может служить объектом обобщения (классификации), см. пример на рис. 5.1, где _ _ _ _ - агрегация, ______ - обобщение, Классификация типов выражается иерархией обобщения, а структура – иерархией агрегации.
Агрегация соотносится с понятием ЕСТЬ – ЧАСТЬ и выражает тот факт, что тип объекта есть агрегат других типов (например, ФАМИЛИЯ ЕСТЬ – ЧАСТЬ СЛУЖАЩИЙ).
Обобщение соотносится с понятием ЕСТЬ – НЕК (есть некоторый) и выражает тот факт, что выполнено обобщение одним типом объекта другого типа объекта.
Рис. 5.1
В СС делается строгое различие между обобщениями ТИП–ЗНАК и ТИП–ТИП, что связано с необходимостью представления в модели данных обеих категорий. Кроме того, для иерархии типов точно специфицируются правила наследования свойств (атрибутов) и их значений. На рис. 5.2 приведен пример иерархии для типов ЛИЧНОСТЬ, СЛУЖАЩИЙ, СТУДЕНТ.
Так как тип ЛИЧНОСТЬ есть обобщение типов СЛУЖАЩИЙ и СТУДЕНТ, то последние наследуют атрибуты ФАМИЛИЯ, АДРЕС, ГОД – РОЖДЕНИЯ, если только это наследование явным образом не запрещено в описании модели.
3. Концепция «роли». Обобщение позволяет построить сложную систему категорий, причем ее структура не обязательно может быть древовидной, особенно если учитывается роль используемых понятий в моделируемой ситуации.
Например (рис. 5.3), ЛИЧНОСТЬ может выступать в роли СЛУЖАЩИЙ, либо в роли ОТПРАВИТЕЛЬ – ГРУЗА, либо в роли ПОЛУЧАТЕЛЬ – ГРУЗА. Получателем либо отправителем груза может быть и организация, выступающая еще также и в роли изготовителя деталей. Приведенная структура обобщения соотносится с концепцией роли.
4 Концепция семантического расстояния. Концепция семантического расстояния широко используется в словарных системах, где одно слово истолковывается посредством других, а они, в свою очередь, посредством третьих и т. д., и в этом случае требуется использовать меру «семантической близости» взаимосвязанных понятий. В качестве меры семантической близости взаимосвязанных понятий, представленных в модели вершинами, может, например, выступать число дуг на пути от одной вершины к другой.
В некоторых СС вводится возможность явно подчеркнуть, что семантическое расстояние велико. В этом случае, когда требуется показать это, в СС используется понятие дуги «нерелевантности», отображающей отрицание взаимосвязи между двумя вершинами (рис. 5.4).
5. Концепция разбиения. Суть этой концепции заключается в разработке механизмов ограничения доступа в сети. При формировании ответа системе должна быть доступна только та информация, которая релевантна решаемой задаче. Это очень важно для ограничения области поиска релевантных понятий в процессе вывода новых фактов из фактов заданных.
Рассмотрены наиболее важные концепции СС. Есть еще ряд других концепций, ориентированных на определенные аспекты представления знаний.
Базовым функциональным элементом семантической сети служит структура из двух компонентов: узлов и связывающих их дуг. Каждый узел представляет некоторое понятие, а дуга – отношение между парой понятий. Можно считать, что такое отношение представляет простой факт, например «Иванов П. Н. Работает в производственном отделе» представляется структурой на рис. 5.5.
Рис. 5.5
С позиции логики базовую структуру СС можно рассматривать в качестве эквивалента предиката с двумя аргументами. Эти два аргумента представлены узлами, а собственно предикат – направленной дугой, связывающей узлы:
РАБОТАЕТ – В/ИВАНОВ, ПРОИЗВОДСТВЕННЫЙ – ОТДЕЛ/.
Однако возможности выражения семантики с использованием только базовых структур весьма ограничены. Дальнейшее повышение выразительной силы семантических моделей обеспечивается дифференциацией вершин и дуг по категориям.
Пример. Рассмотрим модель, в которой предусматривается четыре категории вершин:
- концепты (понятия) - элементы ПО (приложения), для которой строится
представление;
- события-действия, наблюдаемые в ПО;
- характеристики (свойства) - вершины, соответствующие свойствам концепта;
- значения-вершины, соотносящиеся с областями значений, которые могут принимать характеристики.
Дуги, соединяющие вершины-события и вершины-концепты, соответствуют ролям концептов в событиях:
- дуга, указывающая вершину-концепт, которая играет роль агента в событии (исполнителя, либо инициатора действия, обычно в предложении естественного языка, выражаемого глаголом);
- дуга, указывающая вершину-концепт, которая является объектом воздействия в событии.
Дуги, соединяющие вершины-концепты:
- дуга, соответствующая представлению утверждения.
Дуги, соединяющие вершины-концепты и вершины-характеристики:
- дуга, соответствующая представлению связи концепта с характеристикой.
Дуги, соединяющие вершины-характеристики и вершины-значения:
- дуга, соответствующая представлению связи характеристики со значением.
Построим с помощью данной модели представление следующей ситуации: «Иванов, 1980 года рождения, работает программистом в вычислительном центре, расположенном в корпусе А». Представим вначале эту ситуацию в виде одной из возможных совокупностей простых бинарных фактов (утверждений):
1. Иванов работает программистом.
2. Иванов работает в вычислительном центре.
3. Иванов 1980 года рождения.
4. Вычислительный центр расположен в корпусе А.
Выполним построение СС:
1. Вершины—события: РАБОТАЕТ.
2. Вершины—концепты:
ИВАНОВ;
ПРОГРАММИСТ;
ВЫЧИСЛИТЕЛЬНЫЙ-ЦЕНТР;
КОРПУС—А.
3. Вершины—характеристики:
ГОД—РОЖДЕНИЯ.
4. Вершины— значения: 1980.
5. Дуга, указывающая агента:
РАБОТАЕТ—ИВАНОВ.
6. Дуга, указывающая объект воздействия:
РАБОТАЕТ—ПРОГРАММИСТ..
7. Дуга, указывающая вершину-характеристику:
ИВАНОВ-ГОД-РОЖДЕНИЯ.
8. Дуга, указывающая вершину-значение:
ГОД—РОЖДЕНИЯ-1980.
9. Дуги, представляющие утверждения:
РАБОТАЕТ—В: ИВАНОВ—ВЫЧИСЛИТЕЛЬНЫЙ—ЦЕНТР;
РАСПОЛОЖЕН—В: ВЫЧИСЛИТЕЛЬНЫЙ—ЦЕНТР—КОРПУС/А.
Это один из возможных вариантов СС по данному фрагменту информации. Можно сделать иное назначение вершин и дуг и получить другой вариант модели для рассматриваемой ситуации. На рис. 5.6 приведено графическое представление полученного варианта модели.
Как видно, проблема проектирования варианта (или выбора одного из возможных вариантов) СС еще более сложна, чем; проблема проектирования варианта инфологической модели базы данных, поскольку одну и ту же порцию информации можно представить еще большим количеством различных вариантов. В этом и достоинство, и недостаток СС.
Рис. 5.6
Рассмотрим теперь на данном примере получение вывода с помощью семантической сети. Обычно интерпретация семантической сети выполняется с помощью использующих эту сеть процедур управляющей системы. Существуют различные подходы к построению этих процедур. Рассмотрим наиболее, распространенный подход, основанный на сопоставлении частей сетевой структуры. Он заключается в следующем: вначале строится подсеть, соответствующая запросу, а затем выполняется сопоставление этой подсети с базой данных СС. Например, поступает запрос: «Кем работает Иванов?». Этот запрос система вначале, представляет в виде подсети (рис. 5.7). Затем управляющей системой проводится сопоставление, по результатам которого и формируется ответ на запрос.
Рис. 5.7
Дальнейшее повышение выразительной силы модели достигается введением различий между вершинами-концептами, представляющими знаки, и вершинами-концептами, представляющими типы вершины — классы, причем концепт может принадлежать более чем одному классу. Различие между вершинами-концептами и вершинами-классами приводит к. необходимости выделения еще двух типов дуг:
1. Дуга между классом и концептом, отображающая порождение экземпляра.
2. Дуга между классами, характеризуемая как бинарное отношение, и, в частности, отношение ЕСТЬ – НЕК или ЕСТЬ – ЧАСТЬ.
Теперь в сети может быть построена иерархия типов в соответствии со связями ЕСТЬ—НЕК или ЕСТЬ—ЧАСТЬ. В модели может присутствовать специальная вершина, являющаяся корнем иерархии (если это требуется),— класс классов. В некоторых моделях вводят специальные вершины — метаклассы, которые включают в себя в качестве экземпляров другие классы. Поскольку метаклассы есть классы, на них также могут быть построены иерархии ЕСТЬ—НЕК и ЕСТЬ-ЧАСТЬ. Иерархия, построенная на основе наследования свойств, обеспечивает эффективный способ упрощения представления знаний и сокращения объема информации, которую требуется запоминать для каждого конкретного узла.
Концепция времени может быть введена следующим образом: каждому классу или событию приписывается два специальных атрибута, т. е. вершины-характеристики – «время включения» и «время удаления». Введение этих атрибутов позволяет полностью описывать соответствующие вершины и обеспечить ответы на соответствующие запросы.
В семантических сетевых моделях спецификация ограничений целостности — часть полной спецификации сети, которая интегрируется с описанием сети. Ограничения — это некоторые данные, относящиеся к концепту или классу, т. е. ограничения описываются как факты, относящиеся к другим фактам. Ограничения наследуются аналогично другим свойствам, и оперировать ими можно так же, как и другими данными. Многие СС поддерживают язык исчисления предикатов для описания дуг, и этот же язык используется для задания явных ограничений целостности в сети.
В качестве основных операций над классами, и их экземплярами в семантических сетях используются следующие операции:
создания экземпляра некоторого класса;
установления принадлежности существующего экземпляра некоторого класса еще к одному классу;
устранения принадлежности экземпляра к некоторому классу или полного исключения этого экземпляра из сети;
выборки экземпляров, принадлежащих определенному классу;
определения принадлежности экземпляра указанному классу.
Эти операции выступают средствами манипулирования данными сети. Как средство реализации запросов эти операции ограничены по своим возможностям. Поэтому в развитых СС в спецификацию сети вводят программы, реализующие соответствующие правила обработки декларативных знаний (вводятся в СС в виде вершин-программ). Эти, программы, по существу, представляют собой обобщенные процедуры, аналогичные процедурам базы данных. Программы вводятся в сеть как классы. Выполнение программы, называемое процессом, рассматривается как экземпляр конкретного класса.
В общем случае программа состоит из следующих разделов:
предпосылки;
действия;
состояние завершения.
В разделе «предпосылки» проверяется правильность вызова программы в виде выполнения совокупности проверок на удовлетворение заданных условий.
В разделе «действия» выполняется последовательность специфицированных в теле программы операций.
В разделе «состояние завершения» выполняется проверка успешности завершения программы.
Для каждого возможного варианта успешного или неуспешного завершения в программе специфицируются определенные действия.
При составлении программы предусматривается проверка ограничений целостности, заданных в сети.
СС, включающие в себя программы, поддерживают концепцию транзакций, т.е. могут устанавливать связи транзакций между собой и соотносить их с обрабатываемыми данными.
Управляющие структуры для СС очень разнообразны. В основном они являются зависимыми от предметной области (т.е. часть прикладных знаний перенесена в управляющую структуру (УС) в виде правил организации поиска данных, релевантных запросу) и реализованы в виде управляющей программы, поддерживающей все основные функции экспертной системы.
При программировании СС широко используется алгоритмический язык LISP, разрабатываются также специализированные языковые средства.
Богатство структур семантической сетевой модели способствует реализации различных способов представления семантики, СС позволяет в одинаковой мере манипулировать как данными, так и знаниями о них. Однако сложность создания и реализации этих средств выдвинула задачу поиска путей, позволяющих ввести некоторую регулярность в сеть для облегчения ее программирования. Одним из таких путей являются фреймы.
Для реализации семантических сетей существуют специальные сетевые языки, например, NЕТ. Широко известны экспертные системы, использующие семантические сети в качестве языка представления знаний.
Систематизация отношений конкретной семантической сети зависит от специфики знаний предметной области и является сложной задачей. Особого внимания заслуживают общезначимые отношения, присутствующие во многих предметных областях. Именно на таких отношениях основана концепция семантической сети. В семантических сетях, так же как при фреймовом представлении знаний, декларативные и процедурные знания не разделены, следовательно, база знаний не отделена от механизма вывода. Процедура логического вывода обычно представляет совокупность процедур обработки сети. Семантические сети получили широкое применение в системах распознавания речи и экспертных системах.
Дата добавления: 2015-07-10; просмотров: 336 | Нарушение авторских прав