В правой части правила наряду с нетерминальными символами и списком терминальных символов могут находиться последовательности вызовов процедур, записываемых в фигурных скобках ({and}). Они используются для выражения дополнительных условий, которые в обязательном порядке должны выполнятся, чтобы правило действовало. Нетерминальный символ преобразуется в (N + 2)-местный предикат (имеющий идентичное название), чьи первые N параметры полностью описаны в нетерминальном символе и чьи последние два параметра являются такими же, как и при трансляции контекстно-свободного нетерминального символа. Вызовы процедур в правой части правила транслируются так, как они есть.
Каждое грамматическое правило, типа
p(X) -> q(X).
получает группу входящих данных, анализирует некую исходную часть и генерирует остаток для дальнейшего анализа. Это частное правило транслируется системой PROLOG как
p(X, S0, S): - q(X, S0, S).
Следовательно, система грамматической индексации в PROLOGе обеспечивает более сжатую запись, когда параметры для групп входящих и выходящих данных неявно выражены.
Когда в правиле содержатся терминальные символы, они транслируются со сказуемым "connects". К примеру,
connects(S1, X, S2)
означает, что суть S1 связана через X с сутью S2.
Правило
p(X) -> (older), q(X), (high).
преобразуется в
p(X, S0, S): - | connects(S0, older, S1), |
q(X, S1, S2), | |
connects(S2, high, S). |
АНАЛИЗ ЕЯ
В 1977 году Колмеройер ввел общую схему анализа ЕЯ, что явилось решающим шагом вперед и вызвало огромный интерес в области использования логических грамматик как альтернативы прочно утвердившимся грамматикам расширенных сетей переходов (augmented transition network grammars). С исторической точки зрения, это можно признать поворотным пунктом, так как был указан метод преобразования предложений ЕЯ в логические структуры. Метод заключался в рассмотрении простейших высказываний, содержащих собственные имена существительные, какой бы то ни было артикль в виде квантора (кванторного слова) с тремя операциями перехода и четыре приоритетных правила, для разрешения проблемы иерархии квантования (количественного измерения качественных признаков).
Краткий обзор общей схемы побуждает к дальнейшему развитию приемов составления логических грамматик. Например, предложение
Chomsky is (a) writer
содержит имя собственное, и глагол “to be” преобразуется в формулу
writer(chomsky)
Главным образом глаголы, прилагательные, имена существительные вводят характеристики с n параметрами. Для глаголов, n может равняться 1 [непереходные глаголы] или N+1 [переходные глаголы, где N - количество комплементов (дополнений, следующих за глаголом в составном сказуемом и описывающих его подлежащее)]. Для прилагательных и имен существительных n равняется или больше 1 (отношения, где n - это n-место его параметров). Параметры представляют в предложении дополнения при имени существительном, глаголе или прилагательном.
Например, предложение
Chomsky writes a book
содержит глагол “write”, существительное “book” и артикль “a” и может быть заменено следующей формой:
for a
B
such that
B is (a) book (1)
it is true that
Chomsky writes B (2)
где (1) и (2) являются простейшими высказываниями.
Эта же логическая структура может быть записана в стенографических индексах:
a(B, book (B), writes(Chomsky), B)).
Обратите внимание, что высказывания (1) и (2) преобразуются в формулы “book(B)” и “writes(Chomsky, B),” соответственно.
Логическая структура выражает смысл предложения, и каждая из ее составных частей соответствует смыслу обособленных слов согласно принципу Фреже. Записи, передающие значение, указываются как логические структуры, так как единственным из области значения, что люди научились точным образом представлять в виде записи в ЭВМ, являются логические отношения.
Всякий артикль a представляет квантор q (кванторное слово) с тремя операциями перехода, создающий новую формулу из переменной x и двух формул f1 и f2,
q(x, f1, f2).
Эта формула соответствует высказыванию
for a x such that e1, it is true that e2
где e1 и e2 являются простейшими высказываниями соответствующими f1 и f2.
Например, предложение
Chomsky writes a book for each publisher
содержит глагол “write”, два существительных (“book” и “publisher”) и два артикля (“a” и “each”) и может быть заменено следующей формой:
for each P such that P is a publisher it is true that for a B such that B is a book, it is true that Chomsky writes B for P
Предложение преобразуется в логическую структуру
each(P,
publisher(P),
a(B,
book(B),
writes-for(Chomsky, B, P))).
Эта логическая структура отражает следующее приоритетное правило: в конструкции с использованием имени существительного (book) и его дополнения (publisher), квантование, представленное артиклем при дополнении, влияет на квантование, представленное артиклем при имени существительном. Помимо этого правила Колмеройер предложил еще 3 приоритетных правила для организации возможности квантования.
АНАЛИЗ КОЛМЕРОЙЕРА ДЛЯ КОНКРЕТНОГО ЕЯ
Общая схема анализа была изначально предложена Колмеройером для французского и английского языков. Позднее Даль адаптировал ее для испанского, Коэлхо - для португальского, а Пик предложил иную семантику для артиклей французского языка.
ОБЩАЯ СХЕМА АНАЛИЗА КОЛМЕРОЙЕРА В КАЧЕСТВЕ ГРАММАТИКИ, ПОСТРОЕННОЙ НА ОПРЕДЕЛЕННЫХ ПРЕДЛОЖЕНИЯХ (DCG)
DCGs поддерживают процессы синтаксического анализа и транслирования благодаря взятым ими на вооружение из подмножества ЕЯ, необходимым элементам синтаксиса и семантики. Процесс синтаксического анализа состоит из доказательства, что цепочка слов является законным и правильно построенным предложением (с точки зрения выбранного синтаксиса). Процедура доказательства осуществляется через исследовательскую стратегию (с конца на начало, сверху вниз, слева направо) и через правило умозаключения (логического вывода), где заключением является qv, уже после отработки системы PROLOG. Трансляция заключается в изображении каждого предложения в виде логической структуры. Эта структура состоит из правильно построенных формул определенной логической системы, которая основывается на объеме понятия логики предикатов(qv).
Механизм транслирования выражается как множество определенных предложений логики через грамматические правила PROLOGа. Он (механизм) может содержать, как вместе, так и по отдельности синтаксические и семантические знания из подмножества рассматриваемого ЕЯ. Механизм синтаксического анализа зависит от системы PROLOG, и он может быть вскрыт включением отслеживающего устройства. Трансляция и синтаксический анализ - независимые друг от друга процессы, их независимость позволяет легче производить изменения в грамматике.
Упрощенная грамматика, обозначаемая через G, рассматривается следующим образом. Она производит синтаксический анализ английских предложений, одновременно порождая соответствующие им логические структуры. Грамматика определяется 2 модулями:
синтаксис + семантика
морфология
и имеет дело с предложениями типа: Hodges writes for Penguin.
СИНТАКСИС + СЕМАНТИКА
sentences(S) -> noun-phrase(NP, S2, O),
verb([subject-X | L], O1),
complements(L, O1, O2).
complements([ ], O, O) -> [ ].
complements([K-N | L], O1, O3) -> complements(L, O1, O2),
case (K),
noun-phrase(N, O2, O3).
noun-phrase(N, O2, O4) -> article(N, O1, O2, O3),
common-noun([subject-N | L], O1),
complements(L, O3, O4).
noun-phrase(PN, O, O) -> [PN], {proper-noun(PN)}.
article[A, O1, O2 and (O1, O2)] -> [a].
case(for) -> [for].
case(direct) -> [ ].
МОРФОЛОГИЯ
verb([subject-A, for -P], is-published-by(A,P)) -> [writes].
common-noun([subject-P], publisher(P)) -> [publisher].
proper-noun(hodges).
proper-noun(penguin).
К примеру, правило:
noun-phrase(PN, O, O) -> [PN], {proper-noun(PN)}.
представляет собой структуру:
noun-phrase(PN, O, O, S0, S): - connects(S0, PN, S),
proper-noun(PN).
Первое правило грамматики G, по идее, признается справедливым только для предложений, в которых за именной группой следует глагол с возможно некоторыми дополнениями. Первое грамматическое правило для дополнений допускает их отсутствие (терминальный символ [ ] выступает в роли пустого списка), второе правило для дополнений определяет последовательность дополнений как группу данных, составленную из дополнения, падежа и именной группы.
Различные параметры отличных друг от друга нетерминальных символов связаны одной и той же логической переменной. Это позволяет строить структуры в процессе унификации.
Именная группа “a publisher” анализируется и транслируется грамматическим правилом как:
noun-phrase(N, Oa, Ob) -> article(N, Oc, Od, Oe),
common-noun(N, of),
{constraints(Oa, Ob, Oc, Od, Oe, Of)}.
Заметьте, что это правило - упрощенная версия четвертого правила представленной грамматики G. Нетерминальный символ для именной группы имеет 3 параметра. Интерпретация последнего параметра Ob будет зависеть от характеристики Oa индивидуума N, так как в общем именная группа содержит артикль, такой как “a”.
Теперь смотри на правую часть правила. Слово “a” имеет интерпретацию Oe,
and(Oc, Od)
в контексте двух характеристик Oc и Od индивидуума N. Характеристика Oc будет соответствовать оставшейся части именной группы, содержащей слово “a”, а характеристика Od вытекает из остатка предложения. Значит, Oe будет содержать всеобъемлющую интерпретацию и связываться с Ob через одну и ту же переменную. Так как Of является характеристикой нарицательного существительного, она связывается с Oc одной и той же переменной. Oa имеет описание характеристик N, а также зависит от характеристик оставшейся части предложения. Поэтому Oa связывается с Od через одну и ту же переменную.
Каждое слово ассоциируется с характеристикой. Например, значение глагола “writes” вводится отношением “is-published-by(A,P)”. Глагольное правило также содержит информацию о характеристиках отношения, а именно то, что “A” играет роль подлежащего предложения а “P” “навязывает” использование предлога “for”. Значение неопределенного артикля “a” вводится конъюнкцией “and(O1, O2)” согласно определению, принятому в классической логике.