我正在使用 UIMA Ruta 处理文本并希望删除重复的注释。如果某些特征(例如名称)具有相同的值,我认为注释是重复的。我尝试了不同的方法都没有成功,但我希望以下示例能够让我了解我正在尝试做的事情:
STRING nameVal;
Person {-> GETFEATURE("name", nameVal)}
ANY+?
Person.name == nameVal {-> UNMARK(Person)};
我也尝试过这种变化:
STRING nameVal;
Person {-> GETFEATURE("name", nameVal)}
ANY+?
Person {-> UNMARK(Person)} <- { Person.name == nameVal; };
如果我将变量 nameVal 替换为文字(参见下一个示例),则规则运行良好并且似乎接近我想要的,但不完全是。
Person
ANY+?
Person.name == "Mustermann" {-> UNMARK(Person)};
我相信,问题在于,在评估比较时,全局变量尚未初始化。Ruta 中是否有办法将第一个匹配注释的特征与同一规则内最后一个匹配注释的特征进行比较?