2015-10-21 4 views
0

Я тренировался OpenNLP NER-модель, чтобы обнаружить новый объект, но когда я использую эту модель я столкнулся следующее исключение:Почему самообучающаяся NER-модель несовместима с версией OpenNLP?

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();      

Любой, пожалуйста, помогите мне решить эту проблему ..

ответ

0

Я Finde на проблему .. на самом деле я тренировался namefinder из OpenNLP 1.6.0 и использует в той же версии, которая не является possib le с текущей версией (1.6.0) opennlp. Теперь я тренировал модель opennlp 1.5.3 и использую с opennlp 1.6.0, который отлично работает!