[英]UIMA RUTA - How To Process Words In A Particular Order?
我在 Java 中编写了一个 UIMA 注释引擎,我想将规则从 Java 移到 RUTA 中。 我的 Java 引擎所做的一件事就是处理单词并以特定顺序应用规则,这与句子中的单词顺序不同。
使用例句“系统请求用户名和密码”。 不会按该顺序处理。 相反,我的规则是根据依赖注释的结构应用的,所以句子是按这个顺序处理的 [requests, The, system, username, ., a, and, password]
因此,我想知道是否有一种简单的方法可以以不同的顺序应用 RUTA 规则,而无需重新排序 CAS,也许使用索引? 我可以继续使用 Java 来创建这样的索引注释:(2)系统(3)请求(1)a(6)用户名(4)和(7)密码(8)。(5)但我可以' t 弄清楚如何使用 forEach BLOCK 或其他一些 RUTA 逻辑来按索引顺序处理这些。
如果您想知道为什么我需要按顺序处理它们,原因是我的规则的应用需要依赖层次结构。 依赖项的注释由州长/父项的注释驱动。
我找到了一种使用块的方法。 由于块可以递归,我首先创建一个子块,它查找项目父项,然后调用父块。 例如使用依赖结构,我可以在依赖之前注释调控器(当你到达根时使用特殊逻辑)。
d:dep.Dependency{d.DependencyType!="ROOT"}->{
d.Governor{-IS(MyItem)}->{
CALL(myPackage.AnnotateGovernor);
};
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.