..
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
-------------------
NGUYỄN THỊ THU
MỘT SỐ PHƯƠNG PHÁP PHÂN CỤM DỮ LIỆU WEB
LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH
Chuyên ngành : Khoa học máy tính
Mã số
: 60 48 01
Thái Nguyên, năm 2011
Số hóa bởi Trung tâm Học liệu – ĐHTN
i
Lời cảm ơn
Để đạt được kết quả học tập và nghiên cứu hôm nay, trước tiên tôi xin
chân thành bày tỏ lòng biết ơn sâu sắc đến thầy hướng dẫn khoa học
GS.TS.Vũ Đức Thi – Viện Công nghệ thông tin – Viện khoa học Việt Nam,
người đã tận tình hướng dẫn, chỉ bảo, giúp đỡ tơi trong q trình thực hiện
luận văn.
Cho phép tôi gửi lời cảm ơn đến Quý thầy cô giáo trong Trường Đại
học Công nghệ và truyền thông – Đại học Thái Nguyên, Các thầy giáo ở Viện
Cơng nghệ thơng tin đã tận tình giảng dạy, truyền đạt cho tôi những kiến thức
vô cùng quý giá trong suốt hai năm học qua.
Tôi xin chân thành cảm ơn Ban Giám hiệu trường Dự Bị Đại học Dân
tộc Sầm Sơn, nơi tôi công tác, đã tạo điều kiện thuận lợi cho tơi được tham
gia khóa học.
Xin được chân thành cảm ơn gia đình, bạn bè, đồng nghiệp,... đã động
viên giúp đỡ và chia sẻ những khó khăn trong thời gian tơi tham gia khóa học.
Dù đã có rất nhiều cố gắng, song luận văn không tránh khỏi những hạn
chế, thiếu sót. Kính mong nhận được sự chia sẻ và những ý kiến chỉ dẫn, góp
ý quý báu của các thầy cô giáo, bạn bè đồng nghiệp.
Trân trọng!
Thái Nguyên, 10/2011
Tác giả
Nguyễn Thị Thu
Số hóa bởi Trung tâm Học liệu – ĐHTN
ii
MỤC LỤC
Lời cảm ơn ......................................................................................................... i
MỤC LỤCCÁC CỤM TỪ VIẾT TẮT.......................................................... ii
CÁC CỤM TỪ VIẾT TẮT ............................................................................ iv
DANH MỤC CÁC HÌNH VẼ......................................................................... v
LỜI NĨI ĐẦU ................................................................................................. 1
CHƢƠNG I. 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 phương pháp áp dụng trong Khai phá dữ liệu .......................... 6
1.1.5. Những chức năng chính của KPDL ................................................. 7
1.1.6. Các ứng dụng của Khai phá dữ liệu ................................................. 9
1.2. Phƣơng pháp phân cụm trong Khai phá dữ liệu ............................. 10
1.2.1. Khái quát về phân cụm dữ liệu....................................................... 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 phương pháp phân cụm dữ liệu ..................... 14
1.3. Khai phá Web...................................................................................... 15
1.3.1. Khai phá Web ................................................................................. 15
1.3.2. Khái niệm khai phá Web ................................................................ 16
1.3.3. Đặc trưng của khai phá Web .......................................................... 17
1.3.4. Các đối tượng khai phá Web .......................................................... 18
Tổng kết chƣơng 1 ..................................................................................... 18
CHƢƠNG II. MỘT SỐ PHƢƠNG PHÁP PHÂN CỤM DỮ LIỆU......... 20
2.1. Phân cụm phân hoạch: ...................................................................... 21
2.1.1. Thuật toán K-means ....................................................................... 21
2.1.2. Thuật toán K-medoids ................................................................. 24
2.2. Phân cụm phân cấp ............................................................................ 26
2.2.1. Thuật toán BIRCH ......................................................................... 27
2.2.2. Thuật toán CURE ........................................................................... 30
2.3. Phƣơng pháp phân cụm dữ liệu dựa vào mật độ............................. 32
2.3.1. Thuật toán DBSCAN ..................................................................... 32
2.3.2. Thuật toán OPTICS ........................................................................ 36
2.4. Thuật toán phân cụm dữ liệu dựa trên lƣới ..................................... 37
2.4.1. Thuật toán STING .......................................................................... 37
2.4.2. Thuật toán CLIQUE ....................................................................... 40
2.5. Phân cụm dữ liệu dựa trên mơ hình ................................................. 41
2.5.1. Thuật tốn EM ................................................................................ 41
2.5.2. Thuật tốn COBWEB ..................................................................... 42
Số hóa bởi Trung tâm Học liệu – ĐHTN
iii
2.6. Phân cụm dữ liệu mờ .......................................................................... 43
2.6.1. Hàm mục tiêu ................................................................................. 44
2.6.2. Thuật toán FCM ............................................................................. 47
Tổng kết chƣơng 2 ..................................................................................... 48
CHƢƠNG III. KHAI PHÁ DỮ LIỆU WEB .............................................. 50
3.1. Khai phá nội dung Web ..................................................................... 50
3.1.1. Khai phá kết quả tìm kiếm ............................................................. 51
3.1.2. Khai phá văn bản Web .................................................................. 51
3.2. Khai phá theo sử dụng Web .............................................................. 54
3.2.1. Ứng dụng của khai phá theo sử dụng Web .................................... 55
3.2.2. Các phương pháp được sử dụng trong khai phá dữ liệu Web ........ 56
3.2.3. Những vấn đề trong khai phá theo sử dụng Web ........................... 56
3.2.4. Quá trình khai phá theo sử dụng Web ............................................ 56
3.3. Khai phá cấu trúc Web ...................................................................... 58
3.3.1. Tiêu chuẩn đánh giá độ tương tự.................................................... 59
3.3.2. Khai phá và quản lý cộng đồng Web ............................................. 60
3.4.Áp dụng thuật toán phân cụm dữ liệu trong tìm kiếm và phân cụm
tài liệu Web ................................................................................................. 64
3.4.1. Hướng tiếp cận bằng phương pháp phân cụm dữ liệu. .................. 64
3.4.2. Quá trình tìm kiếm và phân cụm tài liệu ........................................ 66
Tổng kết chƣơng 3 ..................................................................................... 73
KẾT LUẬN .................................................................................................... 74
TÀI LIỆU THAM KHẢO ............................................................................ 76
PHỤ LỤC ........................................................... Error! Bookmark not defined.
Số hóa bởi Trung tâm Học liệu – ĐHTN
iv
CÁC CỤM TỪ VIẾT TẮT
ST
T
Viết tắt
Cụm từ tiếng Anh
Cụm từ tiếng Việt
Database
Cơ sở dữ liệu
Knowledge Discovery in
Khám phá tri thức
Database
trong cơ sở dữ liệu
KPDL
Data mining
Khai phá dữ liệu
PCDL
Data Clustering
Phân cụm dữ liệu
1
CSDL
2
KDD
3
4
Số hóa bởi Trung tâm Học liệu – ĐHTN
v
DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Q trình khám phá tri thức
4
Hình 2.1. Sơ đồ phân loại của một số thuật tốn phân cụm dữ liệu
20
Hình 2.2. Mơ phỏng thuật tốn K-means
23
Hình 2.3. Các trường hợp của điểm P
25
Hình 2.4. Sơ đồ minh họa chiến lược phân cụm phân cấp
26
Hình 2.5. Sơ đồ mơ phỏng cây CF
28
Hình 2.6. Cụm dữ liệu khai phá bởi thuật tốn CURE
31
Hình 3.1. Phân loại khai phá Web
50
Hình 3.2. Quan hệ trực tiếp giữa 2 trang Web
60
Hình 3.3. Độ tương đồng trích dẫn
60
Hình 3.4. Độ tương tự chỉ mục
60
Hình 3.5. Đồ thị phân đơi của Hup và Authority
62
Hình 3.6. Sự kết hợp giữa Hup và Authority
63
Hình 3.7. Các bước phân cụm kết quả tìm kiếm trên Web
67
Số hóa bởi Trung tâm Học liệu – ĐHTN
1
LỜI NÓI ĐẦU
Khai phá dữ liệu là lĩnh vực được quan tâm nhiều trong thời gian gần
đây, xuất phát từ sự bùng nổ về thông tin, sự phát triển nhanh chóng của khoa
học kỹ thuật. Kho dữ liệu, nguồn tri thức của nhân loại cũng trở nên khổng lồ
và đồ sộ. Vấn đề đặt ra cần có những cơng cụ, phương pháp để khai thác các
nguồn tri thức đó ngày càng trở nên cấp thiết cho nghành khoa học công nghệ
thơng tin trên tồn thế giới.
Từ sự phát triển nhanh chóng của cơng nghệ thơng tin và Internet,
nguồn dữ Web đã trở thành kho dữ liệu khổng lồ. Nhu cầu về tìm kiếm, xử lý
thơng tin và những hiệu quả của chúng mang lại đã tác động không nhỏ đến
năng suất, chất lượng, hiệu quả trong các lĩnh vực kinh doanh, quản lý, khoa
học kỹ thuật…
Việc nghiên cứu và áp dụng các phương pháp phân cụm dữ liệu trong
khai phá tài nguyên Web là một xu thế tất yếu mang ý nghĩa khoa học và thực
tiễn cao.
Từ những lý do trên tác giả chọn đề tài “Một số phương pháp phân
cụm dữ liệu Web” để làm luận văn tốt nghiệp.
Bố cục của luận văn gồm 3 chương:
Chương 1 trình bày khái quát các khái niệm về khai phá dữ liệu; khám
phá tri thức; phân cụm dữ liệu và khai phá dữ liệu trong mơi trường Web.
Chương 2 trình bày một số phương pháp phân cụm dữ liệu phổ biến
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á nội dung Web, khai phá sử dụng Web, khai phá cấu trúc
Web và tiếp cận theo hướng sử dụng các phương pháp phân cụm dữ liệu để
giải quyết bài toán khai phá dữ liệu Web. Trong chương này tác giả tập trung
Số hóa bởi Trung tâm Học liệu – ĐHTN
2
nghiên cứu phương pháp phân cụm dữ liệu K-means và xây dựng chương
trình áp dụng K-means để 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 đề đã được đề cập
đến trong luận văn, đánh giá kết quả thu được của luận văn và hướng phát
triển của đề tài.
Số hóa bởi Trung tâm Học liệu – ĐHTN
3
CHƢƠNG I. 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
Trong những thập kỷ gần đây, sự phát triển rộng khắp của các cơ sở dữ
liệu đã tạo ra sự bùng nổ thơng tin trên tồn cầu, vào thời gian này người ta
bắt đầu đề cập đến việc khủng hoảng trong q trình 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 trong 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 trí thức”. Lượng dữ liệu khổng lồ thực sự là 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 trong các
lĩnh vực kinh doanh từ đó sẽ quyết định tác động đến quá trình hoạt động như
thế nào để đạ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 được nghiên cứu, nhằm tự động khai thác thơng
tin, tri thức hữu ích, tiềm ẩn từ những cơ sở dữ liệu lớn từ đó làm thúc đẩy
khả năng sản xuất, kinh doanh, cạnh tranh trong xã hội hiện nay. Các kết quả
nghiên cứu khoa học và 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 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 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 phương pháp
được áp dụng trong lĩnh vực KPDL phần lớn được thừa kế từ 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 tốn nâng cao...
Số hóa bởi Trung tâm Học liệu – ĐHTN
4
Như vậy KPDL là một quá trình tìm kiếm, phát hiện tri thức mới, tiềm
ẩn, hữu dụng trong CSDL lớn.
KDD là mục tiêu chính của KPDL, do vậy 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. Nhưng
thực tế KPDL là một bước chính trong q trình KDD.
1.1.2. Q trình khám phá tri thức
Q trình KDD có thể phân thành các giai đoạn sau:
Tri thức
các mẫu
Dữ liệu
biến đổi
Dữ liệu
tiền xử
lý
Dữ liệu
lựa chọn
Dữ liệu
thơ
Hình 1.1 Q trình khám phá tri thức
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 hàm histogram, lấy
mẫu...), rời rạc hoá dữ liệu (rời rạc dựa và histogram, dựa vào entropy, dựa
vào phân khoảng...), Sau bước này dữ liệu sẽ được nhất quán, đầy đủ, được
rút gọn và được rời rạc hố.
Số hóa bởi Trung tâm Học liệu – ĐHTN
5
Biến đổi dữ liệu: Đây là bước chuẩn hoá và làm mịn 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.
Khai phá dữ liệu: Đây là bước áp dụng các phương pháp phân tích
(như các phương pháp của học máy) nhằm để khai thác dữ liệu, trích chọn
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 tồn q 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 đã 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
tốn, tính tố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 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 tố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.
Ngồ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.
Số hóa bởi Trung tâm Học liệu – ĐHTN
6
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 phƣơng pháp áp dụng trong Khai phá dữ liệu
KDD là một lĩnh vực liên nghà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.
Đứng trên quan điểm của học máy, thì các phương pháp 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ác 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à q 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ề nhãn lớp đã biết
trước.
Nếu căn cứ vào lớp các bài tốn cần giải quyết, thì KPDL bao gồm các
phương pháp áp dụng sau:
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ố phương pháp 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à luật biểu diễn tri thức ở dạng khá đơn giản. Ví dụ:
“60% nam giới vào qn bia thì có tới 90% trong số họ sẽ uống bia”. Luật kết
Số hóa bởi Trung tâm Học liệu – ĐHTN
7
hợp được ứng dụng nhiều trong lĩnh vực kinh doanh, y học, tin – sinh, tài
chính và thị trường chứng khốn.,..
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 khố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ả 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 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 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 KPDL
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á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 nhiệm vụ 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à mua lẻ. Việc mô tả lớp và khái niệm là rất hữu ích cho giai đoạn
Số hóa bởi Trung tâm Học liệu – ĐHTN
8
tổng hợp và chính xác hố. Mơ tả lớp và khái niệm được bắt nguồn từ đặc
trưng hóa dữ liệu và phân biệt dữ liệu. Đặc trưng hóa dữ liệu là q 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 tương
phản khác. Lớp dữ liệu mục tiêu và các lớp dữ liệu tương phản là do người
dùng tự đặt 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 thỏa
mãn các điều kiện của X thì cũng thỏa mãn các điều kiện của Y.
Phân lớp và dữ báo: Phân lớp là q 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 tốn học, mạng nowrron,... 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ự đố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ần thực hiện phân tích các đối tượng để 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 là 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 của
lớp khơng tồn tại trong suốt quá trình huấn luyện dữ liệu, phân cụm có thể
được sử dụng để đưa ra nhãn của lớp. Sự phân cụm được thực hiện để nhóm
Số hóa bởi Trung tâm Học liệu – ĐHTN
9
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 trong các nhóm khác nhau. 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 ngồi cuộc: Một CSDL có thể chứa các đối
tượng khơng tn theo mơ hình dữ liệu. Các đối tượng như vậy gọi là đối
tượng 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. Sự phân tích dữ liệu ngồ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 ngồ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 hóa: Phân tích sự tiến hóa thực hiện việc mơ tả và mơ
hình hóa các quy 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 hóa có thể bao gồm cả đặc
trưng hóa, 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, 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. Các ứng dụng của Khai phá dữ liệu
KPDL được vận dụng trong nhiều lĩnh vực khác nhau nhằm khai thác
nguồn dữ liệu phong phú được lưu trữ trong các CSDL khác nhau. Tùy theo
bản chất của từng lĩnh vực, việc vận dụng KPDL có những cách tiếp cận
khác nhau. KPDL cũng được vận dụng hiệu quả để giải quyết các bài toán
phức tạp trong các ngành địi hỏi kỹ thuật cao như tìm kiếm mỏ dầu từ ảnh
Số hóa bởi Trung tâm Học liệu – ĐHTN
10
viễn thám, xác định các vùng gãy trong ảnh địa chất để dự đốn thiên tai, cảnh
báo hỏng hóc trong các hệ thống sản xuất,… Các bài toán này đã được giải
quyết từ khá lâu bằng các kỹ thuật nhận dạng hay xác suất thống kê nhưng
được giải quyết với yêu cầu cao hơn bởi các phương pháp của KPDL. Phân
nhóm và dự đốn là những cơng cụ rất cần thiết cho việc qui hoạch, phát triển
các hệ thống quản lý và sản xuất trong thực tế. Các phương pháp KPDL đã
được áp dụng thành cơng trong việc dự đốn tái sử dụng điện năng cho các
công ty cung cấp điện, lưu lượng viễn thông cho các công ty điện thoại, mức
độ tiêu thụ sản phẩm cho các nhà sản xuất, giá trị của sản phẩm trên thị
trường cho các cơng ty tài chính hay phân nhóm các khách hàng tiềm năng,…
Ngồi ra, KPDL cịn được áp dụng cho các vấn đề xã hội như phát hiện
tội phạm hay tăng cường an ninh xã hội. Vận dụng thành công KPDL đã mang
lại những hiệu quả thiết thực cho các hoạt động diễn ra hàng ngày trong đời
sống.
1.2. Phƣơng pháp phân cụm trong Khai phá dữ liệu
1.2.1. Khái quát về phân cụm dữ liệu
Phân cụm (Clustering) là q trình nhóm một tập các đối tượng thành
các nhóm hay các lớp đối tượng tương tự nhau. Một cụm (cluster) là một
tập các đối tượng giống nhau hay tương tự nhau, chúng khác hoặc ít
tương tự so với các đối tượng thuộc cụm khác. Khơng giống như q trình
phân loại, ta thường biết trước tính chất hay đặc điểm của các đối tượng trong
cùng một cụm và dựa vào đó để ấn định một đối tượng vào cụm của nó, trong
q trình phân cụm ta khơng hề biết trước tính chất của các cụm và thường
dựa vào mối quan hệ của các đối tượng để tìm ra sự giống nhau giữa các đối
tượng dựa vào một độ đo nào đó đặc trưng cho mỗi cụm.
Việc phân cụm không thực hiện độc lập mà thường sử dụng kết hợp với
các phương pháp khác. Một cách phân cụm được đưa ra cũng phải có một
Số hóa bởi Trung tâm Học liệu – ĐHTN
11
phương pháp áp dụng trên các lớp đó để đưa ra được ý nghĩa của cụm đó.
Ta có thể khái quát hóa khái niệm PCDL như sau [6][10]:
"PCDL là một phương pháp trong DATA MINING, 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 tâm trong tập dữ liệu
lớn, từ đó cung cấp thơng tin, tri thức hữu ích cho người sử dụng".
Hiện nay có rất nhiều vấn đề nghiên cứu về phân cụm trong các lĩnh
vực khác nhau như: KPDL, thống kê, học máy, cơng nghệ dữ liệu khơng
gian, sinh học... Do kích thước của các cơ sở dữ liệu tăng lên rất nhanh nên
phân cụm là vấn đề đã và đang thu hút nhiều sự quan tâm của các nhà khoa
học trên thế giới.
Trong lĩnh vực thống kê, phân cụm đã được nghiên cứu và phát triển
trong nhiều năm, các vấn đề tập trung chủ yếu vào phân tích các lớp dựa vào
khoảng cách. Các cơng cụ phân tích lớp dựa trên một số các phương pháp như kmeans, k-medoids đã được ứng dụng trong nhiều hệ thống phần mềm phân tích
thống kê như: S-Plus, SPSS, SAS...
Trong học máy, PCDL được xem là vấn đề học khơng có giám sát, vì
nó phải đi giải quyết vấn đề tìm một cấu trúc trong tập hợp các dữ liệu chưa biết
trước các thông tin về cụm hay các thơng tin về tập ví dụ huấn luyện. Trong
nhiều trường hợp, khi phân lớp (Classification) được xem vấn đề học có giám
sát thì PCDL là một bước trong phân lớp dữ liệu, trong đó 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.
Trong lĩnh vực khai thác dữ liệu, các vấn đề nghiên cứu trong phân
cụm chủ yếu tập trung vào tìm kiếm các phương pháp phân cụm hiệu quả và
tin cậy trong cơ sở dữ liệu lớn.
Trong lĩnh vực KPDL Web, phân cụm có thể khám phá ra 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ừ các CSDL...
Số hóa bởi Trung tâm Học liệu – ĐHTN
12
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 q 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 loại bỏ “nhiễu” trước khi bước vào giai đoạn phân tích PCDL. “Nhiễu” ở
đây có thể là đố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 phương pháp 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.
Ngồ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 tn 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
đề 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
Số hóa bởi Trung tâm Học liệu – ĐHTN
13
toán phân cụm phù hợp. PCDL đang là một vấn đề mở và khó vì người ta 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 phát triển không ngừng trong hệ quản trị dữ liệu, đây cũng thách thức
lớn của 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.
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ác phương pháp
PCDL đã được áp dụng cho một số ứng dụng điển hình trong các lĩnh vực như
sau [6][10]:
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 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ấ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 ta 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 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 nghuy 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ó
Số hóa bởi Trung tâm Học liệu – ĐHTN
14
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 phƣơng pháp phân cụm dữ liệu
Lựa chọn một thuật toán phân cụm dữ liệu là vấn đề then chốt để giải
quyết bài toán phân cụm dữ liệu, 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 các bài toán thực tế là xác định độ ưu tiên giữa chất
lượng phân cụm và tốc độ thực hiện của thuật toán.
Hầu hết các nghiên cứu để xây dựng và phát triển thuật toán phân cụm dữ
liệu đều nhằm đáp ứng các yêu cầu sau [6],[10]:
Có khả năng mở rộng: Một số thuật tốn có thể áp dụng cho tập dữ liệu
nhỏ (khoảng 200 bản ghi) nhưng không hiệu quả khi áp dụng cho một tập dữ
liệu lớn (khoảng 1 triệu bản ghi).
Thích nghi với các kiểu dữ liệu khác nhau: Thuật tốn có thể áp dụng
phân cụm đối với nhiều kiểu dữ liệu khác nhau như dữ liệu kiểu số, kiểu nhị
phân, kiểu hạng mục, kiểu định danh,… và thích nghi với kiểu dữ liệu hỗn hợp.
Khám phá ra các cụm với hình thù bất kỳ: Hầu hết các CSDL có chứa
nhiều cụm dữ liệu với hình thù khác nhau như: hình lõm, hình cầu, hình que,…
Vì vậy, để các cụm dữ liệu được khám phá ra có tính tự nhiên thì các thuật tốn
phân cụm dữ liệu phải có khả năng khám phá ra những cụm dữ liệu có các hình
thù khác nhau.
Tối thiểu lượng tri thức cần cho tham số đầu vào: Do các giá trị đầu vào
của các thuật tốn có ảnh hưởng rất lớn đến độ phức tạp, tốc độ của thuật tốn.
Do đó cần xác định các giá trị đầu vào của các thuật toán một cách tối ưu đặc
biệt là đối với những CSDL lớn.
Ít nhạy cảm đối với thứ tự của dữ liệu vào: Cùng một tập dữ liệu khi đưa
vào xử lý bằng các thuật toán PCDL, thứ tự vào của các đối tượng dữ liệu ở các
Số hóa bởi Trung tâm Học liệu – ĐHTN
15
lần thực hiện khác nhau không ảnh hưởng đến kết quả phân cụm dữ liệu.
Khả năng thích nghi với dữ liệu nhiễu cao: Hầu hết các dữ liệu phân cụm
trong KPDL đều có chứa các dữ liệu lỗi, dữ liệu không đầy đủ, dữ liệu rác được
gọi chung là dữ liệu nhiễu. Bởi vậy các thuật toán phân cụm dữ liệu khơng
những có hiệu quả với các dữ liệu nhiễu mà còn tránh dẫn đến chất lượng phân
cụm thấp do nhạy cảm với dữ liệu nhiễu.
Thích nghi với dữ liệu đa chiều: Thuật tốn có khả năng áp dụng có hiệu
quả đối với các dữ liệu đa chiều.
Dễ hiểu, dễ cài đặt và khả thi: Đây là yêu cầu đồng thời là tiêu chí để đánh
giá hiệu quả của các thuật toán PCDL.
1.3. Khai phá Web
1.3.1. Khai phá Web
Với sự phát triển nhanh chóng của mạng Interner đã sinh ra một khối
lượng khổng lồ các dữ liệu dạng siêu văn bản (dữ liệu Web). Vì vậy khai phá
dữ liệu Web đang từng bước trở nên quan trọng trong lĩnh vực KPDL, với
tham vọng lấy được những tri thức mới từ việc tìm kiếm, phân tích, tổng hợp.
Những tri thức đó có thể giúp ta xây dựng nên những Web site hiệu quả để
phục vụ con người được tốt hơn.
Khai phá và phân tích những thơng tin hữu ích trên Internet bằng cách
sử dụng phương pháp KPDL đã trở thành một hướng nghiên cứu trong lĩnh
vực khám phá tri thức. Khai phá Web bao gồm khai phá cấu trúc Web, khai
phá nội dung Web và khai phá các mẫu truy cập Web.
Sự phức tạp trong nội dung của các trang Web khác với các tài liệu văn
bản truyền thống [10]. Chúng không đồng nhất về cấu trúc, hơn nữa nguồn
thông tin Web thay đổi một cách nhanh chóng, khơng những về nội dung mà
cả về cấu trúc trang. Chẳng hạn như tin tức, thị trường chứng khốn, thơng tin
quảng cáo, trung tâm dịch vụ mạng,… Tất cả thông tin được thay đổi trên
Số hóa bởi Trung tâm Học liệu – ĐHTN
16
Web theo từng giai đoạn. Các liên kết trang và đường dẫn truy cập cũng thay
đổi. Khả năng gia tăng liên tục về số lượng người dùng, sự quan tâm đến Web
cũng khác nhau, động cơ người dùng rất đa dạng và phong phú. Vậy làm thế
nào để tìm kiếm được các thông tin mà người dùng cần, làm thế nào để có
được những trang Web có chất lượng tốt...?
Những vấn đề này sẽ được thực hiện hiệu quả hơn bằng cách nghiên
cứu các phương pháp KPDL áp dụng trong môi trường Web để giải quyết các
vấn đề như quản lý tốt các Web site, khai phá những nội dung mà người dùng
quan tâm, phân tích các mẫu sử dụng Web.
Dựa vào những vấn đề cơ bản trên, ta có thể có những phương pháp
hiệu quả cao để cung cấp thơng tin hữu ích đối với người dùng Web và giúp
người dùng sử dụng nguồn tài nguyên Web một cách hiệu quả.
1.3.2. Khái niệm khai phá Web
Có nhiều khái niệm khác nhau về khai phá Web nhưng có thể tổng quát
hoá như sau [4][14]:
Khai phá Web là việc sử dụng các phương pháp KPDL để tự động hố
q trình khám phá và trích rút những thơng tin hữu ích từ các tài liệu, các
dịch vụ và cấu trúc Web. Hay nói cách khác khai phá Web là việc trích chọn
ra các thành phần được quan tâm hay được đánh giá là có ích cùng các thơng
tin tiềm năng từ các tài nguyên hoặc các hoặt động liên quan tới World Wide
Web, nó có thể giúp con người rút ra những tri thức mới, cải tiến việc thiết kế
các Web site và phát triển thương mại điện tử tốt hơn. Quá trình khai phá
Web có thể chia thành các giai đoạn như sau:
1.
Tìm kiếm nguồn tài nguyên: Thực hiện việc tìm kiếm và lấy các tài
liệu Web phục vụ cho việc KPDL.
2.
Lựa chọn và tiền xử lý dữ liệu: Lựa chọn và tiền xử lý tự động các
loại thông tin từ nguồn tài nguyên Web đã lấy về.
Số hóa bởi Trung tâm Học liệu – ĐHTN
17
3.
Tổng hợp: Tự động khám phá các mẫu chung từ các Web site riêng
lẻ cũng như nhiều Web site liên kết với nhau.
4.
Phân tích: Đánh giá, giải thích, biểu diễn các mẫu khai phá được.
1.3.3. Đặc trƣng của khai phá Web
Từ những năm 2000 trở lại đây tốc độ phát triển nhanh chóng của mạng
Internet đã sinh ra một khối lượng khổng lồ các dữ liệu Web (dữ liệu dạng
siêu văn bản). Một số đặc trưng sau đây cho thấy những thách thức và thuận
lợi của quá trình khai phá Web.
* Web quá lớn để tổ chức thành kho dữ liệu:
Các CSDL truyền thống có kích thước khơng lớn lắm, thường được lưu
trữ tập trung, trong khi đó kích thước của Web là rất lớn, tới hàng terabytes và
thay đổi liên tục, khơng những thế dữ liệu Web cịn được phân tán ở rất nhiều
máy tính khắp nơi trên thế giới. Theo tài liệu thống kê năm 2009 cho thấy có
gần 236 triệu Website trên Internet [4].
* Độ phức tạp của các trang Web là rất lớn
Dữ liệu trong CSDL truyền thống thường đồng nhất về ngơn ngữ cịn dữ
liệu Web thì hồn tồn khơng đồng nhất. Dữ liệu Web bao gồm rất nhiều loại
ngôn ngữ khác nhau, nhiều loại định dạng khác nhau, nhiều loại từ vựng khác
nhau, nó như “một thư viện kỹ thuật số rộng lớn”. Điều này là một thử thách
cho việc tìm kiếm thơng tin cần thiết trong một thư viện rộng lớn như thế.
* Web là nguồn tài ngun thơng tin có độ thay đổi cao:
Web không chỉ thay đổi về độ lớn mà thơng tin trong chính các trang
Web cũng được cập nhật liên tục theo kết quả nghiên cứu hơn 500.000 trang
Web trong hơn bốn tháng thì có tới 23% các trang thay đổi hàng ngày. Thêm
vào đó sự kết nối thơng tin và sự truy cập bản ghi cũng được cập nhật thường
xuyên.
* Đối tượng phục vụ của Web là rộng lớn và đa dạng:
Số hóa bởi Trung tâm Học liệu – ĐHTN
18
Đối tượng phục vụ của Web rất phong phú và đa dạng, mỗi đối tượng
người dùng có kiến thức, mối quan tâm, sở thích khác nhau. Nhưng phần lớn
đối tượng sử dụng Web khơng có kiến thức tốt về cấu trúc mạng thơng tin và
nhàm chán khi tìm kiếm mà chỉ nhận được những mảng thơng tin khơng mấy
hữu ích.
* Chỉ một phần nhỏ thông tin trên Web là thực sự hữu ích:
Đối với người sử dụng số lượng trang Web vơ ích là rất nhiều, vì vậy rất
nhiều trang Web khơng đáng quan tâm lại có trong kết quả nhận được khi tìm
kiếm. Cần có giải pháp khai phá Web để thu được những trang Web chất
lượng cao theo tiêu chuẩn quan tâm của người dùng.
1.3.4. Các đối tƣợng khai phá Web
Các đối tượng khai phá Web bao gồm [10]: Web logs, Web pages, Web
hyperlink structures, dữ liệu thị trường trực tuyến và các thông tin khác.
Web logs: Khi người dùng duyệt Web, dữ liệu sẽ phân ra 3 loại dữ liệu
đăng nhập: Server logs, error logss và cookie logs. Thơng qua việc phân tích
các tài liệu đăng nhập này có thể khám phá ra các thơng tin truy cập.
Web pages: Hầu hết các phương pháp KPDL Web được sử dụng trong
Web pages là theo chuẩn HTML.
Web hyperlink structures: Các trang Web được liên kết với nhau bằng
các siêu liên kết, điều này rất quan trọng để khai phá thông tin. Do các siêu
liên kết Web là nguồn tài nguyên xác thực.
Dữ liệu thị trường trực tuyến: Như lưu trữ thông tin thương mại điện tử
trong các site thương mại điện tử.
Các thông tin khác: Chủ yếu bao gồm các đăng ký người dùng, nó có
thể giúp cho việc khai phá tốt hơn.
Tổng kết chƣơng 1
Trong chương này trình bày những kiến thức cơ bản về khai phá dữ liệu,
Số hóa bởi Trung tâm Học liệu – ĐHTN
19
khám phá tri thức, phân cụm trong khai phá dữ liệu và các khái niệm liên quan
đến phân cụm dữ liệu, ứng dụng của phân cụm dữ liệu và các yêu cầu đối với
phương pháp phân cụm dữ liệu.
Ngoài ra trong chương này còn đề cập đến một lĩnh vực cụ thể của KPDL
đó là khai phá Web. Trong phạm vi chương 1 chỉ đề cập đến khái niệm, các đặc
trưng và một số kiểu dữ liệu Web.
Số hóa bởi Trung tâm Học liệu – ĐHTN