序列开头的UIMA RUTA注释

时间:2017-07-04 13:17:54

标签: annotations uima ruta

我有一系列注释,它们是相同类型的实例(例如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在文档之前删除没有相同类型注释的注释?

1 个答案:

答案 0 :(得分:1)

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

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

如果下面有另一个CW,则删除文档中的第一个CW“软件”。

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

如果有CW跟随并且之前没有CW,则删除所有CW“软件”。如果文档可以从模式开始,则需要第二条规则。

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

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