Was bedeutet ein Bag-of-Words?
Das Bag-of-Words-Modell (BoW) ist eine der einfachsten Techniken zur Merkmalsextraktion, die in vielen Anwendungen zur natürlichen Sprachverarbeitung (Natural Language Processing, NLP) eingesetzt wird, z. B. Textklassifizierung, Sentiment-Analyse und Themenmodellierung. Ein Bag-of-Words wird durch Zählen des Vorkommens einzigartiger Merkmale wie Wörtern und Symbolen in einem Dokument konstruiert.
Beispiel
In diesem Beispiel erstellt die MATLAB®-Funktion bagOfWords
ein Bag-of-Words-Modell aus einer Sammlung von Auszügen aus auf arXiv veröffentlichten mathematischen Arbeiten. Eine der einfachsten Möglichkeiten, das Modell zu visualisieren, ist die Darstellung einer Wortwolke mithilfe der MATLAB-Funktion wordcloud(bag)
. Wörter in größerer und orangefarbener Schrift sind die vorherrschenden (häufigsten) Wörter im Bag-of-Words-Modell.
Wann werden Bag-of-Words-Modelle verwendet?
Bag-of-Words ist leicht zu verstehen und zu implementieren. Daher ist es häufig die erste Methode, die zur Erstellung von Modellen mit Textdaten genutzt wird. Allerdings ist Bag-of-Words auch mit etlichen Einschränkungen verbunden, wie beispielsweise:
- Fehlender Kontext: In Bag-of-Words-Modellen wird die Reihenfolge des Vorkommens von Merkmalen in einem Dokument nicht berücksichtigt. Dadurch entfallen in bestimmten Fällen wichtige Informationen. Beispielsweise würden „heute ist ein guter Tag“ und „ist heute ein guter Tag“ als gleichwertig gelten, wenn bei der Analyse der Textdaten der Kontext nicht berücksichtigt wird.
- Unvorhersehbare Modellqualität: Die Aufnahme aller Merkmale eines Dokuments in ein Bag-of-Words-Modell kann die Modellgröße erhöhen, was zu Knappheit und numerischen Instabilitäten führt. Eine sorgfältige Vorverarbeitung des Dokumententexts ist häufig erforderlich, um ein brauchbares Bag-of-Words-Modell zu erstellen.
Alternativen zu Bag-of-Words-Modellen
Mehrere gute Alternativmodelle sind nicht mit den gleichen natürlichen Modelleinschränkungen verbunden wie Bag-of-Words:
- Bag-of-n-grams: Verwendet mehrere Merkmale statt einzelner Merkmale
- Tf-idf-Maß (term frequency–inverse document frequency: Gibt die Wichtigkeit wieder
- Worteinbettung: Erstellt verteilte Darstellungen von Merkmalen in numerischen Vektoren wie word2vec, GloVe und FastText
- Transformer-Modelle: Nutzen vortrainierte Deep-Learning-Modelle für Transfer Learning
Allerdings ist Bag-of-Words leicht zu verstehen und zu implementieren und reicht für viele Anwendungsfälle aus. Um mehr über Bag-of-Words und andere Modellierungstechniken für Textdaten zu erfahren, sehen Sie sich die Text Analytics Toolbox™ für die Verwendung mit MATLAB an.
Beispiele und Erläuterungen
Siehe auch: Natürliche Sprachverarbeitung, Textanalysen, Sentiment-Analyse, word2vec, Textmining mit MATLAB, Lemmatisierung, Stemming, N-Gramm, Data Science, Deep Learning, ngram