我无法在简单的管道中运行uima ruta脚本。我正在与下一个图书馆合作:
我用的是org.apache.uima.fit.pipeline.SimplePipeline和:
SimplePipeline.runPipeline(
UriCollectionReader.getCollectionReaderFromDirectory(filesDirectory), //directory with text files
UriToDocumentTextAnnotator.getDescription(),
StanfordCoreNLPAnnotator.getDescription(),//stanford tokenize, ssplit, pos, lemma, ner, parse, dcoref
AnalysisEngineFactory.createEngineDescription(RUTA_ANALYSIS_ENGINE),//RUTA script
AnalysisEngineFactory.createEngineDescription(//
XWriter.class,
XWriter.PARAM_OUTPUT_DIRECTORY_NAME, outputDirectory,
XWriter.PARAM_FILE_NAMER_CLASS_NAME, ViewURIFileNamer.class.getName())
);我要做的是使用StandfordNLP注解器(来自ClearTK)并应用一个ruta脚本。目前,所有操作都没有错误,默认的ruta注释正在添加到CAS中,但是我的规则创建的注释没有添加到CAS中。
我的剧本是:
PACKAGE edu.isistan.carcha.concern;
TYPESYSTEM org.cleartk.ClearTKTypeSystem;
DECLARE persistence
Token{FEATURE("lemma","storage") -> MARK(persistence)};查看带注释的文件:

有基本的ruta注释,如"SPACE“或"SW”,因此创建RutaEngine并将其添加到管道中.
如何正确地创建一个AnalysisEngineDescriptor来运行Ruta脚本?
注意:RUTA_ANALYSIS_ENGINE是我从RUTA复制的引擎描述符。
发布于 2013-12-02 15:07:08
尝试在声明后添加一个半列,并为Token注释使用一个完全限定的名称:
PACKAGE edu.isistan.carcha.concern;
TYPESYSTEM org.cleartk.ClearTKTypeSystem;
DECLARE persistence;
org.cleartk.token.type.Token{FEATURE("lemma","storage") -> MARK(persistence)};在RUTA中输入混叠有点太激进了。管道中已知的每种类型都可以使用它的短名称,即使您没有在脚本中导入它们。如果管道中有多个Token类型可用,则目前无法知道将选择哪种类型(请参见https://issues.apache.org/jira/browse/UIMA-3322?filter=-2)。
https://stackoverflow.com/questions/20315856
复制相似问题