首页 > 解决方案 > 如何在 UIMA Ruta 中为外部分析引擎设置模型

问题描述

我正在尝试将 StanfordNamedEntityRecognizer 用于德语。我从 dkpro 加载了一个模型。不幸的是,模型无法识别。相反,NER 尝试使用不同的模型,该模型在任何地方都没有提供。

我如何告诉 AE 使用哪个模型?例如,使用“model-ner-de-Person”代替“model-ner-de-nemgp”。

这是我的主要 ruta 文件:

PACKAGE org.apache.uima.ruta.novel;
IMPORT PACKAGE de.tudarmstadt.ukp.dkpro.core.api.lexmorph.type.pos FROM desc.type.POS AS pos;
IMPORT PACKAGE de.tudarmstadt.ukp.dkpro.core.api.segmentation.type.Sentence FROM desc.type.LexicalUnits AS sentence;
IMPORT PACKAGE de.tudarmstadt.ukp.dkpro.core.api.ner.type.NamedEntity FROM desc.type.NamedEntity;

UIMAFIT de.tudarmstadt.ukp.dkpro.core.opennlp.OpenNlpSegmenter;
UIMAFIT de.tudarmstadt.ukp.dkpro.core.stanfordnlp.StanfordPosTagger;
UIMAFIT de.tudarmstadt.ukp.dkpro.core.stanfordnlp.StanfordParser;
UIMAFIT de.tudarmstadt.ukp.dkpro.core.stanfordnlp.StanfordNamedEntityRecognizer;

uima.tcas.DocumentAnnotation{-CONTAINS(pos.POS)} -> {
    uima.tcas.DocumentAnnotation{-> SETFEATURE("language", "de")};
    EXEC(OpenNlpSegmenter);
    EXEC(StanfordPosTagger, {pos.POS});
    EXEC(StanfordNamedEntityRecognizer);
};

标签: modeluimaruta

解决方案


检查相应的descriptor.xml,我找到了配置参数“modelVariant”。我在我的 Ruta 脚本中添加了以下几行,它解决了我的请求。

这会将 StanfordNamedEntityRecognizer 的 modelVariant 设置为我喜欢的名为“germeval2014.hgc_175m_600.crf”的模型。

Document{-> CONFIGURE(StanfordNamedEntityRecognizer, "modelVariant" = "germeval2014.hgc_175m_600.crf")};

推荐阅读