我是UIMA RUTA的新手,在阅读了UIMA RUTA指南后,我有以下问题。我想编写一组规则,在我的文档中搜索具有特定值的两个注释(FIRST,SECOND)(FIRST:“hello”和SECOND:“world”,“pres”)如果他们找到它们将创建它们带有值的新注释(THIRD):“结束”。 但是,脚本不起作用,我想知道原因。
WORDTABLE Firsts= 'FIRST.csv';
WORDTABLE Seconds= 'SECOND.csv';
WORDTABLE Thirds= 'THIRD.csv';
DECLARE Annotation FIRST(STRING value);
DECLARE Annotation SECOND(STRING value, STRING pos);
DECLARE Annotation THIRD(STRING value);
Document{->MARKTABLE(FIRST, 1, Firsts, "value"=2)};
Document{->MARKTABLE(SECOND, 1, Seconds, "value"=2, "pos"=3)};
Document{AND(CONTAINS(FIRST{FEATURE("value","hello")}),CONTAINS(SECOND{FEATURE("value","world","pos","pres")})){->CREATE(THIRD{FEATURE("value","end")})}};
你可以帮帮我吗?感谢名单。
答案 0 :(得分:1)
最后一条规则无效。
你可以这样写:
(f:FIRST{f.value=="hello"} # s:SECOND{s.value=="world",s.pos=="pres"}){-> CREATE(THIRD, "value" = "end")};
或
Document{-> CREATE(THIRD, "value" = "end")}<-{f:FIRST{f.value=="hello"} # s:SECOND{s.value=="world",s.pos=="pres"};};
或具有联合规则的东西。
免责声明:我是UIMA Ruta的开发者