Anmeldung Newsletter

Word2Vec – So holen Sie das Beste aus Ihren Daten

Posted by Maxim Drejdink und Theresa Bausch on 21.09.2020 10:24:08

Die Performance von Machine Learning Modellen hängt im Wesentlichen von den Daten ab, die den Modellen zur Verfügung gestellt werden. Im CRM und Marketing sind dies üblicherweise historische Transaktionsdaten und Kundenstammdaten. Dabei reicht es nicht aus, die Rohdaten in eine intelligente Methode zu kippen und eine präzise Prognose zu erwarten. Ein entscheidender Faktor der Qualität einer jeden Vorhersage ist eine gezielte Datenaufbereitung. Eine große Herausforderung beim Aufbereiten der Daten besteht darin, den vollen Informationsgehalt kategorialer Variablen dem Machine Learning Algorithmus zugänglich zu machen.

Kategoriale Variablen in Machine Learning Modellen

Kategoriale Variablen sind Merkmale, die eine begrenzte Anzahl von Ausprägungen (Kategorien) haben. Eine typische kategoriale Variable im Marketingkontext sind gekaufte Produktgruppen, die bspw. folgende Ausprägungen haben können: Wein, Bier, Champagner, Hosen, Schuhe, T-Shirts.

In diesem Blogpost erfahren Sie, welche Grenzen die klassische Datenaufbereitung von kategorialen Variablen hat und wie man mit neuen Methoden mehr aus den Daten herausholen kann.

Maschinen denken in Zahlen, Menschen in Wörtern und Sätzen

Jeder Mensch, der der deutschen Sprache mächtig ist, hat eine Idee, wovon die Rede ist, wenn es um Wein, Bier, Champagner, Hosen, Schuhe oder T-Shirts geht. Das menschliche und das maschinelle Verständnis von Kategorien weichen jedoch stark voneinander ab. Maschinen denken nämlich in Zahlen, nicht in Wörtern oder Sätzen. Damit diese Wörter statistischen Berechnungen zugänglich gemacht werden können, bedarf es einer geeigneten Vorverarbeitung dieser Daten. Eine dafür häufig genutzte Kodierung im Machine Learning ist die One-Hot-Kodierung, die Ausprägungen (Kategorien) binär darstellt (Binarität: Form der digitalen Darstellung, dessen Zeichenvorrat nur zwei Zeichen umfasst, meist als 0 und 1 dargestellt). Dabei wird lediglich zwischen „Ausprägung vorhanden“ (1) und „Ausprägung nicht vorhanden“ (0) unterschieden.

Kunden-ID

...

Wein

Bier

Champagner

Hosen

Schuhe

T-Shirts

5684

 

0

0

1

0

0

0

5403

 

0

1

0

0

0

0

5933

 

0

0

0

0

0

1

...

             

Abbildung 1: Datensatz mit aufbereiteten kategorialen Variablen durch One-Hot-Encoding

Nachteile klassischer Kodierungsansätze

Hoher Rechenaufwand vs. Nicht-Berücksichtigung von Kategorien

Je mehr Produktgruppen in ein Machine Learning Modell einfließen sollen, desto mehr Spalten werden im Datensatz erzeugt. Der Datensatz wird hochdimensional und verursacht bei zunehmender Anzahl an Produktkategorien einen immens hohen Rechenaufwand, weshalb in vielen CRM-Prognosemodellen oft nur einige wenige Produktkategorien in die Modelle mit einfließen. Zusätzlich zum gesteigerten Rechenaufwand kann die Modellqualität unter einer zu hohen Anzahl an Variablen leiden (Diese Phänomen bezeichnet man als "Curse of Dimensionality").

Nicht-Berücksichtigung der Beziehungen zwischen Kategorien

Desweiteren führt die binäre Unterscheidung dazu, dass Beziehungen zwischen den Kategorien keine Berücksichtigung finden, da lediglich zwischen dem Vorhandensein (”Bier“) und Nichtvorhandensein (”kein Bier“) differenziert wird.

Um den Informationsgehalt kategorialer Variablen vollumfänglich nutzen zu können, bedarf es daher einer Kodierungsmethodik, die handhabbare Rechenzeiten und eine geeignete Darstellung der Beziehungen zwischen den Kategorien vereint.

Word2Vec - Methode

Word2Vec ist eine Methodik aus dem Natural Language Processing, die einen Text durch „Vektorisierung“ in ein numerisches Format verwandelt. Die Methode verwendet ein dreischichtiges neuronales Netz, das die einzelnen Wörter eines Textes als Vektoren darstellt. Die Ausgabe des neuronalen Netzes von Word2Vec ist also ein Vokabular, in dem jedes Element durch Vektoren beschrieben wird.

Vektoren von Wörtern, die häufig in einem ähnlichen Kontext vorkommen, liegen dabei auch im Vektorraum nah beieinander. Folglich können Ähnlichkeiten und Beziehungen zwischen Wörtern mathematisch erkannt werden, indem relative Bedeutungen in messbare Entfernungen übersetzt werden. Diese Prinzip lässt sich auch auf Transaktionsdaten anwenden. Die Entfernung zwischen den Vektoren lässt sich in diesem Fall so interpretieren, dass Kategorien, die einen kleinen Abstand voneinander haben, häufig zusammen gekauft werden.

Produktgruppe

Vektor auf X-Achse

Vektor auf Y-Achse

Wein

-0,1983

-0,0947

Bier

-0,274

-0,1066

Champagner

-0,2577

-0,1832

Hosen

0,2719

-0,0914

Schuhe

0,3896

-0,0815

T-Shirts

0,1904

-0,4014

...

...

....

Abbildung 2: Werte der Vektoren der einzelnen Produktkategorien

Das Word2Vec-Modell stellt Bezüge zwischen Produktgruppen her. Vektoren von Wörtern, die häufig in einem ähnlichen Kontext vorkommen, liegen im Vektorraum nah beieinander. Word2Vec stellt die Produktkategorien also so dar, dass häufig zusammen gekaufte/angeklickte Produktkategorien einen geringen Abstand zueinander haben.

Distanz-Diagramm Word2VecDistanz-Diagramm Word2Vec (1)-1Abbildung 3: Vektoren der Produktkategorien im 2-dimensionalen Raum

Variablen aus Word2Vec fürs Predictive Modelling

Die einzelnen Kategorien stellen Punkte im n-dimensionalen Raum dar (hier n=2), die durch jeweils zwei Vektoren beschrieben werden. Beispiel: Wir möchten ein Modell erstellen, welches den Kauf der Kunden in der Kategorie “Bier” prognostiziert. Dazu wird eine Variable mit der Distanz jeder Kategorie zur Zielkategorie “Bier” gebildet (“distance_to_target”). Der Algorithmus hat somit die Möglichkeit zu prüfen, ob ein Kunde früher bereits ähnliche Produkte wie Bier gekauft hat. Hypothese: Je geringer der Distanzwert, desto höher ist die Wahrscheinlichkeit, dass ein in dieser Kategorie bereits getätigter Kauf dazu führt, dass zukünftig auch Bier gekauft wird.

Produktgruppe

Vektor auf X-Achse

Vektor auf Y-Achse

distance_to_target

Wein

-0,1983

-0,0947

0,0363

Bier

-0,274

-0,1066

0

Champagner

-0,2577

-0,1832

0,1722

Hosen

0,2719

-0,0914

0,2776

Schuhe

0,3896

-0,0815

0,3514

T-Shirts

0,1904

-0,4014

0,3694

...

...

...

 

Abbildung 4: Werte der Vektoren der einzelnen Produktkategorien inkl. “distance_to_target” zur Zielkategorie “Bier”

Vorteile von Word2Vec

Die Word2Vec-Kodierung hat somit drei entscheidende Vorteile ggü. klassischen Kodierungsansätzen:

✔️Eine Vielzahl an Informationen steht in maximal komprimierter Form zur Verfügung.

✔️Ähnlichkeiten und Beziehungen zwischen Kategorien können mathematisch erfasst werden.

✔️Kein Informationsverlust bei vertretbaren Rechenzeiten.

Fazit: Vielversprechende Ergebnisse

Word2Vec für Online Klickdaten:

Eine Klicksession im Onlineshop bildet die aktuelle Interessenlage eines Kunden ab und durch Word2Vec lässt sich dieses produktspezifische Interesse abbilden. Je spezieller und produktspezifischer ein Modell prognostizieren soll, desto relevanter werden die durch Word2Vec hinzugefügten Features. In der Testphase konnten wir beobachten, dass die Word2Vec Features die Standardvariablen bei Cross-Selling- und Next-Best-Offer-Modellen überlagern und zu einer signifikant besseren Differenzierung zwischen Käufern und Nichtkäufern führen. Im Durchschnitt konnte über alle Tests hinweg eine Verbesserung von 13% realisiert werden.

Word2Vec für Transaktionsdaten:

Die bisherigen Käufe eines Kunden sagen viel über ihn aus und bilden die Grundlage aller Prognosen. Ein Kunde, der regelmäßig Bier kauft, wird wahrscheinlich auch in der Zukunft Bier kaufen. Doch auch dieser Kunde hat irgendwann zum ersten Mal Bier gekauft. In solchen Cross-Selling-Anwendungen bietet die Word2Vec Datenaufbereitung einen erheblichen Mehrwert. Erste Tests zeigen eine deutliche Verbesserung von produktspezifischen Cross-Selling-Modellen. Außerdem verbessert die neuartige Datenkodierung die Bewertung von Neukunden, über die generell erst wenige Informationen gesammelt wurden. Im Durchschnitt erhöht die Word2Vec Datenaufbereitung der Transaktionsdaten die Prognosegüte um 6%.

Word2Vec - Zwei Hebel:

Die Verwendung von Word2Vec für kategoriale Variablen kann den Speicherverbrauch um ein Vielfaches reduzieren. Bei einer Anzahl von 100 Kategorien bedeutet die Reduktion auf zwei Vektoren, dass der Datensatz lediglich um zwei Variablen erweitert wird statt um 99. Gleichzeitig bleibt die Prognosegüte mindestens gleichwertig. Je nach Use Case konnten wir eine Verbesserung von bis zu 16% realisieren.

PS: Word2Vec in der Gpredictive-Software

Aus Word2Vec-Modellen generierte Variablen (wie z.B. das o.g. “distance_to_target”) können in der Gpredictive-Software genutzt werden, um die in der Software erstellten Prognosemodelle im Hinblick auf reduzierten Speicherverbrauch und erhöhte Prognosegüte zu verbessern.

‘Robustheit vor Finesse’ ist das Credo der Gpredictive-Software, denn sie muss in der Lage sein, aus dem Stand zuverlässig gute Prognosen für eine Vielzahl von Use Cases zu bieten. Nichtsdestotrotz sind unsere Data Scientist als Entdecker immer auf der Suche nach Verbesserungspotentialen, sodass die Prognosen der Gpredictive-Software häufig besser sind als viele weitaus komplexere und langzeiterprobte Modellarchitekturen.

Insofern durchläuft jede neue vermeintliche Verbesserung zunächst mehrere Testphasen, bevor sie als Standard in die AutoML-Software einfließt. Wir stellen uns dabei immer folgende Frage: Werden die Modelle wirklich besser?

Die Gpredictive-Software ist eine Software-as-a-Service Lösung und hegt den Anspruch, gleichzeitig möglichst universell einsetzbar, benutzerfreundlich und anbieterunabhängig zu sein. Der Nutzer der Software soll sich keine Gedanken um die Datenaufbereitung machen müssen, da die Software bereits alle möglichen Informationen aus den zugrundeliegenden Daten extrahiert, ohne dass dafür konzeptioneller und technischer Aufwand nötig ist Automatisierung ohne Präzisionsverlust.

Topics: Machine Learning, Statistik, Kodierung, Vektor, Prognose, One Hot Encoding, Word2Vec, Ähnlichkeiten, Datenaufbereitung, kategoriale Variablen

SOMETHING TO SAY?