sentiment analysis l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Sentiment Analysis PowerPoint Presentation
Download Presentation
Sentiment Analysis

Loading in 2 Seconds...

play fullscreen
1 / 22

Sentiment Analysis - PowerPoint PPT Presentation


  • 245 Views
  • Uploaded on

Studienprojekt Dozenten: Dr. Detlef Prescher, Matthias Hartung Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi. Ruprecht-Karls-Universität Heidelberg Seminar für Computerlinguistik. Sentiment Analysis. Sommersemester 2007 (24.05.2007). Inhalt. Kurze Einführung in das Themengebiet

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

Sentiment Analysis


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
sentiment analysis
Studienprojekt

Dozenten: Dr. Detlef Prescher, Matthias Hartung

Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi

Ruprecht-Karls-Universität Heidelberg

Seminar für Computerlinguistik

Sentiment Analysis

Sommersemester 2007 (24.05.2007)

inhalt
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
kurze einf hrung in das themengebiet
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.

kurze einf hrung in das themengebiet4
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

kurze einf hrung in das themengebiet5
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/News/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
grunds tzliche l sungen
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
grunds tzliche l sungen7
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

grunds tzliche l sungen8
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)

grunds tzliche l sungen9
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, it‘s 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)

grunds tzliche l sungen10
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. Adj+Nom, Abv+Adj)

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)

grunds tzliche l sungen11
Grundsätzliche Lösungen
  • Diskurs Analyse

"Sentiment classification techniques for tracking literary reputation"

von TaboadaProceedings 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

unsere wahl
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
baseline systemarchitektur 1

(words_manuell)

Baseline: Systemarchitektur 1

Manuelle Erstellung der Listen

Verteilung in positiv/negativ

(datenbank_FK)

Datenbank für Filmkritiken

www.zelluloid.de

POS Wörterliste (n)

NEG 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)

baseline systemarchitektur 2

(words_semiAutomatic)

Baseline: Systemarchitektur 2

TreeTagger

Freq (f) count of words in Database

Verteilung in positiv/negativ

(datenbank_FK)

Datenbank für Filmkritiken

www.zelluloid.de

7 häufigste POS Wörterliste (p)

7 häufigste NEG 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)

baseline entwicklung einer l sung
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 -> txt
baseline entwicklung einer l sung16
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 - > TreeTagger - > 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.
baseline entwicklung einer l sung17
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
baseline testen und evaluieren
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
m gliche verbesserungen
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
verbesserung 3

(partikeln_semiAutomatic)

Verbesserung 3

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)

arbeitsschritte und zeitplan vorl ufig
Arbeitsschritte und Zeitplan (Vorläufig)

Aufbereitung der benötigen Corpora

Reviews extrahieren

Corpora 1

Evaluierung der Corpora (manuell /halbautomatisch / automatisch?)

Html -> text

Bewertung extrahieren

Vladlena 25.06.2007

Vladlena 25.06.2007

Review nach POS und NEG trennen

Reviews extrahieren

Corpora 2

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 3

Verbesserung 2

Verbesserung 1

(wordsPartikeln_Automatic)

(words_semiAutomatic)

(partikeln_semiAutomatic)

Vladlena 20.07.2007

Svetlana 20.07.2007

Stefanie 20.07.2007

Svetlana 30.06.2007

quellenangaben
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 Associationfor 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