2016-08-02 1 views
1

Uima Ruta를 사용하여 단어의 글자를 구분할 수 있습니까?Uima Ruta -Abbrevations

Ex.

1.(WHO) 
2.(APIAs) 

스크립트 : 당신은 작은 일에 일치해야하기 때문에

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

당신은이에 대한 일반 규칙을 사용할 수 없습니다

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

} 

답변

1

예,이 UIMA 루타에 simple regex 규칙 달성 RutaBasic보다. 유일한 옵션은 어노테이션 대신 텍스트에서 직접 작동하는 regexp 규칙을 사용하는 것입니다. 물론 이것이 매우 많은 주석으로 이어질 수 있으므로 매우 신중해야합니다.

다소 컴팩트 한 규칙에 대한 일부 설명 : 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 루타의 개발자입니다
관련 문제