Anwendung von Vektormodell und boolschem Modell in Kombination

Ähnliche Dokumente
Part-Of-Speech-Tagging mit Viterbi Algorithmus

Personalisierung. Der Personalisierungsprozess Nutzerdaten erheben aufbereiten auswerten Personalisierung. Data Mining.

Korpora in NLTK Vortrag im Seminar Computerlinguis6sche Textanalyse WS 2014/15 (B- GSW- 12, M- GSW- 09)

Textdokument-Suche auf dem Rechner Implementierungsprojekt

Welche Textklassifikationen gibt es und was sind ihre spezifischen Merkmale?

Web Information Retrieval. Zwischendiskussion. Überblick. Meta-Suchmaschinen und Fusion (auch Rank Aggregation) Fusion

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

Suchmaschinen. Anwendung RN Semester 7. Christian Koczur

Vorlesung Information Retrieval Wintersemester 04/05

GDI-Forum Nordrhein-Westfalen Technischer Workshop 2 - Geodienste INSPIRE-konforme Download-Dienste. Inhalt

GATE General Architecture for Text Engineering. Alexander Hein & Erik Dießler (VL Text Analytics )

Clustering mit dem K-Means-Algorithmus (Ein Experiment)

Recommender Systems. Stefan Beckers Praxisprojekt ASDL SS 2006 Universität Duisburg-Essen April 2006

Seminar Datenbanksysteme

Übung Medienretrieval WS 07/08 Thomas Wilhelm, Medieninformatik, TU Chemnitz

Full Text Search in Databases

Vorlesung Suchmaschinen Semesterklausur Wintersemester 2013/14

Integration, Migration und Evolution

XML und seine Anwendungsmöglichkeiten bei der Archivierung im Gesundheitswesen

Web Data Mining. Albert Weichselbraun

Tagging von Online-Blogs

Sentiment Analysis (SA) Robert Bärhold & Mario Sänger Text Analytics WS 2012/13 Prof. Leser

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

Ähnlichkeitssuche auf XML-Daten

Text Mining mit LingPipe

Datenmanagement und einfache Automatisierungen in Ingenieursanwendungen mit dem DataFinder Eike Hoffmann 5. April 2006 Frankfurt a.m.

Wissensrepräsentation

Web Scraping. Seminar Aktuelle Software-Engineering Praktiken für das World Wide Web JK

Einführung in die Java- Programmierung

SCHNITTSTELLEN ZUR NUTZUNG DER KORPUSANALYSEPLATTFORM KORAP

Datenbank- Recherche. SS Veranstaltung 18. Juni Philipp Schaer - philipp.schaer@gesis.org Philipp Mayr - philipp.mayr@gesis.

Ruhr.pm XML-Daten verarbeiten mit XML::LibXML Autor: Datum:

neofonie DER SPEZIALIST FÜR IHRE INFORMATIONSARCHITEKTUR

design kommunikation development

Web Service Discovery mit dem Gnutella Peer-to-Peer Netzwerk

VisVerdi goes VSIM. VisVerdi Import/Export und VisVerdi light

MCP Managing Conference Proceedings

5. Suchmaschinen Herausforderungen beim Web Information Retrieval. Herausforderungen beim Web Information Retrieval. Architektur von Suchmaschinen

XML-Frameworks in verschiedenen Programmiersprachen Proseminar Textkodierung und Auszeichnung

SharePoint 2013 als Wissensplattform

Semantik Visualisierung

Benutzermodelle, Information Retrieval und Visualisierung

Vorlesung Information Retrieval Wintersemester 04/05

Lernende Suchmaschinen

Die treffende Auswahl anbieten: Im Internet (Referat 3a)

Endliche Automaten zur Erkennung von Stoppwörtern

Configuration Management mit Verbosy OSDC Eric Lippmann

Dr. Thomas Meinike Hochschule Merseburg

Modellierung von Geodaten

HEALTH Institut für Biomedizin und Gesundheitswissenschaften

Wie Google Webseiten bewertet. François Bry

Bioinformatik I (Einführung)

Semantische Suche auf einem Web-Korpus

5. Vorlesung. Das Ranking Problem PageRank HITS (Hubs & Authorities) Markov Ketten und Random Walks PageRank und HITS Berechnung

Objektorientierte Datenmodelle und - verwaltung

Semantische Bildsuche mittels kollaborativer Filterung und visueller Navigation

Seminar. NoSQL Datenbank Technologien. Michaela Rindt - Christopher Pietsch. Richtlinien Ausarbeitung (15. November 2015)

Expose zur Studienarbeit Indizierung von XML-Daten mittels GRIPP

SINT Rest App Documentation

Tag 9: Datenstrukturen

SemTalk Services. SemTalk UserMeeting

Online-Recherche: Web-Recherche WS 2015/ Veranstaltung 3. Dezember 2015

Methodik zur Qualitätsbeurteilung von IT Managementprozessen auf Basis von ITIL

Zusatzfeatures für herkömmliche OPACs

SDK zur CRM-Word-Schnittstelle

SAS Metadatenmanagement Reporting und Analyse

Fallbasierte automatische Klassifikation nach der RVK - k-nearest neighbour auf bibliografischen Metadaten

DPF Dynamic Partial distance Function

Proseminar - Data Mining

Lazar (Lazy-Structure-Activity Relationships)

Zabbix 2.4. What's new? What's new in Zabbix of

Inhalt. TEIL I Grundlagen. 1 SAP HANA im Überblick Einführung in die Entwicklungsumgebung... 75

Kontextbasiertes Information Retrieval

Institut for Geodäsie and Geoinformationstechnik. Kopplung von 3D Stadtmodellen mit Cloud-Diensten

Information Retrieval in XML- Dokumenten

GIS und raumbezogene Datenbanken

Freebase Eine Datenbank mit RDF-Tripeln zu Personen, Orten, Dingen( )

Microsoft SQL Server 2005 Konfigurierung, Administration,

Proseminar - Data Mining

Ruby on Rails. Thomas Baustert Ralf Wirdemann Alternative zur Web-Entwicklung mit Java?

Abstrakt zum Vortrag im Oberseminar. Graphdatenbanken. Gero Kraus HTWK Leipzig 14. Juli 2015

Modellierung eines Epidemie- Frühwarnsystems mit. Nicolas With Master Seminar WS 2012/13

SAP NetWeaver Gateway. 2013

Auch der eigene Katalog als Quelle: Zusammenführung von elektronischer und gedruckter Fassung; verschiedenen Auflagen usw.: Fließender Übergang zu

Analyse von Student-Studentund Student-Tutor-Interaktionen

Apache Lucene. Mach s wie Google! Bernd Fondermann freier Software Architekt bernd.fondermann@brainlounge.de berndf@apache.org

PHILIPP-SCHAFFNER.CH. Teil der Blooniverse Media Group. 28. November 2009 DrupalCamp Vienna

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Proseminar - Data Mining

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Sharing Digital Knowledge and Expertise

Semantische Reputationsinteroperabilität

Konferenzbericht EKAW 2012

Big Data bei unstrukturierten Daten. AW1 Vortrag Sebastian Krome

Toleranzschema. ArtemiS SUITE

CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis

10 Tipps, mit denen Ihr Google-Analytics-Account doppelt so effektiv wird (Teil I -Tipp1-5)

BillSAFE Payment Layer Integration Guide

Ersetzt die Suchmaschine den Verbund-OPAC? Erfahrungen, Perspektiven und mögliche Kooperationsfelder aus Sicht der Verbünde

Konzeption und Entwicklung eines intelligenten Software-Agenten zum Web-Content-Mining

Transkript:

Anwendung von Vektormodell und boolschem Modell in Kombination Julia Kreutzer Seminar Information Retrieval Institut für Computerlinguistik Universität Heidelberg 12.01.2015

Motivation Welche Filme sind empfehlenswert? www.moviepilot.de/movies/ha rry-potter-7-harry-potter-unddie-heiligtümer-des-todes-2 [9.1.15] www.gutefrage.net/frage/gute-zombie-filme [9.1.15]

Motivation Welche Filme sind empfehlenswert? kollaboratives Filtering: Filmbewertung durch Nutzende inhaltsbasiert: Ähnlichkeiten von Filmen allgemeine Problematik im IR: Definition der Relevanz Lösung: diese Definition den Nutzenden überlassen durch Realisierung einer Kombination von Modellen

Überblick 1. Motivation 2. Ziel 3. Umsetzung A. Konzept B. Daten C. Implementierung 4. Demo 5. Weitere Ideen

Ziel Implementierung eines Filmempfehlungssystem, das viele Filme kennt ohne Nutzerbewertungen auskommt die Relevanz der Empfehlungen erläutert individuelle Anfragen erlaubt Anfragen effizient bearbeitet

Umsetzung: Konzept IR Modell: Analyse Filme F Anfrage A F Analyse Repräsentation Matching & Ranking empfohlene Filme E F \{A}

Umsetzung: Konzept Film xy finde ich gut, welche Filme sind ähnlich bezüglich Kriterien a und b? Filme F Anfrage A F Analyse Analyse Repräsentation Matching & Ranking empfohlene Filme E F \{A}

Umsetzung: Konzept Datenbasis: Informationen zu Filmen: ID, Titel, Plot, Schauspieler, Input: Anfrage=FilmID, Gewichtung von Ähnlichkeitskriterien, k Output: k ähnlichste Filme aus der Datenbasis bezüglich der Ähnlichkeitskriterien, Details zur Empfehlung

Umsetzung: Konzept Matching: gewichtete Kombination von mehreren Ähnlichkeitsscores Kriterium Titel Plot Genre(s) Schauspieler Regisseur(e) Ähnlichkeitsmaß Edit Distance Cosinus semantischer Vektoren Jaccard (Menge) Jaccard (Menge) Jaccard (Menge) Beispiel: w = [1, 5, 3, 9, 0] nw = [1/18, 5/18, 1/6, 1/2, 0] totalsimscore = 1/18*titleSim + 5/18*PlotSim + 1/6*GenreSim + 1/2*CastSim

Umsetzung: Daten Filmsammlung: Beschränkung auf Kino- und TV-Filme Informationen zu Filmen: eindeutige ID, User-Ratings, Kritiken, Titel (in verschiedenen Sprachen), Genre, Länge, Regisseur, Drehbuchautor, Schauspieler, Zusammenfassung, Zitate, Produktionsdetails, uvm

Umsetzung: Implementierung Vorgehen bei der Implementierung (python): 1. Erstellung der Filmsammlung 2. Interne Repräsentation der Filme 3. Erstellung eines semantischen Vektorraums für Plots 4. Erstellung einer Ähnlichkeitsmatrix, bzw. Index 5. Anfrage- und Empfehlungsroutinen, Demo

Umsetzung: Implementierung 1. Erstellung der Filmsammlung imdbpy: Python API für IMDb Zugriff auf IMDb-Daten für Filme und deren Attribute auch: Titelsuche, Abspeichern im XML-Format i = IMDb() id = 167260 m = i.get_movie(id)

Umsetzung: Implementierung 2. Interne Repräsentation der Filme Film-Daten zu top 250 Filmen (XML): 13,4 MB Filtern ausgewählter Attribute mit xml.dom: FilmID Titel (englisch) Plot und Plot-Zusammenfassung Genre Schauspieler Regisseur Movie- Instanzen pickle dump: 1,2 MB

Umsetzung: Implementierung 3. Erstellung eines semantischen Vektorraums für Plots Dimensionen: Titel, Plots (NLTK Stoppwörter gefiltert) Aufbau des Vektormodells: gensim (python library) Dictionary für Dimensionen: Wort ID Repräsentation der Filme als Bag of Words = Korpus LogEntModel für Korpus Index für dieses Modell erzeugen und abspeichern

Umsetzung: Implementierung 3. Erstellung eines semantischen Vektorraums für Plots LogEntropy-Gewicht für Term i in Dokument j: localweight i, j =log(frequency i, j +1) P i, j = frequency i, j j frequency i, j globalweight i =1+ j P i, j log(p i, j ) log(numberofdocuments+1) finalweight i, j =localweight i, j globalweight i

Umsetzung: Implementierung 3. Erstellung eines semantischen Vektorraums für Plots movies = loadmovies( top250movies.pkl ) d = loaddict( top250movies.dict ) corpus = movies2corpus(movies) corpusbow = corpus2bow(corpus) model = models.logentropymodel(corpusbow) index = similarities.docsim.similarity("index/", model[corpusbow], len(d), len(movies)) movies index.save("logent_top250movies.index") index

Umsetzung: Implementierung 4. Erstellung einer Ähnlichkeitsmatrix, bzw. Index Option 1: Ähnlichkeit zur Laufzeit berechnen Option 2: Ähnlichkeitsmatrix zuvor berechnen

Umsetzung: Implementierung 4. Erstellung einer Ähnlichkeitsmatrix, bzw. Index Option 2: Ähnlichkeitsmatrix zuvor berechnen 1) für jedes Film-Paar 5 Ähnlichkeiten 5 Matrizen 2) Sparse Matrix: scipy.sparse.coo_matrix 3) gensim.matutils.sparse2corpus MmCorpus 4) Serialisierung des MmCorpus Zugriff in O(1)

Demo Demo 1: top250 Filme, Stand 2.11.14 Demo 2, Erweiterung: top1000 Filme mit >10.000 Bewertungen, Stand 9.1.15

Demo 1

Demo 2

Weitere Ideen Datensatz: vergrößern ad-hoc Online-Abfrage (ohne Ähnlichkeitsmatrix) Funktionalität: Titelsuche einbauen Anfrageoption mit dummy movie verfeinerte Ähnlichkeitsmaße

Referenzen Quellen des Bildmaterials für Folie 2: www.gutefrage.net/frage/gute-katastrophen-endzeitfilme www.moviepilot.de/movies/harry-potter-7-harry-potter-und-dieheiligtümer-des-todes-2 (alle: Stand 9.1.15) Internet Movie Database Filmlisten: http://www.imdb.com/chart/top [2.11.14] http://www.imdb.com/search/title?at=0&num_votes=10000 [9.1.15]

Referenzen Karin Haenelt, Information Retrieval. Einführung. Kursfolien. 19.10.2013 http://kontext.fraunhofer.de/haenelt/kurs/folien/haenelt_ir_intro.pdf gensim: Řehůřek, Radim, and Petr Sojka. "Software framework for topic modelling with large corpora." In Proceedings of the LREC 2010 Workshop on New Challenges for NLP Frameworks, pp 45-50, May 2010. NLTK: Bird, Steven, Edward Loper and Ewan Klein (2009), Natural Language Processing with Python. O'Reilly Media Inc. IMDbPY: http://imdbpy.sourceforge.net/ [11.1.15]