Allgemeines zu den Übungen Web Mining
Am Mittwoch, 16.7. 15:15 in E302, findet das letzte Tutorium statt.
Die Übungsphase ist (fast; siehe Tutorium) abgeschlossen. Danke für die Teilnahme und die interessanten Diskussionen.
Die Ergebnisse für Übung 5 sind online.
Die nachfolgenden Hinweise finden sich in ähnlicher Form auch in den Folien zur Vorbesprechung (letzte Aktualisierung: 25.4.14) der Übungen.
Anmeldung zur Übung
Wer Übungsaufgaben abgeben möchte, muss sich mit seiner TU-ID am Upload-System anmelden. Die Anmeldung läuft wie folgt ab:
- Loggen Sie sich unter /webmining-upload/ mit Ihrer TU-ID ein.
- Bei der ersten Anmeldung müssen Sie sich registrieren.
- Einigen Sie sich für die Gruppenzuordnung mit ihren Teammitgliedern, wer die Gruppe erzeugt.
- Diese Person erzeugt unter Gruppe eine neue Gruppe und teilt den anderen Mitgliedern die Gruppennummer mit.
- Die anderen Mitgliedern fügen sich dann unter dem gleichen Punkt der korrekten Gruppe zu.
- Die Anmeldung ist theoretisch jederzeit möglich. Allerdings ist eine manuelle Zuordnung zu einer Gruppe nur bis kurz vor der ersten Abgabe möglich. Das genaue Datum wird auf dieser Seite mitgeteilt.
- Nachträgliche Änderungen der Gruppenzuordnungen sind nur über den Veranstalter über Email möglich.
- Bitte teilen Sie uns mit sollten Schwierigkeiten mit dem Upload/Anmeldesystem auftreten.
Ablauf
Im Rahmen der Übungen werden praktische Erfahrungen mit einigen der in der Vorlesung vorgestellten Konzepten gesammelt. Die Aufgaben können auch in kleinen Gruppen (maximal 3 Teilnehmer) gelöst werden. Geben Sie bei der Abgabe alle Gruppenmitglieder an.
Es wird ca. alle 14 Tage ein Übungsblatt geben, das zu lösen ist. Die Übungsaufgaben werden dann zu einem bestimmten Termin diskutiert, wobei einige Gruppen aufgefordert werden, ihre Lösungen zu präsentieren.
Es wird erwartet, daß pro Gruppe mindestens eine Person anwesend ist, und daß Sie in der Lage sind, jedes abgegebene Beispiel im Rahmen der Übungen zu präsentieren. Sollten Sie dazu aus irgendwelchen Gründen nicht in der Lage sein, müssen Sie das rechtzeitig bekannt geben.
Beurteilung
Die Absolvierung der Übungen ist nicht verpflichtend, Sie können jedoch Bonuspunkte erwerben, die auf die Klausurnote angerechnet werden. Verbesserungen bis zu einem Notengrad sind möglich. Die Klausur muß jedoch unabhängig von den Übungspunkten bestanden werden. Im Sommersemester 2012 gabe es z.B. 5 Übungen, die jeweils mit 10 Punkten plus 2 möglichen Bonuspunkten bewertet wurden. Die Summe der Übungspunkte wird in Klausurpunkte umgerechnet, so daß die maximal erreichbare Punktzahl (50) für einen Notensprung reicht.
Achtung: In der Vergangenheit mußten wir leider feststellen, daß einige Lösungen zur Gänze aus nicht angegebenen Quellen im Internet bzw. aus Lösungen des Vorjahres kopiert wurden. Wir werden dies auch weiterhin kontrollieren. Wir weisen Sie nochmals darauf hin, daß diese Übungsabgaben als Teil Ihrer Prüfungsleistung anzusehen sind. Ein Betrugsversuch bei der Prüfungsleistung führt automatisch zu einer negativen Gesamtbeurteilung für diese Vorlesung. Geben Sie daher nur ab, wenn Sie Ihre Lösungen selbst erstellt haben.
Bei der Vorlesungsklausur werden keine Programmier-Kenntnisse erwartet!
Abgabe
Die Abgabe wird als ZIP-Archiv mit dem Namen abgabe1.zip (bzw. abgabe2.zip usw.) oder ähnliches auf der Web Mining Upload-Seite mit der TU-ID hochgeladen. Dabei kann jedes Team nur eine Abgabe hinterlegen. Die Datei, die zuletzt von einem Teammitglied hochgeladen wurde, wird dann als Abgabe des Teams genommen.
Das ZIP-Archiv soll folgendes enthalten:- das Lösungsdokument: eine PDF-Datei (z.B. abgabe_1.pdf), die die Lösungen der Aufgaben darstellt. Das Dokument muss keine spezielle Form haben, es sollte sich jedoch für eine Präsentation in der Übung eignen. (Unter Windows lassen sich PDF-Dokumente leicht mit dem virtuellen Druckertreiber PDFCreator erzeugen.)
- zusätzliche Ergebnisdateien, die Teile der Lösung darstellen, welche zu groß sind, um sie sinnvoll im Lösungsdokument zu integrieren, etwa größere Listen und Tabelle.
- die Quelldateien der Programme, welche zur Lösung der Aufgaben implementiert wurden.
- die Beispieldateien, auf die die Programme angewandt wurden und auf die sich das Lösungsdokument bezieht. Für die Analyse von Web-Seiten sollten diese als Offline-Kopie vorliegen.
- Die Lösung muss ohne mündliche Erklärung nachvollziehbar sein, d.h. sie muss genügend Erläuterungen und Ausführungen enthalten. Eine reine Ansammlung von Graphiken und Tabellen ohne jegliche Begleittexte ist hierfür z.B. nicht ausreichend.
- Die Dateien zusätzlich zur PDF-Datei sollten nur zum Nachweis oder für Detailfragen zur Verfügung stehen. Eine vollständige Bewertung sollte allein anhand der PDF-Datei möglich sein.
- Tabellen, Diagramme, Graphen, Code-Listings, Abbildungen jeglicher Art müssen vollständig beschriftet sein, d.h. sie müssen zumindest direkt an der Abbildung eine kurze Beschreibung enthalten und ausreichend kommentiert sein. Im Falle z.B. von Achsen bei einem Graphen müssen diese vollständig beschriftet sein.
- Die Beispieldateien, auf die sich eine Analyse, Tabelle oder Graphik bezieht, müssen immer angegeben werden.
- Bitte keine längeren Code-Listings einfügen, stattdessen auf die konkrete Quelldatei verweisen.
- In PDF-Dateien lassen sich Links auch auf lokale Dateien setzen.
Programmierung
Zur Lösung der Aufgaben wird es im Allgemeinen notwendig sein, zu programmieren. Im Zentrum der Ausarbeitung eines Übungsbeispiels sollte die Beantwortung der gestellten Fragen sein. Das Programm, das Sie zur Beantwortung dieser Fragen schreiben, ist nur Mittel zum Zweck und nur von sekundärem Interesse. Dementsprechend bleibt es Ihnen überlassen, welche Programmier-Werkzeuge Sie verwenden, mit der Ausnahme der einfachen Firefox-Plugins, die in Javascript zu erweitern sind.
Wir würden die Verwendung von Python oder Perl empfehlen, da für beide Sprachen eine große Sammlung von Bibliotheken zur Behandlung und Verarbeitung von Text- und Web-Dokumenten zur Verfügung steht.
Python
Im folgenden sind einige für die Übung relevante Python-Frameworks aufgeführt.- Natural Language Toolkit
- advas: Modul für Textsuche
- Harvestman: web-crawler aus Indien, leider so gut wie undokumentiert
- ruya: web-crawler, benötigt htmldata und kconv, bei letzteren muss in den modul-Dateien eventuell noch UTF-8 als encoding definiert werden.
- robotparser: Python robots.txt Parser
- re: Python regular expression modul
Perl
Eine komfortable Windows-Installation bietet ActivePerl an. Tutorials zu Perl und Beispielprogramme finden Sie zahlreich im Netz, z.B. jenes aus der Web-Mining-Veranstaltung 2006. Perl-Module für alle Lebenslagen finden sie im CPAN Archive. Eine empfehlenswerte Sammlung von praktischen Bausteinen ist das Perl Cookbook. Perl-Module installieren Sie am einfachsten mit perl -MCPAN -e shell und dann mit install modul-name.Javascript und Firefox-Addons
- Add-on Developer Hub: Anlaufstelle für Add-On Programmierung mit Dokumentation, How-Tos, APIs, Tools etc.
- W3 Javascript School: Tutorials und Dokumentation für die Programmierung von Javascript
Diagramme
Sie können zum Erstellen der Graphen jedes beliebige Werkzeug heranziehen. Aufgrund der großen Datenmengen ist jedoch ein automatisiertes Plotten der Daten empfehlenswert.
- matplotlib (Python): Umfangreiche Bibliothek zum Erstellen von Plots orientiert sich in seiner Funktionsweise an matlab.
- jfree (Java): Umfangreiche Bibliothek zum Erstellen von Plots
- gnuplot: Tool zum Erstellen von Plots. Vielleicht gibt es auch Wrapper zu Python und anderen Sprachen.
- r-project: R ist eine Sprache und Umgebung für statistische Berechnungen und Grafiken.
- graphviz: Tool zum Zeichnen von (un)gerichteten Graphen. Ein Python Wrapper existiert.
Weitere nützliche Links
Übungsaufgaben
Übungsblatt 1
- Übungsblatt 1
- Abgabe bis Sonntag, 11.5.
Übungsblatt 2
- Übungsblatt 2
- Abgabe bis Sonntag, 25.5.
Übungsblatt 3
- Übungsblatt 3
- Abgabe bis Sonntag, 8.6.
Übungsblatt 4
- Übungsblatt 4
- Abgabe bis Sonntag, 22.6.
Übungsblatt 5
- Übungsblatt 5
- Abgabe bis Sonntag, 6.7.
Tutorium
Es findet zu jeder Übung, und zwar ca. eine Woche nach einer Übungsaufgabe und dementsprechend auch ca. eine Woche vor der nächsten Abgabe, ein Tutorium statt. In diesem können Lösungsabgaben nochmals persönlich besprochen werden und ggf. für die nächste Abgabe Fragen gestellt werden. Es wird eindringlich empfohlen, von diesem Angebot Gebrauch zu machen. Das Tutorium wird geleitet von Dave Kaufmann.
Das Tutorium findet üblicherweise mittwochs von 15:15 bis 16:15 in E302 statt. Änderungen sind bitte der folgenden Liste und Links zu entnehmen: