Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
文档不明确,请使用以下选项之一:org.apache.uima.ruta.type.Document uima.tcas.DocumentAnnotation_Apache_Uima_Ruta - Fatal编程技术网

文档不明确,请使用以下选项之一:org.apache.uima.ruta.type.Document uima.tcas.DocumentAnnotation

文档不明确,请使用以下选项之一:org.apache.uima.ruta.type.Document uima.tcas.DocumentAnnotation,apache,uima,ruta,Apache,Uima,Ruta,我正在使用Ruta注释框架来注释输入文本,之前我使用的是来自类路径的Ruta脚本。但根据客户的需求,我们必须将Ruta脚本移出代码之外,所有这些都需要与系统解耦。我可以实现这一切。我正在做的是,当系统启动时,我正在将所有引擎和脚本资源和缓存读取到goggle gauvas缓存中,一切正常。唯一的问题是在运行批处理(并发进程)时,框架抛出异常 请参阅下面的堆栈跟踪 原因:java.lang.IllegalArgumentException:文档不明确,请使用以下选项之一:org.apache.ui

我正在使用Ruta注释框架来注释输入文本,之前我使用的是来自类路径的Ruta脚本。但根据客户的需求,我们必须将Ruta脚本移出代码之外,所有这些都需要与系统解耦。我可以实现这一切。我正在做的是,当系统启动时,我正在将所有引擎和脚本资源和缓存读取到goggle gauvas缓存中,一切正常。唯一的问题是在运行批处理(并发进程)时,框架抛出异常

请参阅下面的堆栈跟踪

原因:java.lang.IllegalArgumentException:文档不明确,请使用以下选项之一:org.apache.uima.ruta.type.Document uima.tcas.DocumentAnnotation
位于org.apache.uima.ruta.RutaEnvironment.getType(RutaEnvironment.java:367)
位于org.apache.uima.ruta.RutaEnvironment.getType(RutaEnvironment.java:376)
位于org.apache.uima.ruta.RutaEnvironment.getType(RutaEnvironment.java:376)
位于org.apache.uima.ruta.expression.type.SimpleTypeExpression.getType(SimpleTypeExpression.java:45)
位于org.apache.uima.ruta.rule.RutaTypeMatcher.getType(RutaTypeMatcher.java:247)
位于org.apache.uima.ruta.rule.RutaTypeMatcher.getTypes(RutaTypeMatcher.java:262)
位于org.apache.uima.ruta.rule.RutaTypeMatcher.getMatchingAnnotations(RutaTypeMatcher.java:58)
位于org.apache.uima.ruta.rule.RutaRuleElement.getAnchors(RutaRuleElement.java:52)
位于org.apache.uima.ruta.rule.RutaRuleElement.startMatch(RutaRuleElement.java:59)
位于org.apache.uima.ruta.rule.ComposedRuleElement.startMatch(ComposedRuleElement.java:73)
位于org.apache.uima.ruta.rule.RutaRule.apply(RutaRule.java:47)
位于org.apache.uima.ruta.rule.RutaRule.apply(RutaRule.java:40)
位于org.apache.uima.ruta.rule.RutaRule.apply(RutaRule.java:29)
位于org.apache.uima.ruta.RutaScriptBlock.apply(RutaScriptBlock.java:63)
位于org.apache.uima.ruta.RutaScriptBlock.apply(RutaScriptBlock.java:63)
位于org.apache.uima.ruta.action.CallAction.callScript(CallAction.java:96)
在org.apache.uima.ruta.action.CallAction.execute(CallAction.java:78)上
位于org.apache.uima.ruta.rule.AbstractRuleElement.apply(AbstractRuleElement.java:130)
位于org.apache.uima.ruta.rule.RuleElementCareter.applyRuleElements(ruleElementCareter.java:111)
位于org.apache.uima.ruta.rule.ComposedRuleElement.applyRuleElements(ComposedRuleElement.java:554)
位于org.apache.uima.ruta.rule.AbstractRuleElement.doneMatching(AbstractRuleElement.java:84)
位于org.apache.uima.ruta.rule.ComposedRuleElement.fallback(ComposedRuleElement.java:475)
位于org.apache.uima.ruta.rule.ComposedRuleElement.fallbackContinue(ComposedRuleElement.java:384)
位于org.apache.uima.ruta.rule.RutaRuleElement.startMatch(RutaRuleElement.java:100)
位于org.apache.uima.ruta.rule.ComposedRuleElement.startMatch(ComposedRuleElement.java:73)
位于org.apache.uima.ruta.rule.RutaRule.apply(RutaRule.java:47)
位于org.apache.uima.ruta.rule.RutaRule.apply(RutaRule.java:40)
位于org.apache.uima.ruta.rule.RutaRule.apply(RutaRule.java:29)
位于org.apache.uima.ruta.RutaScriptBlock.apply(RutaScriptBlock.java:63)
位于org.apache.uima.ruta.RutaModule.apply(RutaModule.java:48)
位于org.apache.uima.ruta.engine.RutaEngine.process(RutaEngine.java:477)
... 还有22个


PS:当我运行批处理而不是单个实例时,我会遇到这个问题

我对预定义类型(如NUM、SPECIAL等)也有同样的问题。 我将来自ruta的bibtex示例集成到我的管道中,并尝试调用答案1中的rutaEngine(仅是年份脚本)。 我还使用DKPro core.opennlp.OpenNlpSegmenter。 运行脚本时,我会遇到类似于原始问题中的错误:

Caused by: java.lang.IllegalArgumentException: NUM is ambiguous, use one of 
the following instead : de.tudarmstadt.ukp.dkpro.core.api.syntax.type.dependency.NUM 
org.apache.uima.ruta.type.NUM 
at org.apache.uima.ruta.RutaEnvironment.getType(RutaEnvironment.java:459)
另外一个问题是,我不能在“aaa”->Marker这样的语句中声明自己的“临时”类型(例如“Marker”)。 错误为“无法解析类型:标记”
它在RUTA项目内部运行良好,但在我的“真实”项目外部运行不好“项目。

我知道您使用的是ruta<2.5.0?文档已在2.5.0中删除。然而,无论如何,这个问题不应该发生。您可以升级到2.5.0,但请注意,2.5.0中的数据路径有一个bug。作为一个热修复程序,您还可以在脚本中用DocumentAnnotation替换文档。@PeterKluegl我正在使用2.2.0,根据您的说法,文档在2.5.0中被删除,因此我认为这不会产生问题。是和否。问题是短名称之间存在冲突。发生异常是因为存在类型。DocumentAnnotation具有文档的别名。因此,该脚本无法解析给定字符串“Document”的类型。如果存在包含不同版本的其他lib,是否可以检查依赖关系?您建议的更改现在运行良好。我将检查其他lib依赖关系