Beispiel Hotelbewertungen

Das kleine Beispiel aus dem Abschnitt zuvor lässt bereits erahnen, dass zur realistischen Sentimentanalyse durchaus große Datenmengen benötigt werden (wie bei eigentlich allen Anwendungen der Künstlichen Intelligenz). Daher diskutieren wir nun ein Beispiel mit einer durchaus ausreichend großen Datengrundlage:

Anhand der Kritiken zur Bewertung von Unterkünften soll entschieden werden, ob es sich um eine positive oder negative Bewertung handelt.

Um genauer zu sein: Wir nutzen Daten, die auf der Plattform TripAdvisor zur Bewertung von Hotels eingegeben wurden. Neben den Erfahrungsberichten wurden die Unterkünfte jeweils mit ein bis fünf Sternen bewertet (je mehr Sterne, desto besser die Bewertung).

Derartige Daten stellt uns das HotelReviews-Datenpaket zur Verfügung (mit Bewertungen in englischer Sprache). Dieses beinhaltet Trainingsdaten bestehend aus 5000 Datensätzen sowie weiteren 1000 Datensätzen zum Testen. Die genaue Referenz zum Datenpaket findest du hier:

Zur Referenz

Unter Verwendung der Trainingsdaten erhalten wir ein Bag-of-Words bestehend aus insgesamt 26244 Wörtern bzw. Token. Um davon einen Eindruck zu gewinnen, zeigt die folgende Tabelle die Wörter, die in den 5000 Bewertungen des Trainingsumfangs insgesamt am häufigsten genannt werden:

WortHäufigkeit
hotel12056
not9708
room9586
great4295
good4165
did4104
staff3858
stay3820

Bevor wir im nachfolgenden Abschnitt das zugehörige neuronale Netz zur Sentimentanalyse besprechen, wollen wir zunächst einige Erfahrungen mit den Daten des HotelReviews-Datenpakets sammeln.

Quellcode
Beispiel zur Ausgabe einzelner Datensätze des HotelReviews-Datenpakets. Für den Wert der Variablen k kann anstelle der 12 eine (ganze) Zahl zwischen 0 und 4999 gewählt werden.
Quellcode
Je nach Anwendungsfall kann es zu aufwendig sein, wenn alle Datensätze verwendet werden. Dank der Option count besteht daher die Möglichkeit, nur einen Teil der Trainings- bzw. Testdaten zu berücksichtigen.
Aufgabe

In der Anwendung zuvor werden nur 500 der insgesamt 5000 Datensätze des Trainingsumfangs zur Berechnung des Bag-of-Words verwendet. Analysiere die Anzahl der Wörter bzw. Token des Bag-of-Words in Abhängigkeit der Anzahl der Datensätze anhand der folgenden Darstellung.

5001000150020002500300035004000450050008.010.012.014.016.018.020.022.024.026.0Bag-of-Words (Token in Tsd.)Umfang der Trainingsmenge (Anzahl der Datensätze)

Beobachte zudem auch die häufigsten Wörter bzw. Token in Abhängigkeit des Trainingsumfangs.

Quiz
Hast du dich mit dem Quellcode und der Aufgabe zuvor beschäftigt?
ja
nein
Ergebnisse