Поиск грамматически согласованных аргументов
Для поиска грамматически согласованных аргументов используется функция concord(). Функция находит элементы, чьи указанные морфологические признаки совпадают.
Синтаксис
Первый обязательный параметр тип_согласования позволяет перечислить морфологические признаки, по которым должны быть согласованы аргументы. Он может принимать следующие значения:
Тип согласования |
Пояснение |
Примеры |
person |
согласование по лицу |
«я иду, ты идешь», «он исследует», но не «он исследуешь» |
number |
согласование по числу |
«одна компания», «они создали», но не «они создал» |
gender |
согласование по роду |
«компания производила», «завод производил», «она создала», но не «она создал» |
case |
согласование по падежу |
«строительная компания», «строительной компании», «крупном городе», но не «крупном город» |
Если аргументы должны быть согласованы по нескольким признакам (например, по лицу и числу), их следует перечислить через «&», например, concord(case&number, phrase(0, красивый, город)).
Пример
Пример задачи: узнать, как клиенты оценивают работу сотрудников банка
Для решения этой задачи можно составить следующий запрос: concord(case, phrase(0, partofspeech(adjective), orn(сотрудник,сотрудница))).
Лучше всего такой запрос будет работать на корпусе с отзывами, но и на таких текстах будут найдены прилагательные, не выражающие оценку. Чтобы избежать таких случаев, можно ограничить список искомых атрибутов, например, concord(case, phrase(0, orn(приветливый, отзывчивый, адекватный, компетентный), orn(сотрудник, сотрудница))).