From 9a228e69270dfb5c01e649889f2395dac4e8e7c1 Mon Sep 17 00:00:00 2001 From: Reinhard Pointner Date: Wed, 30 Jan 2019 23:30:59 +0700 Subject: [PATCH] Refactor string similarity code --- ivy.xml | 1 + lib/jar.includes | 2 +- lib/jars/simmetrics.jar | Bin 133555 -> 0 bytes .../similarity/NameSimilarityMetric.java | 30 +++------ .../similarity/NumericSimilarityMetric.java | 58 +++--------------- source/net/filebot/web/LocalSearch.java | 31 ++++------ 6 files changed, 33 insertions(+), 89 deletions(-) delete mode 100644 lib/jars/simmetrics.jar diff --git a/ivy.xml b/ivy.xml index fc724d52..6471e322 100644 --- a/ivy.xml +++ b/ivy.xml @@ -7,6 +7,7 @@ + diff --git a/lib/jar.includes b/lib/jar.includes index 9e20cd3c..3fbee022 100644 --- a/lib/jar.includes +++ b/lib/jar.includes @@ -15,6 +15,7 @@ ivy/jar/jaxb-impl.jar ivy/jar/junrar.jar ivy/jar/jna.jar ivy/jar/jna-platform.jar +ivy/jar/simmetrics-core.jar ivy/jar/streamex.jar ivy/jar/icu4j.jar ivy/jar/language-detector.jar @@ -53,5 +54,4 @@ ivy/bundle/json-io.jar ivy/bundle/guava.jar jars/xmlrpc.jar jars/ObjCBridge.jar -jars/simmetrics.jar jars/jacksum.jar \ No newline at end of file diff --git a/lib/jars/simmetrics.jar b/lib/jars/simmetrics.jar deleted file mode 100644 index 17bf71186658c68052d73446c9020f0476564944..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133555 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 Zp%6A$()).tokenize(qGramWithPadding(3)).build(); + private final Transliterator transliterator = Transliterator.getInstance("Any-Latin;Latin-ASCII;[:Diacritic:]remove"); @Override public float getSimilarity(Object o1, Object o2) { - return metric.getSimilarity(normalize(o1), normalize(o2)); + return metric.compare(normalize(o1), normalize(o2)); } - protected String normalize(Object object) { // use string representation String name = object.toString(); diff --git a/source/net/filebot/similarity/NumericSimilarityMetric.java b/source/net/filebot/similarity/NumericSimilarityMetric.java index 9d5c6a9c..50982719 100644 --- a/source/net/filebot/similarity/NumericSimilarityMetric.java +++ b/source/net/filebot/similarity/NumericSimilarityMetric.java @@ -1,32 +1,22 @@ package net.filebot.similarity; import static java.util.stream.Collectors.*; -import static net.filebot.util.RegularExpressions.*; import static net.filebot.util.StringUtilities.*; +import static org.simmetrics.builders.StringMetricBuilder.*; -import java.util.ArrayList; -import java.util.LinkedHashSet; -import java.util.Set; +import java.util.List; -import uk.ac.shef.wit.simmetrics.similaritymetrics.AbstractStringMetric; -import uk.ac.shef.wit.simmetrics.similaritymetrics.QGramsDistance; -import uk.ac.shef.wit.simmetrics.tokenisers.InterfaceTokeniser; -import uk.ac.shef.wit.simmetrics.wordhandlers.DummyStopTermHandler; -import uk.ac.shef.wit.simmetrics.wordhandlers.InterfaceTermHandler; +import org.simmetrics.StringMetric; +import org.simmetrics.metrics.BlockDistance; +import org.simmetrics.tokenizers.AbstractTokenizer; public class NumericSimilarityMetric implements SimilarityMetric { - private final AbstractStringMetric metric; - - public NumericSimilarityMetric() { - // I don't exactly know why, but I get a good matching behavior - // when using QGramsDistance or BlockDistance - metric = new QGramsDistance(new NumberTokeniser()); - } + private final StringMetric metric = with(new BlockDistance()).tokenize(new NumberTokeniser()).build(); @Override public float getSimilarity(Object o1, Object o2) { - return metric.getSimilarity(normalize(o1), normalize(o2)); + return metric.compare(normalize(o1), normalize(o2)); } protected String normalize(Object object) { @@ -34,40 +24,12 @@ public class NumericSimilarityMetric implements SimilarityMetric { return object.toString(); } - private static class NumberTokeniser implements InterfaceTokeniser { + private static class NumberTokeniser extends AbstractTokenizer { @Override - public ArrayList tokenizeToArrayList(String s) { - return matchIntegers(s).stream().map(String::valueOf).collect(toCollection(ArrayList::new)); + public List tokenizeToList(String input) { + return matchIntegers(input).stream().map(String::valueOf).collect(toList()); } - - @Override - public String getDelimiters() { - return NON_DIGIT.pattern(); - } - - @Override - public Set tokenizeToSet(String input) { - return new LinkedHashSet(tokenizeToArrayList(input)); - } - - @Override - public String getShortDescriptionString() { - return getClass().getSimpleName(); - } - - private InterfaceTermHandler stopWordHandler = new DummyStopTermHandler(); - - @Override - public InterfaceTermHandler getStopWordHandler() { - return stopWordHandler; - } - - @Override - public void setStopWordHandler(InterfaceTermHandler stopWordHandler) { - this.stopWordHandler = stopWordHandler; - } - } } diff --git a/source/net/filebot/web/LocalSearch.java b/source/net/filebot/web/LocalSearch.java index f24b200b..0d9d22dd 100644 --- a/source/net/filebot/web/LocalSearch.java +++ b/source/net/filebot/web/LocalSearch.java @@ -5,6 +5,8 @@ import static java.util.Collections.reverseOrder; import static java.util.Comparator.*; import static java.util.stream.Collectors.*; import static net.filebot.similarity.Normalization.*; +import static org.simmetrics.builders.StringMetricBuilder.*; +import static org.simmetrics.tokenizers.Tokenizers.*; import java.util.AbstractMap.SimpleImmutableEntry; import java.util.Collection; @@ -16,21 +18,22 @@ import java.util.concurrent.ExecutionException; import java.util.function.Function; import java.util.stream.IntStream; -import com.ibm.icu.text.Transliterator; +import org.simmetrics.StringMetric; +import org.simmetrics.metrics.BlockDistance; -import uk.ac.shef.wit.simmetrics.similaritymetrics.AbstractStringMetric; -import uk.ac.shef.wit.simmetrics.similaritymetrics.QGramsDistance; +import com.ibm.icu.text.Transliterator; public class LocalSearch { - private AbstractStringMetric metric = new QGramsDistance(); - private float resultMinimumSimilarity = 0.5f; - private int resultSetSize = 20; + private final StringMetric metric = with(new BlockDistance()).tokenize(qGramWithPadding(3)).build(); - private Transliterator transliterator = Transliterator.getInstance("Any-Latin;Latin-ASCII;[:Diacritic:]remove"); + private final Transliterator transliterator = Transliterator.getInstance("Any-Latin;Latin-ASCII;[:Diacritic:]remove"); - private T[] objects; - private Set[] fields; + private final float resultMinimumSimilarity = 0.5f; + private final int resultSetSize = 20; + + private final T[] objects; + private final Set[] fields; public LocalSearch(T[] data, Function> keywords) { objects = data.clone(); @@ -45,20 +48,12 @@ public class LocalSearch { Set field = fields[i]; boolean match = field.stream().anyMatch(it -> it.contains(query)); - double similarity = field.stream().mapToDouble(it -> metric.getSimilarity(query, it)).max().orElse(0); + double similarity = field.stream().mapToDouble(it -> metric.compare(query, it)).max().orElse(0); return match || similarity > resultMinimumSimilarity ? new SimpleImmutableEntry(object, similarity) : null; }).filter(Objects::nonNull).sorted(reverseOrder(comparing(Entry::getValue))).limit(resultSetSize).map(Entry::getKey).collect(toList()); } - public void setResultMinimumSimilarity(float resultMinimumSimilarity) { - this.resultMinimumSimilarity = resultMinimumSimilarity; - } - - public void setResultSetSize(int resultSetSize) { - this.resultSetSize = resultSetSize; - } - protected Set normalize(Collection values) { return values.stream().map(this::normalize).collect(toSet()); }