Я пытаюсь реализовать правила рута отношений, такие же, как в этом видео (https://www.youtube.com/watch?time_continue=1105&v=8PYvzswOXog). Однако я не могу получить результаты каких-либо отношений. Я прекрасно следил за всем в его демо.
Любая помощь приветствуется.
BLOCK (ForEach) Sentence{}{
ClampNameEntityUIMA { FEATURE ( "semanticTag", "test")}
BaseToken??{REGEXP("grade")}
ClampNameEntityUIMA { FEATURE ( "semanticTag", "Date" ) -> CREATE( ClampRelationUIMA, "entFrom"=3, "entTo"=1), SETFEATURE("semanticTag", "testdate")};
}
BLOCK (ForEach) Sentence{}{
ClampNameEntityUIMA { FEATURE ( "semanticTag", "test")}
BaseToken??{REGEXP("[grade\\s]*")}
ClampNameEntityUIMA { FEATURE ( "semanticTag", "value" ) -> CREATE( ClampRelationUIMA, "entFrom"=3, "entTo"=1), SETFEATURE("semanticTag", "testvalue")};
}
Нет, пайплайн отработал без ошибок. Я не вижу никакой связи :(
Похоже, вы действительно хотите использовать действие GATHER
вместо действия CREATE
. Действие GATHER
может присваивать значения функции, используя индекс элемента правила, тогда как совпадающая аннотация условия сопоставления назначается функции. Действие CREATE
пытается присвоить указанный аргумент функции. В вашем примере это целое число для функции с диапазоном аннотаций, что не приведет к назначению.
Ваш блок может выглядеть так:
BLOCK (ForEach) Sentence{}{
ClampNameEntityUIMA { FEATURE ( "semanticTag", "test")}
BaseToken??{REGEXP("grade")}
ClampNameEntityUIMA { FEATURE ( "semanticTag", "Date" ) -> GATHER( ClampRelationUIMA, "entFrom"=3, "entTo"=1), SETFEATURE("semanticTag", "testdate")};
}
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: я разработчик UIMA Ruta
Спасибо большое. Да, я использовал create. Непонятно, что он печатал в демо.
Вы получаете ошибку или неправильный результат?