in geoentitylinker-addon/src/main/java/opennlp/addons/geoentitylinker/scoring/FuzzyStringMatchScorer.java [36:56]
public void score(List<LinkedSpan<GazetteerEntry>> linkedSpans, String docText, Span[] sentenceSpans, EntityLinkerProperties properties, AdminBoundaryContext additionalContext) {
for (LinkedSpan<GazetteerEntry> linkedSpan : linkedSpans) {
for (BaseLink link : linkedSpan.getLinkedEntries()) {
if (link instanceof GazetteerEntry entry) {
String hierarchy = entry.getHierarchy();
if (hierarchy != null) {
Double dice = getDiceCoefficient(linkedSpan.getSearchTerm().toLowerCase(), hierarchy.toLowerCase(), 2);
link.getScoreMap().put("hierarchydicecoef", dice);
Double ld = (double) getLevenshteinDistance(linkedSpan.getSearchTerm().toLowerCase(), hierarchy.toLowerCase());
link.getScoreMap().put("hierarchylevenshtein", ld);
}
String placename = entry.getItemName().toLowerCase();
if (placename != null) {
Double dice = getDiceCoefficient(linkedSpan.getSearchTerm().toLowerCase(), placename, 2);
link.getScoreMap().put("placenamedicecoef", dice);
}
}
}
}
}