Regula Plugin 1.1.9 BETA

  • Für Interessierte habe ich unter http://members.aon.at/gaijin/gaijinat/regula119b.rar eine Testversion des Regula Plugins hochgeladen. Das Archiv umfasst nur die geänderten Dateien. (Die geänderten Sprachdateien sind noch nicht enthalten.) Vor dem Überschreiben der Dateien bitte ein Backup anlegen.

    Die wesentlichste Neuerung ist eine interne Regel, die die Spam-Wahrscheinlichkeit mit der Bayes-Methode berechnet. Dazu wurden auch in den Plugin-Einstellungen mehrere Punkte hinzugefügt. In der Anleitung sind alle Änderungen farblich markiert.

    Nach einem "kleinen" Crash habe ich ich Schwierigkeiten genügend Ham- und Spam-Mails aufzutreiben, was das Testen der neuen Funktionen etwas behinderte... der blöde MS Installer hat mich angelogen. :cry:
    Also bitte nicht zu viel erwarten.

    Für Verbesserungs- und Erweiterungsvorschläge bin ich wie immer sehr dankbar.


    Version 1.1.9:

    [+] Das Regula Plugin kann nun auch die Spam-Wahrscheinlichkeit mit der Bayes-Methode errechnen.

    [+] Drei Makros für Informationen aus der Bayes-Datenbank wurden hinzugefügt.

    [+] Über den Regula Manager kann die Bayes-Datenbank bereinigt werden, was die Geschwindigkeit der Bayes-Funktion erhöht.

    [+] Im Regula Manager wird eine geänderte Regeldatei erst nach einer Sicherheitsabfrage geschlossen.

    [+] Im Regula Manager kann nun auch die Whitelist (Whitelist.txt) komfortabel bearbeitet werden.

    [*] Die Erkennung und Verarbeitung von Adresslisten (z.B. im To-Header) wurde verbessert.

    [-] Die Datei "AutoWL.dat" wurde entfernt.

    [-] Der Nachrichtenparser wurde verbessert. Unter bestimmten Voraussetzungen kam es zu Fehlern bei der Verarbeitung von "Nur-Text"-Nachrichten.

    [-] Ein Fehler in der Datei "dpcre_install_9x.bat", zum Kopieren der PCRE.DLL in das Systemverzeichnis, wurde behoben.

    [-] Wenn bei den Einstellungen der Pfad zum Plugin nicht angegeben wurde oder aus der Registry gelöscht wurde, verursachte dies mehrere Fehlermeldungen beim Beenden von The Bat!. Dieser Fehler wurde behoben und zusätzlich eine Aufforderung zur Eingabe / Korrektur des Pfades hinzugefügt.

    EDIT:
    [size=1]UPDATE[/size]
    Soeben habe ich die Datei aktualisiert. Neben einem behobenen Fehler im Regeleditor und 2 weitere Einstellungsmöglichkeiten für das automatische Lernen der Bayes-Funktion gibts aber nichts neues.
    Der (neuerliche) Download ist nur dann ratsam, wenn jemand mit dem Regeleditor arbeitet, da RegExp-Regeln in manchen Fällen falsch übergeben wurden und dies den regulären Ausdruck unbrauchbar machte.
    (Gleiche Download-URL wie oben.)

  • Zitat


    [-] Die Datei "AutoWL.dat" wurde entfernt.


    Also kann ich die Datei bedenkenlos löschen?

    Wenn ich die 1.1.9 BETA in das alte Verzeichnis kopiere, bleibt sie ja bestehen.

    Einmal editiert, zuletzt von Hammer0id (29. Mai 2005 um 21:46)

  • Zitat

    Nach einem "kleinen" Crash habe ich ich Schwierigkeiten genügend Ham- und Spam-Mails aufzutreiben...


    Gibt's nicht zumindest Spam-Nachrichten auf TheBatWorld.de zum Herunterladen? Oder hat sie nur Caschy damals auf seiner Seite angeboten? :denk:

  • Hallo Gaijin,

    das klingt ja interessant mit dem neuen Bayes-Möglichkiet, dazu habe ich dann auch gleich mal eine Frage:

    Was passiert, wenn eine Mail nachträglich umklassifiziert wird?

    Soll heissen, eine Mail wurde als SPAM oder HAM erkannt und die relevanten Wörter der Mail wurden von Regula in die Bayes-Datenbank aufgenommen.
    Nachträglich stelle ich nun fest, dass die Mail falsch eingestuft wurde und klassifiziere sie über die Menueinträge von TB neu .

    Wird die Bayes-Datenbank von Regula dann ebenfalls korrigiert?

    -piktor-

  • Zitat

    Was passiert, wenn eine Mail nachträglich umklassifiziert wird?
    ...
    Wird die Bayes-Datenbank von Regula dann ebenfalls korrigiert?


    Im Moment gibt es keine Funktion, die eine Mail richtig "umklassifizieren" kann. Bei "Als Spam klassifizieren" bzw. "Als Nicht-Spam klassifizieren" werden die Wörter nur zur Datenbank (neuerlich) als Spam/Ham hinzugefügt.

    Derzeit ist es anders nicht oder nur sehr schwer möglich. Wenn man zum Anlernen der Bayes-Funktion EML-Dateien einlesen kann, könnte ich die TB!-Menüs zum Klassifizieren so umändern, dass beim Klassifizieren einer Nachricht als HAM die entsprechenden Wörter in der Datenbank aus dem Bereich SPAM entfernt werden. Somit wäre die Mail dann tatsächlich umklassifiziert.

  • Zitat


    Im Moment gibt es keine Funktion, die eine Mail richtig "umklassifizieren" kann. Bei "Als Spam klassifizieren" bzw. "Als Nicht-Spam klassifizieren" werden die Wörter nur zur Datenbank (neuerlich) als Spam/Ham hinzugefügt.


    oups, das macht die Bayesfunktion im Moment meines Erachtens aber ziemlich praxisuntauglich. Denn Bayes lebt und wächst ja vom lernen und eben vom manuellen Nachkorrigieren.
    In der momentanen Version wäre die Bayes-Datenbank nach einigen Nachklassifizierungen ziemlich unbrauchbar, da dann ja die selben Wörter für HAM und SPAM gespeichert sind.
    :(


    Zitat


    Derzeit ist es anders nicht oder nur sehr schwer möglich. Wenn man zum Anlernen der Bayes-Funktion EML-Dateien einlesen kann, könnte ich die TB!-Menüs zum Klassifizieren so umändern, dass beim Klassifizieren einer Nachricht als HAM die entsprechenden Wörter in der Datenbank aus dem Bereich SPAM entfernt werden. Somit wäre die Mail dann tatsächlich umklassifiziert.


    Achim führt im BayesFilter für genau diese Fälle eine undo.dat mit, mit der er die Klassifzierungen "verwaltet" und die Einträge in der Bayes-Datenbank bei einer Umklassifizierung nachträglich korrigieren kann.

    Mal einen Vorschlag: wieso tust Du Dich nicht mit Achim zusammen und packst einfach dessen reine Bayes-Funktionalität in Dein Regula? Der reine Bayes in Achims PlugIn funktioniert sehr gut.

    piktor-

    Einmal editiert, zuletzt von piktor (30. Mai 2005 um 14:16)

  • Zitat

    Spam trainieren dauert ja ewig.
    Bei 16000Spam Mails jetzt schon über eine Stunde :ja:


    Im Moment wüsste ich nicht wie ich die Geschwindigkeit erhöhen sollte.
    Wenn ich richtig gerechnet habe, sind das etwa 4 Mails pro Sekunde. Da jedes Wort in der Datenbank gesucht werden muss, bevor ein Wort neu aufgenommen wird, ist die Dauer durchaus vorstellbar. Wenn man davon ausgeht, dass pro Mail etwa 100 Wörter den Kriterien für die Aufnahme in die Datenbank entsprechen, ist das eine ganze Menge.

    Allerdings scheinen mir 16.000 Spam-Mails etwas übertrieben. Zumal manche Zeichenfolgen nur ein einziges Mal vorkommen. Wenn du zwischendurch mal die Datenbank bereinigst, wird die Datenbank erheblich verkleinert und arbeitet dadurch natürlich auch schneller. Nachdem ich mit einigen hundert Mails bist jetzt eine 100%ige Genauigkeit (sowohl bei Spams als auch Hams) erziehle, sollten ein oder zwei Tausend Mails vollkommen ausreichen.

  • Zitat

    oups, das macht die Bayesfunktion im Moment meines Erachtens aber ziemlich praxisuntauglich. Denn Bayes lebt und wächst ja vom lernen und eben vom manuellen Nachkorrigieren.
    In der momentanen Version wäre die Bayes-Datenbank nach einigen Nachklassifizierungen ziemlich unbrauchbar, da dann ja die selben Wörter für HAM und SPAM gespeichert sind.


    Das sind sie ohnehin, das Verhältnis zwischen Spam und Ham ist etscheidend - aber es läuft natürlich auf das Selbe hinaus.

    Zitat

    Achim führt im BayesFilter für genau diese Fälle eine undo.dat mit, mit der er die Klassifzierungen "verwaltet" und die Einträge in der Bayes-Datenbank bei einer Umklassifizierung nachträglich korrigieren kann.


    Ich weiß zwar nicht wie Achim dieses Problem gelöst hat, aber ich werde nach Möglichkeiten suchen, um bestimmte Lern-Vorgänge rückgängig zu machen.

  • Hallo Gaijin,

    mir gefällt die neue Version sehr gut, steckt sicherlich 'ne Menge Arbeit drin, die Programmdaten haben sich ja von der Größe verdoppelt!

    Ich habe jedoch ein paar Anregungen:

      [li]Könnte man im Hauptmenü vielleicht noch eine kleine Statistik einbauen, damit man weiß wieviel HAM- und Spammails man trainiert hat? Dann hätte man einen Überblick wie ausgewogen die Datenbank ist.[/li][li]Vielleicht könnte man auch einen Hinweis ausgeben, wenn die Datenbank nicht ausgeglichen ist, so ist es ja bei Achims Plug-In.
      [/li][li]Könnte man beim Trainieren vielleicht noch eine visuelle Meldung ausgeben, so daß man wirklich genau weiß, daß Plug-In hat die angegeben Mails bearbeitet?
      [/li][li]Mir ist nicht ganz klar, wie der Score bei Bayes zustande kommt. Ich habe z.B. eine Mail bekommen, da sah es wie folgt aus:
      Bayes result: 6.53% spam probability.
      Match: Internal rule BayesScore, BAYES, Score: -88.

      In der Anleitung steht dazu:

      Zitat

      P "Percent" (Gibt den Score als Prozent aus, wobei "0" Ham und "100" Spam bedeutet. Ansonsten wird für Ham der Score "-100" und für Spam "100" verwendet.)

      Wäre es nicht besser in diesem Fall gerundet -93 Punkte zu geben?[/li]

  • Zitat

    mir gefällt die neue Version sehr gut, steckt sicherlich 'ne Menge Arbeit drin, die Programmdaten haben sich ja von der Größe verdoppelt!


    Nein, sie sind nur unkomprimiert. In den Vorgängerversionen wurden die Programmdateien mit UPX komprimiert. Möglicherweise wurde auf einigen Computern dadurch das Plugin (also die TBP-Datei) nicht als solches erkannt. Beim Download ist es etwa das Selbe.

    Zitat

    Könnte man im Hauptmenü vielleicht noch eine kleine Statistik einbauen, damit man weiß wieviel HAM- und Spammails man trainiert hat? Dann hätte man einen Überblick wie ausgewogen die Datenbank ist.


    Das ist kein Problem, mit den Makros funktioniert es bereits. Allerdings sind vorher noch einige andere Punkt wichtiger, wie z.B. die Geschwindigkeit beim Trainieren. So ist es mit der aktuellen Version praktisch unmöglich mehr als 100 Mails zu trainieren, weil es einfach zu lange dauert. Dieses Problem habe ich mittlerweile gelöst, glaube ich zumindest.

    Zitat

    Vielleicht könnte man auch einen Hinweis ausgeben, wenn die Datenbank nicht ausgeglichen ist, so ist es ja bei Achims Plug-In.


    Kommt noch. Grundsätzlich wird das Verhältnis zwischen Spam- und Ham-Mails in der Datenbank berücksichtigt, aber wenn es zu große Unterschiede gibt, ist es trotzdem nicht besonders gut.

    Zitat

    Könnte man beim Trainieren vielleicht noch eine visuelle Meldung ausgeben, so daß man wirklich genau weiß, daß Plug-In hat die angegeben Mails bearbeitet?


    Daran arbeite ich gerade.

    Zitat

    Mir ist nicht ganz klar, wie der Score bei Bayes zustande kommt. Ich habe z.B. eine Mail bekommen, da sah es wie folgt aus:
    Bayes result: 6.53% spam probability.
    Match: Internal rule BayesScore, BAYES, Score: -88.
    ...
    Wäre es nicht besser in diesem Fall gerundet -93 Punkte zu geben?


    Dann hätte 100%iger Spam einen Score-Wert von 0? :denk:

    Wenn die Option "P" angegeben wird, wird die Prozentrate auf den Bereich von 0 bis 100 aufgeteilt. 0% = Score 0, 50% = Score 50, 100% = Score 100.
    Lässt man das "P" weg, ergeben 0% einen Score von -100, 50% einen Score von 0 und 100% einen Score von 100.

  • Zitat

    Spam trainieren dauert ja ewig.
    Bei 16000Spam Mails jetzt schon über eine Stunde :ja:


    Ich habe soeben eine neue Version hochgeladen (http://members.aon.at/gaijin/gaijinat/regula119b.rar).
    Durch eine neue Datenbankverwaltung ist nicht nur das Lernen schneller geworden, sondern es erfolgen beim Lernen auch keine Zugriffe auf die Festplatte mehr. Multithreading kommt zusätzlich auch noch zum Einsatz.

    Durch diese Änderungen erreicht man eine konstante Geschwindigkeit von etwa 2 Mails pro Sekunde, wobei man in The Bat! normal weiterarbeiten kann. Um zu sehen, wie viele Nachrichten (in der aktuellen TB!-Session) bereits verarbeitet wurden, wird ein kleines Info-Fenster angezeigt, dass man in den Hintergrund oder in die Task-Leiste legen kann.

  • Zitat

    Durch diese Änderungen erreicht man eine konstante Geschwindigkeit von etwa 2 Mails pro Sekunde, wobei man in The Bat! normal weiterarbeiten kann. Um zu sehen, wie viele Nachrichten (in der aktuellen TB!-Session) bereits verarbeitet wurden, wird ein kleines Info-Fenster angezeigt, dass man in den Hintergrund oder in die Task-Leiste legen kann.


    Das Fenster sieht wirklich gut aus. :) Dazu aber drei Sachen:

    [ol type='1'][li]Könnte man in der Anzeige vielleicht noch mit einbauen wieviel Mails insgesamt verarbeitet werden. Also z.B. x/150 oder so in der Art, wobei x die aktuell verarbeitete Mail ist?

    [/li][li]Den X-Button könnte man eigentlich disablen, weil man den Lernvorgang damit nicht unterbrechen kann.

    [/li][li]Wenn beim Lernen eine neue Mail reinkommt oder ich beim Lernen in einen anderen Ordner wechsle kommt ein AV, kann man das vielleicht beheben? Ansonsten sollte man beim Lernen offline gehen und auch den Ordner nicht wechseln, so ist es zumindest bei mir.
    [/li][/ol]

    Zitat

    Lässt man das "P" weg, ergeben 0% einen Score von -100, 50% einen Score von 0 und 100% einen Score von 100.


    Okay, diese Art der Punkteverteilung hört sich sehr gut an :)

  • Zitat

    Könnte man in der Anzeige vielleicht noch mit einbauen wieviel Mails insgesamt verarbeitet werden. Also z.B. x/150 oder so in der Art, wobei x die aktuell verarbeitete Mail ist?


    Das ist leider nicht möglich, da The Bat! diesen Wert nicht zur Verfügung stellt.

    Zitat

    Den X-Button könnte man eigentlich disablen, weil man den Lernvorgang damit nicht unterbrechen kann.


    Klar, wird gemacht.

    Zitat

    Wenn beim Lernen eine neue Mail reinkommt oder ich beim Lernen in einen anderen Ordner wechsle kommt ein AV, kann man das vielleicht beheben? Ansonsten sollte man beim Lernen offline gehen und auch den Ordner nicht wechseln, so ist es zumindest bei mir.


    AV kommt bei mir auch, aber nicht immer. Ich fürchte, da kann man nichts ändern. Ich kann mir allerdings auch nicht vorstellen, dass der Fehler durch das Plugin verursacht wird. Möglicherweise passiert das dann, wenn von TB! noch nicht alle Daten übergeben wurden und man den Ordner wechselt. :denk:


    ZUSATZ:
    Mir ist ein Fehler beim Lernen von HAM-Mails aufgefallen, den ich soeben behoben habe (neu Version ist online).

  • Hallo Gaijin,

    Zitat

    Mir ist ein Fehler beim Lernen von HAM-Mails aufgefallen, den ich soeben behoben habe (neu Version ist online).


    Ich habe mir die neuste Version runtergeladen (Link ist ja auf der ersten Seite angegeben), aber die Version stürzt nach wie vor ab.

      [li]Außerdem ist mir aufgefallen, daß die Version scheinbar keine HTML-Mails verarbeiten kann. Ich habe verschiedene Mails als HAM klassifiziert aber die Datenbank war danach lediglich 72 Byte groß – hab's mehrere Male versucht.
      [/li][li]Zudem würde ich eine Ausnahmeliste anregen, das nicht alle gefundenen Wörter übernommen werden. So sollten z.B. eMailadressen in Mails nicht genommen werden, wenn diese im Text stehen oder bestimmte HTML-Formatierungen.[/li]

    Außerdem noch Vorschläge:

      [li]Im Regula Manager wird unter Teffer-Statistik auch Bayes mit angezeigt, was meiner Meinung nach relativ überflüssig ist, weil die Regel ja eigentlich bei jeder Mail berechnet wird, sofern sie nicht schon vorher als Spam erkannt wurde.
      Die Anzeige würde nur Sinn machen, wenn sie aufgeführt würde, wenn Bayes die Mail als Spam erkannt hat, aber im Moment wird sie immer aufgeführt.
      [/li][li]Wäre es toll, wenn es im Plug-In Manager einen Button gäbe um eine veränderte Logdatei einladen zu können, im Moment muß man immer den Manager neu starten.
      [/li][li]Wenn man auf Wartung geht und keine Datenbank vorhanden ist, wird ein Fehler ausgegeben und danach, daß 0 Wörter entfernt wurden. Okay ist nicht weiter schlimm, ist mir vorhin nur aufgefallen.[/li]

    Bin schon auf die nächste Version gespannt! Klasse Arbeit :thumbup:

    Einmal editiert, zuletzt von Zocko (3. Juni 2005 um 11:29)

  • Zitat

    Ich habe mir die neuste Version runtergeladen (Link ist ja auf der ersten Seite angegeben), aber die Version stürzt nach wie vor ab.


    Wann stürzt es ab? Beim Wechsel des Ordners?

    Zitat

    Außerdem ist mir aufgefallen, daß die Version scheinbar keine HTML-Mails verarbeiten kann. Ich habe verschiedene Mails als HAM klassifiziert aber die Datenbank war danach lediglich 72 Byte groß – hab's mehrere Male versucht.


    Kannst du mir die betreffende Datei zusenden?

    Zitat

    Zudem würde ich eine Ausnahmeliste anregen, das nicht alle gefundenen Wörter übernommen werden. So sollten z.B. eMailadressen in Mails nicht genommen werden, wenn diese im Text stehen oder bestimmte HTML-Formatierungen.


    Welche sollen ausgenommen werden?

    Um den Regula Manager kümmere ich mich dann, wenn die die Bayes-Funktionen ausgereift sind. Speziell im Bereich Statistik ist noch nicht alles fertig bzw. wird noch umgeändert. Die Aktualisierung der Regeldatei sollte kein Problem sein.

  • Zitat

    Wann stürzt es ab? Beim Wechsel des Ordners?


    Ja genau, ich bin mir aber nicht ganz sicher, ob ich wirklich die neue Version habe. Die Version, die ich runtergeladen habe, ist vom 31.05. 119.396 KB groß und der crc32 ist A0996e31. Ist das die neue?

    Zitat

    Kannst du mir die betreffende Datei zusenden?


    Ist 'ne private Mail, deshalb leider nicht. Es handelt sich dabei um eine reine HTML-Mail ohne normalen Text. Wenn du eine solche reine HTML-Mail mit TB erzeugst, kannst du den gleichen Effekt wie oben beschrieben reproduzieren.

    Zitat

    Welche sollen ausgenommen werden?


    Gute Frage, vielleicht könnte man so was ja auch optionshalber machen. Ich würde auf jeden Fall einbauen, das reine Zahlen nicht als Wörter gelernt werden, genauso Nichtwörter wie "------". Ich bekomme auch ab und an weitergeleitete Mails, wo teilweise Header mit drinstehen, die könnte man auch rausnehmen aus der Bewertung.

    Bei HTML-Mails würde ich vorschlagen Wörter zu ignorieren, die typisch sind also mit "<" anfangen und mit ">" aufhören. Vielleicht könnte man auch ganze Bereiche ignorieren wie <style.*</style>.

    Bei den Grusskartenbenachrichtigungen von Web.de ist mir z.B. aufgefallen, daß Regula da Probleme mit hat.
    Im neu erzeugten Datenbank stehen z.B. "iso-8859-1", "20haben", "20gru", "dfkarte", "20erhalten".

    Scheinbar wurden die Daten nur aus dem Subjekt genommen, da heißt es:

    Code
    Subject: =?iso-8859-1?Q?Sie=20haben=20eine=20Gru=DFkarte=20erhalten.?=


    Bei der Grusskartenbenachrichtigung handelt es sich auch um eine reine HTML-Mail. Vielleicht könnte man da noch etwas nachbessern.

    Einmal editiert, zuletzt von Zocko (3. Juni 2005 um 15:21)