SQL запросы для определения части речи

На предыдущем уроке мы научились искать слово в грамматическом словаре несколькими способами. Как уже было сказано, основной метод поиска при морфологическом разборе заключается в использовании связки таблиц sg_lexem, sg_form и sg_entry.

Таблица sg_entry хранит "шапки" словарных статей, то есть общую для всех грамматических форм слова информацию. Среди прочего каждая запись в sg_entry содержит столбец id_class - целочисленный ключ, ссылающийся на sg_class.id. Таблица sg_class является справочником частей речи. Каждая запись в ней содержит уникальный идентификатор (первичный ключ) и уникальное название части речи, а также некоторую другую информацию.

Таким образом, связка из указанных четырех таблиц sg_lexem, sg_form, sg_entry и sg_class позволяет для любого слова определить, к какой части речи оно относится:

SELECT E.name AS "начальная форма", C.name AS "часть речи"
 FROM  sg_lexem L
      JOIN sg_form F ON F.id_lexem=L.id
      JOIN sg_entry E ON E.id=F.id_entry
      JOIN sg_class C ON C.id=E.id_class
 WHERE L.name='УЖЕ'

Если слово может быть распознано неоднозначно как форма нескольких словарных статей, то этот запрос выдаст список всех вариантов:

начальная формачасть речи
ужСУЩЕСТВИТЕЛЬНОЕ
узкийПРИЛАГАТЕЛЬНОЕ
ужеНАРЕЧИЕ
узкоНАРЕЧИЕ

Выборка всех слов для заданной части речи

Иногда для получения некоторой статистической информации требуется получить список всех слов для заданной части речи. Эта задача решается как и предыдущая с помощью задания условия на поле sg_entry.id_class и связывание таблиц sg_entry, sg_class и sg_form. Например, выборка всех деепричастий:

SELECT F.name
 FROM  sg_class C, sg_entry E, sg_form F
 WHERE C.name='ДЕЕПРИЧАСТИЕ' AND E.id_class=C.id AND F.id_entry=E.id

Следующие уроки

Получение гистограммы распределения слов по частям речи

Ёфикация - учет буквы ё, поиск и восстановление

Перечисление грамматических форм слова

Справочники грамматических атрибутов

Дополнительные материалы по работе со словарной базой

Купить словарную базу русской морфологии

Реляционная схема словарной базы

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