Startseite > Archiv > Einen Bayes-basierten Spam-Filter entwickeln

Einen Bayes-basierten Spam-Filter entwickeln

dotnetpro 01/2006 Von Ralf Westphal erschienen in dotnetpro 01/2006 auf Seite 112
Code: A0601Spam
1 Bewertung(en):

Gute ins Töpfchen, schlechte ins Kröpfchen Spam zu erkennen, ist für den Menschen leicht. Ein kurzer Blick genügt meistens. Einen guten Spam-Filter zu programmieren, ist hingegen ungleich schwieriger. dotnetpro erklärt, wie zeitgemäße Spam-Filter funktionieren und liefert eine Implementierung für den bereits vorgestellten Spam Terminator.

Artikel Download

Als Abonnent können Sie den gesamten Artikel als PDF abrufen und die zugehörigen Quelltexte direkt downloaden.

Sie sind bereits Abonnent? Dann registrieren Sie Ihr Abonnement jetzt online und greifen Sie sofort auf das komplette Artikelarchiv zu.

Einzelheft-Bestellung

Sie interessieren sich für diesen Artikel und haben noch kein Abonnement? Dann bestellen Sie doch einfach diese Ausgabe der dotnetpro als Einzelheft.

Abo-Bestellung

Probeabo
Wenn Sie die dotnetpro kennenlernen wollen, ist das Probeabo genau richtig für Sie. Lesen Sie die aktuelle sowie die kommende Ausgabe zu einem besonders günstigen Preis.








Abo
Wenn Sie die neue Ausgabe der dotnetpro als Erster lesen wollen, dann liegen Sie mit einem Abo genau richtig – zwölf Mal pro Jahr druckfrisch in Ihrem Briefkasten und das noch bevor das Heft am Kiosk erhältlich ist.

Sie finden diesen Artikel interessant? Dann helfen Sie anderen ihn zu finden und kicken Sie ihn bei www.dotnet-kicks.de!

Tags

_featureExtractors   _kba   _rxWords   000000000384   0001   0001Else   002b01c54b50   0100   0200   0277   10e49590   112_Spam_jp_ws_kf_ws   11206   1121   112112_Spam_jp_ws_kf_ws   112810   11306   113112_Spam_jp_ws_kf_ws   11406   1141   114112_Spam_jp_ws_kf_ws   11506   115112_Spam_jp_ws_kf_ws   11606   1161   116112_Spam_jp_ws_kf_ws   11706   117112_Spam_jp_ws_kf_ws   11806   1181   118112_Spam_jp_ws_kf_ws   11906   119112_Spam_jp_ws_kf_ws   12006   1201   120112_Spam_jp_ws_kf_ws   1438   1666   2000   2003   2005   2006113   2006115   2006117   2006119   2006www   2128   2180   2900   8859   A0601Spam   Abbil   Abbildung   Abbildung1   Abbildung2   Abbildung3   Abbildung4   Abbildung5   Abendrot   aber   Aberbesser   abge   abhängig   Abhängigkeiten   abhängt   ableiten   Abschnitt   Absen   Absender   Absendern   absoluten   abzuleiten   Achtung   addieren   Additi   Adres   agra   aktualisiert   aktualisierte   aktualisiertenProjektmappevonSpam   Algorithmus   alle   allein   allem   allemal   aller   Allerdings   Alles   allesamt   allge   allgemeine   also   alternativ   analog   analysieren   AndAlso   andere   anderen   anderer   anderes   anders   ändert   Angebot   Angenommen   angestellt   angewandt   Angst   anhand   Annahme   Ansätzen   anschauen   anschließend   ansieht   Antworten   Anzahl   Anzahlen   Apache   APlanforSpam   apprentice   AppSettings   arbeiten   arbeitet   ArrayList   Artikel   Artikels   auch   AufbaueinesSpam   Aufbauen   aufge   aufgebaut   aufgrund   auftreten   Aufwand   Aufwandes   Aufwands   aufzufassen   Auge   Augenkombination   Ausdehnung   Ausdruck   ausführ   Auskunft   ausreicht   Aussage   ausschlägt   ausschließlich   Ausschnittder   Aussehen   Auswertung   Autor   BaseAdaptergekapselt   basierenden   basiert   basiertenSpam   basierteSpam   Basis   baut   Bayes   BayesFeature   BayesianFiltering   BayesTerminator   beantworten   Beantwortung   bedeutet   Bedingte   bedingten   Bedingung   Beenden   begegnet   BeginClassification   BeginLearning   behält   Beibehal   Beide   beiden   beim   Beispiel   beispiels   beispielsweise   Beispielwerte   Beiträge   bekommen   Belästigung   beliebig   beliebige   beliebigen   belle   bemerkbar   benen   beobachten   beobachtet   Berater   berechnet   Berechnung   Bereich   Bereichen   berücksichtigt   beruht   beschäftigt   beschreibt   beschriebenen   besprochen   besser   bessere   besserung   Bestandteile   besteht   bestimmen   bestimmte   bestimmten   bestimmter   Bestimmung   betrach   betrachten   betrachtet   Betrachtung   Betrag   Betrag90   Beträge   betragen   beträgt   Betreff   BetreffenthältUSD   Betreffzeile   Betreffzeilen   Betreffzeilenwörter   beurteilen   Beurteilung   Bevor   bewe   Beweggründe   bewegt   Bewertung   bietet   Bilder   bildet   binär   binärer   Bisher   bisherigen   Bits   black   bleiben   Blick   Blicken   blitzschnellen   Blitzschnelles   body   boole   boolesche   brauchen   bringt   Buchstaben   Buyonline   BuyViagra   BuyViagraonline   ByVal   carpetbag   Chance   charset   CharsetISO   Chef   chello   chello212186130063   chen   chensatz   cherlich   Choose   cken   class   Classification   ClassifyMessage   Client   Close   Code   codewise   codieren   codiert   Compiled   Compiler   config   ConfigdesSpamTerminatorsregistriert   Contains   content   count   CreateInstance   crm114   CRM114_paper   dabei   dafür   dagegen   daher   Dahinter   damit   dann   daran   daraus   darin   darstellbare   darstellen   Darüber   darzustellen   DasErgebniseinesFilter   dass   dassdasDataSetzulangsamist   Daswaraberbishernichtnötig   Dataset   Date   Datei   Dateinamen   Datenbank   DatenbankistjedochinderKlasseKnowledge   Datenbankzuverwendenmageinfachklingen   Datenzueinem   davon   dazu   de01a8c0   Defini   Definieren   definiert   Delivered   delt   demnach   demWürfel   denáfí   denen   denkbar   denken   denn   denRestdesSpam   derBayes   deren   derLiteraturbeschriebenwird   dern   derner   derspruchsfrei   derWahrscheinlichkeit   Desgleichen   deshalb   dessen   desto   Detail   DetlefKöhlers   deutet   deutig   deutlich   dieaufSpamundHamhindeuten   Diedrei   DieeinfacheAntwortaufdieseFragenlautet   DiegenaueFormderSpam   DieGeschwindigkeiteinesDataSetsbeimLernenundKlassifizierenistan   DieKlassifizierungeinerE   DiekombiniertenFeaturesderBetreffzeile   dieMailzuanalysieren   dienen   diente   dieren   diese   dieselbe   diesem   dieser   dieses   dingte   Discriminator   divi   Dividiert   Division   doch   Dollar   Dollarangaben   Dollarbeträge   Dort   dotnetpro   dotnetpro10   dotnetpro11   dotnetproerklärt   Double   drahtetes   drei   dung   durch   DurchdiemanuelleKlassifizierungvonE   durchläuft   dürfen   dutzende   dutzenden   E8DB387141   Each   Effekt   egal   eher   eigene   eigenen   Eigenschaften   EinDataSetalsDatenbank   EinDataSetalsFeature   eindeuti   eindeutig   eindeutigen   Eindrü   Eindrücke   eine   EineinfacherFeature   einem   einen   EinenBayes   Einenguten   einer   eines   einesmehr   einfach   eingetragen   einige   einkalkulieren   EinkurzerBlickgenügtmeistens   einmal   Einrichten   Einsatz   EinSpam   Einstel   einstmals   einzel   Einzelereignisse   Einzelmerkmale   einzelnen   Einzelwahrscheinlich   einzutragen   else   Email   empfangenen   Empfänger   EndClassification   Ende   endgültige   EndLearning   engen   entdecken   enthält   enthalten   enthaltensind   entheben   entscheiden   Entscheidung   Entscheidungen   entspräche   entsprechen   entspricht   enttäuscht   Entwicklung   Ereignis   Ereignisse   Erfahrung   Erfahrungsschatz   erfolgt   erfüllt   ergeben   Ergebnis   Ergebnisse   ergibt   erhält   erhaschen   erhöht   Erinnerung   EristMicrosoft   erkannt   erkennen   Erkennung   erlangt   erläutert   erleben   erledigt   ermit   ermitteln   errechneten   erreicht   Ersatzwahrscheinlichkeit   erSoftware   erst   erste   ersten   erwarten   erwor   erwünschten   erzeugt   etwa   etwas   Existiert   expli   expliziten   Express   Extrac   ExtractFea   ExtractFeatures   Extractor   ExtractorermitteltdieWörterinder   Extractors   ExtractorserhaltendieChance   extrahieren   extrahiert   Extrak   faces   Fachautor   falls   fällt   falsch   fälschlicherweise   false   fältiger   Farber   Fast   Fazit   Feature   FeatureBase   FeatureExtractor0   FeatureExtractor1   Features   Featuresextrahieren   FeaturesForSubject   FeatureSpam   feiner   Fenster   fern   fest   feste   festzu   Filter   Filterentwickeln   Filterex   Filterfunktionieren   Filterinder   FilterkeinerelationaleDatenbankein   Filterkomponente   FilternlerntdurchAnalysedervorklassifizierten   FilterregistriertdieermitteltenFeaturesinder   Filters   Filterszubeeinflussen   Filterung   Filterverfahren   Filterzuprogrammieren   finden   fiziert   fizierten   fizierung   folgen   Folgenden   folgt   ForgetAll   Form   formal   Formel   Formeln   formulieren   Frage   Frame   FrameworkfüreinenAnti   FROM   früheren   fühl   führen   füllt   Function   FunctionAlleregistriertenFeature   Fund   FXEmailAddr   FXSBFeature   FXSparseBin   FXSparseBinFeaturesForSubject   FXSubjectFeatures   FXSubjectWords   ganz   ganzheit   ganzheitlicher   geben   gebnis   Gedanken   gedrückt   Gefahr   gefolgt   Gefühl   gefundenen   gegeben   gegebenen   Gegen   gehört   geht   geladenen   gelernt   geln   gelohnt   gelten   gelwerk   gemäß   gemeinhin   gemeinsame   gemeint   gemessen   genannt   genannte   genau   Genauer   genauso   genden   gender   generell   genheit   genommen   genügt   genwahrscheinlichkeit   genzahl   gering   geringer   Gesamtergebnis   Gesamtwahrschein   Gesamtwahrscheinlichkeit   gesprochen   GetCounts   GetFeatureProbabilities   GetMessage   GetMessageClassification   GetType   gewandt   Gewicht   gewichten   Gewichtungen   gewinnt   gewisse   Gewissen   gewisses   gezeigt   gibt   gievermittlermitdem   gilt   gleichen   gleichzeitig   gratis   groß   Großbuchsta   große   großen   größer   größerer   großsein   Grundlage   Grundrechenarten   gute   GuteinsTöpfchen   haben   Haftig   Haftigkei   Haftigkeit   HaftigkeitHam   Haftigkeitsta   Haftigkeitswerte   halben   Hälfte   hamCount   hamProbability   hamProbabilitySum   handelt   handlich   hängig   Hash   Hastalavista   hätteeseineranderenTechnikweichenmüssen   HättesichbeidenTestsherausgestellt   häufiger   Häufigkeit   Häufigkeitswert   Header   headerDecoded   Headers   Heft   heißt   heit   helfen   heranziehen   Herausforderung   herauspicken   Herr   hervorgehobene   Herz   heute   heutiger   hier   HighTech   hinaus   Hinblick   hingegen   hinterlegt   Hinwei   Hinweise   Hinweisen   hoffentlich   hohe   Höhe   höher   höhere   holt   Hopcount   HTML   htmlAbbildung6   IBayesFea   IBayesFeature   IBayesFeatureEx   IBayesFeatureExtractor   Idee   Ihnen   Ihre   ihrem   ihren   Ihrer   Ihres   IMailMessage   IMailStore   Imkb   immer   Immerhinkanndie   imple   Implementie   implementieren   implementiert   Implementierungen   ImplementierungenwerdeninderDatei   Implements   Imports   Inbox   IncClassCount   indd   Infor   Informationen   Inhalt   Inhalts   initiali   innere   Insbesondere   inso   instanzierenden   instanziert   Integer   inter   interessant   interface   InterfaceDieInterfacesfüreinenSpam   Interfaces   Internet   Introspektion   Intuition   intuitive   intuitiver   Intuitives   irgendeiner   irgendwie   ISBN3   ispmail   IsSpam   istfürdenMenschenleicht   isthingegenungleichschwieriger   iter   ITerminationMaster   ITerminationMasterfürsEinordnen   ITerminationStudent   ITerminationStudentfürs   Jahr   Jede   jedem   jeder   jedes   jedoch   jeweils   Kalkulation   kann   Käst   Kasten   kbBox   kbPath   KByite   KByte   kein   keine   keit   keiten   kennt   Kenntnis   Kennung   Kern   klas   Klasse   Klassen   klassi   Klassifi   Klassifikationsmodus   Klassifizie   klassifizieren   Klassifizierer   klassifiziert   klassifizierten   Klassifizierung   Klassifizierungsprozess   Klassifizierungsrate   Klassiker   klei   Klein   kleine   kleinen   kleiner   KnowledgeBase   KnowledgebaseAdapter   knowledgebasePath   Kombination   Kombinationen   kombinieren   kombinierten   kommen   Kommt   kompaktere   komplexer   kompliziert   komplizierten   Komponente   Komponenten   komponentenorientierten   konkreten   können   Könnerschaft   könnte   konnten   könnten   Kontinuum   konto   Kontos   Kopf   Korpus   korrekt   Kriterien   kurz   kurzen   laden   Ladens   Landläufig   lang   lange   Länge   länger   lassen   lässt   läuft   lautet   learn   Leben   leere   Legen   leicht   leider   Leistung   Lektüre   lementiert   lern   lernen   lernende   Lernfutter   Lernmaterials   Lernphase   Lernphasen   Lernstoff   lernt   Lernvorgang   lerundSprecheraufEntwicklerveran   Lesen   letzte   letztlich   lich   liche   lichkeit   lichkeiten   lichkeitspaaren   lichst   liefern   liefert   liegen   liegt   ließe   Liste   ListefürmehrereTausendE   Listen   Listing   Litera   Literatur   Load   localhost   Log10   Logarithmuswerten   Logik   logische   logischer   Lösung   love   Lücken   lynomialHashingandtheCRM114   machen   macht   Mail   MailClassifications   MaildesSpamTerminatorsmithervorgehobenenFeatures   mailer   Mailkurz80   Maillang10   Mailmittellang60   MailnachBayes   Mails   MailsalsWissensbasis   mailserver   MailsineinemKorpusschoneinigeMegabytes   MailslerntSpamTerminator   malsklasse   manuell   manuelle   Mapping   Marion   markieren   Match   Matches   Materialisierung   Math   Mathematik   mationen   McAffee   mehr   Mein   meine   meiner   Meinung   meist   Menge   Menschen   mentieren   Merk   Merkma   Merkmal   Merkmale   Merkmalen   Merkmals   Merkmalsklas   Merkmalsklasse   Merkmalsklassen   Merkmalswert   merkwürdige   Message   messageIdList   messen   MEST   Methode   Microker   Microkernel   Microsoft   MIME   MimeOLE   minationStudent   Mindestanzahl   miteinander   miteinemwanderndenFenstervonn   Mittel   moderne   moderner   mögen   möglich   mögliche   möglichen   möglichst   Morgen   motivieren   Motto   msgStream   MSMail   Müller   Multiplikation   Multiplikationen   Multiplizieren   Multipliziert   muss   müsse   müssen   nach   Nachrich   Nachricht   Nachrichten   naiv   naive   naiver   Name   Namen   Namensraum   nämlich   nannten   närer   nator   natorvorklassifizierteE   natür   natürlich   Nebenbei   neFormeln   nehmen   Nein   nenVergleich   Nepp   nerin   neue   neuen   neuer   Next   nicht   nichts   noch   NochmehrFeatures   Normal   normale   normalerweise   normaleWahrscheinlichkeit   Notebook   nötig   notwendig   notwendigen   nung   nutzendes   Nutzens   nützt   oben   obigen   ObjectFactory   Objekten   oder   oderLeeranga   oderSharpDevelop   offen   öffnen   öffnet   Ohne   online   onlinenow   OrdnunggegendasCha   Outlook   paar   part   Parti   PartII   Partner   Partnerin   passieren   Path   PaulGraham   persönlichen   Peter   PeterSedlmeier   Pflege   pflegen   Pflicht   pi11   Plattform   Plug   POP3   positiv   Präfix   Priority   private   Problem   problemlos   Produced   Projekt   Projektes   Property   ProvideReasonForMessageClassification   Prozent   prozentiger   Prozess   Prozesses   Prüfe   prüfen   Pseudocode   public   pulärer   Puzzleteil   Quasi   ralfw   RalfWestphal   RalfWestphalistfrei   ReadOnly   realistisch   reasonLog   Received   Rech   Rechnung   Rechnungen   recht   Rede   Regelassistenten   regelbasierten   regelmäßigmit   Regeln   Regelwerk   Regelwerks   Regen   Regex   RegexOptions   RegionalDirectorundarbeitetals   RegisterFeature   registriert   registrierte   registrierten   Registrierung   regnen   regulä   regulären   RegularExpressions   Reihe   Reihenfolge   relativ   relevanten   repräsentieren   Rest   restli   Resultat   Resultate   return   richt   Richtung   Robust   Ruch   ruft   rung   Sache   sagen   sagt   Sammeln   sammelt   samten   Satz   schaltet   Schaut   scheiden   scheinlich   scheinlichkeit   scheinlichkeiten   scheinlichkeitenimAlltag   scher   schiedene   schlechteinsKröpfchen   schließend   schmälert   schnell   Schnitt   schon   Schwankungen   Schwerpunktaufder   Seek   sehen   Sehr   sein   seine   seinen   seiner   Seite124ff   Seite134ff   selbst   selten   setzt   setzte   sich   sicher   sicherlich   siehe   sieheAbbildung3   siert   sifiziertenNachrichten   sifizierung   Sildenafil   Simple   simplen   sind   skizzierten   SMTP   sofort   Software   Softwareentwick   sogar   Soistsiejederzeitzuverändern   Solange   solche   solchen   solcher   soll   Sollte   sollten   somit   Sonderfälle   sondern   sondernauchPro   sorgt   sourceforge   Spalte   Spam   SpamAssassin   spamCount   SpamKiller   Spamnurwahrscheinlich   spamProbability   spamProbabilitySum   SpamTerminator   Spamzuerkennen   SparseBinaryPo   späteren   speichern   SpeichernundLadensinddenkbarsimpel   speichert   Spiel   spontan   SprachenVisualBasic   staltungenimIn   ständigen   ständiger   starten   Statis   Statistik   Statistikoh   statistisch   Statt   steckt   steht   stellen   stellt   stelltenSpamTerminator   steuern   Stream   strebenden   streng   string   stützt   SubDerBayes   Subject   system   Tabel   Tabelle   Tage   tatsächlich   tebereich   TechnikStatistik   technolo   Teil   teln   telt   telten   tenbankzeigtdie   tendieren   teren   termi   Terminator   TerminatoraufderHeft   Terminators   tert   Testläufe   Testlaufs   TestsmiteinemKorpusvonmehrals1000vorklas   Teufel   Text   Textklassifizierung   Textwort   TextWriter   Thema   THEN   Theorie   tigkeit   tion   tischer   ToArray   Token   Tokenizer   tomatischer   TopicsinAI   tractor   tractors   trägt   trahiert   trahiertnichtnur   Trainingcenter   Trampelpfad   treffzeile   treiben   trennen   trifft   true   tung   ture   tureExtractor   tures   type   Typenkennen   TypischeKnowledgebase   typisiertes   Typnamen   über   überhaupt   überschlägige   übersetzt   Übersichtlichkeit   übrigens   Uhr06   umfasst   Umso   umständliche   Umstieg   umzuge   Unab   unabhängig   unausweichlich   unbedingt   Unbekanntes   unbewussten   undAusland   Underflow   undlieferteineImplementierungfürdenbereitsvorge   UndwarumwirdkeineoptimiertebinäreFormbenutzt   unendlich   uner   ungefähr   ungenügend   ungewollt   unter   Unterschied   unzweckmäßig   Urteil   Value   Variable   Veränderungen   Verfahren   verfährt   verfüt   vergan   Vergangenheit   Vergleich   vergleichbar   vergleiche   vergleichsweise   Verhältnis   Verknüpfen   vermeiden   vermit   vernachlässigbar   vernachlässigt   verrechnen   verse   Version   versorgen   Verunreinigung   Verzeichnis   VerzeichnisspeichertSpamTermi   Viagra   Viagrá   Viagranow   Viagraonline   Viagraonlinenow   viel   viele   vielen   vieler   vielleicht   vielmehr   voll   vollständige   voneinander   Voraussetzung   VoraussetzungenVisualStudio   Vorgangs   vorgehen   vorherzusagen   vorklassifi   vorklassifizier   vorklassifizierten   vorkommen   vorlegen   vorliegen   Vorstellungen   vorteilhafter   wabe   Wahl   Wahr   wahren   Während   wahrschein   wahrscheinlich   Wahrscheinlichkeit   Wahrscheinlichkeiten   Wahrscheinlichkeitenlernen   Wahrscheinlichkeits   Wahrscheinlichkeitsrech   wand   wann   want   wäre   wartbar   warum   WarumalsomehrAufwand   Warumsetzt   wegen   weil   WeileintypisiertesDataSetschlicht   weise   weiß   weiter   weitere   weiterer   welche   wenden   wenig   wenige   weniger   Wenn   werden   werdenden   Werk   Wert   Werte   Wertebereich   Werten   Westermann2001   wetter   Wetterentwicklung   Whitelist   Whitelists   wichtig   widerspie   wieder   wieesdurchausin   Williams   Willkommen   wird   wirklich   wirkliche   Wissen   Wissensbank   Wissensbasis   Wissensdatenbank   With   wobei   Wollen   wollt   womög   womöglich   woran   worden   Works   Wort   Worte   WorteimBetreff   Wörter   wörtern   WriteLine   wünscht   wünschte   wurde   würde   wurden   Würfelspiel   Wurzeltabelle   wusst   Yerazunis   Zahl   Zahlen   Zahlendatentypen   Zeichen   Zeichenket   Zeichenkette   Zeichensatz   zeichnis   zeigen   zeigt   Zeile   Zeit   zeitgemäßeSpam   zentwerte   zept   zerlegt   zierten   zierter   zierung   Ziffern   zufällig   zugrunde   zugunsten   zukünfti   zumVerständnis   zunächst   zuordnen   zurück   zurückgelieferten   zusammen   Zusammenschau   zusammenstellen   zusehends   Zwar   zweckmäßig   zwei   zweier   Zweierkombinationen   zweifach   Zweifel   zweiWürfe

Login
Sie sind nicht eingeloggt.

Login & Registrierung
Abo bestellen





Anzeige





Newsletter
Tragen Sie Ihre E-Mailadresse für den kostenlosen Newsletter von dotnetpro ein.


Umfrage
Wie zufrieden sind Sie mit Ihrem Gehalt?




Ergebnis anzeigen