java - OpenNLP 保存训练好的模型

标签 java opennlp

我使用OpenNLP进行名称实体识别(NER)。他们有自己的型号here 。但他们的 NER 域不适合 myone。因此使用此代码训练了我自己的模型

            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是包含经过训练的文本的文本文件。问题是每次运行时都需要太多时间来训练数据。有没有办法保存这个训练好的模型并重复使用?

最佳答案

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

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

关于java - OpenNLP 保存训练好的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27432286/

相关文章:

java - 使用 EasyMock 模拟 new PrintWriter(String fileName)

java - 为什么 Eclipse 4.7.2 没有可供下载的增量包

java - 使用大 IF ELSE 字符串比较来调用不同的方法。更有效的方法?

java - 如何 "update"一个现有的命名实体识别模型——而不是从头开始创建?

Java方法撤销算法

java - 为什么opennlp库的HelloWorld在Java上工作正常,但在Jruby上却不工作?

r - 可视化解析树结构

java - 在 OpenNLP 中训练命名实体

c# - 为什么 Sun 不做 C# 到 Java 字节码编译器?