Ausarbeitung Twitter as a Corpus for Sentiment Analysis and Opinion Mining - Wissenschaftliches Arbeiten (2014)
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Ausarbeitung Twitter as a Corpus for Sentiment Analysis and Opinion Mining Wissenschaftliches Arbeiten (2014) Aufgabe 3 Kai Kühne 798797 Beuth Hochschule für Technik Berlin Fachbereich VI – Informatik und Medien Berlin, 21. Mai 2014
Zusammenfassung. Das vorliegende Dokument beschreibt zunächst die fachlichen Grundlagen, die für das weitere Verständis der zugrun- deliegenden Arbeit nötig sind, dort aber entweder kaum oder gar keine Erwähnung fanden. Nach der Erläuterung der Grundlagen folgt eine in- haltliche Zusammenfassung des Textes inklusive Fazit der ursprünglichen Autoren. Das Dokument endet mit einer eigenen Bewertung sowie einem Vergleich mit alternativen Arbeiten.
1 Fachlicher Hintergrund Die Sentimentanalyse vereint Konzepte aus den Bereichen der Computerlinguis- tik und des Maschinellen Lernens, um aus Texten ein Stimmungsbild zu extra- hieren. In diesem Abschnitt werden die theoretischen Grundlagen der zugrund- liegenden Arbeit beschrieben. 1.1 Erstellung eines Klassifikators Das in der Arbeit angewandte Verfahren zur Erstellung eines Klassifikators wird als Überwachtes Lernen bezeichnet. Abbildung 1 veranschaulicht den Vorgang des Überwachten Lernens, der aus zwei Phasen besteht. In Phase 1 wird zunächst durch Training ein Wahrscheinlichkeitsmodell erzeugt. Um ein Wahrscheinlich- keitsmodell trainieren zu können, ist ein im Vorfeld markierter Korpus erforder- lich. Ein Korpus ist eine Sammlung von Texten. Bei der Sentimentanalyse üblich sind drei verschiedene Korpora: 1. Ein Korpus, der inhaltlich positive Texte enthält, 2. Ein Korpus, der inhaltlich negative Texte enhtält, 3. Ein Korpus, der inhaltich objektive Texte enthält. Die Daten in den verschiedenen Korpora werden anschießend aufbereitet und durch verschiedene Verfahren in sogenannte Eigenschaften umgewandelt. Die Ei- genschaften werden im nächsten Schritt durch ein Klassifikationsalgorithmus in ein Wahrscheinlichkeitsmodell überführt. In Phase 2 wird das fertige Wahrscheinlichkeitsmodell dazu verwendet die Klasse eines bishes unbekannten Textes zu bestimmen. Da es sich um ein Wahr- scheinlichkeitsmodell handelt, ist es durchaus möglich, dass das Ergebnis nicht korrekt ist. Je höher die Klassifikationsgenauigkeit des Modells, desto wahr- scheinlicher ist es, dass das Ergebnis korrekt ist. Automatische Erstellung der Korpora Große Korpora mit vielen Texten funktionieren besser als jene mit wenigen Texten (vgl. [Manning1999], S. 587). Ein Problem bei der Erstellung eines Klassifikationssystems ist die Erstellung der markierten Korpora, da die Texte im Korpus manuell analysiert und einer Klasse (positiv, negativ, neutral) zugeordnet werden müssen. Da dieser Vorgang manuell durchgeführt werden muss und deshalb sehr aufwändig ist, ist es sehr sinnvoll die Erstellung des Korpus zu automatisieren. Dabei greift man während der Zusammenstellung der Korpora auf Metadaten und andere Informationen zurück, durch diese die entsprechende Klasse abgeleitet werden kann. Die Au- toren beschreiben in ihrer Arbeit eine Methode zur automatischen Erstellung der Korpora durch eine Websuche nach bestimmten Schlüsselworten, wodurch sich die Ergebnisse eindeutig einer bestimmten Klasse zuordnen lassen. Siehe Abschnitt 2.2.
TRAINING Klassifikations- Klassifizierter Datenaufbereitung Eigenschaften algorithmus Korpus und Auswahl der Eigenschaften PROGNOSE Text Wahrscheinlichkeits- Wahrscheinliche modell Klasse Abb. 1. Der Prozess des Überwachten Lernens. Datenaufbereitung Die Aufbereitung der Daten im Korpus hat meist eine Normalisierung der Daten zum Ziel. Dabei werden Informationen entfernt, die für die Klassifikation unbrauchbar sind oder die Klassifikationsgenauigkeit ver- ringern. Auswahl von Eigenschaften Während der Erstellung eines Klassifikations- modells werden für jeden Text im Korpus jene Eigenschaften ausgewählt, die dem Klassifikationsalgorithmus als Eingabe dienen. Die Auswahl der Eigenschaften ist essentiell, soll ein gutes Klassifikationsmodell erzeugt werden. Eine Eigen- schaft (oder engl. Feature) ist ein Merkmal bzw. ein Bestandteil eines Textes - dies kann ein Wort aus einem Satz oder die Anzahl der Satzzeichen in einem Text sein. Meist werden für einen Text mehrere Eigenschaften erzeugt. N-Gramme N-Gramme werden oft als Eigenschaften verwendet und sind das Ergebnis einer Zerlegung eines Textes in seine Einzelteile. N-Gramme werden durch ihre Ordnung/Typ unterschieden. N-Gramme erster Ordnung werden als Unigramme bezeichnet und sind sind einfache ganze Wörter. Bigramme sind zwei zusammenhänge Wörter wie „schönes Wetter“, Trigramme bestehen aus drei Wörtern, z. B. „das ist schön“. Klassifikationsalgorithmen Ein Klassifikationsalgorithmus berechnet auf Ba- sis der zugrunde gelegten Eigenschaften ein Klassifikationsmodell. Ein bekannter und oft in diesem Umfeld verwendeter Algorithmus ist der Bayes-Algorithmus, der z.B. oft in Spamfiltern Verwendung findet. Der Algorithmus wird oft für die Sentimentanalyse verwendet, da er relativ trivial ist und eine vergleichba- re oder sogar höhere Klassifikationsgenauigkeit als andere Algorithmen erzielt (vgl. [Go2009], [Parikh2009]). Weniger verbreitet sind die Maximum-Entropie- Klassifikation und die Support-Vektor-Maschine.
1.2 Evaluation Um die Qualität eines Klassifikationssystems zu bestimmen, muss dieses getestet werden. Dazu wird das fertige Klassifikationssystem genutzt um mit diesem neue, dem System bisher unbekannte klassifizierte Texte, zu klassifizieren. Stimmt die vom System prognostizierte Klasse mit der bekannten Klasse überein, wurde das Objekt korrekt klassifiziert. Die Abbildung 2 veranschaulicht den Vorgang der Evaluation. Text Klassifikationssystem Wahrscheinliche Klassifizierung Klassifizierter Klassifizierter Test-Korpus Text Bekannte Klassifizierung Abb. 2. Evaluation des Klassifikationssystems. Diese Metrik wird Genauigkeit genannt. Die Genauigkeit der Klassifikati- onssystems ist von allen Schritten abhängig, die zur Erstellung des Systems durchgeführt worden sind. • Erstellung der Korpora • Datenaufbereitung • Auswahl der Eigenschaften • Auswahl des Klassifikationsalgorithmus Um die Genaugikeit zu erhöhen, muss jeder Teilschritt analysiert und ein Verbesserungspotential herausgearbeitet werden. Es ist z.B. möglich, dass die Genauigkeit erhöht werden kann, wenn die Daten anders aufbereitet werden oder ein anderer Klassifikationsalgorithmus verwendet wird. Die beste Kombi- nation zu finden ist eine der großen Herausforderungen bei der Entwicklung eines Klassifikationssystems. Metriken Für die Evaluation sind diverse Metriken definiert worden, die Rück- schlüsse auf die Qualität liefern. Genauigkeit Gibt an, wie viele der klassifizierten Daten korrekt klassifiziert wor- den sind. Sie ist beschrieben worden von [Manning1999] und lautet: N (Korrekte Klassif ikationen)) Genauigkeit = (1) N (Alle Klassif ikationen)
Entscheidung Gibt an, welcher Teil der Daten vom System klassifiziert worden ist. Die Metrik wurde beschrieben von [Adda1998] und lautet: N (Bezogene Dokumente)) Entscheidung = (2) N (Alle Dokumente) 2 Zusammenfassung der Arbeit Microbloggingdienste sind heutzutage sehr populär und beliebt und verfügen über eine sehr große Nutzerbasis. Es findet ein reger Austausch statt – Anwen- der äußern Ihre Meinung zu verschiedensten Themen und Produkten. Durch die intensive Nutzung und der großen Anwenderzahl sind Dienste wie Twitter ein attraktives Ziel für die Sentimentanalyse um Stimmungsbilder zu verschienden Themen aus dem System zu extrahieren und neues Wissen zu generieren. Im Verlauf der Arbeit wird die Sentimentanalyse auf Twitter-Nachrichten angewen- det um die Effektivität zu untersuchen. Die gesammelten Twitter-Nachrichten werden einer linguistischen Analyse unterzogen und anschließend genutzt um einen Klassifikator zu erzeugen, mit dessen Hilfe Twitter-Nachrichten als posi- tiv, negativ und objektiv erkannt werden können. 2.1 Vergleichbare Arbeiten Einen Überblick über Verfahren und Techniken haben [Pang2008] gegeben, al- lerdings waren dort Microblogging-Dienste nicht das Ziel der Sentimentanaly- se. Emoticons als Merkmal für das Sentiment zu nutzen, wurde erstmal von [Read2005] vorgestellt. Der erstellte Korpus wurde dabei in positive und negati- ve Texte aufgeteilt und diente als Basis für eine Klassifikation mit Hilfe von Bayes und einer Support-Vektor-Maschine, mit denen jeweils eine Klassifikationsgenau- igkeit von ungefähr 70 % erreicht werden konnte. [Go2009] haben das Verfahren von [Read2005] auf Twitter angewendet, um ihren Korpus zu erzeugen. Ver- gleicht wurden diverse Klassifikationsalgorithmen, wobei der Bayes-Algorithmus mit 81 % Genauigkeit das beste Ergebnis erzielte. Das Klassifikationssystem ist allerdings nur binär, kann also nur zwischen zwei Klassen (positiv und negativ) unterscheiden. Die Klassifikationsgenauigkeit des Systems sinkt deutlich, wenn mehrere Klassen zu unterscheiden waren (positiv, negativ, neutral). 2.2 Erzeugung eines Korpus Der Korpus besteht aus Texten positiven, negativen und objektiven Inhalts und wird automatisiert durch eine Software erzeugt, in dem Nachrichten über ei- ne Programmierschnittstelle direkt von Twitter bezogen werden. Diese Methode wurde erstmals von [Read2005] beschrieben. Dazu wird die Twitter-API verwen- det um mehrere Suchanfragen nach verschiedenen ASCII-Emoticons abzusetzen. Die resultierenden Twitter-Nachrichten werden dann dem jeweiligen Korpus zu- geteilt. Für positive Texte werden folgende Emoticons verwendet (Auswahl):
:-) :) =) :D Folgende Emoticons werden gesucht, um negative Twitter-Nachrichten zu finden (Auswahl): :-( :( =( ;( Objektive Nachrichten werden ebenfalls direkt von Twitter bezogen, in dem die Twitter-Nachrichten von diversen Nachrichten-Accounts (z.B. von der „New York Times“) heruntergeladen werden. Insgesamt werden Nachrichten von 44 Accounts bezogen. Nachrichten von diesen Accounts werden als objektiv be- trachtet. Es findet keine weitere Filterung oder Objektivitätsprüfung statt. Die resultierenden Twitter-Nachrichten werden, je nach Kategorie (positive, negativ, objektiv), in einem Korpus zusammengefasst. Es wird davon ausgegangen, dass ein einziger Emoticon die Empfindung einer Twitter-Nachricht repräsentiert und alle Wörter des Satzes mit diesem Emoticon inhaltlich in Verbindung stehen. Es werden nur englischsprachige Nachrichten verarbeitet. 2.3 Korpusanalyse Der erzeugte Korpus wird analysiert, um herauszufinden, ob dieser als Basis für die spätere Erstellung eines Klassifikators geeignet ist. Dazu wird zunächst eine Häufigkeitsverteilung der Wörter innerhalb des Korpus berechnet. Die Abbil- dung 3 zeigt eine Kompabilität mit dem Zipfschen Gesetz, in folge dessen man von einem Korpus sprechen kann, der die korrekten Eigenschaften aufweist. Anschließend wird der Korpus mit Hilfe eines Part-of-speech-Tagging-Programms markiert um herauszufinden, welche Satzbausteine starke (bzw. schwache) In- dikatoren für subjektive bzw. objektive und positive bzw. negative Texte sein können. Die Abbildung 4 zeigt das Ergebnis des Tagging-Vorgangs zur erste Un- tersuchung für subjektive und objektive Texte und Abbildung 5 veranschaulicht die Verteilung der POS-Tags für positive und negative Texte. Das POS-Tagging hat ergeben, dass insbesondere imperative Satzelemente auf einen subjektiven Text hinweisen. Dies trifft beispielsweise auf die meisten Sätze zu, die mit einem Ausrufezeichen enden. Weitere Bausteine, die auf einen subjektiven Text hinweisen, sind Personalpronomen.
Abb. 3. Die Worthäufigkeitsverteilung entspricht den Voraussagen des Zipfschen Ge- setzes. Abb. 4. POS-Tagging. Links: Indikatoren für objektive Texte. Rechts: Indikatoren für subjektive Texte. Vgl. Figure 2, S. 1323. Objektive Texte enthalten sehr oft Eigennamen bzw. Substantive. Das POS- Tagging liefert weiter Hinweise darüber, ob ein subjektiver Text inhaltlich eher positiv oder negativ ist. So enthalten viele positiv geschriebene Texte Super- lativadverbien wie „meistens“ oder „beste“. Anders als positive Text enthalten negative Texte oft Verben in der Vergangenheitsform.
Abb. 5. POS-Tagging. Links: Indikatoren für positive Texte. Rechts: Indikatoren für negative Texte. Vgl. Figure 3, S. 1323. Das POS-Tagging wurde über mehrere Teilmengen des Korpus angewendet, mit einer resultierenden ähnlichen Verteilung der Tags. Dies lässt auf einen ho- mogenen Korpus schließen. 2.4 Erstellung des Klassifikators Der Klassifikator wird mit der Methode des Überwachten Lernens erzeugt. Da- zu werden die Korpus-Daten zunächst aufbereitet und geeignete Eigenschaften definiert, die als Eingabedaten für den Klassifikationsalgorithmus dienen. Der Klassifikationsalgorithmus wurde vorher ausgewählt. Aufbereitung der Daten im Korpus Die gesammelten Korpora bestehen jeweils aus einer Menge von Twitter-Nachrichten. Um die Erstellung des Korpus zu vereinfachen, wurden die Daten vorher aufbereitet. Die Aufbereitung umfasst die folgenden Schritte: 1. Löschen von URLs und Benutzernamen (beginnen mit @), 2. Löschen von Artikeln („a“, „an“, „the“, ...). Auswahl von geeigneten Eigenschaften Pang et. al haben gezeigt, dass die Existenz eines N-Gramms in einem Text eine geeignetere Eigenschaft ist als die Häufigkeit eines N-Gramms, wenn das Sentiment eines Textes bestimmt werden soll. Dies läge daran, dass die Wiederholung eines bestimmten Schlüsselwortes keine Hinweise auf ein bestimmtes Sentiment gibt (vgl. [Pang2002]). Demzufolge soll die N-Gramm-Existenz als Eigenschaft verwendet werden. Pang et. al berichten, dass die Verwendung von Unigrammen bei der Senti- mentanalyse von Filmbewertungen bessere Ergebnisse liefert als die Verwendung mit Bigrammen. Dave et. al berichten das Gegenteil. Sie zeigen, dass Bigramme und Trigramme für Produktbewertungen zu besseren Ergebnissen führen (vgl. [Dave2003]).
Unigramme sollten die zugrundeliegenden Daten am Besten abbilden, wo- hingegen Trigramme das Sentiment am Besten abbilden müssten. Welche Aus- prägung von N-Grammen die besten Ergebnisse liefert, soll evaluiert werden, da bisher keine einheitlichen Ergebnisse vorliegen. Untersucht werden Unigramme, Bigramme und Trigramme. Auswahl des besten Algorithmus Als Klassifikationsalgorithmus wird Bayes verwendet, da mit diesem Algorithmus bessere Ergebnisse erzielt worden sind als mit einer Support Vector Maschine. 2.5 Evaluation des erzeugten Klassifikators Der erzeugte Klassifikator wurde mit echten, manuell markierten, Twitter-Nachrichten getestet. Der Testkorpus enthältet insgesamt 216 Twitter-Nachrichten und wur- de von Go et al. übernommen (vgl. [Go2009]). Siehe Tabelle 1. Sentiment Anzahl Twitter-Nachrichten Positiv 108 Negativ 75 Neutral 33 Summe 216 Tabelle 1. Verwendeter Testkorpus für die Evaluation. Vgl. Table 3, S. 1324. Untersucht wird die Genauigkeit des Klassifikators in Abhängigkeit vom ver- wendeten N-Gramm-Typ und von der Größe des verwendeten Korpus. Ergebnisse Die Untersuchung der Genauigkeit in Abhängigkeit vom N-Gramm- Typs hat ergeben, dass Bigramme die höchste Genauigkeit erreichen (vgl. Ab- bildung 6). Bigramme liefern wahrscheinlich das beste Ergebnis, weil sie ein Kompromiss zwischen Datenabdeckung (Unigramme) und Sentimentabdeckung (Trigramme) darstellen. Anders als von [Manning1999] beschrieben, wird das Ergebnis nicht auf Basis der Genauigkeit und Vollständig berechnet, sondern auf der Genaugikeit und der Entscheidung, da es sich bei der Untersuchung nicht um eine Binärklassifikation handelt. Der verwendete Klassifikator unterscheidet zwischen den drei Klassen positiv, negativ und neutral. Die modifizierte Formel lautet (vgl. Formel 16, S. 1326; β = 0.5): Genauigkeit · Entscheidung F = (1 + β 2 ) (3) β2 · Genauigkeit + Entscheidung Das Ergebnis der F-Score-Untersuchung ist in Abbildung 7 dargestellt. Sie zeigt, dass eine Vergrößerung des Korpus (also mehr Twitter-Nachrichten) zu
Abb. 6. Klassifikationsgenauigkeit in Abhängigkeit vom N-Gramm-Typ. Vgl. Figure 4, S. 1325. einer Erhöhung der Klassifikationsgenauigkeit führt – jedoch nur bis zu einem bestimmten Punkt. Nach einer bestimmmten Körpusgröße findet keine Verbes- serung mehr statt. 2.6 Fazit Im Verlauf dieser Arbeit wurde gezeigt, wie ein Korpus automatisch erstellt und zum Training eines Klassifikators genutzt werden kann. Mit Hilfe des POS- Tagging-Programms TreeTagger wurde festgestellt, dass gewisse Satzbaustei- ne gute Hinweise auf das Sentiment eines Textes sein können. Die Arbeit be- schreibt, wie ein Klassifikator durch Training erstellt wird. Das Ergebnis ist ein System, dass herausfinden kann, ob ein Test postive, negative oder gar keine Stimmung enthält, also ein objektiver Text ist. Das System basiert auf dem Bayes-Algorithmus und nutzt N-Gramme und POS-Tags als Eigenschaften für das Training. Das System funktioniert aktuell nur mit englischen Texten. Zukünftig soll ein System entwickelt werden, das Twitter-Nachrichten in verschiedenen Sprachen nutzt und klassifizieren kann. 3 Bewertung & Vergleich Die Autoren sind systematisch und analytisch vorgegangen und haben größ- tenteils etablierte Verfahren genutzt um ein System für die Sentimentanalyse zu erstellen. Der Korpus wurde automatisch erzeugt und kann so beliebig in
Abb. 7. Klassifikationsgenauigkeit in Abhängigkeit von der Korpusgröße. Vgl. Figure 6, S. 1325. der Größe variiert werden. Dieser Aspekt ist sehr wichtig, da ein großer Kor- pus die Voraussetzung für ein gutes Ergebnis ist. Problematisch ist die Annah- me der Autoren, dass ein einzelnes Emoticon die Stimmung für eine gesamte Twitter-Nachricht repräsentieren soll. Twitter-Nachrichten, mit verschiedenen Emotions, die gegensätzliche Stimmungen ausdrücken, werden nicht herausfil- tert. Nach der Erzeugung des Korpus wurde dieser analysiert um festzustellen, ob die Daten überhaupt sinnvoll genutzt werden können. Diese Analyse fehlt in vergleichbaren Arbeiten. Als Klassifikationsalgorithmus haben sich die Auto- ren für den Bayes-Algorithmus entschieden, da sie mit diesem bessere Ergeb- nisse erzielten als mit der Support-Vektor-Maschine. Nicht getestet wurde die Maximum-Entropie-Klassifikation, die durchaus vergleichbare Ergebnisse erzie- len kann. Die Evaluation des Klassifikationssystems haben die Autoren systema- tisch durchgeführt und nachvollziehbar präsentiert. Für die Evaluation wurde ein Testkorpus verwendet, der manuell erzeugt wurde und daher lediglich 216 Twitter-Nachrichten enthält. Besser wäre hier sicherlich die Durchführung einer Kreuzvalidierung gewesen, wie sie z. B. von [Pang2002] durchgeführt wurde. Der Vorteil der Kreuzvalidierung ist, dass dazu keine neuen Daten gesammelt werden müssen, sondern der bereits vorhandene Korpus für die Evaluation zu Grunde gelegt wird. Das Verfahren kann automatisiert durchgeführt werden und liefert verlässliche Zahlen. Das von den Autoren erstelle System verfügt über eine Klassifikationsgenau- igkeit von 73 %. Ein sehr gutes Ergebnis für ein System, das mehr als zwei Klassen unterscheiden kann.
4 Literaturverzeichnis [Adda1998] G. Adda, J. Mariani, J. Lecomte, P. Paroubek, and M. Rajman. 1998. The GRACE French part-of-speech tagging evaluation task. In A. Rubio, N. Gallardo, R. Castro, and A. Tejada, editors, LREC, volume I, pages 433–441, Granada, May. [Dave2003] Kushal Dave, Steve Lawrence, and David M. Pennock. 2003. Mining the peanut gallery: opinion extraction and semantic classification of product reviews. In WWW ’03: Proceedings of the 12th international conference on World Wide Web, pages 519–528, New York, NY, USA. ACM. [Go2009] Alec Go, Lei Huang, and Richa Bhayani. 2009. Twitter sentiment analysis. Final Projects from CS224N for Spring 2008/2009 at The Stanford Natural Language Processing Group. [Manning1999] Christopher D. Manning and Hinrich Schütze. 1999. Foundations of statistical natural language processing. MIT Press, Cambridge, MA, USA. [Pang2002] Bo Pang, Lillian Lee, and Shivakumar Vaithyanathan. 2002. Thumbs up? sentiment classification using machine learning techniques. In Proceedings of the Conference on Empirical Methods in Natural Language Processing (EMNLP), pages 79–86. [Pang2008] Bo Pang and Lillian Lee. 2008. Opinion mining and sentiment analysis. Found. Trends Inf. Retr., 2(1-2):1–135. [Parikh2009] Ravi Parikh and Matin Movassate. 2009. Sentiment Analysis of User- Generated Twitter Updates using Various Classification Techniques. In: Most (2009), S. 1–18. [Read2005] Jonathon Read. 2005. Using emoticons to reduce dependency in machine learning techniques for sentiment classification. In ACL. The Association for Com- puter Linguistics.
Sie können auch lesen