Стоит еще раз упомянуть особенности описания русского глагола в грамматическом словаре.
Перечисленные в заголовке части речи, то есть инфинитив, глагол, причастие и деепричастие, образованные от одного корня, хранятся как отдельные словарные статьи.
Неопределенная форма - инфинитив - является в некотором смысле базой для их объединения. Объединение осуществляется с помощью связей тезауруса нескольких специальных типов.
Для русского языка есть особенность - наличие противопоставления по совершенному-несовершенному виду. Опять-таки с помощью тезауруса можно найти связь между совершенными и несовершенными инфинитивами. Для несовершенного инфинитива может быть несколько совершенных вариантов - обычно с разными смысловыми оттенками:
любить - полюбить - разлюбить
Причастия хранятся как прилагательные, с дополнительными пометками, позволяющими отличать действительные и страдательные причастия, а также причастия настоящего и прошедшего времени. Упомянутые виды причастий - действительные, страдательные, прошедшего и настоящего времени - хранятся как отдельные словарные статьи, связанные с порождающим инфинитивом.
Все эти грамматические связи в тезаурусе можно проиллюстрировать следующей диаграммой (не показаны связи с наречием игриво, играючи, существительное игра и т.д.):
Используемые типы связей, названия даны так, как они объявлены в словаре:
в_сов - от несовершенного инфинитива в совершенный
в_несов - от совершенного инфинитива в несовершенный
в_глагол - в глагол (обычно от инфинитива)
в_прил - в прилагательное или причастие (исходное слово может быть инфинитивом, существительным, наречием)
в_деепр - от инфинитива в деепричастие
в_инф - в инфинитив от любой другой части речи
Для SQL варианта словаря числовые коды этих типов связей можно найти по таблице SG_STATE для icoord=0. Для процедурного API найти коды по именам можно после загрузки словаря с помощью процедуры sol_FindEnumState, или еще проще - воспользоваться символическими константами для своего языка программирования.
Чтобы выяснить, не является ли найденное прилагательное на самом деле причастием, надо определить состояние координаты ПРИЧАСТИЕ для словарной статьи. Для процедурного API это можно сделать вызовом sol_GetEntryCoordState, разумеется определив заранее числовой код координаты ПРИЧАСТИЕ с помощью функции API sol_FindEnum или воспользовавшись символической константой. Для SQL словаря нужно найти соответствующую запись в таблице SG_ENTRY_COORD. Обратите внимание, что для причастия состояние будет равно 1, для простого прилагательного - состояние будет вообще не определено, другими словами данный грамматический признак является опциональным тегом. Далее это будет продемонстрировано на примере SQL запроса.
Абсолютное большинство русских глаголов имеют один из двух наборов грамматических форм - для совершенного и несовершенного вида.
Спряжение глагола несовершенного вида:
Спряжение глагола совершенного вида:
Отступления от двух вышеуказанных моделей спряжения заключаются либо в наличии альтернативных формах, либо в отсутствии некоторых форм.
Альтернативные грамматические формы с точки зрения API не дают никаких побочных эффектов, словарь либо выдаст обе формы для SQL-запроса, либо первую в порядке объявления в словаре для API:
Отсутствующие грамматические формы приводят к тому, что запрос на ее получение даст либо пустую строку (например для SQL-запроса), либо неопределенную форму (для запросов к API):
В текстовом поле Вы можете ввести русский глагол, и если соответствующая словарная статья есть в загруженном в БД лексиконе, то будут показаны все грамматические формы.
Результаты спряжения:
Описание английских глаголов в грамматическом словаре построено совершенно иначе.
Каждый глагол представлен единственной словарной статьей, в которой есть всего несколько форм - включая инфинитив, -s, -ing и -ed формы, past participle. В отличие от русских глаголов, здесь нет выделения причастий в отдельную словарную статью - в качестве причастий могут выступать past participle или -ing формы, то есть present participle.
API предоставляет простой процедурный доступ к базе данных грамматического словаря. Технически это динамическая библиотека, dll для MS Windows и shared object для Linux, с большим набором функций. Вы можете приобрести SDK с готовыми компонентами - со всеми вопросами обращайтесь к разработчикам.
Одна из функций API
позволяет получить форму глагола для заданного наклонения, лица, числа, рода, времени.
Для английских глаголов признак рода и наклонения игнорируется полностью.
В русском языке грамматический a href="/grammar/gender.shtml">род учитывается только для форм прошедшего времени единственного числа изъявительного наклонения:
купил - купила - купило
Формы побудительного наклонения (императив) для большинства русских глаголов есть только для 2го лица:
сделай - сделайте
В очень редких случаях в словаре можно найти совместный императив - побудительную форму 1го лица множественного числа:
споёмте
Для получения большей информации о реализации глаголов в грамматическом словаре пожалуйста посмотрите на страницы:
В некоторых случаях удобнее работать со словарем, загруженным в реляционную СУБД одного из поддерживаемых типов. В этом случае часть информации, не предполагающая процедурной обработки (как в случае с токенизатором) доступна через обычные SQL запросы.
Как уже было сказано, русский инфинитив связан с глаголом (в узком смысле), причастиями и деепричастиями через тезаурус. Соответствующие связи имеют специальные значения типов, поэтому их можно точно указать, например так:
В этом запросе мы ищем статьи, связанные с инфинитивом испытывать.
Результат будет такой:
Запрос специально построен так, чтобы выдать все варианты причастия - поэтому первые три столбца содержат повторы, в последнем мы видим страдательные и действительные причастия настоящего и прошедшего времени совершенного и несовершенного видов.
Если внимательно приглядеться к результатам, то увидим, что туда попало прилагательное испытуемый. Причина этого описана ранее - прилагательные и причастия принадлежат в рамках грамматического словаря одной части речи, и они связаны с инфинитивом связью одинакового типа. Чтобы в результаты поиска причастий не попадали прилагательные, следует добавить в условие поиска определение признака 'причастие' - в следующем запросе мы проверяет наличие записи в таблице SG_ENTRY_COORD с соответствующим типом 13:
Результаты:
Для получения формы найденного причастия для заданного рода, числа, падежа следует использовать приемы, описанные для прилагательных.
Приобретение SDK грамматического словаря
Примеры работы с API в составе SDK
Особенности словобразования русских глаголов
© Козиев Илья 2019
![]() |
|
изменено 25-Aug-11 |