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、“我的脚本”
但是,在此之前我还做了一些可能对解决方案有帮助的其他事情,所以我在这里列出它们:
- 我将 ruta 性质添加到我的 eclipse 项目中
- 我将 myscript 从资源移动到脚本包
我正在尝试 运行 带有分析管道的 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、“我的脚本”
但是,在此之前我还做了一些可能对解决方案有帮助的其他事情,所以我在这里列出它们:
- 我将 ruta 性质添加到我的 eclipse 项目中
- 我将 myscript 从资源移动到脚本包