2016-10-25 1 views
1

MATCHEDTEXT를 사용하여 여러 단어에 대해 Match를 만들고 싶습니다. 여러 단어를 선택하려면 Star 또는 Plus Reluctant 한정 기호를 사용하고 싶습니다. MATCHEDTEXT 부분 뒤에 규칙 요소가 없지만 내 예제의 마지막 "SW"처럼 "CW +?" 파트가 일치하지 않습니다.UIMA Ruta MATCHEDTEXT와 Star 또는 Plus Reluctant 결합하기

내 테스트 문자열

small Large Large small. 

내 루타 규칙은

STRING test; 
DECLARE myObject(STRING label); 
SW (CW+? { -> MATCHEDTEXT(test), CREATE(myObject, "label"=ao) }) SW; 
+0

이 AO ("라벨"= AO) 란 무엇입니까 당신이 당신의 테스트 문자열의 오른쪽에서 "대형 대형"일치해야합니까? –

+1

STRING 테스트; DECLARE myObject (문자열 라벨); SW CW +? {-> MATCHEDTEXT (테스트), CREATE (myObject, "label"= 테스트)} SW; –

답변

2

이 UIMA 루타 < = 2.5.0의 버그입니다. 마지 못해 한정 기호가 구성된 규칙 요소에 문제가 있기 때문에 일치하지 않습니다.

당신은 하나 필요하지 않은 구성 규칙 요소를 제거하여 문제를 해결할 수 :

SW CW+ { -> MATCHEDTEXT(test), CREATE(myObject, "label"="x")} SW; 
: ... 나 또한 필요하지 않습니다 꺼려 정량을 피함으로써

SW CW+? { -> MATCHEDTEXT(test), CREATE(myObject, "label"="x")} SW; 

면책 조항 : 나는로 UIMA 루타의 개발자

1

플러스 욕심 오전 :

플러스 꺼리는와
PACKAGE uima.ruta.example; 
DECLARE myObject(STRING label); 
STRING test; 
DECLARE myObject(STRING label); 
SW CW+ {-PARTOF(myObject) -> MATCHEDTEXT(test), CREATE(myObject, "label"="ao") } SW; 

:

PACKAGE uima.ruta.example; 
DECLARE myObject(STRING label); 
STRING test; 
DECLARE myObject(STRING label); 
SW CW+? {-PARTOF(myObject) -> MATCHEDTEXT(test), CREATE(myObject, "label"="ao") } SW; 
관련 문제