Ein lernender Mailfilter beurteilt Nachrichten anhand von Merkmalen und Beispielen. Seine Ausgabe ist eine Einordnung nach einem Modell, keine Aussage über die Absicht eines Absenders. Gute Tests betrachten deshalb auch die Fälle, in denen der Filter falsch liegt.

Wie ein Lexer Text zerlegt

Ein Lexer erkennt Einheiten im Eingabetext, etwa Wörter, Zahlen oder Satzzeichen. Die Wahl dieser Einheiten bestimmt, welche Merkmale das nachfolgende Modell überhaupt sieht. Ein sehr grobes Wortmuster ist leicht verständlich, kann aber Unterschiede in URLs oder Zeichensätzen übersehen.

Einfaches Lexer-Beispiel · Eine vereinfachende Variante · Prüffälle für die Variante

Tests und Fehlklassifikationen

Halte Lernmaterial und Prüfmaterial getrennt. Wenn dieselbe Nachricht immer wieder zum Lernen und zur Bewertung dient, kann ein gutes Ergebnis bloß Wiedererkennung bedeuten. Notiere falsch als unerwünscht eingestufte Nachrichten ebenso wie übersehene unerwünschte Nachrichten.

Wiederholtes Training bewusst beurteilen

Eine Nachricht mehrfach einzulernen, bis eine bestimmte Einstufung erscheint, kann ihr Gewicht im Modell verändern. Das beantwortet nicht automatisch die Frage, ob der Filter mit neuen Nachrichten besser umgeht. Prüfe Änderungen daher an einem unveränderten, getrennten Satz von Beispielen und protokolliere den Ausgangszustand.

Konfiguration übersichtlich halten

Verändere für einen Test nur eine relevante Einstellung oder Regel. Ein eigener Datenbereich schützt normale Arbeit vor unbeabsichtigten Experimenten. Die Konfigurationsnotiz beschreibt, welche Angaben du dafür festhalten solltest.