Upload
serge
View
29
Download
0
Embed Size (px)
DESCRIPTION
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) - PowerPoint PPT Presentation
Citation preview
Click-Stream analýza(analýza sekvencí)
Berka PetrKočka TomášLaš Vladimír
2Click-Stream 17. 3. 2005
Obsah
• Co je Click-Stream analýza
• Praktický příklad
• Algoritmus hledání pravidel
• Implementace
3Click-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 ?
4Click-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ží)
5Click-Stream 17. 3. 2005
Příklad logového souboruunix 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
6Click-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
7Click-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í)
8Click-Stream 17. 3. 2005
Základní údajeNávštěvy obchodů
18%
10%
19%24%
10%
13%
6%10;www.shop1.cz
11;www.shop2.cz
12;www.shop3.cz
14;www.shop4.cz
15;www.shop5.cz
16;www.shop6.cz
17;www.shop7.cz
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
9Click-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
10Click-Stream 17. 3. 2005
Shluková analýzaUdělána pomocí MS SQL Server – Analysis services
11Click-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í.
12Click-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
13Click-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
14Click-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%
15Click-Stream 17. 3. 2005
Analýza sekvencí
• Pomocí CSAnalyzeru• Vybrány „zajímavá“ pravidlaPozorová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%
16Click-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
17Click-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
18Click-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) XPř: 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
19Click-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)
20Click-Stream 17. 3. 2005
Algoritmus pokrývání množin
• Inicializacepro každou stránku page vyskytující se v datech 1. 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 default page2.2 zařaď page do seznamu uvažovaných stranek Pages
3. Spusť hlavní cyklus s pomocným pravidlem * => *
21Click-Stream 17. 3. 2005
• Hlavní cyklusdokud není konec- má-li aktuální pravidlo Ant page délku Ant menší než lmax - pro všechny stránky pp z Pages
najdi k pravidlu ppAnt page nadpravidlo z Rules (pravděpodobně Ant page, ale může se jednat o zkráceninu o více než jednu stránku zleva, extrémně až … page – označme je Antx page)spočti chi2 test srovnáním ppAnt page a Antxpagevyber maximální chi2 pravidlo ppAnt page
Pokud chi2<alfa pakPřidej ppAnt page do Rules Uprav nadpravidlo Antx page pravidla ppAnt page v
RulesOtestuj významnost pravidla Antx page 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 …
22Click-Stream 17. 3. 2005
Kompozicionální algoritmus
• Inicializacepro každou stránku page vyskytující se v datech 1.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 default page2.2 zařaď page do seznamu uvažovaných stranek Pages
2.3 zařaď default page do seznamu implikací Impl
23Click-Stream 17. 3. 2005
1. vezmi implikaci Ant page z Impl2. je-li délka Ant menší než lmax pak
pro každou stranu pp z Pages2.1 prodluž Ant na ppAnt2.2 je-li četnost ppAnt v datech nmin pak
2.2.1 spočítej platnost pravidla ppAnt page jakoP(ppAnt=>page) = počet_výskytů_ppAntpage /
počet_výskytů_ppAnt2.2.2 z pravidel v Rules, jejichž je ppAnt page
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(ppAnt page) pak2.2.3.1 spočítej váhu w: w w(ppAnt) = P(ppAnt
page) 2.2.3.2 zařaď pravidlo ppAnt page(w) do Rules
2.2.4 přidej implikaci ppAnt page na konec Impl
24Click-Stream 17. 3. 2005
Implementace
25Click-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
26Click-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, …
27Click-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 %)
28Click-Stream 17. 3. 2005
Testování algoritmů