Implementation und Evaluation des Vektormodells anhand von TREC-Daten

Ähnliche Dokumente
Implementierung eines Vektormodells

Anwendung von Vektormodell und boolschem Modell in Kombination

Evaluierung von Information Retrieval Systemen Teil 1: Standardverfahren. Karin Haenelt

Thema: Prototypische Implementierung des Vektormodells

Information Retrieval und Question Answering

Implementierung: Dokumentclustering

Klassisches Information Retrieval Jan Schrader

Nachteile Boolesches Retrieval

Information Retrieval Modelle: Boolesches Modell. Karin Haenelt

Evaluierung und Retrievalmaße. Seminar experimentelle Evaluierung In Information Retrieval WS05/06

Einführung in die Computerlinguistik Information Retrieval: tf.idf

HS Information Retrieval

Klassische Information Retrieval Modelle Einführung

Implementierung des Vektor Modells

Information Retrieval, Vektorraummodell

Rückblick. Aufteilung in Dokumente anwendungsabhängig. Tokenisierung und Normalisierung sprachabhängig

Praxisteil. Seminar experimentelle Evaluierung in IR WS05/06 Gruppe A

Bücher und Artikel zum Thema

Materialsammlung zur Implementierung von Information Retrieval Systemen

Rückblick. Aufteilung in Dokumente anwendungsabhängig. Tokenisierung und Normalisierung sprachabhängig

Information Retrieval und Question Answering Universität Trier LDV/CL WS 2009/2010 HS Dialogsysteme Kai Kugler

Programmierkurs Python

Inhaltsverzeichnis. Geleitwort. Abbildungsverzeichnis. Tabellenverzeichnis. Abkürzungsverzeichnis. Symbolverzeichnis

Information Retrieval als Fachgebiet in der Schnittmenge zwischen Informationswissenschaft, Informatik und Computerlinguistik

Projektgruppe. Clustering und Fingerprinting zur Erkennung von Ähnlichkeiten

Prototypische Komponenten eines Information Retrieval Systems: Vektormodell

Prof. Dr. Udo Hahn. Seminar im Modul M-GSW-09 WiSe 2016/17

Verteiltes Information Retrieval

Dokumentclustering am Beispiel von Liedtexten

Modell und Implementierung einer temporalen Anfragesprache

T = {t 1,..., t n } sei die Menge der Terme. D = {d 1,..., d m } sei die Menge der Dokumente.

Welche Textklassifikationen gibt es und was sind ihre spezifischen Merkmale?

Google Knowledge Graph. Kursfolien Teil 2. Karin Haenelt

SEMINAR KLASSIFIKATION & CLUSTERING STATISTISCHE GRUNDLAGEN. Stefan Langer WINTERSEMESTER 2014/15.

Seminar Text- und Datamining Textmining-Grundlagen Erste Schritte mit NLTK

(Bamberg)

Klassen von Retrieval-Modellen. Boolesche und Vektorraum- Modelle. Weitere Modell-Dimensionen. Retrieval-Modelle. Boolesche Modelle (Mengen-basiert)

Boolesche- und Vektorraum- Modelle

Kapitel IR:II. II. Grundlagen des Information Retrieval. Retrieval-Evaluierung Indexterme

Klassifikation von Textabschnitten

Retrieval Modelle. Boolesche- und Vektorraum- Modelle. Weitere Modell-Dimensionen. Klassen von Retrieval Modellen. Boolesche Modelle (Mengentheorie)

Information Retrieval,

Kapitel IR:III (Fortsetzung)

Internet-Suchmaschinen Probabilistische Retrievalmodelle

3. Retrievalmodelle Grundkonzept des Vektorraummodells. Vektorraummodell. Dokumente und Anfragen werden als Vektoren in einem Vektorraum aufgefaßt.

Federated Search: Integration von FAST DataSearch und Lucene

Information Retrieval. Domenico Strigari Dominik Wißkirchen

Question Answering mit Support Vector Machines

Information-Retrieval: Vektorraum-Modell

Der VITERBI-Algorithmus

Evaluation von IR-Systemen

Hauptseminar Information Retrieval. Karin Haenelt Vorschläge für Seminarprojekte

Tagging mit Hidden Markov Models und Viterbi-Algorithmus

Hauptseminar Information Retrieval. S. Friedrich und M. Häsner


Boole sches Retrieval als frühes, aber immer noch verbreitetes IR-Modell mit zahlreichen Erweiterungen

Information-Retrieval: Evaluation

SPRACHTECHNOLOGIE IN SUCHMASCHINEN IR-GRUNDLAGEN

Algorithmische Anwendungen WS 05/06 Document Ranking

Text-Mining: Datenaufbereitung und -repräsentation

Entity Search. Michel Manthey Arne Binder 2013

Automatische Textzusammenfassung

Elementare Begriffe der Wahrscheinlichkeitstheorie für die Sprachverarbeitung

KLAUSUR ZUM BACHELORMODUL PROBEKLAUSUR ÜBUNG COMPUTERLINGUISTISCHE ANWENDUNGEN PROBEKLAUSUR, DR. BENJAMIN ROTH KLAUSUR AM

Einführung in das Natural Language Toolkit

Einführung in Apache Solr

Informationssysteme für Ingenieure

Anwendungen der KI / SoSe 2018

Eruierung von Methoden zur Exploration von Textwiederverwendung in großen Datenmengen am Beispiel der Wikipedia

1 Boolesches Retrieval (2)

Übersicht. Volltextindex Boolesches Retrieval Termoperationen Indexieren mit Apache Lucene

Übungen zu Multimedia-Datenbanken Aufgabenblatt 2 - Musterlösungen

Praktischer Teil des Seminars. Gruppe C Sebastian Raßmann Christian Michele

Evaluierung von Information Retrieval Systemen / /

12. Vorlesung. Statistische Sprachmodelle für Information Retrieval

Kapitel 19 Textstatistik. HHU Düsseldorf, WS 2008/09 Information Retrieval 287

Stemming. OS Einblicke in die Computerlinguistik Felix Hain HTWK Leipzig

INEX. INitiative for the Evaluation of XML Retrieval. Sebastian Rassmann, Christian Michele

Latent Semantic Indexing: Einführung und Experiment

Möglichkeiten der automatischen Sprachverarbeitung mit Django

PCA based feature fusion

Suchmaschinen. Anwendung RN Semester 7. Christian Koczur

IR Seminar SoSe 2012 Martin Leinberger

Suchmaschinentechnologie

Dependency-Based Construction of Semantic Space Models ( Padó, Lapata 2007) Distributionelle Semantik WS 11/

Exposé zur Studienarbeit. 04. August 2010

Sprachübergreifendes Information Retrieval (CLIR)

Implementation eines Rankingverfahrens in Perl - Dokumentation und Evaluation -

Automatische Rekonstruktion und Spezifizierung von Attributnamen in Webtabellen

KLAUSUR ZUM BACHELORMODUL PROBEKLAUSUR ÜBUNG COMPUTERLINGUISTISCHE ANWENDUNGEN PROBEKLAUSUR, DR. BENJAMIN ROTH KLAUSUR AM

Besonderheiten der Daten (1) Information Retrieval im Internet. Suchmaschinen: Zentralisierte Architektur. Besonderheiten der Daten (2)

6. Probabilistische Retrievalmodelle. Norbert Fuhr

Stemming. Referenten: Johannes Lang Rossen Kowatschew

Wortähnlichkeit: Praktische Implementierung

Boole'sches Modell <is web>

2.4 Effiziente Datenstrukturen

Analyse von News-Artikeln

Transkript:

Implementation und Evaluation des Vektormodells anhand von TREC-Daten Seminarprojekt Information Retrieval WS 2015/2016 Bastian Beyer, Alexander Birkenkamp Institut für Computerlinguistik Universität Heidelberg 18. Januar 2016 Beyer, Birkenkamp Vektormodell 18. Januar 2016 1 / 44

Gliederung Motivation Vorgehen Systemarchitektur Datengrundlage Preprocessing Ähnlichkeitsfunktionen Evaluation Konklusion Ausblick Quellenangabe Beyer, Birkenkamp Vektormodell 18. Januar 2016 2 / 44

Motivation Implementation Motivation Implementation eines klassischen IR-Modells Implementation des Vektormodells 1. Preprocessing-Schritte: obligatorisch: Tokenisierung optional: Stoppwort-Entfernung, Stemming 2. Variierung der Termgewichtung: normalisierte Termfrequenz (tf-gewichte) vs. tf-idf-gewichte 3. Verwendung verschiedener Ähnlichkeitsfunktionen: Skalarprodukt, Kosinus-, Dice-, Jaccard-, Overlap-Koeffizient Beyer, Birkenkamp Vektormodell 18. Januar 2016 3 / 44

Motivation Evaluation Motivation Evaluation des implementierten Modells Evaluation des implementierten Vektormodells anhand einer Dokumentenkollektion von der TREC liefert Goldstandard fachlich anerkannt Verwendung der AQUAINT-2 -Kollektion des Question Answering Track 2007 Beyer, Birkenkamp Vektormodell 18. Januar 2016 4 / 44

Motivation Zentrale Fragestellung Zentrale Fragestellung. Welchen Einfluss auf die Qualität des Suchergebnisses hat die Verwendung verschiedener Preprocessing-Schritte, Termgewichte und. Ähnlichkeitsfunktionen für eine Implementation des Vektormodells? Beyer, Birkenkamp Vektormodell 18. Januar 2016 5 / 44

Vorgehen Aufgaben Aufgaben 1. Extraktion der Anfragen, Relevanzbeurteilungen und Dokumente aus Dateien 2. Bildung von Anfrage- und Dokumentobjekten 3. Preprocessing der Anfrage- und Dokumentobjekte i. Tokenisierung ii. Stoppwort-Entfernung (optional) iii. Stemming (optional) iv. Sammeln des Vokabulars Beyer, Birkenkamp Vektormodell 18. Januar 2016 6 / 44

Vorgehen Aufgaben Aufgaben (3.) Preprocessing der Anfrage- und Dokumentobjekte v. Ermittlung der Termfrequenzen für alle Dokumente vi. Identifizierung der maximalen Termfrequenz für alle Dokumente vii. Bestimmung der Dokumenthäufigkeiten für alle Terme viii. Erzeugung von Vektorrepräsentationen 4. Ranking der Dokumentobjekte mittels Ähnlichkeitsfunktionen 5. Evaluation des Rankings Beyer, Birkenkamp Vektormodell 18. Januar 2016 7 / 44

Systemarchitektur Aufbau des Systems Aufbau des Systems Q. Preprocessing Tokenisierung F Datenextraktion Q (Stoppwort-Entfernung) (Stemming) Q L Vektortransformation Ranking Preprocessing R Tokenisierung Evaluation D Datenextraktion D (Stoppwort-Entfernung) (Stemming) D Vektortransformation Abbildung 1 : Aufbau des verwendeten Systems als UML-Diagramm Beyer, Birkenkamp Vektormodell 18. Januar 2016 8 / 44

Systemarchitektur Aufbau des Systems Aufbau des Systems Abkürzung Beschreibung Q F L D Q Anfrageobjekte D Dokumentobjekte Q vorverarbeitete Anfrageobjekte Sammlung von Testfragen (XML-Datei) Relevanzbeurteilungen für Faktoidfragen (Textdatei) Relevanzbeurteilungen für Listenfragen (Textdatei) Dokumentenkollektion (XML-Dateien) D vorverarbeitete Dokumentobjekte R Relevanzbeurteilungen der geordneten Dokumente (Textdatei) Tabelle 1 : Legende zu UML-Diagramm Beyer, Birkenkamp Vektormodell 18. Januar 2016 9 / 44

Systemarchitektur Modulübersicht Modulübersicht Query.py und Document.py: Implementierung der Eigenschaften eines Anfrage- bzw. Dokumentobjektes Identifizierer, Inhalt, Terme, Vektorrepräsentation; bei Anfragen zusätzlich Identifizierer relevanter Dokumente DataReader.py: Einlesen der Fragen, Relevanzbeurteilungen und Dokumente Erzeugung von Anfrage- und Dokumentobjekten Beyer, Birkenkamp Vektormodell 18. Januar 2016 10 / 44

Systemarchitektur Modulübersicht Modulübersicht Preprocessor.py: Vorverarbeitung von Anfrage- und Dokumentobjekten Tokenisierung, Stoppwort-Entfernung, Stemming, Vektortransformation Ranking.py: Implementierung der Ähnlichkeitsfunktionen Erzeugung der Dokumenten-Rankings Schreiben der Relevanzbeurteilungen der geordneten Dokumente in Ausgabedatei zur Verarbeitung mittels Evaluationsskript Implementierung in Python 2.7 Klassendiagramme siehe Anhang A Beyer, Birkenkamp Vektormodell 18. Januar 2016 11 / 44

Datengrundlage Übersicht über die Daten Datengrundlage Übersicht über die Daten AQUAINT-2 -Dokumentenkollektion: englische Zeitungsartikel, z. B. aus New York Times oder von Associated Press Zeitraum: Oktober 2004 bis März 2006 906.777 Dokumente in 108 XML-Dateien (ca. 2,5 GB) Anfragen aus Sammlung von Testfragen: drei Typen von Fragen: FACTOID, LIST, OTHER insgesamt 515 Fragen gespeichert in einer XML-Datei Relevanzbeurteilungen der Dokumente: jeweils eine Textdatei für Faktoid- und Listenfragen legen Goldstandard fest Beyer, Birkenkamp Vektormodell 18. Januar 2016 12 / 44

Datengrundlage Dokumentenkollektion Datengrundlage Dokumentenkollektion Extraktion der Identifizierer und Dokumententexte Text zwischen den Attributen HEADLINE, DATELINE, DATE_TIME, KEYWORD, TEXT und P Bildung von Dokumentobjekten <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE DOCSTREAM SYSTEM 'a2_newswire_xml.dtd'> <DOCSTREAM> [...] <DOC id="nyt_eng_20050316.0370" type="story"> <HEADLINE> TV COLUMN: AND NOW FOR A WILDER KINGDOM </HEADLINE> <TEXT> [...] <P> [...] In 1960 Marlin Perkins, the original "Wild Kingdom" host, joined Sir Edmund Hillary in a Himalayan expedition in which Perkins examined evidence of the Abominable Snowman. [...] </P> [...] </TEXT> </DOC> [...] </DOCSTREAM> Abbildung 2 : Auszug aus XML-Datei mit Dokumenten Beyer, Birkenkamp Vektormodell 18. Januar 2016 13 / 44

Datengrundlage Anfragen Datengrundlage Anfragen aus Sammlung von Testfragen Extraktion der Identifizierer und Fragentexte Ausschluss von Fragen des Typs OTHER, da diese nur Other als Text enthalten und somit für unsere Aufgabenstellung nicht verwendbar sind Erzeugung von Anfrageobjekten (445 insgesamt) <trecqa year="2007" task="main"> [...] <target id = "285" text = "Yeti"> <qa> <q id = "285.1" type="factoid"> In what year did Sir Edmund Hillary search for Yeti? </q> </qa> <qa> <q id = "285.2" type="list"> In what U.S. states have sightings of Yeti been reported? </q> </qa> [...] <qa> <q id = "285.6" type="other"> Other </q> </qa> </target> [...] </trecqa> Abbildung 3 : Auszug aus XML-Datei der Testfragen Beyer, Birkenkamp Vektormodell 18. Januar 2016 14 / 44

Datengrundlage Relevanzbeurteilungen Datengrundlage Relevanzbeurteilungen der Dokumente Extraktion von Anfrage- und Dokumentidentifizierern aus beiden Dateien Abspeicherung in Anfrageobjekten Ausschluss von BLOG06 -Dokumenten (Korpus steht uns nicht zur Verfügung) [...] 285.1 NYT_ENG_20050316.0370 1 1960 285.1 AFP_ENG_20060112.0171-1 2009 285.1 BLOG06-20060120-027-0023862837 1 1960 285.1 AFP_ENG_20050804.0340-1 September 2003 [...] Abbildung 4 : Auszug aus Textdatei der Relevanzbeurteilungen für Faktoidfragen [...] 285.2 AFP_ENG_20041031.0192-1 0 Kathmandu 285.2 AFP_ENG_20041031.0518 2 0 Florida 285.2 AFP_ENG_20041031.0518-1 0 Colorado 285.2 AFP_ENG_20041031.0518-1 0 Pennsylvania [...] Abbildung 5 : Auszug aus Textdatei der Relevanzbeurteilungen für Listenfragen Beyer, Birkenkamp Vektormodell 18. Januar 2016 15 / 44

Datengrundlage Erstellung des Test Set Erstellung des Test Set Problem: Verarbeitung aller Dokumente sehr rechenaufwändig, daher Reduzierung der zu verarbeitenden Datenmenge zufällige Auswahl von 25 Anfragen, ihrer lt. Goldstandard relevanten Dokumente und einer gleichen Anzahl zufällig gewählter, lt. Goldstandard irrelevanter Dokumente somit insgesamt 1.146 Dokumente (davon 573 relevante) Test Set parallele Programmierung möglicher Ansatzpunkt für weitere Arbeit zur Vergrößerung der Datenmenge Beyer, Birkenkamp Vektormodell 18. Januar 2016 16 / 44

Preprocessing Anfragen und Dokumente Preprocessing der Anfragen und Dokumente 1. Tokenisierung (obligatorisch): Funktion word_tokenize des Natural Language Toolkit ( NLTK ) Aussortierung von Punktuationszeichen aus Python-Liste string.punctuation 2. Entfernung englischer Stoppwörter (optional): Liste stopwords.words(''english'') aus nltk.corpus zusätzlich Entfernung ihrer kapitalisierten Varianten 3. Stemming (optional): nltk.stem.snowball: stem-methode des EnglishStemmer Beyer, Birkenkamp Vektormodell 18. Januar 2016 17 / 44

Preprocessing Termgewichte Berechnung der Termgewichte auf Basis der Dokumente Erstellung von Vektorrepräsentationen auf Basis der Dokumententerme in den Varianten: a. Tupel mit normalisierten Termfrequenzen (tf-gewichten) b. Tupel mit Produkten aus normalisierter Termfrequenz und inverser Dokumentfrequenz (tf-idf-gewichten) Beyer, Birkenkamp Vektormodell 18. Januar 2016 18 / 44

Ähnlichkeitsfunktionen Skalarprodukt und Kosinus-Koeffizient Ähnlichkeitsfunktionen 1 für Vektoren q, d mit n Einträgen Skalarprodukt (einfache Übereinstimmung) n (q k d k ) k=1 Kosinus-Koeffizient n k=1 (q k d k ) n k=1 q2 k n k=1 d2 k 1 Vgl. Haenelt, Karin (2012), Kursfolien Ähnlichkeitsmaße für Vektoren, S. 8 Beyer, Birkenkamp Vektormodell 18. Januar 2016 19 / 44

Ähnlichkeitsfunktionen Dice- und Jaccard-Koeffizient Ähnlichkeitsfunktionen 1 für Vektoren q, d mit n Einträgen Dice-Koeffizient 2 n k=1 (q k d k ) n k=1 q k + n k=1 d k Jaccard-Koeffizient n k=1 (q k d k ) n k=1 q k + n k=1 d k n k=1 (q k d k ) 1 Vgl. Haenelt, Karin (2012), Kursfolien Ähnlichkeitsmaße für Vektoren, S. 8 Beyer, Birkenkamp Vektormodell 18. Januar 2016 20 / 44

Ähnlichkeitsfunktionen Overlap-Koeffizient Ähnlichkeitsfunktionen 1 für Vektoren q, d mit n Einträgen Overlap-Koeffizient n k=1 min(q k, d k ) min ( n k=1 q k, n k=1 d k) 1 Vgl. Haenelt, Karin (2012), Kursfolien Ähnlichkeitsmaße für Vektoren, S. 8 Beyer, Birkenkamp Vektormodell 18. Januar 2016 21 / 44

Evaluation Vorgehen Vorgehen bei der Evaluation Dokumente aus Test Set werden für jede Anfrage und jede Variante des Vektormodells gerankt Evaluation des erstellten Rankings durch Python-Skript (evaluator.py) Berechnung je eines Recall-Precision-Graphen pro Modellvariante zur vergleichenden Darstellung der Evaluationsergebnisse Beyer, Birkenkamp Vektormodell 18. Januar 2016 22 / 44

Evaluation Evaluationsmaße Evaluationsmaße 2 Precision Anzahl der relevanten Dokumente im Suchergebnis Anzahl aller Dokumente im Suchergebnis Recall Anzahl der relevanten Dokumente im Suchergebnis Anzahl aller relevanten Dokumente Relevanz durch Goldstandard festgelegt für Recall-Precision-Graph Messung bzw. Interpolation der Precision auf 11 Standard-Recall-Ebenen (0,0 0,1 1,0) 2 Vgl. Haenelt, Karin (2009), Kursfolien Evaluierung von Information Retrieval Systemen. Teil 1: Standardverfahren, S. 8 f. Beyer, Birkenkamp Vektormodell 18. Januar 2016 23 / 44

Evaluation Ergebnisse für Preprocessing Evaluationsergebnisse Übersicht - Preprocessing Darstellung der Evaluationsergebnisse des Vektormodells als Recall-Precision-Graph bei Verwendung verschiedener Preprocessing-Module: ohne Preprocessing (Baseline) mit Stoppwort-Entfernung mit Stemming mit Kombination aus Stoppwort-Entfernung und Stemming - bei Verwendung verschiedener Termgewichte - bei Verwendung verschiedener Ähnlichkeitsfunktionen Beyer, Birkenkamp Vektormodell 18. Januar 2016 24 / 44

Evaluation Ergebnisse für Preprocessing Verwendung verschiedener Preprocessing-Module Berechnung mit Skalarprodukt und tf-gewichten Precision 1 0.8 0.6 0.4. beide Module.. Stoppwort-. Entfernung. Stemming.. Baseline. 0.2 0. 0 0.2 0.4 0.6 0.8 1 Recall Beyer, Birkenkamp Vektormodell 18. Januar 2016 25 / 44

Evaluation Ergebnisse für Preprocessing Verwendung verschiedener Preprocessing-Module Auswertung Stemming ohne klaren Vorteil möglicher Grund: geringes Maß an Flektion im Englischen auch bei Verwendung von Stoppwort-Entfernung kein zusätzlicher Zugewinn durch Stemming Stoppwort-Entfernung sehr hilfreich möglicher Grund: gleichmäßige Verteilung von Stoppwörtern über alle Dokumente Auftreten von Stoppwörtern dadurch kaum informativ für Unterscheidung der Dokumente (bei Nichtbeachtung des Kontextes!) Beyer, Birkenkamp Vektormodell 18. Januar 2016 26 / 44

Evaluation Ergebnisse für Termgewichte Evaluationsergebnisse Übersicht - Termgewichte Darstellung der Evaluationsergebnisse des Vektormodells als Recall-Precision-Graph - bei Verwendung verschiedener Preprocessing-Module bei Verwendung verschiedener Termgewichte: tf-gewichte (Baseline) tf-idf-gewichte - bei Verwendung verschiedener Ähnlichkeitsfunktionen Beyer, Birkenkamp Vektormodell 18. Januar 2016 27 / 44

Evaluation Ergebnisse für Termgewichte Verwendung verschiedener Termgewichte Berechnung mit Skalarprodukt, ohne Preprocessing 1 0.8. tf.. tf-idf. Precision 0.6 0.4 0.2 0. 0 0.2 0.4 0.6 0.8 1 Recall Beyer, Birkenkamp Vektormodell 18. Januar 2016 28 / 44

Evaluation Ergebnisse für Termgewichte Verwendung verschiedener Termgewichte Auswertung bei tf-gewichten nur Dokumentlänge betrachtet klarer Vorteil durch Einbeziehung der inversen Dokumentfrequenz, welche die Verteilung der Terme im Korpus berücksichtigt dadurch Abwertung von Termen, die in vielen Dokumenten vorkommen Beyer, Birkenkamp Vektormodell 18. Januar 2016 29 / 44

Evaluation Ergebnisse für Ähnlichkeitsfunktionen Evaluationsergebnisse Übersicht - Ähnlichkeitsfunktionen Darstellung der Evaluationsergebnisse des Vektormodells als Recall-Precision-Graph - bei Verwendung verschiedener Preprocessing-Module - bei Verwendung verschiedener Termgewichte bei Verwendung verschiedener Ähnlichkeitsfunktionen: Skalarprodukt (Baseline) Kosinus-Koeffizient Dice-Koeffizient Jaccard-Koeffizient Overlap-Koeffizient Beyer, Birkenkamp Vektormodell 18. Januar 2016 30 / 44

Evaluation Ergebnisse für Ähnlichkeitsfunktionen Verwendung verschiedener Ähnlichkeitsfunktionen ohne Preprocessing, mit tf-gewichten Precision 1 0.8 0.6 0.4. Skalarprodukt.. Kosinus.. Dice.. Jaccard.. Overlap. 0.2 0. 0 0.2 0.4 0.6 0.8 1 Recall Beyer, Birkenkamp Vektormodell 18. Januar 2016 31 / 44

Evaluation Ergebnisse für Ähnlichkeitsfunktionen Verwendung verschiedener Ähnlichkeitsfunktionen Auswertung Unterschiede besonders im Bereich Recall < 0.5 Kosinus-Koeffizient mit leicht besserem Ergebnis als Skalarprodukt und Overlap-Koeffizient Dice- und Jaccard-Koeffizient mit geringerer Precision und fast gleichen Ergebnissen möglicher Grund für fast gleiche Ergebnisse: relativ ähnliche Berechnung Beyer, Birkenkamp Vektormodell 18. Januar 2016 32 / 44

Evaluation Ergebnisse mit komplettem System Verwendung verschiedener Ähnlichkeitsfunktionen mit komplettem Preprocessing und Verwendung von tf-idf-gewichten Precision 1 0.8 0.6 0.4. Skalarprodukt.. Kosinus.. Dice.. Jaccard.. Overlap. 0.2 0. 0 0.2 0.4 0.6 0.8 1 Recall Beyer, Birkenkamp Vektormodell 18. Januar 2016 33 / 44

Konklusion Konklusion bei Verwendung von komplettem Preprocessing und tf-idf-gewichten deutlich bessere Ergebnisse als bei Baseline-System Stoppwort-Entfernung und Verwendung von tf-idf-gewichten (d. h. Abwertung von Wörtern, die nicht informativ für die Unterscheidung sind) scheinen größten Einfluss zu haben Beyer, Birkenkamp Vektormodell 18. Januar 2016 34 / 44

Ausblick Ausblick Verarbeitung von mehr als nur 25 Anfragen und 1.146 Dokumenten (z. B. ein komplettes TREC-Datenset) durch Parallelisierung und Verwendung von mehr Arbeitsspeicher Evaluation weiterer Retrievalmodelle Einbeziehung syntaktischer und semantischer Eigenschaften von Wörtern sowie deren Kontext bzw. Kookkurrenz für die Bestimmung der Ähnlichkeit Beyer, Birkenkamp Vektormodell 18. Januar 2016 35 / 44

Quellenangabe Datenquellen Datenquellen Dokumentenkorpus Vorhees, Ellen & David Graff. 2008. AQUAINT-2 Information-Retrieval Text Research Collection LDC2008T25. Philadelphia: Linguistic Data Consortium. Korpus vorhanden am Institut für Computerlinguistik der Universität Heidelberg. Pfad: /resources/corpora/monolingual/raw/aquaint-2/data/ Version vom 21.05.2007 Beyer, Birkenkamp Vektormodell 18. Januar 2016 36 / 44

Quellenangabe Datenquellen Datenquellen Anfragen und Relevanzbeurteilungen TREC 2007 Factoid Judgments. http://trec.nist.gov/data/qa/2007_qadata/factoid_judgments.txt Version vom 12.02.2015 TREC 2007 List Judgments. http://trec.nist.gov/data/qa/2007_qadata/list_judgments.txt Version vom 12.02.2015 TREC 2007 Test Questions. http://trec.nist.gov/data/qa/2007_qadata/qa2007_testset.xml.txt Version vom 12.06.2007 Beyer, Birkenkamp Vektormodell 18. Januar 2016 37 / 44

Quellenangabe Literatur Literatur TREC 2007 Question Answering Guidelines. http://trec.nist.gov/data/qa/2007_qadata/qa.07.guidelines.html Version vom 12.02.2015 Baeza-Yates, Ricardo & Berthier Ribeiro-Neto. 1999. Modern Information Retrieval. Harlow, England: Addison-Wesley Longman. Bird, Steven, Ewan Klein & Edward Loper. 2009. Natural Language Processing with Python. Beijing, Köln: O Reilly. Beyer, Birkenkamp Vektormodell 18. Januar 2016 38 / 44

Quellenangabe Kursfolien HS Information Retrieval Kursfolien HS Information Retrieval Haenelt, Karin. 2009. Information Retrieval Modelle. Vektormodell. Kursfolien vom 25.10.2012 (1. Fassung vom 26.10.2001) http://kontext.fraunhofer.de/haenelt/kurs/folien/ Haenelt_IR_Modelle_Vektor.pdf Haenelt, Karin. 2012. Ähnlichkeitsmaße für Vektoren. Kursfolien vom 25.10.2012 (1. Fassung vom 15.11.2000) http://kontext.fraunhofer.de/haenelt/kurs/folien/ Haenelt_VektorAehnlichkeit.pdf Haenelt, Karin. 2009. Evaluierung von Information Retrieval Systemen. Teil 1: Standardverfahren. Kursfolien vom 27.11.2009 http://kontext.fraunhofer.de/haenelt/kurs/folien/ Haenelt_IR-Evaluierung01.pdf Beyer, Birkenkamp Vektormodell 18. Januar 2016 39 / 44

Quellenangabe Abbildungs- und Tabellenverzeichnis Abbildungs- und Tabellenverzeichnis Abbildungen: Abbildung 1: Abbildung 2: Abbildung 3: Abbildung 4: Abbildung 5: Diagramme: eigene Darstellung; vgl. Haenelt, Karin (2009), Kursfolien Information Retrieval Modelle. Vektormodell, S. 3 f. Auszug aus AQUAINT-2 -Korpus [Vorhees, Ellen & David Graff (2008)] Auszug aus TREC 2007 Test Questions [siehe Datenquellen] Auszug aus TREC 2007 Factoid Judgments [siehe Datenquellen] Auszug aus TREC 2007 List Judgments [siehe Datenquellen] eigene Ergebnisse Tabellen: Tabelle 1: siehe Abbildung 1 Beyer, Birkenkamp Vektormodell 18. Januar 2016 40 / 44

Anhang A Klassendiagramme Anhang A: Klassendiagramme Module Query.py und Document.py Query _id : str _content : str _terms : list _vec : tuple _reldocs : list. init ( qid : str, content : str ) : Query Akzessoren und Mutatoren _id : str _content : str _terms : list _vec : tuple Document init ( did : str, content : str ) : Document Akzessoren und Mutatoren Beyer, Birkenkamp Vektormodell 18. Januar 2016 41 / 44

Anhang A Klassendiagramme Anhang A: Klassendiagramme Modul DataReader.py DataReader _queries : list _numqueries : float _documents : list _numdocuments : float init () : DataReader. _readqueriesfile( filename : str ) : None _readjudgmentsfiles( factoidjudgmentsfilename : str, listjudgmentsfilename : str ) : None _readdocumentsfiles( path : str ) : None reducedata() : None Akzessoren und Mutatoren Beyer, Birkenkamp Vektormodell 18. Januar 2016 42 / 44

Anhang A Klassendiagramme Anhang A: Klassendiagramme Modul Preprocessor.py Preprocessor _queries : list _numqueries : float _documents : list _numdocuments : float _stopwordremoval : bool _stemming : bool _tfidfweights : bool _vocabulary : dict _numvocabs : float _docstermsfreq : dict _docsmaxtermfreq : dict _termsdocsfreq : dict. init ( dr : DataReader, stopwordremoval : bool, stemming : bool, tfidfweights : bool ) : Preprocessor _tokenize() : None _removestopwords() : None _stem() : None _buildvocabulary() : None _countdocstermsfreq() : None _finddocsmaxtermfreq() : None _counttermsdocsfreq() : None _buildqueriesvec() : None _builddocumentsvec() : None Akzessoren und Mutatoren Beyer, Birkenkamp Vektormodell 18. Januar 2016 43 / 44

Anhang A Klassendiagramme Anhang A: Klassendiagramme Modul Ranking.py Ranking _queries : list _numqueries : float _documents : list _numdocuments : float _simfunction : str _outputfilename : str _rankings : dict _reljudgments : dict init ( pr : Preprocessor,. simfunction : str, outputfilename : str ) : Ranking _dotproduct( u : tuple, v : tuple ) : float _cosine( u : tuple, v : tuple ) : float _dice( u : tuple, v : tuple ) : float _jaccard( u : tuple, v : tuple ) : float _overlap( u : tuple, v : tuple ) : float _rank() : None _createreljudgments() : None _writereljudgments() : None Akzessoren und Mutatoren Beyer, Birkenkamp Vektormodell 18. Januar 2016 44 / 44