in geoentitylinker-addon/src/main/java/opennlp/addons/geoentitylinker/scoring/ModelBasedScorer.java [48:75]
public void score(List<LinkedSpan<BaseLink>> linkedSpans, String docText, Span[] sentenceSpans,
EntityLinkerProperties properties, AdminBoundaryContext additionalContext) {
try {
if (doccatModel == null) {
String path = properties.getProperty("opennlp.geoentitylinker.modelbasedscorer.modelpath", "");
if (path.isEmpty()) {
return;
}
modelexists = true;
doccatModel = new DoccatModel(new File(path));
documentCategorizerME = new DocumentCategorizerME(doccatModel);
}
Map<Integer, String> proximalFeatures = generateProximalFeatures(linkedSpans, sentenceSpans, docText, RADIUS);
for (Map.Entry<Integer, String> entry : proximalFeatures.entrySet()) {
Map<String, Double> scores = this.getScore(entry.getValue());
for (BaseLink link : linkedSpans.get(entry.getKey()).getLinkedEntries()) {
double score = 0d;
if (scores.containsKey(link.getItemParentID())) {
score = scores.get(link.getItemParentID());
}
link.getScoreMap().put("countrymodel", score);
}
}
} catch (Exception ex) {
LOG.error(ex.getLocalizedMessage(), ex);
}
}