如何解决 GermanNovel 示例项目(带有 ruta 的 dkpro)中的 ruta 脚本错误?

How to resolve ruta script errors from GermanNovel example project (dkpro with ruta)?

  1. 我将 GermanNovel 示例项目(基本上是从 https://github.com/apache/uima-ruta/releases 的 uima-ruta 版本之一下载的)作为 maven 项目导入到 eclipse 中.我将它作为 maven 导入,因为我找到了一个 pom.xml 文件。

  2. 我在 Main.ruta 脚本中发现一个错误, "GeneratedDKProCoreTypes" 未找到, 但 GeneratedDKProCoreTypes.xml 存在于描述符文件夹中。

  3. 如果我将 de.tudarmstadt.ukp.dkpro.core.treetagger-asl 依赖项的版本从 1.5.0 更改为1.7.0,则 class TreeTaggerPosLemmaTT4J 未找到。它被弃用了还是什么?我应该改用其他 class(es) 和类型吗?

Main.ruta

PACKAGE uima.ruta.example;

IMPORT PACKAGE de.tudarmstadt.ukp.dkpro.core.api.lexmorph.type.pos FROM GeneratedDKProCoreTypes AS pos;
IMPORT de.tudarmstadt.ukp.dkpro.core.api.segmentation.type.Lemma FROM GeneratedDKProCoreTypes;

UIMAFIT de.tudarmstadt.ukp.dkpro.core.stanfordnlp.StanfordSegmenter;
UIMAFIT de.tudarmstadt.ukp.dkpro.core.treetagger.TreeTaggerPosLemmaTT4J;

SCRIPT uima.ruta.example.Name;

Document{-CONTAINS(pos.POS)} -> {
    Document{-> SETFEATURE("language", "de")};
    Document{-> EXEC(StanfordSegmenter)};
    Document{-> EXEC(TreeTaggerPosLemmaTT4J, {pos.POS})};
};

Document{-> CALL(Name)};

TreeTaggerPosLemmaTT4J 已重命名为 TreeTaggerPosTagger

另见 DKPro Core 1.7.0 component list

Peter 评论中的其他汇总信息:

示例项目仅使用maven 进行依赖管理。 ruta 脚本是在没有 maven 的情况下构建的,因为该项目是在 ruta 支持 maven 之前创建的。如果你将这些东西复制到另一个 Maven 项目,类型系统需要位于类路径的根目录中,例如 src/main/resources

行 IMPORT PACKAGE de.tudarmstadt.ukp.dkpro.core.api.lexmorph.type.pos FROM GeneratedDKProCoreTypes AS pos;需要包含类型系统所在的包。如果 xml 文件位于 src/main/resources/my/package,那么该行应该看起来像 ... FROM my.package.GeneratedDKProCoreTypes AS pos 披露:我是一名 DKPro 核心开发人员。