How-To Analyze Everyone – Teil II: Wie findest du eigentlich Zombiefilme?

Lange hat es gedauert, endlich bin ich zum zweiten Teil gekommen. Aber ich gelobe Besserung und nächste Woche einen Ausflug in die Welt der Zukunftsvoraussagen.

Wie schaffen es Firmen und Werbeunternehmen eigentlich, einen Überblick darüber zu haben, wie ihr Produkt oder ihre Werbekampagne in der Welt ankommt? Klassischerweise indem Menschen damit beschäftigt sind, vor den Bildschirmen zu sitzen und Kommentare und Reviews zu lesen. Diese Daten werden dann dazu genutzt, Produkte anzupassen und besser zu bewerben. Klingt nach viel Arbeit – ist es auch. Und in der heutigen Zeit, in der man von Informationen, Reviews, Tweets, Kommentaren, Blogs und Facebook-Posts zu allen möglichen Produkten erschlagen wird, gelangt man an die Grenzen personeller (und damit finanzieller) Effizienz.

Da kann man doch was automatisch machen? Klar. Aber einfach ist das nicht, denn eines hat der Mensch dem Computer voraus: Es fällt ihm meistens leicht, Äußerungen eines anderen Menschen einzuordnen. Wenden wir uns dem Filmgenre zu und betrachten die folgende Epinions-Bewertung zu einem (im Original) von mir sehr geschätzten Zombiefilm:

Day of the Dead has the reputation of being the weakest entry of Romero’s original trilogy and while I’d argue it’s still a good movie it definitely hasn’t stood the test of time. The cheesy soundtrack and acting aids in the mediocrity of the script. Though it’s a lot of fun, don’t expect a ton–especially if you’re hoping for a Dawn of the Dead caliber movie. This pales in comparison, but yet it’s still enjoyable.

Klare Sache, es handelt sich um einen Zombiefilm und der Autor der Rezension scheint positiv-neutral eingestellt. Aber wie bringen wir das dem Computer bei? Wir gehen hier mal davon aus, dass wir nur eine Sache herausfinden wollen: Ist die Bewertung eher gut oder schlecht?

Nach Bing Liu müssen wir fünf Werte ermitteln, um eine Meinung zu analysieren:

  • Thema – worum geht es eigentlich?
  • Teilaspekte – z.B. im Film: Musik, Schauspieler, Regie
  • Meinungsindikatoren wie ‚gut‘, ‚toll‘ oder ‚mies‘
  • Inhaber der Meinung
  • Zeitpunkt der Meinungsäußerung

Schauen wir uns eine annotierte Fassung des obigen Ausschnitts an:

review1

Wie macht man das jetzt automatisch? Dafür gibt es unzählige Ansätze, deshalb wird hier nur eine Grundstruktur beschrieben werden. Wer mehr wissen will, findet im oben verlinkten Kapitel von Bing Liu viele Literaturverweise.

Erstmal: Wörter raussuchen

Stimmungen werden auf verschiedenen Ebenen ausgedrückt. Die kleinste davon ist das einzelne Wort. Manche Wortarten haben dabei mehr Aussagekraft bei der Bestimmung von Stimmungen und Meinungen als andere, das ist einleuchtend. „Der“, „wenn“ oder „mein“ verraten uns zunächst einmal nichts, können also (erstmal) außen vor gelassen werden. Am aussagekräftigsten sind intuitiverweise Adjektive und Adverben. Um die Satzbestandteile zu klassifizieren braucht man einen Mechanismus, der Wortarten erkennt, einen Part-of-Speech Tagger.

review2

Grundstimmung ermitteln

Weiß man, welche Wörter und Wortarten man vor sich hat, geht es darum herauszufinden, was die einzelnen Wörter ausdrücken, das heißt: Ob „terrible“ eine positive oder negative Einstellung ausdrückt. Die Holzhammermethode ist es, Personen mit der Klassifizierung zu betrauen und die Ergebnisse in einer Datenbank zu sammeln. (Nicht nur) so generierte Datenbanken können dann gesammelt und weiterbenutzt werden. Es gibt aber auch andere Ansätze. Einer davon zum Beispiel ist der Pointwise Mutual Information and Information Retrieval-Algorithmus (PMI-IR), der die Ähnlichkeit zweier Wörter ermittelt. In diesem Fall heißt das: Man hat ein Wort, dessen Stimmung man noch nicht kennt und startet eine Suchanfrage, wie oft es in der Nähe eines bekannten Worts, wie ‚excellent‘ oder ‚poor‘ auftaucht.

Nimmt man als Beispiel ‚terrible‘, bekommt man Folgendes:

  • terrible AROUND(excellent): 91.800.000 Treffer
  • terrible AROUND (poor): 137.000.000 Treffer

Zieht man dann nicht nur ein Referenzwort heran sondern mehrere, bekommt man in vielen Fällen eine brauchbare Einschätzung der Wortpolarität. Ein weiterer Ansatz ist der von SentiWordNet; hier wird – extrem grob zusammengefasst – eine kleine Ausgangsmenge eindeutig positiver und negativer Wörter genommen und mittels der lexikalischen Datenbank WordNet werden verwandte Wörter ermittelt. Je nach deren semantischem Abstand zueinander wird ihre Bedeutung geschätzt, wie bei ‚poor‚, für das man spontan 11 sinnverwandte Adjektive geliefert bekommt. Das ganze lässt sich im Browser ausprobieren und liefert eine graphische Darstellung in einem Dreieck mit den Spitzen ‚positiv‘, ’negativ‘ und ’neutral‘.

sentiwordnet

Dann müsste man ja eigentlich nur noch positive und negative Wörter zählen, oder?

‚terribly good‘, ’not poor at all‘ oder: das Problem der Zusammensetzung

Hat man die Bedeutung eines Wortes erfasst, steht man vor dem nächsten Problem. Wörter stehen nicht allein, sondern in Kombination. Sie tauchen in Satzstrukturen auf und können je nach Konstruktion negiert oder verstärkt werden. Aber hier helfen uns mehrere Dinge weiter. Zum einen der oben bereits erwähnte Part-of-Speech Tagger. Mit dessen Hilfe lassen sich nämlich schonmal Regeln formulieren wie:

’not‘ + positives Wort = negative Bedeutung

Damit sind aber noch keine zusammengesetzten Begriffe abgedeckt, wie zum Beispiel die ‚lot of fun‘ aus der Bewertung von oben. Für solche Vorkommnisse muss man dann, nicht wie oben, einzelne Worte nach ihrer Bedeutung untersuchen, sondern Zweier-, Dreier-, …-Paare, sogenannte N-gramme.

Ein weiteres Problem sind für sich stehende Begriffe, die fälschlich als Meinung gedeutet werden können:

review3

„dead und „enjoyable“ sind hier Meinungsträger, was aber eigentlich Quatsch ist, da der Filmtitel nicht die Meinung des Zuschauers enthält. Um Filmnamen, Regisseur, etc. herauszufiltern, kann man aber auf Datenbanken wie imdb.com zurückgreifen, die solche Informationen enthalten, und sie so aus der Analyse ausklammern:

review4Klassifikation des ganzen Texts

Eine Möglichkeit, die Meinung des ganzen Texts herauszufinden, ist folgende: Wenn wir Satzteile, Wortbedeutungen, Satzkonstruktionen, usw. kennen können wir daraus einen Vektor erstellen, in den wir die Eigenschaften als Werte notieren. Wir müssen dann dem Klassifikationssystem zunächst ein paar Beispiele beibringen, welche Eigenschaften die Vektoren positiver und negativer Bewertungen haben. Aber dafür ist das Internet eine dankbare Quelle, denn mit Sternchen/Punkten/Tomaten bewertete Filme oder Produkte findet man in Massen.

review6

Lernmethode gibt es viele, eine populäre sind „Support Vector Machines“, die versuchen durch die Vektoren beschriebene Punkte mit einer Trennlinie in zwei Klassen einzuteilen, sodass zwischen den Klassen ein möglichst breiter Trennstreifen liegt. In einem Beispiel mit Vektoren, die nur zwei Eigenschaften beinhalten – zum Beispiel: Anzahl der positiven (x1) und negativen (x2) Wörter-, könnte das so aussehen wie links. Liegt der neue Punkt auf der weißen Seite, wäre die zugehörige Bewertung positiv, liegt er auf der schwarzen, negativ.

Und was bedeutet das für mich?

Firmen haben großes Interesse daran, Stimmungsdaten aus sozialen Netzwerken, Foren und Bewertungsplattformen zu sammeln. Zum einen, um den Markt als Gesamtes im Auge zu haben, zum anderen, um die Vorlieben und Meinungen des Einzelnen einschätzen zu können. Das ist bei gezielter Werbung von Vorteil und zeichnet ein genaues Bild des Konsumverhaltens, wenn eine Person ihre Meinungen beispielsweise auf Facebook oder Twitter mit ihren Freunden teilt.

Aber Marketing ist nicht der einzige Anwendungsfall. Denn durch Meinungsäußerungen lässt sich auch die Radikalität von Personen schätzen, ihre politische und religiöse Einstellung, was für die Verteidiger von Staat und Gesetz von Relevanz ist. Dazu empfehlenswert ist auch der Vortrag „Überwachen und Sprache“ vom 30C3.

Daher ist es nicht verwunderlich, dass sich ein reges Geschäft um Analysesoftware gebildet hat. Es gibt eine Menge Anbieter auf dem Markt. Und wer selbst ein bisschen spielen will, ohne gleich eine ganze Menge Geld auszugeben: Es gibt APIs für Twitter und von Google.

In dieser Reihe erschienen:

4 Ergänzungen

  1. Das verhält sich dann wohl offensichtlich wie bei der Aktienspekulation, keiner weiß es genau und hinterher ist man immer schlauer…;-)

Dieser Artikel ist älter als ein Jahr, daher sind die Ergänzungen geschlossen.