V. Wap-tree:
5. Xây dựng WAP-tree:
5.1 Cơ sở xây dƣng nên WAP-Tree:
- Với tất cả các chuỗi tuần tự có độ dài là 1 (1-sequence), chỉ có những chuỗi tuần tự phổ biến mới cần thiết cho việc xây dựng nên chuỗi tuần tự có độ dài là k (k-sequence, với k>1). Do đó, nếu biến cố e không nằm trong tập chuỗi tuần tự phổ biến 1-sequence, thì biến cố đó sẽ khơng đƣợc sử dụng để xây dựng WAP-tree.
- Nếu hai chuỗi truy cập tuần tự chia sẻ một tiền tố chung P, tiền tố P này có thể đƣợc chia sẻ trong WAP-tree Giúp tiết kiệm đƣợc không gian lƣu trữ và tạo điều kiện cho q trình tính độ hỗ trợ của bất kì dãy con tuần tự nào của tiền tố P.
5.2 Các đặc điểm của WAP-Tree:
- Mỗi node trong WAP-tree đƣợc lƣu trữ với hai thông tin: label và count. Node gốc (root) của cây là một node ảo đặc biệt với count=0 và khơng có label. Các
node cịn lại đƣợc dán label tƣơng ứng với biến cố ei trong tập E, và count đƣợc tính ứng với số lần xuất hiện của nó.
- WAP-tree đƣợc xây dựng nhƣ sau:
+ Với mỗi lần truy cập vào cơ sở dữ liệu, ta sẽ lọc ra các biến cố không phổ biến (ko thỏa ngƣỡng minSup cho trƣớc), và sau đó thêm vào các chuỗi phổ biến vào WAP-tree.
+ Việc chèn bắt đầu từ node root của WAP-tree.
+ Bắt đầu từ biến cố đầu tiên, ký hiệu là e, nếu đã có thì tăng count của node đó lên 1. Nếu khơng có thì tạo label mới với count = 1.
+ Sau đó, dùng phƣơng pháp đệ quy để chèn phần cịn lại của chuỗi tuần tự.
- Cấu trúc Auxiliary node linkage đƣợc xây dƣng để hố trợ việc cắt/giao nhau giữa các node trong WAP-tree nhƣ sau : Tất cả các node trong cây có cùng label đƣợc liên kết với hàng đợi bởi shared-label linkages, gọi là event-node queue (Hàng đợi node biến cố). Event-node queue với nhãn ei còn đƣợc gọi là ei-queue. Một WAP-tree có một header table H (bảng tiêu đề), và head của event-node queue đƣợc lƣu trong H.
Giải thuật 2 : Xây dựng WAP-tree :
Input : Cơ sở dữ liệu truy cập tuần tự WAS và tập các biến cố phổ biến FE. Output : WAP-tree T.
Method :
B1 : Tạo node root.
B2 : Với mỗi chuỗi truy cập tuần tự S trong CSDL truy cập tuần tự WAS:
a/ Tạo chuỗi con phổ biến S’ của S thỏa điều kiện : các biến cố của S’ thuộc FE.
Cho cur_node trỏ đén node root. b/
For i=1 : n do
If ( cur_node đã đƣợc dán nhãn) Tăng count của si lên 1. cur_node trỏ đến si. Else
Tạo node con mới (si = 1). Cur_node trỏ đến node mới này. Thêm nó vào si-queue.
B4 : Return (T). Ví dụ :
Cho tập các sự kiện {a, b, c, d, e, f} và 100, 200, 300, 400 là các id. Ta có :
<100,a> <100,b> <200,a> <300,b> <200,b> <400,a> <100,a> <400,b> <300,a> <100,c> <200,c> <400,a> <200,a> <300,b> <200,c> <400,c> <400,c> <300,a>
<300,c>
User ID Frequent Subsequence
100 abac
200 abcac
300 babac
400 abacc
Bảng 1 : Cơ sở dữ liệu của WAS Bằng cách sử dụng Giải thuật 2, ta đƣợc một WAP-tree nhƣ sau:
Hình 14: Sơ đồ Wap-Tree
Phân tích thuật tốn :
- Lúc này, WAP-tree sẽ lƣu trữ các count của truy cập tuần tự.
- Quá trình khai thác tất cả các mẫu truy cập Web chỉ cần làm việc trên WAP- tree thay vì trên cơ sở dữ liệu ban đầu. Do đó, phƣơng pháp WAP-mine chỉ cần duyệt qua cơ sở dữ liệu ban đầu 2 lần.
- Độ cao của WAP-tree đơn giản là chỉ cần cộng với chiều dài tối đa của dãy con tuần tự phổ biến trong cơ sở dữ liệu.
- Độ rộng của WAP-tree (tức là số lƣợng lá của cây) phụ thuộc vào số lƣợng các truy cập tuần tự vào cơ sở dữ liệu.
- Theo thống kê, xét các yếu tố chia sẻ tiền tố, kích thƣớc của WAP-tree sẽ nhỏ hơn nhiều kích thƣớc của cơ sở dữ liệu truy cập tuần tự.
Bổ đề 1:
- Với bất kì truy cập tuần tự nào vào cơ sở dữ liệu truy cập tuần tự WAS, tồn tại duy nhất một đƣờng đi bắt đầu từ node root của WAP-tree mà tất cả các nhãn của các node trên đƣờng đó cùng thứ tự với các biến cố trong chuỗi tuần tự.
Bổ đề này đảm bảo rằng số lƣợng các node lá và các đƣờng dẫn trong một WAP- tree khơng thể có nhiều hơn số lƣợng dãy con tuần tự phổ biến trong cơ sở dữ liệu truy cập tuần tự, và chiều dài của WAP-tree đƣợc tính bởi một (nếu là node root) cộng với số lƣợng tối đa các biến cố phổ biến trong truy cập tuần tự.
Ta dễ dàng nhận thấy WAP-tree có thể đƣợc phân chia và cấu trúc tƣơng tự với B- tree và đƣợc thực thi trong SQL. Do đó, WAP-tree cũng nhƣ việc khai thác trên WAP-tree đƣợc sử dụng hiệu quả hơn nhờ khả năng mở rộng cao.