Sentiment Analysis Studienprojekt

Slides:



Advertisements
Ähnliche Präsentationen
Das Web in der politischen Bildung – Das Politische im Web
Advertisements

Präsentiert von Torben Pastuch
Ebru Iscan, Andrea Kováčová Experimente Seminar "Experimentielle Evaluierung im IR"
Kohonennetze für Information Retrieval mit User Feedback
Intelligente Anwendungen im Internet
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
Webseitenranking für Suchanfragen anhand von Linkgraphen
Zugehörigkeitsfunktion (Wahrheitsfunktion) m
TECHNISCHE UNIVERSITÄT DARMSTADT Naive Bayes for Ranking
Maschinelle Lernverfahren für IE und TM 1 Topic Detection.
Dr. Helmuth Sagawe WS 2010/11 Universität Heidelberg
Seminar Textmining WS 06/07 Themen Übung 11 unsupervised vs. supervised Symbolfolgen, Kunstsprachen Page Rank.
Seminar Textmining WS 06/07 Aufgaben III Termgewichtung Postings Datei Clustering.
Seminar Textmining WS 06/07 Aufgaben IV Postings Datei Clustering Probabilistisches Information Retrieval.
Inhaltlich orientierter Zugriff auf unstrukturierte Daten
1© The Delos Partnership 2006 January 2006 LEAN ENTERPRISE Implementierungsworkshop.
Fallstudie. 2 Statistik April Dokumente Jan Mio. Dokumente Performance 3 Mio. Queries pro Tag 9. Juni 2000 Most popular search engines.
MBT: A Memory-Based Part of Speech Tagger-Generator
Algorithmentheorie 04 –Hashing
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Union-Find-Strukturen
XINDICE The Apache XML Project Name: Jacqueline Langhorst
1 Automatische Klassifikation von Nomen nach Begriffstyp Christof Rumpf Heinrich-Heine-Universität
Information Retrieval Modelle: Vektor-Modell
Flaches Parsing mit endlichen Automaten Referat und Implementierung Jutta Jäger
Numerische Klassifikation TWINSPAN
Internet facts 2006-III Graphiken zum Berichtsband AGOF e.V. März 2007.
Internet facts 2008-II Graphiken zu dem Berichtsband AGOF e.V. September 2008.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Zusammenfassung Vorwoche
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
Sentiment Analysis Abschlussvortrag zum Studienprojekt
Wie funktionieren Suchmaschinen?
Relevanz Ranking Bisher: Sind wir davon ausgegangen, dass das Ergebnis des Rankings des statistischen Verfahrens in den Index geschrieben wird und dem.
Relevanz Ranking Bisher:
Beispielrelation Buchbestellungen H = Menge der bedeutenden Ziele = {a, d} Schwelle T = 4 Stichprobe S = {a, b, a, a, a, a} mit s = |S| = 6 N = Anzahl.
Intelligentes Crawling im WWW mit Hilfe intuitiver Suchbedingungen
Classification of Credit Applicants Using Data Mining. Thema.
Vortragender Messung des Erfolgs einer Website Subjektive Attraktivität Besuchsintensität Produktivität Finanzielle Maße
Christian Steinle, Joachim Gläß, Reinhard Männer
Time Notes.
Maschinelles Lernen und automatische Textklassifikation
Entitäten Extraktion Einführung
Entitäten Extraktion Wichtige Schritte Petra Maier WS 05/06.
Standard-Software Prof. Dr. Erik Jacobson Lehrveranstaltung im SS 2006
WS 2005/06Standard-Software Prof. Dr. Erik Jacobson Blatt 1 Standard-Software Prof. Dr. Erik Jacobson Lehrveranstaltung im WS 2005/06 Vorlesung.
20:00.
Eignung von Grammatik-basiertem Layout für grafische Programmiersprachen Seminar Layout-Algorithmen für Graphen Institut für Informatik Christian-Albrechts.
1 Knowledge Discovery mit Wordnet und Alembic Workbench (Julia Faion) (Markus Reiter)
Fressen Tiger Menschenkinder? Eine Einführung ins Internet als Quelle MATA -Workshop 2010.
1 Semiautomatische Medienresonanz- und Diffusions-Analyse Waltraud Wiedermann, GF APA-DeFacto und APA-MediaWatch Michael Granitzer, Know-Center.
Analyse von Ablaufdiagrammen
Archival and Discovery
Performance-Testing als Basis für Performanceoptimierungen
Generalisiertes Vektorraummodell (Generalized Vector Space Model, GSVM) Karin Haenelt
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
Using latent semantic analysis to find different names for the same entity in free text Präsentation und Diskussion des Papers Im Rahmen des PS Web-Information.
Proseminar GMA Web Suche und Information Retrieval (SS07)
Information Retrieval, Vektorraummodell
Die Ganze Welt im Computer? Informationsbeschaffung im Internet
BUSINESS & ECONOMICS OVERVIEW 5 HRD. 5th term Business Plan Investment & Financing Banks Financial market: Sock exchange, Shares, Bonds, etc. Management.
Informationsrecherche & Analyse im Netz
Jonathan Harrington: "Die phonetischen Grundlagen des Lautwandels“
CL Tree MW 31.1 Business Intelligence Wintersemester 2015 / 2016 Stanislav Prokupetz.
SE Mustererkennung WS 08/09 Horst Bischof Seminar Mustererkennung 3SE Horst Bischof, Michael Donoser Thema: 3D Representation for Recognition Zusammenwirken.
Emanuel Mistretta Lukas Schönbächler
OFFICE 365 FOCUS SESSION SHAREPOINT ONLINE 101:LERNE DIE BASICS 19. März 2018 Höhr-Grenzhausen.
Integrating Knowledge Discovery into Knowledge Management
 Präsentation transkript:

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)

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 „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 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 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 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ö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ö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ö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ö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ö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

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) Good 3 + wonderfull 4 (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) Good 3 + wonderfull 4 (main)

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ö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ö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 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 Testset Genauigkeit Ties Baseline 1 ...% Baseline 2

Mögliche Verbesserungen 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: Hinzufügen von negativen Partikeln wie „kein“, „nicht“ an die Wörter in den Listen

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) Note: Negative Artikeln sollen wir manuell sammmeln? POS Wörte Liste 1 (main) (datenbank_FK)

Arbeitsschritte und Zeitplan (Vorläufig) Reviews extrahieren Corpora 1 Aufbereitung der benötigen Corpora Evaluierung der Corpora (manuell /halbautomatisch / automatisch?) Html -> text Bewertung extrahieren Vladlena 25.06.2007 Vladlena 25.06.2007 Reviews extrahieren Corpora 2 Review nach POS und NEG trennen Bewertung extrahieren Vladlena 10.07.2007 Vladlena 25.06.2007 Vladlena 10.07.2007 (datenbank_FK) Key Wörter Manuell erstellen (words_manuell) Häufigkeit zählen (main) 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 Stefanie 20.07.2007 Svetlana 20.07.2007 Svetlana 30.06.2007

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