word

Назначение

Функция позволяет искать токены по таким критериям, как капитализация, морфологическая категория, тип токена, алфавит. Она дублирует функционал функций char(), lemma(), stem(), form(), case(), позволяя записывать запросы более кратко.

Синтаксис

word()

word(аргумент)

Аргументы

Функция принимает один аргумент. В отсутствие аргумента функция находит любой тип токена.

Первый аргумент используется для описания части речи, модификатора, капитализации, алфавита, и т.п.

Функция также поддерживает следующие именованные параметры:

Параметр

Пояснение

sentpart

Задает поиск с учетом синтаксической функции.

length

Задает поиск с учетом длины токена.

ocr

Задает поиск слов с высокой достоверностью распознавания OCR-модулем PolyAnalyst.

modality

Задает поиск с учетом модальности.

negate:=yes/no/any

Задает/отключает поиск отрицательных конструкций.

regex:=yes/no

Задает/отключает поиск регулярных выражений.

junk

Задает поиск слов, содержащих неалфавитные символы или слишком большое количество согласных.

nojunk

Исключает из поиска слова, содержащие неалфавитные символы или слишком большое количество согласных.

case

Задает поиск с учетом капитализации.

alphabet

Задает поиск с учетом алфавитной записи.

Можно указать несколько именованных параметров, используя символы «_» (И) и «|» (ИЛИ), например, word(noun_upper|adjective) или word(noun_upper_adjective).

Аргументы можно указывать в том числе при помощи именованных параметров lemma/stem/form, например, word(lemma:=начинать)

При возникновении конфликта между первым аргументом и именованным параметром, приоритет за именованным параметром.

Возвращаемое значение

Документы, соответствующие запросу.

Примеры

word() = . находит любой токен.

word(abc) = stem(abc) находит «abc» в любой форме.

word(noun) = partofspeech(noun) = lemma(noun) находит все существительные.

word(title) = case(title) находит любое слово в заглавной капитализации.

word(noun_title) = case(title, partofspeech(noun)) находит все существительные в заглавной капитализации.

word(noun_title|verb) = case(title, partofspeech(noun)) or partofspeech(verb) находит все существительные в заглавном регистре и все глаголы.

word(lemma:=стекло) = lemma(стекло) находит все формы существительного «стекло» (стекло, стекла, стеклом и т.д.) и не находит формы глагола «стечь» (стеку, стечешь, стек и т.д.).

word(verb, делать, negate:=yes) = negate(partofspeech(verb, делать)) находит отрицание глагола «делать» («не делать», «нельзя делать»).

word(noun, length:>=3) = length(3, partofspeech(noun)) находит существительное, состоящее из трех и более символов.

word(noun_mixed|verb|alnum, length:>4, negate:=yes) = negate(length(4, lemma(verb) or case(mixed, lemma(noun)) or char(alnum))) находит существительное в смешанном регистре или глагол или токены, состоящие из алфавитных и числовых символов длиной больше четырех символов и в составе отрицательной конструкции.

word(title, "abc", sentpart:=subject) = sentpart(subject, case(title, abc)) находит слово «abc» в заглавной капитализации и в функции подлежащего.