UIMA Ruta:可选的量词

时间:2016-11-09 20:20:27

标签: uima ruta

我只想在这个术语背后的术语与我相关的情况下匹配一些术语。所以我创建了一个最小的例子:

这是我的测试数据:

small Large
Large
small

我想标记小型大型,但不是“小型”。

所以我想,这样的事情应该有效:

DECLARE Test;
(SW*? CW) {-> CREATE(Test)};

但RUTA仅匹配“小型大”。

对于测试我已经用“W”替换了“SW”,它将做我想做的事。

1 个答案:

答案 0 :(得分:0)

不幸的是,如果规则开始与第一个规则元素匹配,则规则开头的可选量词不是可选的。这意味着您需要两个规则,或者您需要更改规则元素匹配的顺序。

更改规则元素匹配的顺序导致不同的规则匹配,因为并非所有SW的增量序列都在CW之前考虑。然而,这通常是人们通常喜欢的东西。该规则看起来像:

(SW* @CW) {-> CREATE(Test)};

两种规则方法看起来像:

(SW+? CW) {-> CREATE(Test)};
CW {-> CREATE(Test)};

如果由于额外的计算而没有必要,我建议避免使用不情愿的量词。而是使用PARTOF条件,即使它看起来不太好。

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