Поиск слов в отрицательных конструкциях
Для поиска аргументов в составе отрицательных конструкций используется функция negate().
Для поиска аргументов в любых контекстах, кроме отрицательных конструкций, используется функция direct() или ее эквивалент possible(), которая является обратной по отношению к negate().
Синтаксис
При поиске отрицаний учитываются как грамматические («нарушений нет», «нарушения не зафиксированы»), так и лексические («отсутствие нарушений») способы его выражения.
Пример
Пример задачи: анализ отзывов о работе банка
Для поиска фактов, которые клиенты оценили положительно («удобный сервис», «отличная инфраструктура» и т.д.), можно составить запрос:
phrase(term(positive), partofspeech(noun))
Однако такой запрос найдет в том числе и те случаи, когда положительно окрашенное слово в составе отрицательной конструкции меняет свое значение на противоположное («не очень удобное расположение», «не слишком хорошее обслуживание», «никогда не было квалифицированных сотрудников»).
Чтобы исключить такие случаи из результатов поиска, следует добавить в запрос функцию direct():
phrase(direct(term(positive)), partofspeech(noun))
С помощью функции negate() можно найти также отрицание негативных оценок:
phrase(direct(term(positive)) or negate(term(negative)), partofspeech(noun))
Примечание
Функция с несколькими аргументами эквивалентна запросу из нескольких функций с одним аргументом, объединенных с помощью оператора or: