为什么自我训练的NER模型与OpenNLP版本不兼容?
我训练OpenNLP NER模型来检测新实体,但当我使用此模型时,我遇到以下异常:为什么自我训练的NER模型与OpenNLP版本不兼容?,nlp,text-mining,opennlp,named-entity-recognition,Nlp,Text Mining,Opennlp,Named Entity Recognition,我训练OpenNLP NER模型来检测新实体,但当我使用此模型时,我遇到以下异常: Exception in thread "main" java.lang.IllegalArgumentException: opennlp.tools.util.InvalidFormatException: Model version 1.6.0 is not supported by this (1.5.3) version of OpenNLP! 我使用的是OpenNLP 1.6.0版,源代码
Exception in thread "main" java.lang.IllegalArgumentException:
opennlp.tools.util.InvalidFormatException:
Model version 1.6.0 is not supported by this (1.5.3) version of OpenNLP!
我使用的是OpenNLP 1.6.0版,源代码如下:
String [] sentences = Fragmentation.getSentences(Document);
InputStream modelIn = new FileInputStream("Models/en-ner-cvskill.bin");
TokenNameFinderModel model = new TokenNameFinderModel(modelIn);
NameFinderME nameFinder = new NameFinderME(model);
String[] tokens = null;
Span nameSpans[] = null;
int i=0;
for (String sentence : sentences) {
tokens = null;
nameSpans = null;
System.out.println("Sentences: "+(++i)+"\n" + sentence);
tokens = Fragmentation.getTokens(sentence);
for(String token: tokens){
System.out.println("Token:-------------------: "+token);
}
nameSpans = nameFinder.find(tokens);
String SkillName = Arrays.toString(Span.spansToStrings(nameSpans, tokens));
for(Span name:nameSpans){
System.out.println("Skills: "+ name.toString());
}
System.out.println("Names-------------------:"+SkillName);
}
nameFinder.clearAdaptiveData();
请任何人帮我解决这个问题我已经找到了问题。。 实际上,我是在培训OpenNLP1.6.0的namefinder,并在同一版本中使用,这在当前版本(1.6.0)的opennlp中是不可能的。 现在,我培训了OpenNLP1.5.3的模型,并与OpenNLP1.6.0一起使用,它运行良好