dnet-hadoop/dhp-pace-core/src/main/java/eu/dnetlib/pace/tree/JaroWinkler.java

47 lines
1.0 KiB
Java
Raw Normal View History

2023-07-06 10:28:53 +02:00
package eu.dnetlib.pace.tree;
2023-07-06 10:28:53 +02:00
import java.util.Map;
import com.wcohen.ss.AbstractStringDistance;
2023-07-06 10:28:53 +02:00
import eu.dnetlib.pace.config.Config;
import eu.dnetlib.pace.tree.support.AbstractStringComparator;
import eu.dnetlib.pace.tree.support.ComparatorClass;
//case class JaroWinkler(w: Double) extends SecondStringDistanceAlgo(w, new com.wcohen.ss.JaroWinkler())
@ComparatorClass("jaroWinkler")
public class JaroWinkler extends AbstractStringComparator {
2023-07-06 10:28:53 +02:00
public JaroWinkler(Map<String, String> params) {
super(params, new com.wcohen.ss.JaroWinkler());
}
2023-07-06 10:28:53 +02:00
public JaroWinkler(double weight) {
super(weight, new com.wcohen.ss.JaroWinkler());
}
2023-07-06 10:28:53 +02:00
protected JaroWinkler(double weight, AbstractStringDistance ssalgo) {
super(weight, ssalgo);
}
2023-07-06 10:28:53 +02:00
@Override
public double distance(String a, String b, final Config conf) {
String ca = cleanup(a);
String cb = cleanup(b);
2023-07-06 10:28:53 +02:00
return normalize(ssalgo.score(ca, cb));
}
2023-07-06 10:28:53 +02:00
@Override
public double getWeight() {
return super.weight;
}
2023-07-06 10:28:53 +02:00
@Override
protected double normalize(double d) {
return d;
}
2023-07-06 10:28:53 +02:00
}