2016-08-02 3 views
1

Kann ich die Buchstaben eines Wortes mit Uima Ruta segmentieren?Uima ruta -Abbrevierungen

Ex.

1.(WHO) 
2.(APIAs) 

Script:

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

} 

Antwort

1

Ja, das mit simple regex Regeln in UIMA Ruta erreicht:

DECLARE Char; 
CAP->{"."->Char;}; 

Sie nicht normalen Regeln für diese verwenden können, weil Sie sich auf etwas passen müssen kleiner als RutaBasic. Die einzige Option besteht darin, Regexp-Regeln zu verwenden, die direkt auf dem Text statt auf Anmerkungen funktionieren. Sie sollten natürlich sehr vorsichtig sein, da dies zu sehr vielen Anmerkungen führen kann.

Eine Erklärung für die etwas kompakte Regel: 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 

Summieren, die Regel iteriert über alle CAP Anmerkungen, wenden einen regulären Ausdruck auf jedem Text wiederholt abgedeckt und schafft Anmerkungen für die Spiele.

Sie können natürlich auch einen BLOCK statt einer Inline-Regel verwenden.

HAFTUNGSAUSSCHLUSS: Ich bin ein Entwickler von UIMA Ruta

Verwandte Themen