Allgemeines zu den Übungen Web Mining
Anmeldung zur Übung
Wer Übungsaufgaben abgeben möchte, muss sich mit dem WebReg-System der RBG unter diesem Link anmelden. Dafür ist ein RBG-Account notwendig. Die Anmeldung läuft wie folgt ab:- Sie suchen sich ein Team aus maximal drei Personen (die alle einen RBG-Account haben)
- Sie melden sich im WebReg an und geben dabei unter Gruppenanmeldung die Benutzerkennungen der anderen Teammitglieder an
- wenn Sie von von einem Teammitglied als Gruppenpartner angegeben wurden, ist keine separate Anmeldung mehr nötig
- am Donnerstag, 17.4.2008, um 17:00 Uhr wird die Anmeldung geschlossen
- ab Freitag, 18.4.2008, können die Abgaben für das erste Blatt hochgeladen werden
Die Anmeldedaten aus dem WebReg-System werden in das Upload-System für die Abgabe übergeben. Das Zeitfenster für das Hochladen der ersten Abgabe ist daher recht kurz: vom 18.4. bis zum 20.4.2008.
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.
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 Vorjahrs kopiert wurden. Wir werden dies auch weiterhin kontrollieren. Ich weise 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.) auf der Web Mining Upload-Seite mit dem RBG-Account 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 für eine Präsentation in der Übung eignen
Unter Windows lassen sich PDF-Dokumente mit dem virtueller 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 Tabellen
- 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.
- 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 setzten.
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.
Wir würden die Verwendung von Python oder Perl empfehlen, da für beide Sprachen eine große Sammlung von Bibliotheken zur Behandlung von Verarbeitung von Text- und Web-Dokumenten.
Python
Im folgenden sind einige für die Übung relvante Python-Frameworks aufgeführt. Weitere Hinweise zu Python werden an dieser Stelle noch folgen.- 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.
Perl
Eine komfortable Windows-Installation bietet ActivePerl an. Tutorials zu Perl und Beispielprogramme finden Sie zahlreich im Netz, z.B. jenes aus der letzten Web-Mining-Veranstaltung. 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.
Übungsaufgaben
Übungsblatt 1
- Übungsblatt 1
- Abgabe bis Sonntag, 20.4.2008
Übungsblatt 2
- Übungsblatt 2
- Abgabe bis Sonntag, 4.5.2008
- Hilfreiche Module:
Zweck Perl Python Laden einer Web-Seite LWP::Simple urllib Extrahieren von Hyperlinks HTML::LinkExtor SGMLParser (Beispiel),
htmldataQueueing collections.deque Kanonisierung von URLs URI urlparser Queries an Suchmaschinen WWW::Search::AltaVista etc. web_search
Übungsblatt 3
- Übungsblatt 3
- Abgabe bis Sonntag, 18.5.2008
- Hinweise zu Aufgabe 2.1: Falls das von Ihnen eingesetzte tool zum Extrahieren des Seiteninhalts bei einigen Dokumenten ohne Ausgabe abbricht, können Sie zur Lösung der Aufgabe die Dokumente einfach beiseite lassen.
- Hinweise zu Aufgabe 2.2: Die Definition der termspezifischen Gewichtung (IDF) weicht in einigen Büchern oder auch in der Wikipedia etwas von der Definition in den Folien, Seite 47/49, ab. Welche dieser Definition des IDF-Wert Sie wählen, können Sie selbst entscheiden.
Übungsblatt 4
- Übungsblatt 4
- Abgabe bis Sonntag, 1.6.2008
- Zwei wichtige Hinweise zum vorgeschlagenen Datensatz mini-newsgroups:
- Einige der posting sind in mehreren Ordner unter verschiedenen Namen vertreten. Das bedeutet, daß es Dokumente gleichen Inhalts aber mit verschiedenen label gibt. Es bedeuted auch, dass die Evaluation etwas zu pessimistisch ist, da ein Trainingsdokument beim Testen erneut auftauchen kann, dann aber zwingend mit einen anderen label als im Training.
- Die Dokumente enthalten einen header inklusive der label-Information. Diesen header sollte man nicht in den feature-Vektor einfließen lassen, da er Daten enthält, die man in der Praxis nicht zu Verfügung hätte.
- Ein alternativer Datensatz ist z.B. der WebKB-Datensatz.
- Alle notwendigen Definitionen finden Sie im Foliensatz text classification.
- Aufgabe 1: Um die Aufteiung in Test- und Trainingsmenge ein wenig zu vereinfachen, können Sie die Gesamtheit der Dokumente durch eine zufällige Auswahl aufteilen. Zwar weichen dann die Größenverhältnisse von Training- zu Testmenge der einzelnen Klassen etwas von einander ab, aber bei hundert oder mehr Dokumenten pro Klasse sind größere Abweichungen sehr unwahrscheinlich.
- Aufgabe 3: Für k-NN können Sie zunächst alle TF-Vektoren normalisieren, so daß das cosinus-Maß zu einem einfachen Skalarprodukt wird.
Übungsblatt 5
- Übungsblatt 5
- Abgabe bis Sonntag, 15.6.2008
Übungsblatt 6
- Übungsblatt 6
- Abgabe bis Sonntag, 29.6.2008
- Auf dem Blatt sind einige Hinweise, die das Bearbeiten der Aufgabe erleichtern. Insgesamt sollte dieses Blatt weniger Zeit als die vorangegangenen in Anspruch nehmen.