이중연결리스트 트리를 이용한 효율적인 웹 로그 마이닝
초록
본 논문은 웹 서버 로그에서 빈번히 나타나는 접근 패턴을 추출하기 위해 이중 연결 트리(Doubly Linked Tree)를 구축하고, 이를 기반으로 조건부 탐색을 수행하는 알고리즘을 제안한다. 두 차례의 스캔으로 빈번 이벤트를 선별하고 트리를 압축 저장함으로써 기존 GSP 알고리즘에 비해 메모리 사용량과 실행 시간을 크게 절감한다. 실험 결과는 지원 임계값이 낮고 데이터베이스 규모가 클수록 제안 방법이 현저히 우수함을 보여준다.
상세 분석
이 논문은 웹 사용 로그를 시퀀스 데이터베이스로 간주하고, 빈번한 접근 시퀀스를 마이닝하는 문제를 ‘Web Access Pattern Mining’이라 정의한다. 기존의 GSP(Generalized Sequential Pattern) 알고리즘은 후보 시퀀스를 생성하고 여러 번 데이터베이스를 스캔해야 하는 구조적 한계가 있다. 특히 웹 로그는 세션 길이가 길고 이벤트 종류가 다양해 후보 폭이 급격히 확대되며, 이는 메모리와 연산 비용을 급증시킨다. 저자는 이러한 문제를 해결하기 위해 두 단계 접근법을 제시한다.
첫 번째 스캔에서는 전체 로그를 한 번 순회해 각 이벤트(페이지 요청)의 등장 횟수를 집계한다. 지원 임계값 ξ에 미치지 못하는 이벤트는 ‘비빈번 이벤트’로 판정되어 이후 단계에서 완전히 제외한다. 이는 Apriori 원칙을 트리 구조에 직접 적용한 것으로, 불필요한 분기를 사전에 차단한다.
두 번째 스캔에서는 남은 빈번 이벤트만을 이용해 이중 연결 트리를 구축한다. 트리의 각 노드는 이벤트 라벨과 해당 라벨이 끝나는 프리픽스의 발생 횟수를 저장한다. 동일 라벨을 가진 노드들은 ‘이벤트-노드 큐(event‑node queue)’로 연결되고, 각 노드는 부모 포인터를 통해 역방향 탐색이 가능하도록 설계된다. 이러한 설계는 (1) 동일 라벨을 가진 모든 프리픽스를 빠르게 열람, (2) 특정 노드까지의 경로를 역추적해 프리픽스 시퀀스를 즉시 복원, (3) 중복 카운트를 ‘unsubsumed count’ 개념으로 정정하는 메커니즘을 제공한다.
마이닝 단계에서는 조건부 검색(conditional search)을 적용한다. 트리의 각 이벤트를 ‘조건(조건부 시퀀스 베이스)’으로 삼아 해당 이벤트를 끝으로 하는 모든 프리픽스를 추출하고, 이를 기반으로 새로운 조건부 트리를 재귀적으로 생성한다. 이렇게 하면 탐색 공간이 점진적으로 축소되며, 특히 지원 임계값이 낮을 때도 효율적인 탐색이 가능하다.
알고리즘의 복잡도 분석은 명시적으로 제시되지 않았지만, 트리 구축 시 전체 로그 길이에 비례하는 O(N) 시간과, 조건부 탐색 시 후보 수가 프리픽스 공유에 의해 크게 감소함을 통해 실질적인 시간 절감이 기대된다. 실험에서는 36,878개의 로그 엔트리를 61KB 크기의 데이터셋으로 사용했으며, 지원 임계값을 5%에서 30%까지 변화시켰다. 결과는 지원 임계값이 낮을수록 GSP는 450초에 달하는 반면, 제안 알고리즘은 약 100초 수준에 머물렀다. 데이터 규모가 증가함에 따라 GSP의 실행 시간은 급격히 상승했지만, 이중 연결 트리 기반 방법은 선형에 가까운 증가율을 보였다.
이 논문의 주요 기여는 (1) 웹 로그 시퀀스를 압축 저장하는 이중 연결 트리 구조 제안, (2) Apriori 원칙을 트리 구축에 직접 적용해 비빈번 이벤트를 사전 차단, (3) 조건부 탐색을 통한 후보 감소와 효율적인 카운트 정정 메커니즘, (4) 실험을 통한 GSP 대비 성능 우위 입증이다. 다만, 트리 구조가 메모리 내에 완전 적재된다는 가정과, 전처리 단계가 수동으로 이루어진다는 점은 실제 대규모 실시간 로그 분석에 적용하기 위해서는 추가적인 최적화가 필요함을 시사한다.
댓글 및 학술 토론
Loading comments...
의견 남기기