KI 101
Wie funktioniert Textklassifizierung?

Textklassifizierung ist der Prozess der Analyse von Textsequenzen und der Zuweisung einer Label, um sie in eine Gruppe basierend auf ihrem Inhalt einzuteilen. Textklassifizierung bildet die Grundlage fast jeder Aufgabe im Bereich der künstlichen Intelligenz oder des maschinellen Lernens, die die Verarbeitung von natürlicher Sprache (NLP) beinhaltet. Mit Textklassifizierung kann ein Computerprogramm eine Vielzahl von Aufgaben wie Spam-Erkennung, Sentiment-Analyse und Chatbot-Funktionen ausführen. Wie funktioniert Textklassifizierung genau? Welche sind die verschiedenen Methoden, um Textklassifizierung durchzuführen? Wir werden die Antworten auf diese Fragen im Folgenden erörtern.
Definition von Textklassifizierung
Es ist wichtig, sich zunächst zu vergewissern, was Textklassifizierung im Allgemeinen ist, bevor wir uns mit den verschiedenen Methoden der Textklassifizierung befassen. Textklassifizierung ist einer dieser Begriffe, der auf viele verschiedene Aufgaben und Algorithmen angewendet wird, sodass es hilfreich ist, das grundlegende Konzept der Textklassifizierung zu verstehen, bevor wir uns mit den verschiedenen Möglichkeiten ihrer Durchführung befassen.
Alles, was die Erstellung von Kategorien für Text und das Zuweisen von Textproben zu diesen Kategorien beinhaltet, kann als Textklassifizierung betrachtet werden. Solange ein System diese grundlegenden Schritte ausführt, kann es als Textklassifizierer betrachtet werden, unabhängig von der genauen Methode, die zur Klassifizierung des Textes verwendet wird, und unabhängig davon, wie der Textklassifizierer letztendlich eingesetzt wird. Die Erkennung von E-Mail-Spam, die Organisation von Dokumenten nach Thema oder Titel und die Erkennung der Sentiment eines Produkts sind alle Beispiele für Textklassifizierung, da sie durch die Eingabe von Text und die Ausgabe einer Klassenlabel für diesen Text erreicht werden.
Wie funktioniert Textklassifizierung?

Photo: Quinn Dombrowski via Flickr, CC BY SA 2.0 , (https://www.flickr.com/photos/quinnanya/4714794045)
Die meisten Textklassifizierungsmethoden können in eine von drei verschiedenen Kategorien eingeordnet werden: regelbasierte Methoden oder maschinelle Lernmethoden.
Regelbasierte Klassifizierungsmethoden
Regelbasierte Textklassifizierungsmethoden funktionieren durch die Verwendung explizit entwickelter linguistischer Regeln. Das System verwendet die Regeln, die vom Ingenieur erstellt wurden, um zu bestimmen, welche Klasse ein bestimmter Text gehören soll, indem es nach Hinweisen in Form semantisch relevanter Textelemente sucht. Jede Regel hat ein Muster, das der Text entsprechen muss, um in die entsprechende Kategorie eingeteilt zu werden.
Um konkreter zu werden, nehmen wir an, Sie möchten einen Textklassifizierer entwerfen, der in der Lage ist, häufige Themen von Gesprächen wie das Wetter, Filme oder Essen zu unterscheiden. Um Ihren Textklassifizierer in die Lage zu versetzen, Diskussionen über das Wetter zu erkennen, könnten Sie ihm sagen, nach wetterbezogenen Wörtern im Text zu suchen. Sie hätten eine Liste von Schlüsselwörtern, Phrasen und anderen relevanten Mustern, die verwendet werden könnten, um das Thema zu unterscheiden. Zum Beispiel könnten Sie dem Klassifizierer sagen, nach Wörtern wie “Wind”, “Regen”, “Sonne”, “Schnee” oder “Wolke” zu suchen. Sie könnten dann den Klassifizierer anweisen, die Eingabetexte zu durchsuchen und die Anzahl der Male zu zählen, in denen diese Wörter im Text vorkommen, und wenn sie häufiger vorkommen als Wörter, die mit Filmen zusammenhängen, würden Sie den Text der Wetterklasse zuweisen.
Der Vorteil von regelbasierten Systemen ist, dass ihre Eingaben und Ausgaben für Menschen vorhersehbar und interpretierbar sind und dass sie durch manuelle Eingriffe des Ingenieurs verbessert werden können. Allerdings sind regelbasierte Klassifizierungsmethoden auch somewhat starr und haben oft Schwierigkeiten, zu generalisieren, da sie nur den vordefinierten Mustern folgen können, die programmiert wurden. Zum Beispiel könnte das Wort “Wolke” sich auf Feuchtigkeit in der Luft oder auf eine digitale Wolke beziehen, in der Daten gespeichert werden. Es ist schwierig für regelbasierte Systeme, diese Nuancen ohne manuelle Anpassungen durch die Ingenieure zu handhaben.
Maschinelle Lernsysteme
Wie oben erwähnt, haben regelbasierte Systeme Einschränkungen, da ihre Funktionen und Regeln vorher programmiert werden müssen. Im Gegensatz dazu funktionieren maschinelle Lernsysteme durch die Anwendung von Algorithmen, die Datenmengen auf Muster analysieren, die mit einer bestimmten Klasse verbunden sind.
Maschinelle Lernalgorithmen werden mit vorher beschrifteten/vorklassifizierten Instanzen gefüttert, die auf relevante Merkmale analysiert werden. Diese vorher beschrifteten Instanzen sind die Trainingsdaten.
Der maschinelle Lernklassifizierer analysiert die Trainingsdaten und lernt Muster, die mit den verschiedenen Klassen verbunden sind. Anschließend werden unbekannte Instanzen ohne Labels eingegeben und dem Klassifizierungsalgorithmus zugeführt, der ihnen ein Label zuweist. Die zugewiesenen Labels werden dann mit den ursprünglichen Labels verglichen, um zu sehen, wie genau der maschinelle Lernklassifizierer war und wie gut das Modell die Muster gelernt hat, die die Klassen vorhersagen.
Bag-of-Words
Bag-of-words ist einer der am häufigsten verwendeten Ansätze zur Kodierung und Darstellung von Textdaten. Der Begriff “Bag-of-words” kommt von der Tatsache, dass Sie alle Wörter in den Dokumenten nehmen und sie in einen “Beutel” legen, ohne auf die Wortreihenfolge oder Grammatik zu achten, sondern nur auf die Häufigkeit der Wörter im Beutel. Dies ergibt einen langen Array oder Vektor, der eine einzelne Darstellung aller Wörter in den Eingabedokumenten enthält. Wenn es also 10000 eindeutige Wörter insgesamt in den Eingabedokumenten gibt, sind die Merkmalsvektoren 10000 Wörter lang. So wird die Größe des Wortbeutels/Merkmalsvektors berechnet.

Photo: gk_ via Machinelearning.co, (https://machinelearningmastery.com/text-classification-using-neural-networks-f5cd7b8765c6)
Nachdem die Größe des Merkmalsvektors bestimmt wurde, wird jedem Dokument in der Liste der gesamten Dokumente sein eigener Vektor zugewiesen, der mit Zahlen gefüllt ist, die angeben, wie oft das Wort in Frage im aktuellen Dokument vorkommt. Dies bedeutet, dass, wenn das Wort “Essen” acht Mal in einem Textdokument vorkommt, der entsprechende Merkmalsvektor/Merkmalsarray an der entsprechenden Position eine Acht enthält.
Anders ausgedrückt werden alle eindeutigen Wörter, die in den Eingabedokumenten vorkommen, in einen Beutel gelegt, und dann erhält jedes Dokument seinen eigenen Wortvektor der gleichen Größe, der dann mit der Anzahl der Male gefüllt wird, die die verschiedenen Wörter im Dokument vorkommen.
Textdatensätze enthalten oft eine große Anzahl eindeutiger Wörter, aber die meisten davon werden nicht sehr häufig verwendet. Aus diesem Grund wird die Anzahl der Wörter, die zum Erstellen des Wortvektors verwendet werden, normalerweise auf einen bestimmten Wert (N) begrenzt, und dann ist die Dimension des Merkmalsvektors Nx1.
Term Frequency-Inverse Document Frequency (TF-IDF)
Eine andere Möglichkeit, ein Dokument auf der Grundlage der Wörter darzustellen, ist die sogenannte Term Frequency-Inverse Document Frequency (TF-IDF). Ein TF-IDF-Ansatz erstellt auch einen Vektor, der das Dokument auf der Grundlage der Wörter darstellt, aber im Gegensatz zu Bag-of-words werden diese Wörter nicht nur nach ihrer Häufigkeit gewichtet. TF-IDF berücksichtigt die Bedeutung der Wörter in den Dokumenten und versucht, ihre Relevanz für das Thema des Dokuments zu quantifizieren. Mit anderen Worten, TF-IDF analysiert die Relevanz anstelle der Häufigkeit, und die Wortzahlen in einem Merkmalsvektor werden durch eine TF-IDF-Score ersetzt, der unter Berücksichtigung der gesamten Datenmenge berechnet wird.
Ein TF-IDF-Ansatz funktioniert, indem zunächst die Termhäufigkeit berechnet wird, also die Anzahl der Male, die eindeutige Terme innerhalb eines bestimmten Dokuments vorkommen. TF-IDF berücksichtigt jedoch auch die Begrenzung des Einflusses sehr häufiger Wörter wie “der”, “oder” und “und”, da diese “Stoppwörter” sehr häufig sind, aber sehr wenig Informationen über den Inhalt des Dokuments liefern. Diese Wörter müssen abgezogen werden, was der “inverse-document frequency”-Teil von TF-IDF bedeutet. Dies geschieht, weil die Bedeutung eines Wortes umso geringer ist, je mehr Dokumente es enthält. Die Formel, die TF-IDF verwendet, um die Bedeutung eines Wortes zu berechnen, ist so konzipiert, dass sie die Wörter bewahrt, die am häufigsten und semantisch reichhaltigsten sind.
Die Merkmalsvektoren, die durch den TF-IDF-Ansatz erstellt werden, enthalten normalisierte Werte, die sich zu eins summieren, und weisen jedem Wort einen gewichteten Wert zu, der durch die TF-IDF-Formel berechnet wird.
Wort-Einbettungen
Wort-Einbettungen sind Methoden zur Darstellung von Texten, die sicherstellen, dass Wörter mit ähnlichen Bedeutungen ähnliche numerische Darstellungen haben.
Wort-Einbettungen funktionieren, indem sie Wörter “vektorisiert”, d.h. sie stellen Wörter als reelle Vektoren in einem Vektorraum dar. Die Vektoren existieren in einem Gitter oder einer Matrix und haben eine Richtung und Länge (oder Größe). Wenn Wörter als Vektoren dargestellt werden, werden sie in Vektoren umgewandelt, die reale Werte enthalten. Jedes Wort wird einem Vektor zugeordnet, und Wörter, die ähnliche Bedeutungen haben, haben ähnliche Richtung und Größe. Diese Art der Kodierung ermöglicht es einem maschinellen Lernalgorithmus, komplexe Beziehungen zwischen Wörtern zu lernen.
Die Einbettungen, die verschiedene Wörter darstellen, werden unter Berücksichtigung der Verwendung der Wörter erstellt. Da Wörter, die auf ähnliche Weise verwendet werden, ähnliche Vektoren haben, übersetzt der Prozess der Erstellung von Wort-Einbettungen automatisch einige der Bedeutungen, die die Wörter haben. Ein Bag-of-words-Ansatz erstellt hingegen fragile Darstellungen, bei denen unterschiedliche Wörter unterschiedliche Darstellungen haben, auch wenn sie in sehr ähnlichen Kontexten verwendet werden.
Infolgedessen sind Wort-Einbettungen besser darin, den Kontext von Wörtern in einem Satz zu erfassen.
Es gibt verschiedene Algorithmen und Ansätze, um Wort-Einbettungen zu erstellen. Einige der häufigsten und zuverlässigsten Wort-Einbettungsmethoden sind: Einbettungsschichten, Word2Vec und GloVe.
Einbettungsschichten
Eine mögliche Methode, Wort-Einbettungen zusammen mit einem maschinellen Lern-/Tiefenlernalgorithmus zu verwenden, besteht darin, eine Einbettungsschicht zu verwenden. Einbettungsschichten sind Tiefenlernalgorithmen, die Wörter in Einbettungen umwandeln, die dann in den Rest des Tiefenlernalgorithmus eingegeben werden. Die Wort-Einbettungen werden während des Trainings des Netzwerks für eine bestimmte textbasierte Aufgabe gelernt.

Bei einem Wort-Einbettungsansatz haben ähnliche Wörter ähnliche Darstellungen und sind einander näher als unterschiedlichen Wörtern.
Um Einbettungsschichten zu verwenden, muss der Text zunächst vorverarbeitet werden. Der Text in dem Dokument muss in einem One-Hot-Format kodiert werden, und die Vektogröße muss im Voraus angegeben werden. Der One-Hot-Text wird dann in Wortvektoren umgewandelt, und die Vektoren werden in das maschinelle Lernmodell eingegeben.
Word2Vec
Word2Vec ist eine weitere gängige Methode zur Erstellung von Wort-Einbettungen. Word2Vec verwendet statistische Methoden, um Wörter in Einbettungen umzuwandeln, und ist für die Verwendung mit neuralen Netzmodellen optimiert. Word2Vec wurde von Google-Forschern entwickelt und ist eine der am häufigsten verwendeten Einbettungsmethoden, da sie zuverlässig nützliche und reichhaltige Einbettungen liefert. Word2Vec-Darstellungen sind nützlich für die Identifizierung semantischer und syntaktischer Gemeinsamkeiten in der Sprache. Dies bedeutet, dass Word2Vec-Darstellungen Beziehungen zwischen ähnlichen Konzepten erfassen, wie z.B. die Gemeinsamkeit zwischen “König” und “Königin”, die sich auf die Königswürde bezieht, und dass “König” “Männlichkeit” impliziert, während “Königin” “Weiblichkeit” impliziert.
GloVe
GloVe oder Global Vector für Wortdarstellung, baut auf den Einbettungsalgorithmen von Word2Vec auf. GloVe-Einbettungsmethoden kombinieren Aspekte von Word2Vec und Matrixfaktorisierungstechniken wie der latenten semantischen Analyse. Der Vorteil von Word2Vec ist, dass es Kontext erfassen kann, aber als Kompromiss erfängt es globale Textstatistiken nicht gut. Im Gegensatz dazu sind traditionelle Vektordarstellungen gut darin, globale Textstatistiken zu bestimmen, aber sie sind nicht nützlich für die Bestimmung des Kontexts von Wörtern und Phrasen. GloVe kombiniert die Vorteile beider Ansätze und erstellt Wort-Kontextbeziehungen auf der Grundlage globaler Textstatistiken.










