繁体   English   中英

UIMA RUTA - 如何以特定顺序处理单词?

[英]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);
    };
};

UIMA RUTA 在“ <!--”</div--><div id="text_translate"><p> 我正在使用 UIMA RUTA 来注释各种文档。 它们来自不同的来源,有时会出现字符 &lt;. 出现在文档的中间。 &lt;! 被注释为 MARKUP 并被其他注释忽略。</p><p> 有没有办法改变这种行为? 即使我关闭 MARKUP 注释,&lt; 之后的文本。 没有被任何其他注释注释。</p><p> 我找到了负责创建大部分 MARKUP 注释的代码部分(org.apache.uima.ruta.seed 包中的 DefaultSeeder),但我无法找到代码的哪一部分负责以 &lt; 开头的 MARKUP 注释!</p><p> 感谢您的任何建议!</p></div>

[英]UIMA RUTA is not annotating text after “<!”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM