Ruta 中的 If-Then-Else

If-Then-Else in Ruta

Ruta 中有类似 if then else 的东西吗?我想做类似的事情:

如果至少有一个术语来自 catA,则用 "one" 标记文档 否则,如果至少有一个来自 catB 的术语,则用 "two" 标记文档 否则用 "three".

标记文档

祝一切顺利 菲利普

UIMA Ruta (2.7.0) 中 if-then-else 没有语言结构。

您需要复制规则的某些部分以便为其他部分建模,例如,如下所示:

Document{CONTAINS(CatA) -> One};
Document{-CONTAINS(CatA), CONTAINS(CatB) -> Two};
Document{-CONTAINS(CatA), -CONTAINS(CatB) -> Three};

您还可以检查之前的规则是否匹配并依赖它。

规则的实际外观主要取决于类型系统以及您希望如何对信息建模(特征?)。

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

我想你问的是 Ruta 的 If-else-if。这可以使用“ONLYFIRST

PACKAGE uima.ruta.example;

DECLARE CatA,CatB,CatC;

"CatA"->CatA;
"CatB"->CatB;
"CatC"->CatC;
DECLARE one,two,three;

ONLYFIRST Document{}{
Document{CONTAINS(CatA) -> one};
Document{CONTAINS(CatB) -> two};
Document{CONTAINS(CatC) -> three};

}