Tokenisierung

Wie in der Einleitung bereits erwähnt, wollen wir in diesem Kurs Texte bezüglich ihrer Stimmung klassifizieren. Verwenden werden wir dazu ein neuronales Netz, sodass wir uns überlegen müssen, wie wir einen (beliebigen) Text als Eingangssignal eines neuronalen Netzes definieren können. Mit anderen Worten: Wir müssen uns überlegen, wie ein Text anhand eines Vektors bzw. Datenfeldes beschrieben (kodiert) werden kann.

Zunächst werden beliebige Texte in ihre einzelnen Wörter (bzw. sogenannte Token) zerlegt. Diesen Schritt nennt man Tokenisierung und wir demonstrieren dies anhand eines kleinen Beispiels. Gegeben seien die folgenden drei Kritiken eines Filmes:

Der Film war einfach unglaublich :( langweilig

Einfach unglaubliche Landschaftsaufnahmen 🌈 einfach toll 👍

Einfach nur zum Einschlafen der Film!

Nun wird eine Liste sämtlicher Wörter (Token) aufgestellt, die in den drei Kritiken verwendet werden. Dabei werden alle Sonderzeichen (samt Emoji) ignoriert und es wird durchgängig Kleinschreibung verwendet, um Dopplungen beispielsweise am Satzanfang zu vermeiden. Wir erhalten (sortiert nach der Vorkommenshäufigkeit):

einfach, der, film, war, unglaublich, langweilig, unglaubliche, landschaftsaufnahmen, toll, nur, zum, einschlafen

In unserem Falle ergibt sich eine Liste bestehend aus zwölf Wörtern, die auch als Bag-of-Words bezeichnet wird.

Kodierung als Vektor

Unter Verwendung des Bag-of-Words können die Kritiken nun folgendermaßen als Datenfeld bzw. Vektor mit zwölf Einträgen kodiert werden:

In der Kodierung wird die Häufigkeit beschrieben, mit der die zugehörigen Wörter in der Kritik vorkommen.

Beispielsweise ergibt sich zur Kritik

Einfach unglaubliche Landschaftsaufnahmen 🌈 einfach toll 👍

die folgende Kodierung (siehe dazu auch das vollständige Bag-of-Words zuvor):

[2, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0]

Dabei ist zu beachten, dass zur Erstellung des Bag-of-Words die gleichen Regeln angewandt werden wie bei der Kodierung der Aussagen als Datenfeld bzw. Vektor. Durch die Kleinschreibung ergibt sich beispielsweise eine Häufigkeit von zwei für das Wort einfach. Zudem darf die Reihenfolge der Wörter nicht verändert werden, da sich die Zahlenwerte in der Kodierung auf die entsprechenden Positionen im Bag-of-Words beziehen.

Quiz

Wie zuvor sei das folgende Bag-of-Words gegeben:

einfach, der, film, war, unglaublich, langweilig, unglaubliche, landschaftsaufnahmen, toll, nur, zum, einschlafen

Was ist die Kodierung der folgenden Kritik: Der Film war einfach unglaublich :( langweilig
[0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0]
[1, 2, 0, 1, 1, 0]
[1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 2, 0]
Was ist die Kodierung der folgenden Kritik: So ein langweiliger Mist
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
Regeln zur Tokenisierung