27
Mục lục 1. Tổng quan.........................................................2 2. Một số khái niệm..................................................3 2.1 Item, Itemset, Sequence:.......................................3 2.2 Size và Length:................................................3 2.3 Sub-sequence và super-sequence:................................3 2.4 Độ hỗ trợ:.....................................................4 2.5 Chuỗi tuần tự phổ biến và chuỗi tuần tự đóng:..................4 2.6 Itemset-extension và sequence-extension........................4 2.7 S-projected database:..........................................5 3. Cây thứ tự từ điển(Lexicographic Sequence Tree)...................6 3.1 Thứ tự từ điển.................................................6 3.2 Cây............................................................6 3.3 PrefixSpan.....................................................8 4. Giảm bớt không gian tìm kiếm và Prefix Sequence Lattice...........9 4.1 Bổ đề 1(Common prefix).........................................9 4.2 Bổ đề 2(Parial prefix)........................................10 4.3 Định lý 1:....................................................10 4.4 Bổ đề 3:......................................................11 4.5 Hệ quả 1(Backward Sub-Pattern)................................12 4.6 Hệ quả 2: (Backward Sup-Pattern)..............................13 4.7 Prefix Sequence Lattice Tree..................................13 5. CloSpan: Thiết kế và cài đặt.....................................14 6. Đánh giá hiệu năng...............................................17 7. Kết luận.........................................................19 1

Bao Cao Clos Pan

Embed Size (px)

DESCRIPTION

Clospan

Citation preview

Page 1: Bao Cao Clos Pan

M c l cụ ụ1. Tổng quan............................................................................................................................................2

2. Một số khái niệm.................................................................................................................................3

2.1 Item, Itemset, Sequence:.............................................................................................................3

2.2 Size và Length:.............................................................................................................................3

2.3 Sub-sequence và super-sequence:..............................................................................................3

2.4 Độ hỗ trợ:....................................................................................................................................4

2.5 Chuỗi tuần tự phổ biến và chuỗi tuần tự đóng:...........................................................................4

2.6 Itemset-extension và sequence-extension..................................................................................4

2.7 S-projected database:..................................................................................................................5

3. Cây thứ tự từ điển(Lexicographic Sequence Tree)...............................................................................6

3.1 Thứ tự từ điển.............................................................................................................................6

3.2 Cây...............................................................................................................................................6

3.3 PrefixSpan....................................................................................................................................8

4. Giảm bớt không gian tìm kiếm và Prefix Sequence Lattice..................................................................9

4.1 Bổ đề 1(Common prefix)..............................................................................................................9

4.2 Bổ đề 2(Parial prefix).................................................................................................................10

4.3 Định lý 1:....................................................................................................................................10

4.4 Bổ đề 3:......................................................................................................................................11

4.5 Hệ quả 1(Backward Sub-Pattern)...............................................................................................12

4.6 Hệ quả 2: (Backward Sup-Pattern).............................................................................................13

4.7 Prefix Sequence Lattice Tree......................................................................................................13

5. CloSpan: Thiết kế và cài đặt...............................................................................................................14

6. Đánh giá hiệu năng............................................................................................................................17

7. Kết luận..............................................................................................................................................19

1

Page 2: Bao Cao Clos Pan

1. Tổng quan

Khai thác chuỗi tuần tự phổ biến là một đề tài nghiên cứu quan trọng được áp

dụng cho nhiều ứng dụng, chẳng hạn như việc tìm hiểu về các chuỗi DNA, khai thác dữ

liệu mua sắm của khách hàng,… Tuy nhiên đây là công việc không dễ dàng, đặc biệt trên

các tập dữ liệu lớn. Các thuật toán phần lớn đều có hiệu năng tốt khi khai thác tập dữ liệu

nhỏ và các chuỗi tuần tự ngắn. Tuy nhiên khi khai thác các chuỗi tuần tự dài hoặc khi độ

hỗ trợ nhỏ, hiệu năng của các thuật toán khai thác thường không được như mong muốn.

Ví dụ ta có chuỗi sau :s = <(a1), (a2),…,(a100)>, nó sẽ có tới 2100 – 1 chuỗi phổ biến khi

chọn độ hổ trợ nhỏ nhất bằng 1.

Vấn đề tương tự cũng xuất hiện đối với dữ liệu là các itemset( tập hợp các item).

Có một hướng giải quyết hay gọi là tập phổ biến đóng(frequent closed itemset). Một tập

đóng khi không tồn tại tập khác chứa nó cùng độ hỗ trợ. Một số thuật toán hiệu quả có

cách tiếp cận này là CLOSET, CHARM, CLOSET+.

Khai thác chuỗi tuần tự cũng có chung vấn đề như khai thác itemset. Câu hỏi đặt

ra liệu có thể áp dụng các thuật toán trên itemset cho chuỗi tuần tự hay không. Bời vì các

tuần tự yêu cầu thêm thứ tự của các item bên trong nó nên câu trả lời là không. Có hai

hướng tiếp cận để khai thác các mẫu đóng hay tối đại: vét cạn tìm chuỗi cần tìm hoặc tìm

ta một tập các ứng viên và loại bỏ dần các mẫu không thích hợp trên nó. Thoạt nhìn

hướng tiếp cận thứ nhất có vẻ đơn giản hơn, tuy nhiên chi phí cho việc quét cạn là khổng

lồ.Do đó chúng ta sẽ đi theo hướng tiếp cận thứ hai.

Ba tác giả : Xifeng Yan, Jiawei Han và Ramin Afshar đã đưa ra thuật toán gọi là

CloSpan(Closed Squential pattern mining). CloSpan có thể được áp dụng cho các tập dữ

liệu nhỏ và lớn khác nhau. Nó không tiết kiệm bộ nhớ( vấn đề này không khó giải quyết

đối với phần cứng hiện tại).

2

Page 3: Bao Cao Clos Pan

2. M t s khái ni mộ ố ệ

Giả sử ta có tập dữ liệu sau:

2.1 Item, Itemset, Sequence:

Đặt I = {i1, i2, …, in} là tập hợp tất cả các item. Ví dụ ở trên ta có I = {a, b, d, e, f}.

Một itemset là một tập hợp con của I.

Một sequence s = <t1 , t2 ,… , tm> là một danh sách có thứ tự các ti, ti ⊆ I. Chẳng

hạn s = <(af)> hay s’ = <(af)(d)(e)(a)> là các sequence.

2.2 Size và Length:

Kích thước của một sequence s, ký hiệu |s| là số lượng các itemset trong s.

Chiều dài của sequence s, ký hiệu l(s) là số lượng các item trong s.

Chẳng hạn : cho s = <(af)(d)(e)(a)>, |s| = 4 và l(s) = 5.

2.3 Sub-sequence và super-sequence:

Cho hai chuỗi a, b như sau: a = <a1 , a2 , … , am > và b = < b1 , b2 , … , bn >.

Chuỗi a được gọi là con của b khi: ∃ i1 , i2 , … , im sao cho 1 ≤ i1 < i2 < … < im ≤ n

và a1 ⊆ bi1 , a2 ⊆ bi2 , am ⊆ bim

Ta ký hiêu : a ⊑ b và a ⊏ b(khi a #b).

Khi đó b gọi là chuỗi cha của a(super-sequence).

3

Page 4: Bao Cao Clos Pan

2.4 Đ h tr :ộ ỗ ợ

Xét D = { s1 , s2 , … , sn } với mỗi chuỗi si được gắn với một id.

Độ hỗ trợ của một chuỗi α trong tập dữ liệu D là số các chuỗi s trong D chứa α.

support(α) = |{ s|s ∈ D, α ⊆ s }|

Nếu a ⊑ b & support(a) = support(b), ta gọi là b hấp thụ a( b absorbs a).

2.5 Chu i tu n t ph bi n và chu i tu n t đóng:ỗ ầ ự ổ ế ỗ ầ ự

Khi khai thác tập dữ liệu cần đặt ra một giới hạn nhỏ nhất cho độ hỗ trợ, ký hiệu

min_sup. Một chuỗi tuần tự gọi là phổ biến( frequent sequential pattern) khi nó có độ hỗ

trợ lớn hơn min_sup.Tập các chuỗi tuần tự phổ biến được ký hiệu là FS.

FS = {α | support(α) ≥ min_sup }

Một chuỗi tuần tự gọi là đóng(closed frequent sequential pattern) khi không tồn tại

chuỗi phổ biến khác chứa nó và cùng độ hỗ trợ với nó. Tập các chuỗi tuần tự đóng ký

hiệu là CS.

CS = {α | α ∈ FS và ∄ β sao cho α ⊑ β, support(α) = support(β)

Ta có CS ⊆ FS

Ví dụ với D và min_sup = 2 đã cho ta có CS = { <(af)(d):2>, <(af)(e):2>, <(e)

(a):3>, <(e)(a)(b):2>}

2.6 Itemset-extension và sequence-extension.

Một chuỗi có thể được mở rộng theo hai cách: itemset-extension(viết tắt là I-Step)

và sequence-extension(S-Step).

Trước tiên ta xét việc mở rộng một chuỗi bằng một item. Cho s = <t1 , t2 ,… , tm>

và item α. Định nghĩa I-Step và S-Step của s với α như sau:

▫ I-Step : s <>i α = <t1 , t2 ,… , tm ∪ {α}>

4

Page 5: Bao Cao Clos Pan

▫ S-Step: s <>s α = <t1 , t2 ,… , tm , {α}>

Ví dụ <(ae)> là I-Step của <(a)>, còn <(a)(e)> là S-Step của <(a)>

Tiếp theo ta xét việc mở rộng một chuỗi s với một chuỗi khác, chẳng hạn chuỗi p

= <t’1 , t’2 ,… , t’n>.

▫ I-Step : s <>i p = <t1 , t2 ,… , tm ∪ t’1 , t’2 ,… , t’n>

▫ S-Step: s <>s p = <t1 , t2 ,… , tm , t’1 , t’2 ,… , t’n>

Nếu s’ = s <> p thì s gọi là prefix của s’ còn p là suffix

Ví dụ: <(e)(abf)> là I_Step của <(e)(a)> và là S-Step của <(abf)>.

2.7 S-projected database:

Cho một chuỗi s, s-projected database( ký hiệu Ds) được định nghĩa như sau:

Ds = { p|s’ ∈ D, s’ = r <> p, trong đó r là prefix ngắn nhất của s’ và s ⊑ s’ }

Ví dụ: Cho D như sau:

D<(af)> = {<(d)(e)(a)>, <(bde)>}

D<(e),(a)>= { $, <(b)>, <(_bf)(bde)>}

Khi kèm theo điều kiệu min_sup = 2, ta có thể loại bỏ đi các item có độ hổ trợ

trong Ds nhỏ hơn min_sup. Ví dụ ở trên ta có thể rút gọn D<(af)> khi loại bỏ b vì độ trợ của

b trong D<(af)> nhỏ hơn min_sup

5

Page 6: Bao Cao Clos Pan

D<(af)> = {<(d)(e) >, <(de)>}

3. Cây th t t đi n(Lexicographic Sequence Tree)ứ ự ừ ể

3.1 Th t t đi nứ ự ừ ể

Khác với itemset , sequence yêu cầu thứ tự khi xét. Ví dụ <(a)(e)> # <(e)(a)>.

Cho hai itemset t và t’ như sau:

t = { i1 , i2 , … , ik } và t’ = { j1 , j2 , … , jl }

t < t’ khi:

▫ ∃ h , 0 ≤ h ≤ min(k, l) ta có ir = jr với r < h và ih = jh hoặc

▫ k < l và i1 = j1 , i2 = j2 , … , ik = jk .

Ví dụ : (a, f) < (b, f) ; (a, b) < (a, b, c); (a, b, c) < (b, c)

Mở rộng khi xét thứ tự giữa các sequence s và s’ ta có các quy tắc sau:

▫ s’ = s <> p

▫ s = α <>i p , s’ = α <>s p’ thì s < s’

▫ s = α <>i p , s’ = α <>i p’, p < p’ thì s <s’

▫ s = α <>s p , s’ = α <>s p’, p < p’ thì s <s’

Ví dụ : <(ab)> < <(ab)(a)> ; <(ab)> < <(a)(a)>

3.2 Cây

Một lexicographic sequence tree là một cấu trúc có:

Mỗi node biểu diễn một sequence. Node root bằng null.

Node con sẽ một dạng mở rộng I-Step hoặc S-Step từ node cha.

Node bên trái luôn nhỏ hơn bên phải

6

Page 7: Bao Cao Clos Pan

Hình trên là một ví dụ về cây chuỗi thứ tự từ điển. Ta xét node <(a)>. Ba

node con của <(a)> là mở rộng của <(a)>. <(aa)> là mở rộng theo I-Step, <(a)

(a)> và <(a)(b)> là S-Step. Ta có thể đơn giản hóa cây bằng một loại cây khác

mà không làm mất ý nghĩa, ta gọi đó là cây prefix search tree.

Không ghi rõ ràng sequence tại mỗi node. Sequence đó được định nghĩa

dựa trên node cha và thành phần mở rộng. Ví dụ hình trên các thành phần mở rộng

7

Page 8: Bao Cao Clos Pan

là ai, as, bi, bs, ci. Trong đó a,b,c là các item mở rộng khi qua một nhánh, i, s là kiểu

mở rộng, itemset-extension hay sequence-extension.

3.3 PrefixSpan

PrefixSpan là thuật toán tìm kiếm theo chiều sâu dùng để phát sinh ra prefix search

tree. Thuật toán được trình bày như sau:

PrefixSpan sẽ tìm kiếm tất cả các chuỗi phổ biến, đóng lẫn không đóng. Tham số

đầu vào của nó là chuỗi s và Ds( s-projected database) của nó. Thuật toán sẽ đệ quy bằng

các mở rộng chuỗi s theo itemset-sequence và sequence-extension dựa vào Ds cho đến khi

tất các chuỗi phổ biến đều được tìm thấy. Về cơ bản Clospan được xây dựng dựa trên

8

Page 9: Bao Cao Clos Pan

PrefixSpan, tuy nhiên nó xây dựng các điều kiện dừng đệ quy khác để kết thúc quá trình

đệ quy sớm hơn do đó hiệu quả và hiệu năng của Clospan sẽ khác.

4. Gi m b t không gian tìm ki m và Prefix Sequence Latticeả ớ ế

Rõ ràng nếu xây dựng lexicographic sequence tree hay prefix search tree thì không

gian tìm kiếm sẽ rất lớn với nhiều node và nhiều nhánh tùy vào dữ liệu đầu vào. Về cơ

bản CloSpan trước khi cho ra tập chuỗi tuần tự đóng sẽ phải trải qua hai giai đoạn: Một là

phát sinh ra các tập ứng viên, tập ứng viên này phải thỏa một số điều kiện nhất định nhờ

đó chúng ta thu hẹp không gian tìm kiếm. Giai đoạn thứ hai là từ tập ứng viên đó loại bỏ

các sequence không đóng để cho ra kết quả cuối cùng.

Trong mục này chúng ta sẽ đi qua giai đoạn đầu tiên: phát sinh tập ứng viên. Cũng

có thể phát sinh tập ứng viên sao cho nó cũng chính là tập chuỗi đóng cần tìm. Tuy nhiên

chi phí để tính toán là rất lớn, cần cân bằng giữa kích thước tập ứng viên với chi phí tính

toán.

4.1 B đ 1(Common prefix)ổ ề

Nếu tồn tại một chuỗi α là prefix của mọi chuỗi trong Ds theo cùng một loại mở

rộng ( itemset-extension hoặc sequence-extension). α là common prefix.

∀β, β ⊏ α. Không cần xét chuỗi s <> β chỉ cần xét chuỗi s <> α

Ví dụ:

Ds = {<(d)(e)(af)>, <(d)(e)(fg)>}

Chuỗi <(d)(e)> là common prefix. Do đó không cần xét s <> <(d)> và s <>

<(e)>

4.2 B đ 2(Parial prefix)ổ ề

Trong Ds item α luôn xuất hiện trước β ( nếu có β thì α luôn đứng trước nó, kiểu

mở rộng hoặc I-Step hoặc S-Step) thì ∀γ không cần xét S <> β <> γ.

9

Page 10: Bao Cao Clos Pan

Ví dụ

Ta thấy khi <(f)> xuất hiện tại sequence có ID là 0 và 2 thì <(a)> luôn đứng

trước nó trong chuỗi, <(a)> là partial prefix. Do đó không cần xét nhánh xuất phát từ

<(f)>.

Dễ dàng thấy được là bổ đề 1 là trường hợp đặc biệt của bổ đề hai có nghĩa là một

common prefix cũng là partial prefix của tất cả các chuỗi khác trong Ds.

4.3 Đ nh lý 1:ị

Trước khi đi vào định lý ta có khái niệm mới là kích thước của database.

ℶ (D)=∑i=1

n

l(s i)

Kích thước của D là tổng chiều dài các sequence bên trong nó.

Định lý 1 được phát biểu như sau:

Cho s ⊑ s’ ta có

10

Page 11: Bao Cao Clos Pan

Ds = Ds’ ℶ(Ds) = ℶ(Ds’)Chứng minh định lý 1:

- Hiển nhiên Ds = Ds’ ⇒ ℶ(Ds) = ℶ(Ds’)- Cần chứng minh: ℶ(Ds) = ℶ(Ds’) ⇐ Ds = Ds’

- s ⊑ s’ ta có: Ds’ ⊑ Ds và ℶ(Ds’) ≤ ℶ(Ds) do đó dấu bằng chỉ xảy ra khi Ds

= Ds’

4.4 B đ 3:ổ ề

Cho hai chuỗi s ⊑ s’, nếu : ℶ(Ds) = ℶ(Ds’) thì ∀ γ ta có support(s <> γ) = support(s’<> γ).Quay lại bản dữ liệu

Ta thấy ℶ(D<(af)>) = ℶ(D<(f)>) , cả hai chuỗi <(af)(d)> và <(af)(e)> đều phổ biến. Trường hợp này ta có thể kết luận độ hỗ trợ của <(af)(d)> = <(f)(d)> và <(af)(e)> = <(f)(e)> mà không cần tính toán độ hỗ trợ của <(f)(d)> hay <(f)(e)>.

Một khái niệm mới được đề cập ở đây thay vì định nghĩa các chuỗi đóng dựa trên độ hỗ trợ, ta định nghĩa projected database closed dựa vào ℶ. Tập các projected database closed, ký hiệu là LS được định nghĩa như sau:

LS = {s| support(s)>min_sup và ∄ s’ sao cho s ⊑ s’ và ℶ(Ds) = ℶ(Ds’)Ta có CS ⊆ LS ⊆ FS. Giải thuật CloSpan sẽ đi tìm tập LS trước, từ đó loại bỏ các

chuỗi không đóng để được tập CS.

4.5 H qu 1(Backward Sub-Pattern)ệ ả

Nếu s < s’ và s ⊐ s’ thì điều kiện ℶ(Ds) = ℶ(Ds’) là đủ để dừng việc tìm kiếm tại

node s’.

11

Page 12: Bao Cao Clos Pan

Ví dụ:

▫ <(af)> < <(f)>.

▫ <(f)> ⊏ <(af)>

▫ ℶ(D<(af)>) = ℶ(D<(f)>) ▫ Do đó không cần xem xét nhánh <(f)>

4.6 H qu 2: (Backward Sup-Pattern)ệ ả

Nếu s < s’ và s ⊏ s’ thì điều kiện ℶ(Ds) = ℶ(Ds’) là đủ để dừng việc tìm kiếm tại

node s’.

12

Page 13: Bao Cao Clos Pan

Ví dụ:

▫ <(b)> < <(eb)>.

▫ <(b)> ⊏ <(eb)>

▫ ℶ(D<(b)>) = ℶ(D<(eb)>) ▫ Do đó không cần xem xét nhánh <(eb)>

4.7 Prefix Sequence Lattice Tree

Chúng ta thay thế Prefix Search Tree bằng Prefix Sequence Lattice Tree.

Ví dụ đối với dữ liệu sau

Prefix Sequence Lattice Tree là

13

Page 14: Bao Cao Clos Pan

5. CloSpan: Thi t k và cài đ tế ế ặ

Cơ bản CloSpan có gồm hai bước quan trọng:

(1) Sinh ra tập LS, tập cha của tập CS

(2) Từ LS loại bỏ các chuỗi không đóng để được kết quả là tập CS cần tìm.

14

Page 15: Bao Cao Clos Pan

Hàm ClosedMining bao gồm các bước tiền xử lý cần thiết. Đầu tiên duyệt qua các

itemset và loại bỏ các itemset không phổ biến, sau đó hám CloSpan sẽ được gọi để phát

sinh ra Prefix Sequence Lattice Tree.

Thuật toán 3, CloSpan cũng tìm kiếm theo chiều sâu tương tự như PrefixSpan, tuy

nhiên nó hiệu quả hơn nhờ dòng lệnh ‘1’. Thuật toán luôn luôn kiểm tra s ⊑ s’ hoặc s’ ⊑ s, nếu : ℶ(Ds) = ℶ(Ds’) nó kết thúc quá trình tìm kiếm tại nhánh này. Có hai cách tiếp

cận ở bước này: Đầu tiên là tìm kiếm tất cả các chuỗi con và cha của chuỗi hiện tại, tuy

nhiên chi phí cho việc này rất lớn. Vì vậy chúng ta sẽ đi theo hướng tiếp cận thứ hai

thông qua một hash table có key là ℶ(Ds). Khi xét tới một chuỗi s thuật toán lấy ra các

chuỗi đã xét có kích thước projected database bằng nó sau đó mới kiểm tra điều kiện cha

con.

15

Page 16: Bao Cao Clos Pan

Thuật toán 4 được phát biểu như sau:

16

Page 17: Bao Cao Clos Pan

Kết thúc quá trình đệ quy ta được Prefix Sequence Lattice Tree chưa tập LS.

Không gian tìm kiếm được thu gọn đáng kể. Từ tập FS để duyệt để loại bỏ các chuỗi

không đóng. Việc duyệt trên tập FS sẽ nhanh và ít chi phí hơn rất nhiều.

Khuyết điểm

Cho ví dụ sau:

D<(a)(b)(c)> = D<(b)(c)> = D<(f)(b)(c)>

Khi xét đến chuỗi D<(f)(b)(c)> thì node <(b)(c)> đã bị xóa và link tới chuỗi

trước đó là <(a)(b)(c)>. Do đó thuật toán phải tốn thêm chi phí đệ quy duyệt tại node

<(f)(b)(c)>.

CloSpan vẫn chưa loại bỏ hoàn toàn các thao tác đệ quy dư thừa.

Một vấn đề khác đó là sự phân bố của các ℶ(Ds) khi chúng phân bố không đều, ví

dụ ℶ(Ds) chỉ nằm trong khoảng (2;3), lúc đó các chuỗi có cùng kích thước projected

database sẽ gom cục và thuật toán sẽ duyệt qua tất cả chúng.

Hướng tiếp cận để giải quyết vấn đề này là thay đổi key của Hash Table. Có thể

kết hợp ℶ(Ds) với các yếu tố khác như id, kích thước của chuỗi,… Mục tiêu là phân bố

các key trở nên đồng đều.

6. Đánh giá hi u năngệ

Thí nghiệm được thực hiện trên máy tính 1.7 GHZ Intel Pentium-4 PC, ram 1G,

chạy Window XP. Ngôn ngữ lập trình được sử dụng là C++. Dataset được sử dụng là

D10C10T2.5N10S6I2.5.

Dưới đây là các biểu đồ thể hiện khả năng thực thi của CloSpan.

17

Page 18: Bao Cao Clos Pan

18

Page 19: Bao Cao Clos Pan

Biểu đồ a là kết quả so sánh thời gian thực thi giữa ba thuật toán CloSpan,

PrefiSpan và CommonSpan.

Biểu đồ b cho biết số lượng các chuỗi cần duyệt tùy theo chiều dài của chuỗi và

min_sup.

Biểu đồ c là so sánh số lượng các chuỗi phải duyệt khi min_sup thay đổi giữa ba

thuật toán CloSpan, PrefiSpan và CommonSpan

7. K t lu nế ậ

Mặc dù không hoàn hảo nhưng Clospan vẫn là một giải thuật nhiều ưu điểm

Có thể cải tiến Clospan bằng cách thay đổi key trong Hash Table

19

Page 20: Bao Cao Clos Pan

Tài liệu tham khảoo Xifeng Yan, Jiawei Han, R. Afshar. CloSpan: Mining Closed Sequential Pattern in

Large Datasets, 2003

o R. Afshar. Mining frequent max, and closed sequential patterns. M.Sc. Thesis,

School of Computing Science, Simon Fraser University, Aug. 2002

o R. Agarwal, C. Aggarwal, anhd V.V.V. Prasad. Depth-first generation of large

itemsets for association rules. In IBM Technical Report RC21538, July 1999.

o R. Agarwal and R. Srikant. Fast algorithms for mining association rules. In Proc.

1994 Int.Conf.Very Large Data Bases (VLDB’94), pages 487-499, Santiago,

Chile, Sept.1994.

o R. Agarwal and R. Srikant. Mining sequential patterns. In Proc. 1995 Int. Conf.

Data Engineering (ICDE’95), pages 3-14, Taipei, Taiwan, Mar. 1995

o J. Ayres, J. E. Gehrke, T. Yiu, and J. Flannick. Sequential pattern mining using

bitmaps. In Proc. 2002 ACM SIGKDD Int. Conf. Knowledge. Discovery in

Databases ( KDD’02), Edmonton, Canada, July 2002.

20