• Services
    • Data Analytics & AI
      • Entwickeln von maßgeschneiderten Analyse- und KI-Lösungen
    • Infrastructure & Engineering
      • Aufbau von modernen Dateninfrastrukturen und -plattformen
    • Reporting
      • Umsetzen individueller Datenvisualisierungen
    • Strategy & Enablement
      • Workshop- und Consulting-Leistungen für Unternehmen
  • Referenzen
  • Wissen
    • Blog
    • Webinare
    • Whitepaper
  • Über uns
  • Karriere
  • Kontakt
  • Click to open the search input field Click to open the search input field Suche
  • Menü Menü
  • Services
    • Data Analytics & AI
    • Infrastructure & Engineering
    • Reporting
    • Strategy & Enablement
  • Referenzen
  • Wissen
    • Blog
    • Webinare
    • Whitepaper
  • Karriere
  • Über uns
  • Kontakt

Zurück zur Übersicht

Bag-of-words
02.09.2022  | Maschinelles Lernen

Mit einer „Bag-of-Words“ in die Welt der Textanalysen einsteigen

Sollen Textdaten in Machine Learning-Modellen verwendet werden, ergibt sich ein Problem: Die Methoden des Machine Learnings verstehen Worte nicht, sondern benötigen Zahlen, um damit zu rechnen. Nun können Textdaten, zum Beispiel Google-Bewertungen, ganz unterschiedlich sein: einige sind lang und komplex, andere sind kurz und einfach geschrieben. Wie können diese unterschiedlichen Textdaten dann so in Zahlen umgewandelt werden, dass wir als Data Scientists damit arbeiten können?

Eine Lösung kann das sogenannte Bag-of-Words-Modell sein. Dieser Ansatz ist einfach und leicht verständlich und wird in vielen Bereichen erfolgreich eingesetzt. Grundsätzlich funktioniert das Bag-of-Words-Modell so, dass Texte in Form von Häufigkeiten einzelner Wörter repräsentiert werden. Durch Zählen der Wortvorkommen können so ganze Sätze in Vektoren umgewandelt werden. Der Aufbau der Sätze oder die Ordnung der Wörter spielt dabei keine Rolle. Es wird lediglich betrachtet, ob ein Wort vorkommt, aber nicht wo es im Dokument steht – ganz im Sinne einer „Tasche voller Worte“ (Bag-of-Words).

Um das Ganze zu veranschaulichen, haben wir uns drei Kununu-Bewertungen aus unserem SKOPOS-Universum herausgesucht. Sie können sich also auf Beispiele aus der realen Welt freuen.

Einfaches Beispiel oder die ideale Welt der Textanalysen?

In der idealen Welt der Textanalysen wäre jedes Beispiel so einfach, wie das folgende: drei einfache Sätze mit sehr ähnlichen Wörtern, die etwas ähnliches aussagen. Die folgende Tabelle zeigt in den Zeilen drei Sätze und in den Spalten alle Wörter, die in diesen drei Texten vorkommen. Jedes Wort wird, wie oben bereits erklärt, durch einen Vektor von Zahlen repräsentiert. Dabei entspricht jeder Eintrag in dem Vektor einem Wort. Die Zahl an einer Stelle im Vektor gibt an, wie häufig das Wort in dem Text vorkommt. Die Häufigkeit des Auftretens jedes Worts wird dann als Merkmal für das Training eines Algorithmus‘ verwendet.

Einfaches-Beispiel-scaled

Ein einfaches Beispiel – für mehr Details einfach draufklicken!

Möchten Sie also zum Beispiel wissen, welche Texte über Kund:innen sprechen, dann schauen Sie sich die Vektor-Einträge an, die zum Wort „Kunden“ gehören. Ist der Eintrag > 0 wird über das Thema „Kunde“ gesprochen. Bestimmt schweben Ihnen jetzt schon einige Anwendungsbeispiele im Kopf herum, dazu aber später mehr.

Ähnlichkeiten berechnen

Auch mit diesem einfachen Ansatz, lassen sich bereits spannende Fragen untersuchen: Möchte man zum Beispiel schauen, wie ähnlich sich zwei Sätze sind, kann das durch die Berechnung der Ähnlichkeiten zwischen den Vektoren umgesetzt werden. Ein klassisches Maß für die Ähnlichkeit, ist die sogenannte „Cosine Similarity“ (Cosinus-Ähnlichkeit). Sie beschreibt den Winkel (Bogenmaß) zwischen den zwei Vektoren. Im Grunde heißt es: je besser die 1en der Vektoren sich überschneiden, desto ähnlicher sind sie sich.

Aehnlichkeiten1-scaled

Ähnlichkeiten zwischen den Sätzen – für mehr Details einfach draufklicken!

Satz 1 und Satz 2 haben eine große Ähnlichkeit, da sie beide die flache Hierarchie beschreiben und viele gleiche Keywords enthalten. Satz 1 und Satz 3 haben keine Überschneidungen, und haben somit eine Ähnlichkeit von 0. Satz 2 und Satz 3 überschneiden sich nur teilweise.

Preprocessing oder die reale Welt

Wie bereits angedeutet, war das obige Beispiel sehr idealisiert, da nur gleiche Wortformen verwendet wurden. Die reale Welt sieht meist etwas anders und zwar sehr viel komplexer aus. Das folgende Beispiel ist zwar immer noch sehr einfach, doch es zeigt, wie nur kleine Änderungen in der Formulierung die Sache sehr viel komplexer machen: Wir ändern lediglich beim zweiten Satz „Hierarchie flach“ zu „Flache Hierarchien“ und verlängern den dritten Satz ein wenig.

Preprocessing-scaled

Das Preprocessing – für mehr Details einfach draufklicken!

Die Einbeziehung von mehreren Wortformen (zum Beispiel „Hierarchie“ und „Hierarchien“) hat dabei auch Einfluss auf die Ähnlichkeiten. Sie werden nämlich deutlich kleiner, da viele Wörter in unterschiedlichen Formen vorkommen und somit separate Einträge in den Vektoren sind.

Aehnlichkeiten2-scaled

Ähnlichkeiten zwischen den Sätzen – für mehr Details einfach draufklicken!

Obwohl wir nur die Formulierung geändert haben, haben die ersten beiden Sätze jetzt eine Ähnlichkeit von null. Wie Sie aber aus dem einfachen Beispiel wissen, bildet das nicht die Realität ab. Denn die Bedeutung der Sätze hat sich nicht grundlegend geändert. Das Problem ist, dass hier die Wörter in unterschiedlichen Formen vorkommen und somit keine gemeinsamen Wörter mehr haben. Um solche Probleme zu vermeiden, verwenden wir das sogenannte Preprocessing der Texte. Ziel ist es hierbei, die Texte in ein einheitlicheres Format zu bekommen und ähnliche Wörter zusammenzulegen. Dazu gehören einige Schritte, die wir Ihnen im Folgenden erklären wollen.

Das Preprocessing verändert nichts an der eigentlichen Methode, macht uns die Arbeit mit den Texten deutlich einfacher. In vielen praktischen Anwendungen macht das Preprocessing am Ende mehr aus als die Wahl des Algorithmus.

Groß- und Kleinschreibung anpassen

In der Regel enthält die Groß- und Kleinschreibung keine besonders wichtigen Informationen und ist auch relativ selbsterklärend – es werden einfach alle Wörter kleingeschrieben. Durch Satzanfänge und Substantivierung werden nämlich Wörter, die eigentlich gleich sind, unterschiedlich gemacht – in diesem Beispiel „Die“ und „die“.

Gross-und-Kleinschreibung-scaled

Groß- und Kleinschreibung – für mehr Details einfach draufklicken!

Stopwords entfernen

Fast jede Sprache hat Wörter, die sehr häufig vorkommen und den Redefluss verbessern, aber zum Inhalt des Textes nichts beitragen, zum Beispiel “der, die, das, und, bei, usw.“. Diese Wörter führen dazu, dass Sätze als ähnlich angesehen werden, die eigentlich nichts miteinander zu tun haben – zum Beispiel Satz 1 und 3, die beide das Wort „die“ beinhalten. Deshalb werden in diesem Schritt alle Stopwords entfernt. Dazu gibt es für alle gängigen Sprachen Wortlisten, die diese enthalten – ein allgemeines Regelwerk quasi. Alternativ oder zusätzlich kann man auch alle Wörter entfernen, die in beispielsweise mehr als 70 % aller Texte vorkommen.

Fuellwoerter-scaled

Stopwords – für mehr Details einfach draufklicken!

Stemming

Der letzte Schritt beinhaltet das sogenannte Stemming und ist der wohl wichtigste Schritt des Preprocessings. Beim Stemming werden Wörter auf ihren Wortstamm heruntergekürzt, sodass zum Beispiel „hierarchie“ und „hierarchien“ zu dem gleichen Keyword „hierarchie“ werden. Dadurch sind sich die Vektoren von Satz 1 und 2 nun wieder sehr ähnlich. In unserem Beispiel sieht das dann so aus:

Stemming-scaled

Stemming und Ähnlichkeiten nach dem Preprocessing – für mehr Details einfach draufklicken!

Aehnlichkeiten3-scaled

Das sind die gängigsten Preprocessing-Schritte, die so gut wie immer eingesetzt werden, wenn wir mit Textdaten arbeiten. Es gibt je nach Kontext vielleicht aber auch noch weitere Schritte. Zum Beispiel lassen sich Texte mit vielen Rechtschreibfehlern korrigieren und Zahlen und Web-Adressen entfernen.

Anwendung in der Praxis

In der Regel werden die Vektoren nicht nur für Ähnlichkeiten verwendet, sondern für Machine-Learning-Modelle. Beispielsweise können Vektoren dafür verwendet werden, mit Klassifizierungsalgorithmen die Sätze in Kategorien einzuordnen, um sich zukünftige manuelle Zuordnungen zu sparen. In unserem Beispiel würden sich die Kategorien „Hierarchie“ und „Kunden“ eignen. Sie werden vorher festgelegt und die Sätze dann zunächst händisch codiert, sodass jeder Satz den Kategorien zugeordnet wird, in denen die Themen vorkommen. Mit diesen und vielen weiteren Satz-Code-Paaren wird dann ein Machine-Learning-Modell trainiert. Dieses Modell lernt dann nicht nur, welche Keywords zu den entsprechenden Kategorien passen, sondern auch, welche Zusammenhänge zwischen den Keywords bestehen – und das ganz automatisch.

Probleme und Ausblick auf andere Methoden

Das größte Problem von Bag-of-Words ist, dass die Vektoren sehr groß werden können. Aus drei Sätzen haben wir bereits einen neun-dimensionalen Vektor generiert. Wenn wir 10.000 (oder 1 Million) Sätze verwenden, wird das Ganze unüberschaubar, weil zu viele unterschiedliche Wörter enthalten sind, die aber oft das gleiche meinen. In der Praxis werden dann nur die häufigsten Keywords verwendet. Dadurch gehen aber Informationen über nicht so häufig genannte Keywords verloren. Es ist deshalb ein ständiger Trade-off zwischen Größe der Vektoren und Genauigkeit des Modells. Dazu kommt, dass sehr große Vektoren es dem Modell schwer machen, zu lernen und viele Trainingsdaten gebraucht werden.

Deswegen sind Bag-of-Words-Modelle häufig nur ein erster Ansatz und es gibt weitere Methoden, um aus Textdaten Zahlen zu machen. Ein spannender und seit einigen Jahren häufig verwendeter Ansatz sind so genannte „Word Embeddings“. Auch hier werden Texte und Wörter in Vektoren umgewandelt – allerdings auf eine Art und Weise, die es ermöglicht, Synonyme zu berücksichtigen und gleichzeitig weniger Zahlen für die gleiche Aussagekraft zu verwenden. In einem künftigen Beitrag gehen wir darauf nochmal genauer ein.

Ihre Fragen,
unsere Antworten!

Kontaktieren Sie uns
für eine individuelle
Beratung

Los geht's

Neuster Beitrag

Agentic AI in der Marktforschung
Künstliche Intelligenz, Maschinelles Lernen / 1. April 2025
Agentic AI in der Marktforschung: Die Zukunft der Entscheidungsfindung

Kategorien

  • Allgemein
  • Data Analytics
  • Data Engineering
  • Data Strategy
  • Data Thinking
  • Datenvisualisierungen
  • Ganzheitliche Lösungen
  • Künstliche Intelligenz
  • Maschinelles Lernen
Michael Ellers
Ihr Ansprechpartner:

Michael Ellers
Junior Data Scientist

Schreiben Sie uns

Data-Science-News direkt in Ihr Postfach

Sobald wir einen Beitrag in unserem Blog veröffentlichen, schicken wir Ihnen gerne eine E-Mail. Und keine Sorge – wir mögen auch keinen Spam!

„*“ zeigt erforderliche Felder an

Name*
weiter
Newsletter und Datenschutz*

Weitere interessante Beiträge aus der Kategorie: Maschinelles Lernen

Agentic AI in der Marktforschung
1. April 2025 / Künstliche Intelligenz, Maschinelles Lernen
Agentic AI in der Marktforschung: Die Zukunft der Entscheidungsfindung
Das kleine (oder große?) Glossar der KI-Chatbots
10. Februar 2025 / Künstliche Intelligenz, Maschinelles Lernen
Das kleine (oder große?) Glossar der KI-Chatbots
ChatGPT-und-Co-in-der-Marktforschung_beitrag
8. August 2023 / Data Engineering, Künstliche Intelligenz, Maschinelles Lernen
Sprachmodelle in der betrieblichen Marktforschung: Wie von ChatGPT & Co. profitieren?

Auf der Datenwelle

Hier finden Sie unsere Events und Webinare für Data-Science-Enthusiasten.

Link zu: Webinare

 width=

Link zu: Webinare

AM 26. März 2025, 14:00 Uhr

Webinar: Chatbot mit Fakten

Wie innovative Markenforschung erlebbar gemacht wird. Jetzt anmelden!

Folge einem manuell hinzugefügten Link

Folge einem manuell hinzugefügten Link

VERGANGENE WEBINARE

Vom Datensammeln zum Consulting

Ein Webinar darüber, wie Hassia mit Dashboards abteilungsübergreifend den Umgang mit Daten verändert

skopos-elements-logo-ohne

Data Science beschleunigt die Welt.
Wir synchronisieren Ihr Unternehmen.

Join the wonderful world

SKOPOS GROUP
SKOPOS market research
SKOPOS NOVA ux research & usability
SKOPOS CONNECT communities & cx
SKOPOS NEXT mystery research
SKOPOS VIEW hr survey & follow up
SKOPOS ELEMENTS data science & analytics

ELEMENTS

Über uns
Bisherige Projekte
Karriere

youTube
LinkedIn

Kontakt

+49 2233 99 88 550
Schreiben Sie uns

Newsletter abonnieren

„*“ zeigt erforderliche Felder an

Name*
weiter
Newsletter und Datenschutz*

© 2025 – SKOPOS ELEMENTS | Alle Rechte vorbehalten

Impressum | Datenschutz | Compliance | Cookies

Link to: Marktdaten-Dashboards für Carlsberg Deutschland Link to: Marktdaten-Dashboards für Carlsberg Deutschland Marktdaten-Dashboards für Carlsberg DeutschlandCarlsberg-Refrenz Link to: Drei Data Scientists und eine Menge Fragen über ihren Job (Teil 1) Link to: Drei Data Scientists und eine Menge Fragen über ihren Job (Teil 1) 3 Data Scientist ueber ihren Job Teil 1Drei Data Scientists und eine Menge Fragen über ihren Job (Teil 1)
Nach oben scrollen
  • Termin vereinbaren
  • E-Mail schreiben
  • Anfrage stellen
  • Jetzt anrufen
Kontaktformular

„*“ zeigt erforderliche Felder an

Dieses Feld wird bei der Anzeige des Formulars ausgeblendet
Name*
Datenschutz*
Dieses Feld wird bei der Anzeige des Formulars ausgeblendet
Dieses Feld wird bei der Anzeige des Formulars ausgeblendet