36
웹 웹웹 웹웹웹웹 웹웹 웹웹 웹웹 웹웹웹웹 2000. 2 성성성성 성성성 성성성성 2000 웹 7 웹 14 웹 DE Lab. 웹웹웹

웹 로그 파일에서 순회 패턴 탐사 알고리즘 2000. 2 성신여대 하미라 석사논문

  • Upload
    dyllis

  • View
    81

  • Download
    14

Embed Size (px)

DESCRIPTION

웹 로그 파일에서 순회 패턴 탐사 알고리즘 2000. 2 성신여대 하미라 석사논문. 2000 년 7 월 14 일 DE Lab. 윤지영. 목 차. 순회 패턴 탐사 구현 알고리즘 웹 로그 파일에서 순회 패턴 탐사 성능 분석 결론 및 향후 과제. 순회 패턴 탐사. 순회 패턴 탐사 단계 최대 순방향 참조 단계 ( M aximal F orward R eferences) : 사용자 접근 패턴에서 역방향참조 일어날 때 까지의 순방향 참조 시퀀스 - PowerPoint PPT Presentation

Citation preview

Page 1: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

웹 로그 파일에서순회 패턴 탐사 알고리즘

2000. 2 성신여대 하미라 석사논문

2000 년 7 월 14 일DE Lab. 윤지영

Page 2: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

2

목 차1. 순회 패턴 탐사 2. 구현 알고리즘3. 웹 로그 파일에서 순회 패턴 탐사4. 성능 분석5. 결론 및 향후 과제

Page 3: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

3

순회 패턴 탐사순회 패턴 탐사 단계1. 최대 순방향 참조 단계 (Maximal Forward References) :

사용자 접근 패턴에서 역방향참조 일어날 때 까지의 순방향 참조 시퀀스

2. 빈발 참조 시퀀스 단계 (Large Reference Sequences) :

최대 순방향 참조 중에서 최소지지도를 만족하는 시퀀스

3. 최대 참조 시퀀스 단계 (Maximal Reference Sequences) :

다른 빈발 참조 시퀀스 어느 하나에도 포함되지 않는 빈발 참조 시퀀스

Page 4: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

4

- 한 사용자의 순회 경로{A, B, C, D, C, B, E, G, H, G, W, A, O,

U, O, V}- 생성된 최대 순방향 참조

{ABCD, ABEGH, ABEGW, AOU, AOV}

그림 1 . 순회패턴의 예

Page 5: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

5

최대 순방향 참조 Log database :

a pair of (Source, Destination) 최대순방향 참조를 저장한 데이터베이스 : DF

MF(Maximal Forward ) 알고리즘- 로그 데이터베이스를 사용자 아이디로 정렬 ,

각 사용자에 대해 시간순으로 정렬된 순회경 로 {(s1,d1),(s2,d2),…,(sn,dn)} 을 얻음- 정렬된 모든 로그 데이터에 대하여 d1 에서부

터 dj ( 역참조가 일어날 때가 j 번째 참조라면 ) 까지의 스트링을 DF 에 기록한다

Page 6: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

6

빈발 참조 시퀀스 1≤j ≤ k 에 대해 si+j = rj 인 i 가 존재한다면

시퀀스 s1,…,sn 은 연속된 부분시퀀스로서 r1,…,r

k 를 포함한다고 한다 .예 ) BAHPM 은 AHP 를 포함한다 .

빈발 k- 참조시퀀스 - 연속된 부분 시퀀스로서 r1,…,rk 를 포함하 는 최대순방향참조들을 가진 사용자의 수가 최소지지도를 넘는다면 , 이러한 k- 참조시퀀스 r1,…,rk 를 빈발 k- 참조시퀀스 라 한다 .

Page 7: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

7

구현 알고리즘 FS (Full-Scan) 알고리즘

– DHP 알고리즘 응용 CHT_FS(Compound Hash Tree_FS) 알고리즘

– FS 에 복합 해쉬 트리 적용 TPADE (Traversal Pattern Discovery using Equivale

nce Classes) 알고리즘– SPADE 알고리즘 응용

Page 8: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

8

FS(Full-Scan) 알고리즘 DHP(Direct Hashing and Pruning) 응용

– 효과적인 빈발 항목 집합 생성– 효과적인 트랜잭션 데이터베이스 전지 (Pruning)

결합 (Join)

A B C D

A B C

A B D

그림 2. 결합 ( 연관 규칙 )

A B C

B C D

A B C D

그림 3. 결합 ( 순회 패턴 )

빈발 k-1

후보 k

Page 9: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

9

FS(Full-Scan) 알고리즘 Lk : 모든 빈발 k-참조 시퀀스들의 집합

Ck : 모든 후보 k-참조 시퀀스들의 집합

1) DF를 스캔하여 L1 얻고 각 후보 2-참조 시퀀스의 빈도수를 세기 위한 해쉬테이블 (H2)을 만듬

2) DHP 에서와 같이 k=2 일때 부터 시작하여 이전 단계에서 얻어진 해쉬테이블 카운트를 기반으로 Ck 생성 , 빈발 k-참조 시퀀스들의 집합 찾음

- Ck 에서 k-항목집합들의 한 항목으로 사용되진 수를 구하여 최소지지도 이하로 사용된 항목은 Purning 함으로써 트랜잭션 DB 의 크기 줄임

- 후보 (k+1)-참조 시퀀스를 찾기 위한 해쉬테이 블 생성

Page 10: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

10

CHT_FS 알고리즘 복합 해쉬 트리 (Compound Hash Tree)

– Cm,Cm+1,…,Cm+n 을 동시에 생성한 후 , 하나의 복합 해쉬트리를 생성 , 한번의 DB 스캔으로 Lm,Lm+1, …,Lm+n 을 찾음

– 일반적인 해쉬 트리 : • 검색되어야 할 레코드가 외부 노드에만 저장

– 복합 해쉬 트리 : • 검색되어야 할 레코드가 내부 노드에도 저장

– 장점 :• 반복적인 해쉬트리의 생성 및 데이터베이스 스

캔 , 후보 빈발 항목집합의 발생 수 계산을 줄임• 트리 탐색 비용 감소

– 단점 : 후보항목집합 생성은 FS 에 비해 비효과적

Page 11: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

11

그림 4. C2 = {AB, AC, BC, BD, CD}, C3= {ABC, BCD} 의 해쉬 트리

AB

AC

BC

BD CD

CA B

C C D DB

ABC BCD

CB

BA

DC

일반 해쉬 트리

Page 12: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

12

A

AB A

C

BC BD CD

CB

C C D DB

ABC BCD

C D

그림 5. C2={AB,AC,BC,BD,CD}, C3={ABC,BCD} 의 복합 해쉬 트리

복합 해쉬 트리

Page 13: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

13

TPADE 알고리즘 SPADE (Sequential Pattern Discovery using Eq

uivalence classes) 알고리즘 응용 동치 클래스 (Equivalence Classes) 를

이용하여 원문제를 주 메모리상에서 독립적으로 수행가능한 부문제로 나눔

수직 식별자 리스트 (Vertical id-list) 데이터베이스 형식

간단한 id-list intersection 으로 모든 빈발시퀀스 찾음

많아야 세 번의 데이터베이스 스캔 필요

Page 14: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

14

빈발 참조 시퀀스를 찾는 과정1. 전처리 과정2. 빈발 1- 참조 시퀀스 (F1) 찾기3. 빈발 2- 참조 시퀀스 (F2) 찾기4. 빈발 k- 참조 시퀀스 (Fk) 찾기

1) 빈발 (k-1)- 참조 시퀀스를 이용한 동치 클래스 분해

2) 각 동치 클래스에서 빈발 k- 참조 시 퀀스 생성

Page 15: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

15

전처리 과정 1 단계에서 얻어진 MFR_DB 형식을

수평에서 수직으로 변환-> 지지도를 쉽게 구할 수 있도록

수평 DB : transaction 단위로 저장(UID, TID, # of ITEMS, ITEMS)

수직 DB : item 단위로 DB 에 저장( ITEM, # of LIST, (UID TID LOC)LISTS)

CTL _ list

Page 16: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

16

UID TID # of items

ITEMS

1 1 3 C D A

1 2 5 A B C D F

1 3 5 A B F D C

1 4 3 A C B

2 5 5 A B F D C

2 6 3 C D A

3 7 4 A B C F

3 8 2 A B

4 9 3 C B A

그림 6. 수평 (Horizontal) DB 의 예

Page 17: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

17

ITEM # of lists (UID TID LOC) listsA 9 (1 1 3) (1 2 1) (1 3 1) (1

4 1) (2 5 1) (2 6 3) (3 7 1) (3 8 1) (4 9 3)

B 7 (1 2 2) (1 3 2) (1 4 3) (2 5 2) (3 7 2) (3 8 2) (4 9 2)

C 8 (1 1 1) (1 2 3) (1 3 5) (1 4 2) (2 5 5) (2 6 1) (3 7 3) (4 9 1)

D 5 (1 1 2) (1 2 4) (1 3 4) (2 5 4) (2 6 2)

E 0

F 4 (1 2 5) (1 3 3 ) (2 5 3) (3 7 4)

그림 7. 수직 (Vertical) DB 의 예

Page 18: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

18

F1 과 F2 찾기 빈발 1- 참조 시퀀스 (F1)

- 한번의 DB 스캔으로 주어진 수직 식별자 리스트 DB 로부터 모든 빈발 -1 참조 시퀀스를 찾음

빈발 2- 참조 시퀀스 (F2) - 수직 식별자 리스트 DB 형식을 다시 수평 형식으로 변환 (on-the-fly 방식 )하여 기존의 방식으로 계산

Page 19: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

19

빈발 k- 참조 시퀀스 (Fk) 빈발 (k-1)- 참조 시퀀스의 동치클래스 이용 SPADE 알고리즘에서의 동치 클래스 [ε ∈ Fk-1] = { α ∈ Fk | Pk-1 (α)= ε }

그림 8. SPADE 에서의 Equivalence Class 의 예

[A]

l1 l2 AF

AB

[D]

l1 l2DF DB

[B]

l1 l2BA BF

[F]

l1 l2

FA FB

FD

[ε].l1 = (ε -> α)

[ε].l2 = (ε α)

Page 20: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

20

TPADE 알고리즘에서의 동치 클래스

[A]

l1 l2DA AB

AC

[D]

l1 l2 DA

DC

[B]

l1 l2AB BC

CB BF

[F]

l1 l2BF FD

CF

그림 9. TPADE 에서의 Equivalence Class 의 예

[ε∈Fk-1] = {α∈Fk |Drop1(α)=ε ∨ Dropk(α)=ε }

[ε].l1 = { (α ε) }

[ε].l2 = { (ε α) }

Page 21: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

21

빈발 k- 참조 시퀀스 생성 생성된 동치클래스들은 메모리 상에서

각각 독립적으로 수행됨 각 동치클래스에서 빈발시퀀스 찾는 과정

1) l1 과 l2 를 접합 (Concatenation), 새로운 후보 참조 k- 시퀀스의 Item list 를

얻음2) 얻어진 후보 시퀀스의 지지도 계산하여

빈발 시퀀스 얻음

Page 22: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

22

빈발 k- 참조 시퀀스 생성예

ITEM SUP CTL _ listAB 5 (121)(131)(251)(371)

(381)

BC 2 (122)(372)

BF 2 (132)(252)

CB 2 (142)(491)

CD 3 (111)(123)(261)

DA 2 (112)(262)

DC 2 (134)(254)

FD 2 (133)(253)

F2 의 CTL_list

Page 23: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

23

F3 의 CTL_list

EC ITEM SUP CTL _ listA DAB 0 NULL

B ABC 2 (121)(371)

ABF 2 (131)(251)

CBF 0 NULL

C BCD 1 (122)

DCB 0 NULL

DCDA 2 (111)(261)

FDA 0 NULL

FDC 2 (133)(253)

F BFD 2 (132)(252)

Page 24: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

24

EC 별 접합결과 F4 의 CTL_list

[CD]l1 l2

BCD

CDA

[A] [B]

[BF]

[C]

[CB]

[DC]l1 l2

FDC

[FD]l1 l2

BFD

FDC

[BC]l1 l2 BC

D

[D]

[DA]

[F]

EC ITEM SUP CTL _ listFD BFDC 2 (132)(252)

CD BCDA 0 NULL

[AB]l1 l2 AB

C

ABF

Page 25: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

25

실험 환경 및 실험 데이터 실험 환경

– CPU : Pentium II 366MHz – 주 메모리 : 256MB– 운영 체제 : Windows NT workstation 4.0– 구현 언어 : Visual C++ 6.0

실험 데이터– 성신여자대학교 웹 로그 파일 적용– 데이터 수집 기간 : 1999.10 .26~ 1999. 11.28 (1,000,000개 , 2,000,000개 , 3,000,000개 트랜잭션 )

Page 26: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

26

웹 엑세스 로그 데이터

• 수집기간 : 1999.10 .26~ 1999. 11.28

210.111.128.244 - - [26/Oct/1999:13:34:59 +0900] "GET/~plan/rule/r4_1.htm HTTP/1.1" 200 115920

210.111.128.244 - - [26/Oct/1999:13:35:00 +0900] "GET/~plan/img/first.gif HTTP/1.1" 200 427

210.125.93.41 - - [26/Oct/1999:13:35:01 +0900] "GET/Org HTTP/1.0" 302 -

그림 10. 성신여대의 웹 액세스 로그 데이터의 예

Page 27: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

27

데이터의 전처리 (Cont’d)

Code User’s IP(Domain)

1 10-216.wm.lge.co.kr

2 128.100.46.27

3 128.175.83.61

4 128.200.51.63

5 128.226.107.35

6 128.226.107.35

7 128.226.107.35

Code Requested Item

1 / HTTP/1.0

2 / bbs/ HTTP/1.0

3 / bbs/images/condensed.gif HTTP/1.0

4 / bbs/images/home.jpg HTTP/1.0

5 / bbs/images/hot.gif HTTP/1.0

6 / bbs/images/newer.gif HTTP/1.0

7 /~object/images/condensed.gif HTTP/1.0

그림 11. User IP 의 매핑 테이블과 Item 의 매핑 테이블

Page 28: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

28

데이터의 전처리

그림 12. 전처리 후 웹 사용자 트랜잭션 데이터베이스의 부분

UID 액세스한 항목 번호18 2 2685 25333 25350 25378

19 2 893 897 898 900 919 2077 2698 12679 21915 25393

20 2 893 900 919 2077 2084 2104 2685 2698 12937 14220 20661 20798 21939 21952 25333 25350 25352 25378 25393

21 2 152 900 939 2685 25333 25350 25352 25369 25378 25387

22 2 2685 25333 25350 25352 25378

Page 29: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

29

순회 패턴의 예번호 후처리된 순회패턴 지지도

(%)

(1) <(/Apply/) (/Apply/images/eyes.gif) (/cgi-bin/bbs /Counter/Count.cgi?frgb=69;139;116&dd=D|ft=3|df=SWU_job.dat) (/images/apply.jpg)>

0.27

(2) <(/BBS/home.html)(/BBS/cgi-bin/bbs/A/listboard) (/BBS/cgi-bin/bbs/B/listnews) (/BBS/cgi-bin/bbs/B/suggesteditor)>

0.25

(3) <(/BBS/) (/BBS/menu.html) (/BBS/home.html) (/BBS/images/TBALL.GIF)>

0.40

(4) <(/BBS/home.html) (/BBS/images/TBALL.GIF) (cgi-bin/bbs/Counter/Count.cgi?ft=3&frgb=255; 215;0 &df=home.dat) (/images/bbs1.jpg)>

0.30

( 최소지지도 : 0.25%)

Page 30: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

30

성능 비교

그림 13. FS, CHT_FS, TPADE 의 최소 지지도별 탐사 시간 비교 (1,000,000 번 액세스 )

1

10

100

1000

1.5 1.25 1 0.75 0.5 0.25 0.1

최소 지지도 (%)

탐사

시간

(se

c)

FS

CHT_FS

TPADE

Page 31: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

31

성능 비교

그림 14. FS, CHT_FS, TPADE 의 최소 지지도별 탐사 시간 비교 (2,000,000 번 액세스 )

1

10

100

1000

10000

1.5 1.25 1 0.75 0.5 0.25 0.1

최소 지지도 (%)

탐사

시간

(se

c)

FS

CHT_FS

TPADE

Page 32: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

32

TPADE 의 성능이 좋은 이유 ITEM_list 상에서 간단한 결합연산만을 사용 복잡한 해쉬트리 자료구조를 사용하지 않고 오직 두 리스트의 선형탐색만을 필요로 하므로 , 사용자 부분 시퀀스를 생성 , 탐색하는 오버헤드 없음 .

TPADE 는 패턴 길이에 관계없이 오직 세번의 DB 스캔만을 하므로 최소지지도가 낮을수록 , 더욱더 많고 패턴 길이가 더욱더 길어진 빈발참조시퀀스들이 탐사됨 .

Page 33: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

33

FS 와 CHT_FS 의 결과 비교k 1 2 3 4 5 시간 ( 초 )

FS 알고리즘Ck

170 837 62 11441.40

Lk89 119 47 8 1

U_N 149780

102172

93479 18531 1

CHT_FS 알고리즘Ck

119 837 6434 51406 1191.35

Lk89 119 47 8 1

U_N 149780

102172

- - 78604

3,000,000 번 액세스 , 최소 지지도 : 1%

Page 34: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

34

FS 와 CHT_FS 의 탐사시간 비교

0

100

200

300

400

500

600

1.5 1.25 1 0.75 0.5 0.25 0.1

최소 지지도 (%)

탐사

시간

(sec)

FS

CHT_FS

그림 15. FS 와 CHT_FS 의 최소 지지도별 탐사 시간 비교 (1,000,000 번 액세스 )

Page 35: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

35

FS 와 CHT_FS 의 탐사시간 비교

그림 16. FS 와 CHT_FS 의 최소 지지도별 탐사 시간 비교 (2,000,000 번 액세스 )

0

200

400

600

800

1000

1200

1400

1600

1.5 1.25 1 0.75 0.5 0.25 0.1

최소 지지도 (%)

탐사

시간

(se

c)

FS

CHT_FS

Page 36: 웹 로그 파일에서 순회 패턴 탐사 알고리즘  2000. 2   성신여대 하미라 석사논문

36

결론 및 향후과제 웹 로그 파일에서 순회 패턴 탐사

– 구현 알고리즘 : FS, CHT_FS, TPADE– 이용 가치 :

• 웹 페이지 디자인의 향상• 상업적인 목적으로 이용

( 예 : 광고 배너의 위치 선정 등 ) 각 순회 패턴 탐사 알고리즘 성능 비교 향후과제

- 웹로그 파일의 세밀한 전처리- 효율적인 순회 패턴 탐사 알고리즘 연구- 실제 대용량 데이터에 적용- 사용자 인터페이스 개발