일진그룹 제안서

Download Report

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-