Naive Bayes Klassifikation (NBK)

Lesedauer: 3 Minuten

Mit der Naive Bayes Klassifizierung kommen Personen dann in Berührung, wenn man
zum Beispiel die Spam-E-Mail-Filter gängiger E-Mail-Programme betrachtet. Diese basieren oft auf Naive Bayes Klassifizierung.
Es werden hier die Häufigkeiten von Wortvorkommen in Texten gezählt und in ein Histogramm übertragen, daraus lässt sich, vereinfacht gesagt, die Wahrscheinlichkeit
berechnen, wie oft die Worte eines Textes in einer bestimmten Klasse vorkommen

Um beim bereits gewählten Beispiel zu bleiben, der Klassifizierung von Druckerproblemen,
werden die Wörter Drucker, Toner, bzw. bestimmte Druckermarken in Texten, welche der Klasse Druckerproblem angehören, mit höherer Wahrscheinlichkeit öfter vorkommen
als die Worte Tastatur, Bildschirm und Gehaltsabrechnung. [1]


Diese Wahrscheinlichkeitsberechnung wird durchgeführt wie folgt:
P(Wort) =Anzahl Vorkommen des Worts (nW) in allen Dokumenten/ Anzahl der Wörter in
allen Dokumenten (nGES)


Angenommen es liegen 100 Dokumente vor, diese 100 Dokumente haben je 20 Wörter,
in diesen Einhundert Dokumenten kommt „Drucker“ fünfmal vor, also berechnet sich die
Wahrscheinlichkeit p(Drucker) wie beispielhaft in Formel 1 gezeigt:

p(Drucker) = 5/(100*20) = 5/2000 = 0.0025

Formel 1: Beispielberechnung der Wahrscheinlichkeit eines Wortvorkommens

Die Wahrscheinlichkeiten, dass das Wort „Drucker“ also in 100 Dokumenten mit je 20
Wörtern vorkommt, war also 0.0025, bzw. 0,25%
Danach, um die eigentliche Kategorisierung vornehmen zu können, werden initiale
Abschätzungen getätigt, die aussagen mit welcher initialen Wahrscheinlichkeit ein neues
JSON-Dokument zu einer Klasse gehört. Diese Abschätzung wird „A-Priori Wahrscheinlichkeit“ genannt und leitet sich aus den Trainingsdaten ab, kann aber im
ersten Durchlauf auch arbiträr gewählt werden. Diese Kalkulation wird für Key-Wörter im
Text durchgeführt und somit ergeben sich Wahrscheinlichkeiten für alle enthaltenen
Wörter in Relation zu den vorkommenden Wörtern im gesamten Text. Diese Wahrscheinlichkeit kann für alle Klassen wiederholt werden. Das Wort Drucker hat in der
Klasse Druckerprobleme eine andere Wahrscheinlichkeit vorzukommen als in der Klasse Netzwerkprobleme.
Kommt nun eine neue JSON-Datei mit Text aus einem Support Ticket, werden die Wahrscheinlichkeiten der Wörter wieder kalkuliert und verglichen. Die Klasse, in welcher
das Wort die höchste Wahrscheinlichkeit aufweist, ist, ist jene wo das Wort hingehört.
Wenn in einem Text mit zehn Wörtern neun davon mit hoher Wahrscheinlichkeit Druckerprobleme beschreiben, kann der gesamte Text mit hoher Wahrscheinlichkeit zu
dieser Klasse zugehörig gezählt werden.

Eine Besonderheit ist, dass Naive Bayes sich dabei nicht um die Anordnung der Wörter
im Text kümmert.
„Der Drucker hat keinen Toner mehr“ wird genauso gewertet in der Berechnung wie „der
Toner für den Drucker ist aus“, wenn nur auf die Worte „Drucker“ und „Toner“ abgeglichen wird.

Die Schritte für die Naive Bayes Klassifizierung können also wie folgt zusammengefasst
werden (zur Veranschaulichung nur für ein Feature)

  1. Die A-priori-Wahrscheinlichkeit berechnen für eine Klasse festlegen
  2. Wahrscheinlichkeiten berechnen für jedes Wort im zu klassifizierenden Text
  3. Wahrscheinlichkeitswerte in die Bayes Formel einsetzen und die A-posterioriWahrscheinlichkeit berechnen.
  4. Die Klasse mit der höheren Wahrscheinlichkeit für das Wort ist die Klasse zu dem
    das Wort gehört.

Eine Charakteristik von Naive Bayes Klassifikationen ist, dass sie hohe Bias-Werte und
niedrige Varianzwerte hat. Der hohe Bias-Wert kommt zustande, da die Methode sich
nicht um die Beziehung der Wörter untereinander kümmert, daher kann keine Aussage
getätigt werden, wie sich die Kurve der tatsächlichen Beziehung der Wörter und jene des
Trainingssets zueinander verhalten. Die niedrige Varianz, welche im ML-Bereich den
Unterschied der „Fits“ (Quadratsummen der Datensätze) verschiedener Trainingssets
bezeichnet, ist der guten Funktionalität der Methode in der Realität geschuldet und gibt
einen Eindruck, wie gut die Methode in zukünftigen Datensätze angewendet werden
kann. Je niedriger die Varianz, desto besser wird die Methode auch auf zukünftigen
Datensätzen funktionieren. [2]

Bibliographie
Text dieses Artikels ist ein angepasster Auszug aus “B.Schön, Komparative Analyse von Machine-Learning Methoden zur Klassifizierung und Priorisierung von Support Tickets der Firma Springtime Technologies GmbH, Feb. 2024, Bachelorarbeit”
Originalreferenzzahlen Arbeit: [33], [34]

Artikelreferenzen

[1] I. Rish, „An empirical study of the naive Bayes classifier“, gehalten auf der IJCAI 2001 workshop on empirical
methods in artificial intelligence, 2001, S. 41–46.

[2] „How to classify customer support tickets using Naive Bayes“. Zugegriffen: 25. November 2022. [Online]. Verfügbar
unter: https://practicaldatascience.co.uk/machine-learning/how-to-classify-customer-support-tickets-using-naivebayes