Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena...

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

Transcript of Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena...

Page 1: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

Sentiment Analysis

Abschlussvortrag zum Studienprojekt

Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi

Dozenten: Dr. Detlef Prescher, Matthias Hartung

Ruprecht-Karls-Universität HeidelbergSeminar für Computerlinguistik

27.09.2007

Page 2: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

2/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Inhalt

1. Kurze Einführung in das Themengebiet2. Grundsätzliche Lösungen3. Das Modell4. Das Experiment - Baseline - Systemarchitektur - Korpus - Keyword Lists - Evaluation - Optimierung: - i. Keyword Listen - ii. Source Code - iii. Zählweise - iv. Texteingabe - v. Rahmen - vi. Gewichtung - vii. Negation - Zusammenfassung5. Quellenangaben

Page 3: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

3/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Kurze Einführung in das Themengebiet

Sentiment: was ist das?Review 1

Divergierende Nuancen von Grau ... "Viel Lärm um Nichts" - oder ein Fall der keiner war. Dramaturgisch ein eher belehrender als unterhaltsamer, dafür aber einschüchternd und grau in wirklich allen Facetten, eben ein DDR-Film. Unglaublich, mit welcher Offenheit man selbst noch im Jahre 1989 in der DDR die restriktive und allmächtige Staatsgewalt darstellte. Gerade heute verschlägt es einem die Sprache, wie wenig ein Mensch damals wert war. Der Film an sich ist weniger interessant als vielmehr das Lokalkolorit und die zeitgemässe Darstellung einer Welt, die keiner mehr haben mag. Gott sei dank. Ein Herr Schäuble wünscht sich vielleicht eine derartige Gesellschaftsordnung, damit steht er aber eher alleine da. Es gab wirklich gute Filme von "Polizeiruf", aber das ...?

Review 2

Es war eher ein Film für meine ältere Schwester, denn ich stand damals noch in den Kinderschuhen, als ich den Film zum ersten Mal sah. Mir gefiel der Anfang so gut. Damals war ich aber noch zu klein um die Story zu verstehen. Vor einigen Jahren sah ich es dann aber mal im TV und war ziemlich baff über die Story. Es ist eine Story, sehr nahe an der Realität, wie sie eigentlich jede Familie erleben könnte. "When a Man loves a Woman" ist keine normale Lovestory, sondern bietet einen interessanten Einblick in eine Familie, deren Mutter alkoholkrank ist.

Die Geschichte berührt sehr, vor allem durch die starken Charaktere, gespielt von Meg Ryan und Andy Garcia, sowie die bewegende Leistung von Tina Majorino. Ein Film der sich auf alle Fälle zu schauen lohnt. Er könnte vielleicht sogar einen kleinen Therapieeffekt erwirken.

Page 4: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

4/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Kurze Einführung in das Themengebiet

Sentiment: Definition

„Sentiment“ / „Semantic Orientation“ (SO) / „Opinion“

ist die subjektive Meinung über einen Gegenstand / Aktion / Prozess; positiver oder negativer Inhalt eines Wortes /Satzes /Texte

[Taboada et al., 2006]

z.B. „Der Film ist langweilig.“ „Der Film ist sehenswert.“

„Sentiment Analysis“

bezeichnet die automatische Auswertung von Texten mit dem Ziel, die Meinung des Verfassers ausfindig zu machen.

Page 5: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

5/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Kurze Einführung in das Themengebiet

Motivation / wofür Sentiment Analysis?

Ständig steigende Informationsmenge im Internet Texte können oft lang und unübersichtlich sein Filterung oft anhand eines Ranking (ohne Sentiment)

________________

Sentement Analysis

Beispiele: Produktbewertung Politik Kritiken Blogs und E-Mails

Page 6: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

6/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Grundsätzliche Lösungen

Grundidee/Hypothese:man vermutet, dass, wenn die SO aller relevanten Wörter im Text bekannt sind, man die SO des ganzen Textes ermitteln kann.z.B. Liste=[„langweilig“(NEG), „dilettantisch“(NEG), „erfolgreich“(POS), „genial“(POS)]

Wie werden die Lexika gebildet? Manuelle Bildung der Lexika:

mühsam, zeitaufwendig, subjektiv Halbautomatische Bildung der Lexika:

z.B. anhand der Wordfrequenzen Automatische Bildung der Lexika:

z.B. auf Wortebene, auf Phrasenebene

Page 7: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

7/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Grundsätzliche Lösungen

Wo wird gezählt?

Im ganzen Text In den Sätzen mit subjektivem Inhalt :

(1) „Die erfolgreiche Anwältin Claire Kubik ist seit langem mit dem Ex-Soldaten Tom verheiratet.“ (objektiv) (2) „Diese Rolle war sehr erfolgreich.“ (subjektiv)

Wie wird gezählt?

Alle Schlüsselwörter haben gleiche Gewichtung 1:1 Die Gewichtung ist verschieden und von der

- Textstruktur- Worthäufigkeit abhängig.

Page 8: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

8/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Modell

Quelle: “Thumbs up? Sentiment Classification using Machine Learning Techniques” von B.Pang and L.Lee, 2002

Vorgehensweise:1. Korpus aus Filmkritiken2. Manuelle und halbautomatische (Frequenzanalyse) Schlüsselwortlisten aus Adjektiven und Adverbien3. Zählen der gefundenen Schlüsselwörter nach Token / Type4. Optimierung der gewonnenen Sets

Warum für unser Projekt geeignet?Einfachere LösungLiefert gute ErgebnisseInteresse, ob es genauso gut für das Deutsche funktioniert

Page 9: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

9/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Baseline

Normalfall:

- Ein Simple Classifier weist Objekte nur einer Klasse zu:alle zur positiven oder alle zur negativen Klasse- Bei Korpusverteilung mit 50% positiven und 50% negativen Texte hätte er immer zu 50% Recht.

Unserer Fall:

- Korpusverteilung: 80% positive vs. 20% negative Texte- Unser Simple Classifier rät zu 80%, ins Kino zu gehen- Schwierig diesen Wert zu schlagen, weil 80% fürs Experimentieren schon recht hoch eingesetzt ist

Page 10: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

10/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment : Systemarchitektur

Datenbank für Filmkritiken

www.zelluloid.de

Positive Texte DB Negative Texte DB

NEG Wörterliste (q)

POS Wörterliste (q)

Doc1={t1: n, t2: m,..., tq: x} Doc1={t1: n, t2: m,..., tq: x}

Freq (f) von POS/NEG. Wörtern in beiden DB

Doc1={t1POS: n, t2POS: m, ..., tqPOS: x} Doc1={t1NEG: n, t2NEG: m, ..., tqNEG: x}

ΣtPOS >= oder < ΣtNEG

Bewertung: positiv bzw. negativ

Page 11: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

11/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Korpus

CorporaZelluloid.py

Positive Review > 55%Negative Review < 45%

Vor ca. 18.07.2007 – 116 Seiten, jede Seite hat 9 Reviews

Gesammt: 1024Positive: 818 Negative: 205

Nach ca. 18.07.2007 – ca 10 Seiten (gibt’s mehr Zeigt immer die 10te, jede Seite hat 10 Reviews.

Ergebniss pos/neg nach jedem extrakt. unterscheided sich (reviews update?)Gesammt: 100Positive: 87Negative: 13

Page 12: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

12/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Korpus

Entwicklung Flexible Variablen für: Domain, RelevanteLinks, Reguläre Ausdrücke

(Vorteil - wenn die HTML Struktur ändert sich, man muss nur Variablen anpassen)

2 Modulen: 1- Class FindReviews mit Hilfsfunktionen 2- Class Corpora_Zelluloid

Class FindReviews()

• readURL• readFile• writeSource• findPageLinks• deleteDoubleLinks• chooseWorkingLinks• findText• findRegEx• sortReviews• findInPage• html2Text• createDir• printSummary

Class FindReviews()

• readURL• readFile• writeSource• findPageLinks• deleteDoubleLinks• chooseWorkingLinks• findText• findRegEx• sortReviews• findInPage• html2Text• createDir• printSummary

Class Corpora_Zelluloid()

• findWorkingLinks • CreateFolders• RemoveFolders• updateFolders• main

Class Corpora_Zelluloid()

• findWorkingLinks • CreateFolders• RemoveFolders• updateFolders• main

Page 13: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

13/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Korpus

Evaluation - halbautomatischGründe für die Evaluation

Die Ergebnisse der Suche evaluieren, um sie eventuell anzupassen.

Bewertung der Ergebnisse:Precision (Genauigkeit) = Relevant Ausg. / Gesamt Ausg. Recall (Vollständigkeit) = Relevant Ausg. / Relevant Gesamt Fallout (Effektivität) = Irrelevant Ausg. / Irrelevant Gesamt F-Maß F = (ß*ß + 1) * P * R / (ß*ß * P + R) Ergebnisse nach F- Maß (ß=1) Vereinfachte Formel: F = 2 * P * R / (P + R)

Page 14: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

14/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Korpus

Evaluation - halbauthomatisch

Die Evaluation würde durchgeführt nach 18.07.07.

Var (Ergebnisse von CorporaZelluloid.py):TotalDownladedReviews = 100 TotalDownloadedPosReviews = 87TotalDownloadedNegReviews = 13LengthOfDownloadedReviews = 33083TotalNumberReviews = 100

Var (Manuell):TotalOnlineReviews = 100TotalOnlinePosReviews = 87TotalOnlineNegReviews = 13LengthOfOnlineReviews = 33109 (Gezählt im Microsoft Word)

Page 15: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

15/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Korpus

Evaluation - halbautomatisch

Ergebniss:

All Reviews:

• Precision: 100• Recall: 100• Fallout: 0.0 • F - Mass: 100

Pos Reviews:

• Precision: 100• Recall: 100• Fallout: 0.0 • F - Mass: 100

Neg Reviews:

• Precision: 100• Recall: 100• Fallout: 0.0 • F - Mass: 100

Length of All Reviews

• Precision: 100• Recall: 99• Fallout: - • F - Mass: 99

EvalZel.py This module helps to evaluate links, reviews and rating that 5 we extract from given Corpora

(ex. Zelluloid).

EvalZel.py This module helps to evaluate links, reviews and rating that 5 we extract from given Corpora

(ex. Zelluloid).

Class FindReviews()

• Precision• Recall• Fallout• Fmas• printEval• EvalZel

Class FindReviews()

• Precision• Recall• Fallout• Fmas• printEval• EvalZel

Mehr von Ergebnissen unter ..\eval\EvaluationZel

Page 16: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

16/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Korpus

Korpusverteilung für das Experimentieren

Training Set40%

Training Set40%

Development Test Set

30%

Development Test Set

30%

Final Test Set30%

Final Test Set30%

Korpus100%

Korpus100%

Test Set60%

Test Set60%

Page 17: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

17/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Keyword Lists

Ziel: Basis für das Experiment zu bildenautomatische Wortfrequenzliste aus Adjektiven und Adverbien erstellen passende Sentiment-Zielschlüsselwörter bestimmen

Warum Adjektive, Adverbien? gute Indikatoren der subjektiven Meinung erster Startpunkt das Experiment von Lee auf Deutsch nachzumachen

InputKorpora -> positiver Korpus

-> negativer Korpus Für jeden Korpus - separate Wortfrequenzliste

Page 18: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

18/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Keyword Lists

WordFreqSeparate.pyWordFreqSeparate.pytagger.pytagger.py

positive reviews

positive reviews

negative reviews

negative reviews

taggedpositive reviews

taggedpositive reviews

frequency list out of all ADJ / ADA

from positive reviews

frequency list out of all ADJ / ADA

from positive reviews

taggednegative reviews

taggednegative reviews

frequency list out of all ADJ / ADA

from negative reviews

manual word

selection

manual word

selection

positive word frequency listpositive word frequency list

negative word frequency listnegative word frequency list

Page 19: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

19/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Keyword Lists

Manuelle Wortauswahl

Problem:

Wortfrequenzlisten sehen ähnlich aus -> schwierig passende, sentiment-tragende Wörter zu wählen

Ergebnis:

Positive Liste:gut, besser, best, wirklich, groß, größ, einzig, echt, stark, perfekt, sehenswert, unterhaltsam

Negative Liste: einfach, schlecht, gar, schwer, scheinbar, halb, ziemlich, schlimm, langweilig, schwach, flach, relativ

Automatische positive Liste

Automatischenegative Liste

Page 20: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

20/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Keyword Lists

Wortfrequenzlisten aus Grundformen vs. Wortformen

WortformlisteGrundformlisteArgumente für Frequenzliste aus

Grundformen:

1. Es werden die Wörter mit den höchsten Frequenzwerten in die Liste genommen

2. Wortformen sind dagegen über mehrere Zeilen verteilt -> schwierig diese unter einen Nenner zu bringen

3. Das Programm hat ein Flexions-Modul, das diese Aufgabe übernimmt

Page 21: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

21/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Evaluation

EvalSentAnal.py

This module evaluates the Results for Sentiment Analysis. It contains the functions evaluation() and printResults()"""

EvalSentAnal.py

This module evaluates the Results for Sentiment Analysis. It contains the functions evaluation() and printResults()"""

Class FindReviews()

• Evaluation • printResults

Class FindReviews()

• Evaluation • printResults

EvaluationsmaßPrecision= Anzahl der richtig gefundenen positiven und negativen Texte / Anzahl der Gesamtkorpusgröße

Programmprototyp evaluieren

Input: manuell erstellte Keyword ListenProgramm: PrototypPrecision: 45.6%

=> Optimierung

Page 22: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

22/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Optimierung

review

Text Input Module

positive keyword list

negative keyword list

Keyword Input Module

programprogram

Output: “Geh ins Kino!” bzw.

“Bleib zuhause”

Sentiment Analysis Module

Optimierungen:

1. Keyword Input Module: Varianten der Keywordlisten

2. Sentiment Analysis Module:• Source Code Optimierung • Zählweise: Token vs. Type• Rahmen• Gewichtung• Negation

3. Text Input Module: getaggte vs. standarte Texteingabe

Page 23: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

23/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Optimierung

i. Keyword Listen WO? im Keyword Input Module: manuelle vs.

halbautomatische Liste

Manuelle Listen:Positive: empfehlenswert, gut, ausgezeichten, sehenswert

Negative: stört, schlecht, abzuraten, mieser

Halbautomatische Listen:Positive: gut, besser, best, wirklich, groß, größ, einzig, echt, stark, perfekt,

sehenswert, unterhaltsamNegative: einfach, schlecht, gar, schwer, scheinbar, halb, ziemlich,

schlimm, langweilig, schwach, flach, relativ

Precision: 45.6% (manuell) vs. 47% (halbautomatisch)

Page 24: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

24/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Optimierung

ii. Source Code WO? im Sentiment Analysis Module

Allgemeine Verbesserung des Programmprototypes precision: 47% (alt) vs. 53.3% (neue Version)

iii. Zählweise WO? im Sentiment Analysis Module

Änderung der Suchmethode

precision: 53.3% (Token) vs. 48.3% (Type)

iv. Texteingabe WO? im Text Input Module

Änderung der Texteingabe wegen falscher Umlauterkennung

precision: 53.3% (standard text input) vs. 62.2% (tagged text input )

Page 25: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

25/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Optimierung

i. Keyword Listen: neue Versionen von Listen erstellen WO? im Keyword Input Module

Problemstellung:

1. Tragen alle Wörter Sentiment in sich wie z.B. „halb“, „scheinbar“?

2. Sind manche Wörter zu allgemein wie z.B. „gut“?

Lösung: Erstellen Varianten von ListenNEG_1: einfach, schlecht, gar, schwer, scheinbar, halb, ziemlich, schlimm,

langweilig, schwach, flach, relativ

NEG_2: wie NEG_1 ohne „einfach“

NEG_3: wie NEG_1 ohne „halb“

NEG_4: wie NEG_1 ohne „halb“, „scheinbar“

NEG_5: wie NEG_1 ohne „halb“, „scheinbar“, „einfach“

POS_1: gut, besser, best, wirklich, groß, größ, einzig, echt, stark, perfekt, sehenswert, interesant, unterhaltsam

POS_2: wie POS_1 ohne „gut“

POS_3: wie POS_1 ohne „wirklich“

Page 26: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

26/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Optimierung

Abhängigkeit der Anzahl gefundener negativen Texte von der Anzahl gefundener positiven Texte und der Precision

Experiment

Keyword Input: NEG_1 mit POS_1/2/3 POS_1 mit NEG_1/2/3/4/5

Text Input:Standarte Texteingabe

Tendenz:je mehr man positiveTexte findet, desto weniger negative Texte gefunden werden, wächst die Precision auf Kosten der positiven Texte => weiter evaluieren

Precision grows in development experiments

0,00

10,00

20,00

30,00

40,00

50,00

60,00

70,00

80,00

0 2 4 6 8experiment number

percentage

precisionfound positive textsfound negative texts

Page 27: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

27/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Optimierung

Evaluation: Kombinieren von 4 Optimierungen

Keyword Listen: 6 negativen Listen, 4 positiven Listen 6*4=24 Kombinationsmogligkeiten

Texteingabe: standarte und getaggte Zählweise: token und type

Keyword Listen:

positiv + negativ

Standarte Texteingabe Getaggte Texteingabe

Zählweise Zählweise

Token Type Token Type

positive_0

negative_0

positive_...

negative_...

positive_3

negative_5

Page 28: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

28/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Optimierung

standard text input, token

0,00

20,00

40,00

60,00

80,00

100,00

120,00

0 5 10 15 20 25 30

experiment number

percentage

precision found positive found negative

tagged text input, type

0,00

20,00

40,00

60,00

80,00

100,00

120,00

0 5 10 15 20 25 30

experiment number

percentage

precision found positive found negative

tagged text input, token

0,00

20,00

40,00

60,00

80,00

100,00

120,00

0 5 10 15 20 25 30

experiment number

percentage

precision found positive found negative

standard text input, type

0,00

20,00

40,00

60,00

80,00

100,00

120,00

0 5 10 15 20 25 30

experiment number

precision

precision found positive found negative

Evaluation: Kombinieren von 4 Optimierungen

Page 29: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

29/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Optimierung

Zwischenbericht:

1. Alle Testversionen haben ähnliches Verhalten2. Die Precision wächst nur auf Kosten von positiven

Texten wegen der Korpusverteilung (80% zu 20%)3. Wegen des „simple Classifier Problems“ scheint die

Precision nicht allein für die Evaluation zu reichen4. Weiter optimieren

Ausgewählte Versionen für weiteren Optimierungen:

Neue ProgrammversionGetaggte TexteingabeZählweise nach TypeKeyword Listen: alle 24 Kombinationsmöglichkeiten

Page 30: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

30/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Optimierung

v. Rahmensuche

Grund: Besonderheit der Textstruktur da wir Filmreviews untersuchen besteht ein Text immer aus

Inhaltsbeschreibung (2/3) und Bewertung (1/3) die Bewertung befindet sich immer am Ende des Texts (=Rahmen)

Annahme 1:

das Vorkommen von keywords in der Inhaltsbeschreibung könnte das Gesamtergebnis verfälschen

=>daher: Suche beschränken auf den Rahmen

Annahme 2:

da die keyword-Listen aus dem gesamten Text gewonnen werden, könnten die keyword-Listen „schlechte“ Einträge haben

=>daher: Bildung neuer keyword-Listen nur aus dem Rahmen►

Page 31: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

31/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Optimierung

v. Rahmensuche

Realisierung Annahme 1 WO?: im Sentiment Analysis Module: search – Methode

Keyword Input Module

positive keyword listfull automatic

(search): check text only in frame

Sentiment Analysis Module

Text Input Module

reviewnegative keyword list

full automatic (main): countFreq or

count Words►

Page 32: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

32/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Optimierung

v. Rahmensuche

Realisierung Annahme 2 WO?: im Keyword Input Module

Keyword Input Module

positive keyword listfull automatic

(search): check text only in frame

Sentiment Analysis ModuleText Input Module

reviewnegative keyword list

full automatic (main): countFreq or

count Words

Text Cutter

positive texts

negative texts

Page 33: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

33/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

frames 2 token

0.00%

20.00%

40.00%

60.00%

80.00%

100.00%

120.00%

0 2 4 6

experiment number

precision

precision

found positive

found negative

Das Experiment: Optimierung

v. RahmensucheEvaluation

frames 2 type

0.00%

20.00%

40.00%

60.00%

80.00%

100.00%

120.00%

0 2 4 6

experiment number

precision

precision

found positive

found negative

frames 1 type

0.00%

20.00%

40.00%

60.00%

80.00%

100.00%

120.00%

0 2 4 6 8

experiment number

precision

precision

found positive

found negative

frames 1 token

0.00%

20.00%

40.00%

60.00%

80.00%

100.00%

120.00%

0 2 4 6 8

experiment number

precision

precision

found positive

found negative

An

na

hm

e 1

An

na

hm

e 2

Page 34: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

34/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Optimierung

vi. Gewichtung

Grund: Unterschiedliche Aussagekraft der keywords

nicht alle Einträge in der keyword-Liste sind gleichwertig bezüglich ihrer

Aussagekraft

Annahme je höher die Position eines keywords in der Frequenzliste, desto

aussagekräftiger ist es wenn ein Text nur wenige Treffer in der für ihn „richtigen“ keyword-

Liste erzielt, soll die Gewichtung helfen ihn dennoch richtig zu zuordnen

Vorgehensweise:

die Treffer der Suche werden mit Gewichten anhand der Frequenz

versehen►

Page 35: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

35/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Optimierung

vi. Gewichtung

Realisierung WO?: im Sentiment Analysis Module

Keyword Input Module

positive keyword listfull automatic

(search): check text only in frame

Sentiment Analysis Module

Text Input Module

reviewnegative keyword list

full automatic

(main): countFreq or count Words

(weights): adds weights to result

Page 36: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

36/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Optimierung

vi. GewichtungEvaluation

weights type

0.00%

20.00%

40.00%

60.00%

80.00%

100.00%

120.00%

0 5 10 15 20

experiment number

precision

precision

found positive

found negative

weights token

0.00%

20.00%

40.00%

60.00%

80.00%

100.00%

120.00%

0 5 10 15 20

experiment number

precision

precision

found positive

found negative

Page 37: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

37/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Optimierung

vii. Negation

Problem:

ein keyword besteht nur aus einem Wort, aber es gibt viele negative Ausdrücke, die der Form „Negation + positives Wort“ entsprechen

=> daher werden oftmals falsche positive Treffer erzielt

Lösung 1:

„unechte“ Treffer werden nicht gewertet werden

Vorgehensweise:

bei der Suche wird jedesmal wenn ein Treffer mit der keyword-Liste stattfindet geprüft, ob das vorangehende Wort eine Negation ist

(1) ist das voangehende Wort ein Negation, so wird der Treffer verworfen d.h. nicht gezählt

(2) ist das vorangehende Wort keine Negation, so wird der Treffer als solcher erkannt d.h. gezählt►

Page 38: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

38/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Optimierung

vii. Negation

Realisierung Lösung 1 WO?: im Sentiment Analysis Module: search – Methode

Keyword Input Module

positive keyword listfull automatic

(search): no match when previous word is

a negative particle

Sentiment Analysis Module

Text Input Module

reviewnegative keyword list

full automatic (main): countFreq or

count Words

Page 39: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

39/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Optimierung

vii. NegationEvaluation Lösung 1

negation token

0.00%

20.00%

40.00%

60.00%

80.00%

100.00%

120.00%

0 2 4 6 8 10

exxperiment number

precision

precision

found positive

found negative

negation type

0.00%

20.00%

40.00%

60.00%

80.00%

100.00%

120.00%

0 2 4 6 8 10

experiment number

precision

precision

found positive

found negative

Page 40: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

40/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Optimierung

vii. Negation Lösung 2:

WO?: in den KeyWord-ListenHinzufügen von negativen Partikeln „kein“ und „nicht“ an die Wörter in den Listen

WIE?: PosWords = posWords + (negWords with Partikeln)NegWords = negWords + (posWords with Partikeln)Aufteilen des Texts nach Wörtern; kommt ein Partikel nach einem Wort, dann Aufteilen in Partikel + Wort. Damit wir das nächste genommene Wort nicht doppelt haben (Wort, Partikel und Wort), merken wir uns den Platz des Wortes und löschen es.Zählen der Wörter mit Wort.Startswith und ignorieren, was am Ende steht.

Page 41: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

41/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

NEG Wörte Liste 1

POS Wörte Liste 1

POS Wörter + NEG. Partikeln

NEG Wörter + NEG. Partikeln

Partikeln Wörterliste „kein, nicht“

(main): countFreq or count Words

(datenbank_FK)

File mit neg Wörtern

File mit pos Wörtern

(words_semiAutomatic)

(words_semiAutomatic)

(wordsPartikeln_Automatic)

Das Experiment: Optimierung

Page 42: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

42/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Optimierung

Experimente:Mehrere Experimente durchgeführt für Freq.Count und Words Count wie:

Wörter wie “kein”, “keine” = kein und “gut”, “gutes” = gut

Satzzeichen “!” und “?” zählen“?” - zählen für negative “!” und “?” zählen für pos oder neg nur wenn nach pos oder neg Key Wort vorkommt“?” zählen nur ein malVerschiedene Gewichte für “?” und “!”

Mit Hilfe von Zufall entweder positiv oder negativ gewähltBeispiel: Jede 3te nicht als positive oder negative erkannt

= negative

Mehr von Experimenten unter \eval\EvaluationSentAnalysis\Results_Vladlena

Page 43: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

43/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Optimierung

Ergebnisse:Schlechte Ergebnisse bei Experimenten mit Satzzeichen

Beispiel: KeyWordPOS_Stat_1.txt,KeyWordNEG_Man_0.txt

Precision: 43,33%

Gute Ergebnisse mit Hilfe von Zufall

Beispiel: KeyWordPOS_Stat_1.txt,KeyWordNEG_Man_0.txt

Precision: 78,666%

Mehr von Ergebnissen unter \eval\EvaluationSentAnalysis\Results_Vladlena

Page 44: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

44/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. Quellenangaben

Das Experiment: Zusammenfassung

Zusammenfassung:

1. Die Baseline wurde erreicht, aber nicht geschlagen2. Alle Testversionen haben ein ähnliches Verhalten3. Wegen der Korpusverteilung (80% zu 20%) wächst

die Precision nur auf Kosten der positiven Texte.4. Wegen des „simple Classifier Problems“ reicht die

Precision allein nicht für die Evaluation aus.5. Menschliche Faktoren / Schreibstil können die

Analyse sehr erschweren Mögliche weitere Optimierung durch:

1. Erstellen eines neuen Evaluationsmaßes2. Neuer gleichverteilter Korpus3. Keywordlisten durch anderen Wortarten, z.B.

Substantive, Verben erweitern4. Gewichteverteilung durch Algorithmen berechnen5. Negationsmöglichkeiten erweitern

Page 45: Sentiment Analysis Abschlussvortrag zum Studienprojekt Svetlana Dedova, Stefanie Pischek, Vladlena Belinschi Dozenten: Dr. Detlef Prescher, Matthias Hartung.

45/45

1. Kurze Einführung in das Themengebiet

2. Grundsätzliche Lösungen

3. Das Modell

4. Das Experiment

- Baseline

- Systemarchitektur

- Korpus

- Keyword Lists

- Evaluation

- Optimierung:

- i. Keyword Listen

- ii. Source Code

- iii. Zählweise

- iv. Texteingabe

- v. Rahmen

- vi. Gewichtung

- vii. Negation

- Zusammenfassung

5. 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 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