如何反序列化 OpenNLP 训练的模型?

How to deserialize OpenNLP trained model?

我正在使用带有 Java 的 OpenNLP 对文本进行分类。我使用了 DoccatModel 对象。然后我用 serialize 方法保存它。我想知道如何从 .bin 保存的文件创建模型。

尽管如此,我每次启动程序时都需要训练模型。

DoccatModel model = trainedModel(trainingDatasetPath);
serializeModel(model);

方法 trainedModel returns 由位于 trainingDatasetPath.

的文件训练的 DoccatModel 对象

有人知道吗?

我找到了答案: “DoccatModel”有一个构造函数。

DoccatModel model;
if(model_file.exists()) {
    model = new DoccatModel(model_file);
} else {
    model = trainedModel(trainingDatasetPath);
    serializeModel(model);
}
DocumentCategorizer doccat = new DocumentCategorizerME(model);