2

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

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

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

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

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

谢谢!

4

1 回答 1

1

操作 SETFEATURE 不能与 UIMA Ruta 2.1.0 中的特征表达式一起正常工作。使用变量和文字值的操作应该可以正常工作。

您可以像在示例中所做的那样使用点符号访问深层功能。如果 casefoo是注释的特征,DeepAnnotation.bar.foo{-> Type};则应匹配所有 DeepAnnotations,然后匹配 bar 的值,然后匹配 foo 的值。Type该操作应该为每个“foo”注释创建一个类型的注释。不允许在当前窗口之外进行匹配(如果规则位于限制窗口的块内)。

目前只能通过一组有限的操作将注释分配给特征。这些属于 CREATE、FILL、GATHER、TRANSFER。

于 2014-03-07T08:33:39.803 回答