MỞ ĐẦU Trong những năm gần đây, sự phát triển vượt bậc của công nghệ thông tin đã làm tăng số lượng giao dịch thông tin trên Internet một cách đáng kể. Phương thức sử dụng giấy tờ trong giao dịch đã dần được số hóa chuyển sang các dạng văn bản lưu trữ trên máy tính hoặc truyền tải trên mạng. Bởi nhiều tính năng ưu việt của tài liệu số như cách lưu trữ gọn nhẹ, thời gian lưu trữ lâu dài, dễ dàng sửa đổi, tiện dụng trong trao đổi đặc biệt là qua Internet. Do đó mà số lượng văn bản xuất hiện trên Internet cũng tăng theo với một tốc độ chóng mặt, dẫn đến tình trạng quá tải đối với việc xử lý thông tin do lượng thông tin không ngừng tăng lên. Cùng với sự 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ồ. 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 để tìm kiếm nhanh chóng tài nguyên web là một xu thế tất yếu. Với số lượng thông tin đồ sộ như vậy, một yêu cầu lớn đặt ra với chúng ta là làm sao tổ chức và tìm kiếm thông tin một cách hiệu quả nhất. Phân loại thông tin là một giải pháp hợp lý cho yêu cầu trên. Nhưng một thực tế là khối lượng thông tin quá lớn, việc phân loại thủ công là điều không tưởng. Hướng giải quyết là một chương trình máy tính tự động phân loại các thông tin trên. 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. Ngày nay, nhờ sự cải tiến không ngừng của các công cụ tìm kiếm về cả chức năng tìm kiếm lẫn giao diện đã giúp cho người sử dụng dễ dàng hơn trong việc tìm kiếm thông tin trên web. Tuy nhiên, người sử dụng thường vẫn phải duyệt qua hàng trăm, thậm chí hàng ngàn trang Web mới có thể tìm kiếm được thứ mà họ cần. Nhằm giải quyết vấn đề này, ta có thể nhóm các kết quả tìm kiếm thành các nhóm theo từng chủ đề, khi đó người dùng có thể bỏ qua các nhóm mà họ không quan tâm để tìm đến nhóm chủ đề quan tâm. Điều này sẽ giúp cho người dùng thực hiện công việc tìm kiếm một cách hiệu quả hơn. Đặc biệt trong vấn đề giải quyết văn bản. Văn bản có rất nhiều loại, khi muốn tìm kiếm bất kỳ văn bản nào trên web nếu làm bằng thủ công cũng rất khó khăn và mất nhiều thời gian. Với số lượng văn bản đồ sộ như thế cần có một giải pháp để tìm kiếm văn bản được nhanh hơn. Vì thế việc ứng dụng phân cụm dữ liệu để tìm kiếm văn bản theo chủ đề là một vấn đề rất cần thiết. Vì vậy, tôi chọn đề tài “Nghiên cứu phân cụm dữ liệu web và ứng dụng” để làm luận văn cho mình. Mục tiêu của luận văn là: Nghiên cứu một số kỹ thuật phân cụm dữ liệu trên các trang web và ứng dụng xây dựng hệ thống tìm kiếm các văn bản theo một số chủ đề. Luận văn tập trung nghiên cứu cấu trúc Web, các kỹ thuật phân cụm, phân cụm web và các chủ đề chính liên quan phục vụ công tác điều hành quản lý cấp huyện. Phương pháp nghiên cứu chủ yếu là thu thập và phân tích các tài liệu và thông tin liên quan đến đề tài, căn cứ thực trạng công việc li ên quan và tham khảo ý kiến chuyên gia. Luận văn tập trung trình bày các nội dung sau: 1. Tổng quan về khai phá dữ liệu, bao gồm: Giới thiệu về Khai phá dữ liệu và khai phá dữ liệu web; các hướng tiếp cận khai phá dữ liệu web, nhu cầu phân cụm tài liệu Web, xử lý dữ liệu văn bản ứng dụng trong khai phá dữ liệu Web 2. Một số kỹ thuật phân cụm dữ liệu và phân cụm dữ liệu web, bao gồm: Các yêu cầu đối với kỹ thuật phân cụm dữ liệu; một số thuật toán cơ bản trong
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KHOA HỌC
Trang 2MỤC LỤC
Lời cam đoan
Lời cảm ơn
Mục lục
Danh mục các bảng
Danh mục các hình
MỞ ĐẦU 1
Chương 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 4
1.1 Giới thiệu về Khai phá dữ liệu 4
1.1.1 Các chức năng chính của khai phá dữ liệu 5
1.1.2 Các phương pháp khai phá dữ liệu 6
1.1.3 Ứng dụng của khai phá dữ liệu 7
1.2 Khai phá dữ liệu web 7
1.2.1 Dữ liệu Web và nhu cầu khai thác thông tin 7
1.2.2 Đặc điểm của dữ liệu Web 9
1.2.3 Các kiểu dữ liệu Web 9
1.3 Các hướng tiếp cận khai phá dữ liệu web 10
1.4 Nhu cầu phân cụm tài liệu Web 11
1.5 Xử lý dữ liệu văn bản ứng dụng trong khai phá dữ liệu Web 12
1.5.1 Dữ liệu văn bản 12
1.5.2 Một số vấn đề trong xử lý dữ liệu văn bản 13
1.5.3 Các mô hình biểu diễn dữ liệu văn bản 16
1.6 Kết luận chương 1 20
Trang 3Chương 2 MỘT SỐ KỸ THUẬT PHÂN CỤM DỮ LIỆU 22
2.1 Tổng quan về kỹ thuật phân cụm 22
2.2 Các yêu cầu đối với kỹ thuật phân cụm dữ liệu 25
2.3 Các ứng dụng của phân cụm dữ liệu 27
2.4 Một số thuật toán cơ bản trong phân cụm dữ liệu 28
2.4.1 Các thuật toán phân cụm phân hoạch 28
2.4.2 Các thuật toán phân cụm phân cấp 33
2.5 Các đặc tính của các thuật toán phân cụm web 38
2.5.1 Mô hình dữ liệu 38
2.5.2 Độ đo về sự tương tự 41
2.5.3 Mô hình phân cụm 42
2.6 Các yêu cầu đối với các thuật toán phân cụm Web 43
2.6.1 Tách các thông tin đặc trưng 43
2.6.2 Phân cụm chồng lặp 44
2.6.3 Hiệu suất 44
2.6.4 Khả năng khử nhiễu 45
2.6.5 Tính tăng 45
2.6.6 Việc biểu diễn kết quả 45
2.7 Một số kỹ thuật Phân cụm Web điển hình 46
2.7.1 Phân cụm theo thứ bậc 46
2.7.2 Phân cụm bằng cách phân mảnh 49
2.8 Kết luận chương 2 51
Trang 4Chương 3 ỨNG DỤNG VỀ PHÂN CỤM DỮ LIỆU WEB 52
3.1 Môi trường thực nghiệm: 52
3.2 Công cụ thực nghiệm: 52
3.3 Chuẩn bị dữ liệu 53
3.4 Quá trình thực nghiệm 53
3.5 Thiết kế cơ sở dữ liệu 54
3.6 Chương trình thử nghiệm 56
3.7 Kết luận chương 3 58
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 59
TÀI LIỆU THAM KHẢO 61 PHỤ LỤC
Trang 5DANH MỤC CÁC BẢNG
Trang 6DANH MỤC CÁC HÌNH
Số hiệu
Trang 71
MỞ ĐẦU
Trong những năm gần đây, sự phát triển vượt bậc của công nghệ thông tin
đã làm tăng số lượng giao dịch thông tin trên Internet một cách đáng kể Phương thức sử dụng giấy tờ trong giao dịch đã dần được số hóa chuyển sang các dạng văn bản lưu trữ trên máy tính hoặc truyền tải trên mạng Bởi nhiều tính năng ưu việt của tài liệu số như cách lưu trữ gọn nhẹ, thời gian lưu trữ lâu dài, dễ dàng sửa đổi, tiện dụng trong trao đổi đặc biệt là qua Internet Do đó mà số lượng văn bản xuất hiện trên Internet cũng tăng theo với một tốc độ chóng mặt, dẫn đến tình trạng quá tải đối với việc xử lý thông tin do lượng thông tin không ngừng tăng lên
Cùng với sự 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ồ 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 để tìm kiếm nhanh chóng tài nguyên web là một xu thế tất yếu
Với số lượng thông tin đồ sộ như vậy, một yêu cầu lớn đặt ra với chúng
ta là làm sao tổ chức và tìm kiếm thông tin một cách hiệu quả nhất Phân loại thông tin là một giải pháp hợp lý cho yêu cầu trên Nhưng một thực tế là khối lượng thông tin quá lớn, việc phân loại thủ công là điều không tưởng Hướng giải quyết là một chương trình máy tính tự động phân loại các thông tin trên
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
Ngày nay, nhờ sự cải tiến không ngừng của các công cụ tìm kiếm về cả chức năng tìm kiếm lẫn giao diện đã giúp cho người sử dụng dễ dàng hơn trong việc tìm kiếm thông tin trên web Tuy nhiên, người sử dụng thường vẫn phải duyệt qua hàng trăm, thậm chí hàng ngàn trang Web mới có thể tìm kiếm được
Trang 82
thứ mà họ cần Nhằm giải quyết vấn đề này, ta có thể nhóm các kết quả tìm kiếm thành các nhóm theo từng chủ đề, khi đó người dùng có thể bỏ qua các nhóm mà họ không quan tâm để tìm đến nhóm chủ đề quan tâm Điều này sẽ giúp cho người dùng thực hiện công việc tìm kiếm một cách hiệu quả hơn
Đặc biệt trong vấn đề giải quyết văn bản Văn bản có rất nhiều loại, khi muốn tìm kiếm bất kỳ văn bản nào trên web nếu làm bằng thủ công cũng rất khó khăn và mất nhiều thời gian Với số lượng văn bản đồ sộ như thế cần có một giải pháp để tìm kiếm văn bản được nhanh hơn Vì thế việc ứng dụng phân cụm dữ liệu để tìm kiếm văn bản theo chủ đề là một vấn đề rất cần thiết
Vì vậy, tôi chọn đề tài “Nghiên cứu phân cụm dữ liệu web và ứng dụng”
để làm luận văn cho mình
Mục tiêu của luận văn là: Nghiên cứu một số kỹ thuật phân cụm dữ liệu trên các trang web và ứng dụng xây dựng hệ thống tìm kiếm các văn bản theo một số chủ đề
Luận văn tập trung nghiên cứu cấu trúc Web, các kỹ thuật phân cụm, phân cụm web và các chủ đề chính liên quan phục vụ công tác điều hành quản lý cấp huyện
Phương pháp nghiên cứu chủ yếu là thu thập và phân tích các tài liệu và thông tin liên quan đến đề tài, căn cứ thực trạng công việc liên quan và tham khảo ý kiến chuyên gia
Luận văn tập trung trình bày các nội dung sau:
1 Tổng quan về khai phá dữ liệu, bao gồm: Giới thiệu về Khai phá dữ liệu và khai phá dữ liệu web; các hướng tiếp cận khai phá dữ liệu web, nhu cầu phân cụm tài liệu Web, xử lý dữ liệu văn bản ứng dụng trong khai phá dữ liệu Web
2 Một số kỹ thuật phân cụm dữ liệu và phân cụm dữ liệu web, bao gồm:
Các yêu cầu đối với kỹ thuật phân cụm dữ liệu; một số thuật toán cơ bản trong
Trang 10Chương 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1 Giới thiệu về Khai phá dữ liệu
Khái niệm Khai phá dữ liệu (Data Mining)
phá tri thức từ một lượng lớn dữ liệu Thuật ngữ Data Mining ám chỉ việc tìm một tập nhỏ có giá trị từ một lượng lớn các dữ liệu thô 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 Tuy nhiên, nếu phân chia một cách chi tiết vẫn có sự phân biệt giữa khái niệm
"Khai phá dữ liệu" với khái niệm "Phát hiện tri thức" (Knowledge Discovery in Databases - KDD) mà theo đó, khai phá dữ liệu chỉ là một bước chính trong quá trình KDD
Định nghĩa 1.1: Khai phá dữ liệu là một tập hợp các kỹ thuật được sử
dụng để tự động khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp dữ liệu khổng lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm
ẩn trong tập dữ liệu đó [1]
Khai phá dữ liệu là một bước trong bảy bước của quá trình KDD (Knowleadge Discovery in Database) và KDD được xem như 7 quá trình khác nhau theo thứ tự sau:
1 Làm sạch dữ liệu (data cleaning & preprocessings): Loại bỏ nhiễu và các dữ liệu không cần thiết
2 Tích hợp dữ liệu (data integration): quá trình hợp nhất dữ liệu thành những kho dữ liệu (data warehouses & data marts) sau khi đã làm sạch và tiền
xử lý (data cleaning & preprocessing)
3 Trích chọn dữ liệu (data selection): trích chọn dữ liệu từ những kho dữ liệu và sau đó chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức Quá
Trang 11trình này bao gồm cả việc xử lý với dữ liệu nhiễu (noisy data), dữ liệu không đầy đủ (incomplete data), v.v
4 Chuyển đổi dữ liệu: Các dữ liệu được chuyển đổi sang các dạng phù hợp cho quá trình xử lý
5 Khai phá dữ liệu (data mining): Là một trong các bước quan trọng nhất, trong đó sử dụng những phương pháp thông minh để lựa chọn ra những mẫu dữ liệu
6 Ước lượng mẫu (knowledge evaluation): Quá trình đánh giá các kết quả tìm được thông qua một độ đo nào đó
7 Biểu diễn tri thức (knowledge presentation): Quá trình này sử dụng các
kỹ thuật để biểu diễn và thể hiện các kết quả một cách trực quan cho người dùng
Hình 1.1 Các bước trong Data Mining & KDD 1.1.1 Các chức năng chính của khai phá dữ liệu
Khai phá dữ liệu được chia nhỏ thành một số hướng chính như sau:
Mô tả khái niệm (concept description): thiên về mô tả, tổng hợp và tóm
tắt khái niệm Ví dụ: tóm tắt văn bản
Trang 12 Luật kết hợp (association rules): là dạng luật biểu diễn tri thức ở dạng
khá đơn giản Ví dụ: “Có tới 70% người truy nhập Web vào địa chỉ Url1 thì cũng vào địa chỉ Url2 trong một phiên truy nhập web” Luật kết hợp được ứng dụng nhiều trong lĩnh vực kinh doanh, y học, tin-sinh, tài chính
& thị trường chứng khoán, v.v
Phân lớp và dự đoán (classification & prediction): Là quá trình xếp
một đối tượng vào một trong những lớp đã biết trước Ví dụ: phân lớp vùng địa lý theo dữ liệu thời tiết 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 (machine learning) như cây quyết định (decision
tree), mạng nơ ron nhân tạo (neural network), v.v Người ta còn gọi phân
lớp là học có giám sát (học có thầy)
Phân cụm (clustering): Sắp xếp các đối tượng theo từng cụm dữ liệu tự
nhiên, tức là số lượng và tên cụm chưa được biết trước Các đối tượng được gom cụm sao cho mức độ tương tự giữa các đối tượng trong cùng một cụm là lớn nhất và mức độ tương tự giữa các đối tượng nằm trong các cụm khác nhau là nhỏ nhất Người ta còn gọi phân cụm là học không giám sát (học không thầy)
Khai phá chuỗi (sequential/temporal patterns): 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
1.1.2 Các phương pháp khai phá dữ liệu
Với hai mục đích khai phá dữ liệu là Mô tả và Dự đoán, người ta thường
sử dụng các phương pháp sau cho khai phá dữ liệu:
Trang 13 Trực quan hóa (Visualiztion)
Có nhiều phương pháp khai phá dữ liệu được nghiên cứu ở trên, trong đó
có ba phương pháp được các nhà nghiên cứu sử dụng nhiều nhất đó là: Luật kết hợp, Phân lớp dữ liệu và Phân cụm dữ liệu
1.1.3 Ứng dụng của khai phá dữ liệu
Khai phá dữ liệu thu hút được rất nhiều sự quan tâm của các nhà nghiên cứu và phát triển nhờ vào những ứng dụng thực tiễn của nó Chúng ta có thể liệt
kê ra đây một số ứng dụng điển hình:
• Phân tích dữ liệu và hỗ trợ ra quyết định (data analysis & decision support)
• Điều trị y học (medical treatment)
• Khai phá dữ liệu văn bản và khai phá web (Text mining & Web mining)
• Tin-sinh (bio-informatics)
• Tài chính và thị trường chứng khoán (finance & stock market)
• Bảo hiểm (insurance)
• Nhận dạng (pattern recognition)
•.v.v
1.2 Khai phá dữ liệu web
1.2.1 Dữ liệu Web và nhu cầu khai thác thông tin
Khoảng hơn một thập kỷ trở lại đây, lượng thông tin được lưu trữ trên các thiết bị điện tử (đĩa cứng, CD-ROM, băng từ, v.v.) không ngừng tăng lên Sự
Trang 14tích lũy dữ liệu này xảy ra với một tốc độ bùng nổ Số lượng cũng như kích cỡ của các cơ sở dữ liệu (CSDL) cũng tăng lên một cách nhanh chóng Phương thức sử dụng giấy tờ trong giao dịch đã dần được lưu trữ trên máy tính hoặc truyền tải trên mạng Bởi nhiều tính năng ưu việt của tài liệu số như cách lưu trữ gọn nhẹ, thời gian lưu trữ lâu dài, dễ dàng sửa đổi, tiện dụng trong trao đổi đặc biệt là qua Internet Đồng thời, giá cả thấp cần tiêu tốn khi công khai một trang
Web trên Internet
So sánh với những dịch vụ khác như mua bán, quảng cáo trên một tờ báo hay tạp chí, thì một trang Web "đòi" chi phí rẻ hơn rất nhiều mà lại được cập nhật nhanh chóng hơn tới hàng triệu người dùng khắp mọi nơi trên thế giới Do
đó mà số lượng văn bản xuất hiện trên mạng Internet cũng tăng theo với một tốc
độ chóng mặt Dẫn đến tình trạng quá tải đối với việc xử lý thông tin do lượng thông tin không ngừng tăng lên
Chính vì thế người ta không thể tự tìm kiếm địa chỉ trang Web chứa thông tin mà mình cần, do vậy đòi hỏi cần phải có một trình tiện ích quản lý nội dung của các trang Web và cho phép tìm thấy các địa chỉ trang Web có nội dung giống với yêu cầu của người tìm kiếm Các tiện ích này quản lý dữ liệu trang Web như các đối tượng phi cấu trúc Hiện nay chúng ta đã làm quen với một số các tiện ích như vậy, đó là Yahoo, Google, Alvista,
Nhờ sự cải tiến không ngừng của các công cụ tìm kiếm về cả chức năng tìm kiếm lẫn giao diện đã giúp cho người sử dụng dễ dàng hơn trong việc tìm kiếm thông tin trên web Tuy nhiên vấn đề phân cụm tài liệu Web và chọn chủ
đề thích hợp để nó có thể mô tả được nội dung của các trang là một vấn đề không đơn giản
Đặc biệt trong vấn đề giải quyết văn bản Văn bản có rất nhiều loại, khi muốn tìm kiếm bất kỳ văn bản nào trên web nếu làm bằng thủ công cũng rất khó khăn và mất nhiều thời gian Với số lượng văn bản đồ sộ như thế cần có một giải pháp để tìm kiếm văn bản được nhanh hơn Vì thế việc ứng dụng phân cụm dữ liệu để tìm kiếm văn bản theo chủ đề là một vấn đề rất cần thiết
Trang 15Mặt khác, căn cứ vào nội dung của các tài liệu mà người dùng xem và tải
về, sau khi phân lớp các yêu cầu như thế của người dùng, chúng ta sẽ biết được
họ hay tập trung vào nội dung gì trên trang Web của chúng ta, mà từ đó chúng ta
sẽ bổ sung thêm nhiều các tài liệu về các nội dung mà họ quan tâm Ngược lai, về phía người dùng, sau khi được phục vụ phù hợp yêu cầu, họ sẽ hướng sự quan tâm tới hệ thống của chúng ta hơn Từ những nhu cầu thực tế trên, phân lớp và tìm kiếm trang Web vẫn là bài toán thời sự và cần được phát triển nghiên cứu
Như vậy, chúng ta có thể hiểu rằng khai phá Web như 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
1.2.2 Đặc điểm của dữ liệu Web
* Web dường như quá lớn để tổ chức thành một kho dữ liệu phục vụ Khai phá dữ liệu
* Độ phức tạp của trang Web lớn hơn rất nhiều so với những tài liệu văn bản truyền thống khác
* Web là một nguồn tài nguyên thông tin có độ thay đổi cao
* Web phục vụ một cộng đồng người dùng rộng lớn và đa dạng
* Chỉ một phần rất nhỏ của thông tin trên Web là thực sự hữu ích
1.2.3 Các kiểu dữ liệu Web
Ta có thể khái quát bằng sơ đồ sau:
Hình 1.2 Phân loại dữ liệu Web
Web data
Content data
Structure data Usage data
User Profile data
Free Text HTML file XML file Dynamic content Multimedia Static link Dynamic link
Trang 16Các đối tượng của khai phá Web bao gồm: Server 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ịch vụ sẽ phân ra 3 loại dữ liệu đăng nhập: sever logs, error logs và cookie logs Thông qua việc phân tích các tài liệu đăng nhập này ta có thể khám phá ra những 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 structure: 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 rất 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 website 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
1.3 Các hướng tiếp cận khai phá dữ liệu web
Như đã phân tích về đặc điểm và nội dung các siêu văn bản ở trên, từ đó khai phá dữ liệu Web cũng sẽ tập trung vào các thành phần có trong trang Web
Đó chính là:
1 Khai phá nội dung trang Web (Web Content mining)
a Nội dung trang web (Web Page Content)
kết giữa các văn bản Đây chính là khai phá dữ liệu văn bản(Textmining)
b Tìm kiếm kết quả (Search Result)
trang Web thoả mãn yêu cầu người dùng, còn một công việc không kém phần quan trọng, đó là phải sắp xếp kết quả theo thứ tự độ gần nhau với nội dung cần tìm kiếm Đây cũng chính là khai phá nội dung trang Web
Trang 172 Khai phá cấu trúc web (Web Structure Mining)
3 Khai phá cách sử dụng web (Web Usage Mining)
a Khám phá mẫu truy cập tổng quát (General Access Partern Tracking) Phân tích các Web log để khám phá ra các mẫu truy cập của người dùng trong trang Web
b Khám phá yêu cầu sử dụng (Customize Usage Tracking)
hướng truy cập trang Web của từng đối tượng người dùng tại mỗi thời điểm khác nhau
Tập trung chủ yếu vào nội dung “khai phá nội dung trang Web” và định hướng vào phân cụm tập trang web là kết quả tìm kiếm của các máy tìm kiếm
1.4 Nhu cầu phân cụm tài liệu Web
Một trong những bài toán quan trọng trong lĩnh vực khai phá Web là bài toán phân cụm Web Phân cụm Web - nói một cách khái quát - là việc tự động sinh ra các "cụm" (lớp) tài liệu dựa vào sự tương tự của các tài liệu Các lớp tài liệu ở đây là chưa biết trước, người dùng có thể chỉ yêu cầu số lượng các lớp cần phân loại, hệ thống sẽ đưa ra các tài liệu theo từng tập hợp, từng cụm, mỗi tập hợp chứa các tài liệu tương tự nhau
Phân cụm Web - hiểu một cách đơn giản - là phân cụm trên tập các tài liệu được lấy từ Web Có hai tình huống phân cụm tài liệu Tình huống thứ nhất
là việc phân cụm trên toàn bộ một CSDL có sẵn gồm rất nhiều tài liệu Web
Thuật toán phân cụm cần tiến hành việc phân cụm toàn bộ tập dữ liệu thuộc CSDL đó Tình huống này thường được gọi là phân cụm không trực tuyến (offline) Tình huống thứ hai thường được áp dụng trên một tập tài liệu nhỏ là tập hợp các tài liệu do máy tìm kiếm trả về theo một truy vấn của người dùng Trong trường hợp này, giải pháp phân cụm được tiến hành kiểu phân cụm trực tuyến (on-line) theo nghĩa việc phân cụm tiến hành theo từng bộ phận các tài
Trang 18liệu nhận được Khi đó, thuật toán phải có tính chất “gia tăng” để tiến hành phân cụm ngay khi chưa có đủ tài liệu và phân cụm tiếp theo không cần phải tiến hành với dữ liệu đã được phân cụm trước đó Do tập tài liệu trên Web là vô cùng lớn cho nên cách phân cụm trực tuyến là thích hợp hơn và phải đòi hỏi tính "gia tăng" của thuật toán phân cụm
Quá trình xử lý truy vấn và kết quả phân hạng được phản hồi từ các máy tìm kiếm phụ thuộc vào việc tính toán độ tương tự giữa truy vấn và các tài liệu Mặc dù các truy vấn liên quan phần nào đến các tài liệu cần tìm, nhưng nó thường quá ngắn và dễ xảy ra sự nhập nhằng Như đã biết, trung bình các truy vấn trên Web chỉ gồm hai đến ba từ do đó gây nên độ nhập nhằng Chẳng hạn, truy vấn star dẫn đến sự nhập nhằng rất cao, các tài liệu lấy được liên quan đến astronomy, plants, animals, popular media ndsports figures… Độ tương tự giữa các tài liệu của một truy từ đơn như vậy là có sự khác nhau rất lớn Vì lẽ đó, nếu máy tìm kiếm phân cụm các kết quả theo từng chủ đề thì người dùng có thể nhanh chóng hiểu kết quả truy vấn hoặc tìm vào một chủ đề xác định
1.5 Xử lý dữ liệu văn bản ứng dụng trong khai phá dữ liệu Web
1.5.1 Dữ liệu văn bản
Trong các loại dữ liệu hiện nay thì văn bản là loại dữ liệu phổ biến nhất và
nó có mặt khắp mọi nơi, đặc biệt là đối với dữ liệu trên Web Do vậy, các bài toán xử lý văn bản đã được đặt ra từ rất sớm và hiện nay nó vẫn là vấn đề rất được nhiều nhà nghiên cứu quan tâm, một trong những bài toán đó là tìm kiếm
và trích dẫn văn bản, biểu diễn và phân loại văn bản,…
CSDL văn bản có thể chia làm 2 loại chính:
+ Dạng không có cấu trúc: Đây là những tài liệu văn bản thông thường mà
ta đọc thường ngày trên các sách, báo, internet,… đây là dạng dữ liệu của ngôn ngữ tự nhiên của con người và nó không theo một khuôn mẫu định sẵn nào cả
Trang 19+ Dạng nửa cấu trúc: Đây là những văn bản được tổ chức dưới dạng cấu trúc lỏng, nhưng vẫn thể hiện nội dung chính của văn bản, như văn bản HTML, Email,
1.5.2 Một số vấn đề trong xử lý dữ liệu văn bản
Mỗi văn bản được biểu diễn bằng một vector Boolean hoặc vector số Những vector này được xét trong một không gian đa chiều, trong đó mỗi chiều tương ứng với một từ mục riêng biệt trong tập văn bản Mỗi thành phần của
vector được gán một hàm giá trị f, nó là một số chỉ mật độ tương ứng của chiều
đó trong văn bản Nếu thay đổi giá trị hàm f ta có thể tạo ra nhiều trọng số khác
nhau
Một số vấn đề liên quan đến việc biểu diễn văn bản bằng mô hình không gian vector:
+ Không gian vector là một tập hợp bao gồm các từ
+ Từ là một chuỗi các ký tự (chữ cái và chữ số); ngoại trừ các khoảng trống (space, tab), ký tự xuống dòng, dấu câu (như dấu chấm, phẩy, chấm phẩy, dấu cảm, ) Mặt khác, để đơn giản trong quá trình xử lý, ta không phân biệt chữ hoa và chữ thường (nếu chữ hoa thì chuyển về chữ thường)
+ Cắt bỏ từ: Trong nhiều ngôn ngữ, nhiều từ có cùng từ gốc hoặc là biến thể của từ gốc sang một từ khác Việc sử dụng từ gốc làm giảm đáng kể số lượng các từ trong văn bản (giảm số chiều của không gian), nhưng việc cắt bỏ các từ lại rất khó trong việc hiểu văn bản
Ngoài ra, để nâng cao chất lượng xử lý, một số công trình nghiên cứu đã đưa ra một số cải tiến thuật toán xem xét đến đặc tính ngữ cảnh của các từ bằng việc sử dụng các cụm từ/văn phạm chứ không chỉ xét các từ riêng lẽ
Những cụm từ này có thể được xác định bằng cách xem xét tần số xuất hiện của cả cụm từ đó trong tài liệu
Bằng phương pháp biểu diễn không gian vector, ta có thể thấy rõ ràng là chiều của một vector sẽ rất lớn bởi số chiều của nó được xác định bằng số lượng
Trang 20các từ khác nhau trong tập hợp từ Chẳng hạn, số lượng các từ có thể từ 103 đến
vector mà vẫn đảm bảo việc xử lý văn bản đúng và chính xác, đặc biệt là trong môi trường www, ta sẽ xem xét đến một số phương pháp để giảm số chiều của vector
1.5.2.1 Loại bỏ từ dừng
Trước hết ta thấy trong ngôn ngữ tự nhiên có nhiều từ chỉ dùng để biểu diễn cấu trúc câu chứ không biểu đạt nội dung của nó Như các giới từ, từ nối, những từ như vậy xuất hiện nhiều trong các văn bản mà không liên quan gì tới chủ đề hoặc nội dung của văn bản Do đó, ta có thể loại bỏ những từ đó để giảm
số chiều của vector biểu diễn văn bản, những từ như vậy được gọi là những từ dừng
Sau đây là ví dụ về tần số xuất hiện cao của một số từ (tiếng Anh) trong 336.310 tài liệu gồm tổng cộng 125.720.891 từ, 508.209 từ riêng biệt
Bảng 1.1 Thống kê các tần số xuất hiện cao
The
that
Said
7,398,934 3,893,790 3,364,653 3,320,687 2,311,785 1,559,147 1,313,561 1,144,860 1,066,503 1,027,713
5.9 3.1 2.7 2.6 1.8 1.2 1.0 0.9 0.8 0.8 (thống kê của B.Croft, Umass)
Trang 211.5.2.2 Định luật Zipf [3]
Để giảm số chiều của vector biểu diễn văn bản hơn nữa ta dựa vào một quan sát sau: Nhiều từ trong văn bản xuất hiện rất ít lần, nếu mục tiêu của ta là xác định độ tương tự và sự khác nhau trong toàn bộ tập hợp các văn bản thì các
từ xuất hiện một hoặc hai lần (tần số xuất hiện nhỏ) thì ảnh hưởng rất bé đến các văn bản
Tiền đề cho việc lý luận để loại bỏ những từ có tần suất nhỏ được đưa ra bởi Zipf năm 1949 Zipf phát biểu dưới dạng một quan sát nhưng ngay trong thời điểm đó, quan sát đó đã được gọi là định luật Zipf, mặc dù nó thực sự không phải là một định luật mà đúng hơn đó là một hiện tượng xấp xỉ toán học
Để mô tả định luật Zipf, ta gọi tổng số tần số xuất hiện của từ t trong tài liệu D là ft Sau đó sắp xếp tất cả các từ trong tập hợp theo chiều giảm dần của
Định luật Zipf được phát biểu dưới dạng công thức như sau:
r t. f t K (với K là một hằng số)
Giả sử từ ti được sắp xếp ở vị trí thấp nhất với tần số xuất hiện là b nào đấy và từ tj cũng được sắp ở vị trí thấp kế tiếp với một tần số xuất hiện là b+1 Ta có thể thu được thứ hạng xấp xỉ của các từ này là rt iK/b và
rt jK/(b+1), trừ 2 biểu thức này cho nhau ta xấp xỉ đối với các từ riêng biệt
có tần số xuất hiện là b
rt i - rt j K/b-K/(b+1)
Ta xấp xỉ giá trị của từ trong tập hợp có thứ hạng cao nhất Một cách tổng
Trang 22Xét phân bố của các từ duy nhất xuất hiện b lần trong tập hợp, chia 2 vế cho nhau ta được K/b Do đó, định luật Zipf cho ta thấy sự phân bố đáng chú ý của các từ riêng biệt trong 1 tập hợp được hình thành bởi các từ xuất hiện ít nhất trong tập hợp
Năm 1958 Luhn đề xuất những từ “phổ biến” và “hiếm” và không cần thiết cho quá trình xử lý như sau
Hình 1.3 Lược đồ thống kê tần số của từ theo Định luật Zipf
1.5.3 Các mô hình biểu diễn dữ liệu văn bản
Trong các bài toán xử lý văn bản, ta thấy rằng vai trò của biểu diễn văn bản rất lớn, đặc biệt trong các bài toán tìm kiếm, phân cụm, …
Theo các nghiên cứu về cách biểu diễn khác nhau trong xử lý văn bản thì cách biểu diễn tốt nhất là bằng các từ riêng biệt được rút ra từ tài liệu gốc và cách biểu diễn này ảnh hưởng tương đối nhỏ đối với kết quả
Các cách tiếp cận khác nhau sử dụng mô hình toán học khác nhau để tính toán, ở đây ta sẽ trình bày một số mô hình phổ biến và được đăng nhiều trong các bài báo gần đây
Trang 231.5.3.1 Mô hình Boolean
Đây là mô hình biểu diễn vector với hàm f nhận giá trị rời rạc với duy
trị đúng khi và chỉ khi ti xuất hiện trong tài liệu đó
tài liệu dj
Mô hình Boolean là mô hình đơn giản nhất, nó được xác định như sau:
1.5.3.2 Mô hình tần số
giá trị là các số dương dựa vào tần số xuất hiện của các từ trong tài liệu hoặc tần
số xuất hiện của tài liệu trong CSDL Có 2 phương pháp phổ biến:
1.5.3.2.1 Mô hình dựa trên tần số xuất hiện các từ
Trong mô hình dựa trên tần số xuất hiện từ (TF-Term Frequency) giá trị
của các từ được tính dựa vào số lần xuất hiện của nó trong tài liệu, gọi tfij là số lần xuất hiện của từ ti trong tài liệu dj, khi đó wij có thể được tính theo một trong
các công thức sau:
- Wij= tf ij
- Wij= 1+log(tfij )
Với mô hình này, trọng số Wij đồng biến với số lần xuất hiện của thuật
t i mang nhiều thông tin hơn trong tài liệu dj
Trang 241.5.3.2.2 Phương pháp dựa trên tần số văn bản nghịch đảo
Trong mô hình dựa trên tần số văn bản nghịch đảo (IDF-Inverse Document Frequency) giá trị trọng số của từ được tính bằng công thức sau:
ngữ ti
Trọng số wij trong công thức trên được tính dựa vào độ quan trọng của thuật ngữ ti trong tài liệu dj Nếu ti xuất hiện càng ít trong các văn bản thì nó càng quan trọng, do đó nếu ti xuất hiện trong dj thì trọng số của nó càng lớn, nghĩa là nó càng quan trọng để phân biệt dj với các tài liệu khác và lượng thông
tin của nó càng lớn
1.5.3.2.3 Mô hình kết hợp TF-IDF
Trong mô hình TF-IDF, mỗi tài liệu dj được xét đến thể hiện bằng một
trọng số của mỗi từ Các tham số có thể được thêm vào để tối ưu hóa quá trình thực hiện nhóm Như vậy, thành phần trọng số được xác định bởi công thức sau,
nó kết hợp giá trị trọng số tf và giá trị trọng số idf
Công thức tính trọng số TF-IDF là:
Trong đó:
tf ij là tần số xuất hiện của t i trong tài liệu dj
idf ij là nghịch đảo tần số xuất hiện của t i trong tài liệu d j
h i là số các tài liệu mà ti xuất hiện trong CSDL
n là tổng số tài liệu trong CSDL
Trang 25Từ công thức này, ta có thể thấy trọng số của mỗi phần tử là dựa trên
nghịch đảo của tần số tài liệu trong CSDL mà ti và tần số xuất hiện của phần tử
này trong tài liệu
Thông thường ta xây dựng một từ điển từ để lấy đi những từ rất phổ biến
và những từ có tần số xuất hiện thấp Ngoài ra ta phải lựa chọn m (Zemir sử
dụng 500) phần tử có trọng số cao nhất như là những từ đặc trưng
Phương pháp này kết hợp được ưu điểm của cả 2 phương pháp trên
Trọng số wij được tính bằng tần số xuất hiện của thuật ngữ ti trong tài liệu dj và
độ “hiếm” của thuật ngữ ti trong toàn bộ CSDL Tùy theo ràng buộc cụ thể của
bài toán mà ta sử dụng các mô hình biểu diễn văn bản cho phù hợp
Tính toán độ tương tự giữa 2 vector:
Xét 2 vector X={x1,x2,…,xm}và Y={y1, y2, …, ym}
Trong mô hình TF-IDF, ta có thể lựa chọn công thức nào đó để tính toán
độ tương tự giữa các cặp tài liệu hoặc các cụm Sau đây là các độ đo tương tự phổ biến:
y x
1 1
2 2
1
) ( 2
x
y
x
Y X Sim
1
1 1
2 2
1
) (
) ( )
, (
y
xY
X sim
1 1
2 2 1
.
) ( )
, (
Trang 26x
Y X sim
1 1
2 2 1
) , min(
) ( )
, (
X sim
1
2
) (
) , ( )
, (
X Dis Y
X sim
1
) , ( )
, (
Các độ đo tương tự thường dùng
công thức này và với một ngưỡng thích hợp, ta có thể dễ dàng xác định mức độ tương tự của các tài liệu trong CSDL Ý tưởng sử dụng mô hình TF-IDF để biểu diễn tài liệu có nhiều từ thông dụng giữa 2 tài liệu thì có nhiều khả năng chúng tương tự nhau
Kỹ thuật phân cụm phân cấp và phân cụm phân hoạch (k-means) là 2 kỹ thuật phân cụm thường được sử dụng cho phân cụm tài liệu với mô hình TF-IDF
1.6 Kết luận chương 1
Chương 1 trình bày những kiến thức cơ bản về khai phá dữ liệu và khám phá tri thức trong CSDL, các kỹ thuật áp dụng trong khai phá dữ liệu, những chức năng chính, ứng dụng của nó trong xã hội,
Chương này cũng trình bày một hướng nghiên cứu và ứng dụng trong khai phá dữ liệu là phân cụm dữ liệu, các ứng dụng của phân cụm, các kiểu dữ liệu,
Một hướng tiếp cận mới trong khai phá dữ liệu là khai phá dữ liệu trong môi trường Web Phần này trình bày khái niệm và lợi ích của khai phá Web, một
số mô hình biểu diễn và xử lý dữ liệu văn bản áp dụng trong khai phá Web như
Trang 27mô hình Boolean, mô hình tần số (TF), mô hình tần số nghịch đảo văn bản (IDF), mô hình kết hợp TF-IDF và các độ đo để xác định độ tương tự văn bản
Yêu cầu phân cụm tài liệu, cụ thể hơn là tài liệu Web trở thành bài toán cho các nhà khoa học nghiên cứu và giải quyết Sau đây chúng ta sẽ nghiên cứu tiếp các vấn đề liên quan tới bài toán phân cụm nêu trên
Trang 28Chương 2 MỘT SỐ KỸ THUẬT PHÂN CỤM DỮ LIỆU
Trong Chương 1 chúng tôi đã tìm hiểu một số kiến thức về khai phá dữ liệu, những ứng dụng của nó trong xã hội Trong Chương 2 này chúng ta sẽ tìm hiểu một số kỹ thuật phân cụm dữ liệu Phần đầu của chương sẽ trình bày tổng quan về kỹ thuật phân cụm, sau đó giới thiệu một số thuật toán cơ bản trong phân cụm dữ liệu
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
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
Phân cụm dữ liệu là quá trình nhóm một tập các đối tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một cụm là tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng Phân cụm dữ liệu là một ví dụ của phương pháp học không có thầy Không giống như phân lớp dữ liệu, phân cụm dữ liệu không đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện Vì thế, có thể coi phân cụm dữ liệu là một cách học bằng quan sát, trong khi phân lớp dữ liệu là học bằng ví dụ Ngoài ra phân cụm dữ liệu còn có thể được sử dụng như một bước tiền xử lí cho các thuật toán khai phá dữ liệu khác như là phân loại và mô tả đặc điểm, có tác dụng trong việc phát hiện ra các cụm
Như vậy, phân cụm dữ liệu 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 đối tượng trong một cụm “tương tự” (Similar)
Trang 29với nhau và các đối tượng trong các cụm khác nhau sẽ “phi tương tự” (Dissimilar) với nhau Số các cụm dữ liệu được 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
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 2.1 Mô phỏng sự PCDL
Trong trường hợp này, 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 khái niệm PCDL, 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
Trang 30phâ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
Trong quá trình PCDL thì vấn đề trở ngại lớn nhất đó là "nhiễu" (noise)
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 PCDL 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
Trang 31thuậ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
2.2 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,…
Hầu hết các nghiên cứu và phát triển thuật toán PCDL đều nhằm thoả mãn các yêu cầu cơ bản sau:
Có khả năng mở rộng: Một số thuật toán có thể ứng dụng tốt cho tập dữ liệu nhỏ (khoảng 200 bản ghi dữ liệu) nhưng không hiệu quả khi áp dụng cho 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 toán có thể áp dụng hiệu quả cho việc phân cụm các tập dữ liệu với nhiều kiểu dữ liệu khác nhau như dữ liệu kiểu số, kiểu nhị phân, dữ liệu định danh, hạng mục, 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ỳ: Do hầu hết các CSDL có chứa nhiều cụm dữ liệu với các hình thù khác nhau như: hình lõm, hình cầu, hình que,…Vì vậy, để khám phá được các cụm có tính tự nhiên thì các thuật toán phân cụm cần phải có khả năng khám phá ra các cụm dữ liệu có hình thù bất kỳ
Tối thiểu lượng tri thức cần cho xác định các tham số vào: Do các giá trị đầu vào thường ảnh hưởng rất lớn đến thuật toán phân cụm và rất phức tạp để xác định các giá trị vào thích hợp đối với các CSDL lớn
Trang 32Ít nhạy cảm 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ý cho thuật toán PCDL với các thứ tự vào của các đối tượng dữ liệu ở các lần thực hiện khác nhau thì không ảnh hưởng lớn đến kết quả phân cụm
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 chứa đựng các dữ liệu lỗi, dữ liệu không đầy đủ, dữ liệu rác
Thuật toán phân cụm không những hiệu quả đối 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 nhiễu
Ít nhạy cảm với các tham số đầu vào: Nghĩa là giá trị của các tham số đầu vào khác nhau ít gây ra các thay đổi lớn đối với kết quả phân cụm
Thích nghi với dữ liệu đa chiều: Thuật toán có khả năng áp dụng hiệu quả cho dữ liệu có số chiều khác nhau
Dễ hiểu, dễ cài đặt và khả thi
Các yêu cầu này đồng thời là các tiêu chí để đánh giá hiệu quả của các phương pháp PCDL, đây là những thách thức cho các nhà nghiên cứu trong lĩnh vực PCDL
Với những yêu cầu đáng lưu ý này, nghiên cứu của ta về phân tích phân cụm diễn ra như sau:
- Đầu tiên, ta nghiên cứu các kiểu dữ liệu khác nhau và cách chúng có thể gây ảnh hưởng tới các phương pháp phân cụm
- Thứ hai, ta đưa ra một cách phân loại chung trong các phương pháp phân cụm
- Sau đó, ta nghiên cứu chi tiết mỗi phương pháp phân cụm, bao gồm các phương pháp phân hoạch, phân cấp, dựa trên mật độ, Ta cũng khảo sát sự phân cụm trong không gian đa chiều và các biến thể của các phương pháp khác
Những vấn đề còn tồn tại trong phân cụm dữ liệu:
- Kỹ thuật clustering hiện nay không trình bày được tất cả các yêu cầu đầy
đủ (và đồng thời);
Trang 33- Giao dịch với số lượng lớn các mẫu và số lượng lớn các mẫu tin của dữ liệu có thể gặp vấn đề phức tạp về thời gian;
- Hiệu quả của phương pháp phụ thuộc vào định nghĩa của “khoảng cách” (đối với phân cụm dữ liệu dựa trên khoảng cách) Nếu không tồn tại một thước
đo khoảng cách rõ ràng chúng ta “phải tự xác định”, một điều mà không thật sự
dễ dàng chút nào, nhất là trong không gian đa chiều;
- Kết quả của thuật toán phân cụm dữ liệu có thể được giải thích theo nhiều cách khác nhau (mà trong nhiều trường hợp chỉ có thể được giải thích theo
ý riêng của mỗi người)
2.3 Các ứng dụng của phân cụm dữ liệu
Phân cụm dữ liệu có thể ứng dụng trong nhiều lĩnh vực như:
- Thương mại: tìm kiếm nhóm các khách hàng quan trọng dựa vào các thuộc tính đặc trưng tương đồng và những đặc tả của họ trong các bản ghi mua bán của cơ sở dữ liệu;
- Sinh học: phân loại động, thực vật qua các chức năng gen tương đồng của chúng;
- Thư viện: phân loại các cụm sách có nội dung và ý nghĩa tương đồng nhau để cung cấp cho độc giả, cũng như đặt hàng với nhà cung cấp;
- Bảo hiểm: nhận dạng nhóm tham gia bảo hiểm có chi phí yêu cầu bồi thường trung bình cao, xác định gian lận trong bảo hiểm thông qua các mẫu cá biệt;
- Quy hoạch đô thị: nhận dạng các nhóm nhà theo kiểu, vị trí địa lí, giá trị nhằm cung cấp thông tin cho quy hoạch đô thị;
- Nghiên cứu địa chấn: phân cụm để theo dõi các tâm động đất nhằm cung cấp thông tin cho việc nhận dạng các vùng nguy hiểm;
- WWW: tài liệu phân loại, phân nhóm dữ liệu weblog để khám phá các nhóm về các hình thức tiếp cận tương tự trợ giúp cho việc khai phá thông tin từ
dữ liệu
Trang 342.4 Một số thuật toán cơ bản trong phân cụm dữ liệu
2.4.1 Các thuật toán phân cụm phân hoạch
Cho trước một cơ sở dữ liệu với n đối tượng hay các bộ dữ liệu, một phương pháp phân chia được xây dựng để chia dữ liệu thành k phần, mỗi phần đại diện cho một cụm k ≤ n Đó là phân loại dữ liệu vào trong k nhóm, chúng thoả các yêu cầu sau: (1) Mỗi nhóm phải chứa ít nhất một đối tượng; (2) Mỗi đối tượng phải thuộc về chính xác một nhóm (Yêu cầu thứ 2 được nới lỏng trong kỹ thuật phân chia cụm mờ)
Có rất nhiều thuật toán phân hoạch như: means (MacQueen 1967), medoids (Kaufman và Rousseew1987), PAM (Partition Around Medoids), CLARA (Clustering Large Applications), CLARANS (Clustering Large Applications based on RAndomized Search), CLASA (Clustering Large Applications based on Simulated Annealing)
k-2.4.1.1 Thuật toán k-mean [8]
Thuật toán này dựa trên độ đo khoảng cách của các đối tượng dữ liệu trong cụm Trong thực tế, nó đo khoảng cách tới giá trị trung bình của các đối tượng dữ liệu trong cụm Nó được xem như là trung tâm của cụm Như vậy, nó cần khởi tạo một tập trung tâm các trung tâm cụm ban đầu, và thông qua đó nó lặp lại các bước gồm gán mỗi đối tượng tới cụm mà trung tâm gần, và tính toán tại tung tâm của mỗi cụm trên cơ sở gán mới cho các đối tượng Quá trình lặp này dừng khi các trung tâm hội tụ
Hình 2.2 Các thiết lập để xác định ranh giới các cụm ban đầu
Trang 35Mục đích của thuật toán k-means là sinh k cụm dữ liệu {C1, C2, , Ck} từ
đạt giá trị tối thiểu
Hình 2.3 Tính toán trọng tâm của các cụm mới
Thuật toán k-means bao gồm các bước cơ bản sau:
Input: Số cụm k và các trọng tâm cụm mj(j=1 k)
Output: Các cụm C[i] (1 i k) và hàm tiêu chuẩn E đạt giá trị tối thiểu
Begin
Bước 1 : Khởi tạo
của dữ liệu) Việc lựa chọn này có thể là ngẫu nhiên hoặc theo kinh nghiệm
Bước 2: Tính toán khoảng cách
Bước 3: Cập nhật lại trọng tâm
trung bình cộng các vectơ đối tượng dữ liệu
Điều kiện dừng:
Lặp lại các bước 2 và 3 cho đến khi các trọng tâm của cụm không thay đổi
End
Trang 36Thuật toán k-means trên được chứng minh là hội tụ và có độ phức tạp tính
như phép tính nhân, chia, Như vậy, do k-means phân tích phân cụm đơn giản nên có thể áp dụng đối với tập dữ liệu lớn Tuy nhiên, nhược điểm của k-means
là chỉ áp dụng với dữ liệu có thuộc tính số và khám hình cầu, k-means còn rất nhạy cảm với nhiễu và các phần tử ngoại lai trong dữ liệu Hơn nữa, chất lượng PCDL của thuật toán k-means phụ thuộc nhiều vào các tham số đầu vào như: số cụm k và k trọng tâm khởi tạo ban đầu Trong trường hợp các trọng tâm khởi tạo ban đầu mà quá lệch so với các trọng tâm cụm tự nhiên thì kết quả phân cụm của k-means là rất thấp, nghĩa là các cụm dữ liệu được khám phá rất lệch so với các cụm trong thực tế Trên thực tế chưa có một giải pháp tối ưu nào để chọn các tham số đầu vào, giải pháp thường được sử dụng nhất là thử nghiệm với các giá trị đầu vào k khác nhau rồi sau đó chọn giải pháp tốt nhất
Đánh giá thuật toán K-Means
Ví dụ: Giả sử có một tập đối tượng được định vị trong hệ trục toạ độ X,
Y Cho k=3 tức người dùng cần phân các đối tượng vào trong 3 cụm
Theo giải thuật, ta chọn ngẫu nhiên 3 trung tâm cụm ban đầu (Hình kmeans bước 1) Sau đó, mỗi đối tượng được phân vào trong các cụm đã chọn dựa trên tâm cụm gần nhất (Hình k-means bước 2)