Sentiment Analysis - PowerPoint PPT Presentation

About This Presentation
Title:

Sentiment Analysis

Description:

Sentiment Analysis Studienprojekt Dozenten: Dr. Detlef Prescher, Matthias Hartung Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Ruprecht-Karls-Universit t ... – PowerPoint PPT presentation

Number of Views:302
Avg rating:3.0/5.0
Slides: 23
Provided by: Office2004219
Category:

less

Transcript and Presenter's Notes

Title: Sentiment Analysis


1
Sentiment Analysis
  • Studienprojekt
  • Dozenten Dr. Detlef Prescher, Matthias Hartung
  • Svetlana Dedova, Stefanie Pischek, Vladlena
    Belinschi
  • Ruprecht-Karls-Universität Heidelberg
  • Seminar für Computerlinguistik

Sommersemester 2007 (24.05.2007)
2
Inhalt
  • Kurze Einführung in das Themengebiet
  • Grundsätzliche Lösungen
  • Unsere Wahl
  • Baseline
  • Systemarchitektur
  • Entwicklung einer Lösung
  • Testen und Evaluieren
  • Mögliche Verbesserungen
  • Arbeitsschritte und Zeitplan (Vorläufig)
  • Stabilität der Ergebnisse bei Anwendung an andere
    Korpora
  • Mögliche weitere Erweiterungen
  • Zusammenfassung
  • Quellenangaben

3
Kurze Einführung in das Themengebiet
  • Sentiment / Semantic Orientation (SO) /
    Opinion
  • ist die subjektive Meinung über einen Gegenstand
    / Aktion / Prozess
  • positiver oder negativer Inhalt eines Wortes
    /Satzes /Textes.
  • (Taboada et al., 2006)
  • Sentiment Analysis
  • bezeichnet die automatische Auswertung von
    Texten mit dem Ziel, die Meinung des Verfassers
    ausfindig zu machen.
  • (Wikipedia)
  • Grundidee/Hypothese ist folgendes
  • man vermutet, das, dass wenn die SO aller
    relativen Wörter im Text bekannt sind, kann man
    die SO des ganzen Textes ermitteln.

4
Kurze Einführung in das Themengebiet
  • Motivation
  • Ständig steigende Informationsmenge im Internet
  • Texte können oft lang und unübersichtlich sein
  • Filterung oft anhand eines Ranking (ohne
    Sentiment)
  • ________________
  • ?
  • Sentement Analysis

5
Kurze Einführung in das Themengebiet
  • Anwendungsgebiete
  • Produktbewertung
  • Hu/Liu Mining and Summarizing Customer Reviews
  • Politische Texte
  • Pang/Lee Get out the vote Determining support
    or opposition from Congressional floor-debate
    transcripts
  • Emails
  • AUTONOMY ETALK (http//www.autonomy.com/content/Ne
    ws/Releases/2007/0307.en.html)
  • Blogs
  • Owsley/Sood/Hammond Domain Specific Affective
    Classification of Documents
  • Film- und Buchkritiken
  • Pang/Lee Thumbs up? Sentiment Classification
    using Machine Learning Techniques

6
Grundsätzliche Lösungen
  • Die Interesse an der Sentiment Klassifikation
    ist momentan von der großen Bedeutung. Die
    Recherche hat ergeben, dass Sentiment Analysis
    viele Bereichen involviert wird
  • Manuelle oder halbmanuelle Bildung der Lexika
  • Automatische Bildung der Lexika
  • Extraktion von Subjektiven Inhalt
  • Maschinelles Lernen
  • Diskurs Analyse

7
Grundsätzliche Lösungen
  • Manuelle oder halbmanuelle Bildung der Lexika
  • An operational System for detecting and
    tracking opinion online discussion von Tong,
    R.M. Working Notes of the ACM SIGIR 2001 Workshop
    on Operational Text Classification (pp. 1-6). New
    York, NY ACM
  • Das System
  • 1. Findet online Filmkritiken
  • 2. Bewertet sie aufgrund der manuell erstellten
    Lexika
  • 3. Erstellt einen Graph über die Zeit

8
Grundsätzliche Lösungen
  • Automatische Bildung der Lexika
  • Predicting the Semantic Orientation of
    Adjectives von Hatzivassiloglou and McKeown in
    Proceedings of the 35th Annual Meeting of the ACL
    and the 8th Conference of the European Chupter of
    the ACL, pp. 174-181, 1997.
  • (1) The tax proposal was simplistic but
    well-received by the public.
  • (2) The tax proposal was simplistic and
    well-received by the public.
  • 4 Schritt Algorithmus
  • 1. Extraktion von Adjektiven und Konjunktionen
  • 2. Paarweise markieren der Adjektive um ein
    Graph bilden zu können
  • 3. Clustering
  • 4. Zuordnung der Clusters.
  • Das Experiment
  • Corpus 21 Million Wörter
  • Genauigkeit 78 bis 92 (hängt von der
    Korpusgröße ab)

9
Grundsätzliche Lösungen
  • Extraktion von Subjektiven Inhalt
  • Learning Subjective Adjectives from Corpora
    von Wiebe, Janice M. in Proceeding of the 17th
    National Conference on Artificial Intellegence.
    Menlo Park, CA AAAI Press
  • (1) At several different layers, its a
    fascinating tale. (subjektiv)
  • (2) Bell Industries Inc. Increased ist quarterly
    to 10 cents from 7 cents a share. (objektiv)
  • Vorgehensweise
  • 1. Manuelles Annotieren von Texten
  • (die Sätze werden nur dann als
    subjektiv gewertet, wenn mindestens 1 Adjektiv
    des Sets vorkommt)
  • 2. Manuelles Identifizieren dieser Ausdrücke im
    gewonnenen Korpus
  • 3. Clustering nach distributiver Ähnlichkeit
  • 4. Verfeinerung der Ergebnisse mit Polarität und
    Stärke
  • 5. Bildung eines automatischen Lernsystems
  • Das Experiment
  • Korpus 1001 Sätze
  • Genauigkeit 60 - 79 (hängt von Verfeinerung
    ab)

10
Grundsätzliche Lösungen
  • Maschinelles Lernen
  • Thumbs Up? Semantic Orientation Applied to
    Unsupervised Classification of Reviews von
    Turney, Peter D. Proceedings of the 40th Annual
    Meeting of the Association for Computational
    Linguistics (ACL), Philadelphis, July 2002. pp
    417-424.
  • Vorgehensweise
  • 1. Extraktion der Phrasen nach 5 POS-Mustern
    (z.B. AdjNom, AbvAdj)
  • 2. Bestimmung der SO durch Pointwise Mutual
    Information and Information
  • Retrieval (PMI-IR)
  • 3. Berechnung des Mittelwertes der SO für den
    ganzen Text.
  • Das Experiment
  • Korpus 410 Rezensionen aus 4 verschiedenen
    Domänen Auto-, Bank-, Film- und
    Reisezielrezensionen
  • Genauigkeit 74 (66 - 84 hängt von Domäne ab)

11
Grundsätzliche Lösungen
  • Diskurs Analyse
  • "Sentiment classification techniques for
    tracking literary reputation"
  • von Taboada Proceedings of LREC Workshop,
    "Towards Computational Models of Literary
    Analysis". Genoa, Italy. May 2006. pp. 36-43.
  • NB Berücksichtigen der Textstruktur
  • Stand des Projektes in Prozess
  • Vorgehensweise
  • 1. Halbautomatische Bildung der Lexika OS der
    Adjektive werden mittels AND Operator der Google
    Suchmaschine berechnet
  • 2. Es werden die Gewichte den Adjektiven
    zugewiesen hängen davon, in welchem Teil des
    Textes (am Anfang, in der Mitte oder am Ende) das
    Adjektiv vorkommt.
  • 3. Statt den Mittelwert der SO für den ganzen
    Text zu berechen (die Methode hat sich nicht
    besonders gut bewiesen), wir der Diskursparser
    eingesetzt. Dieser bestimmt Haupt- und Nabensätze
    und die Relationen zwischen den beiden.
  • 4. Die Hauptsätze werden extrahiert und nur von
    diesen wird anhand der Lexika die SO berechnet.
  • Das Experiment
  • Korpus literarische Kritiken über 6 Autoren

12
Unsere Wahl
  • Thumbs up? Sentiment Classification using
    Machine Learning Techniques von B.Pang and L.Lee
    in Proceedings of the Conference on Empirical
    Methods in Natural Language Processing (EMNLP),
    pp. 79--86, 2002.
  • Vorgehensweise
  • 1. Korpus aus ausgewählte Filmkritiken die eine
    Bewertung haben
  • 2. Einteilung der Texte in positiv, negativ und
    neutral durch Extraktion der Bewertung
  • 3. Häufigkeitsanalyse der Adjektive in den
    positiven und den negativen Texten
  • 4. Bildung von positiver und negativer
    Wörterliste
  • 5. Optimierung der gewonnenen Sets
  • Warum?
  • Einfachere Lösung
  • Liefert gute Ergebnisse
  • Besonders gut geeignet, weil Filmkritiken
    bewertet werden
  • Interesse, ob es genauso gut für das Deutsche
    funktioniert

13
Baseline Systemarchitektur 1
(words_manuell)
Manuelle Erstellung der Listen
Verteilung in positiv/negativ
(datenbank_FK)
Datenbank für Filmkritiken www.zelluloid.de
NEG Wörterliste (n)
POS Wörterliste (n)
Positive Texte DB
Negative Texte DB
POS Wörterliste (p)
Freq (f) von POS/NEG. Wörtern in beiden DB
NEG Wörterliste (n)
(main)
(main)
14
Baseline Systemarchitektur 2
(words_semiAutomatic)
TreeTagger
Freq (f) count of words in Database
Verteilung in positiv/negativ
(datenbank_FK)
Datenbank für Filmkritiken www.zelluloid.de
7 häufigste NEG Wörterliste (n)
7 häufigste POS Wörterliste (p)
Positive Texte DB
Negative Texte DB
POS Wörterliste (p)
Freq (f) von POS/NEG. Wörtern in beiden DB
NEG Wörterliste (n)
(main)
15
Baseline Entwicklung einer Lösung
  • Corpus
  • Quelle Filmkritiken von zelluloid.de
  • Format html-Texte
  • Anzahl der Texte 1054? (hängt von der Erstellung
    ab)
  • Erstellung automatisch/halbautomatisch?
  • Automatische Bildung von 2 Datenbanken positiv
    (100-55) und negativ (0-45)
  • Verteilung der Daten in Development- und
    Testsets
  • MainSet ca 554 Texten
  • Developmentset ca. 300 Texte
  • Testset ca. 300 Texte
  • html -gt txt

16
Baseline Entwicklung einer Lösung
  • Bildung von Wortlisten aus Adjektiven.
  • Warum? Diese sind gute Indikatoren für die
    subjektive Meinung.
  • Keyword-Liste von Baseline 1
  • Manuelle Erstellung der Liste anhand der
    Gefühl/Häuftigkeit
  • Keyword-Liste von Baseline 2
  • Automatische Erstellung der Liste anhand der
    Häufigkeit.
  • txt - gt TreeTagger - gt getaggt.txt
  • Aus dem getaggt.txt werden die Adjektive,
    Adverbien(?) und Satzendzeichen (!, ?) genommen
    und die Frequenzlisten gebildet.
  • Die häufigsten 7 (?) werden in die Keyword-Liste
    integriert.

17
Baseline Entwicklung einer Lösung
  • Funktion findKeyWord.py
  • Input text.txt, POSKeyWordList.txt,
    NEGKeyWordList.txt
  • Output Dokumentvektor
  • doc1(POS)word1 x-mal, word2 y-mal, ...,
    wordn z-mal
  • doc1(NEG)word1 x-mal, word2 y-mal, ...,
    wordn z-mal
  • Funktion compareVectors.py
  • Input Dokumentenvektoren
  • Vergleichsmethode nach Vorkommen im Text
  • Output Bewertung (positiv, negativ, neutral)
  • Der Output wird in eine Datei namens
    resultsForPOS.txt und resultsForNEG.txt
    abgespeichert

18
Baseline Testen und Evaluieren
  • Test 1
  • Input Developmentset
  • Output Genauigkeit (wie viele Dokumenten richtig
    erkannt wurden)
  • und Ties (wie viele POS/NEG Dokumenten als
    neutrale erkannt wurden)
  • Test 2
  • Input Testset
  • Output Genauigkeit und Ties
  • Erstellen einer Vergleichsübersicht

Projektversion Developmentset Developmentset Testset Testset
Projektversion Genauigkeit Ties Genauigkeit Ties
Baseline 1 ...
Baseline 2
19
Mögliche Verbesserungen
  • Verbesserung 1
  • WO? in der Funktion compareVectors.py
  • Vergleichsmethode nach Häufigkeit (Aufsummieren
    aller Treffe im Text)
  • Verbesserung 2
  • WO? in den KeyWord-Listen
  • Hinzufügen von Gewichtung anhand der Frequenzen
  • Verbesserung 3
  • WO? in den KeyWord-Listen
  • Hinzufügen von negativen Partikeln wie kein,
    nicht an die Wörter in den Listen

20
Verbesserung 3
(partikeln_semiAutomatic)
TreeTagger
Freq (f) count of NP Partikeln Adjektiv in
Database
(wordsPartikeln_Automatic)
5 - 10? häufigste NEG. Partikeln Wörterliste (a)
(z.B. kein(e), nicht, ...)
POS Wörter NEG. Partikeln
NEG Wörte Liste 1
(words_semiAutomatic)
NEG Wörter NEG. Partikeln
(words_semiAutomatic)
7 häufigste POS Wörterliste (p)
7 häufigste NEG Wörterliste (n)
POS Wörte Liste 1
(main)
(datenbank_FK)
21
Arbeitsschritte und Zeitplan (Vorläufig)
Aufbereitung der benötigen Corpora
Reviews extrahieren
Corpora 1
Evaluierung der Corpora (manuell /halbautomatisch
/ automatisch?)
Html -gt text
Bewertung extrahieren
Vladlena 25.06.2007
Vladlena 25.06.2007
Review nach POS und NEG trennen
Corpora 2
Reviews extrahieren
Bewertung extrahieren
Vladlena 10.07.2007
Vladlena 10.07.2007
Vladlena 25.06.2007
(datenbank_FK)
Key Wörter Manuell erstellen
(words_manuell)
(main)
Häufigkeit zählen
Bau eine Evaluierungssystem
Stefanie 30.06.2007
Key Wörter halb-autom. Erstellen mit der Hilfe
von Tagger
Häufigkeit vergleichen
Stefanie 30.06.2007
Svetlana 30.07.2007
Svetlana 15.06.2007
Partikeln Wörter halb-autom. Erstellen mit der
Hilfe von Tagger
Verbesserung 1
Verbesserung 2
Verbesserung 3
(wordsPartikeln_Automatic)
(words_semiAutomatic)
(partikeln_semiAutomatic)
Svetlana 20.07.2007
Vladlena 20.07.2007
Stefanie 20.07.2007
Svetlana 30.06.2007
22
Quellenangaben
  • Gammon, M. Sentiment classification on customer
    feedback data noisy data, large feature vectors,
    and the role of linguistic analysis.
  • Hatzivassiloglou / McKeown Predicting the
    Semantic Orientation of Adjectives. In
    Proceedings of the 35th Annual Meeting of the ACL
    and the 8th Conference of the European Chupter of
    the ACL,1997.pp. 174-181.
  • Hu / Liu Mining and Summarizing Customer
    Reviews.
  • Owsley / Sood / Hammond Domain Specific
    Affective Classification of Documents.
  • Pang, B. / Lee, L. Thumbs up? Sentiment
    Classification using Machine Learning Techniques.
    In Proceedings of the Conference on Empirical
    Methods in Natural Language Processing (EMNLP),
    2002. pp. 79-86.
  • Taboada Sentiment classification techniques for
    tracking literary reputation.In Proceedings of
    LREC Workshop, Towards Computational Models of
    Literary Analysis. Genoa, Italy, May 2006. pp.
    36-43.
  • Thomas, M. / Pang, B. / Lee, L. Get out the
    vote Determining support or opposition from
    Congressional floor-debate transcripts.
  • Tong, R.M. An operational System for detecting
    and tracking opinion online discussion. Working
    Notes of the ACM SIGIR 2001 Workshop on
    Operational Text Classification. New York, NY
    ACM. pp. 1-6.
  • Turney, Peter D. Thumbs Up? Semantic Orientation
    Applied to Unsupervised Classification of
    Reviews. In Proceedings of the 40th Annual
    Meeting of the Association for Computational
    Linguistics (ACL), Philadelphis, July 2002. pp
    417-424.
  • Wiebe, Janice M. Learning Subjective Adjectives
    from Corpora. In Proceeding of the 17th National
    Conference on Artificial Intellegence. Menlo
    Park, CA AAAI Press
Write a Comment
User Comments (0)
About PowerShow.com