[英]How to create an AnalysisEngineDescriptor from an uima-ruta script to use in a SimplePipeline
我无法在我的简单管道中运行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工作台复制的引擎描述符。
尝试在声明后添加一个半列,并使用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 ) 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.