Grundlagen der KI
Wie funktioniert die Textklassifizierung?
Die Textklassifizierung ist der Prozess der Analyse von Textsequenzen und der Zuweisung einer Label, um sie in eine Gruppe basierend auf ihrem Inhalt einzuteilen. Die Textklassifizierung bildet die Grundlage fast jeder künstlichen Intelligenz- oder maschinellen Lernaufgabe, die die Verarbeitung von natürlicher Sprache (NLP) beinhaltet. Mit der Textklassifizierung kann ein Computerprogramm eine Vielzahl von verschiedenen Aufgaben wie die Erkennung von Spam, die Sentiment-Analyse und die Chatbot-Funktionen ausführen. Wie funktioniert die Textklassifizierung genau? Welche sind die verschiedenen Methoden der Textklassifizierung? Wir werden die Antworten auf diese Fragen im Folgenden erkunden.
Definition der Textklassifizierung
Es ist wichtig, sich zunächst mit dem Konzept der Textklassifizierung auseinanderzusetzen, bevor wir uns mit den verschiedenen Methoden befassen. Die Textklassifizierung ist ein Begriff, der auf viele verschiedene Aufgaben und Algorithmen angewendet wird, daher ist es sinnvoll, das grundlegende Konzept der Textklassifizierung zu verstehen, bevor wir uns mit den verschiedenen Ansätzen befassen.
Alles, was die Erstellung von Kategorien für Text und die Zuweisung 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 Klassenbezeichnung für diesen Text erreicht werden.
Wie funktioniert die Textklassifizierung?

Foto: 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 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 sollte, 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, wir wollten einen Textklassifizierer entwickeln, der in der Lage ist, allgemeine Themen wie das Wetter, Filme oder Essen zu erkennen. Um unseren Textklassifizierer zu ermöglichen, das Wetter zu erkennen, könnten wir ihm sagen, nach wetterbezogenen Wörtern im Text zu suchen. Wir hätten eine Liste von Schlüsselwörtern, Phrasen und anderen relevanten Mustern, die verwendet werden könnten, um das Thema zu erkennen. Zum Beispiel könnten wir dem Klassifizierer sagen, nach Wörtern wie “Wind”, “Regen”, “Sonne”, “Schnee” oder “Wolke” zu suchen. Wir könnten dann den Klassifizierer anweisen, den Text zu durchsuchen und die Häufigkeit dieser Wörter im Text zu zählen, und wenn sie häufiger vorkommen als Wörter, die mit Filmen zu tun haben, könnten wir den Text als zur Wetterklasse gehörend einstufen.
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 verallgemeinern, 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 zu handhaben, ohne dass der Ingenieur viel Zeit damit verbringt, diese Subtilitäten manuell vorherzusagen und anzupassen.
Maschinelle Lernsysteme
Wie bereits erwähnt, haben regelbasierte Systeme Einschränkungen, da ihre Funktionen und Regeln vorher programmiert werden müssen. Im Gegensatz dazu funktionieren maschinelle Lernsysteme, indem sie Algorithmen anwenden, die Muster in Datenmengen analysieren, die mit einer bestimmten Klasse assoziiert sind.
Maschinelle Lernalgorithmen werden mit vorher klassifizierten Beispielen gefüttert, die analysiert werden, um relevante Merkmale zu finden. Diese vorher klassifizierten Beispiele sind die Trainingsdaten.
Der maschinelle Lernklassifizierer analysiert die Trainingsdaten und lernt Muster, die mit den verschiedenen Klassen assoziiert sind. Anschließend werden nicht gesehene Beispiele ohne Labels dem Klassifizierungsalgorithmus zugeführt, der den Beispielen eine Klasse zuweist. Die zugewiesenen Labels werden dann mit den ursprünglichen Labels verglichen, um zu sehen, wie genau der maschinelle Lernklassifizierer war, um zu messen, wie gut das Modell gelernt hat, welche Muster welche Klassen vorhersagen.
Maschinelle Lernalgorithmen funktionieren, indem sie numerische Daten analysieren. Dies bedeutet, dass um ein maschinelles Lernalgorithmus auf Textdaten anzuwenden, der Text in ein numerisches Format umgewandelt werden muss. Es gibt verschiedene Methoden, Textdaten als numerische Daten zu kodieren und maschinelle Lernmethoden um diese Daten herum zu erstellen. Wir werden einige der verschiedenen Methoden zur Darstellung von Textdaten im Folgenden besprechen.
Bag-of-Words
Bag-of-Words ist einer der am häufigsten verwendeten Ansätze für die Kodierung und Darstellung von Textdaten. Der Begriff “Bag-of-Words” kommt von der Tatsache, dass man alle Wörter in den Dokumenten nimmt und sie in einen “Beutel” legt, ohne auf die Wortreihenfolge oder Grammatik zu achten, sondern nur auf die Häufigkeit der Wörter im Beutel. Dies ergibt ein langes Array oder einen Vektor, der eine einzelne Darstellung aller Wörter in den Eingabedokumenten enthält. Wenn es also 10.000 eindeutige Wörter insgesamt in den Eingabedokumenten gibt, sind die Feature-Vektoren 10.000 Wörter lang. So wird die Größe des Wortbeutels/Feature-Vektors berechnet.

Foto: gk_ via Machinelearning.co, (https://machinelearnings.co/text-classification-using-neural-networks-f5cd7b8765c6)
Nachdem die Größe des Feature-Vektors bestimmt wurde, wird jedem Dokument in der Liste aller 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 Feature-Vektor/Feature-Array 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 die gleiche Größe hat, und dieser wird mit Zahlen gefüllt, die die Häufigkeit der verschiedenen Wörter im Dokument angeben.
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 zur Erstellung des Wortvektors verwendet werden, normalerweise auf einen bestimmten Wert (N) begrenzt, und dann ist die Dimension des Feature-Vektors Nx1.
Term Frequency-Inverse Document Frequency (TF-IDF)
Eine andere Möglichkeit, ein Dokument basierend auf den Wörtern darin darzustellen, ist die sogenannte Term Frequency-Inverse Document Frequency (TF-IDF). Ein TF-IDF-Ansatz erstellt auch einen Vektor, der das Dokument basierend auf den Wörtern darstellt, aber im Gegensatz zu Bag-of-Words werden die Wörter gewichtet. TF-IDF berücksichtigt die Bedeutung der Wörter in den Dokumenten und versucht, die Relevanz des Wortes 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 Feature-Vektor werden durch eine TF-IDF-Punktzahl ersetzt, die im Hinblick auf die gesamte Datenmenge berechnet wird.
Ein TF-IDF-Ansatz funktioniert, indem er zunächst die Termhäufigkeit berechnet, 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 über den Inhalt des Dokuments aussagen. Diese Wörter müssen abgewertet werden, was der “inverse Dokumenthäufigkeit”-Teil von TF-IDF bedeutet. Dies geschieht, weil die Wörter, die in den meisten Dokumenten vorkommen, weniger nützlich sind, um sie von anderen Dokumenten in der Liste zu unterscheiden. Die Formel, die TF-IDF verwendet, um die Bedeutung eines Wortes zu berechnen, ist darauf ausgelegt, die Wörter zu erhalten, die am häufigsten und semantisch reichhaltigsten sind.
Die Feature-Vektoren, die durch den TF-IDF-Ansatz erstellt werden, enthalten normalisierte Werte, die sich zu eins summieren, und jedem Wort wird ein gewichteter Wert zugewiesen, der durch die TF-IDF-Formel berechnet wird.
Wort-Embeddings
Wort-Embeddings sind Methoden zur Darstellung von Text, die sicherstellen, dass Wörter mit ähnlichen Bedeutungen ähnliche numerische Darstellungen haben.
Wort-Embeddings funktionieren, indem sie Wörter “vektorisiert”, was bedeutet, dass sie Wörter als reelle Vektoren in einem Vektorraum darstellen. 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 aus reellen Werten bestehen. 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 Embeddings, die verschiedene Wörter darstellen, werden im Hinblick auf die Verwendung der Wörter erstellt. Da Wörter, die auf ähnliche Weise verwendet werden, ähnliche Vektoren haben, übersetzt der Prozess der Erstellung von Wort-Embeddings automatisch einige der Bedeutung, die die Wörter haben. Ein Bag-of-Words-Ansatz erstellt hingegen starre Darstellungen, bei denen unterschiedliche Wörter dissimile Darstellungen haben, auch wenn sie in sehr ähnlichen Kontexten verwendet werden.
Als Ergebnis sind Wort-Embeddings besser darin, den Kontext von Wörtern innerhalb eines Satzes zu erfassen.
Es gibt verschiedene Algorithmen und Ansätze zur Erstellung von Wort-Embeddings. Einige der häufigsten und zuverlässigsten Wort-Embedding-Methoden sind: Embedding-Layer, Word2Vec und GloVe.
Embedding-Layer
Eine mögliche Möglichkeit, Wort-Embeddings zusammen mit einem maschinellen Lern-/Deep-Learning-System zu verwenden, besteht darin, eine Embedding-Layer zu verwenden. Embedding-Layer sind Deep-Learning-Layer, die Wörter in Embeddings umwandeln, die dann in den Rest des Deep-Learning-Systems eingespeist werden. Die Wort-Embeddings werden gelernt, während das Netzwerk für eine bestimmte textbasierte Aufgabe trainiert wird.

In einem Wort-Embedding-Ansatz haben ähnliche Wörter ähnliche Darstellungen und sind näher beieinander als dissimile Wörter.
Um Embedding-Layer zu verwenden, muss der Text zunächst vorverarbeitet werden. Der Text im Dokument muss in einem Hot-One-Code kodiert werden, und die Vektorgröße muss im Voraus angegeben werden. Der Hot-One-Text wird dann in Wortvektoren umgewandelt, und die Vektoren werden in das maschinelle Lernmodell eingespeist.
Word2Vec
Word2Vec ist eine weitere gängige Methode zur Einbettung von Wörtern. Word2Vec verwendet statistische Methoden, um Wörter in Embeddings umzuwandeln, und ist für die Verwendung mit neuralen Netzwerkmodellen optimiert. Word2Vec wurde von Google-Forschern entwickelt und ist eine der am häufigsten verwendeten Einbettungsmethoden, da sie zuverlässig nützliche und reiche 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, indem sie erkennen, dass die Gemeinsamkeit zwischen “König” und “Königin” die Königswürde ist und dass “König” “Männlichkeit” impliziert, während “Königin” “Weiblichkeit” impliziert.
GloVe
GloVe, oder Global Vektor für Wortrepräsentation, baut auf den Einbettungsalgorithmen auf, die von Word2Vec verwendet werden. GloVe-Einbettungsmethoden kombinieren Aspekte von Word2Vec und Matrixfaktorisierungstechniken wie der latenten semantischen Analyse. Der Vorteil von Word2Vec ist, dass es den Kontext erfassen kann, aber als Kompromiss erfängt es globale Textstatistiken nicht gut. Andererseits sind traditionelle Vektorrepräsentationen 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 ein Wort-Kontext-Modell basierend auf globalen Textstatistiken.












