Artikel mit Tag spamblock_bayes
Bayes-Plugin 0.3.3: Bugfixes
Wednesday, 14. April 2010
Zeit, die ersten Fixes der durch die vielen Änderungen in 0.3.2 eingeführten Bugs zu veröffentlichen.
- Fix: Die erste Bewertung eines Kommentars, also direkt beim Absenden, hatte nicht alle nötigen Informationen zur Verfügung.
- Fix: Serendipity nutzt in der Datenbank und beim savecomment-Event unterschiedliche Bezeichnungen - durch das entstehende Chaos wurde nicht alles richtig gespeichert
- Verbesserungen des Adminbereichs:
- Nutzt nun table-layout für den Papierkorb, damit der nicht zu groß wird
- Fehlende Übersetzungen eingebaut
- CSS-Fehler, besonders bei den Kontrollen, behoben
Es sollte nun langsam spartacusreif sein - ich werde das Wochenende noch abwarten.
Bayes-Plugin 0.3.2: Kategorien, Menüs und Papierkorb
Tuesday, 13. April 2010
Ein Kommentar wird nun nicht mehr zu einem einzelnen Text zusammengesetzt und so eingelernt, sondern jeder Bestandteil des Kommentars wie der Name des Autors oder seine E-Mailadresse wird einzeln gelernt (siehe die Überlegung dazu). Es reicht, wenn eine einzelne Kategorie sehr deutlich Spam ist, um den ganzen Kommentar als Spam zu markieren. Daran kann durchaus noch geschraubt werden, aber an sich sollten die Bewertungen genauer werden.
Menüs
Das reaktivierte Menü, verlinkt in der Seitenleiste des Adminbereichs, wird nicht wie ganz am Anfang zur Markierung der Kommentare benutzt, keine Sorge. In den drei Submenüs kann;
Ein Kommentar manuell eingegeben und so eingelernt werden, z.B. um spezifisch einen bestimmten Referrer zu lernen:
Das Datenbankmenü soll nicht nur einen Überblick über die Datenbanktabelle geben (bitte beachten: da die Tabelle riesig wird, habe ich die Größe mittels Limit 0, 2000 begrenzt - eine bessere Möglichkeit bekannt, um den sonst eintretenden Fehler wegen zu wenig Ram zu umgehen?) um zu überprüfen, ob bei der Installation alles geklappt hat und das Plugin auch lernt, sondern zudem kann die Tabelle gelöscht, neu erstellt und über die Importfunktion neu gefüllt werden:
Der Papierkorb soll verhindern, dass eine falsche Bewertung durch das Plugin Schaden anrichtet. Blockt das Plugin einen Kommentar, weil es ihn für Spam hält, wird dieser hier zwischengespeichert. Ist er doch kein Spam, kann er wiederhergestellt werden, ansonsten endgültig gelöscht:
Die Menüs funktionieren ohne Javascript, ist dieses jedoch aktiviert wird es genutzt, um mittels jQuery die Datenbanktabelle sortierbar zu machen und einzufärben und um im Papierkorb die Kommentargröße zu begrenzen.
Sonstiges
Gewünscht wurde eine Möglichkeit, mehrere Kommentare gleichzeitig als Spam zu markieren - der Knopf dafür ist nun eingefügt. Bitte hier besonders darauf achten, ob das auch bei vielen Kommentaren problemlos funktioniert.
Das Update ist richtig umfangreich geworden, deswegen hat es auch so lange gedauert. Zum einen sollte die Unterteilung in Kategorien die Bewertung verbessern, zum anderen wollte ich Möglichkeiten schaffen, das Plugin besser zu kontrollieren. Besonders letzteres erfordert richtig viel Aufwand, die Kategorien sind schon eine ganze Weile fertig.
Noch habe ich die neue Version nicht in Spartacus hochgeladen, ich lasse es als Test noch ein paar Tage hier im Blog laufen (eine frühe Version ohne die Menüs war die letzte Zeit hier schon aktiviert), Hilfe beim Test ist herzlich erbeten.
Spamblock - Veränderte Vorzeichen
Monday, 22. March 2010
B8 ist die Grundlage des Spamblock-Bayes-Filters, hat aber eine Grundannahme, die in Blogs nicht zutrifft: In alle Felder werde manchmal mehr oder weniger das gleiche eingefüllt. So etwas kann bei uns jedoch ausgeschlossen werden, wenn eine gültig erscheinende Email gefordert wird (wovon die Bots ausgehen).
Zu unterscheiden zwischen den Eingaben im Kommentartext, der Namenseingabe und allen anderen Feldern sollte also grundsätzlich etwas besser abschneiden als die Bewertung des zusammengenommen Kommentars ohne Unterscheidung. Es wird keine Wunder bewirken, weil diese Eingaben auch vorher schon im bewerteten Text landeten. Aber es könnte helfen, Ham eher als Ham zu erkennen.
Was derzeit aber noch komplett ignoriert wird ist die IP-Adresse. Die dürfen wir in Deutschland vielleicht nicht unbedingt speichern, in anderen Ländern aber schon, deshalb sollte das Plugin dies können. Ich könnte mir vorstellen, dass wenn man die zusätzlich in die Bewertung einfließen lässt, ohne daraus eine IP-Sperre zu machen, die Bewertung dadurch nochmal genauer wird.
Leider wird das alles nicht dazu beitragen, das Plugin schneller zu machen - Lernen und Bewerten wird aufwändiger. Wenn aber die Ergebnisse genauso besser werden, wird es das wert sein.
Update: Workflow des Bayes-Plugins
Thursday, 25. February 2010
Dirk hatte Wünsche, die die einfache Benutzung des Spamblock-Bayes-Plugins betreffen - die aktuelle Version mit diesen Änderungen liegt in Spartacus.
Was hat sich geändert? Die Benutzung ist nun etwas mehr darauf ausgerichtet, mit möglichst wenig Klicks mehr zu bewirken.
- Wird ein moderierter Kommentar als Spam markiert, wird er auch gleich gelöscht.
- Wird er als Ham markiert, bewilligt.
- Es gibt einen Modus zum manuellen Setzen der Grenzen. So kann man z.B. alle Kommentare ab einem Spamfaktor von 70% moderieren, aber alle mit 90% direkt abweisen
Zu beachten ist, dass ich dabei ein bisschen getrickst habe, um das mit meiner eigenen Arbeitsweise vereinbar zu machen. So möchte ich z.B. Spamkommentare die durchkamen nicht nur einmal, sondern so oft als Spam markieren, bis der exakt identische Kommentar (Spam kommt ja nie nur einmal) das nächste Mal abgewiesen würde. Ein Klick auf "Spam" lernt den Kommentar hinter den Kulissen also eventuell mehrfach ein, um ihn über die Spamgrenze zu heben bevor er gelöscht wird.
Spamblock-Bayes 0.2: Update in Spartacus
Monday, 21. December 2009
Die neue Version wird erst im Laufe der Zeit alle Funktionen aktivieren - genauer, mit Serendipity 1.6. Das ist zwar noch etwas hin, aber es ist ja nicht so, als wären gar keine Änderungen enthalten, die man sofort bemerken könnte.
Die Kontrollen wurden in die normale Kommentarseite integriert, sodass kein eigener Menüpunkt dafür mehr vorhanden ist. Das schöne daran: Es spart Wartungsarbeit, und die Kontrolle über die Kommentare ist an einem Platz.
Bei den Kommentaren wird nun der Spamfaktor angezeigt. Bei einer Version vor 1.6 ist diese Anzeige unten bei den Kontrollen. Wenn die überarbeitete Kommentarseite integriert wird, wechselt die Position in die obere rechte Ecke.
Bei den Arbeiten daran ist mir aufgefallen, dass das Berechnen dieses Wertes bei bestimmten Kommentaren einen Fehler warf, das wurde behoben.
Mit Serendipity 1.6 wird die Email verändert, und zwar wird sie ergänzt durch Links, um Kommentare direkt zu löschen und als Spam zu bewerten oder sie zu bewilligen und als validen Kommentar zu lernen. Im Gegensatz zur Kommentarseite ist der Code dafür in 1.6 schon integriert.
PS: An der Performance der Ratingabfragen wurde massiv gearbeitet - und es wird wahrscheinlich auch noch weitere Verbesserungen geben.
Spamblock-Bayes: Kommentare auf der Kommentarseite einordnen
Thursday, 17. December 2009
Das manuelle Einordnen der Kommentare im Spamblock-Bayes-Plugin lief ja bisher über eine eigene Oberfläche, die einfach die abgespeckte Kommentarseite mit anderen Buttons war. Es wurde mehrfach gewünscht, die Funktion mit der normalen Kommentarseite zu vermischen und dort einfach die zusätzlichen Buttons einzubauen. Genau das macht die neue Version, die ich bei ausbleibenden Problemberichten in ein paar Tagen in Spartacus hochladen werde. Außerdem wird das Lernen weniger fehleranfällig, weil der Kommentar nicht mehr von der Kommentarseite eingelesen, sondern direkt aus der Datenbank geholt wird.
Was noch nicht gelöst ist, ist das Anzeigen, ob ein Kommentar schon bewertet wurde. Ich musste mehrmals erklären, dass das an sich keine gute Idee ist, weil Kommentare ja initial schon bewertet sein können bzw man sie mehrfach bewerten kann, um den einzelnen Wörtern einen höheren Spamfaktor zuzuordnen. Dass dies nicht sofort klar ist liegt natürlich daran, dass nicht jedem Nutzer klar sein kann, wie der Spamfilter funktioniert. Die in diesem Wunsch resultierende Unsicherheit auszuräumen wäre natürlich toll. Meine Lösungsidee: Man könnte auf der Kommentarseite bei jedem Kommentar die derzeitige Bewertung anzeigen. Bei einer neuen Bewertung sollte dieser Wert sich direkt erhöhen bzw verringern. Nebenan sollte ein kleiner Hilfeknopf stehen, der auf einen Text verweist, der die Bedeutung dieser Zahl erklärt. Würde das die Funktionsweise deutlicher machen?
Spamblock-Bayes: Verbesserungen am Frontend
Tuesday, 27. October 2009
"Verbesserungen" ist im Grunde ein Euphemismus für dieses Bugfix-Release des Bayes-Plugins.
- Nutze man das Formular, wechselte die Oberfläche zur Moderationsübersicht der Kommentare. Daher war es nur möglich, die letzten Kommentare als Spam zu markieren - das wurde behoben.
- Zusätzlich wurde die Oberfläche entschlackt (alles, was zum Markieren nicht nötig ist wurde entfernt).
- Ein kleiner Ladekreis zeigt an, dass der Kommentar gerade übermittelt wird.
- Und zu guter letzt wurde ein doppeltes ?> in einer Sprachdatei entfernt, was vorher unschöne Fehlermeldungen auslöste.
Der Formularbug wurde von yellowled gefunden, danke dafür. Ich bitte auch weiterhin darum, gefundene Bugs mir mitzuteilen.
Spamblock-Bayes veröffentlicht
Wednesday, 30. September 2009
Das Spamblock-Bayes-Plugin ist fertig. Eine Kurzvorstellung:
- Ohne Abhängigkeit von externen Diensten wird lokal gelernt, was Spam ist und was nicht und neue Kommentare entsprechend behandelt
- Wurde im Spamblock-Plugin das Logging in der Datenbank aktiviert, wird aus diesen Daten bei Installation des Plugins gelernt, um eine initiale Datenbasis zur Verfügung zu haben
- Manuell können Kommentare als "Spam" und "Valid" gekennzeichnet werden, dafür steht eine Oberfläche im Adminbereich bereit.
- Wurde ein Kommentar sehr deutlich als Spam erkannt, ist sich das Plugin also sehr sicher, kann mittels der Autolearn-Funktion dieser Kommentar wiederum als Spam gelernt werden. So sollen schleichende Veränderungen am Spamaufkommen erfasst werden, sodass dann keine manuelle Anpassung nötig ist.
Autoren des Plugins sind kleinerChemiker und ich. "Fertig" ist ein Plugin, das nicht wie ein professionelles Softwareprojekt durchgeplant wurde, auch bei Veröffentlichung natürlich nicht zu 100%. Aber es ist so weit, dass es hier im Blog seinen Dienst tut.
Testaufruf: Bayes-Spamfilter für Serendipity
Wednesday, 22. July 2009
Wir (kleinerChemiker und ich) haben eine erste halbwegs brauchbare Version eines Spamfilters für Serendipity geschrieben, der mittels des Bayestheorem Spam aus Kommentaren herausfiltern soll. In meinen ersten Tests schien das zu funktionieren, aber bevor das auf die Welt losgelassen werden kann, wären ein paar weitere Tests sehr nett.
Auf lange Sicht verspreche ich mir davon, alleine mit diesem Plugin Spam in Kommentaren, Trackbacks und Pingbacks zu filtern.
Der große Vorteil: Man ist nicht von anderen Diensten abhängig, wie es bei Akismet ist, und man pflegt nicht einfach eine starre Liste, wie es eine simple Blacklist tun würde. Der große Nachteil: Man greift nur auf die Datenbasis zu, die im eigenen Blog vorhanden ist.
Thema Datenbasis: Wird bisher das normale Spamschutz-Plugin eingesetzt und ist dort das Datenbank-Logging aktiv, lernt das Bayes-Plugin anhand dieser so gesammelten Daten. Zusätzlich und nachträglich kann Spam und Ham (Nicht-Spam) in dieser Oberfläche markiert werden:
Es wäre toll, wenn der eine oder andere dieses Plugin in seiner Testumgebung testen könnte. Rückmeldungen hier als Kommentar oder im zugehörigen Thread werden dankbar wahrgenommen. Und sicher wäre es sehr hilfreich, wenn jemand mit einem mathematischen Hintergrund die Berechnungen überprüft...