Tải bản đầy đủ (.pdf) (20 trang)

KHAI PHÁ DỮ LIỆU WEB BẰNG KỸ THUẬT PHÂN CỤM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (634.53 KB, 20 trang )

Khai phá dữ liệu Web bằng kỹ thuật phân cụm

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI

Hoàng Văn Dũng

KHAI PHÁ DỮ LIỆU WEB
BẰNG KỸ THUẬT PHÂN CỤM
Luận văn thạc sỹ khoa học

Hà Nội, 2007

Hoàng Văn Dũng

i


Khai phá dữ liệu Web bằng kỹ thuật phân cụm

MỤC LỤC

MỤC LỤC ...................................................................................................... i
DANH SÁCH CÁC HÌNH ............................................................................ v
DANH SÁCH CÁC BẢNG BIỂU ............................................................... vi
CÁC CỤM TỪ VIẾT TẮT..........................................................................vii
LỜI MỞ ĐẦU ................................................................................................ 1
Chương 1. TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU .................................. 3
1.1. Khai phá dữ liệu và phát hiện tri thức ......................................................... 3
1.1.1. Khai phá dữ liệu .................................................................................... 3
1.1.2. Quá trình khám phá tri thức .................................................................. 4


1.1.3. Khai phá dữ liệu và các lĩnh vực liên quan .......................................... 5
1.1.4. Các kỹ thuật áp dụng trong khai phá dữ liệu ........................................ 5
1.1.5. Những chức năng chính của khai phá dữ liệu ...................................... 7
1.1.6. Ứng dụng của khai phá dữ liệu ............................................................. 9
1.2. Kỹ thuật phân cụm trong khai phá dữ liệu ................................................ 10
1.2.1. Tổng quan về kỹ thuật phân cụm ........................................................ 10
1.2.2. Ứng dụng của phân cụm dữ liệu ......................................................... 13
1.2.3. Các yêu cầu đối với kỹ thuật phân cụm dữ liệu ................................. 13
1.2.4. Các kiểu dữ liệu và độ đo tương tự..................................................... 15
1.2.4.1. Phân loại kiểu dữ liệu dựa trên kích thước miền ......................... 15
1.2.4.2. Phân loại kiểu dữ liệu dựa trên hệ đo .......................................... 15
1.2.4.3. Khái niệm và phép đo độ tương tự, phi tương tự........................ 17
1.3. Khai phá Web ............................................................................................ 20
1.3.1. Lợi ích của khai phá Web ................................................................... 20
1.3.2. Khai phá Web ..................................................................................... 21
1.3.3. Các kiểu dữ liệu Web.......................................................................... 22
1.4. Xử lý dữ liệu văn bản ứng dụng trong khai phá dữ liệu Web .................. 23
1.4.1. Dữ liệu văn bản ................................................................................... 23
1.4.2. Một số vấn đề trong xử lý dữ liệu văn bản ......................................... 23
1.4.2.1. Loại bỏ từ dừng ............................................................................ 24
1.4.2.2. Định luật Zipf ............................................................................... 25
1.4.3. Các mô hình biểu diễn dữ liệu văn bản .............................................. 26
1.4.3.1. Mô hình Boolean.......................................................................... 26
Hoàng Văn Dũng

ii


Khai phá dữ liệu Web bằng kỹ thuật phân cụm


1.4.3.2. Mô hình tần số ............................................................................. 27
1.5. Tổng kết chương 1 ..................................................................................... 30

Chương 2. MỘT SỐ KỸ THUẬT PHÂN CỤM DỮ LIỆU ....................... 31
2.1. Phân cụm phân hoạch ................................................................................ 31
2.1.1. Thuật toán k-means ............................................................................. 32
2.1.2. Thuật toán PAM.................................................................................. 34
2.1.3. Thuật toán CLARA ............................................................................. 38
2.1.4. Thuật toán CLARANS........................................................................ 39
2.2. Phân cụm phân cấp .................................................................................... 41
2.2.1. Thuật toán BIRCH .............................................................................. 42
2.2.2. Thuật toán CURE................................................................................ 45
2.3. Phân cụm dựa trên mật độ ......................................................................... 47
2.3.1 Thuật toán DBSCAN ........................................................................... 47
2.3.2. Thuật toán OPTICS ............................................................................ 51
2.3.3. Thuật toán DENCLUE ....................................................................... 52
2.4. Phân cụm dựa trên lưới.............................................................................. 54
2.4.1 Thuật toán STING ............................................................................... 55
2.4.2 Thuật toán CLIQUE............................................................................. 56
2.5. Phân cụm dữ liệu dựa trên mô hình........................................................... 57
2.5.1. Thuật toán EM .................................................................................... 58
2.5.2. Thuật toán COBWEB ......................................................................... 59
2.6. Phân cụm dữ liệu mờ ................................................................................. 59
2.7. Tổng kết chương 2 ..................................................................................... 60

Chương 3. KHAI PHÁ DỮ LIỆU WEB ..................................................... 62
3.1. Khai phá nội dung Web ............................................................................. 62
3.1.1. Khai phá kết quả tìm kiếm .................................................................. 63
3.1.2. Khai phá văn bản Web ........................................................................ 63
3.1.2.1. Lựa chọn dữ liệu .......................................................................... 64

3.1.2.2. Tiền xử lý dữ liệu ......................................................................... 64
3.1.2.3. Biểu điễn văn bản......................................................................... 65
3.1.2.4. Trích rút các từ đặc trưng ............................................................. 65
3.1.2.5. Khai phá văn bản ......................................................................... 66
3.1.3. Đánh giá chất lượng mẫu ................................................................ 68
Hoàng Văn Dũng

iii


Khai phá dữ liệu Web bằng kỹ thuật phân cụm

3.2. Khai phá theo sử dụng Web ...................................................................... 69
3.2.1. Ứng dụng của khai phá theo sử dụng Web ......................................... 70
3.2.2. Các kỹ thuật được sử dụng trong khai phá theo sử dụng Web ........... 71
3.2.3. Những vấn đề trong khai khá theo sử dụng Web. .............................. 71
3.2.3.1. Chứng thực phiên người dùng ..................................................... 71
3.2.3.2. Đăng nhập Web và xác định phiên chuyển hướng người dùng ... 72
3.2.3.3. Các vấn đề đối với việc xử lý Web log ........................................ 72
3.2.3.4. Phương pháp chứng thực phiên làm việc và truy cập Web ......... 73
3.2.4. Quá trình khai phá theo sử dụng Web ................................................ 73
3.2.4.1. Tiền xử lý dữ liệu ......................................................................... 73
3.2.4.2. Khai phá dữ liệu ........................................................................... 73
3.2.4.3. Phân tích đánh giá ........................................................................ 75
3.2.5. Ví dụ khai phá theo sử dụng Web ...................................................... 75
3.3. Khai phá cấu trúc Web .............................................................................. 77
3.3.1. Tiêu chuẩn đánh giá độ tương tự ........................................................ 79
3.3.2. Khai phá và quản lý cộng đồng Web .................................................. 80
3.3.2.1. Thuật toán PageRank ................................................................... 81
3.3.2.2. Phương pháp phân cụm nhờ thuật toán HITS ............................. 82

3.4. Áp dụng thuật toán phân cụm dữ liệu trong tìm kiếm và PCDL Web ...... 85
3.4.1. Hướng tiếp cận bằng kỹ thuật phân cụm ............................................ 85
3.4.2. Quá trình tìm kiếm và phần cụm tài liệu ............................................ 87
3.4.2.1. Tìm kiếm dữ liệu trên Web .......................................................... 87
3.4.2.2. Tiền xử lý dữ liệu ......................................................................... 88
3.4.2.3. Xây dựng từ điển.......................................................................... 89
3.4.2.4. Tách từ, số hóa văn bản và biểu diễn tài liệu ............................... 90
3.4.2.5. Phân cụm tài liệu .......................................................................... 90
3.4.6. Kết quả thực nghiệm ........................................................................... 92
3.5. Tổng kết chương 3 ..................................................................................... 93

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN................................................... 94
PHỤ LỤC ................................................................................................... 96
TÀI LIỆU THAM KHẢO ......................................................................... 102

Hoàng Văn Dũng

iv


Khai phá dữ liệu Web bằng kỹ thuật phân cụm

DANH SÁCH CÁC HÌNH

Hình 1.1. Quá trình khám phá tri thức ........................................................... 4
Hình 1.2. Các lĩnh vực liên quan đến khám phá tri thức trong CSDL .......... 6
Hình 1.3. Trực quan hóa kết quả KPDL trong Oracle ................................ 10
Hình 1.4. Mô phỏng sự PCDL ..................................................................... 11
Hình 1.5. Phân loại dữ liệu Web.................................................................. 22
Hình 1.6. Lược đồ thống kê tần số của từ theo Định luật Zipf ................... 26

Hình 1.7. Các độ đo tương tự thường dùng ................................................. 29
Hình 2.1. Thuật toán k-means ..................................................................... 32
Hình 2.2. Hình dạng cụm dữ liệu được khám phá bởi k-means ................. 33
Hình 2.3. Trường hợp Cjmp=d(Oj,Om,2) – d(Oj, Om) không âm .................... 35
Hình 2.4. Trường hợp Cjmp= (Oj,Op)- d(Oj, Om) có thể âm hoặc dương ..... 36
Hình 2.5. Trường hợp Cjmp bằng không....................................................... 36
Hình 2.6. Trường hợp Cjmp= (Oj,Op)- d(Oj, Om,2) luôn âm .......................... 37
Hình 2.7. Thuật toán PAM .......................................................................... 37
Hình 2.8. Thuật toán CLARA ..................................................................... 38
Hình 2.9. Thuật toán CLARANS ................................................................ 40
Hình 2.10. Các chiến lược phân cụm phân cấp ........................................... 42
Hình 2.11. Cây CF được sử dụng bởi thuật toán BIRCH ........................... 43
Hình 2.12. Thuật toán BIRCH ..................................................................... 44
Hình 2.13. Ví dụ về kết quả phân cụm bằng thuật toán BIRCH ................. 44
Hình 2.14. Các cụm dữ liệu được khám phá bởi CURE ............................. 45
Hình 2.15. Thuật toán CURE ...................................................................... 46
Hình 2.16. Một số hình dạng khám phá bởi phân cụm dưa trên mật độ ..... 47
Hình 2.17. Lân cận của P với ngưỡng Eps .................................................. 48
Hình 2.18. Mật độ - đến được trực tiếp ....................................................... 49
Hình 2.19. Mật độ đến được ........................................................................ 49
Hình 2.20. Mật độ liên thông ....................................................................... 49
Hình 2.21. Cụm và nhiễu ............................................................................. 50
Hình 2.22. Thuật toán DBSCAN ................................................................. 51
Hình 2.23. Thứ tự phân cụm các đối tượng theo OPTICS .......................... 52
Hình 2.24. DENCLUE với hàm phân phối Gaussian .................................. 53
Hoàng Văn Dũng

v



Khai phá dữ liệu Web bằng kỹ thuật phân cụm

Hình 2.25. Mô hình cấu trúc dữ liệu lưới .................................................... 55
Hình 2.26. Thuật toán CLIQUE .................................................................. 56
Hình 2.27. Quá trình nhận dạng các ô của CLIQUE ................................... 57
Hình 3.1. Phân loại khai phá Web ............................................................... 62
Hình 3.2. Quá trình khai phá văn bản Web ................................................. 64
Hình 3.3. Thuật toán phân lớp K-Nearest Neighbor ................................... 67
Hình 3.4. Thuật toán phân cụm phân cấp .................................................... 67
Hình 3.5. Thuật toán phân cụm phân hoạch ................................................ 68
Hình 3.6. Kiến trúc tổng quát của khai phá theo sử dụng Web .................. 70
Hình 3.7. Minh họa nội dung logs file......................................................... 72
Hình 3.8. Phân tích người dùng truy cập Web ............................................ 77
Hình 3.9. Đồ thi liên kết Web ...................................................................... 78
Hình 3.10. Quan hệ trực tiếp giữa 2 trang ................................................... 79
Hình 3.11. Độ tương tự đồng trích dẫn ....................................................... 79
Hình 3.12. Độ tương tự chỉ mục .................................................................. 79
Hình 3.13. Cộng đồng Web ......................................................................... 80
Hình 3.14. Kết quả của thuật toán PageRank .............................................. 81
Hình 3.15. Đồ thị phân đôi của Hub và Authority ...................................... 82
Hình 3.16. Sự kết hợp giữa Hub và Authority ............................................ 83
Hình 3.17. Đồ thị Hub-Authority ................................................................ 84
Hình 3.18. Giá trị trọng số các Hub và Authority ....................................... 84
Hình 3.19. Thuật toán đánh trọng số cụm và trang ..................................... 86
Hình 3.20. Các bước phân cụm kết quả tìm kiếm trên Web ....................... 87
Hình 3.21. Thuật toán k-means trong phân cụm nội dung tài liệu Web ..... 91

DANH SÁCH CÁC BẢNG BIỂU

Bảng 1.1. Bảng tham số thuộc tính nhị phân ............................................... 18

Bảng 1.2. Thống kê các từ tần số xuất hiện cao .......................................... 24
Bảng 3.1. Thống kê số người dùng tại các thời gian khác nhau ................. 76
Bảng 3.2. Bảng đo thời gian thực hiện thuật toán phân cụm ...................... 92

Hoàng Văn Dũng

vi


Khai phá dữ liệu Web bằng kỹ thuật phân cụm

CÁC CỤM TỪ VIẾT TẮT

STT Viết tắt

Cụm từ tiếng Anh

Cụm từ tiếng Việt

1

CNTT

Information Technology

Công nghệ thông tin

2

CSDL


Database

Cơ sở dữ liệu

3

KDD

Knowledge Discovery in
Database

Khám phá tri thức trong
cơ sở dữ liệu

4

KPDL

Data mining

Khai phá dữ liệu

5

KPVB

Text Mining

Khai phá văn bản


6

PCDL

Data Clustering

Phân cụm dữ liệu

Hoàng Văn Dũng

vii


Khai phá dữ liệu Web bằng kỹ thuật phân cụm

LỜI MỞ ĐẦU
Trong những năm gần đây cùng với phát triển nhanh chóng của khoa học
kỹ thuật là sự bùng nỗ về tri thức. Kho dữ liệu, nguồn tri thức của nhân loại
cũng trở nên đồ sộ, vô tận làm cho vấn đề khai thác các nguồn tri thức đó ngày
càng trở nên nóng bỏng và đặt ra thách thức lớn cho nền công nghệ thông tin
thế giới.
Cùng với những tiến bộ vượt bậc của công nghệ thông tin là sự phát triển
mạnh mẽ của mạng thông tin toàn cầu, nguồn dữ liệu Web trở thành kho dữ liệu
khổng lồ. Nhu cầu về tìm kiếm và xử lý thông tin, cùng với yêu cầu về khả năng
kịp thời khai thác chúng để mạng lại những năng suất và chất lượng cho công
tác quản lý, hoạt động kinh doanh,… đã trở nên cấp thiết trong xã hội hiện đại.
Nhưng vấn đề tìm kiếm và sử dụng nguồn tri thức đó như thế nào để phục vụ
cho công việc của mình lại là một vấn đề khó khăn đối với người sử dụng. Để
đáp ứng phần nào yêu cầu này, người ta đã xây dựng các công cụ tìm kiếm và

xử lý thông tin nhằm giúp cho người dùng tìm kiếm được các thông tin cần thiết
cho mình, nhưng với sự rộng lớn, đồ sộ của nguồn dữ liệu trên Internet đã làm
cho người sử dụng cảm thấy khó khăn trước những kết quả tìm được.
Với các phương pháp khai thác cơ sở dữ liệu truyền thống chưa đáp ứng
được các yêu cầu đó. Để giải quyết vấn đề này, một hướng đi mới đó là nghiên
cứu và áp dụng kỹ thuật khai phá dữ liệu và khám phá tri thức trong môi trường
Web. Do đó, việc nghiên cứu các mô hình dữ liệu mới và áp dụng các phương
pháp khai phá dữ liệu trong khai phá tài nguyên Web là một xu thế tất yếu vừa
có ý nghĩa khoa học vừa mang ý nghĩa thực tiễn cao.
Vì vậy, tác giả chọn đề tài “Khai phá dữ liệu Web bằng kỹ thuật phân cụm ”
để làm luận văn tốt nghiệp cho mình.
Bố cục luận văn gồm 3 chương:
Hoàng Văn Dũng

1


Khai phá dữ liệu Web bằng kỹ thuật phân cụm

Chương 1 trình bày một cách tổng quan các kiến thức cơ bản về khai phá dữ
liệu và khám phá tri thức, khai phá dữ liệu trong môi trường Web; một số vấn đề
về biểu diễn và xử lý dữ liệu văn bản áp dụng trong khai phá dữ liệu Web.
Chương 2 giới thiệu một số kỹ thuật phân cụm dữ liệu phổ biến và thường
được sử dụng trong lĩnh vực khai phá dữ liệu và khám phá tri thức.
Chương 3 trình bày một số hướng nghiên cứu trong khai phá dữ liệu Web
như khai phá tài liệu Web, khai phá theo sử dụng Web, khai phá cấu trúc Web
và tiếp cận theo hướng sử dụng các kỹ thuật phân cụm dữ liệu để giải quyết bài
toán khai phá dữ liệu Web. Trong phần này cũng trình bày một mô hình áp dụng
kỹ thuật phân cụm dữ liệu trong tìm kiếm và phân cụm tài liệu Web.
Phần kết luận của luận văn tổng kết lại những vấn đề đã nghiên cứu, đánh

giá kết quả nghiên cứu, hướng phát triển của đề tài.
Phần phụ lục trình bày một số đoạn mã lệnh xử lý trong chương trình và
một số giao diện trong chương trình mô phỏng.

Hoàng Văn Dũng

2


Khai phá dữ liệu Web bằng kỹ thuật phân cụm

Chương 1. TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1. Khai phá dữ liệu và phát hiện tri thức
1.1.1. Khai phá dữ liệu
Cuối thập kỷ 80 của thế kỷ 20, sự phát triển rộng khắp của các CSDL đã
tạo ra sự bùng nổ thông tin trên toàn cầu, vào thời gian này người ta bắt đầu đề
cập đến khái niệm khủng hoảng trong việc phân tích dữ liệu tác nghiệp để cung
cấp thông tin với yêu cầu chất lượng ngày càng cao cho người làm quyết định
trong các tổ chức chính phủ, tài chính, thương mại, khoa học,…
Đúng như John Naisbett đã cảnh báo “Chúng ta đang chìm ngập trong dữ
liệu mà vẫn đói tri thức”. Lượng dữ liệu khổng lồ này thực sự là một nguồn tài
nguyên có nhiều giá trị bởi thông tin là yếu tố then chốt phục vụ cho mọi hoạt
động quản lý, kinh doanh, phát triển sản xuất và dịch vụ, … nó giúp người điều
hành và quản lý có những hiểu biết về môi trường và tiến trình hoạt động của tổ
chức mình trước khi ra quyết định để tác động đến quá trình hoạt động nhằm đạt
được các mục tiêu một cách hiệu quả và bền vững.
KPDL là một lĩnh vực mới được nghiên cứu, nhằm tự động khai thác thông
tin, tri thức mới hữu ích, tiềm ẩn từ những CSDL lớn cho các đơn vị, tổ chức,
doanh nghiệp,…. từ đó làm thúc đẩy khả năng sản xuất, kinh doanh, cạnh tranh
cho các đơn vị, tổ chức này. Các kết quả nghiên cứu khoa học cùng những ứng

dụng thành công trong KDD cho thấy KPDL là một lĩnh vực phát triển bền
vững, mang lại nhiều lợi ích và có nhiều triển vọng, đồng thời có ưu thế hơn hẵn
so với các công cụ tìm kiếm phân tích dữ liệu truyền thống. Hiện nay, KPDL đã
ứng dụng ngày càng rộng rãi trong các lĩnh vực như thương mại, tài chính, y
học, viễn thông, tin – sinh,….
Các kỹ thuật chính được áp dụng trong lĩnh vực KPDL phần lớn được thừa
kế từ lĩnh vực CSDL, học máy, trí tuệ nhân tạo, lý thuyết thông tin, xác suất
thống kê và tính toán hiệu năng cao,...

Hoàng Văn Dũng

3


Khai phá dữ liệu Web bằng kỹ thuật phân cụm

Như vậy ta có thể khái quát hóa khái niệm KPDL là một quá trình tìm
kiếm, phát hiện các tri thức mới, hữu ích, tiềm ẩn trong CSDL lớn.
KDD là mục tiêu chính của KPDL, do vậy hai khái niệm KPDL và KDD
được các nhà khoa học trên hai lĩnh vực xem là tương đương với nhau. Thế
nhưng nếu phân chia một cách chi tiết thì KPDL là một bước chính trong quá
trình KDD.

1.1.2. Quá trình khám phá tri thức
Quá trình khá phá tri thức có thể chia thành 5 bước như sau [10]:
Đánh giá,
biểu diễn

Tiền
xử lý

Trích
chọn

Dữ liệu
thô

Dữ liệu
lựa chọn

Biến
đổi

Dữ liệu
tiền xử lý

Khai
phá
Các mẫu

Tri
thức

Dữ liệu
biến đổi

Hình 1.1. Quá trình khám phá tri thức

Quá trình KPDL có thể phân thành các giai đoạn sau [10]:
Trích chọn dữ liệu: Đây là bước trích chọn những tập dữ liệu cần được khai
phá từ các tập dữ liệu lớn ban đầu theo một số tiêu chí nhất định.

Tiền xử lý dữ liệu: Đây là bước làm sạch dữ liệu (xử lý những dữ liệu
không đầy đủ, nhiễu, không nhất quán,...), rút gọn dữ liệu (sử dụng hàm nhóm
và tính tổng, các phương pháp nén dữ liệu, sử dụng histograms, lấy mẫu,...), rời
rạc hóa dữ liệu (rời rạc hóa dựa vào histograms, dựa vào entropy, dựa vào phân
khoảng,...). Sau bước này, dữ liệu sẽ nhất quán, đầy đủ, được rút gọn và được
rời rạc hóa.
Biến đổi dữ liệu: Đây là bước chuẩn hóa và làm mịn dữ liệu để đưa dữ liệu
về dạng thuận lợi nhất nhằm phục vụ quá trình khai phá ở bước sau.
Hoàng Văn Dũng

4


Khai phá dữ liệu Web bằng kỹ thuật phân cụm

Khai phá dữ liệu: Đây là bước áp dụng những kỹ thuật phân tích (như các
kỹ thuật của học máy) nhằm để khai thác dữ liệu, trích chọn được những mẫu
thông tin, những mối liên hệ đặc biệt trong dữ liệu. Đây được xem là bước quan
trọng và tốn nhiều thời gian nhất của toàn quá trình KDD.
Đánh giá và biểu diễn tri thức: Những mẫu thông tin và mối liên hệ trong
dữ liệu đã được khám phá ở bước trên được biến đổi và biểu diễn ở một dạng
gần gũi với người sử dụng như đồ thị, cây, bảng biểu, luật,... Đồng thời bước
này cũng đánh giá những tri thức khám phá được theo những tiêu chí nhất định.

1.1.3. Khai phá dữ liệu và các lĩnh vực liên quan
KPDL là một lĩnh vực liên quan tới thống kê, học máy, CSDL, thuật toán,
tính toán song song, thu nhận tri thức từ hệ chuyên gia và dữ liệu trừu tượng.
Đặc trưng của hệ thống khám phá tri thức là nhờ vào các phương pháp, thuật
toán và kỹ thuật từ những lĩnh vực khác nhau để KPDL.
Lĩnh vực học máy và nhận dạng mẫu trong KDD nghiên cứu các lý thuyết

và thuật toán của hệ thống để trích ra các mẫu và mô hình từ dữ liệu lớn. KDD
tập trung vào việc mở rộng các lý thuyết và thuật toán cho các vấn đề tìm ra các
mẫu đặc biệt (hữu ích hoặc có thể rút ra tri thức quan trọng) trong CSDL lớn.
Ngoài ra, KDD có nhiều điểm chung với thống kê, đặc biệt là phân tích dữ
liệu thăm dò (Exploratory Data Analysis - EDA). Hệ thống KDD thường gắn
những thủ tục thống kê cho mô hình dữ liệu và tiến trình nhiễu trong khám phá
tri thức nói chung.
Một lĩnh vực liên quan khác là phân tích kho dữ liệu. Phương pháp phổ
biến để phân tích kho dữ liệu là OLAP (On-Line Analytical Processing). Các
công cụ OLAP tập trung vào phân tích dữ liệu đa chiều.

1.1.4. Các kỹ thuật áp dụng trong khai phá dữ liệu
KDD là một lĩnh vực liên ngành, bao gồm: Tổ chức dữ liệu, học máy, trí
tuệ nhân tạo và các khoa học khác. Sự kết hợp này có thể được diễn tả như sau:

Hoàng Văn Dũng

5


Khai phá dữ liệu Web bằng kỹ thuật phân cụm

Các lĩnh vực
khoa học khác

Tổ chức dữ liệu

Học máy và
trí tuệ nhân tạo


Hình 1.2. Các lĩnh vực liên quan đến khám phá tri thức trong CSDL

Đứng trên quan điểm của học máy, thì các kỹ thuật trong KPDL, bao gồm:
Học có giám sát: Là quá trình gán nhãn lớp cho các phần tử trong CSDL
dựa trên một tập các ví dụ huấn luyện và các thông tin về nhãn lớp đã biết.
Học không có giám sát: Là quá trình phân chia một tập dữ liệu thành các
lớp hay cụm dữ liệu tương tự nhau mà chưa biết trước các thông tin về lớp hay
tập các ví dụ huấn luyện.
Học nửa giám sát: Là quá trình phân chia một tập dữ liệu thành các lớp dựa
trên một tập nhỏ các ví dụ huấn luyện và các thông tin về một số nhãn lớp đã
biết trước.
+ Nếu căn cứ vào lớp các bài toán cần giải quyết, thì KPDL bao gồm các
kỹ thuật áp dụng sau [10]:
Phân lớp và dự báo: Xếp một đối tượng vào một trong những lớp đã biết
trước. Ví dụ như phân lớp các dữ liệu bệnh nhân trong hồ sơ bệnh án. Hướng
tiếp cận này thường sử dụng một số kỹ thuật của học máy như cây quyết định,
mạng nơron nhân tạo,... Phân lớp và dự báo còn được gọi là học có giám sát.
Luật kết hợp: Là dạng luật biểu diễn tri thức ở dạng khá đơn giản. Ví dụ:
“60 % nữ giới vào siêu thị nếu mua phấn thì có tới 80% trong số họ sẽ mua thêm
son”. Luật kết hợp được ứng dụng nhiều trong lĩnh vực kinh doanh, y học, tinsinh, tài chính và thị trường chứng khoán,...

Hoàng Văn Dũng

6


Khai phá dữ liệu Web bằng kỹ thuật phân cụm

Phân tích chuỗi theo thời gian: Tương tự như khai phá luật kết hợp nhưng
có thêm tính thứ tự và tính thời gian. Hướng tiếp cận này được ứng dụng nhiều

trong lĩnh vực tài chính và thị trường chứng khoán vì nó có tính dự báo cao.
Phân cụm: Xếp các đối tượng theo từng cụm dữ liệu tự nhiên. Phân cụm
còn được gọi là học không có giám sát.
Mô tả và tóm tắt khái niệm: Thiên về mô tả, tổng hợp và tóm tắt khái niệm,
ví dụ như tóm tắt văn bản.
Do KPDL được ứng dụng rộng rãi nên nó có thể làm việc với rất nhiều kiểu
dữ liệu khác nhau. Sau đây là một số dạng dữ liệu điển hình: Dữ liệu quan hệ,
dữ liệu đa chiều, dữ liệu dạng giao dịch, dữ liệu quan hệ - hướng đối tượng, dữ
liệu không gian và thời gian, dữ liệu chuỗi thời gian, dữ liệu đa phương tiện, dữ
liệu văn bản và Web,…

1.1.5. Những chức năng chính của khai phá dữ liệu
Hai mục tiêu chính của KPDL là mô tả và dự báo. Dự báo là dùng một số
biến hoặc trường trong CSDL để dự đoán ra các giá trị chưa biết hoặc sẽ có của
các biến quan trọng khác. Việc mô tả tập trung vào tìm kiếm các mẫu mà con
người có thể hiểu được để mô tả dữ liệu. Trong lĩnh vực KDD, mô tả được quan
tâm nhiều hơn dự báo, nó ngược với các ứng dụng học máy và nhận dạng mẫu
mà trong đó việc dự báo thường là mục tiêu chính. Trên cơ sở mục tiêu chính
của KPDL, các chức năng chính của KDD gồm:
Mô tả lớp và khái niệm: Dữ liệu có thể được kết hợp trong lớp và khái
niệm. Thí dụ, trong kho dữ liệu bán hàng thiết bị tin học, các lớp mặt hàng bao
gồm máy tính, máy in,…và khái niệm khách hàng bao gồm khách hàng mua sỉ
và khách mua lẻ. Việc mô tả lớp và khái niệm là rất hữu ích cho giai đoạn tổng
hợp, tóm lược và chính xác hoá. Mô tả lớp và khái niệm được bắt nguồn từ đặc
trưng hoá dữ liệu và phân biệt dữ liệu. Đặc trưng hoá dữ liệu là quá trình tổng
hợp những đặc tính hoặc các thành phần chung của một lớp dữ liệu mục tiêu.
Phân biệt dữ liệu là so sánh lớp dữ liệu mục tiêu với những lớp dữ liệu đối chiếu

Hoàng Văn Dũng


7


Khai phá dữ liệu Web bằng kỹ thuật phân cụm

khác. Lớp dữ liệu mục tiêu và các lớp đối chiếu là do người dùng chỉ ra và
tương ứng với các đối tượng dữ liệu nhận được nhờ truy vấn.
Phân tích sự kết hợp: Phân tích sự kết hợp là khám phá các luật kết hợp
thể hiện mối quan hệ giữa các thuộc tính giá trị mà ta nhận biết được nhờ tần
suất xuất hiện cùng nhau của chúng. Các luật kết hợp có dạng X  Y , tức là
A1  ....  An  B1  .....  Bm , trong đó Ai (i=1,..., n) và Bj (j=1,...,m) là các cặp

thuộc tính giá trị. Luật kết hợp dạng X  Y có thể được hiểu là “dữ liệu thoã
mãn các điều kiện của X thì cũng sẽ thoả các điều kiện của Y”.
Phân lớp và dự báo: Phân lớp là quá trình tìm kiếm một tập các mô hình
hoặc chức năng mà nó mô tả và phân biệt nó với các lớp hoặc khái niệm khác.
Các mô hình này nhằm mục đích dự báo về lớp của một số đối tượng. Việc xây
dựng mô hình dựa trên sự phân tích một tập các dữ liệu được huấn luyện có
nhiều dạng thể hiện mô hình như luật phân lớp (IF-THEN), cây quyết định, công
thức toán học hay mạng nơron,... Sự phân lớp được sử dụng để dự đoán nhãn
lớp của các đối tượng trong dữ liệu. Tuy nhiên trong nhiều ứng dụng, người ta
mong muốn dự đoán những giá trị khuyết thiếu nào đó. Thông thường đó là
trường hợp dự đoán các giá trị của dữ liệu kiểu số. Trước khi phân lớp và dự
báo, có thể cần thực hiện phân tích thích hợp để xác định và loại bỏ các thuộc
tính không tham gia vào quá trình phân lớp và dự báo.
Phân cụm: Không giống như phân lớp và dự báo, phân cụm phân tích các
đối tượng dữ liệu khi chưa biết nhãn của lớp. Nhìn chung, nhãn lớp không tồn
tại trong suốt quá trình huấn luyện dữ liệu, nó phân cụm có thể được sử dụng để
đưa ra nhãn của lớp. Sự phân cụm thực hiện nhóm các đối tượng dữ liệu theo
nguyên tắc: Các đối tượng trong cùng một nhóm thì giống nhau hơn các đối

tượng khác nhóm. Mỗi cụm được tạo thành có thể được xem như một lớp các
đối tượng mà các luật được lấy ra từ đó. Dạng của cụm được hình thành theo một
cấu trúc phân cấp của các lớp mà mỗi lớp là một nhóm các sự kiện tương tự nhau.
Phân tích các đối tượng ngoài cuộc: Một CSDL có thể chứa các đối
tượng không tuân theo mô hình dữ liệu. Các đối tượng như vậy gọi là đối tượng
Hoàng Văn Dũng

8


Khai phá dữ liệu Web bằng kỹ thuật phân cụm

ngoài cuộc. Hầu hết các phương pháp KPDL đều coi các đối tượng ngoài cuộc
là nhiễu và loại bỏ chúng. Tuy nhiên trong một số ứng dụng, chẳng hạn như phát
hiện nhiễu, thì sự kiện hiếm khi xảy ra lại được chú ý hơn những gì thường
xuyên gặp phải. Sự phân tích dữ liệu ngoài cuộc được coi như là sự khai phá các
đối tượng ngoài cuộc. Một số phương pháp được sử dụng để phát hiện đối tượng
ngoài cuộc: sử dụng các test mang tính thống kê trên cơ sở một phân phối dữ
liệu hay một mô hình xác suất cho dữ liệu, dùng các độ đo khoảng cách mà theo
đó các đối tượng có một khoảng cách đáng kể đến cụm bất kì khác được coi là
đối tượng ngoài cuộc, dùng các phương pháp dựa trên độ lệch để kiểm tra sự
khác nhau trong những đặc trưng chính của các nhóm đối tượng.
Phân tích sự tiến hoá: Phân tích sự tiến hoá thực hiện việc mô tả và mô
hình hoá các qui luật hay khuynh hướng của những đối tượng mà hành vi của
chúng thay đổi theo thời gian. Phân tích sự tiến hoá có thể bao gồm cả đặc trưng
hoá, phân biệt, tìm luật kết hợp, phân lớp hay PCDL liên quan đến thời gian,
phân tích dữ liệu theo chuỗi thời gian, so sánh mẫu theo chu kỳ và phân tích dữ
liệu dựa trên độ tương tự.

1.1.6. Ứng dụng của khai phá dữ liệu

KPDL là một lĩnh vực được quan tâm và ứng dụng rộng rãi. Một số ứng
dụng điển hình trong KPDL có thể liệt kê như sau: Phân tích dữ liệu và hỗ trợ ra
quyết định, điều trị y học, KPVB, khai phá Web, tin-sinh, tài chính và thị trường
chứng khoán, bảo hiểm,...
Thương mại: Như phân tích dữ liệu bán hàng và thị trường, phân tích đầu
tư, phát hiện gian lận, chứng thực hóa khách hàng, dự báo xu hướng phát triển,...
Thông tin sản xuất: Điều khiển, lập kế hoạch, hệ thống quản lý, phân tích
thử nghiệm,...
Thông tin khoa học: Dự báo thời tiết, bảo lụt, động đất, tin sinh học,...
Hiện nay các hệ quản trị CSDL đã tích hợp những modul để KPDL như
SQL Server, Oracle, đến năm 2007 Microsoft đã cung cấp sẵn công cụ KPDL
tích hợp trong cả MS-Word, MS-Excel,..
Hoàng Văn Dũng

9


Khai phá dữ liệu Web bằng kỹ thuật phân cụm

Hình 1.3. Trực quan hóa kết quả KPDL trong Oracle

1.2. Kỹ thuật phân cụm trong khai phá dữ liệu
1.2.1. Tổng quan về kỹ thuật phân cụm
Mục đích chính của PCDL nhằm khám phá cấu trúc của mẫu dữ liệu để
thành lập các nhóm dữ liệu từ tập dữ liệu lớn, theo đó nó cho phép người ta đi
sâu vào phân tích và nghiên cứu cho từng cụm dữ liệu này nhằm khám phá và
tìm kiếm các thông tin tiềm ẩn, hữu ích phục vụ cho việc ra quyết định. Ví dụ
“nhóm các khách hàng trong CSDL ngân hàng có vốn các đầu tư vào bất động
sản cao”… Như vậy, PCDL là một phương pháp xử lý thông tin quan trọng và
phổ biến, nó nhằm khám phá mối liên hệ giữa các mẫu dữ liệu bằng cách tổ

chức chúng thành các cụm.
Ta có thể khái quát hóa khái niệm PCDL [10][19]: PCDL là một kỹ thuật
trong KPDL, nhằm tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tự nhiên, tiềm
ẩn, quan trọng trong tập dữ liệu lớn từ đó cung cấp thông tin, tri thức hữu ích
cho việc ra quyết định.
Như vậy, PCDL là quá trình phân chia một tập dữ liệu ban đầu thành các
cụm dữ liệu sao cho các phần tử trong một cụm "tương tự" với nhau và các phần
tử trong các cụm khác nhau sẽ "phi tương tự" với nhau. Số các cụm dữ liệu được
Hoàng Văn Dũng

10


Khai phá dữ liệu Web bằng kỹ thuật phân cụm

phân ở đây có thể được xác định trước theo kinh nghiệm hoặc có thể được tự
động xác định của phương pháp phân cụm.
Độ tương tự được xác định dựa trên giá trị các thuộc tính mô tả đối tượng.
Thông thường, phép đo khoảng cách thường được sử dụng để đánh giá độ tương
tự hay phi tương tự.
Ta có thể minh hoạ vấn đề phân cụm như hình sau đây:

Hình 1.4. Mô phỏng sự PCDL

Trong hình trên, sau khi phân cụm ta thu được bốn cụm trong đó các phần
tử "tương tự" thì được xếp vào một cụm, các phần tử "phi tương tự" thì chúng
thuộc về các cụm khác nhau.
Trong PCDL khái niệm, hai hoặc nhiều đối tượng cùng được xếp vào một
cụm nếu chúng có chung một định nghĩa về khái niệm hoặc chúng xấp xỉ với
các khái niệm mô tả cho trước. Như vậy, PCDL không sử dụng độ đo “tương tự”

như đã trình bày ở trên.
Trong học máy, PCDL được xem là vấn đề học không có giám sát, vì nó
phải giải quyết vấn đề tìm một cấu trúc trong tập hợp dữ liệu chưa biết trước các
thông tin về lớp hay các thông tin về tập huấn luyện. Trong nhiều trường hợp,
nếu phân lớp được xem là vấn đề học có giám sát thì PCDL là một bước trong
phân lớp dữ liệu, PCDL sẽ khởi tạo các lớp cho phân lớp bằng cách xác định các
nhãn cho các nhóm dữ liệu.
Một vấn đề thường gặp trong PCDL là hầu hết các dữ liệu cần cho phân
cụm đều có chứa dữ liệu "nhiễu" do quá trình thu thập thiếu chính xác hoặc
thiếu đầy đủ, vì vậy cần phải xây dựng chiến lược cho bước tiền xử lý dữ liệu
nhằm khắc phục hoặc loại bỏ "nhiễu" trước khi bước vào giai đoạn phân tích
Hoàng Văn Dũng

11


Khai phá dữ liệu Web bằng kỹ thuật phân cụm

PCDL. "Nhiễu" ở đây có thể là các đối tượng dữ liệu không chính xác hoặc các
đối tượng dữ liệu khuyết thiếu thông tin về một số thuộc tính. Một trong các kỹ
thuật xử lý nhiễu phổ biến là việc thay thế giá trị của các thuộc tính của đối
tượng "nhiễu" bằng giá trị thuộc tính tương ứng của đối tượng dữ liệu gần nhất.
Ngoài ra, dò tìm phần tử ngoại lai là một trong những hướng nghiên cứu
quan trọng trong PCDL, chức năng của nó là xác định một nhóm nhỏ các đối
tượng dữ liệu "khác thường" so với các dữ liệu khác trong CSDL - tức là các đối
tượng dữ liệu không tuân theo các hành vi hoặc mô hình dữ liệu - nhằm tránh sự
ảnh hưởng của chúng tới quá trình và kết quả của PCDL. Khám phá các phần tử
ngoại lai đã được phát triển và ứng dụng trong viễn thông, dò tìm gian lận
thương mại…
Tóm lại, PCDL là một vấn đề khó vì người ta phải đi giải quyết các vấn đề

con cơ bản như sau:
- Biểu diễn dữ liệu.
- Xây dựng hàm tính độ tương tự.
- Xây dựng các tiêu chuẩn phân cụm.
- Xây dựng mô hình cho cấu trúc cụm dữ liệu.
- Xây dựng thuật toán phân cụm và xác lập các điều kiện khởi tạo.
- Xây dựng các thủ tục biểu diễn và đánh giá kết quả phân cụm.
Theo các nghiên cứu thì đến nay chưa có một phương pháp phân cụm tổng
quát nào có thể giải quyết trọn vẹn cho tất cả các dạng cấu trúc cụm dữ liệu.
Hơn nữa, các phương pháp phân cụm cần có cách thức biểu diễn cấu trúc các
cụm dữ liệu khác nhau, với mỗi cách thức biểu diễn khác nhau sẽ có một thuật
toán phân cụm phù hợp. PCDL đang là vấn đề mở và khó vì người ta cần phải đi
giải quyết nhiều vấn đề cơ bản như đã đề cập ở trên một cách trọn vẹn và phù
hợp với nhiều dạng dữ liệu khác nhau. Đặc biệt đối với dữ liệu hỗn hợp, đang
ngày càng tăng trưởng không ngừng trong các hệ quản trị dữ liệu, đây cũng là
một trong những thách thức lớn trong lĩnh vực KPDL trong những thập kỷ tiếp
theo và đặc biệt là trong lĩnh vực KPDL Web.
Hoàng Văn Dũng

12


Khai phá dữ liệu Web bằng kỹ thuật phân cụm

1.2.2. Ứng dụng của phân cụm dữ liệu
PCDL là một trong những công cụ chính của KPDL được ứng dụng trong
nhiều lĩnh vực như thương mại và khoa học. Các kỹ thuật PCDL đã được áp
dụng cho một số ứng dụng điển hình trong các lĩnh vực sau [10][19]:
Thương mại: PCDL có thể giúp các thương nhân khám phá ra các nhóm
khách hàng quan trọng có các đặc trưng tương đồng nhau và đặc tả họ từ các

mẫu mua bán trong CSDL khách hàng.
Sinh học: PCDL được sử dụng để xác định các loại sinh vật, phân loại các
Gen với chức năng tương đồng và thu được các cấu trúc trong các mẫu.
Phân tích dữ liệu không gian: Do sự đồ sộ của dữ liệu không gian như dữ
liệu thu được từ các hình ảnh chụp từ vệ tinh, các thiết bị y học hoặc hệ thống
thông tin địa lý (GIS), …làm cho người dùng rất khó để kiểm tra các dữ liệu
không gian một cách chi tiết. PCDL có thể trợ giúp người dùng tự động phân
tích và xử lý các dữ liêu không gian như nhận dạng và chiết xuất các đặc tính
hoặc các mẫu dữ liệu quan tâm có thể tồn tại trong CSDL không gian.
Lập quy hoạch đô thị: Nhận dạng các nhóm nhà theo kiểu và vị trí địa lý,…
nhằm cung cấp thông tin cho quy hoạch đô thị.
Nghiên cứu trái đất: Phân cụm để theo dõi các tâm động đất nhằm cung
cấp thông tin cho nhận dạng các vùng nguy hiểm.
Địa lý: Phân lớp các động vật, thực vật và đưa ra đặc trưng của chúng.
Khai phá Web: PCDL có thể khám phá các nhóm tài liệu quan trọng, có
nhiều ý nghĩa trong môi trường Web. Các lớp tài liệu này trợ giúp cho việc
khám phá tri thức từ dữ liệu Web, khám phá ra các mẫu truy cập của khách hàng
đặc biệt hay khám phá ra cộng đồng Web,…

1.2.3. Các yêu cầu đối với kỹ thuật phân cụm dữ liệu
Việc xây dựng, lựa chọn một thuật toán phân cụm là bước then chốt cho
việc giải quyết vấn đề phân cụm, sự lựa chọn này phụ thuộc vào đặc tính dữ liệu
cần phân cụm, mục đích của ứng dụng thực tế hoặc xác định độ ưu tiên giữa
chất lượng của các cụm hay tốc độ thực hiện thuật toán,…
Hoàng Văn Dũng

13




×