- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Ruta 的初学者,我现在想掌握的想法是如何在 UIMA 环境(纯 Java)中处理类变量/集合。我尝试按照 documentation 中给出的示例进行操作;但是 Ruta 规则可以作为脚本文件在外部应用,也可以使用 Ruta.apply(cas, rule) “当场”应用。这些选项都不允许我使用,例如,文件词典或任何预定义的 java 集合。你能给我一些关于我的问题的提示/解决方案吗?
通常,我使用 UIMA AE 来解析句子,然后使用 Ruta 脚本中创建的注释根据句法结构匹配特定类型的句子。因此,我编写的 Ruta 规则相当简单,但由于设置了 POSTags 而显得笨重。所以我想在 Ruta 内部获得一些灵 active 。如果对这个主题也有任何建议,我将不胜感激。
编辑:例如,我有一个规则考虑由 AE(斯坦福解析器)创建的一组 POSTag。因此,为了匹配所需的句子结构,我将按以下方式对其进行硬编码(我意识到这是最天真的方式):
String rutaSampleRule = "BLOCK(ForEach) Sentence{}{Document{-> Asyndeton} "
+ "<- {((Constituent.label==\"NN\" COMMA Constituent.label==\"NN\") |"
+ " (Constituent.label==\"NNP\" COMMA Constituent.label==\"NNP\") |"
+ " (Constituent.label==\"NNPS\" COMMA Constituent.label==\"NNPS\") |"
+ " (Constituent.label==\"NNS\" COMMA Constituent.label==\"NNS\"));};}";<br/>
Ruta.apply(cas, rutaSampleRule);
现在,我想要的是声明此类 POSTag(即 NNS、NN)的集合,在 Ruta 中对其进行迭代并匹配相应的句子结构(此处为连续名词)。这将使我的规则更加灵活和实用。
第二个选择是使用词典而不是集合,但我认为它们只能在 Ruta 中单独使用(与 MARKFAST)(不是纯 Java);至少我找不到任何例子。
所以,总结一下我的问题:在简单的 Ruta 脚本(不引入任何新类型)中,是否有可能(如果是的话如何)在纯 Java 中使用外部定义的集合/词典?
我希望,我能以更好的方式解释它。提前致谢。
编辑 1: 我通过尝试路径和 example 了解了如何在普通 Java 中使用词典。在指南书中。不过,我想知道如何使用配置参数为变量赋值?
最佳答案
这应该可以解决问题(使用当前主干测试):
String rutaSampleRule = "STRINGLIST posList;"
+ "Sentence{-> Asyndeton} <- {"
+ "c1:Constituent{CONTAINS(posList, c1.label)} COMMA c2:Constituent{c2.label == c1.label};"
+ "};";
List<String> posList = Arrays.asList(new String[] { "NN", "NNP", "NNPS", "NNS" });
Map<String, Object> additionalParams = new HashMap<>();
additionalParams.put(RutaEngine.PARAM_VAR_NAMES, new String[] { "posList" });
additionalParams.put(RutaEngine.PARAM_VAR_VALUES, new String[] { StringUtils.join(posList, ",") });
Ruta.apply(cas, rutaSampleRule, additionalParams);
一些评论:
免责声明:我是 UIMA Ruta 的开发者
关于java - UIMA 环境中的 Ruta。在纯 Java 中使用预定义的集合/集合和词典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41885359/
我是一名优秀的程序员,十分优秀!