2016-08-24 8 views
1

Я создаю свои собственные типы, которые должны состоять из метки. Этикетка должна включать в себя всю найденную строку (для дальнейшей обработки)UIMA Ruta Создать ярлык над несколькими полями

Для Примеру это было бы мое правило:

(W{REGEXP("myregex1")} W{REGEXP("myregex2")}) { -> CREATE(MyType, "label"=?)} 

Вы можете увидеть знак вопроса за «этикетка» часть. Можно ли перенести согласованную строку на эту метку?

ответ

2

Это обычно делается с чем-то вроде действия MATCHEDTEXT и переменной СТРОКИ:

STRING mt; 
(W{REGEXP("myregex1")} W{REGEXP("myregex2")}) { -> MATCHEDTEXT(mt), CREATE(MyType, "label"=mt)}; 

С UIMA Рутой 2.5.0 (предстоящим выпуском), вы можете также использовать неявную coveredText функцию переменных локальные аннотаций (ярлык):

m:(W{REGEXP("myregex1")} W{REGEXP("myregex2")}) { -> CREATE(MyType, "label"=m.ct)}; 

ОТКАЗ: Я разработчик UIMA Ruta