II- Nhiệm vụ và nội dung: - Nghiên cứu các kỹ thuật khai thác các mẫu chuỗi dữ liệu phổ biến được truy cập dựa vào các hành vi sử dụng web của người dùng được ghi trong web log - Nghiên
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM
-
QUÁCH ĐẶNG HOÀNG MỸ
CẢI TIẾN THUẬT TOÁN CÂY PLWAP CHO KHAI
THÁC CHUỖI DỮ LIỆU LUẬN VĂN THẠC SĨ
Chuyên ngành : Công nghệ Thông tin
Mã số ngành : 60480201
TP HỒ CHÍ MINH, tháng 04 năm 2015
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM
-
QUÁCH ĐẶNG HOÀNG MỸ
CẢI TIẾN THUẬT TOÁN CÂY PLWAP CHO KHAI
THÁC CHUỖI DỮ LIỆU LUẬN VĂN THẠC SĨ
Chuyên ngành : Công nghệ Thông tin
Mã số ngành : 60480201
CÁN BỘ HƯỚNG DẪN KHOA HỌC: TS NGUYỄN THỊ THANH SANG
TP HỒ CHÍ MINH, tháng 04 năm 2015
Trang 3CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM
Cán bộ hướng dẫn khoa học :
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Luận văn Thạc sĩ được bảo vệ tại Trường Đại học Công nghệ TP HCM ngày 11 tháng 04 năm 2015
Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ Luận văn Thạc sĩ)
1 GS TSKH Hoàng Văn Kiếm Chủ tịch
5 TS Nguyễn Văn Mùi Ủy viên, Thư ký
Xác nhận của Chủ tịch Hội đồng đánh giá Luận sau khi Luận văn đã được sửa chữa (nếu có)
Chủ tịch Hội đồng đánh giá LV
Trang 4NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên:… … QUÁCH ĐẶNG HOÀNG MỸ Giới tính: … Nam
Ngày, tháng, năm sinh: 07/03/1989 Nơi sinh: Cà Mau…
Chuyên ngành: Công nghệ thông tin MSHV: …1341860012
I- Tên đề tài:
CẢI TIẾN THUẬT TOÁN CÂY PLWAP TRONG KHAI THÁC CHUỖI
DỮ LIỆU
II- Nhiệm vụ và nội dung:
- Nghiên cứu các kỹ thuật khai thác các mẫu chuỗi dữ liệu phổ biến được truy
cập dựa vào các hành vi sử dụng web của người dùng được ghi trong web log
- Nghiên cứu thuật toán khai thác cây PLWAP
- Nghiên cứu mô hình xác suất, cụ thể là mô hình Markov
- Áp dụng mô hình xác suất Markov lên thuật toán khai thác cây PLWAP
III- Ngày giao nhiệm vụ: 08-08-2014
IV- Ngày hoàn thành nhiệm vụ: 11-04-2015
V- Cán bộ hướng dẫn: (Ghi rõ học hàm, học vị, họ, tên)
1 TS NGUYỄN THỊ THANH SANG
Trang 5LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác
Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này
đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc
Học viên thực hiện luận văn
(Ký và ghi rõ họ tên)
Trang 6LỜI CÁM ƠN
Lời cảm ơn chân thành chúng tôi xin gởi đến Ban Giám Hiệu, toàn thể cán bộ nhân viên, giảng viên trường Đại Học HUTECH, Ban lãnh đạo Phòng Quản Lý Khoa Học và Đào Tạo Sau Đại Học, khoa Công Nghệ Thông Tin đã tạo điều kiện thuận lợi cho chúng tôi học tập và nghiên cứu trong suốt học trình cao học
Chúng tôi xin chân thành tri ân đến các thầy cô đã trực tiếp động viên, hướng dẫn chúng tôi trong suốt học trình: PGS.TS Lê Hoài Bắc, PGS.TS Nguyễn Xuân Huy, TS Nguyễn An Khương, TS Nguyễn Chánh Thành, TS Nguyễn Thị Thanh Sang, TS Tân Hạnh, TS Nguyễn Đình Thuân, TS Lê Mạnh Hải, TS Nguyễn Tuấn Đăng, TS Lư Nhật Vinh, TS Võ Đình Bảy, TS Cao Tùng Anh, TS Nguyễn Văn Mùi, GS TSKH Hoàng Văn Kiếm
Với lòng tri ân sâu sắc, chúng tôi muốn nói lời cảm ơn chân thành đến cô TS Nguyễn Thị Thanh Sang đã rất tận tụy và nghiêm túc hướng dẫn chúng tôi trong quá trình thực hiện nghiên cứu này
Chúng tôi cũng xin chân thành cảm ơn Ban lãnh đạo Phòng Quản Trị, Phòng Tổ Chức Hành Chính, Phòng Tài Chính, Trung Tâm Thư Viện cùng đồng nghiệp của trường HUTECH đã tạo điều kiện, cho phép, động viên và giúp đỡ chúng tôi trong suốt học trình cao học và thực hiện nghiên cứu này
Cuối cùng nhưng cũng là một yếu tố quan trọng giúp chúng tôi hoàn thành nghiên cứu này, đó là gia đình Chúng tôi muốn nói lời tri ân chân thành đến cha mẹ, anh chị em chúng tôi đã động viên và chia sẻ mọi hoàn cảnh với chúng tôi trong suốt học trình này
Quách Đặng Hoàng Mỹ
Trang 7TÓM TẮT
Hệ thống đề xuất web là hệ thống đề xuất những thông tin hữu ích qua việc khai thác sử dụng web từ thông tin lịch sử truy cập web của người dùng lưu trong tập tin web log của máy chủ
Hiện nay, trên thế giới, nhiều website thương mại điện tử đã ứng dụng hệ thống này vào website của mình để đề xuất thông tin cho người dùng dựa trên lịch sử tương tác của người đó và những người khác với hệ thống nhằm giảm thiểu thời gian trực tuyến của người dùng, giúp người dùng định hướng tốt hơn trên website mình Tuy nhiên, lượng thông tin được đề xuất từ tập hợp các chuỗi phổ biến lại quá nhiều, mặc
dù dữ liệu trong web log đã được tiền xử lý và khai thác bởi một số thuật toán, điển hình là thuật toán khai thác cây PLWAP
Chính vì vậy, việc nghiên cứu cải thiện thuật toán khai thác cây PLWAP, cải tiến về thời gian, độ chính xác dự đoán cao từ mẫu chuỗi phổ biến được khai thác từ web log
Từ đây, tôi quyết định chọn đề tài nghiên cứu “Cải tiến thuật toán cây PLWAP
trong khai thác chuỗi dữ liệu”
Các yêu cầu cần thực hiện trong đề tài nghiên cứu này là:
- Nghiên cứu thuật toán cây PLWAP trong khai thác chuỗi dữ liệu
- Nghiên cứu mô hình Markov
- Nghiên cứu và ứng dụng mô hình chuỗi Markov vào thuật toán cây PLWAP cho việc đề xuất web
- Nhận xét, đánh giá về thuật toán cây PLWAP trước và sau khi áp dụng mô hình Markov vào, dựa vào kết quả đã thực nghiệm trên bộ dữ liệu cụ thể
Trang 8ABSTRACT
The web recommendation system is a system proposed useful information through the use of web mining that the users web access history information file stored
on the server's web log
Nowadays, in the world, many website commercial have already applied this system into their website to proposed with information for user based on that user’s interactive history and the others with system to reduce user online time, help user has
a good orientation on their website However, amount of information has recommended from set of frequent sequence that is so much, although data in web log that has pre-processed and mining by some algorithm, typically is mining PLWAP-tree algorithm
Therefore, the research improves algorithm mining PLWAP-tree, improve about time, recommendation information object to predict has a height precision from frequent sequence pattern that is mining from web log
Hence, I decided to choose a topic of research “Improve algorithm PLWAP-tree
in mining data sequences”
These request need do in this research topic:
- Research algorithm PLWAP-tree in mining data sequences
- Research Markov model
- Research and apply Markov model to algorithm PLWAP-tree in order to improve the performance of Web recommendation
- Comment, evaluation for algorithm PLWAP-tree before and after applied Markov, based on result experimented on specific dataset
Trang 9MỤC LỤC
DANH MỤC CÁC THUẬT NGỮ VÀ CÁC CHỮ VIẾT TẮT vii
DANH MỤC CÁC HÌNH viii
DANH MỤC CÁC BẢNG x
CHƯƠNG 1 GIỚI THIỆU 1
1.1 Phát biểu vấn đề 1
1.2 Định hướng nghiên cứu 2
1.3 Tổng quan về tình hình nghiên cứu 2
1.3.1 Tổng quan về hệ thống đề xuất web 2
1.3.2 Tổng quan về khai thác chuỗi dữ liệu 5
1.3.3 Tổng quan về lĩnh vực nghiên cứu 7
1.4 Tổ chức của luận văn 8
CHƯƠNG 2 CÁC THUẬT TOÁN KHAI THÁC CHUỖI DỮ LIỆU 9
2.1 Tổng quan về các thuật toán khai thác chuỗi dữ liệu 9
2.2 Thuật toán khai thác cây WAP và cây PLWAP trong khai thác chuỗi dữ liệu 17
2.2.1 Khai thác WAS từ web log 17
2.2.2 Thuật toán khai thác cây WAP 19
2.2.3 Thuật toán khai thác cây PLWAP 25
CHƯƠNG 3 CẢI TIẾN THUẬT TOÁN KHAI THÁC CÂY PLWAP TRONG KHAI THÁC CHUỖI DỮ LIỆU 40
3.1 Mô hình Markov 40
3.2 Cải tiến thuật toán cây PLWAP trong khai thác chuỗi dữ liệu 42
3.3 Luật đề xuất 48
CHƯƠNG 4 THỰC NGHIỆM VÀ ĐÁNH GIÁ 50
4.1 Thực nghiệm 50
4.2 Đánh giá giải thuật PLWAP và PLWAP–Markov 50
4.3 Kết quả thực nghiệm 54
Trang 10CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 59
5.1 Kết luận 59
5.2 Hướng phát triển 60
TÀI LIỆU THAM KHẢO 61
Trang 11DANH MỤC CÁC THUẬT NGỮ VÀ CÁC CHỮ VIẾT TẮT
Thuật ngữ,
chữ viết tắt
Graph Traversal Đồ thị giao nhau
FWAP Frequent Web Access
Pattern
Mẫu truy cập web phổ biến
GSP Generatized Sequential
Patterns
Mẫu tuần tự tổng quát
PLWAP-tree Pre-Order Linked WAP-tree Cây WAP liên kết thứ tự trước PLWAP-Mine Pre-Order Linked WAP
mining algorithm
Thuật toán khai thác mẫu truy cập web liên kết thứ tự trước PSP Prefix-Tree Sequential
Patterns
Mẫu tuần tự cho cây tiền tố
WAS Web Access Sequences Chuỗi truy cập web
WASD Web Access Sequences
WAP-tree Web Access Pattern - tree Cây mẫu truy cập web
WCM Web Content Mining Khai thác nội dung web
WSM Web Structure Mining Khai thác cấu trúc web
WRS Web Recommender System Hệ thống đề xuất web
Trang 12DANH MỤC CÁC HÌNH
Hình 1.1 - Hệ thống đề xuất web 3
Hình 2.1 - Thế hệ của tập phổ biến ứng cử viên và tập phổ biến với hỗ trợ cực tiểu là 2 [9] 11
Hình 2.2 - Cây FP ghi nén, thông tin mẫu phổ biến [9] 14
Hình 2.3 - Cây FP điều kiện liên kết với nút điều kiện I3 [9] 15
Hình 2.4 - Xây dựng cây WAP ban đầu [3] 22
Hình 2.5 - Xây dựng lại cây WAP cho khai thác mẫu có điều kiện dựa trên c [3] 23
Hình 2.6 - Ấn định mã nhị phân với các nút vị trí trong cây nhị phân [3] 26
Hình 2.7 - Xây dựng cây PLWAP sử dụng giao nhau thứ tự trước [3] 30
Hình 2.8 - Khai thác cây PLWAP để tìm ra chuỗi phổ biến bắt đầu với a [3] 35
Hình 2.9 - Khai thác cây PLWAP để tìm ra chuỗi phổ biến bắt đầu với ab hoặc ac [3] 37
Hình 2.10 - Khai thác cây PLWAP để tìm ra chuỗi phổ biến bắt đầu với b hoặc c [3] 39
Hình 3.1 - Mô hình chuỗi Markov 41
Hình 3.2 - Xây dựng đồ thị liên kết cho các trang 43
Hình 3.3 - Xác suất từ trang i đến trang j 44
Hình 3.4 - Ma trận truyền 45
Hình 4.1 - Thời gian thực thi của giải thuật PLWAP và PLWAP-Markov trên hai bộ dữ liệu Cezeife và NASA 55
Trang 13Hình 4.2 - Precision và satisfactory đo được từ hai giải thuật PLWAP và Markov trên bộ dữ liệu Cezeife 57 Hình 4.3 - Precision và satisfactory đo được từ hai giải thuật PLWAP và PLWAP-Markov trên bộ dữ liệu NASA 58
Trang 14PLWAP-DANH MỤC CÁC BẢNG
Bảng 2.1 - Danh sách các tập giao dịch của người dùng truy cập web [9] 10
Bảng 2.2 - Khai thác cây FP bằng cách tạo ra cơ sở mẫu điều kiện [9] 15
Bảng 2.3 - Danh sách dữ liệu chuỗi truy cập web [3] 18
Bảng 2.4 - Danh sách dữ liệu chuỗi truy cập web cho cây WAP [3] 20
Bảng 2.5 – Thuật toán cây PLWAP [3] 30
Bảng 2.6 - Thuật toán xây dựng cây PLWAP [3] 31
Bảng 2.7 - Thuật toán khai thác cây PLWAP [3] 32
Bảng 3.1 - Thuật toán sinh luật cho cây PLWAP-Markov 49
Bảng 4.1 - Thông tin bộ dữ liệu Cezeife và NASA 50
Bảng 4.2 - Thuật toán sinh luật cho cây PLWAP [16] 51
Bảng 4.3 - Thuật toán tính toán độ chính xác cho cây PLWAP [16] 52
Bảng 4.4 - Thuật toán tính toán độ chính xác cho cây PLWAP-Markov 53
Trang 15CHƯƠNG 1: GIỚI THIỆU
1.1 Phát biểu vấn đề
Hệ thống đề xuất web (WRS) là một hệ thống thông minh, đề xuất thông tin cho người sử dụng web dựa trên lịch sử tương tác của người đó và những người khác với hệ thống nhằm tăng tính tin cậy và thu hút nhiều người sử dụng web Hệ thống đề xuất web được áp dụng trong nhiều lĩnh vực, ví dụ các trang web thương mại điện tử, nhằm giúp đề xuất các sản phẩm đang được quan tâm nhiều nhất cho khách hàng, tạo
sự tiện lợi cho khách hàng tìm kiếm sản phẩm và tăng doanh số bán ra
Đồng thời, sự gia tăng nhanh chóng lượng dữ liệu web và những kỹ thuật khai thác dữ liệu phát triển gần đây đã dẫn đến sự quan tâm ngày càng cao trong các phương pháp để khám phá dữ liệu sử dụng web
Trong bối cảnh đó, việc khai thác sử dụng web có thể được sử dụng để khám phá mẫu sử dụng web để hỗ trợ người dùng thực hiện quyết định tốt hơn bằng cách gợi ý một cách hiệu quả hơn về tổ chức các trang web cho ứng dụng dựa trên web
Đối với một công ty thương mại điện tử, việc khai thác sử dụng web có thể được áp dụng để tìm ra những khách hàng tiềm năng trong tương lai, những người này có thể sẽ tạo ra một số lượng lớn mua hàng, hoặc để dự đoán các giao dịch thương mại điện tử dựa trên quan sát của du khách trước đó
Từ đây, việc lựa chọn một thuật toán khai thác hiệu quả đóng một vai trò quan trọng trong việc đề xuất thông tin cho người sử dụng trực tuyến Các thuật toán khai thác tuần tự giống như Apriori sẽ tạo ra bộ các mẫu ứng cử viên rất lớn, đặc biệt là khi các mẫu còn rất dài, còn thuật toán khai thác cây WAP có nhược điểm là đệ quy xây dựng lại cây WAP trung gian trong khai thác, tốn thời gian Trong khi đó, thuật toán khai thác cây PLWAP thì các lưu trữ dữ liệu chuỗi trong một cây WAP liên kết
Trang 16thứ tự trước, mỗi nút của cây này có một vị trí mã nhị phân chỉ định cho trực tiếp khai thác các mẫu chuỗi mà không cần xây dựng cây WAP trung gian Tuy nhiên, thuật toán khai thác cây PLWAP vẫn còn một số hạn chế như sau:
- Về bộ nhớ máy tính: tốn nhiều bộ nhớ để lưu cấu trúc cây
- Về tốc độ, thời gian chạy: mất nhiều thời gian sinh tạo các mẫu truy cập Web phổ biến nếu số lượng phần tử và các chuỗi nhập quá lớn
- Về mặt ngữ nghĩa: vì hệ thống đề xuất chưa hiểu được sự kiện, đối tượng là gì (nó
là sách, video,…) nên nếu hiểu được đối tượng, sự kiện là gì, thì hệ thống sẽ đề xuất những thông tin đem lại hiệu quả cao hơn
- Về thông tin đề xuất: có nhiều đối tượng / thông tin được đề xuất cho người dùng
mà chưa được phân loại hay sắp xếp kết quả
1.2 Định hướng nghiên cứu
Kết quả cuối cùng của thuật toán khai thác cây PLWAP mang lại là tập hợp tất
cả các chuỗi phổ biến để đề xuất cho người dùng, vấn đề là khi đề xuất thông tin thì
có lại nhiều chuỗi phổ biến được đề xuất
Vì vậy, việc xây dựng đề tài nghiên cứu, cải tiến thuật toán khai thác cây PLWAP trong việc khai thác chuỗi dữ liệu, cụ thể là nghiên cứu, cải tiến về thời gian,
về độ chính xác từ mẫu chuỗi phổ biến được khai thác từ web log Cải tiến này sẽ giúp cho giải thuật đề xuất những đối tượng / thông tin hiệu quả hơn, thời gian đề xuất nhanh hơn cũng như giúp cho người dùng hay khách hàng ở các trang thương mại điện tử có những quyết định tốt hơn
1.3 Tổng quan về tình hình nghiên cứu
1.3.1 Tổng quan về hệ thống đề xuất web
Ngày nay, dựa vào mạng Internet mà nhiều loại hình kinh doanh trực tuyến được hình thành Với hình thức kinh doanh này, người tiêu dùng có thể tiếp cận với
Trang 17hàng hóa một cách dễ dàng và nhanh chóng so với các hình thức mua bán hàng truyền thống Với những thế mạnh của mình, những trang web bán hàng sẽ dần thay thế các gian hàng hay các siêu thị truyền thống Để khách hàng có thể tìm mua được những món hàng ưng ý thì việc đề xuất, gợi ý rất là quan trọng Đối với phương thức bán hàng truyền thống thì người bán hàng tư vấn trực tiếp là một lợi thế Vì thế, để hình thức mua bán qua mạng thực sự phát triển thì bên cạnh các lợi thế vốn có của mình việc có thêm một “người đề xuất, gợi ý” là rất cần thiết Trên thực tế, hệ thống tư vấn thực chất là quá trình hỗ trợ khách hàng đưa ra quyết định của mình trong việc chọn lựa sản phẩm Nó đóng vai trò giống như một người bán hàng có khả năng thu thập thông tin về sở thích của khách hàng thông qua việc truy cập web, sau đó tìm trong kho hàng của mình những mặt hàng thích hợp nhất với sở thích đó Và cũng từ đây,
hệ thống tự đề xuất dần dần được hình thành và phát triển Một hệ thống đề xuất tốt
có thể đóng vai trò như người trung gian giúp khách hàng đưa ra quyết định tốt hơn khi chọn hàng Cơ cấu làm việc của hệ thống đề xuất là dựa trên lịch sử tương tác của người dùng đó và những người khác với hệ thống để tìm ra chuỗi truy cập web, sau
đó nó được khai thác và xử lý để tìm ra những chuỗi truy cập phổ biến để đề xuất cho người dùng Chuỗi truy cập web thường được khai thác và xử lý bởi một trong số thuật toán khai thác
Trang 18Qui trình của hệ thống đề xuất web [1] như sau:
- Web log: được lấy từ server, mỗi dòng dữ liệu trong web log có định dạng sau:
host/ip user [date:time] “request url” status bytes [30/Aug/2001:12:03:24-0500] “GET/jdk1.3/docs/relnotes/deprecatedlist.html HTTP/1.0” 200 2781
137.207.76.120-Thông tin này ghi nhận từ trái sang phải, địa chỉ ip máy chủ của máy tính truy cập vào trang web (137.207.76.120), số nhận dạng người dùng (-), thời gian truy cập (12:03:24 ngày 30 tháng 8 năm 2001 múi giờ quốc tế 5), yêu cầu (GET/jdk1.3/docs/relnotes/deprecatedlist.html), khu tài liệu tham khảo thống nhất (url) của trang web được truy cập (HTTP/1.0), trạng thái yêu cầu (có thể chuỗi
200 cho thành công, chuỗi 300 cho chuyển hướng, chuỗi 400 cho thất bại, chuỗi
500 cho lỗi máy chủ), số lượng byte dữ liệu được yêu cầu (2781)
Để sử dụng được web log này cho việc nghiên cứu, thì nó phải qua bước tiền xử
lý, tức pre-processing
- Pre-processing: bao gồm chuyển đổi việc sử dụng, nội dung và cấu trúc thông tin trong nhiều nguồn dữ liệu có sẵn vào trừu tượng hóa dữ liệu cần thiết cho phát hiện mẫu Quá trình tiền xử lý dữ liệu như làm sạch dữ liệu, nhận dạng người dùng
và xác định phiên có thể được xác định trên dữ liệu log và các web log ban đầu được chuyển tới người dùng truy cập bộ dữ liệu cho phiên phát hiện mẫu hơn nữa
Trang 19- Data mining: quá trình khai thác dữ liệu từ chuỗi truy cập web bằng các sử dụng các phương pháp, kỹ thuật, các thuật toán khai thác dữ liệu như cây WAP, cây PLWAP, …
- FWAP: mẫu truy cập web phổ biến có được sau khi khai thác dữ liệu
- Web recommendation: cuối cùng, những mẫu phổ biến này được dùng để đề xuất,
dự đoán đối tượng thông tin sẽ xuất hiện tiếp theo cho người dùng
1.3.2 Tổng quan về khai thác chuỗi dữ liệu
Hiện nay, với sự gia tăng nhanh chóng trong việc sử dụng các trang web trên toàn thế giới cho các doanh nghiệp thương mại điện tử, dịch vụ web… thì khai thác web là một trong những lĩnh vực ứng dụng phổ biến nhất
Bên cạnh đó, việc khai thác web cũng được phân thành ba loại: khai thác nội dung trang web (WCM), khai thác cấu trúc web (WSM) và khai thác sử dụng web (WUM) [2]
Khai thác nội dung trang web yêu cầu việc tìm ra các thông tin hữu ích từ các
dữ liệu thật trên trang web, chẳng hạn như dữ liệu mà trang web được thiết kế
để truyền đạt cho người sử dụng Nó thường bao gồm một số loại dữ liệu như văn bản, hình ảnh, âm thanh, video, siêu dữ liệu, cũng như siêu liên kết Dữ liệu nội dung trang web bao gồm văn bản tự do, dữ liệu bán cấu trúc như các tài liệu HTML và dữ liệu có cấu trúc giống như dữ liệu trong bảng, cũng như
cơ sở dữ liệu tạo ra các trang HTML và XML
Khai thác cấu trúc web tìm ra các mẫu cấu trúc liên kết cơ bản của trang web
Mẫu này dựa trên cấu trúc liên kết của các liên kết có hoặc không có mô tả của các liên kết Nó có thể được sử dụng để phân loại các trang web và rất hữu ích cho việc tạo ra các thông tin giống nhau và mối quan hệ khác nhau giữa các trang web Khai thác cấu trúc web có thể được quyền tìm ra các trang web, đó
Trang 20là các tổ chức trang web cho các chủ đề đặc biệt và có nhiều liên kết đến các trang web khác có liên quan dựa trên chủ đề này
Khai thác sử dụng web là khai thác web log, nơi mà các chuỗi của truy cập
trang web được thực hiện bởi người sử dụng trang web khác nhau trong một khoảng thời gian, được ghi nhận thông qua một máy chủ Khai thác sử dụng web nghĩa là dữ liệu được tạo ra bằng cách quan sát phiên duyệt web hoặc hành vi truy cập của người dùng Khai thác sử dụng web, tìm thấy mối quan
hệ khác nhau giữa người sử dụng truy cập Ví dụ, nó có thể được phát hiện ra rằng: 90% số khách hàng truy cập trang web với URL/sản phẩm/product.html, cũng truy cập trang /contact /contact.html Thông tin này tiết lộ rằng hai trang này là liên quan chặt chẽ và có thể được tổ chức lại với nhau để cung cấp người
sử dụng với một lộ trình duyệt dễ dàng hơn Tất cả hành vi người sử dụng trên mỗi máy chủ web có thể được chiết xuất từ web log Kỹ thuật khai thác sử dụng web giải quyết vấn đề phát hiện hành vi sử dụng web của người dùng từ các hoạt động truy cập web của họ Sử dụng dữ liệu web là có tính chất tuần
tự, tức là, mỗi phần dữ liệu là một danh sách thứ tự / chuỗi các trang web truy cập Các kỹ thuật khai thác sử dụng web bao gồm khai thác mẫu chuỗi, khai thác luật kết hợp…
Khai thác luật kết hợp là một kỹ thuật khai thác dữ liệu tìm ra các kết hợp mạnh hay mối quan hệ tương quan giữa các dữ liệu Cho một tập hợp các giao dịch (tương
tự như bản ghi cơ sở dữ liệu), trong đó mỗi giao dịch bao gồm các phần tử, luật kết hợp X → Y, trong đó X và Y là tập hợp các phần tử và X ∩ Y = ∅ Độ hỗ trợ của luật này được định nghĩa là tỷ lệ phần trăm của các giao dịch có chứa các bộ X ∪ Y, trong khi độ tin cậy của nó là tỷ lệ phần trăm của các giao dịch “X” cũng chứa các phần tử trong “Y” Trong khai thác luật kết hợp, tất cả các phần tử với độ hỗ trợ cao hơn hỗ trợ cực tiểu quy định được gọi là tập phổ biến Một tập phổ biến X được gọi là i-tập
Trang 21phổ biến nếu nó có chứa i các phần tử Kể từ khi tìm ra tất cả các luật như vậy có thể giúp thị trường bán hàng, phân tích bán hàng chéo, ra quyết định, và quản lý kinh doanh Tuy nhiên, thuật toán này chủ yếu tập trung vào làm thế nào để tạo ra hiệu quả mẫu phổ biến từ một danh sách các phần tử không theo thứ tự
Khai thác tuần tự là quá trình áp dụng các kỹ thuật khai thác dữ liệu vào một
cơ sở dữ liệu chuỗi cho mục đích tìm ra các mối quan hệ tương quan tồn tại trong một danh sách thứ tự của các đối tượng, sự kiện Cụ thể hơn, ví dụ về một mẫu chuỗi: trong một cửa hàng cho thuê video, 80% khách hàng thường thuê “Sinbad” sau đó
“Hecules” và sau đó “Harry Potter” Độ hỗ trợ và độ tin cậy được sử dụng trong khai thác luật kết hợp để quyết định tập phổ biến, vẫn được sử dụng trong khai thác mẫu chuỗi để xác định chuỗi phổ biến và các luật mà có thể được tạo ra từ chúng
1.3.3 Tổng quan về lĩnh vực nghiên cứu
Trên thế giới, có rất nhiều doanh nghiệp sử dụng hệ thống đề xuất web cho các website thương mại điện tử của mình Nhưng đối tượng, thông tin đề xuất quá nhiều, đạt hiệu quả chưa cao mặc dù nó là một trong những trang web thương mại điện tử
có tiếng được nhiều người biết đến
Trong nước, việc sử dụng hệ thống đề xuất cho các trang web thương mại điện
tử là rất ít gặp Đa số các doanh nghiệp sử dụng hệ thống này để đặt quảng cáo dựa trên sự tương tác của người dùng Một số website điển hình là lazada.vn, hotdeal.vn, sendo.vn,…
Do đó, việc khai thác chuỗi truy cập web đóng vai trò quan trọng trong việc khai thác hành vi sử dụng web nhằm hỗ trợ người dùng tìm kiếm thông tin nhanh hơn
và cải thiện trang web thương mại tốt hơn
Phương pháp khai thác chuỗi truy cập web như khai thác tuần tự [3]bằng cách
sử dụng ý tưởng chính của khai thác luật kết hợp Agrawal và Srikant đề xuất thuật
Trang 22toán AprioriAll để xử lý vấn đề khai thác tuần tự Năm 2000, Pei et al đề xuất một thuật toán sử dụng cây WAP Năm 2005, Ezeife và Lu [3] đề xuất thuật toán khai thác cây PLWAP Năm 2006, Nguyễn T.T.S đã ứng dụng mô hình Markov vào cây PLWAP để giúp cho người thiết kế web có thể thiết kế, xây dựng lại cấu trúc website sao cho phù hợp với nhu cầu thực tế sử dụng web của người dùng [5] Năm 2009, thuật toán cây PLWAP được cải tiến thành PLWAPLong [6] để khai thác chuỗi phổ biến dài trong các cơ sở dữ liệu lớn Năm 2011, R Vishnu Priya, A Vadivel đề xuất cải tiến cây PLWAP với mục không phổ biến trong khai thác mẫu tuần tự [7] Năm
2014, Pooja cải tiến PLWAP về cập nhật dữ liệu chuỗi phổ biến khi dữ liệu web log gia tăng [8] Mặc dù PLWAP đã đề xuất năm 2015, nhưng đó là giải thuật tốt nên đến nay người ta vẫn không ngừng nghiêng cứu và cải tiến Bên cạnh đó, mô hình Markov cũng được đề xuất từ lâu nhưng đây cũng là một mô hình xác suất hiệu quả nên người
ta thường kết hợp mô hình Markov với một số thuật toán khai thác dữ liệu Từ đây, tôi quyết định chọn cây PLWAP và mô hình Markov làm đề tài nghiên cứu
1.4 Tổ chức của luận văn
Từ cuộc khảo sát trên, luận văn này sẽ tập trung nghiên cứu cải tiến thuật toán khai thác cây PLWAP Trong luận văn này, bố cục sẽ được chia như sau:
Chương 2 trình bày về kỹ thuật khai thác chuỗi dữ liệu và các thuật toán khai thác chuỗi dữ liệu như WAP-Mine, PLWAP-Mine,…
Chương 3 trình bày cải tiến thuật toán cây PLWAP trong khai thác chuỗi dữ liệu bao gồm tổng quan về mô hình Markov, xác suất chuỗi phổ biến trên cây PLWAP, cải tiến tiến thuật toán PLWAP-Mine dựa trên mô hình Markov
Chương 4 trình bày thực nghiệm và đánh giá thuật toán khai thác cây PLWAP đã cải tiến và chưa cải tiến
Chương 5 trình bày kết luận và hướng phát triển tiếp theo của luận văn
Trang 23CHƯƠNG 2: CÁC THUẬT TOÁN KHAI THÁC CHUỖI DỮ LIỆU
2.1 Tổng quan về các thuật toán khai thác chuỗi dữ liệu
Kỹ thuật khai thác sử dụng web giải quyết vấn đề phát hiện hành vi sử dụng web của người dùng từ các hoạt động truy cập web của họ Sử dụng dữ liệu web có tính chất tuần tự, tức là mỗi phần dữ liệu là một danh sách thứ tự hay chuỗi các trang web truy cập Chuỗi phổ biến là chuỗi các trang truy cập có số lần xuất hiện lớn hơn
hỗ trợ cực tiểu được thiết lập trước Các kỹ thuật khai thác sử dụng web chính là kỹ thuật khai thác mẫu chuỗi
Thuật toán khai thác mẫu chuỗi gồm một số phương pháp như: AprioriAll, mẫu tăng trưởng và cách tiếp cận dựa cây WAP
AprioriAll [4] là phương pháp dựa theo Ariori dùng để khai thác mẫu dạng chuỗi Thuật toán quét cơ sở dữ liệu nhiều lần để tìm thấy tập phổ biến có kích thước
k tại mỗi k lần lặp (bắt đầu từ k = 2) Đầu tiên, bộ 1-tập phổ biến được tìm thấy bằng cách quét cơ sở dữ liệu để thu thập các số lượng cho mỗi mục và thu thập những mục thỏa ngưỡng hỗ trợ tối thiểu Bộ kết quả ký hiệu là L1 Kế tiếp L1 được sử dụng để tìm L2, tức là bộ 2-tập phổ biến, và tiếp tục được sử dụng để tìm L3,… cho đến khi không còn k-tập phổ biến nào Để cải tiến việc quét cơ sở dữ liệu nhiều lần, một thuộc
tính quan trọng được gọi là Apriori property được sử dụng để giảm không gian tìm kiếm Theo định nghĩa của Apriori property , nếu một tập phổ biến I không thỏa mãn
ngưỡng hỗ trợ cực tiểu min_sup, thì I sẽ không phổ biến P(I) < min_sup Nếu mục A
được thêm vào tập phổ biến I, thì kết quả là tập phổ biến (ví dụ I U A) không thể xuất hiện phổ biến hơn I Vì vậy, I U A không phổ biến, tức P(I U A) < min_sup Cụ thể
hơn xét ví dụ sau, dựa vào bảng cơ sở dữ liệu tập giao dịch “All Electronics”, có 9 tập giao dịch trong cơ sở dữ liệu |D|=9
Trang 24Bảng 2.1 - Danh sách các tập giao dịch của người dùng truy cập web [9]
TID Danh sách mục_IDs T100 I1, I2, I5
T200 I2, I4 T300 I2, I3 T400 I1, I2, I4 T500 I1, I3 T600 I2, I3 T700 I1, I3 T800 I1, I2, I3, I5 T900 I1, I2, I3
Trang 25Hình 2.1 - Thế hệ của tập phổ biến ứng cử viên và tập phổ biến với hỗ trợ cực
tiểu là 2 [9]
Trang 26Đầu tiên, thuật toán duyệt vòng lặp đầu tiên, mỗi mục là thành viên của bộ ứng
cử viên 1-tập phổ biến là C1 Thuật toán quét tất cả các tập giao dịch để đếm số lần xuất hiện của mỗi mục Giả sử độ hỗ trợ cực tiểu yêu cầu là 2 tức min_sup=2, bộ 1-tập phổ biến, L1 được chọn, nó bao gồm những ứng cử viên 1-tập phổ biến thỏa hỗ trợ cực tiểu Trong ví dụ này, tất cả ứng cử viên trong C1 thỏa hỗ trợ cực tiểu Thuật toán tiếp tục cho đến khi không còn k-tập phổ biến nào nữa
Thuật toán GSP đề xuất bởi Srikant và Agrawal đề xuất vào năm 1996 GSP
áp dụng quét nhiều ứng cử viên, tạo ra và thử nghiệm cho việc tìm kiếm mẫu chuỗi Cho mỗi cấp độ (tức là chuỗi dài k), nó quét cơ sở dữ liệu để thu thập độ hỗ trợ cho mỗi ứng cử viên và sau đó tạo ra chuỗi có chiều dài (k +1) từ chiều dài k chuỗi phổ biến khi sử dụng Apriori Quá trình này lặp đi lặp lại cho đến khi không có chuỗi phổ biến hoặc không có ứng cử viên có thể được tìm thấy Kết quả thực nghiệm đã chỉ ra rằng GSP là nhanh hơn và hiệu quả khi chuỗi này là không quá dài và cơ sở dữ liệu không quá lớn
Các phương pháp mẫu tăng trưởng như một giải pháp cho vấn đề tạo ra và thử nghiệm trong những năm 2000 Ý tưởng chính của phương pháp này là để tránh tạo
ra các chuỗi ứng cử viên và chỉ tìm kiếm một phần hạn chế của cơ sở dữ liệu ban đầu [10] Các thuật toán mẫu tăng trưởng hướng tới xây dựng một đại diện của cơ sở dữ liệu, sau đó để phân vùng không gian tìm kiếm một cách đặc biệt, và tạo ra càng ít chuỗi ứng cử viên càng tốt bằng cách phát triển trên các chuỗi phổ biến đã được khai thác và áp dụng các thuộc tính Apriori để tìm kiếm cho các chuỗi phổ biến Các thuật toán mẫu tăng trưởng điển hình là FreeSpan (Han et al 2000) và PrefixSpan [18], xây dựng cơ sở dữ liệu dự kiến là những bộ sưu tập của các hậu tố của chuỗi trong cơ sở
dữ liệu ban đầu đối với các tiền tố hiện tại với mẫu chuỗi [10] Cơ sở dữ liệu dự kiến cho phép giảm không gian tìm kiếm tại mỗi bước đệ quy trong việc xây dựng mẫu
So với FreeSpan, PrefixSpan là hiệu quả hơn bởi vì các cơ sở dữ liệu dự kiến co lại
Trang 27khi tiền tố phát triển Hơn nữa, PrefixSpan không tạo ra bất kỳ ứng cử viên, và chỉ đếm tần số của các đối tượng
Thuật toán tăng trưởng FP [9] tìm kiếm mục phổ biến mà không cần tạo ra ứng
cử viên Nó giữ lại tập phổ biến có thông tin phù hợp, sau đó lấy dữ liệu nén vào bộ các dữ liệu điều kiện, mỗi liên kết với mục phổ biến hoặc “đoạn mẫu” và khai thác mỗi cơ sở dữ liệu riêng biệt Cách tiếp cận này có thể giảm đáng kể kích thước bộ dữ liệu được tìm kiếm, cùng với các mẫu “tăng trưởng” được xem xét Ví dụ như xem lại cơ sở dữ liệu giao dịch D ở Bảng 2.1, FP sẽ quét cơ sở dữ liệu lần đầu, lấy được
bộ các mục phổ biến (1-tập phổ biến) và độ hỗ trợ Cho hỗ trợ cực tiểu là 2 Bộ các mục phổ biến được sắp xếp thứ tự giảm dần Kết quả bộ hoặc danh sách được kí hiệu bởi L Ta có L={{I2:7}, {I1:6}, {I3:6}, {I4:2}, {I5:2}} Cây FP được xây dựng Đầu tiên, tạo ra nút gốc của cây, nhãn là “null” Quét dữ cơ sở dữ liệu D lần 2 Các mục trong mỗi giao dịch được xử lý trong thứ tự L và nhánh được tạo ra cho mỗi giao dịch
Cụ thể, quét tập giao dịch đầu tiên “T100: I1, I2, I5” chứa 3 mục (I1, I2, I5 trong thứ
tự L) dẫn đến xây dựng nhánh đầu tiên của cây với 3 nút <I2:1>, <I1:1> và <I5:1> , nơi mà I2 được liên kết như nút con của nút gốc, I1 được liên kết tới I2, và I5 được liên kết tới I1.Tiếp theo giao dịch thứ 2, T200, chứa các mục I2 và I4 trong L thứ tự, lúc này trong nhánh I2 được liên kết tới gốc và I4 được liên kết tới I2 Tuy nhiên, nhánh này có thể chia sẻ tiền tố chung I2, với đường dẫn tồn tại là T100 Do đó, ta thay thế, gia tăng số lượng của nút I2 lên 1 và tạo ra nút mới, <I4:1>, liên kết như nút con tới <I2:2> Khi xem xét nhánh được thêm cho một giao dịch, số lượng của mỗi nút dọc theo tiền tố chung được tăng lên 1, và các nút cho các mục theo tiền tố được tạo ra và liên kết theo đó
Để thuận tiện cho sự giao nhau trên cây, bảng tiêu đề các mục được xây dựng
để mỗi mục trỏ tới sự xuất hiện các liên kết nút trong cây qua chuỗi Cây chứa các nút sau đó quét tất cả các giao dịch như Hình 2.2 với liên kết nút phù hợp
Trang 28Hình 2.2 - Cây FP ghi nén, thông tin mẫu phổ biến [9]
Cây FP được khai thác, bắt đầu từ mỗi mẫu 1-tập phổ biến, xây dựng cơ sở mẫu điều kiện của nó (“cơ sở dữ liệu phụ”, bao gồm bộ của đường dẫn tiền tố trong cây FP xảy ra cùng với mẫu hậu tố), sau đó xây dựng cây FP điều kiện và thực thi khai thác đệ qui trên cây Mẫu tăng trưởng được lưu trữ bởi sự ghép nối của mẫu hậu
tố với mẫu phổ biến tạo ra từ cây FP điều kiện Cụ thể, đầu tiên xem xét I5, mục cuối cùng trong L I5 xuất hiện trong hai nhánh cây FP trong Hình 2.2 (sự xuất hiện của I5
có thể dễ dàng tìm thấy bằng cách theo chuỗi của nó của liên kết-nút) Đường dẫn bởi
ba nhánh là <I2, I1, I5:1> và <I2, I1, I3, I5:1> Do đó, xem xét I5 như một hậu tố, hai đường dẫn tiền tố tương ứng của nó là <I2, I1:1> và <I2, I1, I3:1> Ta xây dựng cây
FP điều kiện I5, chỉ chứa một đường dẫn đơn, <I2:2, I1:2>, I5 không bao gồm vì số
hỗ trợ của nó là 1 ít hơn số hỗ trợ cực tiểu Đường dẫn đơn tạo ra tất cả kết nối của các mẫu phổ biến {I2, I5:2}, {I1, I5:2}, {I2, I1, I5:2} Còn I4, hai đường dẫn tiền tố dựa trên mẫu điều kiện là {{I2, I1:1}, {I2:1}} tạo ra nút đơn cây FP điều kiện, <I2:2>
và lấy một mẫu phổ biến {I2, I4:2} Cơ sở mẫu điều kiện I3 là {{I2, I1:2},{I2:2},{I1:2}}, cây FP điều kiện có hai nhánh <I2:4, I1:2> và <I1:2> như Hình 2.3, tạo ra bộ các mẫu {{I2, I3:4}, {I1, I3:4}, {I2, I1, I3:2}} Cuối cùng, mẫu điều
Trang 29kiện của I1 là {{I2:4}}, với một cây FP chỉ chứa một nút <I2:4> tạo ra một mẫu phổ biến {I2, I1:4}
Bảng 2.2 - Khai thác cây FP bằng cách tạo ra cơ sở mẫu điều kiện [9]
Mục Cơ sở mẫu điều kiện Cây FP điều kiện Tạo ra mẫu phổ biến I5
I4
I3
I1
{{I2, I1:1},{I2, I1, I3:1}}
{{I2, I1:1}, {I2:1}}
Hình 2.3 - Cây FP điều kiện liên kết với nút điều kiện I3 [9]
Phương pháp tiếp cận dựa trên cây WAP nhằm mục đích để xây dựng một cây cấu trúc của cơ sở dữ liệu chuỗi truy cập web để vượt qua những hạn chế của thuật toán như Apriori và để trích xuất các mẫu phổ biến có hiệu quả Việc xây dựng một cây WAP đòi hỏi phải quét các cơ sở dữ liệu hai lần: đầu tiên là quét để tìm tất cả các
sự kiện phổ biến, thứ hai là xây dựng cây WAP trong chuỗi các sự kiện phổ biến của mỗi phiên Cây WAP tạo điều kiện cho sự phát triển của các thuật toán khai thác có thể xử lý một cơ sở dữ liệu lớn các mẫu truy cập web, chẳng hạn như thuật toán WAP-Mine [3], CS-Mine [11] và PLWAP-Mine [3] Thuật toán khai thác cây WAP quét cơ
sở dữ liệu ban đầu hai lần và tránh được vấn đề tạo ra tập ứng cử viên tăng nhanh
Trang 30Hiệu quả khai thác được cải thiện mạnh, nhưng nhược điểm chính của khai thác cây WAP là nó đệ quy xây dựng số lượng lớn các trung gian cây WAP trong khai thác và điều này đòi hỏi lưu trữ mẫu trung gian, mà vẫn còn hoạt động tốn thời gian
Tuy nhiên, hai thuật toán khai thác mẫu chuỗi là CS-Mine và PLWAP-Mine
sẽ tốt hơn WAP-Mine vì nó tránh đệ qui việc xây dựng lại cây WAP trung gian
Thuật toán CS-Mine quét cơ sở dữ liệu của chuỗi truy cập web một lần để xây dựng cây WAP Cho cây WAP, các cơ sở có điều kiện của mỗi sự kiện phổ biến được khởi tạo Điều đó có nghĩa là cơ sở dữ liệu được chia ra để tìm kiếm mẫu phổ biến dựa trên những căn cứ chuỗi có điều kiện Nếu sự kết hợp của các chuỗi có điều kiện của mỗi sự kiện phổ biến là một chuỗi duy nhất, sau đó là một mẫu phổ biến sẽ được tạo ra Nếu sự kết hợp này không thành công, sau đó các chuỗi phụ có điều kiện của mỗi sự kiện phổ biến sẽ được tái xây dựng và các thuật toán đệ quy sẽ kiểm tra nếu một mẫu phổ biến tồn tại Hai quá trình quan trọng trong thuật toán này là phân chia
cơ sở dữ liệu và sự kết hợp của các chuỗi có điều kiện Sự phân chia cơ sở dữ liệu làm cho không gian tìm kiếm nhỏ hơn so với các thuật toán khai thác chuỗi khác, trong khi sự kết hợp của các chuỗi có điều kiện có thể có được một tập hợp các mẫu phổ biến trong một không gian tìm kiếm hạn chế Kết quả là, các thuật toán có thể bỏ
lỡ một số mẫu phổ biến bởi vì nó không xem xét sự kết hợp của tất cả các chuỗi trong toàn bộ không gian tìm kiếm
Thuật toán PLWAP-Mine quét cơ sở dữ liệu của chuỗi truy cập web từ web log hai lần để tìm thấy tất cả sự kiện phổ biến và xây dựng cây PLWAP trong chuỗi các sự kiện phổ biến Trong khi xây dựng cây PLWAP, các mã nhị phân là vị trí gán cho mỗi nút của cây Kỹ thuật phân mã nhị phân được thực hiện bằng cách sử dụng một quy tắc tương tự như thế hệ mã Huffman [12] Dựa trên các mã vị trí, thuật toán
có thể xác định cây hậu tố của bất kỳ sự kiện tiền tố của mẫu phổ biến Kết quả là một
Trang 31bộ hoàn chỉnh các mẫu phổ biến được phát hiện hiệu quả từ không gian tìm kiếm, tức
là cây PLWAP
Nhìn chung thì mỗi thuật toán đều có ưu và nhược điểm khác nhau Ứng dụng trên một số bộ dữ liệu cụ thể thì kết quả cho thấy CS-Mine thực hiện nhanh hơn so với PLWAP-Mine, nhưng các mẫu phổ biến được tạo ra bởi PLWAP-Mine có hiệu quả hơn CS-Mine khi áp dụng trong hệ thống đề xuất web
2.2 Thuật toán khai thác cây WAP và cây PLWAP trong khai thác chuỗi dữ
liệu
2.2.1 Khai thác WAS từ web log
Web log là một chuỗi các sự kiện, với một cặp thuộc tính giá trị của người sử dụng nhận dạng, truy cập thông tin Thông tin có thể được kết hợp bất kỳ các giá trị trong định dạng web log ban đầu được cung cấp trước đó Ví dụ, truy cập thông tin ở đây là viết tắt của nội dung truy cập Để đơn giản, nội dung truy cập trang web log được biểu diễn như là các mục {a, b, c, d, e, f} Một đoạn chuỗi các trang truy cập đã được xử lý từ web log được hiển thị trong định dạng <ID, nội dung truy cập> như sau:
Trang 32trên, đã truy cập nội dung a b, d, a, và c Các giao dịch chuỗi truy cập web từ các dữ liệu web log được hiển thị như Bảng 2.3 Vấn đề khai thác mẫu tuần tự từ các web log bây giờ dựa trên cơ sở dữ liệu của Bảng 2.3 Với một tập hợp các sự kiện E, chuỗi truy cập S có thể được biểu diễn như là e1 e2 en, trong đó ei ∈ E (1 ≤ I ≤ n)
Bảng 2.3 - Danh sách dữ liệu chuỗi truy cập web [3]
ID giao dịch Chuỗi truy cập web
Dữ liệu chuỗi truy cập web là tập hợp S1, S2 , , Sm , trong đó Si , (1 ≤ i ≤
m ) là chuỗi truy cập Ví dụ, cơ sở dữ liệu web trên là một dữ liệu chuỗi truy cập web với 4 chuỗi truy cập abdac, eaebcac, babfaec và babfaec trong cơ sở dữ liệu Chuỗi truy cập S’ = e’1 e’2 …e’l gọi là chuỗi con của một chuỗi truy cập S = e1 e2 …en , và S
là một siêu chuỗi của S’ ký hiệu là S’ ⊆ S, nếu và chỉ nếu với mỗi sự kiện e’j trong S’
có một sự kiện bằng ek trong S, trong khi thứ tự các sự kiện xảy ra trong S phải theo thứ tự của các sự kiện trong S’.Ví dụ, với S’ = ab, S = babcd, chúng ta có thể nói rằng
S’ là một chuỗi con của S Chúng ta cũng có thể nói ac đó là một chuỗi con của S, mặc
dù có xảy ra b giữa a và c trong S Một mẫu phổ biến là một chuỗi truy cập được tìm
ra trong quá trình khai thác và nó cần phải có một độ hỗ trợ đó là cao hơn so với hỗ trợ cực tiểu Theo thứ tự truy cập S = e1e2 ek ek+1 en , nếu chuỗi Shậu tố = ek+1 en là một chuỗi siêu mẫu P = e1 ’e2 ’ … el ’ , nơi ek+1 = el ’, Stiền tố = e1e2 ek , được gọi
là tiền tố của S đối với mẫu P, trong khi S hậu tố là chuỗi hậu tố của S tiền tố Ví dụ, trong chuỗi eaebcac, eae là một tiền tố của bcac, trong khi bcac là một hậu tố của eae
Trang 33Độ hỗ trợ của mẫu S trong dữ liệu chuỗi truy cập web được định nghĩa là số chuỗi Si, có chứa các chuỗi S, chia bởi số lượng giao dịch trong các dữ liệu chuỗi truy cập web cơ sở dữ liệu Mặc dù sự kiện có thể được lặp đi lặp lại trong một chuỗi truy cập, một mẫu có thể có nhiều nhất một độ hỗ trợ đóng góp số từ một chuỗi truy cập
Ví dụ, từ Bảng 2.5, fc là một mẫu, mà được 50% hỗ trợ từ ID người sử dụng 300 và
400, fc xuất hiện lần thứ nhất trong chuỗi ID người sử dụng 300 và lần thứ hai trong
ID người sử dụng là 400 Vấn đề khai thác sử dụng web là tìm kiếm tất cả các mẫu
có hỗ trợ lớn hơn hơn λ, cho cơ sở dữ liệu chuỗi truy cập web và một ngưỡng hỗ trợ cực tiểu λ Những mẫu có hỗ trợ lớn hơn λ là mẫu chuỗi phổ biến
2.2.2 Thuật toán khai thác cây WAP
Thuật toán cây WAP lưu trữ các dữ liệu web log trong một định dạng cây tiền
tố giống cho dữ liệu không liên tục
Thuật toán đầu tiên quét các trang web log một lần để tìm tất cả các sự kiện phổ biến Thứ hai, nó quét các trang web log một lần nữa để xây dựng một cây WAP Thứ ba, nó tìm thấy các mẫu hậu tố có điều kiện Bước thứ tư, nó tạo các cây WAP điều kiện trung gian sử dụng các mẫu tìm thấy trong bước trước Cuối cùng, nó quay ngược lại lặp lại bước 3 và 4 cho đến khi xây dựng cây WAP có điều kiện chỉ còn một nhánh hoặc rỗng
Thuật toán khai thác cây WAP tìm kiếm tất cả các sự kiện phổ biến trong các web log, đòi hỏi xây dựng cây WAP và khai thác các mẫu truy cập từ cây WAP Cơ
sở dữ liệu chuỗi truy cập web log trong Bảng 2.3 được sử dụng để hiển thị cách xây dựng cây WAP và thực hiện khai thác cây WAP Giả sử ngưỡng hỗ trợ cực tiểu được thiết lập ở 75 %, trong đó có nghĩa là một chuỗi truy cập s nên có 3 trong số 4 bản ghi trong ví dụ trên, để được xem xét phổ biến Xây dựng cây WAP đòi hỏi cơ sở dữ liệu đầu tiên quét một lần để có được sự kiện phổ biến Khi xây dựng cây WAP, phần
Trang 34không phổ biến của mỗi chuỗi bị loại bỏ Chỉ có chuỗi con phổ biến được sử dụng như đầu vào Ví dụ, trong Bảng 2.4, danh sách của tất cả các sự kiện là a, b, c, d, e, f
và sự hỗ trợ của a là 4, b là 4, c là 4, d là 1, e là 3, và f là 2 Với sự hỗ trợ cực tiểu là
3, chỉ có a, b, c là các sự kiện phổ biến Do đó, tất cả các sự kiện không phổ biến (như
d, e, f ) được loại bỏ từ mỗi chuỗi giao dịch để có được chuỗi con phổ biến thể hiện trong cột ba của Bảng 2.4
Bảng 2.4 - Danh sách dữ liệu chuỗi truy cập web cho cây WAP [3]
ID giao dịch Chuỗi truy cập web Chuỗi con phổ biến
1 từ gốc nếu là loại nút này chưa tồn tại, còn nếu các loại nút đã tồn tại thì số lượng của nút được tăng thêm 1 Ngoài ra, liên kết đầu cho các sự kiện được chèn kết nối đến nút được chèn mới từ nút cuối cùng cùng loại của nó đã được chèn hoặc từ nút tiêu đề cùng loại của nó nếu nó là nút đầu tiên của sự kiện chèn vào Ví dụ như trong Hình 2.4 (a), để chèn chuỗi phổ biến đầu tiên abac giao dịch ID 100 trong cơ sở dữ liệu thì kể từ khi không có nút dán nhãn a, mà từ nút con trực tiếp của nút gốc, một
Trang 35con trái của gốc được tạo ra, với nhãn a và số lượng là 1 Sau đó, nút liên kết tiêu đề cho sự kiện phổ biến a được kết nối và chèn nút a từ nút tiêu đề a Sự kiện b tiếp theo được đưa vào như con trái của nút a với số lượng 1 và liên kết với đầu nút b, sự kiện
a thứ ba được chèn vào như con trái của nút b có số lượng 1 và liên kết a được kết nối với nút này từ a chèn cuối Sự kiện thứ tư và cuối cùng của chuỗi này là c và nó là chèn vào như con trái của a thứ hai nhánh này với số lượng 1 và kết nối đến nút c tiêu
đề Tiếp theo, ta chèn chuỗi các giao dịch abcac tiếp theo với ID 200 bắt đầu từ gốc ở Hình 2.4 (b) Từ nút gốc đã có nút nhãn a, số lượng nút a được tăng lên 1 để có được (a: 2) bây giờ Tương tự như vậy, (b: 2) cũng là trong cây Tiếp theo sự kiện, c không phù hợp với nút a hiện có, và nút mới (c: 1) được tạo ra và chèn như nút khác của nút
b Các còn lại bao gồm chuỗi thứ ba babac của giao dịch ID 300 và chuỗi thứ tư abacc được chèn vào tiếp theo để có được Hình 2.4 (c) và (d) tương ứng
Gốc a:1
b:2
a:1
c:1
a b c Bảng tiêu đề
c:1
a:1
c:1
Gốc a:2
b:2
a:1
c:1
a b
c Bảng tiêu đề
(a) Cây WAP
(sau khi chèn abac)
(b) Cây WAP (sau khi chèn abcac)
(c) Cây WAP (sau khi chèn babac)
Trang 36Hình 2.4 - Xây dựng cây WAP ban đầu [3]
Một khi dữ liệu chuỗi được lưu trữ trên cây WAP như Hình 2.4 (d), cây được khai thác để tìm các mẫu phổ biến bắt đầu với sự kiện phổ biến thấp nhất trong danh sách tiêu đề, trong ví dụ trên, bắt đầu từ sự kiện phổ biến c từ cây WAP của Hình 2.4 (d), đầu tiên nó tính chuỗi tiền tố của chuỗi c có điều kiện như: aba: 2; ab: 1; abca: 1; ab: - 1; baba: 1; abac: 1; aba: - 1
Danh sách chuỗi có điều kiện của một sự kiện hậu tố thu được bằng cách theo các liên kết tiêu đề các sự kiện và đọc các đường từ gốc đến mỗi nút, trừ nút đó Chuỗi đầu tiên aba đại diện cho đường dẫn đến nút c đầu tiên trong cây WAP Khi một chuỗi
có điều kiện trong một nhánh của một cây WAP có một chuỗi con tiền tố, nó cũng là một chuỗi điều kiện của một nút của cùng một cơ sở, số lượng của chuỗi mới này bị trừ đi bởi vì nó đã xuất hiện ở lần trước Như vậy, danh sách chuỗi có điều kiện ở trên
có hai chuỗi ab và aba với số lượng -1 Điều này là do, khi chuỗi abca được thêm vào danh sách, chuỗi của ab là đã có trong danh sách, từ c đầu tiên trên cùng một nhánh
Gốc a:3
b:3
a:2
c:2
a b Bảng tiêu đề
(d) Cây WAP hoàn thành c
Trang 37Như vậy, số lượng của ab với - 1 đã được thêm vào để ngăn chặn nó xuất hiện hai lần Để đủ điều kiện như là một sự kiện phổ biến có điều kiện, một sự kiện phải
có số lượng 3 Do đó, sau khi đếm các sự kiện trong chuỗi trên, các sự kiện phổ biến
có điều kiện là a(4) và b(4) và c với số lượng 2, ít hơn sự hỗ trợ cực tiểu, do đó nó sẽ
bị loại bỏ Sau khi loại bỏ phần c không phổ biến trong các chuỗi trên, các chuỗi có điều kiện dựa trên c trên được liệt kê dưới đây:
aba:2; ab:1; aba:1; ab: − 1; baba:1; aba:1; aba: − 1
Hình 2.5 - Xây dựng lại cây WAP cho khai thác mẫu có điều kiện dựa trên c [3]
Gốc a:3
Gốc
a:4
a Bảng tiêu đề
Gốc a:3
Gốc (a) Cây WAP có điều kiện |c
(b) Cây WAP có điều kiện |bc
(c) Cây WAP có điều kiện |ac
(d) Cây WAP có điều kiện
|bac
(e) Cây WAP có điều kiện
|aac
Trang 38Ta sử dụng những chuỗi có điều kiện, cây WAP có điều kiện | c được xây dựng bằng cách sử dụng cùng một phương pháp như thể hiện trong Hình 2.4 Cây WAP có điều kiện mới được thể hiện trong Hình 2.5 (a) Đệ quy dựa trên cây WAP trong Hình 2.5 (a), các chuỗi có điều kiện tiếp theo cho chuỗi con hậu tố tiếp theo, bc được tìm thấy như a(3), ba(1) với a là mẫu phổ biến Chuỗi phổ biến bc sử dụng để xây dựng cây WAP tiếp theo thể hiện trong Hình 2.5 (b) là a(4) Đệ quy tiếp tục với con đường hậu tố | c , | ac Vì vậy, chuỗi có điều kiện cho hậu tố ac được tính toán từ Hình 2.5 (a) như ab : 3 ; b : 1 ; bab : 1 ; b : - 1 Danh sách này được sử dụng để xây dựng cây WAP của Hình 2.5 (c) Các thuật toán tiếp tục chạy, việc tìm kiếm chuỗi có điều kiện căn cứ vào chuỗi bac như a : 3 ; ba : 1 Từ danh sách, các sự kiện phổ biến có điều kiện của bac là a : 4 Sau đó, cây WAP | bac điều kiện được xây dựng như thể hiện trong Hình 2.5 (d) Bây giờ trở lại hoàn thành việc khai thác mẫu phổ biến với hậu tố
ac, Hình 2.5 (c) được khai thác chuỗi có điều kiện cho hậu tố aac để tìm b : 1 Kể từ khi số lượng b : 1 là ít hơn ngưỡng hỗ trợ cực tiểu, nó được bỏ đi Cây WAP có điều kiện rỗng với hậu tố aac được thể hiện trong Hình 2.5 (e)
Điều kiện tìm kiếm của c giờ kết thúc Việc tìm kiếm các mẫu phổ biến có các hậu tố của tiêu đề sự kiện phổ biến khác (bắt đầu với hậu tố | b và sau đó | a) cũng được khai thác cùng một cách khai thác cho các mẫu với hậu tố c được thực hiện ở trên Sau khi khai thác toàn bộ cây, phát hiện mẫu phổ biến thiết lập là {c, aac, bac, abac, ac, abc, bc, b, ab, a, aa, ba, aba}
Nhìn chung, thuật toán khai thác cây WAP quét cơ sở dữ liệu ban đầu chỉ có hai lần và tránh được vấn đề tạo ra tập ứng cử viên tăng nhanh như trong các thuật toán như Apriori Hiệu quả khai thác được cải thiện mạnh, nhưng nhược điểm chính của khai thác cây WAP là nó đệ quy xây dựng số lượng lớn các cây WAP trung gian trong khai thác và điều này đòi hỏi lưu trữ mẫu trung gian, mà vẫn còn hoạt động tốn thời gian