2017-11-15 3 views
1

내가 잘못하고 있는지 확실하지 않지만이 경우 있습니다. 나는 단어의 목록을 가지고 "stuff.txt는"(예를 들어) 그런 다음이 DECLARE Stuff(INT count); Document{-> MARKFAST(Stuff, StuffList, true)}; NUM Stuff -> Update stuff countUIMA RUTA 규칙에 포함 된 주석의 값에 액세스하는 방법

와 같은 스크립트 내 텍스트에서 대부분의 시간을 내가 3 knifes, 2 spoons 뭔가를해야합니다 knife, fork, spoon

을 포함 예를 들면.

숫자 값을 가져 와서 주석을 업데이트하는 방법이 있습니까? 또는 수집을 사용하여 주석 자체를 업데이트 할 수 있습니까? NUM annotation.ct를 내 Stuff.count 값 또는 DECLARE NewStuff(Stuff stuff, INT count)과 같은 다른 형식을 만들지 않고 해당 종류에 할당하고 gather를 사용합니다.

답변

2

이것은 당신이 원하는 일을해야한다 : 구문 분석 조건은 정수로 덮여 텍스트를 변환하는 데 사용됩니다

DECLARE Stuff(INT count); 
Document{-> MARKFAST(Stuff, {"knifes", "spoons"}, true)}; 
INT amount; 
NUM{PARSE(amount)} s:@Stuff{-> s.count = amount}; 

.

면책 조항 : 나는 "@"기호는 무엇을합니까 UIMA 루타

+1

의 개발자입니까? 스 니펫을 보내 주셔서 감사합니다. –

+1

규칙의 앵커를 나타내는 마커입니다. 이 규칙은 두 번째 규칙 요소와 일치하기 시작하며 모든 NUM을 확인할 필요가 없습니다. 시작 규칙을 선택하면 결과 주석이 변경 될 수 있습니다. –