Падежи

Материал из IFВики
Перейти к навигации Перейти к поиску

Паде́ж в синтетических языках — категория слова (обычно имени), показывающая его синтаксическую роль в предложении и связывающая отдельные слова предложения.

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


Падежи и их значение в РИЛ

Именительный

  1. Используется для отдачи приказов указанием действующего лица: "лиса, молчи"
  2. Для уточнений
  3. может вводиться как сокращение

Часто используется при формировании сообщений: "Но Илья Муромец ещё не проснулся!"


Родительный

  1. выражает определение или дополнение, что делает его прилагательным в терминах анализатора: обух топора
  2. указывает косвенный объект места действия: "взять все со стола"

Часто используется при формировании сообщений, обозначая отсутствие, принадлежность и ряд других случаев: "У Вас нет СПИДа", "Что вы хотите получить от козла?", "Вы не дотянетесь до кота"


Дательный
используется в глаголах, выражающих действие направленное к объекту или от него (обычно косвенный объект): "дать хомяку", "прибить к столбу", "идти к дому", "привязать к забору"
В сообщениях указывает кому (не) удается что-то сделать, указывает косвенный объект


Винительный
указывает как прямой, так и косвенный объекты: "сунуть палку в топку" В сообщениях используется аналогично


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

  1. обозначает косвенный объект: "побрить злодея топором"
  2. указывает место: взять за стеклом ключи

В сообщениях используется аналогично


Второй творительный
Литературная или украинизированная форма с окончаниями -ою, -ею, -ёю
используется редко, главным образом для распознования ввода эстетствующих игроков: "окропить святою водою"


Предложный

  1. тема для разговора: "спросить о плинтусе"
  2. определение места: "сидеть на стуле"

В выводе практически не используется напрямую, а только через местный. О последнем ниже.


Местный
малоизвестный падеж, который объединяет два последних случая в родительном и предложном падежах. Существование его вызвано тем, что у разных слов обстоятельство места указывается по разному - чаще в форме предложного, но порой и дательного падежа: "ящик на столе", "ящик на полу"
Указание местного падежа в системе позволяет учитывать эту неоднозначность.
Имеет смысл только для вывода и должен использоваться очень активно в любой стандартной библиотеке.


Звательный
Может использоваться в командах актерам: "Вась, наливай"


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


Лишительный
Совпадает либо с родительным, либо с винительным: нет вилки, не можешь взять вилку. Может влиять только на вывод фразы, но автор интуитивно поймет какой из падежей подставить в конкретном случае, а потому для РИЛ не актуален.


Счетный, превратительный, ждательный практически не актуальны для РИЛ


Особенности адаптации англоязычного парсера

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


Дательный:

  • дать корзину Плохишу -> дать корзина to Плохиш


Творительный:

  • забить гвоздь калькулятором -> забить гвоздь with калькулятор


Родительный:

  • прихлопнуть князя Гвидона -> прихлопнуть князя of Гвидона


В иных возможных случаях падежи также согласуются через предлоги и хорошо вписываются в англоязычную схему.


Реализация в существующих парсерных платформах

RTADS


из падежей TADS распознаёт только английский притяжательный (через 's), причем эта функция вшита в глубины системы и не вычленяется. Таким образом, изначально система все трактует как именительный и ожидает предлогов для указания косвенных объектов.
При русскоязычной адаптации был разработан алгоритм предварительного разбора фразы и преведения к виду, указанному в предыдущем параграфе. Творительный и дательный падеж распознаются только с глаголами, к которым они пременимы (стукнуть тяжелым, подарить девушке), в остальных случаях трактуются как именительный. Родительный опознается только в прилагательных.
Хотя подход нельзя назвать чистым, но если система понимает неправильно согласованные фразы (взять ботинке из тумбочкой), никому от этого большого вреда не будет (кроме случеев совпадения форм у разных объектов: прыгнуть с крыши => Имеете в виду "крыша" или "крыши"?)


ТОМ


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

Падежные формы задаются объектам с помощью лексем, и далее используются в согласовании по падежам и для определения правильных форм в парсере:

мышонок.title="мышон%; Мр; Ип; Ип=ок; Рп=ка; Дп=ку; Вп=ка; Тп=ком; Пп=ке;" //для синтеза
мышонок.lex = .title //та же лексема для анализа в парсере

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

%дать {мышонок*Дп} {горох*Рп}.

Для указания формы слова в команде, согласование по падежам указывается в шаблоне команды:

.шаблон = "дать=дай @Кому*Дп @Что*Вп"

Том в качестве команд принимает только правильно согласованные фразы. В случае ошибки выводится сообщение: "мышонком" - слово в неверной форме.

Ссылки