Поиск синонимов

Функция synonym() ищет синонимы заданного слова или фразы. Слова или фразы считаются синонимами, если они принадлежат одному словарному вхождению словаря Синонимов.

Функция synonym() позволяет искать семантические или контекстуальные синонимы в сжатой форме, так как часто удобнее добавить синонимы в словарь, а не перечислять их все в запросе.

Вхождение словаря Синонимов представляет из себя группу синонимов, где выделяется главное слово, обозначенное в редакторе словарей заглавной буквой H (в клиенте) или выделенное голубым цветом (в веб-клиенте), как показано на картинке ниже. Главное слово задает имя словарному вхождению.

pdl synonym 1 rus

В Полианалисте доступно два словаря Синонимов: Default и Abbreviations. В первом содержится общий словарь, а во втором сокращения. Пользователь также может создать собственный словарь и добавлять туда те слова и фразы, которые считает синонимами. Например, если пользователь занимается упаковками лекарственных препаратов, он может создать свой собственный словарь Синонимов и добавить туда разные типы упаковок лекарств в словарное вхождение «упаковка», как показано на рисунке ниже. Таким образом запрос synonym(упаковка) найдет упоминания слов из этого вхождения, например, «ампула» или «туба».

pdl synonym 2 rus

Включение словарей

Для поиска словарных вхождений пользователи должны убедиться, что нужный словарь включен в настройках узла. Для этого нужно щелкнуть узел правой кнопкой мыши, открыть его Свойства и перейти на вкладку Словари. Список доступных категорий словаря находится в левой части окна. После выбора категории Синонимы в правой части окна появится список доступных словарей. Можно использовать как стандартные, так и пользовательские словари. Чтобы включить словарь, нужно выбрать его с помощью флажка, нажать кнопку «ОК», чтобы сохранить изменения, а затем выполнить узел.

pdl synonym 3 rus

Синтаксис

synonym([часть_речи,] аргумент, …​)

Аргументы

Функция требует задать аргумент, который может быть любым словом или фразой из словаря Синонимов. Функция принимает любое количество аргументов, которые необходимо перечислить через запятую. Аргумент не обязательно должен быть главным словом синонимической группы, например, на картинке выше synonym(упаковка)=synonym(ампула)=synonym(блистер), и т.д.

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

В таблице ниже перечислены возможные значения опционального аргумента часть речи.

Часть речи

Краткая запись

Пример

noun

событие, сестрой, коты …​

verb

сказал, принимать, ходить, плыть …​

adverb

advb

внезапно, всегда, еще, сейчас …​

adjective

adjc

большой, важный, прибыльный …​

Функция также принимает опциональный именованный параметр scope, который определяет режим поиска синонимов в составе фразы. При отсутствии параметра или при scope:=text (значение по умолчанию) ищутся синонимы всей фразы. При scope:=word ищутся синонимы слов, входящих в состав фразы, т.е. synonym("a b") = phrase(synonym(a), synonym(b)).

Функция tosynonym() не работает с pdl-запросами. Если в словарном вхождении словаря синонимов один из элементов записан через выражение «query:», функция не сможет заменить его на главное слово.

Пример

Примеры ниже иллюстрируют работу функции synonym():

synonym(СКВ) возвращает упоминания «СКВ» и его синонимов, например, «Lupus erythematodes», «болезнь Либмана — Сакса», «системная красная волчанка».

pdl synonym 8 rus

synonym(verb, знать) возвращает формы слова «знать» и его глагольные синонимы, например: «журналисты узнали о планах компании», но НЕ «званые обеды европейской знати».

pdl synonym 9 rus

synonym("темпы роста", scope:=word) возвращает «темпы роста», «темпы прироста» и «темпы увеличения», если в словаре синонимов «рост», «прирост» и «увеличение» являются синонимами.

pdl synonym 10 rus
pdl synonym 11 rus

Пример задачи: Анализ всплеска заболеваемости

Часто существует несколько способов написания названия одной и той же болезни. Чтобы найти случаи, когда люди жаловались на ту или иную болезнь, пользователи могут создать словарное вхождение со всеми синонимами этой болезни и искать их в соответствующем контексте. Например, пользователи могут создать запись «ХОБЛ» с синонимами хронической обструктивной болезни легких, как на картинке ниже.

pdl synonym 4 rus

Можно сформулировать следующий поисковый запрос:

follow(1, диагноз|жалоба|жаловаться|страдать, synonym(хобл))

Запрос найдет слова «диагноз», «жалоба», «жаловаться», «страдать за которыми следует один из синонимов «ХОБЛ» на любом расстоянии в пределах одного предложения.

pdl synonym 7 rus

Пример задачи: Анализ тональности

Если нужно выполнить задачу простого анализа тональности, пользователи могут создать словарь Синонимов, где вхождениями будут оценочные прилагательные, которые нужно будет найти в определенном контексте. Например, если пользователь хочет найти положительные отзывы о качестве услуг, он может перечислить контекстные синонимы слова «хороший», как показано на рисунке ниже.

pdl synonym 5 rus

Затем можно сформулировать такой запрос:

phrase(0, synonym(хороший), сервис)

Этот запрос найдет все тексты, где слову «сервис» предшествуют прилагательные «хороший», «великолепный», «качественный», «отличный», «первоклассный», «прекрасный».

pdl synonym 6 rus