2016-08-02 3 views
1

Можно ли отделять буквы слова с помощью Uima Ruta?Uima ruta -Abbrevations

Ex.

1.(WHO) 
2.(APIAs) 

Сценарий:

DECLARE NEW; 
BLOCK (foreach)CAP{} 
{ 
W{REGEXP(".")->MARK(NEW)}; 

} 

ответ

1

Да, это достигается с 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

 Смежные вопросы

  • Нет связанных вопросов^_^