Uima Ruta を使用して単語の文字を区切ることはできますか?
元。
1.(WHO)
2.(APIAs)
脚本:
DECLARE NEW;
BLOCK (foreach)CAP{}
{
W{REGEXP(".")->MARK(NEW)};
}
はい、これはUIMA Ruta の単純な正規表現ルールで実現されます。
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 注釈を反復し、反復された各対象テキストに正規表現を適用して、一致の注釈を作成します。
もちろん、インライン ルールの代わりに BLOCK を使用することもできます。
免責事項: 私は UIMA Ruta の開発者です