CHƯƠNG 4: KẾT QUẢ THỰC NGHIỆM
4.2. Các thao tác tiền xử lý dữ liệu
4.2.3. Phân định các phiên truy cập
Phiên truy cập của người dùng (user session) có thể được định nghĩa một cách
"thô thiển" là tập hợp các trang web được duyệt bởi một người dùng cụ thể, cho một mục đích cụ thể. Một số chuyên gia đưa ra cách tiếp cận dựa trên "độ dài tham chiếu" (reference length) với giả thiết rằng khoảng thời gian người dùng tương tác với một trang web phụ thuộc vào mối quan tâm của người đó đến nội dung trang.
Cách tiếp cận dựa trên độ dài tham chiếu cho phép chúng ta phân biệt các trang điều hướng (navigational pages), chỉ chứa các liên kết với các trang có nội dung (content pages), chứa các thông tin mà người dùng quan tâm.
Gọi thời gian trễ dA→B là khoảng thời gian giữa yêu cầu truy cập trang A và yêu cầu truy cập trang B. Bằng cách sử dụng một ngưỡng thời gian t, ta có thể tạm thời phân loại trang A vào nhóm các trang có nội dung nếu dA→B > t và xếp trang A vào nhóm các trang điều hướng nếu dA→B ≤ t. Baglioni và các cộng sự đưa ra định nghĩa rằng một phiên truy cập có thể coi là một dãy các địa chỉ URL của các trang điều hướng theo sau bởi một địa chỉ URL của trang nội dung. Tuy nhiên định nghĩa
này bị xem là quá cứng nhắc so với mục đích của chúng ta khi mà một người dùng có thể di chuyển từ một trang nội dung đến một trang điều hướng rồi lại quay về một trang nội dung trong cùng một phiên truy cập.
Khái niệm về phiên truy cập của người dùng là vô cùng quan trọng vì nó giúp ta hình dung được thế nào là một lần viếng thăm (visit) một site. Khi việc đoán nhận mục đích viếng thăm site của người dùng không phải là dễ dàng, ta có thể nghĩ tới việc sử dụng các phương pháp heuristics đã được chuẩn hóa.
Ví dụ, giả sử một người dùng viếng thăm một website cụ thể nào đó 02 lần trong khoảng thời gian 24 giờ. Khoảng thời gian giữa các lần viếng thăm là 06 giờ.
Giả thiết rằng các thao tác định danh người dùng đã được thực hiện trên dữ liệu web log ứng với khoảng thời gian 24 giờ này. Dữ liệu ứng với 02 lần viếng thăm website sẽ được nhóm lại với nhau và được xác định tương ứng với người dùng đó.
Tuy cùng thuộc về một người dùng, nhưng những dữ liệu này cần phải được phân tách để xác định ra 02 lần truy cập riêng rẽ. Thao tác này được gọi là xác định phiên truy cập của người dùng (sessionizing hay session identification).
ác định phiên truy cập của người dùng có thể coi là một tiến trình mà ở đó, các yêu cầu truy cập xuất phát từ một người dùng cụ thể trong một khoảng thời gian đủ dài được phân đoạn thành các phiên truy cập riêng rẽ.
Hầu hết các phương pháp xác định phiên truy cập chỉ đơn giản là áp dụng một ngưỡng thời gian timeout sau khi một khoảng thời gian nhất định đã trôi qua tính từ yêu cầu truy cập được thực hiện trước đó. Nhiều hệ thống khai phá sử dụng web áp đặt ngưỡng thời gian timeout là 30 phút. Một giải thuật xác định phiên truy cập có thể áp dụng ngưỡng thời gian timeout này đối với dữ liệu web log. Một phiên truy cập mới được xem là bắt đầu nếu như khoảng thời gian giữa hai yêu cầu truy cập của người dùng lớn hơn giá trị ngưỡng đã quy định.
Về mặt bản chất, như đã nói, việc định danh phiên truy cập là tiến trình phân tách các bản ghi hoạt động của mỗi người dùng thành các phiên truy cập, mỗi phiên phản ánh thông tin về một lần viếng thăm site. Đối với những website không có cơ chế xác thực người dùng và cũng không có cơ chế nhúng các mã phiên để dấu phiên truy cập, chúng ta sẽ phải hoàn toàn dựa trên các các phương pháp heuristics để định danh phiên truy cập. Mục đích của thao tác định danh phiên dựa trên heuristics là nhằm tái cấu trúc dữ liệu clickstream, chuỗi các thao tác thực tế được thực hiện bởi người dùng trong mỗi lần viếng thăm một site.
Gọi R là tập hợp các phiên truy cập thức sự, phản ánh các hoạt động của người dùng khi truy cập website. Một nghiệm heuristic h là sự ánh xạ tập R tương ứng với một tập các phiên đã được xây dựng, ký hiệu là Ch. Trong trường hợp nghiệm lý tưởng, ký hiệu là h* thì Ch* = R. Nói cách khác trong trường hợp nghiệm lý tưởng, ta có thể xây dựng lại một cách chính xác chuỗi các thao tác điều hướng của người dùng trong suốt phiên truy cập. Các phương pháp heuristics để định danh phiên truy cập có thể chia thành hai loại: các phương pháp hướng thời gian và các phương pháp hướng cấu trúc. Các phương pháp heuristics hướng thời gian sẽ sử dụng một ngưỡng thời gian timeout để phân biệt ra các phiên truy cập liên tiếp nhau. Trong khi đó, các phương pháp heuristic hướng cấu trúc sẽ sử dụng thông tin vể cấu trúc tĩnh của website hoặc cấu trúc liên kết ngầm định thu được từ trường đối tượng tham chiếu trong web log.
Sau khi thao tác định danh người dùng đã được thực thi, dữ liệu web log sẽ được phân thành các nhóm bản ghi tương ứng với mỗi người dùng. Mỗi phương pháp heuristic h được áp dụng sẽ duyệt các bản ghi hoạt động của từng người dùng và đưa ra tập hợp các phiên truy cập được xây dựng. Có thể kể ra ở đây ba phương pháp heuristic thường được sử dụng:
1. Phương pháp h uristic hư ng thời gi n h1 dựa trên ý tưởng: độ dài thời gian của một phiên truy cập không được vượt quá ngưỡng thời gian θ cho trước.
Gọi Ro là yêu cầu truy cập đầu tiên trong phiên truy cập Sj được xây dựng và TS(Ro) là nhãn thời gian ứng. Yêu cầu truy cập Ri với nhãn thời gian TS(Ri) sẽ được coi là thuộc phiên truy cập Sj nếu khoảng cách thời gian không vượt quá ngưỡng θ, tức là TS(Ri) - TS(Ro) ≤ θ (hình 4.2).
Hình 4.2: Y u c u truy cập Ri ∈ Sj nếu khoảng cách TS(Ri) - TS(Ro) ≤ θ 2. Phương pháp h uristic hư ng thời gi n h2 dựa trên ý tưởng: độ dài thời gian
khi duyệt một trang không bao giờ vượt quá ngưỡng thời gian δ cho trước.
Gọi R là một yêu cầu truy cập được cho là thuộc về phiên truy cập S và Rn
Ro
TS(Ri) – TS(Ro)
Ngưỡng θ
Phiên Sj Phiên Sj+1
Ri
TS(Ri) là nhãn thời gian tương ứng. Yêu cầu truy cập tiếp theo Ri+1 với nhãn thời gian tương ứng TS(Ri+1) sẽ được xem là thuộc Sj nếu khoảng cách thời gian không vượt quá ngưỡng δ, tức là TS(Ri+1) - TS(Ri) ≤ δ (hình 4.3).
Hình 4.3: Ri∈ Sj và Ri+1∈ Sj+1 nếu ST(Ri+1) - ST(Ri) ≥ δ
3. Phương pháp h uristic hư ng cấu trúc h-ref dựa trên ý tưởng: một yêu cầu truy cập Ri sẽ được coi là thuộc phiên truy cập Sj nếu đối tượng tham chiếu đến Ri đã được truy cập trước đó trong phiên Sj. Ngược lại, Ri được coi là bắt đầu của một phiên truy cập mới. Với phương pháp này, có thể xảy ra trường hợp một yêu cầu truy cập Ri thuộc về hai hay nhiều phiên làm việc đang mở do trước đó nó được truy cập trong nhiều phiên khác nhau. Trong trường hợp này các thông tin bổ sung có thể được sử dụng để làm rõ vấn đề. Ví dụ, Ri có thể được xem là thuộc về phiên đang mở gần nhất thỏa mãn điều kiện nêu trên (hình 4.4).
Hình 4.4: Nếu Rk∈ Sj và Rk tham chiếu đến Ri thì Ri∈ Sj
Hình 4.5 minh họa việc áp dụng phương pháp heuristic h1 vào tập dữ liệu web log ứng với người dùng 1, có địa chỉ IP là 1.2.3.4. Ngưỡng thời gian sử dụng ở đây là θ = 30 phút. Các bản ghi được phân thành hai tập hợp ứng với hai phiên truy cập kế tiếp nhau.
Rk
Ro
Phiên Sj
Ri+1
Phiên Sj+1
Ri
Ro
TS(Ri+1) – TS(Ri) Ngưỡng δ
Phiên Sj
Ri+1
Phiên Sj+1
Hình 4.5: Áp dụng phương pháp heuristic hư ng thời gian
Nếu ta áp dụng phương pháp heuristic h2 với ngưỡng thời gian δ = 10 phút cho dữ liệu trên hình 4.5 thì tập các bản ghi có thể được phân tách ứng với 3 phiên truy cập:
Phiên 1: A B C E Phiên 2: A
Phiên 3: F B D
Hình 4.6: Áp dụng phương pháp heuristic hư ng cấu trúc
Hình 4.6 minh họa việc áp dụng phương pháp heuristic hướng cấu trúc h-ref vào tập dữ liệu web log. Khi yêu cầu truy cập ứng với trang được ghi nhận (nhãn thời gian 01:26) thì có hai phiên truy cập đang mở:
Phiên 1: A B C E Phiên 2: A
Tuy nhiên, yêu cầu truy cập trang được xem là thuộc về phiên 1 vì trang tham chiếu đến trang là trang C đã được truy cập trước đó trong phiên 1. Yêu cầu truy cập trang B (nhãn thời gian 01:30) thuộc về cả hai phiên truy cập đang mở vì trang tham chiếu đến B là trang A đã được truy cập trước đó trong cả hai phiên.
Trong trường hợp này, yêu cầu truy cập trang B được xem là thuộc về phiên 2 do đây là phiên đang mở gần nhất.
Khi cài đặt, tác giả lựa chọn tiếp cận dựa trên phương pháp heuristic hướng thời gian h2. Ý tưởng cài đặt được minh họa qua phương thức SessionIdentification.
Các bản ghi sẽ lần lượt được duyệt qua. Chúng sẽ được kiểm tra xem có thuộc về cùng một người dùng hay không? Nếu có, khoảng cách thời gian giữa hai bản ghi liên tiếp sẽ được so sánh với ngưỡng thời gian t đã chọn. Chi tiết của thủ tục này được trình bày như sau:
procedure SessionIdentification() {
While(!EOF) {
Add first entry to session i;
For each (next entry) {
If(IP = = previous IP)
If(time[this entry] - time[this entry - 1] < t) Add this entry to session i;
Else { i++;
Add entry to session i; } Else
{ i++;
Add entry to session i; } }
} }
4. . Một số kết quả thực nghiệm
4. .1. Mục tiêu của quá tr nh thực nghiệm
Mục tiêu của quá trình thực nghiệm nhằm đánh giá hiệu năng thực thi của hệ thống khai phá luật kết hợp dựa trên chiến lược Chia để trị mà tác giả đề xuất.
Như đã phân tích trong chương 3, mô hình hệ thống khai phá luật kết hợp dựa trên chiến lược Chia để trị có 02 ưu điểm cơ bản, đó là đáp ứng tốt trong điều kiện dữ
liệu đầu vào lớn và phải tiến hành khai phá liên tiếp mỗi khi có phát sinh dữ liệu mới (sau mỗi chu kỳ thời gian). Mô hình này cũng có thể dễ dàng mở rộng để áp dụng cho các hệ thống tính toán có nhiều bộ xử lý song song.
Trong mục 4.3 này, tác giả tập trung trình bày các kết quả thực nghiệm nhằm làm nổi bật ưu điểm thứ 2 của mô hình hệ thống, đó là đáp ứng tốt trong điều kiện dữ liệu đầu vào thường xuyên thay đổi và phải khai phá liên tiếp sau mỗi lần dữ liệu mới phát sinh. Với cơ chế sử dụng cơ sở dữ liệu để lưu trữ các tập phổ biến thu được từ lần khai phá trước đó, mô hình hệ thống khai phá luật kết hợp dựa trên Chia để trị cố gắng kế thừa kết quả khai phá trước đó và hạn chế phải khai phá lại từ đầu với toàn bộ dữ liệu, nhất là khi dữ liệu phát sinh thêm không lớn. Điều này sẽ giúp giảm thiểu thời gian khai phá. Tác giả sẽ tiến hành các bước thực nghiệm nhằm chứng minh ưu thế về mặt thời gian xử lý của mô hình hệ thống dựa trên chiến lược Chia để trị so với các mô hình khác.
4. .2. Các hệ thống tham gia vào quá tr nh thực nghiệm
Tác giả sẽ tiến hành thực nghiệm trên 3 hệ thống:
Hệ thống 1: Sử dụng mô hình khai phá luật kết hợp cổ điển dựa trên giải thuật Apriori (hình 4.2). Dữ liệu sử dụng web sau khi được tiền xử lý sẽ thu được tập các phiên truy cập của người dùng (cơ sở dữ liệu giao dịch D). Giải thuật Apriori được áp dụng để sinh các tập phổ biến. Sau đó, một giải thuật sinh luật kết hợp sẽ được sử dụng để sinh các luật kết hợp mạnh từ các tập phổ biến tìm được (xem mục 3.6 - Chương 3). Đây là mô hình hệ thống khai phá luật kết hợp điển hình, đơn giản và được sử dụng rộng rãi.
Hệ thống 2: Sử dụng mô hình khai phá luật kết hợp dựa trên chiến lược Chia để trị do tác giả đề xuất (hình 3.2 – Chương 3).
Hệ thống : Sử dụng mô hình khai phá song song luật kết hợp (hình 2.6 – Chương 2) với số bộ xử lý N=2. Giải thuật khai phá song song được áp dụng ở đây là giải thuật phân phối độ hỗ trợ (count distribution) do Agrawal và C.Shafer đề xuất.
B ng .2 Cấu hình máy tính tham gia thử nghiệm Bộ vi xử lý Intel Pentium IV (2.4GHz)
Bộ nhớ RAM 2 GB
Hệ điều hành Microsoft Windows XP SP3
Hình 4.7: Hệ th ng khai phá luật kết hợp d a tr n giải thuật Apriori
Khi cài đặt, hệ thống 1 và hệ thống 2, mỗi hệ thống được triển khai trên một PC có cấu hình phần cứng và phần mềm như bảng 4.2. Hệ thống 3 được triển khai trên mạng LAN gồm 02 PC có cùng cấu hình như bảng 4.2 nhưng được kết nối trực tiếp với nhau bằng cáp mạng chuẩn ast Ethernet 100Mps. Các chương trình ứng dụng thử nghiệm được viết bằng ngôn ngữ lập trình C# trên nền .Net ramework 3.5. Ngoài ra để hỗ trợ lập trình song song cho hệ thống 3, thư viện lập trình song song MPI.Net (Message Passing Interface for .Net) cũng được sử dụng.
4. . . Tổ chức dữ liệu và cách thức tiến hành thực nghiệm
Dữ liệu thực nghiệm lấy từ 04 tập tin web logs được chỉ ra trên bảng 4.1. Dữ liệu được tổ chức thành 04 bộ dữ liệu (ký hiệu bằng số La Mã từ (I) đến (IV)) (bảng 4.3). Các bộ dữ liệu này là bao trùm nhau, nghĩa là bộ dữ liệu thứ (i+1) sẽ chứa bộ dữ liệu (i) cùng với một phần dữ liệu phát sinh nữa. Nói cách khác, ta luôn có (I) ⊂ (II) ⊂ (III) ⊂ (IV).
Cũng cần phải nói thêm là yếu tố tạo nên nét đặc trưng cho mỗi hệ thống được thử nghiệm chính là ở cơ chế tìm các tập phổ biến. Đóng góp lớn nhất của luận văn cũng nằm ở việc cải tiến cơ chế tìm các tập phổ biến. Chính vì thế trong quá trình thử nghiệm, tác giả chỉ tập trung vào việc so sánh thời gi n tì các tập ph biến từ cơ sở liệu gi o ịch của các hệ thống với nhau.
Cách thức tiến hành thực nghiệm như sau:
Tiền xử lý (4 giai đoạn) D liệu
cần kh i phá
Sinh tập ph biến
Sinh luật kết hợp
ác luật kết hợp ạnh
Bước 1: ng với mỗi ngưỡng độ hỗ trợ minsup cho trước, các bộ dữ liệu từ (I) đến (IV) được lần lượt xử lý trên từng hệ thống. Thời gian tìm tập phổ biến trên mỗi hệ thống ứng với từng bộ dữ liệu được ghi lại. Chuyển sang bước 2.
Bước 2: Các giá trị ghi lại được biểu diễn trên biểu đồ. Trục hoành tương ứng với số lượng phiên truy cập, trục tung tương ứng với thời gian thực thi (millisecond).
Mỗi hệ thống được đặc trưng bởi một đường biểu diễn trên biểu đồ. Chuyển sang bước 3.
Bước 3: óa hết dữ liệu trong cơ sở dữ liệu các tập phổ biến cục bộ của hệ thống 2.
Lặp lại bước 1 với ngưỡng độ hỗ trợ minsup khác.
B ng .3 Các bộ dữ liệu thử nghiệm
Bộ liệu Dung lượng (KB)
Số lượng b n ghi
Số lượng phiên
truy cập Tập tin nguồn
(I) 41873 164135 443 20120720-access
(II) 93139 364988 1087 20120720-access
20120721-access
(III) 124351 487363 1556
20120720-access 20120721-access 20120722-access
(IV) 154940 608083 2364
20120720-access 20120721-access 20120722-access 20120723-access Chú ý là khi làm việc với 04 bộ dữ liệu trên bảng 4.3 thì hệ thống 1 và hệ thống 3 sẽ coi đây là 04 bộ dữ liệu hoàn toàn độc lập. Việc xử lý bộ dữ liệu (i+1) sẽ không liên quan gì đến kết quả xử lý bộ dữ liệu (i) trước đó. Hệ thống 2 làm việc dựa trên nguyên lý Chia để trị đối với tập dữ liệu nên cho phép cơ chế kế thừa kết quả trước đó để rút ngắn khối lượng cần khai phá. Khi hệ thống 2 làm việc với bộ dữ liệu (i+1), nó sẽ tận dụng kết quả khai phá của bộ dữ liệu (i) trước đó và chỉ khai phá thêm trên tập dữ liệu phát sinh sau đó tổng hợp kết quả lại (cập nhật độ hỗ trợ toàn cục và lọc ra các tập phổ biến toàn cục).
4. .4. Kết quả thực hiện và đánh giá
Sau khi tiến hành chạy thử nghiệm các bộ dữ liệu trên từng hệ thống ứng với 04 ngưỡng độ hỗ trợ minsup khác nhau là 0.25%, 0.5%, 0.75%, 1.00%, ta thu được
bảng kết quả thực nghiệm (bảng 4.4). Ngoài ra, căn cứ vào bảng kết quả thực nghiệm, ta cũng xây dựng được 04 biểu đồ biểu diễn sự thay đổi của thời gian xử lý theo sự gia tăng của kích thước dữ liệu vào tương ứng với 04 ngưỡng độ hỗ trợ (các hình 4.8a,b,c,d).
B ng . Kết quả th c nghiệm v i 04 bộ dữ liệu tr n 03 hệ th ng
Lần thử
Ngưỡng độ hỗ trợ
Bộ liệu
Số lượng b n ghi
Số lượng phiên truy cập
Thời gi n tì tập ph biến (Đơn vị s) Hệ thống
01
Hệ thống 02
Hệ thống 03 01
0.25%
(I) 164135 443 56 65 29
02 (II) 364988 1087 275 299 150
03 (III) 487363 1556 350 88 178
04 (IV) 608083 2364 535 225 250
05
0.50%
(I) 164135 443 52 60 30
06 (II) 364988 1087 93 75 48
07 (III) 487363 1556 150 62 74
08 (IV) 608083 2364 223 84 118
09
0.75%
(I) 164135 443 53 55 25
10 (II) 364988 1087 100 50 48
11 (III) 487363 1556 138 42 72
12 (IV) 608083 2364 180 45 90
13
1.00%
(I) 164135 443 44 58 28
14 (II) 364988 1087 75 50 40
15 (III) 487363 1556 130 40 75
16 (IV) 608083 2364 155 52 78
Từ bảng số liệu thực nghiệm và quan sát 4 biểu đồ, ta có thể rút ra một số nhận xét chung như sau:
ng với cùng ngưỡng độ hỗ trợ, khi xử lý bộ dữ liệu (I) tức là khi có cùng xuất phát điểm, hệ thống 2 (Divide and Conquer) tỏ ra chậm hơn so với hai hệ thống còn lại. Sở dĩ như vậy vì lúc này hệ thống 2 phải xuất phát từ đầu và chưa kế thừa được