我将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
是包含经过培训的文字的文本文件。问题是每次运行时都需要花费太多时间来训练数据。有没有办法保存这个训练有素的模型并重复使用它?
答案 0 :(得分:1)
您可以使用此代码保存模型,并且无需一次又一次地重复使用
BufferedOutputStream modelOut = new BufferedOutputStream(new FileOutputStream("filename"));
model.serialize(modelOut);