Was ist ein Bag-of-Words-Modell?

19. Januar 2024

Autoren

Jacob Murel Ph.D.

Senior Technical Content Creator

Eda Kavlakoglu

Program Manager

Die Quantifizierung der Häufigkeit von Wörtern in Textdokumenten zur Verarbeitung in Modellen für maschinelles Lernen wird als „Bag of Words Featurization“ bezeichnet. Seine Variante TF-IDF generiert Modelle, die die Worthäufigkeit in einem Korpus von Dokumenten weiter berücksichtigen.

Bag of Words (BoW; auch stilisiert als Bag-of-Words) ist eine Technik zur Merkmalsextraktion, die Textdaten für die Verarbeitung in Algorithmen für die Informationsgewinnung und das maschinelle Lernen modelliert. Genauer gesagt sind BoW-Modelle eine unstrukturierte Zusammenstellung aller bekannten Wörter in einem Textdokument, die ausschließlich durch die Frequenz definiert sind, wobei die Wortreihenfolge und der Kontext ignoriert werden.1 Bag of Words ist einer von mehreren Schritten in vielen Text-Mining-Pipelines.

Die meisten Pakete zur Verarbeitung natürlicher Sprache (NLP) sind mit Funktionen zur Erstellung von Bag-of-Words-Modellen ausgestattet, wie z. B. die CountVectorizer-Funktion von scikit-learn.

3D-Design aus Kugeln, die auf einer Schiene rollen

Die neuesten Erkenntnisse und Insights zu KI

Entdecken Sie von Experten kuratierte Erkenntnisse und Neuigkeiten zu KI, Cloud und mehr im wöchentlichen Newsletter Think. 

So funktionieren Bag-of-Words-Modelle

Die Bag-of-Words-Featurization kann manchmal als eine Form der Textverarbeitung auf Anfängerniveau angesehen werden, da sie scheinbar einfach ist und Wörter in einem bestimmten Textsatz zählt. Bag-of-Words-Modelle sind jedoch stärker involviert.

Um die Bag-of-Words-Featurization zu verstehen, muss man zumindest als Anfänger ein Verständnis für Vektorräume haben. Ein Vektorraum ist ein mehrdimensionaler Raum, in dem Punkte aufgezeichnet werden. Bei einem Bag-of-Words-Ansatz wird jedes einzelne Wort zu einer eigenen Dimension (oder Achse) des Vektorraums. Wenn ein Textsatz n Wörter enthält, hat der resultierende Vektorraum n Dimensionen, eine Dimension für jedes eindeutige Wort im Textsatz. Das Modell stellt dann jedes einzelne Textdokument als einen Punkt im Vektorraum dar. Die Position eines Punktes entlang einer bestimmten Dimension wird dadurch bestimmt, wie oft das Wort dieser Dimension in dem Dokument des Punktes vorkommt.

Nehmen wir zum Beispiel an, wir haben einen Textsatz, in dem die Inhalte von zwei separaten Dokumenten jeweils lauten:

Dokument 1: Eine Rose ist rot, ein Veilchen ist blau

Dokument 2: Meine Liebe ist wie eine rote, rote Rose

Da es schwierig ist, sich etwas vorzustellen, das über einen dreidimensionalen Raum hinausgeht, werden wir uns genau darauf beschränken. Ein Vektorraum für ein Korpus, das diese beiden Dokumente enthält, hätte separate Dimensionen für Rot, Rose und Veilchen. Ein dreidimensionaler Vektorraum für diese Wörter könnte wie folgt aussehen:

Da Rot, Rose und Veilchen alle einmal in Dokument 1 vorkommen, ist der Vektor für dieses Dokument in diesem Bereich (1,1,1). In Dokument 2 kommt Rot zweimal vor, Rose einmal und Veilchen gar nicht. Somit ist der Vektorpunkt für Dokument 2 (2,1,0). Diese beiden Dokumentenpunkte werden im dreidimensionalen Vektorraum wie folgt abgebildet:

Beachten Sie, dass diese Abbildung Textdokumente als Datenvektoren in einem dreidimensionalen Funktionsraum visualisiert. Bag of Words kann aber auch Wörter als Funktionsvektoren in einem Datenraum darstellen. Ein Funktionsvektor gibt den Wert (Vorkommen) einer bestimmten Funktion (Wort) in einem bestimmten Datenpunkt (Dokument) an. Die Funktionsvektoren für Rot, Rose und Veilchen in den Dokumenten 1 und 2 würden also so aussehen:2

Beachten Sie, dass die Reihenfolge der Wörter in den Originaldokumenten irrelevant ist. Für ein Modell mit Wörtern ist alles, was zählt, die Anzahl der Vorkommen jedes Wortes im Textsatz.

Warum Bag-of-Words-Modelle verwendet werden

Da Bag-of-Words-Modelle nur die Häufigkeit von Wörtern in einem bestimmten Dokument quantifizieren, wird Bag of Words oft als einfache Modellierungstechnik beschrieben. Aber Bag of Words hilft bei vielen NLP-Aufgaben, vor allem bei der Klassifizierung von Dokumenten. In der Tat wird in der Literatur der Bag of Words oft neben statistischen Klassifikatoren wie Naïve Bayes diskutiert.3

Textklassifizierungsaufgaben interpretieren diese Wörter mit hoher Häufigkeit in einem Dokument als Darstellung der Hauptideen des Dokuments.4 Dies ist keine unvernünftige Annahme. Wenn beispielsweise einige der häufigsten Wörter in einem Dokument Präsident, Wähler und Wahl sind, besteht eine hohe Wahrscheinlichkeit, dass es sich bei dem Dokument um einen politischen Text handelt, bei dem es speziell um eine Präsidentschaftswahl geht. Die Textklassifizierung mit einem Bag of Words extrapoliert dann, dass Dokumente mit ähnlichem Inhalt einen ähnlichen Typ haben.

Mixture of Experts | Podcast

KI entschlüsseln: Wöchentlicher Nachrichtenüberblick

Schließen Sie sich unserer erstklassigen Expertenrunde aus Ingenieuren, Forschern, Produktführern und anderen an, die sich durch das KI-Rauschen kämpfen, um Ihnen die neuesten KI-Nachrichten und Erkenntnisse zu liefern.

Einschränkungen von Bag-of-Words-Modellen

Obwohl sich probabilistische Klassifikatoren, die einen Bag-of-Words-Ansatz verwenden, als weitgehend effektiv erweisen, hat Bag of Words mehrere Nachteile.

Wort-Korrelation. Bag of Words gehen davon aus, dass Wörter in einem Dokument oder Korpus unabhängig voneinander sind. Die Wahl erscheint eher im gemeinsamen Kontext mit dem Präsidenten als mit dem Dichter. Bei der Messung der Häufigkeit einzelner Begriffe berücksichtigt der Wortschatz keine Korrelationen in der Verwendung zwischen Wörtern. Da das Bag-of-Words-Modell jedes Wort in einem Dokument als Merkmal extrahiert, wobei die Termhäufigkeit das Gewicht dieses Merkmals ist, können zwei oder mehr korrelierte Wörter theoretisch eine Multikollinearität in statistischen Klassifikatoren verursachen, die dieses Modell verwenden. Dennoch hat sich gezeigt, dass die vereinfachende Annahme von Naïve Bayes trotz dieser potenziellen Mängel robuste Modelle hervorbringt.5

Zusammengesetzte Wörter. Die Wortkorrelation erstreckt sich auf Bag-of-Words-Repräsentationen von zusammengesetzten Phrasen, in denen zwei oder mehr Wörter als eine semantische Einheit fungieren. Ein einfaches Bag-of-Words-Modell kann beispielsweise Herr Darcy als zwei einzigartige und nicht verwandte Wörter darstellen, obwohl sie zusammengehören. Eine solche Bag-of-Words-Darstellung spiegelt nicht die semantische und syntaktische Natur von Mehrwortkonzepten wider.

Mehrdeutige Worte. Viele Wörter haben mehrere, deutlich unterschiedliche Bedeutungen. So kann das englische Bat beispielsweise ein Sportinstrument oder ein Tier bedeuten, und diese Bedeutungen treten in der Regel in sehr unterschiedlichen Zusammenhängen auf. In ähnlicher Weise können Wörter ihre Bedeutung ändern, je nachdem, wo die Betonung in der gesprochenen Sprache liegt, z. B. CON-tent im Gegensatz zu con-TENT. Da Bag of Words bei der Modellierung von Wörtern den Kontext und die Bedeutung nicht berücksichtigt, fasst es all diese unterschiedlichen Bedeutungen unter einem Wort zusammen und lässt so potenziell wichtige Informationen über das Thema eines Textes (und damit eine mögliche Klassifizierung) aus.

Sparsity. In einem Bag-of-Words-Modell ist jedes Wort ein Funktion oder eine Dimension des Modells und jedes sogenannte Dokument ist ein Vektor. Da ein Dokument nicht jedes Wort aus dem Vokabular des generierten Modells verwendet, können viele der Funktionswerte für einen gegebenen Vektor Null sein. Wenn die Mehrheit der Werte für Vektoren Null ist, ist das Modell dünn besetzt (wenn Vektoren als Matrix dargestellt werden, spricht man von einer Sparse Matrix). Die spärliche Datengrundlage führt zu einer hohen Dimensionalität, was wiederum zu einer Überanpassung an die Trainingsdaten führt.6

Änderungen

Beutel mit n-Grams. Die Verwendung von n-Grams anstelle von Wörtern kann eine Reihe von Nachteilen von Bag-of-Words-Modellen ausgleichen. Anstatt ein Modell zu erstellen, bei dem jedes Wort ein Merkmal ist, können Sie n-Grams als Vektormerkmale verwenden. In diesem Zusammenhang bezieht sich n auf die Anzahl der Wörter, die als eine semantische Einheit behandelt werden. Am häufigsten werden Bigrams (d. h. zwei Wörter) in n-Grams verwendet. Wort-Bigrams sind insofern nützlich, als sie zusammengesetzte Wörter wie New York oder Eiffel Tower erklären können. Natürlich sind nicht alle Wort-Bigrams informativ, zum Beispiel on the oder of the. Dennoch ist dies eine Möglichkeit, Probleme wie zusammengesetzte Wörter und Wortkorrelation zu berücksichtigen.7

Techniken zur Textnormalisierung. Um die Struktur und Funktion von Bag-of-Word-Modellen zu verbessern, müssen Rohtextdaten möglicherweise normalisiert werden. Beim Erstellen eines Bag-of-Words- oder Bag-of-n-Gram-Modells können Wörter wie Artikel (z. B. a, the usw.) und Präpositionen (z. B. from, of, on usw.) am häufigsten vorkommen. Diese Wörter liefern nicht viele Informationen über den Inhalt oder Typ eines Dokuments und sind daher für Klassifizierungsaufgaben weitgehend nutzlos. Textvorverarbeitungstechniken wie die Stoppwortentfernung (wird häufig beim Stemming verwendet) können beim Entfernen irrelevanter Wörter aus Textdatensätzen helfen, um die Struktur von Bag-of-Word-Modellen zu verbessern. Glücklicherweise verfügen viele Python-Bibliotheken und -Pakete wie NLTK oder sklearn über Funktionen zur Durchführung gängiger Vorverarbeitungstechniken.

Hashing. Beim Funktions-Hashing werden im Wesentlichen einzelne Wörter aus Eingabetextdaten in einen numerischen Satz fester Größe umgewandelt. Dieser feste Zahlenbereich wird dann verwendet, um den Vektorraum für das Bag-of-Words-Modell zu konstruieren. Die Begrenzung des Zahlenbereichs und damit der Modellabmessungen auf eine feste Größe trägt dazu bei, eine geringe Dichte und hohe Dimensionalität zu vermeiden. Ein wesentlicher Nachteil des Hashing sind die sogenannten Kollisionen. Eine Hashing-Kollision tritt auf, wenn zwei nicht zusammenhängende Token auf dieselbe ganze Zahl abgebildet werden. Ein weiterer Nachteil beim Hashing besteht darin, dass mehrdeutige Wörter nicht berücksichtigt werden.8

TF-IDF

Mit Standard-Bag-of-Words-Modellen können semantisch irrelevante Wörter (z. B. the, some usw.) die höchste Begriffshäufigkeit und damit das größte Gewicht in einem Modell haben. Die Term Frequency-Inverse Document Frequency (TF-IDF) zielt darauf ab, dies zu korrigieren. Während das Bag-of-Words-Modell nur die Anzahl der Vorkommen eines Wortes in einem Dokument zählt, berücksichtigt die TF-IDF die Prävalenz des Wortes in jedem Dokument in einem Textsatz. TF-IDF wird durch die folgende Gleichung dargestellt:

In dieser Gleichung ist der erste Term der Wert, der durch das Bag-of-Words-Modell berechnet wird, das ist die Termfrequenz. Der zweite Begriff steht für die umgekehrte Häufigkeit von Dokumenten. N entspricht der Gesamtzahl der Dokumente im Textsatz, und n entspricht der Anzahl der Dokumente, in denen ein bestimmtes Wort vorkommt. Je mehr Dokumente ein bestimmtes Wort vorkommt, desto größer ist der TF-IDF, der das Gewicht dieses Wortes reduziert. Auf diese Weise ist TF-IDF ein Beispiel für die Skalierung von Funktionen in Modellen des maschinellen Lernens.9

Ähnlich wie allgemeine Bag-of-Words-Modelle verfügen NLP-Pakete häufig über bereits vorhandene Funktionen zur Implementierung von TF-IDF, wie z. B. die Funktion tfidfvectorizer von scikit-learn.

Aktuelle Forschung

Variationen von Bag-of-Words-Modellen werden in einer Vielzahl von NLP-Aufgaben verwendet. Das Neural Network word2vec zum Beispiel verwendet eine kontinuierliche Menge an Wörtern, um Modelle für die Einbettung von Wörtern zu erstellen.10 Bei der Stimmungsanalyse und -klassifizierung können auch Bag-of-Words-Modelle verwendet werden.11

Sprachen

Die erste Forschung für eine große Anzahl von NLP-Techniken konzentriert sich auf Englisch oder andere lateinische Schriftsprachen wie Spanisch oder Französisch. In jüngerer Zeit haben sich Forscher auch anderen Sprachen zugewandt, wie z. B. Arabisch. Jüngste Studien haben die Wirksamkeit von Bag-of-Words-Modellen zusammen mit anderen NLP-Tools wie word2vec für die Stimmungsanalyse und Klassifizierung arabischer Texte mit vielversprechenden Ergebnissen untersucht.12 Andere zeigen das Potenzial naiver Bayes-Klassifikatoren, die auf Bag-of-Words-Modellen für die Wortbedeutungsdisambiguierung von Sanskrit-Texten basieren.13

Hassrede

Bag-of-Words-Ansätze wurden mit unterschiedlichem Erfolg in Algorithmen zur Erkennung von Hassreden auf Social-Media-Plattformen getestet. Eine Studie vergleicht Bag of Words mit word2vec und Deep-Learning-Klassifikatoren wie BERT und argumentiert, dass BERT Bag of Words übertrifft und dass TF-IDF die Vorhersagen von Bag-of-Words-Modellen nicht signifikant verbessert.14 Im Gegensatz dazu wird in einer späteren Studie ein Algorithmus vorgestellt, der Bag of Words und Naive Bayes zur Erkennung von Hassreden mit einer Genauigkeit von etwa 99 % verwendet.15 Unterschiede in der Datengröße und der Stichprobenziehung sowie in der Textvorverarbeitung können zu der Lücke in diesen Ergebnissen beitragen. In der Tat deuten andere Studien darauf hin, dass die vergleichende Leistung zwischen BERT und Klassifikatoren, die das Bag-of-Words-Modell verwenden, von der Größe der Kategorien abhängt.16

Computervision

In jüngerer Zeit haben Computer-Vision-Communitys ihre eigene Variation von Bag of Words für die Funktionsextraktion bei Bildklassifizierungs- und -abrufaufgaben eingeführt. Dieser Ansatz erkennt und extrahiert Bildfunktionen und gruppiert ähnliche Patches als „Codewörter“. Viele der Herausforderungen, mit denen Bag-of-Words-Ansätze für die Bildklassifizierung zu kämpfen haben, sind die gleichen wie bei anderen Computer-Vision-Aufgaben: zum Beispiel Objekte mit ähnlichen Farben oder Hintergründen, verdeckte und überlappende Objekte, Variation innerhalb der Klasse und so weiter.17

Weitere Lösungen
IBM® watsonx™ Orchestrate®

Mit IBM® watsonx Orchestrate können Sie ganz einfach skalierbare KI-Assistenten und Agenten entwickeln, sich wiederholende Aufgaben automatisieren und komplexe Prozesse vereinfachen.

Entdecken Sie watsonx Orchestrate
Tools und APIs zur Verarbeitung natürlicher Sprache

Steigern Sie den Geschäftswert der künstlichen Intelligenz mit einem leistungsstarken und flexiblen Portfolio aus Bibliotheken, Diensten und Anwendungen.

NLP-Lösungen erkunden
KI-Beratung und -Services

Erfinden Sie kritische Workflows und Abläufe neu, indem Sie KI einsetzen, um Erfahrungen, Entscheidungsfindung in Echtzeit und den geschäftlichen Nutzen zu maximieren.

KI-Services entdecken
Machen Sie den nächsten Schritt

Mit IBM® watsonx Orchestrate können Sie ganz einfach skalierbare KI-Assistenten und Agenten entwickeln, sich wiederholende Aufgaben automatisieren und komplexe Prozesse vereinfachen.

Entdecken Sie watsonx Orchestrate NLP-Lösungen erkunden
Fußnoten

1 Ruslan Mitkov (ed.), Oxford Handbook of Computational Linguistics, 2. Auflage, Oxford University Press, 2014.

2 Alice Zheng und Amanda Casari, Feature Engineering for Machine Learning, O’Reilly, 2018.

3 Daniel Jurafsky und James Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics und Speech Recognition, 3. Auflage, 2023, https://web.stanford.edu/~jurafsky/slp3. Christopher Manning und Hinrich Schütze, Foundations of Statistical Natural Language Processing, MIT Press, 2000.

4 Dongyang Yan, Keping Li, Shuang Gu, und Liu Yang, „Network-Based Bag-of-Words Model for Text Classification“, IEEE Access, Band 8, 2020, S. 82641–82652, https://ieeexplore.ieee.org/document/9079815.

5 Christopher Manning und Hinrich Schütze, Foundations of Statistical Natural Language Processing, MIT Press, 2000.

6 Dani Yogatama, „Sparse Models of Natural Language Text“, doctoral thesis, Carnegie Mellon University, 2015, https://lti.cmu.edu/people/alumni/alumni-thesis/yogatama-dani-thesis.pdf

7 Yoav Goldberg, Neural Network Methods for Natural Language Processing, Springer, 2022.

8 Alice Zheng und Amanda Casari, Feature Engineering for Machine Learning, O’Reilly, 2018.

9 Alice Zheng und Amanda Casari, Feature Engineering for Machine Learning, O’Reilly, 2018.

10 Tomas Mikolov, Kai Chen, Greg Corrado und Jeffrey Dean, „Efficient Estimation of Word Representations in Vector Space“, Workshop Track Proceedings of 1st International Conference on Learning Representations (ICLR), 2013, https://arxiv.org/abs/1301.3781.

11 Tan Thongtan und Tanasanee Phienthrakul, „Sentiment Classification Using Document Embeddings Trained with Cosine Similarity“, Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics: Student Research Workshop, 2019, S. 407–414, https://aclanthology.org/P19-2057/.

12 Huda Abdulrahman Almuzaini und Aqil M. Azmi, „Impact of Stemming and Word Embedding on Deep Learning-Based Arabic Text Categorization“, IEEE Access, Band 8, 2020, S. 127913–127928, https://ieeexplore.ieee.org/abstract/document/9139948. Mohammed Kasri, Marouane Birjali und Abderrahim Beni-Hssane, „A comparison of features extraction methods for Arabic sentiment analysis“, Proceedings of the 4th International Conference on Big Data and Internet of Things (BDIoT '19), 2019, https://dl.acm.org/doi/abs/10.1145/3372938.3372998.

13 Archana Sachindeo Maurya, Promila Bahadur und Srishti Garg, „Approach Toward Word Sense Disambiguation for the English-To-Sanskrit Language Using Naïve Bayesian Classification“, Proceedings of Third Doctoral Symposium on Computational Intelligence, 2023, S. 477–491, https://link.springer.com/chapter/10.1007/978-981-19-3148-2_40.

14 Joni Salminen, Maximilian Hopf, Shammur A. Chowdhury, Soon-gyo Jung, Hind Almerekhi und Bernard J. Jansen, „Developing an online hate classifier for multiple social media platforms“, Human-centric Computing and Information Sciences, Band 10, 2020, https://hcis-journal.springeropen.com/articles/10.1186/s13673-019-0205-6.

15 Yogesh Pandey, Monika Sharma, Mohammad Kashaf Siddiqui und Sudeept Singh Yadav, „Hate Speech Detection Model Using Bag of Words and Naïve Bayes“, Advances in Data and Information Sciences, 2020, S. 457–470, https://link.springer.com/chapter/10.1007/978-981-16-5689-7_40.

16 Paula Fortuna, Juan Soler-Company und Leo Wanner, „How well do hate speech, toxicity, abusive and offensive language classification models generalize across datasets?“, Information Processing and Management, Band 58, 2021, https://www.sciencedirect.com/science/article/pii/S0306457321000339.

17 Wisam A. Qader, Musa M. Ameen, and Bilal I. Ahmed, „An Overview of Bag of Words: Importance, Implementation, Applications, and Challenges“, Proceedings of the Fifth International Engineering Conference on Developments in Civil & Computer Engineering Applications (IEC2019), 2019, S. 200–204, https://ieeexplore.ieee.org/document/8950616.