public void score()

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