Как обучить идентификатор распознавателя именованных сущностей в OpenNLP?

Хорошо, у меня есть следующий код для обучения идентификатора NER из OpenNLP

FileReader fileReader = new FileReader("train.txt");
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); 

Я не знаю, делаю ли я что-то не так, если чего-то не хватает, но классификация не работает. Я предполагаю, что файл train.txt неверен.

Возникающая ошибка заключается в том, что все токены относятся только к одному типу.

Мои данные train.txt похожи на следующий пример, но с намного больше вариаций и количества записей. Другое дело, что я классифицирую слово за словом из текста за раз, а не все токены.

<START:distance> 8000m <END>
<START:temperature> 100ºC <END>
<START:weight> 50kg <END>
<START:name> Renato <END>

Кто-нибудь может показать, что я делаю не так?

9
задан Renato Dinhani 25 July 2013 в 18:13
поделиться