Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Bayesscher Spamfilter – Wikipedia
Bayesscher Spamfilter – Wikipedia 👆 Click Here!
aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Bayes Spamfilter)
Dieser Artikel oder Abschnitt bedarf einer grundsätzlichen Überarbeitung. Näheres sollte auf der Diskussionsseite angegeben sein. Bitte hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung.
Dieser Artikel beschreibt, einen Bayes-Klassifikator in der Anwendung zum Filtern von Spam, nicht zu verwechseln mit einem Bayesschen Filter zur Zustandsschätzung.

Der Bayes-Spamfilter ist ein statistischer Filter zur Klassifizierung unerwünschter E-Mail-Nachrichten (Spam) mithilfe des naiven Bayes-Klassifikators. Bei dieser Methode werden dem Filter vom Benutzer Beispiel-E-Mails für Spam vorgelegt. Anschließend versucht der Filter, aus diesen E-Mails Wörter zu extrahieren, die charakteristisch für Spam sind. Nach der Trainingsphase soll der Filter in der Lage sein, eingehende E-Mails anhand des Vorkommens dieser Wörter als Spam zu klassifizieren.

Funktionsweise

[Bearbeiten | Quelltext bearbeiten]

E-Mails werden mithilfe des bayesschen Filters folgendermaßen untersucht: Von charakteristischen Wörtern in einer E-Mail (Ereignis) wird auf die Eigenschaft geschlossen, gänzlich unerwünscht zu sein (Spam). Dieses statistische Filtern, zuerst 1998 von Sahami et al.[1] vorgeschlagen und ab 2002 durch einen einflussreichen Artikel von Paul Graham[2] popularisiert, soll vorhersagen, ob es sich bei einer Nachricht um Spam handelt.

Das System wird von vielen Programmen zur Spamerkennung genutzt und ist beispielsweise in den E-Mail-Programmen Pegasus Mail, Opera Mail und Mozilla Thunderbird implementiert und wird auf Mailservern von Rspamd und SpamAssassin eingesetzt.

Statistische Gegenmaßnahmen basieren auf Wahrscheinlichkeitsmethoden, die aus dem Satz von Bayes abgeleitet sind. Bayessche Filter sind oft „lernend“ (auch „selbstlernend“) organisiert und setzen auf Worthäufigkeiten in bereits vom Benutzer erhaltenen und klassifizierten E-Mails.

Ein bayesscher Filter wird durch seinen Benutzer trainiert, indem dieser seine E-Mails in erwünschte und unerwünschte Nachrichten einteilt. Der bayessche Filter erstellt daraufhin eine Liste mit Wörtern, die in unerwünschten E-Mails vorkommen. Hat der Benutzer beispielsweise E-Mails mit den Begriffen „Sex“ und „Viagra“ als Spam gekennzeichnet, haben alle E-Mails mit diesen Begriffen eine hohe Spamwahrscheinlichkeit. Begriffe aus erwünschten E-Mails wie „Verabredung“ oder „Bericht“ führen dann im Gegenzug zu einer Herabstufung der negativen Bewertung. Allerdings reichen einzelne Schlüsselwörter nicht aus; relevant ist die Summe der Bewertungen der einzelnen Wörter.

Der Filter erreicht bereits nach kurzem Training mit wenigen E-Mails hohe Trefferquoten – auch wenn für den produktiven Einsatz ein Training mit mehreren hundert E-Mails beider Kategorien empfohlen wird. Ein Risiko für den Benutzer sind falsch-positive Treffer – also E-Mails, die fälschlicherweise als Spam erkannt werden. Dieses Risiko lässt sich durch das Markieren von erwünschten E-Mails verringern, ist aber insbesondere für Unternehmen problematisch.

Die Versender von Spam ergreifen Gegenmaßnahmen gegen Bayes-Filter. Werbebotschaften werden in Bildern gezeigt, die der Filter nicht untersuchen kann. Auch werden verdächtige Begriffe bewusst falsch geschrieben (beispielsweise „V|agra“ oder „Va1ium“) oder mit eingestreuten Leerzeichen versehen. Allerdings bewertet der Filter auch HTML-Tags wie „img“ und „src“ negativ, sodass Bilder in E-Mails ebenfalls mit einer höheren Spamwahrscheinlichkeit bewertet werden. Auch werden vermehrt zufällige Zitate aus der Weltliteratur (auch in weißer Schrift oder als Meta-Tag unlesbar) eingefügt, um die statistischen Maßnahmen in die Irre zu führen. Dies ist aber keine erfolgreiche Strategie, weil zufällig ausgewählte „harmlose“ Begriffe oder Sätze weder eine besonders hohe noch eine besonders niedrige Spamwahrscheinlichkeit erzielen, so dass sie letztendlich keine Rolle spielen.

Eine Besonderheit in nicht englischsprachigen Ländern ergibt sich durch den Umstand, dass Spam überwiegend in englischer Sprache verfasst wird. Die Trefferwahrscheinlichkeit eines bayesschen Filters dürfte daher in diesen Ländern höher sein, aber auch die Gefahr, dass eine erwünschte englischsprachige Mail fälschlicherweise als Spam markiert wird, steigt.

Das Filtern auf statistischen Grundlagen ist eine Form der Textklassifikation. Eine Anzahl von Forschern der angewandten Linguistik, die sich mit maschinellem Lernen befassen, haben sich bereits diesem Problem gewidmet. Eine Weiterentwicklung im Bereich der E-Mail-Verarbeitung ist der Markow-Spamfilter, bei der nicht nur einzelne Wörter, sondern ganze Wortketten und Kombinationsmöglichkeiten bewertet werden.

Mathematische Grundlage

[Bearbeiten | Quelltext bearbeiten]

Der Satz von Bayes lautet:

P ( A | B ) = P ( B | A ) ⋅ P ( A ) P ( B ) {\displaystyle P(A|B)\;=\;{\frac {P(B|A)\cdot P(A)}{P(B)}}} {\displaystyle P(A|B)\;=\;{\frac {P(B|A)\cdot P(A)}{P(B)}}}

wobei P ( A | B ) {\displaystyle P(A|B)} {\displaystyle P(A|B)} die bedingte Wahrscheinlichkeit des Ereignisses A unter der Voraussetzung ist, dass (vorher) Ereignis B eingetreten ist.

P ( Suchwort kommt vor | Spam ) {\displaystyle P({\text{Suchwort kommt vor}}|{\text{Spam}})\,} {\displaystyle P({\text{Suchwort kommt vor}}|{\text{Spam}})\,}

wäre demnach die Wahrscheinlichkeit dafür, dass das betreffende Suchwort in einer E-Mail vorkommt, wenn es sich bei ihr um eine Spam-Mail handelt. Umgekehrt ist

P ( Spam | Suchwort kommt vor ) {\displaystyle P({\text{Spam}}|{\text{Suchwort kommt vor}})\,} {\displaystyle P({\text{Spam}}|{\text{Suchwort kommt vor}})\,}

die in diesem Zusammenhang interessierende Wahrscheinlichkeit, dass eine E-Mail Spam ist, wenn sie das betreffende Suchwort enthält. Gemäß der obigen Bayes-Formel lässt sich diese Wahrscheinlichkeit nun wie folgt berechnen:

P ( Spam | Suchwort kommt vor ) = P ( Suchwort kommt vor | Spam ) ⋅ P ( Spam ) P ( Suchwort kommt vor ) {\displaystyle P({\text{Spam}}|{\text{Suchwort kommt vor}})\;=\;{\frac {P({\text{Suchwort kommt vor}}|{\text{Spam}})\cdot P({\text{Spam}})}{P({\text{Suchwort kommt vor}})}}} {\displaystyle P({\text{Spam}}|{\text{Suchwort kommt vor}})\;=\;{\frac {P({\text{Suchwort kommt vor}}|{\text{Spam}})\cdot P({\text{Spam}})}{P({\text{Suchwort kommt vor}})}}}.

Beispiel Naive-Bayes-Klassifikator

[Bearbeiten | Quelltext bearbeiten]

In E-Mail-Programmen mit (lernenden) Naive-Bayes-Klassifikatoren werden Spam-Mails sehr effizient ausgefiltert.[3] Dabei gibt es zwei Klassen von E-Mails: Spam- und Nicht-Spam-E-Mails ( C = { S p a m , S p a m ¯ } {\displaystyle C=\{Spam,{\overline {Spam}}\}} {\displaystyle C=\{Spam,{\overline {Spam}}\}}). Eine E-Mail besteht aus einzelnen Wörtern W i {\displaystyle W_{i}} {\displaystyle W_{i}}. Aus alten, bereits klassifizierten E-Mails kann man für jedes Wort W i {\displaystyle W_{i}} {\displaystyle W_{i}} die Wahrscheinlichkeit schätzen, dass es in einer Spam- oder Nicht-Spam-E-Mail vorkommt, also:

P ( W i | S p a m ) = Anzahl der Spam-E-Mails mit dem Wort  W i Anzahl der Spam-E-Mails {\displaystyle P(W_{i}|Spam)={\frac {{\text{Anzahl der Spam-E-Mails mit dem Wort }}W_{i}}{\text{Anzahl der Spam-E-Mails}}}} {\displaystyle P(W_{i}|Spam)={\frac {{\text{Anzahl der Spam-E-Mails mit dem Wort }}W_{i}}{\text{Anzahl der Spam-E-Mails}}}}
P ( W i | S p a m ¯ ) = Anzahl der Nicht-Spam-E-Mails mit dem Wort  W i Anzahl der Nicht-Spam-E-Mails {\displaystyle P(W_{i}|{\overline {Spam}})={\frac {{\text{Anzahl der Nicht-Spam-E-Mails mit dem Wort }}W_{i}}{\text{Anzahl der Nicht-Spam-E-Mails}}}} {\displaystyle P(W_{i}|{\overline {Spam}})={\frac {{\text{Anzahl der Nicht-Spam-E-Mails mit dem Wort }}W_{i}}{\text{Anzahl der Nicht-Spam-E-Mails}}}}

Für eine neue E-Mail W {\displaystyle W} {\displaystyle W} stellt sich die Frage: Ist die Wahrscheinlichkeit P ( S p a m | W ) {\displaystyle P(Spam|W)} {\displaystyle P(Spam|W)} größer oder kleiner als die Wahrscheinlichkeit P ( S p a m ¯ | W ) {\displaystyle P({\overline {Spam}}|W)} {\displaystyle P({\overline {Spam}}|W)}? Wenn P ( S p a m | W ) < P ( S p a m ¯ | W ) {\displaystyle P(Spam|W)<P({\overline {Spam}}|W)} {\displaystyle P(Spam|W)<P({\overline {Spam}}|W)}, wird die neue E-Mail als Nicht-Spam klassifiziert, anderenfalls als Spam.

Für die Wahrscheinlichkeit P ( S p a m | W ) {\displaystyle P(Spam|W)} {\displaystyle P(Spam|W)} gilt nach dem Satz von Bayes:

P ( S p a m | W ) = P ( S p a m ∩ W ) P ( W ) = P ( W | S p a m ) ⋅ P ( S p a m ) P ( W ) {\displaystyle P(Spam|W)={\frac {P(Spam\cap W)}{P(W)}}={\frac {P(W|Spam)\cdot P(Spam)}{P(W)}}} {\displaystyle P(Spam|W)={\frac {P(Spam\cap W)}{P(W)}}={\frac {P(W|Spam)\cdot P(Spam)}{P(W)}}}.

P ( W ) {\displaystyle P(W)} {\displaystyle P(W)} ist die Wahrscheinlichkeit, dass die E-Mail W {\displaystyle W} {\displaystyle W} auftritt. Da diese unabhängig von P ( S p a m ¯ | W ) {\displaystyle P({\overline {Spam}}|W)} {\displaystyle P({\overline {Spam}}|W)} und P ( S p a m | W ) {\displaystyle P(Spam|W)} {\displaystyle P(Spam|W)} ist, nimmt sie immer denselben Wert an und kann vernachlässigt werden. Daher betrachten die E-Mail-Programme den Ausdruck

Q = P ( S p a m | W ) P ( S p a m ¯ | W ) = P ( W | S p a m ) ⋅ P ( S p a m ) P ( W ) P ( W ) P ( W | S p a m ¯ ) P ( S p a m ¯ ) = P ( W | S p a m ) ⋅ P ( S p a m ) P ( W | S p a m ¯ ) ⋅ P ( S p a m ¯ ) {\displaystyle Q={\frac {P(Spam|W)}{P({\overline {Spam}}|W)}}={\frac {P(W|Spam)\cdot P(Spam)}{P(W)}}{\frac {P(W)}{P(W|{\overline {Spam}})P({\overline {Spam}})}}={\frac {P(W|Spam)\cdot P(Spam)}{P(W|{\overline {Spam}})\cdot P({\overline {Spam}})}}} {\displaystyle Q={\frac {P(Spam|W)}{P({\overline {Spam}}|W)}}={\frac {P(W|Spam)\cdot P(Spam)}{P(W)}}{\frac {P(W)}{P(W|{\overline {Spam}})P({\overline {Spam}})}}={\frac {P(W|Spam)\cdot P(Spam)}{P(W|{\overline {Spam}})\cdot P({\overline {Spam}})}}}.

Ist Q > 1 {\displaystyle Q>1} {\displaystyle Q>1}, wird die E-Mail als Spam klassifiziert, andernfalls als Nicht-Spam. Die Wahrscheinlichkeit, dass überhaupt eine E-Mail Spam bzw. Nicht-Spam ist, kann wieder aus den alten E-Mails geschätzt werden:

P ( S p a m ) = Anzahl der Spam-E-Mails Anzahl aller E-Mails {\displaystyle P(Spam)={\frac {\text{Anzahl der Spam-E-Mails}}{\text{Anzahl aller E-Mails}}}} {\displaystyle P(Spam)={\frac {\text{Anzahl der Spam-E-Mails}}{\text{Anzahl aller E-Mails}}}}, P ( S p a m ¯ ) = Anzahl der Nicht-Spam-E-Mails Anzahl aller E-Mails {\displaystyle P({\overline {Spam}})={\frac {\text{Anzahl der Nicht-Spam-E-Mails}}{\text{Anzahl aller E-Mails}}}} {\displaystyle P({\overline {Spam}})={\frac {\text{Anzahl der Nicht-Spam-E-Mails}}{\text{Anzahl aller E-Mails}}}}.

Besteht die E-Mail W {\displaystyle W} {\displaystyle W} aus den Wörtern W 1 , … , W n {\displaystyle W_{1},\dotsc ,W_{n}} {\displaystyle W_{1},\dotsc ,W_{n}} und treten diese Wörter unabhängig voneinander auf, so gilt

P ( W | S p a m ) = P ( W 1 ∩ ⋯ ∩ W n | S p a m ) = P ( W 1 | S p a m ) ⋯ P ( W n | S p a m ) {\displaystyle P(W|Spam)=P(W_{1}\cap \dotsb \cap W_{n}|Spam)=P(W_{1}|Spam)\dotsm P(W_{n}|Spam)} {\displaystyle P(W|Spam)=P(W_{1}\cap \dotsb \cap W_{n}|Spam)=P(W_{1}|Spam)\dotsm P(W_{n}|Spam)}.

Die Wahrscheinlichkeit P ( W i | S p a m ) {\displaystyle P(W_{i}|Spam)} {\displaystyle P(W_{i}|Spam)} ist oben bereits angegeben und damit kann der Gesamtquotient berechnet werden:

Q = P ( S p a m | W ) P ( S p a m ¯ | W ) = P ( W 1 | S p a m ) ⋯ P ( W n | S p a m ) ⋅ P ( S p a m ) P ( W 1 | S p a m ¯ ) ⋯ P ( W n | S p a m ¯ ) ⋅ P ( S p a m ¯ ) {\displaystyle Q={\frac {P(Spam|W)}{P({\overline {Spam}}|W)}}={\frac {P(W_{1}|Spam)\dotsm P(W_{n}|Spam)\cdot P(Spam)}{P(W_{1}|{\overline {Spam}})\dotsm P(W_{n}|{\overline {Spam}})\cdot P({\overline {Spam}})}}} {\displaystyle Q={\frac {P(Spam|W)}{P({\overline {Spam}}|W)}}={\frac {P(W_{1}|Spam)\dotsm P(W_{n}|Spam)\cdot P(Spam)}{P(W_{1}|{\overline {Spam}})\dotsm P(W_{n}|{\overline {Spam}})\cdot P({\overline {Spam}})}}}.

Am Schluss noch drei Bemerkungen:

  1. In der Praxis wird eine E-Mail als Spam klassifiziert, wenn beispielsweise Q > 10 {\displaystyle Q>10} {\displaystyle Q>10} gilt, also wenn die Wahrscheinlichkeit, eine Spam-E-Mail zu sein, wesentlich größer ist als die Wahrscheinlichkeit, eine Nicht-Spam-E-Mail zu sein. Der Grund liegt darin, dass eine als Spam klassifizierte E-Mail meist automatisch in einen Junk-Ordner verschoben wird, ohne dass der Empfänger sie nochmals zu Gesicht bekommt. Dies kann problematisch sein, wenn die E-Mail fälschlicherweise als Spam klassifiziert wird. In diesem Fall ist es oft wünschenswerter, gelegentlich eine Spam-Mail im Posteingang zu finden, als wichtige E-Mails zu verlieren.
  2. Der Filter wird als lernender Filter bezeichnet, da sich mit der Kennzeichnung neuer E-Mails als Junk in der Inbox die Wahrscheinlichkeiten P ( W i | S p a m ) {\displaystyle P(W_{i}|Spam)} {\displaystyle P(W_{i}|Spam)}, P ( S p a m ) {\displaystyle P(Spam)} {\displaystyle P(Spam)} usw. dynamisch anpassen.
  3. Obwohl die mathematisch-statistische Theorie die Unabhängigkeit der Wörter W i {\displaystyle W_{i}} {\displaystyle W_{i}} fordert, ist dies in der Praxis nicht erfüllt. Beispielsweise treten die Wörter Viagra und Sex häufig im gleichen Zusammenhang auf. Trotz dieser Verletzung der Unabhängigkeitsannahme funktionieren die Naive-Bayes-Filter in der Praxis sehr gut. Der Grund liegt darin, dass die exakten Wahrscheinlichkeiten P ( S p a m | W ) {\displaystyle P(Spam|W)} {\displaystyle P(Spam|W)} und P ( S p a m ¯ | W ) {\displaystyle P({\overline {Spam}}|W)} {\displaystyle P({\overline {Spam}}|W)} gar nicht benötigt werden. Es genügt, korrekt zu bestimmen, welche der beiden Wahrscheinlichkeiten größer ist. Daher werden zur Klassifizierung meist nur etwa zehn Wörter aus der E-Mail herangezogen: jeweils die fünf mit der höchsten Wahrscheinlichkeit, in einer Spam- bzw. Nicht-Spam-E-Mail vorzukommen.

Weblinks

[Bearbeiten | Quelltext bearbeiten]
  • Die Mathematik im Bayes Spamfilter, die benötigten Hilfsmittel und ein Rechenbeispiel (Memento vom 31. Januar 2020 im Internet Archive)

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. ↑ M. Sahami, S. Dumais, D. Heckerman, E. Horvitz: A Bayesian approach to filtering junk e-mail, AAAI'98 Workshop on Learning for Text Categorization, 1998.
  2. ↑ P. Graham: A Plan for Spam, August 2002.
  3. ↑ A. Linke (2003) Spam oder nicht Spam? E-Mail sortieren mit Bayes Filtern, c’t 17/2003, S. 150
Abgerufen von „https://de.teknopedia.teknokrat.ac.id/w/index.php?title=Bayesscher_Spamfilter&oldid=260059031“
Kategorien:
  • Bayessche Statistik
  • Wahrscheinlichkeitsrechnung
  • E-Mail
  • Contentfilter
Versteckte Kategorie:
  • Wikipedia:Überarbeiten

  • indonesia
  • Polski
  • العربية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصرى
  • Nederlands
  • 日本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українська
  • Tiếng Việt
  • Winaray
  • 中文
  • Русский
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id