Метастатьи в лексиконе

Метастатьи - это способ группировки словарных статей по определенным признакам, к примеру по одинаковой синтаксической функции или по семантической эквивалентности.

В отличие от словарных статей, метастатьи не хранят грамматические формы и грамматические атрибуты объединяемых статей. Вместо этого они хранят только список идентификаторов (первичных ключей) словарных статей.

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

Рассмотрим два примера, когда метастатьи оказываются удобным способом упростить описание русской грамматики.

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

Для синтаксического анализатора русского текста очень важное значение имеет правильное описание предложной валентности, то есть возможности присоединения предложного дополнения с именной частью в определенном падеже:

я живу в Берлине

я еду в Берлин

Часть глаголов допускает присоединение паттернов в+сущ в винительном падеже, другая часть - в предложном, а некоторые позволяют присоединять оба варианта. Чтобы синтаксический анализатор знал, когда можно выполнять связывание предложного дополнения, русский раздел словаря содержит специальную базу знаний, в которой перечисляются соответствующие глаголы. Нетрудно убедиться, что в подавляющем большинстве случаев глаголы, причастия и деепричастия ведут себя в плане связывания с предложным дополнением, полностью одинаково. Поэтому в базе знаний необходимо прописывать для каждого случая отдельно глагол, все причастия и деепричастия. Этот рутинный процесс можно многократно упростить с помощью метастатей. В русском лексиконе объявлены метастьи типа rus_verbs, каждая из которых объединяет инфинитив, глагол и образованные от него причастия и деепричастия.

Другой пример использования метастатьей заключается в объединении уменьшительных и увеличительных вариантов слов. К примеру, для разрешения омонимии цвет-цветы можно использовать механизм ассоциаций со словами букет и оттенок:

букет цветов (цветы)

оттенки цветов (цвет)

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

Объявление метастатьи

Метастаться объявляется так:

metaentry расселять : rus_verbs
{
 инфинитив:расселять{}
 глагол:расселять{}
 деепричастие:расселяя{}
 прилагательное:расселяемый{}
 прилагательное:расселявший{}
 прилагательное:расселяющий{}
}

Шапка метастатьи содержит условное имя расселять, которое в данном случае из соображений удобства взято совпадающим с инфинитивом, и название специальной части речи rus_verbs. Конечно, часть речи должна быть объявлена заранее.

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

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

  © Козиев Илья 2019
изменено 04-Nov-12