1. Trang chủ
  2. » Luận Văn - Báo Cáo

Cải tiến thuật toán cây PLWAP cho khai thác chuỗi dữ liệu

77 13 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 77
Dung lượng 1,52 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

BỘ 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 2

BỘ 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 3

CÔ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 4

NHIỆ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 5

LỜ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 6

LỜ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 7

TÓ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 8

ABSTRACT

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 9

MỤ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 10

CHƯƠ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 11

DANH 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 12

DANH 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 13

Hì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 14

PLWAP-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 15

CHƯƠ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 16

thứ 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 17

hà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 18

Qui 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 20

là 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 21

phổ 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 22

toá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 23

CHƯƠ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 24

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]

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 25

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]

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 27

khi 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 28

Hì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 29

kiệ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 30

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 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 31

bộ 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 32

trê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 34

khô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 35

con 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 36

Hì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 37

Như 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 38

Ta 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

Ngày đăng: 05/03/2021, 11:23

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. V. Valli Mayil (2012). "Web Navigation Path Pattern Prediction using First Order Markov Model and Depth first Evaluation". International Journal of Computer Applications, 45 (16), 26-31 Sách, tạp chí
Tiêu đề: Web Navigation Path Pattern Prediction using First Order Markov Model and Depth first Evaluation
Tác giả: V. Valli Mayil
Năm: 2012
2. Baoyao, Z. (2004). Intelligent Web Usage Mining. (Doctor of Philosophy of Engineering program), Division of Information Systems School of Computer Engineering, Nanyang Technological University Sách, tạp chí
Tiêu đề: Intelligent Web Usage Mining
Tác giả: Baoyao, Z
Năm: 2004
3. Ezeife, C.I. and Y. Lu (2005). "Mining Web Log Sequential Patterns with Position Coded Pre-Order Linked WAP-Tree". Data Mining and Knowledge Discovery, 10 (1), 5-38 Sách, tạp chí
Tiêu đề: Mining Web Log Sequential Patterns with Position Coded Pre-Order Linked WAP-Tree
Tác giả: Ezeife, C.I. and Y. Lu
Năm: 2005
4. Agrawal, R. &amp; Srikant, R. (1995). "Mining Sequential Patterns". Proceedings of the Eleventh International Conference on Data Engineering, IEEEComputer Society, Taipei, 3-14 Sách, tạp chí
Tiêu đề: Mining Sequential Patterns
Tác giả: Agrawal, R. &amp; Srikant, R
Năm: 1995
5. Nguyen Thi Thanh Sang (2006). Vận dụng kỹ thuật khai phá dữ liệu trên dữ liệu lưu trữ quá trình sử dụng các trang web. Thesis (Master), Computer Science, Ho Chi Minh Sách, tạp chí
Tiêu đề: Vận dụng kỹ thuật khai phá dữ liệu trên dữ liệu lưu trữ quá trình sử dụng các trang web
Tác giả: Nguyen Thi Thanh Sang
Năm: 2006
6. C. I. Ezeife, Kashif Saeed, Dan Zhang (2009). Mining very long sequences in large databases with PLWAPLong. Proceeding IDEAS '09 Proceedings of the 2009 International Database Engineering &amp; Applications Symposium, 234-241 Sách, tạp chí
Tiêu đề: Proceeding IDEAS '09 Proceedings of the 2009 International Database Engineering & Applications Symposium
Tác giả: C. I. Ezeife, Kashif Saeed, Dan Zhang
Năm: 2009
7. ZR. Vishnu Priya, A. Vadivel (2011). "Revised PLWAP Tree with Non- frequent Items for Mining Sequential Pattern". World Academy of Science, Engineering and Technology, 5 (9), 414-419 Sách, tạp chí
Tiêu đề: Revised PLWAP Tree with Non-frequent Items for Mining Sequential Pattern
Tác giả: ZR. Vishnu Priya, A. Vadivel
Năm: 2011
8. Pooja (2014). "Web Usage Mining: An Approach". International Journal of Computer Applications, 86 (12), 39-42 Sách, tạp chí
Tiêu đề: Web Usage Mining: An Approach
Tác giả: Pooja
Năm: 2014
9. Jiawei Han, M.K.a.J.P. (2011). Data Mining - Concepts and Techniques. Morgan Kaufmann, USA Sách, tạp chí
Tiêu đề: Data Mining - Concepts and Techniques
Tác giả: Jiawei Han, M.K.a.J.P
Năm: 2011
10. Nguyen, T.T.S., et al. (2012). "Investigation of sequential pattern mining techniques for web recommendation". International Journal of Information and Decision Sciences, 4 (4), 293 Sách, tạp chí
Tiêu đề: Investigation of sequential pattern mining techniques for web recommendation
Tác giả: Nguyen, T.T.S., et al
Năm: 2012
11. Zhou B.Y., Hui S.C., and Fong A.C.M. (2004). CS-mine: An Efficient WAP- tree Mining for Web Access Patterns. In Proceedings of the 6th Asia Pacific Web Conference. Hangzhou, China, 523-532 Sách, tạp chí
Tiêu đề: In Proceedings of the 6th Asia Pacific Web Conference
Tác giả: Zhou B.Y., Hui S.C., and Fong A.C.M
Năm: 2004
12. Clifford A. Shaffer (2000). A Practical Introduction to Data Structures and Algorithm Analysis. Prentice Hall PTR Upper Saddle River, NJ, USA 13. Zhu, J., J. Hong, and J.G. Hughes (2002). "Using Markov Chains for LinkPrediction in Adaptive Web Sites". 2311 60-73 Sách, tạp chí
Tiêu đề: Using Markov Chains for Link Prediction in Adaptive Web Sites
Tác giả: Clifford A. Shaffer (2000). A Practical Introduction to Data Structures and Algorithm Analysis. Prentice Hall PTR Upper Saddle River, NJ, USA 13. Zhu, J., J. Hong, and J.G. Hughes
Năm: 2002
14. Spears, W.M. (1998). "A Compression Algorithm for Probability Transition Matrices". SIAM Journal on Matrix Analysis and Applications, 20 (1), 60-77 Sách, tạp chí
Tiêu đề: A Compression Algorithm for Probability Transition Matrices
Tác giả: Spears, W.M
Năm: 1998
15. Sarukkai, R.R. (2000). "Link prediction and path analysis using Markov chains". Computer Networks, 33 (1-6), 377-386 Sách, tạp chí
Tiêu đề: Link prediction and path analysis using Markov chains
Tác giả: Sarukkai, R.R
Năm: 2000
16. Baoyao Zhou, S.C.H., Alvis Cheuk Ming Fong (2006). "Efficient sequential access pattern mining for web recommendations". International Journal of Knowledge-Based and Intelligent Engineering Systems, 10 (2), 155-168 Sách, tạp chí
Tiêu đề: Efficient sequential access pattern mining for web recommendations
Tác giả: Baoyao Zhou, S.C.H., Alvis Cheuk Ming Fong
Năm: 2006

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w