Bag-of-Words

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.

Wortwolke aus einem Bag-of-Words-Modell.
Wortwolke aus einem 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:

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.

Siehe auch: Natürliche Sprachverarbeitung, Textanalysen, Sentiment-Analyse, word2vec, Textmining mit MATLAB, Lemmatisierung, Stemming, N-Gramm, Data Science, Deep Learning, ngram