Главная arrow книги arrow Копия Глава 22. Общение arrow Расширенные грамматики
Расширенные грамматики

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

является сокращенным обозначение для такого определенного выражения:

Это правило гласит, что если строка s1 представляет собой местоимение Pronoun с падежом, указанным переменной case, то s1 также представляет собой словосочетание NP с тем же падежом. Вообще говоря, символ категории может быть дополнен любым количеством формальных параметров, а сами формальные параметры могут заменяться фактическими параметрами, подлежащими унификации, как в обычном логическом выводе с использованием хорновских выражений.

Но за такое удобство приходится платить: в распоряжение составителя грамматики передается все мощь системы автоматического доказательства теорем, поэтому приходится отказываться от гарантированного выполнения синтаксического анализа за время ; задача синтаксического анализа грамматики с расширениями может оказаться NP-трудной или даже неразрешимой, в зависимости от этих расширений.

Для того чтобы обеспечить применение грамматики DCG, необходимо воспользоваться еще несколькими приемами; например, требуется способ задания терминальных символов, кроме того, было бы удобно иметь возможность не вводить автоматический строковый параметр. Учтя все эти пожелания, авторы решили, что нужно задать грамматику определенных выражений как описано ниже.

•    Записьдолжна быть преобразована в запись

•    Запись должна быть преобразована в запись

•    В том и в другом приведенном выше правиле любой нетерминальный символ Υ может быть дополнен одним или несколькими параметрами. Каждый параметр может представлять собой переменную, константу или функцию от некоторых параметров. После перевода в форму определенного выражения эти параметры должны предшествовать строковому параметру (например, терм NP(case) переводится в формуι.

•    Запись {Ρ (...) } может появляться в правой части правила и буквально переводится в Ρ (...). Это позволяет составителю грамматики вставлять проверку для терма Ρ (...) без необходимости добавления автоматического строкового параметра.

•    Записьпереводится как х( [word] ).

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