gpt4 book ai didi

java - 如何从 uima-ruta 脚本创建 AnalysisEngineDescriptor 以在 SimplePipeline 中使用

转载 作者:搜寻专家 更新时间:2023-10-31 20:12:13 26 4
gpt4 key购买 nike

我无法在我的简单管道中运行 uima ruta 脚本。我正在使用下一个库:

  1. Uimafit 2.0.0
  2. Uima-ruta 2.0.1
  3. ClearTK 1.4.1
  4. 专家

我正在使用 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)};

查看注释文件: enter image description here

像“SPACE”或“SW”这样的基本 ruta 注释就在那里,所以正在创建 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 )。

关于java - 如何从 uima-ruta 脚本创建 AnalysisEngineDescriptor 以在 SimplePipeline 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20315856/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com