java - UIMA RUTA - 如何以特定顺序处理单词?
问题描述
我用 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);
};
};
推荐阅读
- python - 带有 Plotly 的动画饼图
- python - 无法导入我在 PATH 和 PYTHONPATH 中的模块
- java - 当我尝试使用 Jsoup 在课堂上获取超过 1 个文档时,为什么会出现 handshake_failure 错误?
- python - DRF 中的 CART 功能
- python-3.x - 如何使用正则表达式计算文本文件中出现的所有短语?
- openmdao - 轨迹中链接的 OpenMDAO 阶段是否需要具有相同的转录?
- java - 使用 JAXB XMLStreamReader 防止 XXE 攻击
- python - Sympy Linsolve 出乎意料的结果
- java - Launch4j 不显示 UTF-8 字符
- javascript - 如何在输入字段中写入值帮助数据?