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

Для поиска грамматически согласованных аргументов используется функция concord(). Функция находит элементы, чьи указанные морфологические признаки совпадают.

Синтаксис

concord(тип_согласования, аргумент,…​)

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

Тип согласования

Пояснение

Примеры

person

согласование по лицу

«я иду, ты идешь», «он исследует», но не «он исследуешь»

number

согласование по числу

«одна компания», «они создали», но не «они создал»

gender

согласование по роду

«компания производила», «завод производил», «она создала», но не «она создал»

case

согласование по падежу

«строительная компания», «строительной компании», «крупном городе», но не «крупном город»

Если аргументы должны быть согласованы по нескольким признакам (например, по лицу и числу), их следует перечислить через «&», например, concord(case&number, phrase(0, красивый, город)).

Пример

concord(case, phrase(0, partofspeech(adjective), partofspeech(noun))) найдет именные группы, согласованные по падежу («международного аэропорта», «крупных городах»), но не «крупных городам», т.к. в последнем случае аргументы не согласованы по падежу.

concord(person&number, phrase(0, partofspeech(pronoun), partofspeech(verb))) найдет последовательность из местоимения и глагола, согласованную по числу и лицу («они уточнили», «мы создаем»), но не «он создаем» (аргументы не согласованы ни по лицу, ни по числу), «его возглавляют» (аргументы согласованы по лицу, но не согласованы по числу).

Пример задачи: узнать, как клиенты оценивают работу сотрудников банка

Для решения этой задачи можно составить следующий запрос: concord(case, phrase(0, partofspeech(adjective), orn(сотрудник,сотрудница))).

pdl concord 1 rus

Лучше всего такой запрос будет работать на корпусе с отзывами, но и на таких текстах будут найдены прилагательные, не выражающие оценку. Чтобы избежать таких случаев, можно ограничить список искомых атрибутов, например, concord(case, phrase(0, orn(приветливый, отзывчивый, адекватный, компетентный), orn(сотрудник, сотрудница))).

pdl concord 2 rus