Ausarbeitung Twitter as a Corpus for Sentiment Analysis and Opinion Mining - Wissenschaftliches Arbeiten (2014)

 
WEITER LESEN
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