Übung zu Information Retrieval
Diese Übung begleitet die Vorlesung Information Retrieval
Die Termine für die erste Übung sind am Montag und Dienstag, den 31. Oktober und 1. November. An diesen ersten Terminen wird die Übung vorgestellt und Gruppen zur Bearbeitung der Übungsaufgaben werden gebildet. Für die Teilnahme am Kurs ist die vollständige Anwesenheit an diesem ersten Termin erforderlich.
Termine
Montag | 13:00 - 15:00 | RUD 26, 1'306 |
Dienstag | 9:00 - 11:00 | RUD 25, 4.113 |
Ablauf
In der Übung werden verschiedene Aufgaben im Bereich des Information Retrieval praktisch zu lösen sein. Die Lösungen müssen entweder von Grund auf neu implementiert werden oder die frei verfügbare Suchmaschine Apache Lucene verwenden.
Die Arbeit erfolgt in Gruppen von je zwei Studierenden. Jede Gruppe muss alle Aufgaben erfolgreich bearbeitet haben. Die Aufgaben werden an einem Übungstermin ausgegeben, und die Lösungen müssen zwei bis drei Wochen später von einem der Gruppenmitglieder im Rahmen eines kurzen Vortrags dargestellt werden. In dem Vortrag geht es vor allem darum, gesammelte Erfahrungen an die gesamte Zuhörerschaft zu kommunizieren.
Wettbewerb (freiwillig)
Die Übung wird auch als Wettbewerb gestaltet. Das heißt, dass manche der Aufgaben verschieden gut gelöst werden können (schnellere Implementierung, bessere Qualität des Ergebnises etc.). Die drei besten Gruppen erhalten Punkte, und am Ende wird ein Gesamtsieger gekürt. Die Teilnahme an dem Wettbewerb ist freiwillig.
Die einzelnen Aufgaben und Termine
Diese Liste wird ständig aktualisiert. Folien zu den Aufgaben und notwendige Daten werden hier veröffentlicht.
- 31. Oktober, 1. November: Einführung (updated: 01.11.), Aufgabe 1
- 21., 22. November: Aufgabe 2
- 12., 13. Dezember: Aufgabe 3, Abgabe: 05. Januar 2017
- 9.,10. Januar: Aufgabe 4, Abgabe: 26. Januar 2017
- 23., 24. Januar: Aufgabe 5
- 13., 14. Februar: Abschluss
Aufgabe 1: IMDB Spider
- Abgabe: 17.11. 23:59 Uhr: Programmieraufgabe 1 (updated: 01.11.)
- Frequently Asked Questions (FAQ) (updated: 14.11., 17:38 Uhr)
- Bzgl. IMDB Spider
- Liste mit 500 Filmen: movies.json (updated: 07.11., UTF-8 encoding)
- Gerüst für den Crawler: IMDBSpider.java
- Exemplarische JSON-Film-Datei: Avatar (updated: 01.11.)
- Bzgl. IMDB Query
- Gerüst für die 10 Queries: IMDBQueries.java
- Klasse zum Einlesen einer JSON-Film-Datei: MovieReader.java
- Klasse für Filme: Movie.java
- Liste von über 800 Filmen zum Testen der Queries: movies_subset.zip
- Bibliotheken
Aufgabe 2: Boolean IR in Java
- Abgabe: 8.12. 23:59 Uhr: Programmieraufgabe 2 inklusive FAQ (updated: 07.12.)
- Zu vervollständigende Klasse: BooleanQuery.java (updated: 22.11.)
- Dateien mit Anfragen und deren Ergebnissen: queries_results.zip
- IMDB Title Formats | IMDB plain text data files
- Java Profiling: Visual VM
- Evaluation: Folien | Queries & Expected Results
Aufgabe 3: Boolean IR mit Lucene
- Abgabe: 5.1. 23:59 Uhr: Programmieraufgabe 3
- Zu vervollständigende Klasse: BooleanQueryLucene.java
- Dateien mit Anfragen und deren Ergebnissen: queries_lucene.zip
(updated: results_lucene.txt generiert aus plot.list vom 29.12.2016) - Lucene Core
- Evaluation: Folien
Aufgabe 4: Synonym Expansion with Lucene and WordNet
- Abgabe: 26.1. 23:59 Uhr: Programmieraufgabe 4 (updated: 13.1.)
- Zu vervollständigende Klasse: BooleanQueryLucene.java
- Dateien mit Anfragen und deren Ergebnissen: queries_wordnet.zip (updated: 17.1., generiert aus plot.list vom 12.1.2017)
- WordNet
- Evaluation: Folien
Aufgabe 5: Finding Frequent Word Co-Occurrences
- Abgabe: 9.2. 23:59 Uhr: Programmieraufgabe 5 (updated: 27.1.)
- Evaluation: Folien