280 likes | 413 Views
Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír. Obsah. Co je Click-Stream analýza Praktický příklad Algoritmus hledání pravidel Implementace. Co je to Click-Stream. Webové servery shromažďují obrovské množství dat (logové soubory)
E N D
Click-Stream analýza(analýza sekvencí)Berka PetrKočka TomášLaš Vladimír
Click-Stream 17. 3. 2005 Obsah • Co je Click-Stream analýza • Praktický příklad • Algoritmus hledání pravidel • Implementace
Click-Stream 17. 3. 2005 Co je to Click-Stream • Webové servery shromažďují obrovské množství dat (logové soubory) • Tato data většinou nejsou dále využívána • Tato data obsahují informace užitečné pro provoz serveru ? Jak tyto informace získat ?
Click-Stream 17. 3. 2005 Vlastnosti logových dat • Milióny záznamů • Přibližně stejná podoba (time; IP address; session ID; page request; referee) • Jednotlivé sessions (návštěvy jednoho uživatele) poměrně krátké (16 přístupů) • Z požadované stránky lze poznat informace o stránce (u e-shopů např. typ stránky, typ zboží)
Click-Stream 17. 3. 2005 Příklad logového souboru unix time ;IP address ; session ID ; page request; referee 1074589200;193.179.144.2 ;1993441e8a0a4d7a4407ed9554b64ed1;/dp/?id=124 ;www.google.cz; 1074589201;194.213.35.234;3995b2c0599f1782e2b40582823b1c94;/dp/?id=182 ; 1074589202;194.138.39.56 ;2fd3213f2edaf82b27562d28a2a747aa;/ ;www.seznam.cz; 1074589233;193.179.144.2 ;1993441e8a0a4d7a4407ed9554b64ed1;/dp/?id=148 ;/dp/?id=124; 1074589245;193.179.144.2 ;1993441e8a0a4d7a4407ed9554b64ed1;/sb/ ;/dp/?id=148; 1074589248;194.138.39.56 ;2fd3213f2edaf82b27562d28a2a747aa;/contacts/ ; /; 1074589290;193.179.144.2 ;1993441e8a0a4d7a4407ed9554b64ed1;/sb/ ;/sb/; • Příklad obsahuje 3 sessions
Click-Stream 17. 3. 2005 Předzpracování dat • Z dat je z nich třeba vytvořit sekvence, které budeme analyzovat: • Vytvořit časové sekvence stránek pro jednotlivé uživatele (sessions) • Ze sekvence stránek (http adres) vytvořit sekvence analyzovaných „informací“ (sekvence typů stránek, sekvence druhů zboží) • Lze přidat umělé „stránky“ ZAČÁTEK a KONEC • Výsledná podoba: - start, lz, lz, dz, nk, end - start, 148, 128, end
Click-Stream 17. 3. 2005 Praktický příklad • Internetový obchod • Data za 24 dní (3 milióny záznamů) • Logový soubor standardní informace • Předzpracování dat: • 200 000 uživatelů • 1stránkové záznamy byly předem odstraněny • Z těchto dat 2 základní vstupy: sekvence typů stránek a sekvence druhů zboží (30 kategorií)
Click-Stream 17. 3. 2005 Základní údaje Celkem přístupů 203 750 Shop1 35 864 Shop2 21 044 Shop3 38 059 Shop4 48 656 Shop5 20 013 Shop6 27 498 Shop7 12 616
Click-Stream 17. 3. 2005 Základní údaje • Nejvíce přístupů od jednoho uživatele: 15454 • Průměrný počet přístupů: 16,186 • Medián: 8 • Modus: 2 • Nejdelší čas: 433:27:53 (17 přístupů) • Průměrný čas: 00:24:46 • Medián: 0:03:08 • Modus: 0:0:9
Click-Stream 17. 3. 2005 Shluková analýza Udělána pomocí MS SQL Server – Analysis services
Click-Stream 17. 3. 2005 Analýza statických dat • Pomocí rozhodovacích stromů (pařezů) - SAS • Pozorování: Lidé používající fulltextové vyhledávání se méně dívají na detaily zboží • Závěry: Vyhledavač nenalezne to, co lidé chtějí.
Click-Stream 17. 3. 2005 Analýza statických dat • Ukázka dalších pozorování: • Při nákupu (návštěvě stránek s košíkem) se lidé často na něco ptají. • Lidé čtoucí stránky poradny méně chodí na detaily a listy zboží. • Při návštěvě stránky obchody-elektro se méně dívá na detaily zboží. • Velmi málo přístupů na často kladené dotazy
Click-Stream 17. 3. 2005 Přechody mezi obchody • Uděláno pomocí CSAnalyzeru vygenerováním všech pravidel délky 2 ze sekvencí obchodů • Nepřineslo žádné zajímavé výsledky
Click-Stream 17. 3. 2005 Přechody mezi zbožím • Uděláno pomocí CSAnalyzeru vygenerováním všech pravidel délky 2 ze sekvencí zboží • Možné využít pro nabízení dalšího zboží uživateli • Nejsilnější pravidlo: reproduktory-příslušenství -> video-DVD : 26,00% • “Nejslabší” pravidlo: vysavače-žehličky -> pračky-sušičky : 3,80%
Click-Stream 17. 3. 2005 Analýza sekvencí • Pomocí CSAnalyzeru • Vybrány „zajímavá“ pravidla Pozorování: Lidé z faq chodí často dále do poradny Pravidlo: faq ->poradna předpoklad: 594 z toho závěr: 127 P: 21% Závěry: Na faq lidé nenajdou, co chtějí a hledají dále. Pozorování: Často lidé vyhledávají fultextem vícekrát za sebou Pravidlo: findf ->findf předpoklad: 52961 z toho závěr: 23298 P: 44% Závěry: Nenajdou co chtějí. Nevědí, jak hledat (co zadávat) Nejsilnější nalezené pravidlo Pravidlo: dt, kosik ->kosik předpoklad: 5174 z toho závěr: 4801 P: 93%
Click-Stream 17. 3. 2005 Závěry analýzy • „Klasické“ metody a analýza sekvencí se částečně překrývají a částečně doplňují – pro získání více znalostí je třeba dělat oboje • Některá „zajímavá“ pravidla odhalí jen člověk, který dobře zná dané stránky • V datech se nepodařilo najít delší „zajímavá“ pravidla
Click-Stream 17. 3. 2005 Algoritmus hledání pravidel • Příklad sekvence: ABCDX • Sekvenční pravidla DX, CD X, BCD X • Obecná asociační pravidla A X, AC X, BD X
Click-Stream 17. 3. 2005 Sekvenční pravidla • Pokud je k pravidlu D X přidáno pravidlo CD X, mění se význam pravidla D X na (D, ale ne CD) X Př: 1. D X Ant: 9 AntSuc: 2 2. přidáme CD X Ant: 2 AntSuc: 2 změní se D X Ant: 7 AntSuc: 0
Click-Stream 17. 3. 2005 Sekvenční pravidla • Je-li „správné“ pravidlo ABCDX, pak proces specializace, který ho najde je pouze tento: X, DX, CDX, BCDX, ABCDX • Rozhodnutí o hledání dalších specializací je prováděno na základě ch2testu • Neexistují konflikty mezi pravidly s výjimkou případu, kdy jedno pravidlo je specializací druhého (to umožňuje implementaci rychlého algoritmu na rozdíl od CN2)
Click-Stream 17. 3. 2005 Algoritmus pokrývání množin • Inicializace pro každou stránku page vyskytující se v datech • spočítej její relativní četnost v datech jako P = počet_výskytů_stránky_na_pozici_lmax + 1 / počet_sekvencí_délky_lmax + 1 2. je-li četnost P nmin, 2.1 zařaď do seznamu pravidel Rules pravidlo defaultpage 2.2 zařaď page do seznamu uvažovaných stranek Pages 3. Spusť hlavní cyklus s pomocným pravidlem * => *
Click-Stream 17. 3. 2005 • Hlavní cyklus dokud není konec - má-li aktuální pravidlo Ant page délkuAnt menší než lmax -pro všechny stránky pp z Pages najdi k pravidlu ppAntpage nadpravidlo z Rules(pravděpodobně Antpage, ale může se jednat o zkráceninu o více než jednu stránku zleva, extrémně až …page – označme je Antxpage) spočti chi2 test srovnáním ppAntpage a Antxpage vyber maximální chi2 pravidlo ppAntpage Pokud chi2<alfa pak Přidej ppAntpage do Rules Uprav nadpravidlo Antxpage pravidla ppAntpage v Rules Otestuj významnost pravidla Antxpage ve srovnání s jeho nadpravidlem v Rules a pokud nesplňuje významnost chi2 testu na hladině alfa pak vyjmi toto nadpravidlo z Rules a uprav jeho nadpravidlo, dtto …
Click-Stream 17. 3. 2005 Kompozicionální algoritmus • Inicializace pro každou stránku page vyskytující se v datech • spočítej její relativní četnost v datech jako P = počet_výskytů_stránky_na_pozici_lmax + 1 / počet_sekvencí_délky_lmax + 1 2. je-li četnost P nmin, 2.1 zařaď do seznamu pravidel Rules pravidlo defaultpage 2.2 zařaď page do seznamu uvažovaných stranek Pages 2.3 zařaď defaultpage do seznamu implikací Impl
Click-Stream 17. 3. 2005 1. vezmi implikaci Antpage z Impl 2. je-li délka Ant menší než lmax pak pro každou stranu pp z Pages 2.1 prodluž Ant na ppAnt 2.2 je-li četnost ppAnt v datech nmin pak 2.2.1 spočítej platnost pravidla ppAntpage jako P(ppAnt=>page) = počet_výskytů_ppAntpage / počet_výskytů_ppAnt 2.2.2 z pravidel v Rules, jejichž je ppAntpage levostranným rozšířením spočítej váhu w(ppAnt) 2.2.3 pokud se váha w(ppAnt)významně liší od platnosti P(ppAntpage) pak 2.2.3.1 spočítej váhu w: w w(ppAnt) = P(ppAnt page) 2.2.3.2 zařaď pravidlo ppAntpage(w) do Rules 2.2.4 přidej implikaci ppAntpage na konec Impl
Click-Stream 17. 3. 2005 Implementace
Click-Stream 17. 3. 2005 Implementace • Vývojové prostředí Borland’s Delphi • Operační systém Windows • Procesor > 600 MHz • Paměť – čtyřnásobek vstupních dat
Click-Stream 17. 3. 2005 Implementace • Algoritmus implementován jako objekt => lze snadno přidat jiný algoritmus • Vyhledávání běží v samostatném vlákně => lze prohlížet částečné výsledky (případně včas přerušit vyhledávání) • V systému zabudováno predikování na základě nalezených pravidel • Ukládání pravidel, export, …
Click-Stream 17. 3. 2005 Implementace • Systém umožňuje testování, tj. na základě vstupních dat určí pro každou stránku, kolikrát by podle vybraných pravidel byla predikovaná stránka správná a kolikrát špatná (pro sekvence typů stránek jsme dostali celkovou úspěšnost s 60 pravidly cca 60%[při predikování majoritní třídy bychom dostali 40%], jednotlivé stránky se pohybovaly mezi 30 – 80 %)
Click-Stream 17. 3. 2005 Testování algoritmů