28
Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

  • Upload
    serge

  • View
    25

  • 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

Page 1: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

Click-Stream analýza(analýza sekvencí)

Berka PetrKočka TomášLaš Vladimír

Page 2: Click-Stream analýza (analýza sekvencí) Berka Petr Koč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

Page 3: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

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 ?

Page 4: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

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ží)

Page 5: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

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

Page 6: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

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

Page 7: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

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í)

Page 8: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

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

Page 9: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

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

Page 10: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

10Click-Stream 17. 3. 2005

Shluková analýzaUdělána pomocí MS SQL Server – Analysis services

Page 11: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

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í.

Page 12: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

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

Page 13: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

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

Page 14: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

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%

Page 15: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

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%

Page 16: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

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

Page 17: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

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

Page 18: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

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

Page 19: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

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)

Page 20: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

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 * => *

Page 21: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

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 …

Page 22: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

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

Page 23: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

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

Page 24: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

24Click-Stream 17. 3. 2005

Implementace

Page 25: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

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

Page 26: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

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, …

Page 27: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

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 %)

Page 28: Click-Stream analýza (analýza sekvencí) Berka Petr Kočka Tomáš Laš Vladimír

28Click-Stream 17. 3. 2005

Testování algoritmů