Скачать словарь

Текущий словарь от 2023.04.17 содержит 38804 групп.
Словарь выгружается в json-формате, который архивируется в zip-файл.

Полный дериватный словарь здесь.

Русский дериватный словарь здесь.

Использование данных

Словарь ориентирован на использование в программных системах, обрабатывающих тексты. Способ его внедрения зависит от проекта. Здесь не предлагается каких-то специальных программных средств для прямой работы, скажем, в Python с выгружаемыми данными.
В проекте SDK Pullenti данные этого словаря встраиваются в ресурсы и используются в классе DerivateService, сами группы моделируются классом DerivateGroup (см. документацию) - можно использовать их из разных языков: Java, C#, Python, Javascript. А функцией TryCreateLinks класса SemanticHelper строятся семантические связи между словами на основе моделей управления групп.
Возможно, в будущем стараниями энтузиастов появятся на Python и других языках соответствующие библиотеки по работе со Словарём - мы сразу дадим здесь ссылку!

Формат словаря в JSON

Группы располагаются в массиве [ gr1, gr2, ... ], каждая группа оформляется словарём { ... }, имеющем следующие ключи:

  • id - уникальный идентификатор группы (используются для ссылок между группами)
  • lang - язык (ru, en или ua)
  • modif - дата-время последней модификации в формате YYYYMMDDHHMM
  • count - количество встречаемости в текстах (частотность)
  • words - массив слов
  • links - массив ссылок
  • basecontrols - массив элементов базовой части модели управления
  • controls - массив элементов общей части модели управления

Каждое слово группы формляется словарём с ключами:
  • val - значение (лемма)
  • typ - тип (список см. здесь)
  • attrs - массив атрибутов (список см. здесь)

Каждая связь с другой группой формляется словарём с ключами:
  • to - идентификатор целевой группы
  • typ - тип (список см. здесь)
  • param - возможный параметр
Отметим, если в группе G1 есть связь на группу G2, то и у G2 тоже есть связь на группу G1, при этом тип или совпадает (если симметричный), или инвертируется (например, из "общее-частное" становится "частное-общее").
Элементы базовой модели управления имеют ключи:
  • typ - здесь значения verb, reflex и noun, соответствующие трём типам слов (см. здесь)
  • question - вопрос (список см. там же)
  • agent - если true, то роль агенс
  • pacient - если true, то роль пациенс

Элементы общей модели управления имеют ключи:
  • question - вопрос (список см. там же)
  • strong - если true, то связь сильная

Пример оформления группы

{ "id":"КОНТРОЛЬ", "lang":"ru", "modif":"202104151744", "count":"323884", 
"words" : [
   { "val":"КОНТРОЛЬ", "typ":"noun", "attrs":["nounverb"] },
   { "val":"КОНТРОЛИРОВАНИЕ", "typ":"noun", "attrs":["nounverb"] },
   { "val":"КОНТРОЛЕР", "typ":"noun", "attrs":["animated","male"] },
   { "val":"КОНТРОЛЕРША", "typ":"noun", "attrs":["animated","female"] },
   { "val":"КОНТРОЛЛЕР", "typ":"noun" },
   { "val":"КОНТРОЛЛИНГ", "typ":"noun" },
   { "val":"КОНТРОЛЬНЫЙ", "typ":"adj" },
   { "val":"КОНТРОЛЛЕРНЫЙ", "typ":"adj" },
   { "val":"КОНТРОЛИРОВАТЬ", "typ":"verb" },
   { "val":"КОНТРОЛИРОВАТЬСЯ", "typ":"verb", "attrs":["reflexive"] },
   { "val":"КОНТРОЛИРОВАВШИЙ", "typ":"part", "attrs":["pasttense"] },
   { "val":"КОНТРОЛИРУЮЩИЙ", "typ":"part" },
   { "val":"КОНТРОЛИРОВАВШИЙСЯ", "typ":"part", "attrs":["pasttense","reflexive"] },
   { "val":"КОНТРОЛИРУЮЩИЙСЯ", "typ":"part", "attrs":["reflexive"] },
   { "val":"КОНТРОЛИРУЕМЫЙ", "typ":"part", "attrs":["passive"] },
   { "val":"КОНТРОЛИРОВАННЫЙ", "typ":"part", "attrs":["passive","pasttense"] },
   { "val":"КОНТРОЛИРОВАВ", "typ":"adpart", "attrs":["pasttense"] },
   { "val":"КОНТРОЛИРУЯ", "typ":"adpart" },
   { "val":"КОНТРОЛИРОВАВШИСЬ", "typ":"adpart", "attrs":["pasttense","reflexive"] },
   { "val":"КОНТРОЛИРУЯСЬ", "typ":"adpart", "attrs":["reflexive"] }
   ], 
"links" : [
    { "to":"КОНТРОЛЬ_UA", "typ":"transl", "param":"UA" },
    { "to":"CONTROL_EN", "typ":"transl", "param":"EN" },
    { "to":"БЕСКОНТРОЛЬНОСТЬ", "typ":"prefplus", "param":"БЕС" },
    { "to":"ПРОКОНТРОЛИРОВАТЬ", "typ":"prefplus", "param":"ПРО" },
    { "to":"САМОКОНТРОЛЬ", "typ":"prefplus", "param":"САМ" },
    { "to":"ПОДКОНТРОЛЬНОСТЬ", "typ":"prefplus", "param":"ПОД" }
   ], 
"basecontrols" : [
    { "typ":"verb", "question":"что", "pacient":"true" },
    { "typ":"verb", "question":"чем" },
    { "typ":"verb", "question":"кто", "agent":"true" },
    { "typ":"reflex", "question":"кто", "agent":"true", "pacient":"true" },
    { "typ":"reflex", "question":"чем", "agent":"true" },
    { "typ":"noun", "question":"чего", "pacient":"true" },
    { "typ":"noun", "question":"чем", "agent":"true" }
   ], 
"controls" : [
    { "question":"откуда" },
    { "question":"когда" },
    { "question":"где" },
    { "question":"без чего" },
    { "question":"в чём", "strong":"true" },
    { "question":"вследствие чего" },
    { "question":"для чего" },
    { "question":"до чего" },
    { "question":"за чем" },
    { "question":"на что" },
    { "question":"на чём", "strong":"true" },
    { "question":"о чём" },
    { "question":"по чему" },
    { "question":"при чём", "strong":"true" },
    { "question":"с чем" },
    { "question":"согласно чему" }
   ]
}