From 613b32fcf774408bb3d6ef1f4732450a82ec5eb3 Mon Sep 17 00:00:00 2001 From: miconis Date: Tue, 8 Mar 2022 16:49:28 +0100 Subject: [PATCH] implementation of the size threshold on authors list match --- .../src/main/java/eu/dnetlib/pace/tree/AuthorsMatch.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dnet-pace-core/src/main/java/eu/dnetlib/pace/tree/AuthorsMatch.java b/dnet-pace-core/src/main/java/eu/dnetlib/pace/tree/AuthorsMatch.java index afd86af..3f9fdd3 100644 --- a/dnet-pace-core/src/main/java/eu/dnetlib/pace/tree/AuthorsMatch.java +++ b/dnet-pace-core/src/main/java/eu/dnetlib/pace/tree/AuthorsMatch.java @@ -25,6 +25,7 @@ public class AuthorsMatch extends AbstractComparator { private double NAME_THRESHOLD; private double FULLNAME_THRESHOLD; private String MODE; //full or surname + private int SIZE_THRESHOLD; private int common; public AuthorsMatch(Map params){ @@ -35,6 +36,7 @@ public class AuthorsMatch extends AbstractComparator { SURNAME_THRESHOLD = Double.parseDouble(params.getOrDefault("surname_th", "0.95")); NAME_THRESHOLD = Double.parseDouble(params.getOrDefault("name_th", "0.95")); FULLNAME_THRESHOLD = Double.parseDouble(params.getOrDefault("fullname_th", "0.9")); + SIZE_THRESHOLD = Integer.parseInt(params.getOrDefault("size_th", "20")); common = 0; } @@ -48,6 +50,9 @@ public class AuthorsMatch extends AbstractComparator { if (a.isEmpty() || b.isEmpty()) return -1; + if (((FieldList) a).size() > SIZE_THRESHOLD || ((FieldList) a).size() > SIZE_THRESHOLD) + return 1.0; + List aList = ((FieldList) a).stringList().stream().map(author -> new Person(author, false)).collect(Collectors.toList()); List bList = ((FieldList) b).stringList().stream().map(author -> new Person(author, false)).collect(Collectors.toList());