Поиск с учетом морфологии
При поиске бывает необходимо указать ограничения на морфологические характеристики слов в запросе (например, найти данное слово только в единственном числе или только в творительном падеже).
Другая частотная задача — поиск всех слов с указанными морфологическими характеристиками (например, всех существительных или всех глаголов прошедшего времени).
Эти задачи можно решить, добавив в поисковый запрос соответствующее грамматическое значение (морфологический тег).
Ограничения на морфологические характеристики слов в запросе
Для ограничения поиска словами, имеющими указанные морфологические характеристики (часть речи, род, число, падеж и т.д.), используются функции lemma()/form()/stem()/partofspeech() с морфологическим тегом в качестве первого опционального параметра.
Использование морфологического тега необходимо, если у слова есть несколько совпадающих по написанию форм с разным грамматическим значением (рабочий (прилагательное) — рабочий (существительное), знать (глагол) — знать (существительное), решения (родительный падеж единственного числа) — решения (именительный/винительный падеж множественного числа).
Пример
Чтобы найти информацию о приостановках/прекращении производства, нам нужно искать в тексте формы слова «простой» только в значении «непредвиденная остановка в работе».
Запрос lemma(простой) найдет употребления этого слова также в значении «не сложный» или «обыкновенный, однородный»:
Чтобы исключить лишние результаты из поиска, необходимо указать, что нас интересует только существительное «простой», для этого добавив соответствующий морфологический тег (в данном случае часть речи — существительное) в качестве первого параметра функции.
Чтобы указать морфологический тег из нескольких морфологических характеристик (часть речи + род, число + падеж и т.п.), их значения необходимо объединить с помощью символа «_».
Пример
Чтобы перечислить несколько возможных морфологических тегов, их следует записать через «|». В этом случае запрос сработает, если аргумент соответствует хотя бы одному из перечисленных тегов.
Пример
Порядок следования морфологических характеристик в морфологическом теге значения не имеет.
Кроме того, запись тега не чувствительна к регистру: verb_tensepast = Verb_TensePast = VERB_TENSEPAST.
Список доступных морфологических тегов см. в файле «Морфологические категории».
Поиск слов с указанными морфологическими характеристиками
Для поиска слов с определенными морфологическими характеристиками используются эквивалентные для этой задачи функции lemma()/form()/stem()/partofspeech() с единственным аргументом — морфологическим тегом, который может включать одну или несколько категорий.
Пример