Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   SPAM Filter selber basteln (https://www.delphipraxis.net/33276-spam-filter-selber-basteln.html)

Gruber_Hans_12345 4. Nov 2004 10:23


SPAM Filter selber basteln
 
Möchte (habe zum Teil) einen SPAM Filter für mein PRogramm gebaut, aber leider komme ich bei der Umsetztung des bayesian (Meflin wußte es) Filter nicht wirklich auf einen grünen Zweig.

*) Habe eine Liste der Wörter mit einer Bewertung (0 kein SPAM bis 10000 voller SPAM, 4000 ist neutral)
*) nun gehe ich das Mail Wort für Wort durch

Delphi-Quellcode:
p1 := 1.0;
p2 := 1.0;

p1          := p1*(word^.FWertigkeit / 10000.0);
p2          := p2*(1.0 - word^.FWertigkeit / 10000.0);
und am Ende dann (wobei spamcount die Anzahl der gefunden Wörter ist, für die es eine Wertigkeit oben gab)
Delphi-Quellcode:
    if spamCount > 0 then begin
        p1      := Power(p1, 1.0 / spamCount);
        p2      := Power(p2, 1.0 / spamCount);
        Result := 5000 + round(5000.0 *  ( (p2 - p1) / (p2 + p1) ));
    end;
Aber irgendwo passt das ganze nicht.
Wenn ich mir ein SPAM Mail durchlaufen lasse :
p2 geht sehr schnell gegen 0
p1 geht etwas langsamer aber trotzdem noch schnell gegen 0 (der größte wert in der Wertigkeitsliste ist 9900)
daher p1 = 0,99*0,99*0,99*0,99*0,99*0,99*0,99*0,99*0,99*0,99* 0,01

wenn ich das nicht hinbekomme, dann verwende ich einfach
Delphi-Quellcode:
Result := Summe(Werigkeit) / spamCount;
Hoffe jemand kann mich auf die richtige Spur bringen.

Meflin 4. Nov 2004 10:26

Re: SPAM Filter selber basteln
 
kann ich leider nicht. nur zur info: das teil heisst bayesian Filter ;-) damit du auch werbung für dein tool machen kannst :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz