* @param language the language
* @return the model of <code>null</code> if non is available or
* an exception was encountered while loading
*/
private SentenceDetector getSentenceDetector(String language) {
SentenceModel model;
String modelName = languageConfig.getParameter(language, MODEL_NAME_PARAM);
if(modelName == null){
try {
model = openNLP.getSentenceModel(language);
} catch (Exception e) {
log.warn("Unable to load default Sentence Detection model for language '"+language+"'!",e);
return null;
}
} else {
try {
model = openNLP.getModel(SentenceModel.class, modelName, null);
} catch (Exception e) {
log.warn("Unable to load Sentence Detection model for language '"
+language+"' from the configured model '"+modelName+"'!",e);
return null;
}
}
if(model != null) {
log.debug("Sentence Detection Model {} for lanugage '{}' version: {}",
new Object[]{model.getClass().getSimpleName(),
model.getLanguage(),
model.getVersion() != null ? model.getVersion() : "undefined"});
return new SentenceDetectorME(model);
}
log.debug("Sentence Detection Model for Language '{}' not available.", language);
return null;
}