0
Ich versuche, ein Modell mit dem Code unten zu trainieren, aber ich bekomme immer einen Fehler auf der DocumentCategorizerME.train()
Methode es sagt mir, die factory
zu doccatfactory
zu ändern. Warum?Ausbildung eines Kategorisierungsmodells Opennlp
public void trainModel()
{
DoccatModel model = null;
InputStream dataIn = null;
try
{
InputStreamFactory factory = getInputStreamFactory(new File("D:/training.txt"));
ObjectStream<String> lineStream = new PlainTextByLineStream(factory, Charset.defaultCharset());
ObjectStream<DocumentSample> sampleStream = new DocumentSampleStream(lineStream);
TrainingParameters params = new TrainingParameters();
params.put(TrainingParameters.ITERATIONS_PARAM, "100");
params.put(TrainingParameters.CUTOFF_PARAM, "0");
model = DocumentCategorizerME.train("en", sampleStream, params, factory);
}
}
public static InputStreamFactory getInputStreamFactory(final File file) throws IOException{
return new InputStreamFactory() {
@Override
public InputStream createInputStream() throws IOException {
return new FileInputStream(file);
}
};
}