使用 Maven 和 DKPro Core 的 UIMA 路由 Workbench

UIMA Ruta Workbench with Maven and DKPro Core

我正在尝试在 RUTA workbench 中使用 DKPro 核心组件,如下面的德国小说示例:https://github.com/pkluegl/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;

Maven 正确地从 DKPro Core 获取依赖项。虽然我能够在 Eclipse 中执行主要的 ruta 脚本并在输出目录中获取 xmi 文件,但我无法在注释浏览器中打开此 xmi 文件:

Caused by: XCASParsingException: Error parsing XCAS or XMI-CAS from source <unknown> at line <unknown>, column <unknown>: unknown type: de.tudarmstadt.ukp.dkpro.core.api.metadata.type.TagsetDescription.

我想 Workbench 无法访问 DKPro Core 导入的类型系统,我不知道如何解决这个问题。我尝试将父项目升级到当前的 ruta 版本(2.6.1,与我的 ruta workbench 相同)但没有任何更好的结果。

有多种方法可以解决这个问题。您可以在 Ruta 脚本中导入包含 TaggsetDescription 的 DKPRo Core 类型系统,以便生成的类型系统描述也提供类型,以防类型系统描述用于在 CAS 编辑器中打开 XMI。

我经常生成一个类型系统描述,其中包含项目类路径 (uimaFIT types.txt) 中可用的所有类型系统描述,以便在 CAS 编辑器中打开 XMI。例如使用以下代码:

protected void storeTypeSystem() {

        File tsFile = new File("TypeSystem.xml");

        try {

            TypeSystemDescription typeSystemDescription = TypeSystemDescriptionFactory.createTypeSystemDescription();
            try (OutputStream os = new FileOutputStream(tsFile)) {
                typeSystemDescription.toXML(os);
            }
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

您可以在该项目的属性中指定应用于该项目内所有文件的类型系统描述:属性 -> UIMA 类型系统。默认情况下,它指向上面示例代码创建的文件。

免责声明:我是 UIMA Ruta 的开发者