Een overzicht van Web usage mining en de implicaties voor e-commerce Magnus Souverein, Bart Baesens, Stijn Viaene, Dirk Vanderbist en Jan Vanthienen Vakgroep Beleidsinformatica Departement Toegepaste Economische Wetenschappen Katholieke Universiteit Leuven Hogenheuvelcollege, Naamsestraat 69, 3000 Leuven
[email protected] [email protected] [email protected] [email protected] [email protected]
Abstract In deze tekst wordt ingegaan op web mining. We beginnen met een kort overzicht van een aantal van de belangrijkste subdomeinen die vallen onder de term web mining. Vervolgens gaan we dieper in op één van deze: web usage mining. Tenslotte bespreken we een typische web usage mining toepassing die in de praktijk vaak wordt gebruikt bij de bouw, analyse en optimalisatie van ecommerce websites.
1
Inhoudsopgave 1
INTRODUCTIE................................................................................................................................... 3 1.1 1.2 1.3 1.4
2
DEFINITIE VAN WEB MINING ............................................................................................................3 W EB STRUCTURE MINING.................................................................................................................4 W EB CONTENT MINING .....................................................................................................................4 W EB USAGE MINING..........................................................................................................................5
WEB USAGE MINING..................................................................................................................... 6 2.1 TERMINOLOGIE ..................................................................................................................................6 PREPROCESSING............................................................................................................................................6 2.2.1 Data cleaning ........................................................................................................................ 7 2.2.2 Gebruikersidentificatie ........................................................................................................ 8 2.2.3 Sessie-identificatie..............................................................................................................10 2.2.4 Path completion ..................................................................................................................11 2.3 TRANSACTIE -IDENTIFICATIE..........................................................................................................11 2.3.1 Auxiliary en content pagina’s...........................................................................................12 2.3.2 Reference length..................................................................................................................13 2.3.3 Maximal forward reference...............................................................................................14 2.3.4 Time windowing ..................................................................................................................14 2.4 ONTDEKKEN VAN PATRONEN ........................................................................................................15 2.4.1 Padanalyse...........................................................................................................................15 2.4.2 Associatieregels...................................................................................................................16 2.4.3 Sequentiële patronen..........................................................................................................17 2.4.4 Clusteranalyse en classificatie .........................................................................................17 2.5 A NALYSE VAN DE ONTGONNEN PATRONEN.................................................................................18 2.5.1 Visualisatie en OLAP technieken.....................................................................................18 2.5.2 Data & knowledge querying.............................................................................................18 2.5.3 Bruikbaarheidsanalyse ......................................................................................................19
3
TOEPASSINGEN..............................................................................................................................19 3.1 3.2 3.3
4
RECOMMENDER SYSTEMEN ...........................................................................................................19 VOORBEELD 1: A MAZON.COM ......................................................................................................21 VOORBEELD 2: CDNOW.COM ......................................................................................................23
SAMENVATTING............................................................................................................................24
2
1 1.1
Introductie Definitie van web mining
“Web mining is the use of data mining techniques to automatically discover and extract information from Web documents and services” (Kosala & Blockeel, 2000, p. 2). Web mining is dus het toepassen van data mining technieken voor het automatisch vinden en ophalen van waardevolle en bruikbare informatie op het internet. Hierbij moet gedacht worden aan: a) het vinden van relevante informatie op het internet; b) het creëren van kennis uit de beschikbare informatie; c) het op een persoonlijke manier aanbieden van informatie (personalisation); d) het leren over consumenten of individuele gebruikers. Het zoeken naar informatie gebeurt meestal door te surfen over het internet en/of door gebruik te maken van een zoekmachine. Het gebruik van een zoekmachine is niet zonder problemen. De ingevoerde query kan slecht zijn geformuleerd, wat ongewenste resultaten oplevert, maar ook de zoekmachine zelf kan gebreken vertonen, waardoor eveneens niet altijd de gewenste resultaten worden getoond. Nadat er informatie gevonden is, moet beoordeeld worden of deze informatie interessant is en pas dan kan geprobeerd worden om hieruit kennis te extraheren. Het proces van het vinden van informatie en het extraheren van kennis uit de informatie wordt aangeduid als web content mining. Het aanbieden van gecustomiseerde informatie is zonder meer prettig voor een gebruiker. Deze hoeft dan immers niet zelf meer op zoek te gaan naar de informatie (Mulvenna, Anand & Buchner, 2000). Het aanbieden van deze informatie kan op twee manieren gebeuren. De eerste manier is de expliciete manier, waarbij de gebruiker van tevoren al heeft aangegeven welke informatie getoond moet worden. Een voorbeeld hiervan is My Yahoo! (my.yahoo.com). Hier kan een keuze worden gemaakt uit een groot aantal reeds gedefinieerde rubrieken, zoals het weer, het nieuws, de aandelenkoersen en filmaankondigingen, die op de pagina’s getoond kunnen worden. De gebruiker wordt telkens uniek geï dentificeerd aan de hand van een klein bestand ofcookie op zijn harde schijf of door in te loggen. De tweede manier is de impliciete manier, waarbij wordt gekeken naar het gebruik van een geheel van webpagina’s om suggesties te kunnen doen van niet bezochte maar voor de gebruiker toch interessante pagina’s. Een voorbeeld hiervan is te vinden op http://aztec.cs.depaul.edu/scripts/acr2/. Deze website werkt met een zogenaamde recommendation engine, die zoals de
3
naam al aangeeft, aanbevelingen doet voor andere, interessante pagina’s op de website. Het leren over consumenten en dan vooral het bestuderen van het gedrag van gebruikers op een website voor het verbeteren van de website wordt web usage mining genoemd (Spiliopoulou, 2000; Spiliopoulou & Pohle, 2001). In figuur 1 zijn volgende subdomeinen van web mining weergegeven: web content mining, web structure mining en web usage mining. Deze subdomeinen zullen in de volgende paragrafen elk om beurt kort worden toegelicht. Web mining
Web content mining
Web structure mining
Web mining
usage
Figuur 1 Web mining (Cooley, Mobasher & Srivastava, 1997, p. 1)
1.2 Web structure mining Web structure mining beoogt het onderliggende model van de structuur van de links van het internet of een website te ontdekken (Kosala & Blockeel, 2000). Hierbij wordt gebruik gemaakt van de op de website aanwezige hyperlinks. Web structure mining kan gebruikt worden voor het classificeren van webpagina’s en om informatie te genereren over de overeenkomsten en relaties tussen verschillende (sub)websites. Het aantal links dat verwijst naar een pagina kan een indicatie zijn van de populariteit van een pagina, terwijl de links die in een pagina ingebed staan een indicatie kunnen geven omtrent de rijkdom of diversiteit aan onderwerpen op een pagina. Dit kan worden vergeleken met de idee achter paper citation indices. Wanneer een artikel vaak wordt geciteerd door andere auteurs in gerenommeerde tijdschriften stijgt uiteraard de belangrijkheid en de impact van dat artikel. 1 1.3 Web content mining De inhoud (content) van een website wordt beschouwd als de ‘echte’ data van de website. Dit zijn de data waarvoor de website oorspronkelijk ontworpen is. In se 1
http://www.cs.ualberta.ca/~tszhu/webmining.htm
4
is dit de (multimedia) inhoud zonder de mark-up. Web content mining is het ontdekken van bruikbare informatie in deze inhoud. De inhoud die aanwezig is op een pagina is meestal ongestructureerd en bestaat vaak hoofdzakelijk uit platte tekst. Traditionele zoekmachines en indexerings-tools op het internet, zoals Alta Vista en Lycos, zijn slechts in zeer beperkte mate in staat om gestructureerde informatie aan te leveren. De laatste jaren zijn er dan ook additioneel intelligente tools ontwikkeld voor het vinden van informatie in web content, zodat (semi-)gestructureerde data naar een hoger niveau van organisatie gebracht kunnen worden. Cooley, Mobasher & Srivastava (1997) beschrijven hiervoor twee variante aanpakken: de agent-based approach en de database approach. 1.4 Web usage mining In tegenstelling tot web structure mining en web content mining, die gebruik maken van de echte of primaire content data die te vinden zijn op het internet, maakt web usage mining gebruik van secundaire data die kunnen worden gefilterd uit de interacties van gebruikers met de website. De data met betrekking tot clickstreams van gebruikers worden traditioneel opgeslagen in weblogs. Deze weblogs worden gebruikt om, met behulp van data mining technieken, gebruikerspatronen in deze webdata te vinden. Het doel van web usage mining is het opvolgen en analyseren van het gebruik van een verzameling web pagina's en het verbeteren van de ingebedde toepassingen zoals de prospectie en verkoop van producten en/of het aanbod van diensten (na verkoop) via het internet. De toepassing van web usage mining kan grosso modo onderverdeeld worden in twee categorieën (Kosala & Blockeel, 2000). De eerste categorie omvat het bestuderen van gebruikersprofielen. Hierbij worden socio-demografische gegevens van gebruikers, zoals beroep, geslacht, leeftijd en woonplaats gekoppeld aan de opgevraagde pagina’s. De tweede categorie omvat het bestuderen van zogenaamde user navigation patterns of clickstreams. Dit kan het best omschreven worden als het volgen van de gebruikers op een website. Uit de manier waarop ze de website gebruiken, kan men dan proberen patronen te ontdekken en profielen op te bouwen. De onderkende patronen zijn vaak het resultaat van de toepassing van verschillende data mining technieken. In het verdere verloop van dit artikel, zullen we ons concentreren op deze tweede categorie van toepassingen. Web usage mining, als proces, bestaat uit drie chronologisch opeenvolgende fasen: pre-processing, pattern discovery en pattern analysis. De prepocessing-fase zet de data klaar. In de pattern-discovery fase wordt getracht om patronen te ontdekken in de data, bijvoorbeeld door middel van data mining technieken of artificial intelligence technieken. Tenslotte is er de pattern analysis-fase. Hierbij draait het hoofdzakelijk om het visualiseren en interpreteren van de in de vorige fase ontdekte patronen. In sectie 2 gaan we dieper in op web usage mining.
5
2
Web usage mining
2.1 Terminologie De eerste belangrijke term is gebruiker. Een gebruiker is één enkele persoon of (intelligent) agent die al dan niet met een browser bestanden (meestal pagina’s) opvraagt van één of meer webservers (Mobasher, Cooley & Srivastava, 2000). Voor een e-commerce bedrijf is elke gebruiker van belang omdat deze eenvoudigweg een potentiële klant is waaraan geld verdiend kan worden. Een gebruikerssessie bestaat dan uit alle pagina’s die worden opgevraagd tijdens één enkel bezoek aan slechts één website (Cooley, Mobasher & Srivastava, 1999). Zoals later zal blijken, is voor web usage mining alleen de basis van een pagina, meestal een HTML-bestand, van belang. Andere bestanden die door de gebruiker worden binnengehaald, zoals afbeeldingen, worden derhalve niet opgenomen voor verdere analyse. Door deze één op één relatie zullen de termen pagina en bestand door elkaar gebruikt worden, tenzij dit expliciet anders wordt aangegeven. Ook kan het woord referentie hiervoor gebruikt worden. Een referentie is een in de weblog aanwezige verwijzing naar een pagina of een bestand. Bemerk dat we hierbij veronderstellen dat scriptgegeneerde pagina's uniek identificeerbaar zijn aan de hand van de URL en de ingevoerde parameters waardoor de één op één relatie kan afgedwongen worden. 2.2
Preprocessing Preprocessing
Ruwe weblog
Mining algorithms
Pattern analysis
Regels, patronen en statistieken
User session file
Figuur 2: Globaal overzicht van web usage mining (Cooley, Mobasher & Srivastava, 1999, p. 6)
6
'Interessante' regels, patronen en statistieken
Figuur 2 is een globale, schematische weergave van het web usage mining proces. Voor web usage mining worden als input de weblogs van een webserver gebruikt. Weblogs zijn onder te verdelen in access, referrer en agent logs. In een access log worden alle referenties naar alle bestanden die zijn opgevraagd door alle gebruikers van een website opgeslagen. Een referrer log bevat de referenties naar de pagina’s, die de gebruiker vóór de huidige pagina bezocht. In een agent log staat vermeld welke browser (bv. Netscape of Internet Explorer) en welk operating system (bv. Windows of Linux), gebruikt werden. Een voorbeeld van een weblog is gegeven in Figuur 3. Deze weblogs moeten bewerkt en opgeschoond worden, voordat er met data mining technieken aan de slag kan worden gegaan. Deze fase wordt preprocessing genoemd en levert uiteindelijk een user session file op. Dit is echter niet voldoende om met data mining technieken tot bevredigende resultaten te komen. Hiervoor is nog een fase van transaction identification nodig waarin een bestand met transacties gecreëerd wordt dat wel aan de eisen voldoet (cf. infra). 2.2.1 Data cleaning Data cleaning is een techniek om de ruwe data weblog te zuiveren van overtolligheden. De weblogs die zullen dienen voor analyse moeten namelijk een zuiver beeld geven van het gebruik van de website en hiervoor zijn alleen de referenties naar HTML-bestanden van belang, omdat alleen deze bestanden expliciet door de gebruiker zijn opgevraagd. Aanvragen voor andere bestanden, zoals grafische voorstellingen, mappen en animaties, moeten daarom uit de ‘ruwe’ weblog verwijderd worden. Dit kan meestal eenvoudig gedaan worden door te kijken naar de extensie, zoals jpeg en gif, van een bestand. Cooley (2000) geeft tevens aan dat het belangrijk is om de weblog te controleren op agent- of spiderverkeer. Op het internet is een agent een programma, dat informatie verzamelt of een andere dienst uitvoert, zonder dat er onmiddellijk een gebruiker aan te pas komt. Volgens Cooley (2000) kan het gedrag van de agents vertekende resultaten veroorzaken bij het analyseren van de weblog. Daarom is het beter om de gegevens van de agents uit de weblog te verwijderen en ze eventueel als aparte elementen te analyseren. Agents zijn te herkennen doordat ze het bestand robots.txt opvragen, wat weer kan worden teruggevonden in de weblog. Agents zijn daarnaast ook te herkennen aan de gegevens van de browser. In plaats van de naam van een daadwerkelijke browser gebruiken ze hun eigen naam, zoals Mysimon.com en Vergelijk.nl. Bij een e-commerce website is de kans groot dat de informatie afkomstig is van agents die op zoek zijn naar de laagste prijs.
7
Tenslotte is het in deze fase van de voorbereiding van belang dat de URL’s in de access- en referrer-gedeelten van de weblog dezelfde vorm hebben. URL’s in beide gedeelten worden namelijk in verschillende vormen opgeslagen waardoor straks het herkennen van transacties niet mogelijk is, omdat ze verschillend lijken te zijn (vb. index.htm ↔ www.voorbeeld.be). Uit eigen onderzoek is gebleken dat deze fase kritisch is voor het succesvol afronden van de resterende fasen. 2.2.2 Gebruikersidentificatie Een groter probleem bij het opschonen van de data is het bepalen van belangrijke verzoeken voor bestanden, die niet zijn opgeslagen in de weblog. Een verzoek voor een bestand wordt slechts eenmaal opgeslagen, terwijl de pagina meerdere keren kan zijn bekeken door meerdere gebruikers. Hierdoor is het niet meer duidelijk hoe gebruikers door de website genavigeerd hebben. Dit probleem wordt vooral veroorzaakt door het gebruik van local caching (het door de browser opslaan van de opgevraagde bestanden), proxy servers (het delen van een internetverbinding via een netwerk) en DHCP-servers (het automatisch toewijzen van een willekeurig IP-adres, waarbij soms, tijdens een sessie, van IP-adres wordt gewisseld). Ook het rechtstreeks intikken van een URL vormt een probleem dat op een heuristische manier dient benaderd te worden. Het gebruik van cookies (kleine bestanden op de computer van de gebruiker geplaatst om gebruikers te identificeren), cache busting (het onmogelijk maken van local caching door een nieuwe download te forceren) en expliciete registratie door de gebruikers worden door Mobasher, Cooley & Srivastava (1997) voorgesteld als oplossing voor deze problemen. Bij het gebruik van proxy servers treedt ook het probleem van het identificeren van de gebruiker op (naast het vaststellen of een IP-adres tot één en dezelfde sessie behoort). Proxy servers maken namelijk gebruik van hun eigen IP-adres om over het internet te surfen. Er wordt in de weblog dus slechts één IP-adres opgeslagen, terwijl hierachter meerdere gebruikers kunnen schuilgaan. Cooley, Mobasher & Srivastava (1999) bespreken een heuristiek om deze gebruikers toch te kunnen herkennen. Deze heuristiek stelt, dat er behalve naar het IP-adres ook naar de gegevens in het agent-gedeelte van de weblog gekeken moet worden. In het agent-gedeelte zijn gegevens over de browser en de systeemsoftware van de gebruiker opgenomen. Als er een verandering van browser-type en/of een verandering van operating system plaatsvindt, dan wijst dit er meestal op dat er sprake is van een andere gebruiker. Laten we het één en ander verduidelijken met een voorbeeld, namelijk de weblog van figuur 3. In de rest van de tekst zal steeds naar dit voorbeeld worden verwezen. Merk op dat hier sprake is van slechts één IP-adres. Hiermee wordt getoond, dat er ook dan meerdere gebruikers kunnen zijn. Als er immers meerdere IP-adressen zijn, dan is het al duidelijk dat er potentieel meerdere gebruikers zijn.
8
Om het verwerken van de weblog eenvoudiger te maken is het aan te raden om de data in de weblog eerst te sorteren op IP-adres en vervolgens op datum en tijd. Daarna kan de procedure die hieronder in het voorbeeld wordt beschreven per IPadres worden uitgevoerd. Nr. 1
IP 123.456.78.9
2
123.456.78.9
3
123.456.78.9
4
123.456.78.9
5
123.456.78.9
6
123.456.78.9
7
123.456.78.9
8
123.456.78.9
9
123.456.78.9
10
123.456.78.9
11
123.456.78.9
12
123.456.78.9
13
123.456.78.9
Time 28/Apr/1998: 03:04:41 28/Apr/1998: 03:05:34 28/Apr/1998: 03:05:39 28/Apr/1998: 03:06:02 28/Apr/1998: 03:06:58 28/Apr/1998: 03:07:42 28/Apr/1998: 03:07:55 28/Apr/1998: 03:09:50 28/Apr/1998: 03:10:02 28/Apr/1998: 03:10:45 28/Apr/1998: 03:12:23 28/Apr/1998: 05:05:22 28/Apr/1998: 05:06:03
Methode/URL/Protocol Get A.html http/1.0
Referred -
Agent Mozilla/3.04 (Win95)
Get B.html http/1.0
A.html
Mozilla/3.04 (Win95)
Get L.html http/1.0
-
Mozilla/3.04 (Win95)
Get F.html http/1.0
B.html
Mozilla/3.04 (Win95)
Get A.html http/1.0
-
Mozilla/4.0 (Win NT)
Get B.html http/1.0
A.html
Mozilla/4.0 (Win NT)
Get R.html http/1.0
L.html
Mozilla/3.04 (Win95)
Get C.html http/1.0
A.html
Mozilla/4.0 (Win NT)
Get O.html http/1.0
F.html
Mozilla/3.04 (Win95)
Get J.html http/1.0
C.html
Mozilla/4.0 (Win NT)
Get G.html http/1.0
B.html
Mozilla/3.04 (Win95)
Get A.html http/1.0
-
Mozilla/3.04 (Win95)
Get D.html http/1.0
A.html
Mozilla/3.04 (Win95)
Figuur 3: Voorbeeld van een weblog (Cooley, Mobasher & Srivastava, 1999, p. 14)
Als er alleen gekeken wordt naar de IP-adressen, dan zou er gedacht kunnen worden, dat er sprake is van slechts één gebruiker. Als er echter gekeken wordt naar de Agent kolom, dan valt het meteen op dat er gebruik is gemaakt van twee verschillende browsers. Volgens de heuristiek moeten er dan tenminste twee gebruikers worden geï dentificeerd. De regels 5, 6, 8 en 10 zijn dus afkomstig van verschillende gebruikers. Een andere heuristiek, die Cooley, Mobasher & Srivastava (1999) behandelen, is het gebruik van de access-gegevens van de weblog in combinatie met de referrergegevens en de opbouw van de website. Als een opgevraagde pagina niet direct bereikt kan worden via een link op één van de eerder opgevraagde pagina’s, dan gaat de heuristiek er wederom vanuit, dat er sprake is van een andere gebruiker die gebruik maakt van hetzelfde IP-adres.
9
Om ook deze heuristiek te verduidelijken, wordt het vorige voorbeeld uitgebreid. Er werden al twee gebruikers geï dentificeerd. Maar er is meer aan de hand. In de derde regel is het verzoek om pagina L opgenomen. Deze pagina is niet direct bereikbaar vanaf pagina A of B omdat in de Referred kolom een streepje staat. Er is dus geen referentie aanwezig. Regel 7 toont dat Pagina R wel bereikbaar is vanaf pagina L, maar niet vanaf een van de andere, geregistreerde pagina’s. Derhalve is er volgens de heuristiek sprake van een derde gebruiker. In dit voorbeeld zijn door gebruik te maken van de twee besproken heuristieken bijgevolg drie gebruikers gevonden, die de volgende pagina’s hebben bezocht: AB-F-O-G-A-D, A-B-C-J en L-R. 2.2.3 Sessie-identificatie Nadat de gebruikers zijn geï dentificeerd, moeten de sessies herkend worden. De verzoeken voor pagina’s kunnen per gebruiker een grote tijdsperiode beslaan. Doordat het waarschijnlijk is dat de gebruikers tijdens deze periode de website meerdere keren bezocht hebben, is het bij sessie-identificatie vooral van belang om de verzoeken om pagina’s in deze periode te verdelen over verschillende sessies. Een simpele methode hiervoor is gebruik van een time-out (Cooley, Mobasher & Srivastava, 1999). Als de tijd tussen het opvragen van twee opeenvolgende pagina’s langer is dan de voorgedefinieerde time-out, dan wordt verondersteld dat de gebruiker een nieuwe sessie heeft gestart. De lengte van deze time-out is voor elke website weer anders. Daarom stellen de auteurs voor om de time-out te bepalen (en te laten evolueren) aan de hand van de opvolging van gebruiksstatistieken van de website. Met deze statistieken kan onder andere bepaald worden hoe lang de gemiddelde sessie van een gebruiker is en hoeveel tijd er gemiddeld besteed wordt aan het bekijken van een pagina. Aan de hand van deze gegevens kan dan de time-out voor deze website vastgesteld worden. Is deze mogelijkheid niet aanwezig, dan wordt er gekozen voor een standaard time-out van bv. dertig minuten. Dit betekent dat verondersteld wordt dat als er voor dezelfde gebruiker gedurende tenminste dertig minuten geen activiteiten meer in de weblog zijn geregistreerd, deze gebruiker aan een nieuwe sessie is begonnen. Bemerk dat het berekenen van de time-out ook kan gebeuren aan de hand van de time-span van de menselijke gedachtegang vastgelegd op basis van psychologische experimenten. In het vorige deel van het voorbeeld werden drie gebruikers gevonden, die de volgende pagina’s hebben bezocht: A-B-F-O-G-A-D, A-B-C-J en L-R. Als er nu gezocht wordt naar sessies waarbij een time-out van dertig minuten wordt gebruikt, dan kunnen de volgende sessies worden onderscheiden: A-B-F-O-G, AD, A-B-C-J en L-R. Zoals in figuur 3 te zien is, zit er bijna twee uur verschil tussen het opvragen van pagina G en het wederom opvragen van pagina A door de eerste gebruiker. Dus moet er, per definitie, sprake zijn van een nieuwe sessie.
10
2.2.4 Path completion Een ander probleem bij het identificeren van unieke gebruikersessies is het bepalen of er belangrijke aanvragen voor pagina’s zijn die niet zijn opgenomen in het access-gedeelte van de weblog. Dit probleem wordt path completion genoemd. Om het pad compleet te maken moet er gebruik worden gemaakt van de weblog. Als er namelijk een verzoek voor een pagina is gedaan die niet direct gelinkt is aan de vorige pagina, dan kan er gebruik worden gemaakt van het referrergedeelte van de weblog om te kijken waar dit verzoek dan wel vandaan kwam. In het referrer-gedeelte van de weblog is immers opgeslagen welke pagina vóór de huidige pagina werd opgevraagd. Als de pagina uit het referrer-gedeelte teruggevonden kan worden in de reeds opgebouwde gebruikerssessie, dan kan er worden verondersteld dat de gebruiker met de back-knop van de browser terug is gegaan naar een eerder bezochte pagina en vandaaruit de huidige pagina heeft opgevraagd. Als dit niet duidelijk is weergegeven in de weblog, dan kan er gebruik worden gemaakt van de topologie van de website. Als er vanuit meerdere pagina’s in een gebruikerssessie naar de huidige pagina gegaan kan worden, dan wordt er verondersteld dat de laatste pagina in de gebruikerssessie die deze mogelijkheid biedt gebruikt werd. Deze missing links worden in de user session file opgenomen (Cooley, Mobasher & Srivastava, 1999). Laten we dit weerom toepassen op ons voorbeeld. De volgende sessies waren reeds geï dentificeerd:A-B-F-O-G, A-D, A-B-C-J en L-R. Pagina G is niet direct toegankelijk vanaf pagina O en daarom wordt er in het referrer-gedeelte van de weblog gekeken. Daaruit blijkt dat er is teruggegaan naar pagina B om pagina G te bereiken. De volgende gebruikerssessies kunnen dan herkend worden: A-B-FO-F-B-G, A-D, A-B-A-C-J en L-R. 2.3 Transactie-identificatie Als er met data mining technieken wordt gezocht naar bijvoorbeeld associatieregels (cf. infra) dan moet er een extra stap aan het preprocessen worden toegevoegd. Deze extra stap wordt transactie-identificatie genoemd. Hierbij wordt verdergewerkt met de user session file. Een gebruikerssessie kan vanuit twee uitersten bekeken worden. In het ene uiterste zien we een gebruikerssessie als één transactie waarin meerdere referenties naar pagina’s voorkomen. In het andere uiterste zien we een gebruikerssessie als een verzameling transacties met telkens maar één referentie naar een pagina. Het doel van transactie-identificatie ligt hier ergens tussenin en bestaat uit het creëren van betekenisvolle clusters van referenties naar pagina’s voor elke gebruiker (Cooley, Mobasher & Srivastava, 1999). Het identificeren van transacties wordt gedaan door een grote transactie op te delen in meerdere kleinere transacties of door verschillende kleine transacties samen te voegen tot een aantal grotere transacties. Dit proces van opdelen en samenvoegen moet eventueel een aantal keren worden uitgevoerd voordat
11
geschikte transacties zijn verkregen. Voor dit opdelen bestaan drie verschillende algoritmen. Deze zullen we in wat volgt kort toelichten. De eerste twee algoritmen zijn reference length en maximal forward reference. Deze algoritmen doen een poging om semantisch betekenisvolle transacties te identificeren. Het derde algoritme is time windowing en wordt voornamelijk gebruikt om de andere twee algoritmen met elkaar te vergelijken. Voordat echter ingegaan kan worden op de verschillende algoritmen, moeten we het onderscheid tussen de zogenaamde auxiliary (hulp) en content (inhoud) pagina’s verduidelijken. 2.3.1 Auxiliary en content pagina’s Webpagina’s kunnen vanuit het standpunt van een gebruiker worden geklasseerd als auxiliary dan wel als content pagina’s. Bij een content pagina draait het om de inhoud van de pagina. Een gebruiker is op zoek naar informatie en als die eenmaal gevonden is, dan wordt er meer aandacht aan de pagina met de informatie besteed dan aan de pagina’s die leiden naar de pagina met informatie. Een content pagina zal meestal relatief lang worden bekeken. Een auxiliary pagina is het tegenovergestelde van een content pagina. Een auxiliary pagina leidt slechts naar een content pagina en zal dus door de gebruiker benut worden voor het zoeken naar de relevante link naar de content pagina. Wat echter voor de ene gebruiker een content pagina is, kan voor de ander een auxiliary pagina zijn. De uitdaging bestaat erin dynamisch vast te stellen welke referenties naar pagina’s in een user session file auxiliary zijn en welke referenties naar pagina’s content zijn. Als we dit onderscheid kunnen maken, zijn we in staat om twee types transacties te identificeren binnen een gebruikerssessie: auxiliary-content transacties, een geheel van auxiliary pagina's als aanloop naar een content pagina als afsluiter, en content-only transacties, transacties bestaande uit enkel content pagina's. In figuur 4 is schematisch het verschil tussen auxiliary-content transacties en content-only transacties weergegeven.
12
Figuur 4 Types transacties, waarbij de auxiliary en de content pagina’s langs de tijdsas zijn weergegeven als respectievelijk A en C (Cooley, Mobasher & Srivastava, 1999, p. 10)
2.3.2 Reference length Bij het reference length algoritme wordt er gekeken naar de tijd die een gebruiker besteedt aan het bekijken van een pagina en wordt verondersteld dat deze correleert met het feit of de pagina voor een bepaalde gebruiker geclassificeerd moet worden als een auxiliary of als een content pagina. Als er een veronderstelling wordt gemaakt over het percentage auxiliary referenties dat normalerwijze aanwezig is in een weblog, dan kan er een reference length worden berekend die de cut-off tussen de auxiliary en de content referenties voorstelt. De lengte van elke referentie wordt geschat aan de hand van het verschil tussen de timestamp van de huidige referentie en de timestamp van de volgende referentie. Wanneer de cut-off time is berekend, dan kunnen de in de vorige paragraaf besproken types van transacties worden gevormd. Deze types transacties zijn de auxiliary-content transactie en de content-only transactie. Ze kunnen gevormd worden door de referentietijd van een pagina te vergelijken met de cut-off time. Het voorbeeld maakt hier wederom veel duidelijk. De volgende gebruikerssessies werden reeds gevonden: A-B-F-O-F-B-G, A-D, A-B-A-C-J en L-R. Hierbij veronderstellen we bijkomend dat de pagina’s die als auxiliary en als content pagina kunnen gebruikt worden, gedurende de helft van de tijd door de gebruiker als content pagina worden opgeroepen en gedurende de andere helft van de tijd als auxiliary pagina. De cut-off time bedraagt hier dan 78,4 seconden. Er moet hierbij wel opgemerkt worden dat dit voorbeeld erg klein is en dat de berekening statistisch geen betekenis heeft. Dit resulteert in de volgende content-only transacties: F-G, D, J en L-R. De auxiliary-content transacties zien er als volgt uit: A-B-F, O-F-B-G, A-D, A-B-A-C-J, L en R.
13
2.3.3 Maximal forward reference Bij de maximal forward reference methode wordt er niet gekeken naar de tijd die een gebruiker besteedt aan het bekijken van een pagina. Bij maximal forward reference wordt elke transactie gedefinieerd als een verzameling pagina’s, waarvan de eerste bestaat uit de eerste pagina in een gebruikerssessie tot en met de pagina die gevolgd wordt door een backward referentie. Een backward referentie wordt gedefinieerd als een pagina die reeds in de verzameling pagina’s vóór de huidige transactie is opgenomen. Een forward referentie wordt derhalve gedefinieerd als een pagina die niet reeds in de verzameling pagina’s vóór de huidige transactie voorkomt. Er wordt per definitie een nieuwe transactie geï dentificeerd als de volgende forward referentie wordt gemaakt. Bij deze methode wordt verondersteld dat een transactie bestaat uit alle auxiliary pagina’s die leiden naar de content pagina inclusief deze content pagina zelf. Ook hier kunnen de twee verschillende types van transacties, te weten auxiliarycontent en content-only, worden gevormd. Als we het voorbeeld er weer bijnemen, dan leidt de maximal forward reference methode tot de volgende resultaten voor de content-only transacties: O-G, R, B-J en D. De volgende auxiliary-content transacties worden dan gevonden: A-B-F-O, A-B-G, L-R, A-B, A-C-J en A-D. De eerste twee auxiliary-content transacties komen dan als volgt tot stand. De gebruikerssessie bestaat uit: A-B-F-O-F-B-G. Pagina O wordt gevolgd door een backward referentie, namelijk die naar pagina F. De eerste transactie is dus A-B-F-O. Er wordt vervolgens teruggegaan naar pagina B en daar wordt op de link naar pagina G geklikt. Het gevolgde pad om bij pagina G te komen is dus A-B-G. Dit komt overeen met een tweede transactie. Het voordeel van maximal forward reference ten opzichte van reference length is dat er geen inputparameter nodig is die gebaseerd is op een veronderstelling over de karakteristieken van een bepaalde set met data. Het nadeel daarvan is dan weer dat de resultaten verkregen met maximal forward reference vaak minder goed blijken te zijn dan de resultaten verkregen met reference length (Cooley, Mobasher & Srivastava, 1999). 2.3.4 Time windowing Voor het identificeren van transacties door middel van de time window methode wordt een gebruikerssessie opgedeeld in tijdsintervallen die niet groter zijn dan een bepaalde parameter. Bij deze methode wordt niet geprobeerd om auxiliarycontent transacties en content-only transacties te onderkennen. Hier wordt wel verondersteld dat betekenisvolle transacties een welbepaalde gemiddelde lengte hebben. De laatste referentie binnen een transactie komt derhalve niet automatisch overeen met een content referentie zoals dat bij de twee voorgaande methoden wel het geval was. Omdat er variantie zit op de lengte van de eigenlijke transacties, is
14
het niet al te waarschijnlijk dat een vaste time window een weblog goed zal opdelen. De time window methode kan echter ook worden gebruikt als een samenvoegtoepassing om in combinatie met één van de twee andere methoden transacties te identificeren. (Cooley, Mobasher & Srivastava, 1999). Na het toepassen van de reference length methode kan een time window met een inputparameter van 10 minuten worden gebruikt om er zeker van te zijn dat elke transactie een bepaalde minimum lengte heeft. Dit geeft het volgende resultaat: AB-F, O-F-B-G, A-D, L-R en A-B-A-C-J. 2.4 Ontdekken van patronen Als er eenmaal een bestand met transacties is aangemaakt, dan kan er begonnen worden met het zoeken naar patronen in dit bestand. Enkele van de technieken (en de daarmee geassocieerde patroondefinities) die hiervoor gebruikt kunnen worden zijn: padanalyse, associatieregelanalyse, sequentiële patroonanalyse en clusteranalyse en classificatie. Deze technieken zullen hieronder kort worden besproken. 2.4.1 Padanalyse Het concept pad heeft in deze context betrekking op de volgorde waarin de gebruikers van een website de verschillende pagina’s hebben opgevraagd. Hierdoor wordt het voor de analist duidelijk hoe de website gebruikt wordt. De resultaten kunnen onder meer gebruikt worden voor het verbeteren van de website. Cooley, Mobasher & Srivastava (1997) geven enkele voorbeelden van informatie die met padanalyse gevonden kan worden: •
• •
70% van de klanten, die de pagina /company/products/file2.htm bezochten, deden dat door te starten bij /company. Vervolgens werden de pagina’s /company/whatsnew, /company/products en /company/products/file1.htm bezocht; 80% van de bezoekers begonnen op de pagina /company/products; 65% van de klanten verlieten de website na het bezoeken van maximaal vier pagina’s.
De eerste regel suggereert dat er bruikbare informatie aanwezig is in de pagina /company/products/file2.htm, maar dat er tevens vaak een omweg genomen wordt om daar te komen. Het zou een goed idee kunnen zijn om een duidelijker link naar deze pagina te plaatsen. De tweede regel stelt, dat de gebruikers op een andere manier de website betreden dan via de homepage (in dit voorbeeld is dat: /company). Hierdoor kan het handig zijn om deze pagina net zo in te richten als de
15
homepage. Uit de derde regel blijkt tenslotte dat gebruikers meestal niet méér dan vier pagina’s bekijken. Het pad tot aankoop op een e-commerce website zal er grofweg typisch als volgt uitzien. In eerste instantie zal de gebruiker meestal vanaf de home page op zoek gaan naar één of meerdere producten, die hij zich mogelijkerwijze wenst aan te schaffen. Hij zal informatie trachten in te winnen over deze producten en ze vervolgens, als hij overtuigd is dat ze bieden wat hij/zij zoekt, in zijn virtuele winkelmandje plaatsen. Dit winkelmandje kan tussentijds worden bekeken om bijvoorbeeld te controleren of de gewenste producten er inderdaad in zijn geplaatst. Eventueel kan de inhoud van het winkelmandje nog veranderd worden. Tenslotte volgt, idealiter, het voltrekken van de aankoop. Hierbij moet gedacht worden aan het invoeren en/of automatisch ophalen van de persoonlijke gegevens, het bepalen van de wijze van verzending, het regelen van de betaling en het definitief maken van het order. Pas als dit pad doorlopen is, is er sprake van een aankoop en is de gebruiker ook daadwerkelijk een klant geworden. Het ligt voor de hand dat dit proces kan worden geanalyseerd door ondermeer na te gaan of het bekijken van een product effectief leidt tot de aankoop van het product. Er kan ook gekeken worden of de producten die in het winkelmandje zaten ook effectief aangekocht werden. Als het percentage gebruikers dat daadwerkelijk tot aankoop van een product overgaat laag is, dan kunnen de nodige maatregelen getroffen worden om dit percentage te verhogen. 2.4.2 Associatieregels De associatieregel-idee komt oorspronkelijk voort uit de analyse van market basket data (Agrawal, Imielinski & Swani, 1993). Bij dit type analyse wordt nagegaan welke producten vaak in samenhang met elkaar worden gekocht. Een voorbeeld hiervan is ‘koffie → suiker’. Dit betekent dat in het geval er koffie wordt gekocht, er vaak ook suiker wordt gekocht. Een associatieregel laat zich slechts in één richting lezen, vandaar de pijl. Binnen de context van web usage mining kunnen associatieregels gebruikt worden voor het onderkennen van (cor)relaties tussen de verschillende, opgevraagde pagina’s door een gebruiker. Twee voorbeelden: • •
40% van de klanten, die de pagina /company/products/product1.htm bekeken, bezochten daarna de pagina /company/products/product2.htm; 30% van de klanten, die de pagina /company/announcements/specialoffer.htm bezochten, plaatsten een online bestelling op /company/products/product1.htm.
Associatieregels kunnen door een e-commerce bedrijf gebruikt worden voor het vaststellen van effectieve marketingstrategieën zoals cross-selling en upselling,
16
maar geven ook aan hoe goed de website van het bedrijf is opgebouwd. De ontdekte associatieregels kunnen dan gebruikt worden als aanwijzingen voor het verbeteren van de website. Wanneer bepaalde pagina’s vaak in samenhang met elkaar worden bekeken en dit een gewenste situatie is, dan kan er op de ene pagina een link naar de andere pagina worden geplaatst zo deze niet voorhanden is, zodat het voor de gebruiker eenvoudiger wordt om van de ene pagina naar de andere pagina te gaan. Let wel, de associatieregel geeft niet noodzakelijk aan dat de pagina’s achtereenvolgens worden bekeken, maar wel dat de betreffende pagina’s binnen dezelfde transactie werden bekeken. 2.4.3 Sequentiële patronen Het probleem bij het vinden van sequentiële patronen is het onderkennen van interessante links over transacties heen. In tegenstelling tot de doelstelling van associatieregels, zoekt men hier naar patronen. Patronen zijn links tussen verzamelingen items doorheen een in de tijd geordende verzameling transacties en niet in eerste instantie binnen één en dezelfde transactie (Agrawal & Srikant, 1995). Voor bedrijven zijn deze patronen belangrijk want hiermee kunnen toekomstige bezoeken door gebruikers voorspeld worden. Op basis van deze patronen kunnen tevens groepen of individuen benaderd worden. Het wordt hierdoor bijvoorbeeld eenvoudiger om de gewenste doelgroep met gefocuste reclame te bereiken waardoor de effectiviteit van de reclame toeneemt. Een andere mogelijke toepassing voor sequentiële analyse is het vinden van gemeenschappelijke karakteristieken voor alle gebruikers die een bepaald bestand opvroegen binnen een bepaald tijdsinterval [t1 , t2 ]. Men kan ook geï nteresseerd zijn in een tijdsinterval (bijvoorbeeld een dag, een week of een maand) waarbinnen een bepaalde pagina het vaakst is opgevraagd. Cooley, Mobasher & Srivastava (1997) geven enkele voorbeelden van temporele relaties die met sequentiële patronen ontdekt kunnen worden: • •
30% van de klanten, die de pagina /company/products bezochten, hadden de laatste week via Yahoo! gezocht naar de term ‘product X’; 60% van de klanten, die online een bestelling plaatsten op /company/products/product1.htm, plaatsten binnen vijftien dagen ook een online bestelling op /company/products/product4.htm.
2.4.4 Clusteranalyse en classificatie Classificatie- en clusteringstechnieken maken het mogelijk om profielen van gebruikers te ontwikkelen. Deze profielen worden bepaald aan de hand van een beschrijving van en synthetiserende informatie over de bestanden die werden opgevraagd en de beschikbare demografische gegevens van de gebruikers.
17
Cooley, Mobasher & Srivastava (1997) geven hiervan twee voorbeelden: • •
Klanten van een overheidsorganisatie die te herkennen waren aan de uitgang .gov en die de website bezochten, leken vooral geï nteresseerd te zijn in de pagina /company/products/product1.htm; 50% van de klanten die een bestelling plaatsten op de pagina /company/products/product2.htm, bevonden zich in de leeftijdsgroep van 20 tot 25 jaar en woonden aan de westkust van de VS.
Socio-demografische gegevens kunnen worden verkregen uit externe/interne bestanden en/of via de browser van de gebruiker. Soms moeten deze gegevens via interactie met de gebruiker, bijvoorbeeld door het invullen van een formulier, verkregen worden. Let wel, gebruikers zullen dit echter niet steeds zo nauwgezet doen, bijvoorbeeld omwille van privacy redenen. 2.5 Analyse van de ontgonnen patronen Voor het analyseren van de ontgonnen patronen (post-processing) zijn heel wat nuttige technieken en tools beschikbaar. Hieronder vinden we onder meer visualisatie technieken, OLAP technieken, data & knowledge querying technieken, en bruikbaarheidsanalyse technieken. 2.5.1 Visualisatie en OLAP technieken Visualisatietechnieken stellen de ontdekte patronen grafisch voor. Zo kan men aan de hand van knopen pagina’s voorstellen en aan de hand van pijlen hyperlinks (Giudici & Castelo, 2001). Online Analytical Processing (OLAP) is het online uitvoeren van krachtige analyses op grote volumes multidimensionele gegevens. OLAP wordt vaak in combinatie met datawarehousing gebruikt. Data uit weblogs zouden kunnen opgeslagen worden in een datawarehouse, waarna het mogelijk wordt er online analyses op uit te voeren. OLAP omgevingen bieden tegenwoordig uitgebreide visuele ondersteuning voor het navigeren door en het analyseren van data. 2.5.2 Data & knowledge querying Data & knowledge querying stelt de data-analist in staat om de focus van een onderzoek expliciet te bepalen. Het meest gekende querying instrument is ongetwijfeld SQL. Ten eerste kunnen we querying gebruiken om een bepaald deel van de data te selecteren. Zo kunnen we bijvoorbeeld opdracht geven om de agents in de weblog niet te gebruiken voor de analyse. Ook kunnen we querying gebruiken in de post-processing stap om te grasduinen in de gevonden
18
verzameling patronen. We zijn bijvoorbeeld slechts geï nteresseerd in regels die over een bepaald deel van de website gaan. 2.5.3 Bruikbaarheidsanalyse Bruikbaarheidsanalyse omvat het qualificeren en quantificeren van gevonden patronen volgens hun 'bruikbaarheid' (interestingness & actionability). De eerste stap hiervan is het ontwikkelen van instrumentele methoden om data te verzamelen over de bruikbaarheid van de software op een manier die verwant is met de instrumenten die gebruikt worden bij het analyseren van de patronen. Deze data worden daarna gebruikt voor het bouwen van modellen en simulaties die de data verklaren. Tenslotte worden verschillende data presentatie- en visualisatietechnieken gebruikt om de analist te helpen bij het begrijpen van het bestudeerde fenomeen (Cooley, Mobasher & Srivastava, 1997).
3
Toepassingen
In dit derde en laatste deel gaan we wat dieper in op recommender systemen. Deze systemen illustreren hoe de samenwerking tussen de website en knowledge discovery in data in de praktijk kan worden gebracht bijvoorbeeld in de context van een e-commerce systeem. 3.1 Recommender systemen Recommender systemen worden op het internet gebruikt om producten voor te stellen aan potentiële klanten of om klanten te voorzien van informatie omtrent producten en diensten. Dit maakt de keuze voor de klanten eenvoudiger. De selectie van de producten en de informatie erover kan onder andere gebaseerd zijn op socio-demografische gegevens van de klant en/of kan op basis van de aankopen die de klant in het verleden heeft gedaan worden bepaald. Deze adviestechnieken maken deel uit van het customiseren van de website. E-commerce bedrijven kunnen recommender systemen gebruiken om de presentatie van de producten en de bijbehorende informatie af te stemmen op de wensen en noden van de individuele gebruiker. Schafter, Konstan & Riedl (2001) betrekken hierbij ook de ervaring van de klant. Ervaring bestaat naast het fysieke product, wat in uiterlijk en functie veranderd kan worden, uit de presentatie van de producten aan de klant en de beleving van de producten door de klant. Op het internet kan deze presentatie automatisch aan de wensen van de gebruiker worden aangepast. Er bestaan zuiver handmatige en geheel of gedeeltelijk automatische recommender systemen. Bij de eerste vorm worden de nodige gegevens zoals cross-selling gegevens handmatig ingevoerd. Het spreekt vanzelf dat
19
aanpassingen niet tijdens de interactie van de klant met de website kunnen gebeuren. Bij de tweede vorm wordt er gebruik gemaakt van gespecialiseerde data mining en bijbehorende customisatiesystemen die zorgen voor een online (adaptieve) interactie met de klanten. Recommender systemen zorgen op ten minste drie wijzen voor de verhoging van de verkopen via de website. Ten eerste lenen zij zich tot het transformeren van eenvoudige bezoekers van een website tot klanten. Doordat het systeem ondersteuning biedt voor het zoeken naar producten die de gebruikers wensen te kopen. Ten tweede worden de mogelijkheden voor cross-selling groter. Dit kan bijvoorbeeld gedaan worden door complementaire en/of supplementaire producten aan te bieden geselecteerd aan de hand van de producten die zich op dat moment in het winkelmandje van de klant bevinden. Tevens kan er gewerkt worden aan het opbouwen en het vergroten van de loyaliteit en het vertrouwen van de klanten. Stelselmatig leert het systeem namelijk de persoonlijke voorkeuren van de klant kennen zodat het zich op termijn kan ontpoppen tot een echte en waardevolle adviseur voor de klant. Schafter, Konstan & Riedl (2001) hebben een schema ontworpen, dat recommender systemen opdeelt in drie luiken: (a) functionele input en output (functional I/O), (b) de aanbevelingsmethode (recommendation method) en (c) andere zaken waar tijdens het ontwerp rekening mee moet worden gehouden. In Figuur 5 is te zien hoe de verschillende facetten van het recommender systeem kunnen worden aangewend in het aanbevelingsproces en wat de belangrijkste dimensies zijn binnen elk facet. Let wel: het schema is beperkt in die zin dat het hier gaat over aanbevelingen ten aanzien van individuele gebruikers en dit enkel op basis van voor de gebruiker potentieel interessante productinformatie en op basis van informatie met betrekking tot zijn in het verleden gedane aankopen (en de aankopen gedaan door andere, soortgelijke gebruikers). Andere data zijn niet betrokken bij het aanbevelingsproces zoals weergegeven in figuur 5. Ook is het schema slechts gebaseerd op systemen die tegenwoordig worden ingezet op ecommerce websites. Hierna zal een deel van het schema aan de hand van een voorbeeld worden toegelicht.
20
Gebruikersinvoer Impliciete navigatie Expliciete navigatie Sleutelwoord/Artikel kenmerk Score Aankoopgeschiedenis
Aanbevelingsmethode Zoekopdracht Handmatige selectie Statistische samenvatting Kenmerk gebaseerd Artikel-naar-artikel correlatie Gebruiker-naar-gebruiker correlatie
Community invoer Artikel kenmerk Externe artikel populariteit Aankoopgeschiedenis Score Commentaar
Uitvoer Suggestie Voorspelling Score Recensie E-store Engine Levering Push Pull Passief
Reacties Feedback
Graad van verpersoonlijking Niet-persoonlijk Kortstondig Blijvend
Doe de klant een aanbod
Reacties Feedback
Figuur 5 Een overzicht met ideeën voor aanbevelingssystemen (Schafter, Konstan & Riedl, 2001, p. 9-10)
3.2 Voorbeeld 1: Amazon.com Om het schema van figuur 5 te verduidelijken gaan we op de website van Amazon.com op zoek naar boeken van Harry Potter. Daartoe wordt op de homepage de zoekterm “Harry Potter” ingevuld. In het schema is deze invoer van de gebruiker aangegeven als ‘Sleutelwoord/Artikel kenmerk’. In de database van Amazon.com wordt nu gezocht naar alle boeken die overeenstemmen met deze query. Deze methode van aanbeveling (zoekopdracht) is een vaak gebruikte methode. De getoonde resultaten, een lijst met boeken van Harry Potter, zijn niet meer dan ‘niet persoonlijke’ suggesties aan de gebruiker. Deze wijze van aanbevelen is niet meer dan het zoeken naar een product en is bij elke ecommerce website aanwezig.
21
De toegevoegde waarde van het aanbevelingssysteem van Amazon.com wordt pas ontdekt als een link naar een product wordt aangeklikt. We vinden hier naast een beschrijving van het product onder andere een verwijzing naar andere boeken en producten van Harry Potter. Dit is een duidelijk voorbeeld van ‘Impliciete navigatie’. Hierbij heeft de gebruiker niet gevraagd om de aanbevelingen, maar deze worden aangeboden naar aanleiding van de getoonde interesses. De methode van aanbeveling is de artikel-naar-artikel correlatie, waarbij aanbevelingen worden gedaan op basis de artikelen (in dit geval Harry Potter) waarin reeds interesse is getoond. Bij de productbeschrijving zien we tevens een aantal sterren die de populariteit van het product aangeven. De populariteit wordt bepaald aan de hand van de beoordeling die klanten hebben gegeven na aankoop van het product. Tevens is het mogelijk om online commentaar te leveren op het product. Deze mogelijkheden voor interactie van de klanten zijn meestal onderdeel van de virtual community. Een virtual community is een gemeenschap van surfers die via de website dezelfde ideeën, interesses en gevoelens met elkaar delen. De feedback van een (virtual) community wordt in het aanbevelingsproces ook gebruikt. De populariteit wordt in het schema weergegeven als 'Score' en het leveren van commentaar als 'Commentaar'. Een community heeft een aantal voordelen voor het bedrijf, zoals het gratis leveren van informatie door klanten aan andere klanten (Customer to Customer) en biedt mogelijkheden voor een (potentiële) klant om interactief met de website bezig te zijn. Vervolgens vinden we op de website ondermeer het “Customers who bought this book also bought”-onderdeel. Ook hier is weer sprake van ‘Artikel-naar-artikel correlatie’ en van 'Gebruiker-naar-gebruiker correlatie' bij het doen van een aanbeveling. Deze methode wordt wel eens omschreven als passieve levering. Deze vorm van 'levering' kenmerkt zich door het opnemen van de aanbevelingen in de pagina. In tegenstelling tot de overige mogelijkheden (push en pull) zijn de gebruikers zich hier minder bewust van de aanbevelingen, omdat ze er niet expliciet attent op zijn gemaakt. Een andere vorm van uitvoer treffen we aan in de vorm van een recensie. Daarnaast wordt nog de feedback uit de community gebruikt door een aantal recensies te tonen die door gebruikers zijn ingevoerd. Van deze recensies kan tevens worden aangegeven of ze zinvol waren voor de gebruikers. Deze aanbevelingsmethode kunnen we omschrijven als handmatige selectie, omdat de recensies door mensen gekozen en ingevoerd zijn. Klanten die al een tijdje niets bij Amazon.com gekocht hebben, krijgen na verloop van tijd een e-mail met een aantal aanbiedingen. De aanbevelingen in deze e-mail worden samengesteld aan de hand van de voorkeuren van de gebruiker die hij
22
bewust heeft ingevoerd in het systeem (expliciete navigatie) of op basis van de in het verleden gedane aankopen (aankoopgeschiedenis). Het versturen van een email met aanbiedingen heeft duidelijk als doel de klanten tot het doen van een aankoop aan te zetten. Een dergelijke e-mail is een voorbeeld van push levering waarbij het initiatief aan de kant van de verkoper ligt, terwijl een pull levering een actie van de klant vereist voordat deze de aanbevelingen kan zien. 3.3 Voorbeeld 2: CDNOW.com Hier zullen de resterende onderdelen uit het schema worden besproken aan de hand van de website van CDNOW.com. CDNOW is een website gespecialiseerd in het aanbod van CDs via het internet. Naast het algemeen gedeelte van de website wordt ook aandacht besteed aan myCDNOW. Hier kunnen onder andere de bestellingen worden bijgehouden en de muziekvoorkeuren worden aangegeven. Op de homepage vinden we de rubriek “top sellers”. Hier kan een geï nteresseerde koper naast de meest verkochte albums via CDNOW ook de hitparade-albumlijst (Billboard) bekijken. De hitparade-albumlijst is een voorbeeld van 'Externe artikel populariteit'. Het gaat hierbij immers om de populariteit van de producten zoals van buitenaf wordt aangegeven. De community wordt hier effectief uitgebreid met kopers van buitenaf. Gebruiker-naar-gebruiker correlatie wordt ook vaak collaborative filtering genoemd. Aan de hand van de kenmerken van de gebruiker wordt deze ondergebracht in een bepaalde subgroep binnen de community. De 'langdurige' aanbevelingen aan de gebruiker zullen dan gebaseerd worden op de voorkeuren van deze subgroep binnen de community. Zo gaat myCDNOW ook tewerk. Dit aanbevelingssysteem behoort op het moment tot de meest geavanceerde in zijn soort. ‘Kortstondige’ suggesties (bv. speciale promoties) worden gegeven op het ogenblik dat de gebruiker een of meerdere artikels in zijn winkelmandje stopt, uiteraard rekening houdende met wat er op dat ogenblik reeds in zit en/of wat hij/zij in het verleden reeds heeft aangekocht.
23
4
Samenvatting
In de eerste sectie is een algemene beschrijving gegeven van web mining. Daarbij is web mining onderverdeeld in drie deelgebieden: web content mining, web structure mining en web usage mining. Op web usage mining werd in de tweede sectie nader ingegaan. Web usage mining kan gebruikt worden voor het ontginnen en bestuderen van de verschillende patronen die aanwezig zijn in een weblog. Hiervoor moet de weblog allereerst opgeschoond worden. Tevens moet gekeken worden naar potentiële onvolkomenheden in de data en deze moeten opgevangen worden. Dit proces wordt preprocessing genoemd. Voordat data mining technieken toegepast kunnen worden, moeten eerst nog gebruikerssessies en transacties geï dentificeerd worden. Wanneer dit allemaal gedaan is, dan kunnen met behulp van verschillende data mining technieken patronen in de opgeschoonde en partieel gestructureerde data worden ontdekt. Deze fase heet pattern discovery en verloopt grotendeels geautomatiseerd. De automatisch gegenereerde, potentieel interessante, patronen die uit voorgaande fasen naar voren komen moeten vervolgens geanalyseerd worden op bruikbaarheid. Ook hiervoor zijn verschillende (geautomatiseerde) technieken beschikbaar. Deze laatste fase binnen web usage mining wordt pattern analysis genoemd. De laatste fase omvat uiteraard het inzetten en tegelde maken van de verkregen kennis in de dagdagelijkse praktijk. In de derde en laatste sectie werd kort ingegaan op recommender systemen. Deze systemen vormen een mooi voorbeeld van hoe in de praktijk gebruik kan worden gemaakt van web mining technieken om een website te helpen verbeteren. Een verbeterde website moet leiden tot een aantrekkelijke plaats waar mensen graag iets kopen en geneigd zijn om dit in de toekomst te blijven doen. De voordelen hiervan voor een e-commerce bedrijf mogen duidelijk zijn.
24
Bronnen Agrawal R., Imielinski T. & Swami A. (1993). Mining Association Rules between Sets of Items in Massive Databases. Proceedings of the ACM SIGMOD International Conference on Management of Data, Washington D.C., USA. Agrawal R. & Srikant R. (1995). Mining Sequential Patterns. Proceedings of the International Conference on Data Engineering (ICDE), Taipei, Taiwan, March 1995. Schafer B. J., Konstan J. & Riedl J. (2001). E-Commerce Recommendation Applications. Data Mining and Knowledge Discovery, Volume 5, Issue 1/2, January 2001, pp. 115-153. Cooley R. (2000). Web Usage Mining: Discovery and Applications of Usage Patterns from Web Data. Thesis, University of Minnesota, pp. 41-62. Cooley R., Mobasher B. & Srivastava J. (1997). Web Mining: Information and Pattern Discovery on the World Wide Web. Proceedings of the 9th IEEE International Conference on Tools with Artificial Intelligence, pp. 1-8. Cooley R., Mobasher B. & Srivastava J. (1999). Data Preparation for Mining World Wide Web Browsing Patterns. Journal of Knowledge and Information Systems, Vol. 1, No. 1, pp. 1-25. Giudici P., & Castelo R.. (2001). Association Models for Web Mining. Data Mining and Knowledge Discovery, Volume 5, July 2001, pp. 183-196. Kosala R. & Blockeel H. (2000). Web Mining Research: A Survey. SIGKDD Explorations, Newsletter of the Special Interest Group on Knowledge Discovery & Data Mining, June 2000, Vol. 2, Issue 1, pp. 1-9. Mobasher B., Cooley R. & Srivastava J. (2000). Automatic Personalization Based on Web Usage Mining. Communications of the ACM, Vol. 42 No. 8, pp. 142-151. Mobasher B., Jain N., Han E. & Srivastava J. (1997). Web Mining: Pattern Discovery from World Wide Web Transactions. Proceedings of the 9th IEEE International Conference on Tools with artificial intelligence (1997), pp. 1-11. Mulvenna M.D., Anand S.S., & Buchner A.G. (2000). Personalization on the Net Using Web Mining. Communications of the ACM, Vol. 43 No. 8, pp. 123-125.
25
Spiliopoulou M. (2000). Web Usage Mining for Web Site Evaluation: Making a site better fit its users. Special Section of the Communications of the ACM on `Personalization Technologies with Data Mining', August 2000, Vol. 43 No. 8, pp.127-134. Spiliopoulou M. & Pohle C. (2001). Data Mining for Measuring and Improving the Success of Web Sites. Data Mining and Knowledge Discovery, Volume 5, Issue 1/2, January 2001, pp. 85-114. Srivastava J., Cooley R., Deshpande M. & Tan P-N. (2000). Web Usage Mining: Discovery and Applications of Usage Patterns from Web Data. SigKDD Explorations, Vol. 1, Issue 2, pp. 1-11.
26