TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN VƯƠNG THỊNH ỨNG DỤNG KHAI PHÁ LUẬT KẾT HỢP TRONG PHÂN TÍCH DỮ LIỆU SỬ DỤNG WEB LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội – Năm 2012... TRƯỜNG ĐẠI HỌC
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN VƯƠNG THỊNH
ỨNG DỤNG KHAI PHÁ LUẬT KẾT HỢP TRONG PHÂN TÍCH DỮ LIỆU SỬ DỤNG WEB
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội – Năm 2012
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN VƯƠNG THỊNH
ỨNG DỤNG KHAI PHÁ LUẬT KẾT HỢP TRONG PHÂN TÍCH DỮ LIỆU SỬ DỤNG WEB
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN HÀ NAM
Hà Nội – Năm 2012
Trang 3MỤC LỤC
LỜI CAM ĐOAN 1
LỜI CẢM ƠN 2
MỤC LỤC 3
DANH MỤC CÁC BẢNG 5
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 6
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN 9
1.1 Khai phá dữ liệu sử dụng web 9
1.2 Phát biểu bài toán khai phá luật kết hợp từ dữ liệu sử dụng web 11
1.3 Hướng tiếp cận của đề tài 12
1.4 Kết luận chương 1 13
CHƯƠNG 2: LUẬT KẾT HỢP VÀ CÁC KỸ THUẬT KHAI PHÁ LUẬT KẾT HỢP 14
2.1 Khái niệm về luật kết hợp và tập phổ biến 14
2.2 Luật kết hợp trong dữ liệu sử dụng web 15
2.3 Một số nghiên cứu về khai phá luật kết hợp 15
2.4 Khai phá sử dụng Web với giải thuật Apriori 19
2.5 Các kỹ thuật khai phá song song luật kết hợp 24
2.6 Những vấn đề đặt ra khi khai phá luật kết hợp từ dữ liệu web log 30
2.7 Kết luận chương 2 36
CHƯƠNG : TƯ TƯ NG CHIA Đ T Ị T ONG KHAI PHÁ LUẬT KẾT HỢP 37
3.1 p dụng chiến lược Chia để trị trong bài toán khai phá luật kết hợp 37
3.2 Cơ sở toán học cho việc áp dụng chiến lược Chia để trị 38
3.3 Mô hình hệ thống khai phá luật kết hợp từ dữ liệu sử dụng web dựa trên chiến lược Chia để trị 40
3.4 Tư tưởng Chia để trị trong khai phá song song luật kết hợp từ dữ liệu sử dụng web 46
3.5 Sinh các tập phổ biến cục bộ 50
Trang 43.6 Sinh các luật kết hợp mạnh từ các tập phổ biến 51
3.7 Kết luận chương 3 52
CHƯƠNG 4: KẾT QUẢ THỰC NGHIỆM 54
4.1 Đặc trưng của dữ liệu thực nghiệm 54
4.2 Các thao tác tiền xử lý dữ liệu 54
4.2.1 Lọc dữ liệu 55
4.2.2 Gán nhãn thời gian 57
4.2.3 Phân định các phiên truy cập 58
4.3 Một số kết quả thực nghiệm 63
4.3.1 Mục tiêu của quá trình thực nghiệm 63
4.3.2 Các hệ thống tham gia vào quá trình thực nghiệm 64
4.3.3 Tổ chức dữ liệu và cách thức tiến hành thực nghiệm 65
4.3.4 Kết quả thực hiện và đánh giá 66
4.4 Kết luận chương 4 71
KẾT LUẬN 72
TÀI LIỆU THAM KHẢO 74
Trang 5CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN
S bùng nổ ủa Internet đã khiến ho World Wide Web tr th nh một kho dữ liệu khổng lồ với s l ợng v ùng lớn á máy hủ web rải
rá khắp n i tr n thế giới Kho t i nguy n dữ liệu Web tiềm ẩn nhiều mẫu th ng tin quý giá đ i với mỗi á nhân, tổ hứ hay ả ộng đồng Trong những năm gần đây, lĩnh v khai phá web (Web Mining) đã ó những b ớ phát tri n mạnh mẽ, thu hút s quan tâm ủa nhiều nh nghi n ứu v á nhóm phát tri n ứng dụng
Khai phá dữ liệu sử dụng web (Web Usage Mining) l một h ớng nghi n ứu quan tr ng trong khai phá web Cá máy hủ web th ờng ghi lại v tí h lũy á dữ liệu phản ánh hoạt động ủa ng ời dùng mỗi khi nó nhận đ ợ một y u ầu truy ập Từ những hồ s truy ập web (hay òn g i l web log), áp dụng á kỹ thuật khai phá dữ liệu ó th giúp khám phá ra các tri thứ hữu í h li n quan đến quá tr nh t ng tá
ủa ng ời dùng với Internet m ụ th l á trang Web.
Trong luận văn n y, tá giả l a h n h ớng tiếp ận d a tr n khai phá luật kết hợp nh m á đ nh ra u h ớng truy ập ủa ng ời dùng
đ ợ phản ánh b i á tập phổ biến Cá phân tí h n y ó th giúp ấu trú lại á website trong á phân nhóm hiệu quả h n, hay á đ nh ra
v trí đặt á banner quảng áo hiệu quả nhất, ũng nh gắn việ quảng
áo á sản phẩm nhất đ nh ho những ng ời dùng quan tâm đ đạt hiệu quả ao nhất,…
Khi áp dụng khai phá luật kết hợp v o dữ liệu web log, ta vấp phải một s những vấn đề sau đây:
1 Dung l ợng dữ liệu đ v o từ tập tin web log ó th quá lớn đến mứ kh ng th áp dụng tr tiếp á giải thuật khai phá luật kết hợp do s hạn hế về bộ nhớ trong ủa hệ th ng tính toán
2 Bản thân dữ liệu web log ó th đ ợ ghi lại một á h phân tán
tr n á tập tin rời rạ (theo từng hu kỳ thời gian giờ/ng y/tuần/tháng/năm) v dữ liệu th ờng uy n đ ợ phát sinh mới sau mỗi hu kỳ Tuy nhi n khi tiến h nh khai phá dữ liệu th ta ần khai phá to n bộ dữ liệu từ á tập tin n y nh một hỉnh th Việ dữ liệu phát sinh mới sẽ khiến kết quả khai phá tr ớ đó kh ng òn hính á v húng ta phải tiến h nh khai phá lại từ đầu sau khi dữ liệu đầu v o đã đ ợ ập nhật
Trang 6Liệu ó á h n o ó th tận dụng đ ợ á kết quả khai phá
tr ớ đó hay kh ng l một vấn đề đặt ra
Trong luận văn, tá giả kh ng tiếp ận d a tr n việ ải tiến á giải thuật khai phá luật kết hợp đã ó hay đề uất áp dụng một giải thuật mới m tiếp ận giải quyết vấn đề từ gó độ dữ liệu v o
T t ng Chia đ tr (Divide and Conquer) đ ợ tá giả đề uất
áp dụng khi ử lý tập dữ liệu v o Chia đ tr l một á h tiếp ận hết
sứ t nhi n khi giải quyết b i toán Tập dữ liệu vào sẽ đ ợ phân hia
th nh á tập dữ liệu on ( ó kí h th ớ phù hợp với bộ nhớ trong) và
ó th đ ợ ử lý độ lập nhau Cá kết quả ử lý n y sẽ đ ợ tổng hợp lại đ thu đ ợ kết quả mong mu n Trong luận văn, tá giả sẽ tập trung
tr nh b y s toán h ũng nh hứng minh tính đúng đắn ủa việ
áp dụng hiến l ợ Chia đ tr khi ử lý tập dữ liệu v o v đồng thời
đề uất một m h nh hệ th ng phân tí h dữ liệu thu đ ợ từ tập tin á web log đ đ a ra á luật kết hợp Cá s liệu th nghiệm ũng đ ợ
tr nh b y một á h đầy đủ đ l m s so sánh Cá h thứ tiếp ận d a
tr n t t ng Chia đ tr ó nhiều u đi m, trong đó ó hai u đi m lớn nhất đó l :
1 Độc lập với các giải thuật khai phá dữ liệu được sử dụng: Khi
tiến h nh ử lý á tập dữ liệu on, ta ó th l a h n một giải thuật khai phá dữ liệu phù hợp Thậm hí, kh ng nhất thiết tất ả
á tập dữ liệu on đều phải sử dụng ùng một giải thuật m mỗi tập dữ liệu on ó th dùng một giải thuật khá nhau đ ử lý
2 Có thể xử lý độc lập trên các hệ thống tính toán khác nhau:
Cá tập dữ liệu on ó th đ ợ ử lý song song v ho n to n độ lập tr n ùng một hệ th ng tính toán hoặ tr n á hệ th ng khá nhau
B i toán khai phá luật kết hợp kh ng phải l b i toán mới trong khai phá dữ liệu, tuy nhi n đây l lĩnh v ó nhiều ứng dụng trong th
tế v đang đ ợ rất nhiều nh nghi n ứu quan tâm, đề uất á thuật toán đ giải quyết Khi áp dụng m h nh luật kết hợp v o dạng dữ liệu
đặ thù l dữ liệu web th việ l a h n một thuật toán khai phá dữ liệu phù hợp l yếu t v ùng quan tr ng Trong h ng 2, tá giả sẽ tập trung tr nh b y s bộ một s các kỹ thuật khai phá luật kết hợp đã đ ợ phát tri n v á vấn đề gặp phải khi áp dụng với dữ liệu web log
Trang 7CHƯƠNG 2: LUẬT KẾT HỢP VÀ CÁC KỸ THUẬT KHAI PHÁ LUẬT KẾT HỢP
2.1 Luật kết hợp trong dữ liệu sử dụng web
Sau khi dữ liệu truy ập web đã đ ợ tiền ử lý, á đ nh rõ dữ liệu t ng ứng với từng ng ời dùng v từng phi n truy ập th một trong những vấn đề th tiễn đặt ra l những trang web (hay những tập tin t i nguy n) n o th ờng đ ợ truy ập ùng với nhau Về bản, một khi
đã phân đ nh đ ợ á phi n truy ập, ta ó th áp dụng m h nh luật kết hợp v o dữ liệu thu đ ợ Mỗi trang web hay tập tin đ ợ truy ập đóng vai trò l một mụ , một phi n truy ập đ ợ em l một giao d h Dữ liệu truy ập web lú n y đ ợ em l một s dữ liệu giao d h v ó
th sử dụng á thuật toán khai phá luật kết hợp Cá luật kết hợp ó th
đ ợ sử dụng đ li n kết những trang th ờng đ ợ truy ập ùng với nhau trong một phi n truy ập Trong ngữ ảnh ủa khai phá sử dụng web th á luật kết hợp hỉ ra tập hợp á trang web th ờng đ ợ truy
ập ùng với nhau với độ hỗ trợ lớn h n một ng ỡng quy đ nh tr ớ
Cá trang web n y kh ng nhất thiết phải đ ợ kết n i với nhau th ng qua á si u li n kết (hyperlink) Việ sử dụng á giải thuật khai phá luật kết hợp ó th giúp phát hiện ra m i t ng quan giữa những ng ời dùng đã viếng thăm á trang web khá nhau
2.2 Khai phá sử dụng Web với giải thuật Apriori
Giả sử sau khi tiền ử lý dữ liệu thu đ ợ từ web log, ta á đ nh
đ ợ á phi n truy ập ủa ng ời dùng nh bảng 2.1 đây mỗi phi n truy ập ó th oi l một giao d h v mỗi trang đ ợ truy ập l một
mụ Việ áp dụng giải thuật Apriori ó th giúp á đ nh đ ợ những trang n o th ờng đ ợ truy ập ùng với nhau Những mẫu thu đ ợ sẽ ung ấp những tri thứ rất hữu í h phụ vụ ho những lĩnh v nh tiếp
th điện tử hay tổ hứ lại website sao ho thuận tiện nhất đ i với ng ời dùng ngắn g n, ta ký hiệu á trang đã truy ập nh sau:
Trang 8Ta ó s dữ liệu giao d h D gồm 9 giao d h với á tập mụ nh bảng 2.2
Bảng 2.1: Các phiên truy cập của một người dùng
Phiên truy
Session 1 /shopping/ omesti htm , /shopping/fashion.htm ,
/ ars.htm Session 2 /shopping/fashion.htm , /news.htm
Session 3 /shopping/fashion.htm , /sport.htm
Session 4 /shopping/ omesti htm , /shopping/fashion.htm ,
/news.htm Session 5 /shopping/ omesti htm , /sport.htm
Session 6 /shopping/fashion.htm , /sport.htm
Session 7 /shopping/ omesti htm , /sport.htm
Session 8 /shopping/ omesti htm , /shopping/fashion.htm ,
/sport.htm , / ars.htm Session 9 /shopping/ omesti htm , /shopping/fashion.htm ,
/sport.htm
Bảng 2.2: Cơ sở dữ liệu giao dịch D
Giao dịch Tập mục
T01 I1, I2, I5T02 I2, I4T03 I2, I3T04 I1, I2, I4T05 I1, I3T06 I2, I3T07 I1, I3T08 I1, I2, I3, I5 T09 I1, I2, I3Thuật toán Apriori l một thuật toán kinh đi n áp dụng trong khai phá luật kết hợp Thuật toán d a tr n nguy n lý Apriori tập on bất kỳ
ủa một tập phổ biến ũng l một tập phổ biến Mụ đí h ủa thuật toán Apriori l t m ra đ ợ tất ả á tập phổ biến ó th ó trong s
dữ liệu giao d h D Thuật toán hoạt động theo nguy n tắ quy hoạ h động, nghĩa l từ á tập Fi = { ci | ci l tập phổ biến, | i| = 1} gồm m i
Trang 9tập mụ phổ biến ó độ d i i (1 ≤ i ≤ k), đi t m tập Fk+1 gồm m i tập
mụ phổ biến ó độ d i k+1 Cá mụ i1, i2,…, in trong thuật toán đ ợ sắp ếp theo một thứ t đ nh
Thuật toán Apriori:
Input: C s dữ liệu giao d h D = {t1, t2,…, tm}
Ng ỡng t i thi u minsup > 0
Output: Tập hợp tất ả á tập phổ biến
Begin
Tính sup(ij) = count(ij)/m ho mỗi mụ i1, i2,…, in b ng
á h quét CSDL một lần v đếm s lần uất hiện ủa mỗi
tụ n y đ ợ thi h nh th ng qua việ n i (join) á tập mụ ó hung
á tiền t (prefi ) v sau đó áp dụng nguy n lý Apriori đ loại bỏ bớt những tập kh ng thỏa mãn
Trang 102.3 Những vấn đề đặt ra khi khai phá luật kết hợp từ dữ liệu web log
Có rất nhiều vấn đề đặt ra khi khai phá dữ liệu sử dụng web từ
á tập tin web server log i với luận văn n y, tá giả tập trung v o
á vấn đề sau đây:
Dữ liệu cần xử lý quá lớn:
Tất ả á giải thuật khai phá luật kết hợp, dù hiệu quả đến đâu ũng sẽ b giới hạn b i dung l ợng bộ nhớ ủa hệ th ng tính toán Khi
s l ợng bản ghi ần ử lý quá lớn, nếu kh ng áp dụng á kỹ thuật ử
lý bổ sung ó th l m hệ th ng tính toán b treo Dung l ợng dữ liệu truy ập web ủa á máy hủ đ ợ ghi lại d ới dạng á tập tin log trong ùng một khoảng thời gian ó th l rất khá nhau tùy theo s
l ợng truy ập đ ợ gửi đến máy hủ Dung l ợng n y ó th r i v o khoảng v i hụ đến h ng trăm megabyte mỗi ng y (t ng ứng với khoảng v i ng n đến h ng trăm ng n bản ghi) L ợng dữ liệu tí h lũy
đ ợ ghi lại sau v i tuần hay v i tháng ó th l n tới h ng gigabyte Câu hỏi đặt ra l ta sẽ phải l m g khi dung l ợng dữ liệu ần ử
lý v ợt quá giới hạn về bộ nhớ ủa hệ th ng tính toán Một trong những
á h t duy hết sứ t nhi n đó l hia nhỏ tập dữ liệu th nh á phần
ó dung l ợng vừa với kí h th ớ bộ nhớ trong v ử lý từng phần độ lập Giải pháp ho vấn đề n y sẽ đ ợ tr nh b y trong h ng tiếp theo
Dữ liệu thường xuyên có sự phát sinh mới và quá trình khai phá đòi hỏi phải được thực hiện thường xuyên, liên tục
Một trong những thá h thứ khá khi tiến h nh khai phá dữ liệu
sử dụng web từ á tập tin server log đó l dữ liệu đ ợ ập nhật li n
tụ Một s phần mềm máy hủ web ho phép á nh quản tr l a h n
á h thứ ghi lại dữ liệu truy ập tr n nhiều tập tin log, mỗi tập tin log mới sẽ đ ợ tạo ra sau một hu kỳ nhất đ nh (ng y/tuần/tháng) hoặ khi dung l ợng tập tin v ợt quá một giới hạn ho tr ớ Ngo i ra nh quản
tr ũng ó th l a h n ghi lại to n bộ dữ liệu truy ập web l n một một tin log duy nhất v kí h th ớ tập tin n y sẽ gia tăng mãi
Vấn đề n y ó th đ ợ phát bi u một á h tổng quát nh sau: Giả sử tại thời đi m t1 ta ó s dữ liệu giao d h D v ta đã tiến h nh khai phá tr n s dữ liệu giao d h n y, thu đ ợ á tập phổ biến ũng nh á luật kết hợp t ng ứng ến thời đi m t2, phát sinh thêm một tập á giao d h l ∆D C s dữ liệu giao d h lú n y l D’ = D ∪
Trang 11∆D Câu hỏi đặt ra l đ khai phá s dữ liệu giao d h D’ ta ó ần
th hiện khai phá lại từ đầu với to n bộ dữ liệu ủa D’ hay hỉ ần khai phá tr n tập dữ liệu phát sinh ∆D v tận dụng kết quả khai phá thời
đi m t1? iều n y ó ý nghĩa rất lớn trong tr ờng hợp kích thước của
tập D lớn hơn nhiều so với ∆D Khi đó việ khai phá lại to n bộ D’ l
một s lãng phí v phần lớn á giao d h trong D’ đã đ ợ khai phá
tr ớ đó v ta ần phải tận dụng á kết quả khai phá n y Vấn đề đặt ra đây ũng sẽ đ ợ giải quyết một á h triệt đ trong h ng 3 d a tr n kết quả ủa việ áp dụng hiến l ợ Chia đ tr
Trang 12CHƯƠNG : TƯ TƯ NG CHIA Đ T
T NG KHAI PHÁ LUẬT KẾT HỢP
1 Áp dụng chiến lược Chia để trị trong bài toán khai phá luật kết hợp
Giả sử phải t m á tập phổ biến từ s dữ liệu giao d h D với
ng ỡng độ hỗ trợ (minsup) l p Ta ó th áp dụng hiến l ợ Chia đ
tr theo á h nh sau:
ước 1: Ta hia nhỏ D th nh m s dữ liệu on D1, D2, …, Dm Các
cơ sở dữ liệu con này là các tập con đôi một không giao nhau của D,
tứ l : D = D1 ∪ D2 …∪ Dm và Di ∩ Dj = ϕ với ∀i, j ∈ [1, m] v i ≠ j
ước 2: Lần l ợt áp dụng giải thuật khai phá luật kết hợp tr n á s
dữ liệu on D1, D2,…, Dm với cùng ngưỡng độ hỗ trợ là p ta thu đ ợ
á tập F1, F2,…, Fm l tập á tập phổ biến t ng ứng ủa D1, D2,…,
Dm Ta g i á tập phổ biến tr n một s dữ liệu on Dj l á tập phổ
biến ụ bộ (local frequent itemsets)
ước 3: Kết hợp á tập F1, F2,…, Fm đ thu đ ợ tập F l tập á tập phổ biến t ng ứng với s dữ liệu giao d h g D Cá tập phổ biến
tr n to n bộ s dữ liệu giao d h g D g i l á tập phổ biến to n
ụ (global frequent itemsets)
Một trong những điều kiện đ ó th áp dụng th nh ng hiến
l ợ Chia đ tr đó l ta phải kh ng đ nh đ ợ việ kết hợp nghiệm
ủa á b i toán on hắ hắn sẽ thu đ ợ nghiệm ủa b i toán ban đầu Cụ th l ta sẽ phải trả lời hai âu hỏi sau đây:
1 Việ kết hợp á tập F1, F2, …, Fm ó th kh i phụ lại đ ợ tập F hay không?
2 Nếu ó, thuật toán n o sẽ đ ợ sử dụng đ ây d ng lại tập F từ F1,
F2,…, Fm?
2 Cơ sở toán h c cho việc áp dụng chiến lược Chia để trị
Ký hiệu F* = F1 ∪ F2 … ∪ Fn Ta thấy r ng việ kh i phụ lại
đ ợ tập F từ á tập F1, F2,…, Fn hỉ ó th th hiện đ ợ nếu F ⊆ F*
B i v nếu F ⊆ F* ó nghĩa l F* bảo tồn đ ợ á tập phổ biến v n ó trong F Trong tr ờng hợp ng ợ lại, nếu F ⊈ F* th ó nghĩa l việ t m
á tập phổ biến ụ bộ tr n từng s dữ liệu on Dj sau đó kết hợp lại
đã l m mất đi một s tập phổ biến ban đầu đáng ra ó trong D (h nh 3.1) Chúng ta kh ng ó á h n o đ t m lại á tập phổ biến đã mất n y
Trang 13v lú n y hiến l ợ Chia đ tr kh ng th áp dụng th nh ng do việ kết hợp nghiệm ủa á b i toán on kh ng giúp ta ây d ng lại
đ ợ hính á nghiệm ủa b i toán ban đầu
Hình 3.1: Tương quan lực lượng giữa các tập phổ biến cục bộ và tập
phổ biến toàn cục
hứng minh F ⊆ F* ta sẽ hứng minh r ng m i phần tử ủa F ũng thuộ F* Mu n hứng minh m i phần tử ủa F ũng thuộ F* ta phải hứng minh r ng mỗi tập phổ biến Ii ∈ F ũng phải thuộ về ít nhất một trong s á tập F1,…, Fm Nói á h khá , ta phải hứng minh r ng nếu một tập mụ l tập phổ biến to n ụ ứng với CSDL giao d h D th
nó ũng l tập phổ biến ụ bộ ứng với ít nhất một đoạn CSDL on Dj
n o đó ủa D Tứ l : Nếu sup ( )D I i ≥ p th phải j ∈ [1, m] sao cho
sup ( )D j Ii ≥ p Trong đó: Ii l tập mụ , p l ng ỡng độ hỗ trợ (minsup),
sup ( )D Ii l độ hỗ trợ ủa Ii ứng với s dữ liệu giao d h D v
sup ( )D j Ii l độ hỗ trợ ủa Ii ứng với s dữ liệu giao d h on Dj
Ta sẽ hứng minh mệnh đề n y b ng ph ng pháp phản hứng: Giả sử nếu với sup ( )D Ii ≥ p, ∄j ∈ [1, m] sao cho sup ( )