6.2.2. СИСТЕМЫ ПОДСТАНОВКИ
Мы можем вначале задать серию правил подстановки (предполагается, что они являются конкатенирующими; ср. §6.6.1) следующего вида:
(1) Σ → NP + VP
(2) VP → V + Adv
(3) NP → A + N.
Каждое из этих правил (за исключением первого) применяется одно за другим к выходу предыдущего правила — так что при подстановке (или «переписывании») ко всякому символу, стоящему в левой части правила, добавляются заключенные в скобки символы, стоящие после стрелки. Тогда выходом правила (1) будет:
Σ (NP + VP),
посредством применения к нему правила (2) получится:
Σ {NP + VP (V + Adv)}
и, наконец, применяя правило (3), мы получим:
Σ {NP (A + N) + VP (V + Adv)}.
Иначе говоря, каждое правило заключает в одни скобки составляющие, которые образуют определяемую им конструкцию, и, помечая скобки, дает название конструкции; при этом порядок применения правил определяет структурные слои. В данном случае результат бы не изменился, если бы правило (3) применялось до правила (2). Но правило (1) должно применяться первым, чтобы получились элементы, требуемые для применения правил (2) и (3). Элемент, стоящий в левой части правила (1) данной грамматики, обозначает конструкцию самого высокого уровня, составляющими которой являются все остальные конструкции, порождаемые грамматикой. Мы будем называть этот элемент («предложение») начальным символом. После применения всех правил, имеющих отношение к порождению определенного типа предложения, грамматика «произведет» «цепочку» заключенных в скобки символов (прилагательное, существительное, глагол и т. д.), каждый из которых обозначает некоторый класс элементов лексикона. Символы, обозначающие лексические классы, мы будем называть терминальными символами, а цепочки заключенных в скобки терминальных символов — терминальными цепочками. Если теперь заменить каждый из терминальных символов в терминальной цепочке каким-либо членом обозначаемого им лексического класса, мы получим предложение, структура составляющих которого целиком определена правилами, порождающими эту терминальную цепочку. Так, при условии, что словарь содержит следующую информацию (ср. § 4.1.3 и сл.):
N = {John, и т. д.}
V = {ran, и т. д.}
А = {poor, и т. д.}
Adv = {away, и т. д.},
приведенная выше грамматика из трех правил будет порождать такие предложения, как Poor John ran away, вместе с их правильной структурой составляющих. Наоборот, имея данное предложение и используя лексикон, организованный более удобным для анализа образом, то есть приблизительно в такой форме, как
away : Adv
John : N
poor : A
ran : V,
мы сможем заменить каждое слово этого предложения символом его класса и затем последовательно обработать его правилами грамматики, пройдя по ним снизу вверх и Справа налево до тех пор, пока, благополучно дойдя до начального символа правила (1), мы тем самым не признаем предложение грамматически приемлемым и обладающим определенной структурой составляющих. Следует подчеркнуть, что возможность выбирать направление последовательного действия правил связана с тем, что данная грамматика удовлетворяет некоторым общим условиям (которые мы здесь не будем рассматривать; ср. § 6.2.11). Независимо от этой частной особенности она нейтральна относительно анализа и синтеза (см. § 4.3.1), и она формализует понятие «размеченной скобочной записи» (см. § 6.1.3).
6.2.3. АЛЬТЕРНАТИВНЫЕ ПРАВИЛА
Теперь расширим эту грамматику так, чтобы сделать ее способной «производить» и «распознавать» не только такие предложения, как Poor John ran away, но и предложения типа Old men love young women 'Старые мужчины любят молодых женщин'. Мы можем сделать это путем введения правил, предусматривающих альтернативные способы «замены» элемента VP (глагольная группа). Таким образом:
(1) Σ → NP + VP
(2а) VP → V>intr + Adv
(2b) VP → V>tr + NP
(3) NP → A + N.
Имеется в виду, что одно из подправил — (2а) или (2b) — должно быть применено обязательно, но выбор между ними произволен. Введя в грамматику возможность выбирать между (2а) и (2b), мы должны также изменить классификацию слов в лексиконе: