Использование данных
Словарь ориентирован на использование в программных системах, обрабатывающих тексты.
Способ его внедрения зависит от проекта. Здесь не предлагается каких-то специальных
программных средств для прямой работы, скажем, в Python с выгружаемыми данными.
В проекте SDK Pullenti
данные этого словаря встраиваются в ресурсы и используются в классе DerivateService,
сами группы моделируются классом DerivateGroup (см. документацию) - можно использовать их
из разных языков: Java, C#, Python, Javascript.
А функцией TryCreateLinks класса SemanticHelper строятся семантические связи между словами
на основе моделей управления групп.
Возможно, в будущем стараниями энтузиастов появятся на Python и других языках
соответствующие библиотеки по работе со Словарём - мы сразу дадим здесь ссылку!
Формат словаря в JSON
Группы располагаются в массиве [ gr1, gr2, ... ], каждая группа оформляется словарём { ... }, имеющем следующие ключи:
Пример оформления группы
{ "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":"согласно чему" }
]
}