Transcript 일진그룹 제안서
A Sequential Pattern Query Language for Supporting Instant Data Mining for e-Service Reza Sadri, Carlo Zaniolo, Amir Zarkesh, Jafar Adibi Proceedings of the 27th VLDB Conference, Roma, Italy, 2001 인터넷기술전공 022ITI13 이인희 A Sequential Pattern Query Language for Supporting Instant Data Mining for e-Service Data Mining 과 e-Service 1. e-Service를 지원하는 Application 요건 1.1 개요 1.2 SQL-TS 1.3 Web Access Log Mining 1.4 Detection of Fraud and Intrusion 1.5 Efficient Implementation 2. Data Mining Solution for e-Service 2.1 Web Log File 2.2 Web Log Mining Solution -2- A Sequential Pattern Query Language for Supporting Instant Data Mining for e-Service 개요 e-Service를 지원하는 Application 사용현황 - 온라인 경매, 개인화, 광고 대상 등을 파악 ( Transaction Trail, Similar Sequential Pattern 분석 ) 요구사항 - 빠른 수행, sequential pattern 검색 ( Instant Response는 활동적인 상업활동에 있어서 어플리케이션의 결정적인 기준 ) 해결방안 - Sequential Pattern 검색을 위해서 SQL-TS 사용 - Instant Data Mining 을 위해서 SQL-TS 사용 - ZAIAS Technology Corporation : recursive algorithm, Z-price -3- A Sequential Pattern Query Language for Supporting Instant Data Mining for e-Service SQL-TS Time-series Database의 SQL-TS 예제 Stream of SQL Tuples - Sessions(SessNo, ClickTime, PageNo, PageType) 광고주들에게 이상적인 시나리오 - 해당페이지에서 제품에 대한 광고를 볼 때 - 제품의 상세내역이 있는 곳으로 이동할 때 - 이 제품 구매페이지를 클릭할 때 SQL-TS Query - SELECT B.PageNo, C.ClickTime FROM Sessions CLUSTER By SessNo SEQUENCE BY ClickTime AS (A, B, C) WHERE A.PageType = 'content' AND B.PageType = 'product' AND C.PageType = 'purchase' -4- A Sequential Pattern Query Language for Supporting Instant Data Mining for e-Service SQL-TS 적용사례 (Auction Monitoring) SQL-TS ability of recognizing patterns immediately as they occur Stream of SQL Tuples - auctn_id : id for specific item acutioned amount : amount of bid time : timestamp auctn_id : 경매하고자하는 품목 아이디 amount : 금액 time : 시간 제품을 적당한 가격에 판매하는 이상적인 시나리오 - 마감전 마지막 15분까지 기다리고 있어야 한다. - 입찰의 흐름이 어떤 가격에 수렴되는 지를 관찰한다. - 2%내의 최종 입찰내역으로 올라온 3개의 입찰가격에 대한 수렴 값을 찾는다. SQL-TS Query - SELECT T.auctn_id, T.time, T.amount FROM auction AS A, bids CLUSTER BY auctn_id SEQUENCE BY time AS (X,Y,Z,T) WHERE A.auctn_id = X.auctn_id AND X.time + 15 Minute > A.deadline AND Y.amount - X.amount < .02 * X.amount AND Z.amount - Y.amount < .02 * Z.amount AND T.amount - Z.amount < .02 * Z.amount -5- A Sequential Pattern Query Language for Supporting Instant Data Mining for e-Service Web Access Log Mining (1) SQL-TS는 star construct 를 사용하여 반복되는 패턴들을 정의 Session - 세션은 사용자가 사이트에 들어왔을 때 정의되어진다. - 다양한 페이지들을 통해 빠르게 클릭을 할 것이다. - 세션은 보통 inactivity하게 10분 정도 지나면 끝나게 된다. Session 활용분야 - 개인화한 컨텐트, 광고의 효과분석, 사용자의 판매촉진 목표설정 SQL-TS Query - 사용자가 'product' 페이지를 클릭하기 전에 방문한 페이지를 카운트 SELECT count(*A) FROM Sessions CLUSTER BY SessNo SEQUENCE BY ClickTime AS (*A, B) WHERE A.PageType <> 'product' AND B.PageType = 'product' -6- A Sequential Pattern Query Language for Supporting Instant Data Mining for e-Service Web Access Log Mining (2) SQL-TS를 통한 구매패턴 분석 분석목적 - 사용자들이 얼마나 많이 클릭을 해왔나? - 사용자들이 얼마나 많은 시간을 보냈나? SQL-TS Query SELECT Y.SessNo FROM Sessions CLUSTER BY SessNo SEQUENCE BY ClickTime AS (*X, Y) WHERE A.PageType <> 'purchase' AND ccount(X) < 100 AND first(X).ClickTime + 20 Minute > X.ClickTime AND Y.PageType <> 'purchase‘ SQL-TS는 rollup을 지원하고 aggregate를 한다. ( moving-window aggregate, online aggregate 등등) -7- A Sequential Pattern Query Language for Supporting Instant Data Mining for e-Service Detection of Fraud and Intrusion (1) Fraud Detection의 필요성 Fraud 사례 - 훔친 신용 카드, cellular phone와 사용자ID의 절도, 보험사기 등등 - 비슷한 범죄들로 e-Service의 상당히 많은 금액의 비용이 지출된다. - 보기 드문 고객의 쇼핑행동과 관련 Fraud Detection 문제점 - Evidence Extraction, Link Discovery, Pattern Discovery Fraud Detection 사례 - 고객의 트랜잭션을 모니터링하는 신용카드회사 - 고객에 의해서 축적된 일별 총요금 log(Data, AccountNo, Amount) SQL-TS Query SELECT Z.AccountNo, Z.Date FROM spending CLUSTER BY AccountNo SEQUENCE BY Date WHERE COUNT(*X) = 30 AND Y.Amount > 5 * AVG(*X.Amount) AND Z.Amount > 5 * AVG(*X.Amount) -8- A Sequential Pattern Query Language for Supporting Instant Data Mining for e-Service Detection of Fraud and Intrusion (2) Intrusion Detection의 필요성 Intrusion 의 사례 - 짧은 시간간격으로 일어나는 반복된 로그인 실패 ( 근접한 워크스테이션을 순회하면서 반복적으로 침입을 시도하는 것이 문제점이다. ) Intrusion Detection 방안 - 로그인에 대한 실시간 정보를 이용 - 실패한 로그인의 특정한 시간간격 패턴의 인식에 의해서 진행되는 공격을 방어한다. - log (Etime, Etype, Build, Loc) SQL-TS Query SELECT Z.Build, Z.Loc, Z.Etime FROM log CLUSTER BY Building SEQUENCE BY Etime AS (*X, *Y, Z) WHERE ( (X.Etime='If' AND ccount(X)=1) OR X.Etype <> 'If' OR near(X.Loc, first(X).Loc)=0 ) AND ( (Y.Etime='If' AND ccount(Y)=1) AND first(X).Etime > first(Y).Etime-7 Minute ) OR Y.Etype <> 'If' OR near(Y.Loc, first(Y).Loc)=0 ) AND Z.Etype='If' AND Z.Etime - 7 Minute < first(Y).Etime -9- A Sequential Pattern Query Language for Supporting Instant Data Mining for e-Service Efficient Implementation SQL-TS의 효율성 SQL-TS의 필요성 - Instant Data Mining query에 빠른 응답을 해야 한다. - 많은 데이터에 대해서 Scalability가 있어야 한다. ( 패턴의 복잡성과 규모, 고객과 제품정보, 기록하고있는 자료들을 모두 포함해야 한다. ) SQL-TS의 특징 - OPS( 쿼리 최적화)에 기반을 두고 효율적으로 처리한다. (OPS :문자열을 최적으로 검색하기위해 Knuth,Morris,Pratt(KMP)에 의해 제안된 알고리즘) - CLUSTER BY, 일반적인 조건들, 그러한 조건들의 boolean 표현들, star에 의해서 표현되는 패턴들의 반복, 반복되는 패턴들을 모으는 작업등을 할 수 있다. -SQL-TS 성능측정 - OPS 최적화 쿼리는 본래의 검색보다 93배나 빨리 검색결과를 산출하였다. - 복잡한 검색 패턴을 갖는 다른 쿼리들은 800배의 시간단축을 얻었다. -10- A Sequential Pattern Query Language for Supporting Instant Data Mining for e-Service Web Log File 방문자 IP 접속 시각 사용자 계정 서버 IP 수신 데이터 전송 시간 송신 데이터 상태 코드 서비스 된 파일 전송 방식 Cookie 사용자의 브라우저 및 OS 61.72.47.197 - - [07/Dec/2001:09:42:25 +0900] "GET /common/style.css HTTP/1.1" 200 4223 61.72.47.197 - - [07/Dec/2001:09:42:25 +0900] "GET /common/script.js HTTP/1.1" 200 509 61.72.47.197 - - [07/Dec/2001:09:42:25 +0900] "GET /img/main_title.gif HTTP/1.1" 200 33873 61.72.47.197 - - [07/Dec/2001:09:42:25 +0900] "GET /img/menu1_off.gif HTTP/1.1" 200 16723 61.72.47.197 - - [07/Dec/2001:09:42:25 +0900] "GET /img/menu3_off.gif HTTP/1.1" 200 14458 61.72.47.197 - - [07/Dec/2001:09:42:25 +0900] "GET /img/menu2_off.gif HTTP/1.1" 200 17807 61.72.47.197 - - [07/Dec/2001:09:42:25 +0900] "GET /img/menu4_off.gif HTTP/1.1" 200 10749 61.72.47.197 - - [07/Dec/2001:09:42:25 +0900] "GET /img/menu5_off.gif HTTP/1.1" 200 15162 61.72.47.197 - - [07/Dec/2001:09:42:25 +0900] "GET /img/menu6_off.gif HTTP/1.1" 200 12841 61.72.47.197 - - [07/Dec/2001:09:42:25 +0900] "GET /img/main2.gif HTTP/1.1" 200 21145 61.72.47.197 - - [07/Dec/2001:09:42:41 +0900] "GET /img/menu3_on.gif HTTP/1.1" 200 9728 -11- A Sequential Pattern Query Language for Supporting Instant Data Mining for e-Service Web Log Mining Solution http://www.ECMiner.com - 웹애널라이저 : 분석된 자료를 다차원적으로 파악할 수 있는 비주얼리포팅기능, 웹사이트 이용현황에 대한 기초적 자료 외에 300여종의 고객 관련 인터넷 마케팅 보고서까지 제공하는 것이 특징 http://www.nethru.co.kr - 와이즈로그 엔터프라이즈 1.0 : 기존 제품들이 URL 단위의 페이지 통계를 제공한 것과 달리 다단계 웹사이트의 메뉴구조에 맞춰 메뉴별 통계 기능을 지원하는 것이 특징 http://www.igensystem.com 적용사례 국내에서는 삼성캐피탈이 지난달 인터넷대출 업무를 수행하는 사이버론(Cyber Loan)사이트에 이 솔루션을 적용해 많은 효과를 거뒀다. 당초 삼성캐피탈의 사이버론은 고객이 10단계의 보안 및 승인 등의 절차를 거치는 도중에 그만두는 문제점이 발생했다. 이에 삼성캐피탈은 클릭스트림 솔루션을 적용, 어떤 고객이 몇 단계까지 접속했는지를 알아내고, 콜센터를 통해 이들 고객에게 사용법을 다시 알려주거나 포기한 지점부터 다시 진행할 수 있도록 하는 등의 마케팅을 수행해 대출서비스를 개선시킬 수 있었다. -12-