OpenNLP保存训练有素的模型

时间:2014-12-11 21:02:18

标签: java opennlp

我将OpenNLP用于Name Entity Recognition(NER)。他们有自己的模型here。但是他们的NER域名不适合我。所以使用此代码训练我自己的模型

            FileReader fileReader = new FileReader("res/review_train");
            ObjectStream fileStream = new PlainTextByLineStream(fileReader);
            ObjectStream sampleStream = new NameSampleDataStream(fileStream);
            TokenNameFinderModel model = NameFinderME.train("pt-br", "train", sampleStream, Collections.<String, Object>emptyMap());
            nfm = new NameFinderME(model);

此处review_train是包含经过培训的文字的文本文件。问题是每次运行时都需要花费太多时间来训练数据。有没有办法保存这个训练有素的模型并重复使用它?

1 个答案:

答案 0 :(得分:1)

您可以使用此代码保存模型,并且无需一次又一次地重复使用

BufferedOutputStream modelOut = new BufferedOutputStream(new FileOutputStream("filename"));
model.serialize(modelOut);