
- •Введение
- •1. Концептуальные графы
- •1.1. Обобщенная структура кг
- •1.3. Описание референтов
- •1.4. Контексты
- •1.5. Представление баз знаний
- •1.6. Синтаксическая модель cgif
- •Синтаксис cgif
- •2. Применение аппарата кг в рамках методологии «общей логики» (common logic)
- •3. Инструментальные средства поддержки аппарата кг
- •Сравнительная характеристика программного инструментария кг
- •Заключение
- •Список рекомендуемой литературы
- •Использование аппарата концептуальных графов в задачах представления и обработки знаний
- •197376, С.-Петербург, ул. Проф. Попова, 5
1.3. Описание референтов
В общем случае любой концепт (выделяемый как единая конструкция квадратными скобками) может содержать описания четырех элементов (порядок употребления этих элементов соответствует порядку их перечисления в приведенном ниже списке):
- типа (метки типа или выражения, определяющего тип);
- необязательного блока ссылок, состоящего либо из одной определяющей метки (вида *х, где х – произвольный идентификатор), либо из перечня связанных меток (вида ?х, где х – произвольный идентификатор), разделенных пробелами;
- необязательного референта;
- необязательного комментария (произвольной текстовой строки, отделенной от прочих описаний знаком «;»).
Референт (денотат) конкретизирует сущность, описываемую концептом (смысл, содержание концепта). Описание референта начинается с символа «:». Основными элементами этого описания являются обозначение (designator) и дескриптор (или описатель – descriptor).
Обозначения имеют 3 вида:
1) литерал (запись численной константы или строка в кавычках) или кодированный литерал (обычный литерал, перед которым указывается символ «%» и идентификатор, определяющий дополнительную информацию о форме представления литерала: например, в концепте «[Str: %rus “Строка”]» кодированный литерал может указывать на то, что литерал “Строка” следует интерпретировать как текст на русском языке, а в концепте «[Signal: %wav “d:\audio\signal.wav”]» – на то, что литерал является ссылкой на аудиофайл заданного формата);
2) локатор (символьный указатель на сущность), имеющий 3 формы:
- имя (идентификатор или строка, заключенная в апострофы);
- индивидуальный маркер (символ «#» и следующее за ним беззнаковое целое, определяющее уникальный номер сущности в так называемом каталоге индивидуумов – индексе всех сущностей, к которым необходимо обращаться по обозначению);
- индекс (символ «#» и следующий за ним идентификатор, в совокупности определяющие местоимение или псевдоним сущности, например «#you», «#this» и т. п.);
3) квантификатор (символ «@» и число, идентификатор или выражение, определяющие количественную меру сущностей заданного типа).
Допускается одновременное употребление нескольких квантификаторов и локаторов. Например, CGIF-строка «[Person: Ivanov #5]», где «Ivanov» и «#5» являются локаторами референта, указывает на то, что концепту соответствует объект «Иванов» типа «человек», который имеет в каталоге индивидуумов индивидуальный маркер «#5». Аналогично допускаются сложные квантификаторы вида «[Interval: @20 sec]» («интервал в 20 с»).
Дескрипторы могут либо иметь вид самостоятельного описания КГ, состоящего из одного концепта или отношения, либо содержать описание так называемой структуры – структурированного набора идентификаторов сущностей или ссылок на них. В CGIF имеется 2 базовых вида структур – множества и последовательности, которые задаются перечислением элементов через запятую и заключаются в скобки: множества – в фигурные («{}»), а последовательности – в треугольные («< >»). Перед открывающимися скобками в описаниях структур может задаваться идентификатор, которому предшествует символ «%». Следует подчеркнуть, что элементами структур могут являться и метки типов концептов и отношений.
Рассмотрим некоторые средства представления референтов на примерах.
Пусть концепт задан в виде строки «[A: {B,C,D} @2]». Тогда он определяет свой референт как «множество из двух объектов типа А из подмножества возможных представителей типа А, содержащего B, C и D». Здесь дескриптор референта представлен описанием структуры (множества) «{B,C,D}», а квантификатор («@2») является обозначением того же референта. Если в качестве элемента структуры указывается специальный символ «*», то это означает, что структура объединяет все возможные (любые) объекты соответствующего типа. Например, строка «[A: {*} @2]» задает концепт, в котором референт описывает множество двух любых объектов типа А, а строка «[A: <*> @every]» имеет смысл «все последовательности объектов типа А».
Концепт «[A: Ivanov @every]» иллюстрирует использование в CGIF предопределенных квантификаторов. В данном случае используется так называемый квантор общности («@every»), который придает референту следующий смысл: «Все Ивановы типа А». Вторым предопределенным квантификатором является квантор существования – «@some» («существует некоторый, по крайней мере один»). Этот квантификатор считается квантификатором «по умолчанию» и может опускаться. Соответственно концепт «[A: Ivanov]» указывает на некоторого Иванова типа А и «утверждает», что хотя бы один такой Иванов существует.
В CGIF поддерживаются и более сложные схемы построения квантификаторов и сопутствующих им обозначений референтов. Например, строка «(HasAge [Person: ~] [Years:@>150])» может обозначать утверждение о том, что «нет людей (Person), чей возраст (Age) превышает 150 лет».
Кроме того, практически любое расширение выразительной мощности описаний концептов может быть достигнуто использованием связанных ссылок. Так, концепт «[A: @Col {?x ?y}]» определяет множество значений референта, задаваемое двумя другими концептами (с определяющими метками «*х» и «*у»), которые, в общем случае, могут представлять собой самостоятельные графы. При этом квантификатор «@Col» указывает на то, что концепт является коллекцией (множеством) референтов. Следует также отметить, что если заменить в рассматриваемом концепте идентификатор «А» на предопределенный идентификатор «TypeLabel» (тип всех меток типов концептов) или «RelationLabel» (тип всех меток типов отношений), то можно говорить о концепте, представляющем собой множество меток типов (а не множество сущностей этих типов).
Таким образом, в общем случае референты могут указывать на структурированные наборы сущностей или типов сущностей, при формировании которых могут использоваться логические формулы, сложные квантификационные условия, ссылки на внешние определения объектов или другие КГ и т. п.