如何从DKPro Core中的多个文件中为OpenNLP Name Entity训练一个模型?

时间:2017-09-25 15:04:49

标签: opennlp dkpro-core webanno

如何在DKPro Core中训练多个文件中的一个模型?

在WebAnno中注释许多文档并以XMI格式导出后,我尝试使用以下代码创建模型:

        File model = new File("/tmp/", "model.bin");

    SimplePipeline.runPipeline(CollectionReaderFactory.createReaderDescription(XmiReader.class,
            ResourceCollectionReaderBase.PARAM_SOURCE_LOCATION, "/tmp/",
            ResourceCollectionReaderBase.PARAM_PATTERNS, ResourceCollectionReaderBase.INCLUDE_PREFIX + "*.xmi"),
            AnalysisEngineFactory.createEngineDescription(OpenNlpNamedEntityRecognizerTrainer.class,
                    OpenNlpNamedEntityRecognizerTrainer.PARAM_TARGET_LOCATION, model,
                    OpenNlpNamedEntityRecognizerTrainer.PARAM_LANGUAGE, "pt"));

}

问题在于虽然它确实打开了多个带注释的文件,但只训练了一个文件。

1 个答案:

答案 0 :(得分:0)

阅读器将打开所有文件,并将它们一个一个地发送给培训师。培训师从所有这些人那里学习,并产生一个单一的输出模型。因此,您只能看到一个输出文件。

如果您要为每个输入文件创建一个模型,则必须创建一个循环,将文件逐一传递给读取器。