Можно ли отделять буквы слова с помощью Uima Ruta?Uima ruta -Abbrevations
Ex.
1.(WHO)
2.(APIAs)
Сценарий:
DECLARE NEW;
BLOCK (foreach)CAP{}
{
W{REGEXP(".")->MARK(NEW)};
}
Можно ли отделять буквы слова с помощью Uima Ruta?Uima ruta -Abbrevations
Ex.
1.(WHO)
2.(APIAs)
Сценарий:
DECLARE NEW;
BLOCK (foreach)CAP{}
{
W{REGEXP(".")->MARK(NEW)};
}
Да, это достигается с simple regex правил в UIMA Рута:
DECLARE Char;
CAP->{"."->Char;};
Вы не можете использовать обычные правила для этого, потому что вам нужно, чтобы соответствовать на чем-то меньшим чем RutaBasic. Единственный вариант - использовать правила регулярного выражения, которые действуют непосредственно на текст, а не на аннотации. Конечно, вы должны быть очень осторожны, так как это может привести к очень большому количеству аннотаций.
Некоторых пояснения по несколько компактному правилу: CAP->{"."->Char;};
CAP // the only rule element of the rule: match on each CAP annotation
->{// indicates that inlined rules follow that are applied in the context of the matched annotation.
"." // a regular expression matching on each character
-> Char // the "action" of the regex rule: create an annotation of the type Char for each match of the regex
;}; // end of regex rule, end of inlined rules, end of actual rule
Резюмируя, правило перебирает все CAP аннотаций, применяется регулярное выражение на каждый итерированном охватываемый текст и создает аннотации для матчей.
Вы также можете использовать БЛОК вместо встроенного правила.
ОТКАЗ: Я разработчик UIMA Ruta