1 / 36

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

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

dyllis
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 웹 로그 파일에서순회 패턴 탐사 알고리즘 2000. 2 성신여대 하미라 석사논문 2000년 7월 14일 DE Lab. 윤지영

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

  3. 순회 패턴 탐사 • 순회 패턴 탐사 단계 • 최대 순방향 참조 단계(Maximal Forward References) : 사용자 접근 패턴에서 역방향참조 일어날 때 까지의 순방향 참조 시퀀스 2. 빈발 참조 시퀀스 단계(Large Reference Sequences) : 최대 순방향 참조 중에서 최소지지도를 만족하는 시퀀스 3. 최대 참조 시퀀스 단계(Maximal Reference Sequences) : 다른 빈발 참조 시퀀스 어느 하나에도 포함되지 않는 빈발 참조 시퀀스

  4. 그림 1 . 순회패턴의 예 - 한 사용자의 순회 경로 • {A, B, C, D, C, B, E, G, H, G, W, A, O, U, O, V} • - 생성된 최대 순방향 참조 • {ABCD, ABEGH, ABEGW, AOU, AOV}

  5. 최대 순방향 참조 • Log database :a pair of (Source, Destination) • 최대순방향 참조를 저장한 데이터베이스 : DF • MF(Maximal Forward ) 알고리즘- 로그 데이터베이스를 사용자 아이디로 정렬, 각 사용자에 대해 시간순으로 정렬된 순회경 로 {(s1,d1),(s2,d2),…,(sn,dn)}을 얻음- 정렬된 모든 로그 데이터에 대하여d1에서부 터 dj (역참조가 일어날 때가 j 번째 참조라면) 까지의 스트링을 DF에 기록한다

  6. 빈발 참조 시퀀스 • 1≤j ≤ k에 대해 si+j = rj 인 i가 존재한다면 시퀀스 s1,…,sn 은 연속된 부분시퀀스로서 r1,…,rk를 포함한다고 한다.예) BAHPM은AHP를 포함한다. • 빈발 k-참조시퀀스- 연속된 부분 시퀀스로서 r1,…,rk를 포함하 는 최대순방향참조들을 가진 사용자의 수가 최소지지도를 넘는다면, 이러한 k-참조시 퀀스 r1,…,rk를 빈발 k-참조시퀀스 라 한다.

  7. 구현 알고리즘 • FS (Full-Scan)알고리즘 • DHP 알고리즘 응용 • CHT_FS(Compound Hash Tree_FS)알고리즘 • FS에 복합 해쉬 트리 적용 • TPADE (Traversal Pattern Discovery using Equivalence Classes)알고리즘 • SPADE 알고리즘 응용

  8. A B C A B D A B C B C D A B C D A B C D 그림2. 결합(연관 규칙) 그림 3. 결합(순회 패턴) FS(Full-Scan) 알고리즘 • DHP(Direct Hashing and Pruning) 응용 • 효과적인 빈발 항목 집합 생성 • 효과적인 트랜잭션 데이터베이스 전지(Pruning) • 결합(Join) 빈발k-1 후보k

  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)-참조 시퀀스를 찾기 위한 해쉬테이 블 생성

  10. CHT_FS 알고리즘 • 복합 해쉬 트리(Compound Hash Tree) • Cm,Cm+1,…,Cm+n을 동시에 생성한 후, 하나의 복합 해쉬트리를 생성, 한번의 DB 스캔으로 Lm,Lm+1, …,Lm+n을 찾음 • 일반적인 해쉬 트리 : • 검색되어야 할 레코드가 외부 노드에만 저장 • 복합 해쉬 트리 : • 검색되어야 할 레코드가 내부 노드에도 저장 • 장점 : • 반복적인 해쉬트리의 생성 및 데이터베이스 스캔, 후보 빈발 항목집합의 발생 수 계산을 줄임 • 트리 탐색 비용 감소 • 단점 : 후보항목집합 생성은 FS에 비해 비효과적

  11. A B A B C B C B C C D D C D AB AC BC BD CD ABC BCD 일반 해쉬 트리 그림 4. C2 = {AB, AC, BC, BD, CD}, C3= {ABC, BCD}의 해쉬 트리

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

  13. TPADE 알고리즘 • SPADE (Sequential Pattern Discovery using Equivalence classes) 알고리즘 응용 • 동치 클래스(Equivalence Classes)를 이용하여 원문제를 주 메모리상에서 독립적으로 수행가능한 부문제로 나눔 • 수직 식별자 리스트(Vertical id-list)데이터베이스 형식 • 간단한 id-list intersection으로 모든 빈발시퀀스 찾음 • 많아야 세 번의 데이터베이스 스캔 필요

  14. 빈발 참조 시퀀스를 찾는 과정 • 전처리 과정 • 빈발 1-참조 시퀀스(F1) 찾기 • 빈발 2-참조 시퀀스(F2) 찾기 • 빈발 k-참조 시퀀스(Fk) 찾기1) 빈발 (k-1)-참조 시퀀스를 이용한 동치 클래스 분해2) 각 동치 클래스에서 빈발 k-참조 시 퀀스 생성

  15. 전처리 과정 • 1단계에서 얻어진 MFR_DB 형식을 수평에서 수직으로 변환-> 지지도를 쉽게 구할 수 있도록 • 수평 DB : transaction 단위로 저장(UID, TID, # of ITEMS, ITEMS) • 수직 DB : item 단위로 DB에 저장( ITEM, # of LIST, (UID TID LOC)LISTS) CTL _ list

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

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

  18. F1 과 F2 찾기 • 빈발 1-참조 시퀀스(F1)- 한번의 DB 스캔으로 주어진 수직 식별자 리스트 DB 로부터 모든 빈발-1 참조 시퀀스를 찾음 • 빈발 2-참조 시퀀스(F2)- 수직 식별자 리스트 DB형식을 다시 수평 형식으로 변환(on-the-fly방식)하여 기존의 방식으로 계산

  19. 빈발 k-참조 시퀀스(Fk) • 빈발 (k-1)-참조 시퀀스의 동치클래스 이용 • SPADE 알고리즘에서의 동치 클래스 [ε ∈ Fk-1] = { α ∈ Fk | Pk-1 (α)= ε } • [ε].l1 = (ε -> α) • [ε].l2 = (ε α) 그림 8. SPADE에서의 Equivalence Class의 예

  20. TPADE 알고리즘에서의 동치 클래스 • [ε∈Fk-1] = {α∈Fk |Drop1(α)=ε ∨ Dropk(α)=ε } • [ε].l1 = { (α ε) } • [ε].l2 = { (ε α) } 그림 9. TPADE에서의 Equivalence Class의 예

  21. 빈발 k-참조 시퀀스 생성 • 생성된 동치클래스들은 메모리 상에서 각각 독립적으로 수행됨 • 각 동치클래스에서 빈발시퀀스 찾는 과정1) l1과 l2를 접합(Concatenation), 새로운 후보 참조 k-시퀀스의 Item list를 얻음2) 얻어진 후보 시퀀스의 지지도 계산하여 빈발 시퀀스 얻음

  22. 빈발 k-참조 시퀀스 생성예 • F2 의 CTL_list

  23. F3 의 CTL_list

  24. EC별 접합결과 F4 의 CTL_list [A] [B] [C] [D] [F] [DA] [BF] [CB]

  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개 트랜잭션)

  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. 성신여대의 웹 액세스 로그 데이터의 예

  27. 데이터의 전처리 (Cont’d) 그림 11. User IP의 매핑 테이블과 Item의 매핑 테이블

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

  29. 순회 패턴의 예 (최소지지도 : 0.25%)

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

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

  32. TPADE의 성능이 좋은 이유 • ITEM_list 상에서 간단한 결합연산만을 사용 • 복잡한 해쉬트리 자료구조를 사용하지 않고 오직 두 리스트의 선형탐색만을 필요로 하므로, 사용자 부분 시퀀스를 생성, 탐색하는 오버헤드 없음. • TPADE는 패턴 길이에 관계없이 오직 세번의 DB 스캔만을 하므로 최소지지도가 낮을수록, 더욱더 많고 패턴 길이가 더욱더 길어진 빈발참조시퀀스들이 탐사됨.

  33. FS와 CHT_FS의 결과 비교 3,000,000번 액세스, 최소 지지도 : 1%

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

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

  36. 결론 및 향후과제 • 웹 로그 파일에서 순회 패턴 탐사 • 구현 알고리즘 : FS, CHT_FS, TPADE • 이용 가치 : • 웹 페이지 디자인의 향상 • 상업적인 목적으로 이용 (예: 광고 배너의 위치 선정 등) • 각 순회 패턴 탐사 알고리즘 성능 비교 • 향후과제- 웹로그 파일의 세밀한 전처리- 효율적인 순회 패턴 탐사 알고리즘 연구- 실제 대용량 데이터에 적용- 사용자 인터페이스 개발

More Related