Декларативный язык Inlandes — язык для управления операциями с текстом, включающих в себя аннотирование, редактирование и анализ с целью извлечения фактов или подсчёта статистики. Он совмещает формальные методы с возможностями, которые предлагают современные нейросетевые модели.
Примером простого правила на языке Inlandes может быть следующая строка:
RULE WHERE {до.н'.'.э.'.'}_1 DO _1 = "до нашей эры";
Это выражение задаёт условие, определяющее последовательность токенов в строке "до н. э.", для которого устанавливается ссылка с индексом 1, после чего указывается, что подстрока, на которую ссылается ссылка должна быть заменена на фразу "до нашей эры".
Как указывалось выше, выражение для замены может быть выражением на языке JavaScript. Например, мы хотим заменить подстроку на объект:
RULE WHERE {до.н'.'.э.'.'}_1 DO _1 = ``var res = {}; res.epoch = true; res``;
Или даже так:
RULE WHERE {до.н'.'.э.'.'}_1 DO _1 = ``{epoch: true}``;
В последующих правилах внедрённый объект может быть указан в выражении для фильтрации:
RULE WHERE @epoch_1 DO _1 = "до нашей эры";
Обработка фильтров построена таким образом, что все правила проверяются разом за один линейный проход по входной последовательности токенов, хотя правила могут разделяться на стадии, в рамках каждой из которых выполняется отдельный проход.
Язык Inlandes применяется как в платформе LUWRAIN , так и при обработке текста на нашем сервисе LUWRAIN Books. С его помощью пользователи могут корректировать порядок чтения текста. Возможности в двух вариантах различаются, потому что нейросетевые модели не могут запускаться локально, и расширения с ними доступны только как облачный сервис. В базовом варианте интерпретатор языка можно запускать локально, загрузив бинарный дистрибутив.