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

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: 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.

pdf110 trang | Chia sẻ: tuandn | Lượt xem: 2739 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Luận văn Khai phá dữ liệu Web bằng kỹ thuật phân cụm, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Khai phá dữ liệu Web bằng kỹ thuật phân cụm Hoàng Văn Dũng i 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 Khai phá dữ liệu Web bằng kỹ thuật phân cụm Hoàng Văn Dũng ii 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 Khai phá dữ liệu Web bằng kỹ thuật phân cụm Hoàng Văn Dũng iii 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 Khai phá dữ liệu Web bằng kỹ thuật phân cụm Hoàng Văn Dũng iv 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 Khai phá dữ liệu Web bằng kỹ thuật phân cụm Hoàng Văn Dũng v 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 Khai phá dữ liệu Web bằng kỹ thuật phân cụm Hoàng Văn Dũng vi 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 Khai phá dữ liệu Web bằng kỹ thuật phân cụm Hoàng Văn Dũng vii 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 Khai phá dữ liệu Web bằng kỹ thuật phân cụm Hoàng Văn Dũng 1 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: Khai phá dữ liệu Web bằng kỹ thuật phân cụm Hoàng Văn Dũng 2 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. Khai phá dữ liệu Web bằng kỹ thuật phân cụm Hoàng Văn Dũng 3 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