UIMA рута - почему не работает?

Для текста

level 110 KwH

у меня есть правило

W{REGEXP("level")} NUM{-> MARK(energy_consumption)} W{REGEXP("KwH")}

но это не работает.

Текст level 110 KH с правилом

 W{REGEXP("level")} NUM{-> MARK(energy_consumption)} W{REGEXP("KH")}  

работает. Почему не работает 1-е правило?


person CyKon    schedule 20.12.2016    source источник


Ответы (1)


Правило не совпадает, потому что "KwH" - это не одна аннотация W, а две аннотации W (фактически CW). KH — это только одна аннотация W (фактически CAP). Условие REGEXP соответствует покрытому тексту соответствующей аннотации (то есть «Kw»), поэтому условие/регулярное выражение никогда не выполняется.

Возможно, вы захотите рассмотреть возможность использования токенизатора в дополнение к сидеру ruta, или поиска по словарю, или некоторых правил, объединяющих две аннотации CW. Первоначальные аннотации, предоставленные Рутой, являются лишь отправной точкой, а не реальными токенами.

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: я разработчик UIMA Ruta

person Peter Kluegl    schedule 21.12.2016