序列开头的 UIMA RUTA 注释

UIMA RUTA annotation at the beginning of sequence

我有一系列注释,它们是相同类型的实例(例如,CW 注释序列)。我需要删除其中的第一个(更正式地说:删除文档中之前没有相同类型注释的注释)。不太正式:删除文档开头的注释。示例文档:"Software StageTools" 所以,我尝试了很多变体:

"Software"{-AFTER(CW) -> UNMARK(CW)} CW+;             //does not work
"Software"{BEFORE(CW) -> UNMARK(CW)} CW+;             //does not work
"Software"{-STARTSWITH(Document) -> UNMARK(CW)} CW+;  //does not work
CW{0, 0} "Software"{-> UNMARK(CW)} CW+;               //getting parsing error

...和其他一些。显然,没有人工作(可能是,我可以参考注释的开始功能,但这不会解决正式问题)。

最后,问题是 - 我怎样才能说 RUTA 删除文档中之前没有相同类型注释的注释?

有很多方法可以做到这一点。这里有两个例子:

# cw:CW.ct=="Software"{-> UNMARK(cw)} CW;

如果后面有另一个 CW,请删除文档中的第一个 CW "Software"。

ANY{-PARTOF(CW)} cw:@CW.ct=="Software"{-> UNMARK(cw)} CW;

如果后面有 CW 而前面没有 CW,则删除任何 CW "Software"。如果文档可以以模式开头,则需要第二条规则。

你的第二条规则实际上对我有用。最后一条规则没有有效的语法。 min/max 量词需要不同的括号,如 [0,0]。但是,这不会产生您想要的效果。

免责声明:我是 UIMA Ruta 的开发者