Ограничения-пометы

У всех людей есть имена. Поэтому, чтобы расширить свои знания о том, какие бывают люди, нам необходимо извлекать не только прилагательные, которые идут перед словом «человек», но и прилагательные, определяющие имена собственные.

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

Для наложения ограничений на терминал или нетерминал в Томите используются специальные пометы (см. список помет). В нашем случае нам нужна помета h-reg1, указывающая на то, что первая буква слова должна стоять в верхнем регистре. Если первая буква будет в нижнем регистре, то правило с такой пометой не сработает. Тогда мы получим такое правило:

S -> Adj Word<h-reg1>;

Кроме пометы h-reg1 есть еще помета h-reg2, обозначающая, что все буквы слова должны быть в верхнем регистре (как, например, в слове МОСКВА), и помета h-reg3, обозначающая так называемый верблюжий регистр (или CamelCase), в котором первая и, как минимум, еще одна буква в слове стоят в верхнем регистре (как, например, в слове СитиИнвест)

Обработав следующий текст при помощи правила S -> Adj Word<h-reg1> мы узнаем, с какими именно эпитетами упоминаются в нем литературные персонажи.

(4) В красном фраке и белоснежных панталонах ездит этот изнеженный Чичиков по российским просторам и встречает не людей… а кукол фарфоровых: то парочку Маниловых (щечки розовые, оборочки розовые), то лохматого Собакевича с супругой, то оглушительного Ноздрева в венгерке на голый торс. (Гоголь Н.В., «Мертвые души»)

В этом примере правила сработали на нужных словах, но результат нормализации нас вряд ли устроит, т.к. к словарной форме приведены только прилагательные (Чичикову повезло только потому, что его фамилия была употреблена в нужной форме). Поскольку мы ничего не сказали о связи между Adj и Word<h-reg1> кроме того, что они стоят рядом и именно в этом порядке, то парсер не знает о том, что прилагательное изменяется вместе с существительным (лохматый Собакевич, лохматого Собакевича, лохматому Собакевичу, ...). По умолчанию к словарной форме приводится только главное слово в цепочке. Если не указано иного, то главным словом цепочки является первое. О том, как сообщить парсеру о связях между словами, и как указать главное слово в цепочке, читайте в следующих разделах этого учебника.