Java 如何使用openNLP检测日期

Java 如何使用openNLP检测日期,java,date,opennlp,sentence,Java,Date,Opennlp,Sentence,我想使用openNLP检测句子上的日期。使用id很容易,因为除了myslft提供的培训之外,还有一个现有的模型。有谁能指导我如何用java做这件事吗 首次从(英文版-en标签)下载日期名称查找器型号 同时下载标记器型号。因为名称查找器模型的输入应该是标记化的数组 将它们添加到项目文件夹或其他地方 加载两种型号 try { TokenizerModel model1 = new TokenizerModel(modelIn2); TokenNameFinderModel model2

我想使用openNLP检测句子上的日期。使用id很容易,因为除了myslft提供的培训之外,还有一个现有的模型。有谁能指导我如何用java做这件事吗

  • 首次从(英文版-en标签)下载日期名称查找器型号
  • 同时下载
    标记器型号
    。因为名称查找器模型的输入应该是标记化的数组
  • 将它们添加到项目文件夹或其他地方
加载两种型号

try {
  TokenizerModel model1 = new TokenizerModel(modelIn2);
  TokenNameFinderModel model2 = new TokenNameFinderModel(modelIn1);
}
catch (IOException e) {
  e.printStackTrace();
}
finally {
  if (modelIn1 != null) {
    try {
      modelIn1.close();
    }
    catch (IOException e) {
    }
  }
  if (modelIn2 != null) {
    try {
      modelIn2.close();
    }
    catch (IOException e) {
    }
  }
}
String tokens[] = tokenizer.tokenize("An input sample sentence.");
Span nameSpans[] = nameFinder.find(tokens);
创建标记器模型和NameFindModel

try {
  TokenizerModel model1 = new TokenizerModel(modelIn2);
  TokenNameFinderModel model2 = new TokenNameFinderModel(modelIn1);
}
catch (IOException e) {
  e.printStackTrace();
}
finally {
  if (modelIn1 != null) {
    try {
      modelIn1.close();
    }
    catch (IOException e) {
    }
  }
  if (modelIn2 != null) {
    try {
      modelIn2.close();
    }
    catch (IOException e) {
    }
  }
}
String tokens[] = tokenizer.tokenize("An input sample sentence.");
Span nameSpans[] = nameFinder.find(tokens);
然后加载TokenizerME和NameFinderME

Tokenizer tokenizer = new TokenizerME(model1);
NameFinderME nameFinder = new NameFinderME(model2);
然后从标记器模型获取标记

try {
  TokenizerModel model1 = new TokenizerModel(modelIn2);
  TokenNameFinderModel model2 = new TokenNameFinderModel(modelIn1);
}
catch (IOException e) {
  e.printStackTrace();
}
finally {
  if (modelIn1 != null) {
    try {
      modelIn1.close();
    }
    catch (IOException e) {
    }
  }
  if (modelIn2 != null) {
    try {
      modelIn2.close();
    }
    catch (IOException e) {
    }
  }
}
String tokens[] = tokenizer.tokenize("An input sample sentence.");
Span nameSpans[] = nameFinder.find(tokens);
然后将此令牌数组作为参数发送给namefinder model

try {
  TokenizerModel model1 = new TokenizerModel(modelIn2);
  TokenNameFinderModel model2 = new TokenNameFinderModel(modelIn1);
}
catch (IOException e) {
  e.printStackTrace();
}
finally {
  if (modelIn1 != null) {
    try {
      modelIn1.close();
    }
    catch (IOException e) {
    }
  }
  if (modelIn2 != null) {
    try {
      modelIn2.close();
    }
    catch (IOException e) {
    }
  }
}
String tokens[] = tokenizer.tokenize("An input sample sentence.");
Span nameSpans[] = nameFinder.find(tokens);
这将把它转换为字符串形式的预测日期数组

String[] array=Span.spansToStrings(nameSpans,tokens);