Fakultät Wirtschaftswissenschaften Professur für Wirtschaftsinformatik, insbes. Informationssysteme im Dienstleistungsbereich Anwendung von Webminingmethoden zur Analyse eines Logfiles - Projektarbeit zur Rechnerübung Text- und Webmining - Projektseminar Vorgelegt von: Matrikel-Nr.: Michael Mohaupt 3047323 Sandro Kürschner 3047127 Prüfer: Prof. Dr. Andreas Hilbert Betreuer: Dipl.-Kffr. Karoline Schönbrunn Bearbeitungszeitraum: 30.10.2007 - 11.01.2008 Dresden, 11. Januar 2008 INHALTSVERZEICHNIS II Inhaltsverzeichnis Tabellenverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IV Abbildungsverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V Abkürzungsverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Listingsverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 Vorgehensmodell 3 2 Analyse des Logfiles 4 2.1 2.2 2.3 2.4 Business Understanding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.1 Determine Business Objectives . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.2 Assess Situation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1.3 Data Mining Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Data Understanding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2.1 Initial Data Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2.2 Describe Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Data Preparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.3.1 Select Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.3.2 Data Cleaning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.3.3 Construct Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.3.4 Merge Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.3.5 Format Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.3.6 Zusammenfassung Data Preparation Nodes . . . . . . . . . . . . . . . . . 32 Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.4.1 34 Select Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . INHALTSVERZEICHNIS 2.4.2 2.5 2.6 III Build Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.5.1 Evaluate Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3 Fazit 58 A Verzeichnis wichtiger Fachbegriffe der Domäne 61 TABELLENVERZEICHNIS IV Tabellenverzeichnis 1 Abbildung der Webminingprozessschritte nach Cooley in CRISP-DM . . . . . . 3 2 Übersetzung der Ziele des Data Mining in technische Fragestellungen . . . . . . . 7 3 Spalten innerhalb der Logfiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4 Wertebereiche der Spalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5 Datentypen der Protokollspalten . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 6 Modellrollen für Sequenzanalyse (Klickpfade) . . . . . . . . . . . . . . . . . . . . 34 7 Häufige REFERER-Domains (Liste) . . . . . . . . . . . . . . . . . . . . . . . . . 50 8 /index.html und /downloads.html als Ein- bzw. Ausstiegsseite . . . . . . . . . . . 55 9 Abbildung der Webminingprozessschritte nach Cooley in CRISP-DM . . . . . . 61 ABBILDUNGSVERZEICHNIS V Abbildungsverzeichnis 1 Iteratives Vorgehen von CRISP-DM . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 Datenkategorien bezüglich Personenbezug . . . . . . . . . . . . . . . . . . . . . . 6 3 Vollständige Vorbereitungsschritte im Enterprise Miner . . . . . . . . . . . . . . 16 4 Anteil MIME-Daten im Rohdatensatz . . . . . . . . . . . . . . . . . . . . . . . . 19 5 Aggregationsstufen von Logfiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6 Ermittlung der Anzahl der Sessions in Abhängigkeit vom gewählten Timeout . . 26 7 Überblick Data Preparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 8 Einstellungen des Association Node für Klickpfad-Analyse . . . . . . . . . . . . . 35 9 /downloads.html und /index.html als häufiger Klickpfad . . . . . . . . . . . . . . 35 10 Ausschnitt häufiger Klickpfade . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 11 Weitere Klickpfade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 12 Einstellung der Modellrollen zur Assoziationsanalyse Suchbegriffe . . . . . . . . . 37 13 Einstellung der Assoziationsanalyse Suchbegriffe . . . . . . . . . . . . . . . . . . 38 14 Assoziation von Suchbegriffen aus Google mit gefundenen Seiten . . . . . . . . . 38 15 Zusammenhang von Vorlesungsbeginn Entscheidungslehre und anfallenden GoogleAnfragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 16 Erklärungsbeitrag einzelner Clustervariablen . . . . . . . . . . . . . . . . . . . . . 41 17 Cluster 6 - Onlineumfragen- und Downloadinteressierte . . . . . . . . . . . . . . 42 18 Ermittlung der Verweildauer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 19 Analyse der Gesamtverweildauer . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 20 Klassenweise Analyse der Gesamtverweildauer . . . . . . . . . . . . . . . . . . . . 45 21 Analyse der durchschnittlichen Verweildauer pro Seite . . . . . . . . . . . . . . . 46 22 Durchschnittliche Verweildauer pro Seite . . . . . . . . . . . . . . . . . . . . . . . 47 ABBILDUNGSVERZEICHNIS VI 23 Top 5 Verweildauer pro Seite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 24 Übersicht Browserkennungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 25 Top 10 der meistgenutzten Browser . . . . . . . . . . . . . . . . . . . . . . . . . . 49 26 Häufigste REFERER-Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 27 Verteilung der Zugriffe über die Zeit . . . . . . . . . . . . . . . . . . . . . . . . . 51 28 Pageviews nach Uhrzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 29 Pageviews nach Wochentag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 30 Verteilung der Herkunft der Besucher (Liste) . . . . . . . . . . . . . . . . . . . . 53 31 Verteilung der Herkunft der Besucher (Grafik) . . . . . . . . . . . . . . . . . . . 53 32 Analyse der Aufrufmethode im bereinigten und unbereinigten Datensatz . . . . . 54 33 Häufigste Einstiegsseiten (nach Download/Index) . . . . . . . . . . . . . . . . . . 57 34 Häufigste Ausstiegsseiten (nach Download/Index) . . . . . . . . . . . . . . . . . . 57 35 Vollständiges Data Mining-Projekt . . . . . . . . . . . . . . . . . . . . . . . . . . 60 LISTINGS 1 Listings 1 Vorbereitung des Imports der Logfiles nach SAS . . . . . . . . . . . . . . . . . . 8 2 Erstellen der Zieltabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3 Einlesen der nicht umgestellten Protokolldateien . . . . . . . . . . . . . . . . . . 10 4 Einlesen der umgestellten Protokolldateien . . . . . . . . . . . . . . . . . . . . . . 11 5 Ausführung und Löschen Kommentarzeilen . . . . . . . . . . . . . . . . . . . . . 12 6 Rumpfcode zur Extraktion der Indikatorvariablen . . . . . . . . . . . . . . . . . . 18 7 Berechnung der MIME-Spalte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 8 Berechnung der FAILED-Spalte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 9 Berechnung der SPIDER-Spalte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 10 Berechnung der ADMIN-Spalte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 11 Aktivierung der Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 12 Extraktion der Herkunft nach IP . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 13 Identifikation der Benutzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 14 Sortierung zur Berechnung der Sessions . . . . . . . . . . . . . . . . . . . . . . . 25 15 Berechnung der Verweildauer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 16 Extraktion der aufgerufenen Verzeichnisebenen . . . . . . . . . . . . . . . . . . . 29 17 Extraktion des Domainstrings aus dem Referer . . . . . . . . . . . . . . . . . . . 30 18 Extraktion der Suchbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 19 Vorbereitung Assoziationsanalyse Suchbegriffe . . . . . . . . . . . . . . . . . . . . 31 20 Zusammenführung der Spalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 21 Formatieren der Eingangsdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 22 Entfernen von Klickpfaden zur besseren Übersicht . . . . . . . . . . . . . . . . . 36 23 Zusammenführung der Spalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 24 SQL: Zusätzliche Variablen für Clusteranalyse . . . . . . . . . . . . . . . . . . . . 40 25 SQL: Berechnung der Gesamtverweildauer . . . . . . . . . . . . . . . . . . . . . . 43 26 SQL: Analyse der durchschnittlichen Verweildauer pro Seite . . . . . . . . . . . . 46 27 SQL: Ermittlung verschiedener Browserkennungen . . . . . . . . . . . . . . . . . 48 28 SQL: Anzahl der Referer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 LISTINGS 2 29 SQL: Verteilung der Herkunft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 30 Filterung der beliebtesten Einstiegsseiten . . . . . . . . . . . . . . . . . . . . . . 56 1 VORGEHENSMODELL 1 3 Vorgehensmodell Zur Analyse von Logfiles wird von Cooley et al. (1997) ein aus den Phasen Data Cleaning, Transaction Identification, Data Integration, Transformation, Pattern Discovery und Pattern Analysis bestehendes Vorgehensmodell vorgeschlagen. Zwei Jahre später wurde von dem CRISP-DM Konsortium (vgl. Chapman et al. (2000), S. 4) das Vorgehensmodell CRISPDM vorgestellt, welches in kommerziellen Webminingprojekten eingesetzt wird (vgl. Dellmann et al. (2003), S. 715) eingesetzt wird. Alle Prozessschritte des Modells von Cooley lassen sich in dem allgemeiner gehaltenen CRISPDM abbilden (siehe Tab. 1). Da dieses auch die davor und danach liegenden Phasen abbildet, wird in dieser Projektarbeit nach CRISP-DM (siehe Chapman et al. (2000)) vorgegangen. Bei Rückgriff auf das spezifischere Modell von Cooley wird an den entsprechenden Stellen darauf hingewiesen. Auf das vorliegende Projekt nicht anwendbare Schritte des CRISP-DM werden weggelassen. Tabelle 1: Abbildung der Webminingprozessschritte nach Cooley in CRISP-DM Schritt nach Cooley Data Cleaning Transaction Identification Data Integration Transformation Pattern Discovery Pattern Analysis Entsprechung in CRISP-DM 3.2 Clean Data 3.3 Construct Data - Das Zusammenfassen mehrerer Seitenaufrufe zu einer Transaktion erzeugt ein neues Attribut zur Kennzeichnung der Zugehörigkeit mehrerer einzelner Logfileeinträge zu einer gemeinsamen Transaktion. 3.4 Integrate Data 3.5 Format Data 4.1 - 4.3 Select Modeling Technique, Generate Test Design und Build Model 4.4 - 5.1 Assess Model und Evaluate Results Zu beachten ist dabei, dass CRISP-DM ein stark iterativ orientiertes Vorgehensmodell ist (vgl. Abb. 1). Durch den Fortschritt des Data Mining-Prozesses werden neue Fragestellungen erkannt, wodurch Rücksprünge in die vorherigen Schritte notwendig werden. Aus lizenzrechtlichen Gründen kann dieser Teil der Arbeit nicht online gestellt werden. Bitte wenden Sie sich direkt an mich. A A VERZEICHNIS WICHTIGER FACHBEGRIFFE DER DOMÄNE 61 Verzeichnis wichtiger Fachbegriffe der Domäne Tabelle 9: Abbildung der Webminingprozessschritte nach Cooley in CRISP-DM Homepage Logische Einheit einer Summe von Webseiten, die durch den selben Anbieter zur Verfügung gestellt wird. Request-URI Setzt sich zusammen aus der Domain des Webservers sowie dem Inhalt des Feldes cs uri stem. Webseite Eine im Internet unter einer bestimmten Adresse aufrufbare Seite LITERATUR 62 Literatur Arndt, K. D., D. (2002): Handbuch Web Mining im Marketing - Konzepte, Systeme, Fallstudien, Kap. Datenschutz im Web Mining - Rechtliche Aspekte des Umgangs mit Nutzerdaten, Vieweg Verlag, 77–103. Bensberg, F.; Weiss, T. (1999): Web Log Mining als Marktsforschungsinstrument fuer das World Wide Web, Wirtschaftsinformatik , Bd. 41, Nr. 5, 426–432. Berendt, M., B.; Spiliopoulou (2002): Handbuch Web Mining im Marketing - Konzepte, Systeme, Fallstudien, Kap. Assoziations- und Pfadanalyse - Entdeckung von Abhängigkeiten, Vieweg Verlag, 143–161. Catledge, L.; Pitkow, J. (1995): Characterizing browsing strategies in the World-Wide web, Computer Networks and ISDN Systems, Bd. 27, Nr. 6, 1065–1073. Chapman, P.; Clinton, J.; Kerber, R.; Khabaza, T.; Reinartz, T.; Shearer, C.; Wirth, R. (2000): CRISP-DM 1.0: Step-by-step data mining guide, SPSS Inc, 78, URL http://www.crisp-dm. org/CRISPWP-0800.pdf. Cooley, R.; Mobasher, B.; Srivastava, J. (1997): Grouping Web Page References into Transactions for Mining World Wide Web Browsing Patterns, IEEE Knowledge and Data Engineering Exchange Workshop, Bd. 00, 2. Cooley, R.; Mobasher, B.; Srivastava, J.; et al. (1999): Data Preparation for Mining World Wide Web Browsing Patterns, Knowledge and Information Systems, Bd. 1, Nr. 1, 5–32. Dellmann, F.; Wulff, H.; Schmitz, S. (2003): Findings from a practical project concerning Web usage mining, Data Mining, 2003. ICDM 2003. Third IEEE International Conference on, 715–718. Fielding, R.; Mogul, J. C.; Frystyk, H.; Masinter, L.; Leach, P.; Berners-Lee, T. (1999): Hypertext Transfer Protocol – HTTP/1.1 , Nr. 2616 in RFC, Internet Engineering Task Force. Goland, Y.; Whitehead, E.; Faizi, A.; Carter, S.; Jensen, D. (1999): HTTP Extensions for Distributed Authoring – WEBDAV , Nr. 2518 in RFC, Internet Engineering Task Force. LITERATUR 63 Hippner, M. M. W. K. D., H. (2002): Handbuch Web Mining im Marketing -Konzepte, Systeme, Fallstudien, Kap. Grundlagen des Web Mining - Prozessen, Methoden und praktischer Einsatz, Vieweg Verlag, 1–31. IP2Location.com (2008): URL http://www.ip2location.com/. Microsoft Corp. (2007): IIS-Statuscodes, URL http://support.microsoft.com/kb/318380. Microsoft Corp. (2008): W3C Extended Log File Format (IIS 6.0), URL http: //www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/ 676400bc-8969-4aa7-851a-9319490a9bbb.mspx?mfr=true. Pohle, C. (2003): Integrating and Updating Domain Knowledge with Data Mining, Proceeding of the VLDB 2003 PhD Workshop, Berlin, Germany, September , 12–16. Réseaux IP Européens (2008): RIPE Database Copyright, URL http://www.ripe.net/db/ copyright.html. SAS Institute Inc. (2006): Sample 24707: Reading multiple files with PROC IMPORT, URL http://support.sas.com/kb/24/707.html. Spiderhunter (2008): SpiderList, URL http://spiderhunter.com/category/spiderhunter/. Srikant, R.; Yang, Y. (2001): Mining web logs to improve website organization, Proceedings of the 10th international conference on World Wide Web, 430–437. Staeding, A. (2008): List of User-Agents (Spiders, Robots, Crawler, Browser), URL http:// www.user-agents.org/. Säuberlich, F. (2002): Handbuch Web Mining im Marketing -Konzepte, Systeme, Fallstudien, Kap. Vorverarbeitung von Web-Daten - Pre-Processing, Vieweg Verlag, 107–123. Yang, Q.; Zhang, H.; Li, T. (2001): Mining web logs for prediction models in WWW caching and prefetching, Proceedings of the seventh ACM SIGKDD international conference on Knowledge discovery and data mining, 473–478.