Конфигурация

Общая информация

Главным конфигурационным файлом системы является config.json (имя файла может быть произвольным), это файл, содержащий в себе JSON-структуру, в полях которой описываются настройки системы. Файл должен начинаться с символа '{' и должен заканчиваться символом '}'. Как и все остальные файлы системы в формате JSON, файл конфигурации допускает наличие однострочных комментариев в стиле языка Си, при помощи символов '//' - данная последовательность должна располагаться в начале строки (перед ней допускаются лишь символы пробела и табуляции).

ВАЖНО! Все пути в файле конфигурации указываются относительно конфигурационного файла, а не директории запуска системы!

Поле "Fields"

Описывает массив путей к файлам конфигурации полей бинарного тега. Бинарный тег - это вектор, который используется для описания лингвистических сущностей и представляет собой множество полей, которые могут присутствовать или отсутствовать в данном векторе, каждое поле может входить в одну или несколько категорий. Пример поля Fields:

"Fields": [
"system.fields",
"morph.fields"
]

Файл конфигурации полей бинарного тега представляет собой текстовый файл с TAB-разделителями, где каждая строка имеет следующую структуру:

<field><tab><categories>
  • <tab> - TAB-разделитель (символ '\t')
  • <field> - название поля
  • <categories> - одно (или несколько, через запятую) названий категорий, в которые входит данное поле
ВАЖНО! Названия полей и категорий должны быть уникальными во всех файлах конфигурации бинарного тега в текущей конфигурации!

Поле "SystemFields"

Описывает соответствия между пользовательскими названиями полей и встроенными в систему свойствами, например:

"SystemFields": {
"spanSpace": "S",
"spanNumeric": "D",
"spanLetter": "W",
"spanPunct": "P",
"arrowLeft": "Left",
"arrowRight": "Right"
}
  • "spanSpace" - пробельные последовательности обозначаются пометой 'S'
  • "spanNumeric" - цифровые последовательности обозначаются пометой 'D'
  • "spanLetter" - алфавитные последовательности обозначаются пометой 'W'
  • "spanPunct" - знаки препинания обозначаются пометой 'P'
  • "arrowLeft" - обозначение синтаксической стрелки влево (можно не указывать, если не используется синтаксический анализатор)
  • "arrowRight" - обозначение синтаксической стрелки вправо (можно не указывать, если не используется синтаксический анализатор)
Группа булевых полей
  • "OmitSpaces" - если 'true', то последовательности типа "spanSpace" не извлекаются как токены (значение по умолчанию: 'false')
  • "CountLines" - если 'true', система реагирует на символы конца строк и генерирует соответствующие события (значение по умолчанию: 'true')
  • "Prediction" - если 'true', то несловарные токены проходят через систему предсказателей (значение по умолчанию: 'false')
Группа единичных путей
  • "Replace" - при наличии, подгружает в систему файл автозамены символов
  • "Prefixes" - при наличии, подгружает в систему файл с приставками для предсказания
  • "MorphDictionary" - при наличии, подгружает в систему файл конечного автомата с морфологическим словарём
  • "SynthDictionary" - при наличии, подгружает в систему файл конечного автомата для морфологического синтеза
Группа массивов путей
  • "RegexMultiword" - файлы со словарями регулярных выражений для сборки нескольких спанов в один во время токенизации
  • "RegexUniword" - файлы со словарями регулярных выражений теггирования единичных спанов
  • "LemmaUniword" - файлы со словарями нормальных форм слов теггирования единичных слов
  • "Unknown" - файлы со словарями для предсказания и нормализации несловарных слов по регулярным выражениям
Поле "Grammar"

Описывает массив путей к файлам грамматики, файлы бывают двух видов, в зависимости от того, на какое расширение заканчивается файл:
  • "prod" - JSON-файл с продукционными правилами для синтаксического анализа
  • "tags" - файл для дополнительного теггирования токенов синтаксическими пометами по имеющися пометам
Поле "MorphCompiler"

Содержит информацию для компиляции морфологического словаря, содержит следующие поля:
  • "alphabet" - строка, содержащие все символы, которые могут встретиться в морфологическом словаре
  • "anchar" - символ, разделяющий в конечном автомате словоформу от аннотации, не может присутствовать в алфавите
Поле "SyntaxWeights"

Содержит информацию для модуля взвешивания синтаксических гипотез (необходимо при использовании метода getWeightComputer() в API или при использовании графического приложения), содержит следующие поля:
  • "distFactor" - коэффициент влияния длины синтаксической связи
  • "typeFactor" - коэффициент влияния типа синтаксического отношения
  • "relTypes" - таблица соответствий синтаксических помет и их весовых значений