UIMA RUTA:如何检查不匹配的要素注记对象的属性

时间:2014-03-06 16:43:05

标签: uima ruta

我的注释具有同一文档中的其他注释功能。但是,主机和功能通常不会重叠。然后我想检查功能注释对象是否具有某些属性。尝试这样做时我遇到两个问题:

首先,我无法访问深层功能,例如:

DeepAnnotation{->SETFEATURE("foo", DeepAnnotation.bar.foo)}

这不起作用,因为它似乎只将最后一个“.foo”解释为成员资格表达式以及之前作为类型的所有内容。

其次,在DeepAnnotation.bar.foo是注释对象的情况下,我似乎无法使用IS()等来检查其属性或将其分配给变量。是否有一个列表,其中哪些条件接受不匹配的注释作为第二个参数?对于我的用例,我会非常受益于干净地检查非匹配注释的所有条件并可能将它们分配给变量。如果这是错误的论坛,我很乐意在其他地方提交功能请求。

谢谢!

1 个答案:

答案 0 :(得分:1)

对于UIMA Ruta 2.1.0中的特征表达式,SETFEATURE操作无法正常工作。使用变量和文字值的操作应该可以正常工作。

您可以使用点表示法访问深层功能,就像您在示例中所做的那样。如果foo是注释的功能,那么DeepAnnotation.bar.foo{-> Type};应匹配所有DeepAnnotations,然后匹配bar的值,然后匹配foo的值。该操作应为每个“foo”创建Type类型的注释。注解。请注意,不允许匹配当前窗口(如果规则位于阻止窗口的块内)。

目前,只有一组有限的操作才能为功能分配注释。这些属于CREATE,FILL,GATHER,TRANSFER。