From 07c13a6a0053cb54cb54d9866f74ff14f1484245 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 3 Jan 2021 10:42:59 +0100 Subject: [PATCH] Require minimum matched words for classification --- app/src/main/java/eu/faircode/email/MessageClassifier.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/faircode/email/MessageClassifier.java b/app/src/main/java/eu/faircode/email/MessageClassifier.java index e011240df0..ef289f5714 100644 --- a/app/src/main/java/eu/faircode/email/MessageClassifier.java +++ b/app/src/main/java/eu/faircode/email/MessageClassifier.java @@ -47,6 +47,7 @@ public class MessageClassifier { private static Map> classMessages = new HashMap<>(); private static Map>> wordClassFrequency = new HashMap<>(); + private static final int MIN_MATCHED_WORDS = 10; private static final double COMMON_WORD_FACTOR = 0.75; private static final double CHANCE_THRESHOLD = 2.0; @@ -211,7 +212,7 @@ public class MessageClassifier { chances.add(c); } - if (chances.size() <= 1) + if (chances.size() <= 1 || maxMatchedWords < MIN_MATCHED_WORDS) return null; Collections.sort(chances, new Comparator() {