Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
cg_posobie6_(Vlasenko).doc
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
550 Кб
Скачать
☆

2. Применение аппарата кг в рамках методологии «общей логики» (common logic)

Как уже отмечалось, в настоящее время активно развивается методология «Общей логики» (Common Logic – CL). CL – это логический формализм с абстрактным синтаксисом, ориентированный на организацию эффективных процессов взаимодействия (поиска и обмена данными и метаданными, совместной обработки данных и знаний, поддержки моделей с распределенной архитектурой и т. п.) между информационными системами с использованием XML-подобных нотаций. Общая логика представляет собой, в своем роде, язык языков и обладает высоким уровнем абстракции, имея при этом формальную семантику. На ее основе (как и в аппарате КГ) могут порождаться теоретические модели и языки, реализующие в том или ином объеме абстрактный синтаксис общей логики с использованием различных конкретных синтаксических моделей. Эти производные языки (и поддерживаемые ими модели) могут иметь различные сферы приложения, относясь при этом к единому «семантическому семейству». Онтологии и задачи распределенной обработки знаний можно считать естественными областями применения аппарата общей логики и КГ. Изначально этот проект представлял собой 2 отдельных исследования, которые проходили параллельно – разработка ANSI-стандартов для концептуальных графов и разработка формата KIF (Knowledge Interchange Format, формат обмена знаниями). Однако эти проекты были объединены в один проект ISO с целью разработки формализма, общего для семейства логических нотаций с абстрактным синтаксисом и модельно-теоретическим обоснованием (ISO/IEC 24707). Первая самая общая модельная теория CL была создана еще в 2001 г. Хэйсом и Мензелем и в первую очередь послужила базой для определения семантики языков RDF(S) и OWL. В ходе дальнейшей работы был создан формализм, обладающий значительно большими выразительными возможностями и представляющий собой более универсальное средство решения разнообразных задач, чем языки RDF и OWL. Детально проработанная база формализма была стандартизована ISO и в настоящее время содержит 3 конкретных диалекта, способных выразить полную семантику CL: Common Logic Interchange Format (CLIF – формат обмена «Общей логики»), Conceptual Graphs Interchange Format (CGIF – формат обмена концептуальными графами) и диалект XСL, представляющий собой XМL-основанную нотацию для CL. В силу своего происхождения нотации RDF и OWL также можно рассматривать в качестве диалектов CL, но они способны выражать лишь подмножества семантики CL. Т. е. любое высказывание RDF и OWL можно перевести в CLIF, CGIF или XCL, но только подмножества CL можно перевести обратно в RDF и OWL.

Аппарат КГ представляет собой типизированный логический формализм, тогда как экзистенциальные графы Пирса являются более общими и способны выражать полную семантику CL. В связи с этим ISO-стандарт CL содержит две нотации формата обмена концептуальными графами (CGIF):

  • Core CGIF – ядро CGIF, версия логики, не предусматривающая определения типов данных, она способна выразить полную семантику CL. Этот диалект соответствует экзистенциальным графам Пирса, он оперирует только с тремя логическими операциями в качестве примитивов – это конъюнкция, отрицание и квантификатор существования, также он разрешает квантификаторам распространяться на отношения.

  • Extended CGIF – расширенный CGIF. Совместимое вверх расширение ядра, которое добавляет универсальный квантификатор; метки типов, ограничивающие область действия квантификаторов. Данный диалект также определяет Булевы логические операторы – Если, То, Иначе, Или, Равенство, Тогда и только тогда – как контексты с соответствующими метками типов, а также определяет возможность импорта внешнего текста в любой текст CGIF.

Синтаксис аппарата CL распространяет квантификаторы на функции и отношения, при этом CL удовлетворяет всем требованиям логики первого порядка теории моделей и всем правилам теории доказательств. Абстрактный синтаксис CL позволяет также поддерживать синтаксис логик более высоких порядков без возрастания вычислительной сложности их семантики. Для этого модельная теория CL использует универсальный домен D, который включает в себя индивиды, функции и отношения. Данный домен определяет область действия квантификаторов синтаксиса.

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

~[ [Person: Laboratory] ]

Это предложение CGIF синтаксически верное и семантически истинно, оно означает, что «Человек не лаборатория». Для синтаксиса с жестким заданием типов подобная запись вызовет синтаксическую ошибку. Нежесткая типизация концептов является еще одним характерным свойством аппарата КГ и позволяет ему обрабатывать знания, полученные из других нотаций, как естественных, так и искусственных. Как уже упоминалось, знания, представленные в формате RDF и OWL, можно полностью перевести в синтаксис CGIF, но для жестко типизированной нотации это не всегда справедливо.

Снова обратимся к примеру на рис. 1.1. Ниже приведена запись в расширенном формате CGIF:

[Go *x] [Person: Ivanov] [Metro *y]

(Agnt ?x Ivanov) (Dest ?x [Work]) (Inst ?x ?y)

Как уже отмечалось, в CGIF концепты отмечаются квадратными скобками, а концептуальные отношения – круглыми. Набор символов с префиксом *, например *х, отмечает определяющий узел, на который может быть определена ссылка, заданная таким же набором символов с префиксом ? (в приведенном примере, соответственно, ?х). Эти наборы символов, которые в CL называются именными последовательностями, представляют собой кореферентные метки в CGIF и переменные в других версиях логики. Эквивалентная запись в нотации CLIF будет выглядеть следующим образом:

(exists ((x Go) (y Metro))

(and (Person Ivanov)

(Agnt x Ivanov) (Dest x Work) (Inst x y) ))

В CL-стандарте расширенный CGIF определен как перевод в ядро CGIF, который в свою очередь определен переводом в абстрактный синтаксис CL. Соответственно, выражение CGIF (и его перевод в CLIF) претерпит некоторые изменения, если будет представлять исходный пример в формате ядра CGIF:

[*x] [*y]

(Go ?x) (Person Ivanov) (Metro ?y)

(Agnt ?x Ivanov) (Dest ?x Work) (Inst ?x ?y)

(exists (x y)

(and (Go x) (Person Ivanov) (Metro y)

(Agnt x Ivanov) (Dest x Work) (Inst x y ) ))

Уровень ядра CGIF в синтаксисе CL предполагает наиболее распространенный вариант использования узлов-концептов в качестве представления квантификатора существования, т. е. подобный узел [*x] нужно трактовать как «существует х», и этот узел соответствует концепту в КГ и линии существования в экзистенциальных графах. В ядре CGIF существует возможность задавать имена концептам, например [: Ivanov], но в большинстве случаев в создании таких узлов нет необходимости, так как задавать имена можно также в узлах-отношениях. Как уже отмечалось в 1.4, узел концепта может содержать более одного имени или кореферентную метку, такую, как, например, [: Ivanov ?z]. Такая кореферентная ссылка связывает между собой 2 концепта, отображающих одну и ту же сущность. В экзистенциальных графах такой узел соответствует «лигатуре», которая связывает две линии существования; в CLIF это соответствует равенству: (= Ivanov z).

Как видно из приведенных примеров, CGIF и CLIF очень схожи, но между ними есть несколько фундаментальных различий, на которые нужно обратить особое внимание:

  1. CGIF – серийное представление графа, поэтому метки в нем, такие, как х или у, представляют собой связи между узлами CGIF, но эти же метки являются переменными при использовании их в нотации CLIF или в исчислении предикатов.

  2. Узлы графа CGIF не имеют характерного порядка, следовательно, и предложение CGIF – это неупорядоченный список узлов, порядок которых можно менять, что никак не влияет на семантику предложения, разумеется, только если часть предложения не заключена в соответствующие квадратные скобки контекста.

  3. Оператор and языка CLIF не встречается в CGIF потому, что внутри любого контекста подразумевается конъюнкция узлов. Такое пренебрежение операторами конъюнкции в CGIF позволяет уменьшить количество круглых скобок.

  4. Метки концептов CGIF показывают соединения узлов, и ими можно пренебрегать в случаях, когда они не нужны, что позволяет не только уменьшить число меток, но и сделать предложение CGIF намного более читаемым. Один из способов уменьшить число меток – поместить узлы концептов внутрь круглых скобок узлов-отношений, как это было сделано в CGIF-записи примера на рис. 1.1:

[Go *x]

(Agnt ?x [Person: Ivanov]

(Dest ?x [Work])

(Inst ?x [Metro])

Запись CGIF в таком виде внешне очень схожа с фреймовой моделью представления знаний, однако представляет собой структуру намного более общую, чем фрейм, и может выражать полную семантику CL.

Рис. 2.1. Пример использования акторов

Очень часто для получения тех или иных знаний применяются функции. Для их представления был разработан специальный тип концептуальных отношений, которые называются акторами (см. 1.1). Рис. 2.1 показывает дисплейную форму КГ для следующего равенства, записанного обычным алгебраическим языком: Y = (x + 7)/ sqrt (7).

Три функции этого равенства можно представить тремя акторами, которые показаны на рис. 2.1 в ромбовидных узлах и имеют метки Add, Sqrt, Divide. Узлы концептов содержат значения входов и выходов акторов. Два пустых концепта содержат выходные значения узлов Add и Sqrt.

В CGIF акторы представлены отношениями с дугами двух типов: последовательностью входных дуг и последовательностью выходных дуг, разделенными вертикальной чертой:

[Number: *x] [Number: *y] [Number: 7]

(Add ?x 7 | [*u]) (Sqrt 7 | [*v]) (Divide ?u ?v | ?y)

В дисплейной форме входные дуги концептов Add и Divide пронумерованы 1 и 2 соответственно, чтобы отразить порядок записи дуги в CGIF. Далее приведена соответствующая запись в CLIF:

(exists ((x Number) (y Number))

(and (Number 7) (= y (Divide (Add x 7) (Sqrt 7) ) ) ) )

Никакие CLIF-переменные не требуются для представления кореферентных меток *u и *v, так как функциональное представление, используемое в CLIF, непосредственно показывает связи.

CLIF разрешает функциям иметь только один выход, но расширенный CGIF позволяет акторам иметь множество выходов. Так актор типа IntegerDivide имеет 2 входа: целое х и целое 7, также 2 выхода – частное u и остаток v: (IntegerDivide [Integer: *x] [Integer: 7] | [*u] [*v])

При переводе акторов в ядро CGIF или CLIF вертикальная черта убирается и актор становится обычным отношением с четырьмя аргументами, разделение между входами и выходами теряется. Для установки ограничения, что последние 2 аргумента функционально зависят от первых двух, используется следующее предложение CGIF, постулирующее, что существуют две функции, определенные кореферентными метками Quotient и Remainder, которые для каждой комбинации значений входных и выходных переменных логически эквивалентны актору типа IntegerDivide с соответствующими входами и выходами:

[Function: *Quotient] [Function: *Remainder]

[[@every*x1] [@every*x2] [@every*x3] [@every*x4]

[Equiv: [Iff: (IntegerDivide ?x1 ?x2 | ?x3 ?x4)]

[Iff: (#?Quotient ?x1 ?x2 | ?x3)

(#?Remainder ?x1 ?x2 | ?x4)]]]

Каждая строка этого примера иллюстрирует одно или более свойств CGIF. Первая строка представляет квантификаторы существования для двух сущностей типа Function. Во второй строке контекстные скобки обозначают узлы с квантификаторами универсальности, отмеченными словом @every. Это необходимо, чтобы показать, что Quotient и Remainder охватывают все возможные варианты. Равенство в третьей и четвертой строках показывает, что актор типа IntegerDivide логически эквивалентен конъюнкции функций целого и остатка. И, наконец, символ # в четвертой строке показывает, что кореферентные метки ?Quotient и ?Remainder используются как метки типов. Ниже приведена соответствующая запись в формате CLIF:

(exists ((Quotient Function) (Remainder Runction))

(forall (x1 x2 x3 x4)

(iff (IntegerDivide x1 x2 x3 x4)

(and (=x3 (Quotient x1 x2)) (=x4 (Remainder x1 x2))))))

Этот краткий обзор позволил рассмотреть почти все основные свойства CGIF и CLIF. Еще одно важное свойство (использование последовательности переменных) было рассмотрено ранее. Здесь необходимо лишь указать, что синтаксис CL позволяет обрабатывать также и отношения с переменным числом аргументов, что является еще одним способом использования последовательностей переменных. Спецификация стандарта CL гарантирует, что любое высказывание, выраженное в одном из трех полностью совместимых диалектов – CGIF, CLIF или XCL, может быть переведено в любую другую логически эквивалентную форму. Однако перевод, сохранив всю семантику, необязательно сохранит синтаксические детали: высказывание, переведенное в один из диалектов, а затем обратно, будет логически эквивалентно оригиналу, но порядок подвыражений может быть изменен или они могут быть заменены семантическими эквивалентами.

В основном CL – это абстрактный синтаксис, представляющий собой множество, которое объединяет большое число различных логических языков и нотаций, включая традиционное исчисление высказываний логики первого порядка. Но в связи с тем, что в разное время и в различных местах было разработано и внедрено множество логических языков, появилась необходимость в их обобщении с собственным толкованием для каждого случая:

  • Языки Semantic Web. Стандарт CL поддерживает URI, определенные консорциумом W3C как правомерные последовательности имен CL, и позволяет импортировать текст, хранимый в Web, в CLIF-, CGIF- или XCL-документы. Инструменты, которые импортируют текст, могут при необходимости переводить один диалект в другой во время импорта благодаря тому, что семантика для RDF(S) и OWL была разработана как подмножество модельной теории CL, языки которой могут быть переведены в любой полностью отображаемый CL-диалект.

  • Язык спецификации Z. Модельная теория Z – это подмножество модельной теории CL, но синтаксис Z усиливает жесткую проверку типов и не разрешает квантификаторам распространяться на функции и отношения. В связи с этим Z-высказывания могут быть переведены в CL, но обратно в Z можно гарантированно перевести только те высказывания, которые исходно были написаны в Z.

  • Унифицированный модельный язык (Unified Model Language, UML). UML-диаграммы и нотации не основаны на логике формально, они не имеют формальной спецификации в какой-либо из версий логики, поэтому лучшим способом предоставления надежного обоснования для UML было бы внедрение инструментов перевода UML в CL. Выполненные должным образом такие инструменты были бы способны де факто определять стандарт для семантики UML.

  • Языки логического программирования. Хорошо сформированные языки, которые поддерживают классическое отрицание, могут быть переведены в CL с сохранением семантики. Языки, подобные Prolog, основанные на операции отрицания, могут быть переведены в CL с учетом обычных ограничений, применяемых в работе с противоречивыми данными.

  • Язык баз данных SQL. Операторы WHERE в SQL-запросах и ограничениях представляют собой обычные высказывания логики первого порядка. Трудности появляются при работе с пустыми значениями в базе данных и при определении различий между открытыми и закрытыми посылками. Нелогические свойства SQL можно устранить путем отображения высказывания CL в язык Datalog и обратно, который поддерживает оператор Horn подмножества логики первого порядка и имеет прямой мэппинг в операции SQL.

Цель проекта CL заключается в предоставлении максимально общей семантики, которая обеспечивает взаимодействие языков на семантическом уровне, игнорируя неизбежные синтаксические различия, что позволит максимальному числу пользователей комфортно работать с предлагаемым форматом представления знаний. Проект CL продемонстрировал, что такие, различные на первый взгляд, нотации, как концептуальные графы, исчисление предикатов и языки Semantic Web, могут быть трактованы как диалекты общего семантического основания. Расширение CL, называемое IKL, может поддержать даже более широкий спектр логических нотаций.

Графы имеют ряд преимуществ над линейными нотациями как с человеческой точки зрения, так и с точки зрения вычислительной эффективности. При помощи графов можно отобразить отношения, которые на первый взгляд сложнее увидеть в линейных нотациях, включая CGIF и CLIF. Графы также имеют более высокую регулярную структуру, способную упростить множество алгоритмов рассуждений, поиска, индексирования и подбора. Шесть канонических правил являются примерами операторов, основанных на графах и сфокусированных на семантике. Комбинации этих правил, называемые проекцией и максимальным объединением, позволяют выполнять большее число операций, в частности, отвечать на вопросы или сравнивать релевантности разных альтернатив. Каждое правило оказывает один из трех возможных эффектов на логические отношения между исходным графом u и конечным графом v:

  • Эквивалентность. Копирование и упрощение являются эквивалентными правилами, которые генерируют граф v, логически эквивалентный оригиналу: и . Эквивалентные графы являются истинными в абсолютно схожих моделях.

  • Специализация. Объединение и ограничение – правила специализации, которые генерируют граф v, заключающий в себе оригинал: . Правила специализации монотонно уменьшают множество моделей, в которых результат истинен.

  • Обобщение. Разъединение и снятие ограничений являются правилами обобщений, которые генерируют граф v, заключенный в оригинале . Правила обобщения монотонно увеличивают множество моделей, в которых результат истинен.

Каждое правило имеет обратное правило, которое возвращает назад все изменения, вызванные предыдущим. Так, инверсия копирования – это упрощение, инверсия ограничения – это снятие ограничений, инверсия объединения – это разъединение. Все вместе правила обобщения и эквивалентности достаточны для проведения полной процедуры доказательства на подмножестве логик, чьими логическими операторами являются лишь оператор конъюнкции и квантификатор существования. Правила специализации и эквивалентности могут быть использованы для процедуры опровержения в случае доказательства от противного. Для оперирования всеми возможностями логики первого порядка необходимо добавить правила для оператора отрицания. Пирс определил полную процедуру доказательства для логик первого порядка, чьи правила зависят от того, отрицательный концепт или положительный. Положительный концепт – это концепт, определенный четным (или нулевым) количеством операторов отрицаний, а отрицательный – это концепт, определенный нечетным количеством операторов отрицаний. Все эти правила можно объединить в 3 пары, причем в каждой паре будет правило, вставляющее граф в исходный, и другое, которое граф стирает. Единственной необходимой аксиомой является отсутствие графа как такового, т. е. пустой граф без каких-либо узлов. Такой граф, по сути, является обобщением всех других графов. В качестве примера далее будут приведены правила Пирса, переформулированные в терминах специализации и обобщения. Эти правила можно применять как к логике высказываний, так и к полной логике первого порядка. При этом необходимо отметить, что в логике первого порядка операции установления или удаления связей между двумя узлами фактически либо идентифицируют эти 2 узла схожим образом (т. е. подставляют значение переменной), или рассматривают узлы как возможно отличные друг от друга.

Переформулированные правила Пирса:

    1. В отрицательном контексте любой граф или подграф, включая пустой граф, может быть заменен любой специализацией.

    2. В положительном контексте любой граф или подграф может быть заменен любым обобщением, включая пустое.

    1. Любой граф или подграф любого контекста с можно скопировать в тот же самый контекст с или в контекст, заключенный в контексте с.

    2. Любой граф или подграф, который мог быть выведен при помощи правила 2а, может быть удален, причем неважно, был ли этот граф фактически выведен при помощи правила 2а или нет.

    1. Двойное отрицание, т. е. размещение двух отрицаний без каких-либо других операторов между ними, может быть применено к любому графу, подграфу или множеству графов любого контекста.

    2. Любое двойное отрицание, встречающееся в контексте, может быть удалено.

Такая трактовка правил уходит корнями в учение об экзистенциальных графах Пирса, который сформулировал эти правила в 1897 г. и опубликовал их в 1906-м. Однако эти правила являются правилами упрощения и обобщения правил естественной дедукции Гентцена, и их применение к CGIF может потребовать некоторых уточнений, например следующих: переименовать кореферентные метки или перевести граничные метки в определяющие или наоборот. Например, вследствие удаления определяющего узла граничная метка может стать новой определяющей меткой. В исходном учении о графах эти уточнения не требуются.

Правила 1 – 3 позволяют доказать все аксиомы и правила умозаключений логики первого порядка, включая правила Principia Mathematica, естественную дедукцию, разрешение и пр., а также определить иерархию терминов любого логического языка.

Рис. 2.2. Пример обобщения иерархии

На рис. 2.2 приведен пример иерархии, выраженный при помощи концептуальных графов, но необходимо отметить, что эквивалентная иерархия может быть написана с использованием синтаксиса любого языка представления знаний. По отношению к каждой жирной стрелке на рис. 2.2 граф, находящийся выше нее, является обобщением, а ниже – уточнением. Самый верхний граф можно прочесть следующим образом: нечто подвижное является агентом (Agnt) действия, которое имеет сущность в качестве субъекта (Thme) действия. Графы ниже представляют собой 2 уточнения: граф для описания ситуации, что робот моет грузовик, и граф для описания ситуации, что животное преследует некую сущность. Оба эти графа были выведены из исходного с помощью правила сведения меток типов к подтипам. Граф, описывающий процесс преследования животным некой сущности, имеет 3 подграфа: человек преследует человека, кошка преследует мышь, собака преследует человека. Эти графы также были выведены при помощи правила ограничения.

Кроме правила ограничения при создании рассмотренной иерархии также можно применить правило объединения, например для того, чтобы детализировать граф «Человек преследует человека» подграфом «Учитель преследует ученика в классе». В этом случае подграф будет представлять собой объединение исходного графа и следующего графа-дополнения:

(Dest [Chase] [Class])

Таким образом, новый подграф будет иметь следующую запись в нотации CGIF:

[Human: Teacher] [Human: Student] (Agnt Teacher [Chase]) (Thme [Chase] Student) (Dest [Chase] [Class])

Все графы, приведенные на рис. 2.2, а также производные из них, можно обратить, применяя снизу вверх правила обобщения вместо применения правил уточнения сверху вниз – каждое ограничение можно обратить правилом снятия ограничений, к каждому объединению можно применить правило разъединения.

Иерархия обобщений, приведенная на рис. 2.2, по сути является выдержкой из структуры, определяющей все возможные обобщения и уточнения, которые можно получить с использованием рассмотренных правил умозаключений. Ученые Эллис, Левинсон и Робинсон применили эти структуры вместе с высокоскоростными механизмами поиска к банкам хранения и восстановления графов. Они расширили разработанные ими механизмы, что позволило применять их к системам, которые могут обращаться к миллионам графов в единицу времени, пропорциональную логарифму размера иерархии. Их техники, изначально разработанные для аппарата КГ, могут быть применены к любой нотации, включая фреймы и шаблоны.

Исчисление предикатов и концептуальные графы являются доменно-независимыми нотациями и могут быть применены к абсолютно любой предметной области. В этом отношении они схожи с естественными языками, которые могут выражать все, что можно выразить при помощи любого искусственного языка, и еще гораздо больше. В экспертных системах шаблоны извлечения информации и фреймы обычно очень глубоко детализированы для конкретной предметной области. Одна экспертная система, предназначенная для диагностики раковых заболеваний пациентов, представляет знания при помощи фреймов следующего формата:

(defineType MedPatient

(supertype Person)

…

(motherMelanoma (type Boolean)

(question (`Has the patient’s mother had melanoma?`))…))

Этот фрейм представляет следующую информацию: пациент MedType имеет супертип Person; далее идет перечисление нескольких атрибутов, один из которых, в частности, называется motherMelanoma и имеет 2 образа: один из них декларирует, что значения атрибута должны иметь тип Boolean, а другой указывает строку символов, содержащую вопрос. Как только системе нужно получить конкретное значение атрибута motherMelanoma, она выводит указанную строку символов на экран и просит пациента ответить «да» или «нет». Затем система конвертирует ответ в значение типа Boolean (True или False), который и становится значением атрибута.

Рис. 2.3. Концептуальный граф для предложения «The patient’s mother suffered from melanoma»

На рис. 2.3 приведен концептуальный граф для рассматриваемого примера. Концепт [MedPatient:#], обозначающий пациента, связан с концептом [Mother] посредством отношения (Chld). Отношения выражения (Expr) и источника (Srce) связывают концепт [Suffer] с концептами [Mother] и [Melanoma]. В данном случае иерархия типов могла бы продемонстрировать, что концепт [Mother] является подтипом Woman, [MedPatient] – подтип Person и т. д. Но, с другой стороны, система, которая была бы способна перевести выражение «The patient’s mother had melanoma» в рис. 2.3, была бы намного сложнее обычной оболочки экспертной системы. И даже если бы эта система обладала такими возможностями, ей все равно пришлось бы выполнить последующие логические умозаключения, чтобы определить значение (True или False) атрибута motherMelanoma. С точки зрения разработчика намного проще вывести на экран текстовую строку и позволить пользователю выбрать ответ из предлагаемого меню. Однако такое решение значительно усложняет возможную модификацию системы, ее расширение, возможность связи с другими программами, разработанными для других целей. В связи с этим необходимо рассмотреть некоторые возможные расширения подобных систем:

  • Даже если бы система обладала связью с базой данных для обеспечения возможности непосредственной проверки записей пациентов, то атрибуты, хранимые в базе данных, скорее всего не совпали бы с теми, что необходимы экспертной системе. Вместо хранения значения атрибута motherMelanoma для каждого пациента база данных, вероятно, хранила бы информацию о его родственниках. Поэтому прежде, чем экспертная система была бы способна определить значение атрибута, некий разработчик должен был бы написать запрос к базе данных или более детально проанализировать концепты Mother, Disease, Melanoma.

  • Кроме вопросов ряд экспертных систем имеют дополнительную текстовую строку для пояснения запросов. Многие из них хранятся как отдельные фразы и выводятся при выполнении конкретного правила. Однако при использовании одних и тех же строк с контекстно-зависимыми переменными могут потребоваться более детальные объяснения. В связи с этим система стала бы более сложной, и пояснения, подсказки и прочая текстовая информация заняли бы больше места при хранении, чем правила. При этом каждое изменение структуры правил неизбежно повлекло бы за собой необходимость изменения текстовой информации.

  • Написание таких подсказок, текстовых строк и объяснений и поддержание их в необходимом порядке является сложной задачей даже при выполнении ее в рамках одного языка, но для системы, используемой во многих странах, такие подсказки должны быть написаны и время от времени пересмотрены для всех языков.

Проблемы, появляющиеся при использовании фреймов, остаются неизменными и в случае использования IE-шаблонов. Механизмы определения позволяют особым фреймам или шаблонам быть определенными в терминах более общего представления, которые поддерживают все детали высказываний естественного языка.

Возвращаясь к правилам канонических форм, необходимо отметить, что все они были внедрены практически во всех КГ-системах. Они используются в методах формальной логики, в неформальных case-методах, а также в различных вычислительных методах. Многошаговая комбинация, называемая максимальным объединением, используется для определения протяженности области пересечения двух КГ. В работе с естественными языками максимальное объединение может оказаться полезным при разрешении неопределенностей и определении наиболее похожих связей между новой информацией с исходными знаниями и предыдущим концептом рассуждения. Во всех методах рассуждений, формальных и неформальных, большая часть времени уделяется поиску соответствующих правил, аксиом или предварительных знаний. Проводимые в настоящее время исследования по эффективности методов индексации графов и выбору наиболее релевантной информации продемонстрировали громадное улучшение во многих областях применения, но еще больше усилий требуется для внедрения подобных методов индексирования в общепринятые системы рассуждений.

Естественные языки являются системами с очень богатыми выразительными возможностями и могут выразить все, что когда-либо было выражено формальным языком или логикой. Они даже могут выражать высказывания метауровня о самих высказываниях, их взаимосвязи с другими языками и истинности любого высказывания. Такая выразительная мощь приводит и к возможности появления парадоксов и противоречий, как, например, в высказывании: «Это высказывание ложно». Большинство формальных языков позволяют избежать парадоксов внедрением ограничений на выразительную мощность. В CL, например, можно представить любое предложение в любом CL-диалекте в качестве «строки в кавычках» и даже можно определить синтаксическую структуру таких строк. Но CL не имеет механизма, позволяющего трактовать такие строки как CL-предложения и соотносить подстроки в них с соответствующими CL-именами.

Хотя логические парадоксы можно выразить при помощи естественного языка, наиболее общее использование языка заключается в описании наших убеждений, желаний и намерений по отношению. Различные версии логики и языков представления знаний, включая КГ, были использованы для выражения такого языка. В качестве примера рассмотрим предложение: «Tom believes that Mary wants to marry a sailor». Это предложение содержит 3 высказывания, размещение которых можно обозначить скобками:

Tom believes that [Mary wants [ to marry a sailor]].

Ссылки на индивидуумы, используемые в данном примере, могут пересекать границы контекстов разными способами:

Tom believes that [there is a sailor whom Mary wants [to marry]].

There is a sailor whom Tom believes that [Mary wants [to marry]].

а

б

Рис. 2.4. Дисплейные формы, представляющие высказывание «Tom believes Mary wants to marry a sailor»

На рис. 2.4 приведены дисплейные формы КГ, интерпретирующие первое и второе высказывания. В КГ на рис. 2.4, а квантификатор существования для концепта [Sailor] помещен в концепт ситуации, которую желает Мэри. Существует ли на самом деле этот моряк, и знает ли на самом деле Том или Мэри желания этого моряка – не определено. КГ на рис. 2.4, б интерпретирует вторую ситуацию: он постулирует, что моряк существует – связи контекстов и отношений выражают, что Том знает его и верит, что Мэри тоже знает его. Возможен еще и третий вариант – концепт [Sailor] может быть помещен внутрь контекста типа Proposition, что оставило бы вопрос о существовании моряка неопределенным, но выразило бы, что Том верит в его существование, равно как и в то, что Мэри его знает.

Контексты типа Proposition или Situation поднимают новые вопросы логики и онтологии. CL-семантика может представлять сущности любого типа, включая предположения и ситуации, но никоим образом не гарантирует, что такие сущности можно соотнести с внутренней структурой CL-предложений. Более выразительный язык, называемый IKL, был разработан как совместимое расширение CL. IKL-семантика представляет сущности, называемые высказываниями, а также специальный оператор «that», соотносящий IKL-предложения с высказываниями, которые они выражают. IKL-семантика не имеет встроенного типа контекстов для отображения ситуаций, но обладает возможностью создавать контексты, свидетельствующие о существовании сущностей типа Situation, и связывать их с высказываниями.

Каждая строка IKL-записей выражает эквивалент, соответствующий строке CGIF. Необходимо отметить, что каждое появление концепта Proposition в CGIF соответствует концепту that в IKL. Синтаксис CLIF или IKL требует большего количества круглых скобок, чем CGIF, потому что каждое появление (exists или (and требует соответствующей закрывающей скобки.

Все эти примеры иллюстрируют то, что оператор that добавляет очень большую выразительную мощь, но при этом оставляет IKL на уровне логики первого порядка. Узлы высказываний (proposition) в КГ или оператор that в IKL вводят абстрактные сущности типа Proposition, но они представляются как отношения с нулевым аргументом, что поддерживается семантикой CL. Хотя язык высказываний является, по сути, метаязыком, он сам по себе не выходит за границы логики первого порядка. Тарски продемонстрировал, как можно оперировать многослойной системой метауровней, каждый из которых полностью удовлетворяет условиям логики первого порядка, не создавая парадоксов и не выходя за границы семантики логики первого порядка. Для того чтобы достичь этого эффекта, Тарски задекларировал, что конкретные типы предложений (которые нарушают границы между слоями) не выражают высказывания в его моделях. В теорию модели IKL заложен похожий способ, как избежать парадоксов: он не требует, чтобы каждая модель содержала высказывание для каждого возможного предложения. Например, следующее предложение, звучащее в английском языке парадоксально, может быть выражено как в IKL-, так и в CGIF-синтаксисе:

There exists a proposition p, p is true,

And p is the proposition that p is false.

Так как IKL не требует, чтобы каждое предложение выражало высказывание в каждой модели, существуют разрешающие IKL-модели, в которых это предложение ложно просто в силу того, что такое высказывание не существует. Следовательно, парадокс исчезает потому, что предложение имеет стабильное ложное значение функции истинности.

На протяжении многих лет термин концептуальный граф использовался в широком смысле как нотация, которая имеет большое пересечение с нотацией, предложенной Джоном Сова. Такое использование привело к большому количеству диалектов с различными степенями совместимости. Цель стандарта заключается в стабилизации будущих разработок на стадии, когда можно предоставить фиксированную, надежную платформу для разработки продуктов и приложений. Для поддержки фундаментальных исследований, пока указанная стандартизованная платформа находится в стадии разработки, необходимо провести различия между стандартами ISO для CG, IKL CG и исследовательских CG. Первые две нотации предлагают богатые и устойчивые платформы для разработки приложений, тогда как третья нотация может быть применена в исследовательских проектах и позволяет добавлять расширения и модификации, которые могут понадобиться для конкретного приложения и которые могут однажды быть добавлены в стандарт.

Большая часть свойств исследовательских КГ необходима для поддержания семантик естественных языков. Некоторые из этих свойств, такие, как модальные операторы, хоть и имеют очень богатую историю, не включены в стандарт CL, так как их семантики содержат открытые до сих пор исследовательские проблемы. Далее приведены наиболее распространенные исследовательские расширения, которые были предложены или выполнены в различных формах в течение последних лет:

  • Контексты. Пирс впервые использовал символ овал для того, чтобы отрицать графы, расположенные внутри, и это единственное использование этого символа, поддерживаемое стандартом CL. Однако Пирс обобщил овалы для описания контекстов, которые позволяют отношениям, отличным от отрицания, быть связанными с контекстами. Большинство этих свойств могут быть определены в терминах IKL, описанных ранее, но нет никакого консенсуса или определения, которое можно рассматривать в качестве стандарта.

  • Метаязык. Базовое использование контекстных сущностей заключается в обозначении графов, заключенных внутри них. Синтаксис этого метауровня позволяет любому семантическому подходу быть определенным при помощи аксиом, которые указывают, как нужно интерпретировать заключенный внутри контекста граф. Джон Сова адаптировал данный подход к семейству «заключенных графовых моделей» (NGM, nested graph models), которые можно использовать для формализации семантики многих видов модальных и интенсиональных логик. Иерархия метауровней с семантиками NGM способна эквивалентно выражать широкий спектр модальных, темпоральных и интенсиональных логик. Наиболее полезные NGM-модели могут быть представлены при помощи семантики IKL, но многие вариации и их применение по отношению к естественному языку еще не были полностью исследованы.

  • Обобщенные квантификаторы. В дополнение к обычным квантификаторам – универсальности и существования – естественные языки поддерживают несколько открытых с одного конца квантификационных выражений, таких, например, как «точно один», «по крайней мере семь», «значительно больше». Выражения, использующие некоторые из этих квантификаторов, например «точно одна кошка», могут быть представлены следующим образом: [Cat: @1] и определены в терминах стандарта CL. Другие – такие, как «как минимум семь кошек», могут быть представлены как [Cat: @<=7] и определены при помощи одной из вариаций теории множеств, добавленной к базовой логике. Однако квантификаторы, такие, как «значительно больше», требуют каких-либо методов приближенных вычислений, как, например, нечеткая логика или теория грубых множеств.

  • Индексы. Пирс доказал, что каждому логическому высказыванию необходим как минимум один индекс, чтобы зафиксировать референты его символов. Базовый индекс, который соответствует определению самой сущности, представляется символом # внутри узла-концепта, как, например, [Dog: #], и обозначает термин «собака». Аналогичным образом можно определить прочие необходимые концепты. Чтобы обрабатывать индексы, некоторые лингвисты предлагают так называемую динамическую семантику, в которой модель обновляется во время процесса рассуждения. Более простой метод заключается в трактовке символа # в качестве синтаксического маркера, который отображает неполную интерпретацию исходного высказывания. При использовании этого подхода истинное значение КГ, содержащего один или более символ #, не может быть определено до тех пор, пока эти маркеры не будут заменены именами или кореферентными метками. Такой подход поддерживает индексы в качестве промежуточного представления, но использует конвенциональную модельную теорию для оценки окончательного решения.

  • Множественные существительные. Множества определены в КГ набором выражений внутри узлов-концептов. Концепт [Cat: {*}@3] может представлять трех кошек, а концепт [Dog: {Lucky, Macula}] представляет двух собак – Lucky и Macula. Различные методы были предложены для представления распределенных и коллективных множественных существительных, а также для перевода их в различные версии теории множеств. С другой стороны, в области представления таких множеств все еще остается большой простор для лингвистических исследований, а существующие теории и методы не могут быть включены в синтаксис или семантику стандарта на настоящем этапе его существования.

  • Процедурные приложения. Стандарт CL определяет акторы как множественные функциональные отношения, тогда как различные интерпретации предлагают большее число неформальных версий, в которых акторы представляют случайные процедуры. Некоторые версии реализуют алгоритмы передачи маркера, используя символ ? для обратного запроса в запросных графах и символ ! для активизации триггера (прямое движение), присваивающего новое значение. В качестве примеров можно привести следующие концепты: [Employee: ?] можно трактовать как «which employee» – который работник, а концепт [Employee: Ivanov!] декларирует значение концепта – работник Иванов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]