NLP 管道、DKPro、Ruta - 缺少描述符错误

NLP Pipeline, DKPro, Ruta - Missing Descriptor Error

我正在尝试 运行 带有分析管道的 RUTA 脚本。

我像这样将我的脚本添加到管道中 createEngineDescription(RutaEngine.class, RutaEngine.PARAM_MAIN_SCRIPT, "mypath/myScript.ruta)

我的 ruta 脚本文件包含这个:

IMPORT PACKAGE de.tudarmstadt.ukp.dkpro.core.api.lexmorph.type.pos
    FROM desc.type.POS AS pos;
IMPORT de.tudarmstadt.ukp.dkpro.core.api.segmentation.type.Lemma
    FROM desc.type.LexicalUnits;
IMPORT de.tudarmstadt.ukp.dkpro.core.api.segmentation.type.Token
    FROM desc.type.LexicalUnits_customized AS token;
IMPORT de.tudarmstadt.ukp.dkpro.core.api.syntax.type.dependency.Dependency
    FROM desc.type.Dependency AS dep;
IMPORT de.tudarmstadt.ukp.dkpro.core.type.ReadabilityScore
    FROM desc.type.ReadabilityScore;
IMPORT de.tudarmstadt.ukp.dkpro.core.api.metadata.type.TagsetDescription
    FROM desc.type.metadata;

UIMAFIT de.tudarmstadt.ukp.dkpro.core.opennlp.OpenNlpSegmenter;
UIMAFIT de.tudarmstadt.ukp.dkpro.core.opennlp.OpenNlpPosTagger;
UIMAFIT de.tudarmstadt.ukp.dkpro.core.corenlp.CoreNlpLemmatizer;
UIMAFIT de.tudarmstadt.ukp.dkpro.core.maltparser.MaltParser;
UIMAFIT de.tudarmstadt.ukp.dkpro.core.readability.ReadabilityAnnotator;

uima.tcas.DocumentAnnotation{-CONTAINS(pos.POS)} -> {
    uima.tcas.DocumentAnnotation{-> SETFEATURE("language", "en")};
EXEC(OpenNlpSegmenter);
EXEC(OpenNlpPosTagger);  
EXEC(CoreNlpLemmatizer);
EXEC(MaltParser); 
EXEC(ReadabilityAnnotator);
};

这会生成错误 -> 注释异常:注释器初始化 class“org.apache.uima.ruta.engine.RutaEngine”失败。 (描述符:未知)

我需要描述符吗?这个答案 向我表明它不是必需的,但也许我误解了必需的内容。如果需要,我该如何添加?

我正在使用 uimafit-core:2.5.+ 和 org.apache.uima:ruta-core:2.8.1

正在扫描其他解决方案我也试过这个

AnalysisEngine aae = createEngine(RutaEngine.class,
            RutaEngine.PARAM_MAIN_SCRIPT, "myscript.ruta",
            RutaEngine.PARAM_SCRIPT_PATHS, new String[] { "src/main/resources/ruta" },
            RutaEngine.PARAM_ADDITIONAL_EXTENSIONS, new String[] {
                    BooleanOperationsExtension.class.getName(),
                    StringOperationsExtension.class.getName()});

但没有任何改善。我得到同样的错误。

我解决了这个问题。抛出此错误仅仅是因为找不到脚本,我不得不将此行从: RutaEngine.PARAM_MAIN_SCRIPT, "myscript.ruta" 到: RutaEngine.PARAM_MAIN_SCRIPT、“我的脚本”

但是,在此之前我还做了一些可能对解决方案有帮助的其他事情,所以我在这里列出它们:

  1. 我将 ruta 性质添加到我的 eclipse 项目中
  2. 我将 myscript 从资源移动到脚本包