Added classifier fail-safe

pull/190/head
M66B 4 years ago
parent c47c8411f2
commit 108319ffea

@ -44,23 +44,18 @@ import java.util.Map;
public class MessageClassifier {
private static boolean loaded = false;
private static boolean dirty = false;
private static Map<Long, Map<String, Integer>> classMessages = new HashMap<>();
private static Map<Long, Map<String, Map<String, Integer>>> wordClassFrequency = new HashMap<>();
private static final Map<Long, Map<String, Integer>> classMessages = new HashMap<>();
private static final Map<Long, Map<String, Map<String, Integer>>> 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;
static void classify(EntityMessage message, EntityFolder target, Context context) {
try {
if (!isEnabled(context))
return;
try {
load(context);
} catch (Throwable ex) {
Log.e(ex);
}
if (target != null && !canClassify(target.type))
return;
@ -81,17 +76,12 @@ public class MessageClassifier {
if (!file.exists())
return;
String text;
try {
text = HtmlHelper.getFullText(file);
} catch (IOException ex) {
Log.w(ex);
text = null;
}
String text = HtmlHelper.getFullText(file);
if (TextUtils.isEmpty(text))
return;
load(context);
if (!classMessages.containsKey(account.id))
classMessages.put(account.id, new HashMap<>());
if (!wordClassFrequency.containsKey(account.id))
@ -123,6 +113,9 @@ public class MessageClassifier {
if (f != null && f.download && f.auto_classify && !f.id.equals(folder.id))
EntityOperation.queue(context, message, EntityOperation.MOVE, f.id);
}
} catch (Throwable ex) {
Log.e(ex);
}
}
private static String classify(long account, String classify, String text, boolean added, Context context) {

Loading…
Cancel
Save