Áp dụng kỹ thuật phân cụm dữ liệu mờ trong khai phá dữ liệu web
Tóm tắt: World Wide Web là một kho dữ liệu khổng lồ, vì vậy việc khai phá Web
để khám phá ra những thông tin, tri thức hữu ích mang một ý nghĩa hết sức quan trọng.
Với mục đích đó, bài báo này trình bày tổng quan về khai phá dữ liệu Web, các hướng
tiếp cận phân cụm tài liệu Web. Qua đó, bài báo giới thiệu mô hình tiếp cận phân cụm
tài liệu Web bằng kỹ thuật phân cụm dữ liệu mờ và trình bày cụ thể quá trình tìm kiếm
và phân cụm tài liệu Web bằng kỹ thuật phân cụm dữ liệu mờ với thuật toán Fuzzy
C-Means.
Bạn đang xem tài liệu "Áp dụng kỹ thuật phân cụm dữ liệu mờ trong khai phá dữ liệu web", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Áp dụng kỹ thuật phân cụm dữ liệu mờ trong khai phá dữ liệu web
ÁP DỤNG KỸ THUẬT PHÂN CỤM DỮ LIỆU MỜ TRONG KHAI PHÁ DỮ LIỆU WEB Đỗ Quang Khôi1 Tóm tắt: World Wide Web là một kho dữ liệu khổng lồ, vì vậy việc khai phá Web để khám phá ra những thông tin, tri thức hữu ích mang một ý nghĩa hết sức quan trọng. Với mục đích đó, bài báo này trình bày tổng quan về khai phá dữ liệu Web, các hướng tiếp cận phân cụm tài liệu Web. Qua đó, bài báo giới thiệu mô hình tiếp cận phân cụm tài liệu Web bằng kỹ thuật phân cụm dữ liệu mờ và trình bày cụ thể quá trình tìm kiếm và phân cụm tài liệu Web bằng kỹ thuật phân cụm dữ liệu mờ với thuật toán Fuzzy C-Means. 1. Giới thiệu Các phương pháp phân tích dữ liệu truyền thống (dữ liệu rõ) tập trung phân tích một tập dữ liệu ban đầu thành các cụm dữ liệu có tính tự nhiên và mỗi đối tượng dữ liệu chỉ thuộc về một cụm dữ liệu, phương pháp này chỉ phù hợp với việc khám phá ra các cụm có mật độ cao và rời nhau, với đường biên giữa các cụm được xác định tốt. Tuy nhiên, trong thực tế, đường biên giữa các cụm có thể mờ, các cụm có thể chồng lên nhau, nghĩa là một số các đối tượng dữ liệu thuộc về nhiều cụm khác nhau. Do đó, các phương pháp phân cụm truyền thống không mô tả được dữ liệu thực. Vì vậy, người ta đã áp dụng lý thuyết tập mờ trong phân cụm dữ liệu (PCDL) để giải quyết cho trường hợp này. Cách thức kết hợp này được gọi là PCDL mờ (gọi tắt là phân cụm mờ). Hơn nữa, World Wide Web (WWW) là một kho thông tin khổng lồ với tiềm năng được coi là không có giới hạn. Để đáp ứng phần nào nhu cầu tìm kiếm và sử dụng nguồn tri thức này, người ta đã xây dựng các công cụ tìm kiếm và xử lý thông tin bằng cách áp dụng các kỹ thuật khai phá dữ liệu (KPDL) trong khai phá tài nguyên Web. Trong đó, PCDL Web là một bài toán điển hình trong khai phá tài nguyên Web. Hiện tại đã có một số thuật toán PCDL được sử dụng trong phân cụm tài liệu như các thuật toán phân cụm phân hoạch, các thuật toán phân cụm phân cấp, Tuy nhiên, trong thực tế nội dung của một trang Web có thể thuộc vào nhiều nhóm chủ đề khác nhau. Vì vậy, phân cụm theo nội dung trang Web với hướng tiếp cận truyền thống tỏ ra còn nhiều hạn chế. Để giải quyết vấn đề này, một hướng đi mới đó là nghiên cứu và áp dụng các kỹ thuật PCDL theo cách tiếp cận mờ trong KPDL Web. Bài báo này xem xét khía cạnh sử dụng kỹ thuật phân cụm dữ liệu mờ trong KPDL Web và được thực nghiệm bằng chương trình ứng dụng thực hiện tìm kiếm trên Web và sau đó phân cụm kết quả tìm kiếm này bằng hai kỹ thuật phân cụm: phân cụm rõ với thuật toán k-means và phân cụm mờ với thuật toán Fuzzy C-Means (FCM). 1 ThS, Trung tâm Học liệu, trường Đại học Quảng Nam ÁP DỤNG KỸ THUẬT PHÂN CỤM DỮ LIỆU MỜ TRONG KHAI PHÁ 51 2. Tổng quan về khai phá dữ liệu Web Với sự phát triển nhanh chóng của Internet, các thông tin trên WWW đã trở thành một kho dữ liệu khổng lồ trong hầu hết các lĩnh vực kinh tế, xã hội, chính trị, giáo dục, khoa học,... WWW chứa một bộ sưu tập các thông tin phong phú và đa dạng về nội dung trang web với cấu trúc siêu văn bản và đa phương tiện, thông tin siêu liên kết, truy cập và sử dụng thông tin, cung cấp một nguồn dữ liệu đồ sộ cho KPDL. Hình 1. Phân loại KPDL Web. Có nhiều khái niệm khác nhau về KPDL Web. Tuy nhiên, theo [6], [8], ta có khái niệm tổng quát nhất như sau: KPDL Web là việc sử dụng các kỹ thuật KPDL để khám phá ra những thông tin, tri thức hữu ích từ các cấu trúc siêu liên kết, nội dung trang web và dữ liệu sử dụng. Dựa trên các kiểu dữ liệu chính được sử dụng trong quá trình khai phá, KPDL Web có thể được phân thành ba loại: khai phá nội dung, khai phá cấu trúc và khai phá theo sử dụng [8]. • Khai phá nội dung Web: Khai phá nội dung Web nhằm trích lọc hoặc khai thác những thông tin hữu ích, tri thức từ nội dung trang. Khai phá nội dung Web có thể được phân biệt bởi hai cách tiếp cận: tiếp cận dựa trên hành động và tiếp cận dựa trên CSDL. Cách tiếp cận thứ nhất nhằm mục đích cải thiện việc tìm kiếm và trích lọc thông tin. Cách tiếp cận thứ hai nhằm mục đích mô hình hóa dữ liệu trên Web thành dạng có cấu trúc hơn để áp dụng vào truy vấn CSDL và các ứng dụng KPDL. • Khai phá cấu trúc Web: Khai phá cấu trúc Web nhằm phát hiện ra tri thức hữu ích từ các siêu liên kết, các siêu liên kết này chính là đặc trưng cho cấu trúc Web. Ví dụ, từ các liên kết, chúng ta có thể khám phá các trang web quan trọng, và chúng cũng chính là một kỹ thuật quan trọng được sử dụng trong các máy tìm kiếm. KPDL truyền thống không thực hiện được như vậy bởi vì nó thường là không có cấu trúc liên kết trong một bảng quan hệ. ĐỖ QUANG KHÔI 52 • Khai phá theo sử dụng Web: Khai phá theo sử dụng Web đề cập đến sự khám phá các mẫu truy cập của người dùng từ các bản ghi sử dụng Web (Web log records). Phân tích quá trình đăng nhập Web của người dùng cũng có thể giúp cho việc xây dựng các dịch vụ Web theo yêu cầu đối với từng người dùng riêng lẻ được tốt hơn. Một trong những vấn đề quan trọng trong khai phá theo sử dụng Web là tiền xử lý luồng dữ liệu nhấp chuột trong các bản ghi sử dụng nhằm đem lại dữ liệu đúng đắn để khai phá. 3. Các hướng tiếp cận phân cụm tài liệu Web Có rất nhiều phương pháp tiếp cận phân cụm tài liệu Web đã được đề xuất. Mỗi hướng tiếp cận theo một cách khác nhau, như: kiểu dữ liệu của các thuộc tính; độ đo tương tự,... Dựa trên những đặc trưng hay thuộc tính của tài liệu, hướng tiếp cận của các thuật toán phân cụm tài liệu Web có thể chia làm các loại sau [9]: • Phân cụm dựa trên văn bản: Hướng tiếp cận phân cụm tài liệu Web dựa trên văn bản đặc tả mỗi tài liệu theo nội dung của nó, tức là các từ (hoặc đoạn văn bản) chứa trong nó. Ý tưởng chính của hướng tiếp cận này đó là nếu hai tài liệu có chứa nhiều từ chung với nhau thì có khả năng hai tài liệu này là rất giống nhau. Các kỹ thuật phân cụm tài liệu Web dựa trên văn bản như: phân cụm phân hoạch, phân cụm phân cấp, phân cụm mờ, phân cụm dựa vào mạng nơron, phân cụm dựa vào xác suất,... • Phân cụm dựa trên liên kết: Các phương pháp phân cụm dựa trên văn bản được phát triển để sử dụng đối với bộ tài liệu tĩnh, đồng nhất và nhỏ. Ngược lại, WWW là một tập khổng lồ các trang web đồng nhất và liên kết với nhau. Hơn nữa, các trang web lại có thêm những thông tin được đính kèm theo nhưng lại rất hữu ích cho quá trình phân cụm, như: siêu dữ liệu, các siêu liên kết. Ý tưởng của hướng tiếp cận này đó là khi hai tài liệu được kết nối thông qua một liên kết có mối quan hệ về mặt ngữ nghĩa giữa chúng thì đó có thể là cơ sở cho việc phân hoạch các tài liệu về các cụm. Hai thuật toán tiêu biểu được phát triển dựa theo hướng tiếp cận này đó là: thuật toán PageRank (S. Brin và đồng nghiệp, 1998) và thuật toán HITS (J. M. Kleinberg, 1998). Trong đó, thuật toán PageRank lập chỉ mục cho các liên kết giữa các website và xác định giá trị liên kết của một trang web (gọi là PageRank). Dựa vào PageRank này, thuật toán xác định thứ tự sắp xếp của mỗi trang trong các kết quả tìm kiếm. Trong khi đó, thuật toán HITS xếp thứ hạng tài liệu dựa trên thông tin liên kết giữa tập các tài liệu. • Phân cụm lai ghép: Phương pháp phân cụm tài liệu Web dựa trên liên kết chỉ đặc tả các tài liệu bằng các thông tin được trích xuất từ cấu trúc liên kết của tập tài liệu. Còn các phương pháp ÁP DỤNG KỸ THUẬT PHÂN CỤM DỮ LIỆU MỜ TRONG KHAI PHÁ 53 phân cụm tài liệu Web dựa trên văn bản thì đặc tả tài liệu bởi các từ chứa trong nó. Mặc dù các liên kết có thể dẫn đến những trang khác nhau từ một trang nhưng nó không có mục đích chỉ ra sự giống nhau giữa các trang. Các thuật toán phân cụm này có thể cho kết quả có hiệu quả không cao vì mật độ cấu trúc liên kết thu được có thể là quá nhiều hoặc quá ít. Còn các thuật toán phân cụm dựa trên văn bản thì lại có vấn đề khi tiếp cận với các ngôn ngữ khác nhau hay với đặc thù của mỗi ngôn ngữ, ví dụ như: từ đồng nghĩa, từ trái nghĩa,... Mặt khác, các thông tin trên trang web không chỉ ở dưới dạng văn bản mà còn có thể là hình ảnh, âm thanh, hay đa phương tiện. Chính vì những lý do trên, một phương pháp phân cụm lai ghép giữa hai phương pháp trên được đề xuất để kết hợp những ưu điểm và hạn chế những nhược điểm cho nhau. Các thuật toán được phát triển theo hướng tiếp cận này như là: thuật toán Phân cụm nội dung-liên kết (Weiss và đồng nghiệp, 1996), Toric k-means (Modha & Spangler, 2000),... Tóm lại, việc lựa chọn phương pháp phân cụm tài liệu Web nào tốt nhất là một vấn đề không dễ dàng, bởi vì trước hết, mỗi phương pháp đều có ưu và nhược điểm riêng của nó. Thứ hai, hiệu quả của mỗi phương pháp phụ thuộc vào tập dữ liệu cụ thể và lĩnh vực ứng dụng. 4. Kỹ thuật PCDL mờ trong phân cụm kết quả tìm kiếm trên Web 4.1. Hướng tiếp cận Việc phân cụm tài liệu Web nhằm phân các trang Web có mức độ quan trọng tương đương về một cụm. Có nhiều phương pháp để đánh giá mức độ quan trọng của một trang Web, trong đó có phương pháp dựa vào các liên kết trang để xác định trọng số cho trang. Các thuật toán PageRank, HITS,... đều dựa trên phương pháp này. Một cách tiếp cận khác để đánh giá mức độ quan trọng đó là dựa vào nội dung của các trang Web để xác định trọng số, nếu các trang Web có nội dung tương tự nhau thì sẽ có mức độ quan trọng tương đương và sẽ cùng thuộc về một cụm. Hình 2. Mô hình tiếp cận phân cụm kết quả tìm kiếm bằng kỹ thuật PCDL mờ. ĐỖ QUANG KHÔI 54 Sử dụng kỹ thuật phân cụm mờ để phân một tập các trang Web với dữ liệu đã chuẩn hóa được truy vấn từ dữ liệu Web thành c cụm sao cho mỗi trang Web trong cùng một cụm là tương tự nhau về nội dung, các trang Web ở các cụm khác nhau thì không tương tự nhau. Dựa vào đặc trưng của mỗi trang Web, kỹ thuật phân cụm mờ xác định độ thuộc của trang Web vào một cụm và trọng tâm của cụm đó để thực hiện quá trình phân cụm kết quả tìm kiếm. Mô hình tiếp cận ở Hình 2 cũng như quá trình tìm kiếm và phân cụm kết quả sẽ được trình bày cụ thể trong mục dưới dây. 4.2. Kỹ thuật phân cụm kết quả tìm kiếm 4.2.1. Mô hình biểu diễn tài liệu Web Hầu hết các thuật toán phân cụm đều yêu cầu tập dữ liệu cần được phân cụm ở dạng một tập các véctơ xj = {xj1, xj2, , xjm} trong không gian m chiều. Mỗi tài liệu j được mô tả bởi một véctơ xj – gọi là véctơ đặc trưng (feature vector) và mỗi phần tử của véctơ đặc trưng tương ứng với một từ của tập tài liệu. Việc tách lọc các đặc trưng cần thiết thông qua véctơ đặc trưng phụ thuộc nhiều vào từng lĩnh vực. Số chiều của véctơ đặc trưng là nhân tố chủ chốt trong thời gian chạy của thuật toán cũng như độ lớn của nó. Trong phân cụm tài liệu Web, hầu hết các kỹ thuật phân cụm thường sử dụng mô hình không gian véctơ (vector space) để biểu diễn các đối tượng dữ liệu. Mỗi trang Web được biểu diễn bằng một véctơ pj = {tfj1, tfj2, , tfjn} trong đó tfjk (k = 1, , n) là tần suất xuất hiện (TF-Term Frequency) của từ tk trong trang Web pj. Để biểu diễn tất cả các trang Web cùng với một tập từ thì cần tách tất cả các từ tìm được trên tổng các trang Web và sử dụng chúng như véctơ đặc trưng. Theo mô hình TF này thì trọng số wjk của từ tk trong trang Web pj được xác định theo một trong các công thức sau [10]: wjk = tf jk hoặc wjk = 1 + log(tfjk). Ngoài mô hình TF, các đối tượng dữ liệu có thể được biểu diễn dựa trên mô hình nghịch đảo tần suất xuất hiện (IDF-Inverse Document Frequency). Theo [10], nghịch đảo tần suất xuất hiện của từ tk trong trang trang Web pj được định nghĩa là idfjk = log(n/hk). Trong đó, n là tổng số trang Web và hk là số lượng trang Web có chứa từ tk. Một mô hình biểu diễn dữ liệu khác cũng thường được sử dụng trong phân cụm tài liệu Web đó là mô hình kết hợp TF-IDF. Với mô hình này, trọng số wjk của từ tk trong trang Web pj được định nghĩa như sau [10]: xjk jk jkw tf idf= (4.1) Trong đó: tfjk: là tần suất xuất hiện của từ tk trong trang Web pj; idfjk = log(n/hk) là nghịch đảo tần suất xuất hiện của từ tk trong trang Web pj; n: tổng số trang Web trong tập trang Web C; hk: số lượng trang Web có chứa từ tk. 4.2.2. Quá trình tìm kiếm và xử lý kết quả ÁP DỤNG KỸ THUẬT PHÂN CỤM DỮ LIỆU MỜ TRONG KHAI PHÁ 55 Về cơ bản, quá trình tìm kiếm và phân cụm kết quả tìm kiếm bằng kỹ thuật phân cụm mờ sẽ diễn ra theo các bước như sau [9]: i. Tìm kiếm dữ liệu trên Web: Nhiệm vụ chủ yếu của giai đoạn này là dựa vào từ khóa tìm kiếm để tìm kiếm và trả về một tập các trang Web bao gồm nội dung, tiêu đề, mô tả tóm tắt, URL, tương ứng với mỗi trang. ii. Tiền xử lý dữ liệu: Đây là giai đoạn vô cùng quan trọng, nó ảnh hưởng rất lớn đến quá trình thực hiện phân cụm. Nhiệm vụ của giai đoạn này là làm giảm số từ trong mỗi tài liệu, do vậy nó có tác dụng làm giảm độ phức tạp tính toán của các giai đoạn sau và nâng cao hiệu quả cho giai đoạn kế tiếp. Đây là quá trình làm sạch dữ liệu và chuyển dịch các tài liệu thành các dạng biểu diễn dữ liệu thích hợp. Giai đoạn này bao gồm các công việc như sau: Chuẩn hóa văn bản: chuyển văn bản thô về dạng văn bản sao cho việc xử lý sau này được dễ dàng, đơn giản, thuật tiện, chính xác so với việc xử lý trực tiếp trên văn bản thô mà ảnh hưởng ít đến kết quả xử lý, như: xóa các thẻ HTML và các loại thẻ khác để trích ra các từ/cụm từ; Chuyển các ký tự hoa thành các ký tự thường; Xóa bỏ các dấu câu, xoá các ký tự trắng dư thừa,... Loại bỏ stop-words: stop-words là những từ mà xuất hiện quá nhiều trong kết quả nhưng không giúp ích gì trong việc phân biệt nội dung của các tài liệu. Ví dụ: Trong tiếng Việt các từ như “thì”, “mà”, “và”, “hoặc”,...; trong tiếng Anh các từ như “a”, “an”, “the”, “of”, “to”, “on”, “by”,...; Vì đặc điểm của stop-words nên chúng được loại bỏ mà không ảnh hưởng đến các giai đoạn sau. Chuyển đổi về từ gốc: loại bỏ tiền tố và hậu tố của từ để biến đổi nó thành từ gốc. Vì trong thực tế một từ gốc có thể có nhiều hình thái biến đổi, chẳng hạn như động từ, danh từ, tính từ, trạng từ; và giữa chúng có mối quan hệ ngữ nghĩa. Ví dụ như những từ: “clusters”, “clustering”, “clustered” là có cùng mối quan hệ với từ “cluster”. iii. Xây dựng từ điển: Từ điển bao gồm các từ riêng biệt trong tập các trang Web từ kết quả truy vấn. Từ điển là một bảng bao gồm các từ, chỉ số của nó trong từ điển và được sắp xếp theo thứ tự. Theo [5], [7], [10] từ điển được xây dựng với 500 phần tử sau khi được chuẩn hóa là phù hợp. iv. Tạo ma trận tài liệu: Ma trận tài liệu T được tạo bằng cách đếm số lần xuất hiện của mỗi từ từ ti trong mỗi trang Web pj. v. Véctơ hóa tài liệu: Giai đoạn này tính tf và idf, xác định trọng số W theo công thức (4.1) cho tất cả các từ của mỗi trang Web và véc tơ hóa tất cả các trang Web. vi. Phân cụm kết quả tìm kiếm bằng thuật toán FCM: ĐỖ QUANG KHÔI 56 1 1 ( ) ; 1 ( ) n m ik k k i n m ik k u x v i c u = = = ≤ ≤ ∑ ∑ 2 1 1 1 ; 1 ;1ik mc ik j jk u k n i c d d − = = ≤ ≤ ≤ ≤ ⎛ ⎞⎜ ⎟⎜ ⎟⎝ ⎠∑ Tư tưởng thuật toán: Thuật toán FCM thực hiện phân cụm bằng một chuỗi các phép lặp các công thức [4]: (4.2), và: (4.3) để tối ưu các phân hoạch mờ của tập dữ liệu dựa trên việc tính toán độ tương tự có trọng số giữa đối tượng xk và trọng tâm của cụm i. Sau mỗi vòng lặp, thuật toán tính toán và cập nhật lại phần tử ujk trong ma trận phân hoạch U. Thuật toán sẽ dừng lại khi ( 1)k k ij iju u ξ+ − < , trong đó ξ ∈ [0, 1] là ngưỡng kết thúc cho trước. Phát biểu bài toán: Input: số cụm c; tham số mờ m ∈ [1, ∞), số vòng lặp tối đa Kmax và ngưỡng kết thúc ξ ∈ [0, 1]. Output: c cụm dữ liệu sao cho hàm tiêu chuẩn [4]: 2 1 1 ( , ) ( ) ( , ) n c m m ik k i k i J U V u d x v = = =∑∑ đạt giá trị cực tiểu. Thuật toán [4]: 1. Khởi tạo ma trận U = [uij], chọn ma trận ban đầu U(0) Mfc; Tại bước k, k = 0, 1, ..., Kmax: 2. Cập nhật trọng tâm của cụm ( )kiv , i = 1, 2, ..., c theo công thức (4.2); 3. Cập nhật ma trận thành viên (độ thuộc) ( 1) ( 1)[ ]k kikU u + += theo công thức (4.3); 4. Nếu ( 1) ( )k kU U ξ+ − < thì thực hiện bước 5; ngược lại, đặt U(k) = U(k+1), quay lại bước 2; 5. Đưa ra các cụm kết quả. Thuật toán FCM trong phân cụm kết quả tìm kiếm trang Web: 1. Khởi tạo ngẫu nhiên ma trận độ thuộc ban đầu U(0) = [uij], với uij là độ thuộc của trang Web pj đối với cụm ci; ÁP DỤNG KỸ THUẬT PHÂN CỤM DỮ LIỆU MỜ TRONG KHAI PHÁ 57 Tại bước k, k = 0, 1,..., Kmax: 2. Cập nhật trọng tâm của các cụm ( )kiv , i = 1, 2,..., c theo công thức (4.2); 3. Dựa vào ma trận trọng số của các từ trong mỗi trang Web pj (công thức 4.1), xác định độ đo tương tự dựa trên khoảng cách giữa nó với cụm ci. Cập nhật lại ma trận độ thuộc ( 1) ( 1)[ ]k kikU u + += theo công thức (4.3); 4. Nếu ( 1) ( )k kU U ξ+ − < thì thực hiện bước 5; ngược lại, đặt U(k) = U(k+1), quay lại bước 2; 5. Đưa ra các cụm kết quả. Trong đó: X = {x1, x2, ..., xn} Rn, là tập dữ liệu ban đầu; c: là số cụm dữ liệu trong X; m: là trọng số mũ, hay được gọi là tham số mờ, 1 ≤ m < ∞; U = [uik], là ma trận phân hoạch mờ của X trong C cụm, U Mfc; uik [0, 1]: độ thuộc của đối tượng xk đối với cụm i; V = [vji] = (v1, v2, ..., vc), là ma trận biểu diễn các đối tượng trọng tâm của cụm; vi = (vi1, vi2, ..., vin), là trọng tâm của cụm i; 2 ( , )k id x v : là khoảng cách Euclide từ đối tượng xk đến trọng tâm của cụm thứ i. 5. Kết quả thực nghiệm Áp dụng kỹ thuật phân cụm dữ liệu mờ trong KPDL Web được chúng tôi thực nghiệm thông qua một chương trình ứng dụng thực hiện tìm kiếm trên Web và sau đó phân cụm kết quả tìm kiếm này bằng cả hai kỹ thuật phân cụm: phân cụm rõ với thuật toán k-means và phân cụm mờ với thuật toán FCM nhằm có sự so sánh kết quả phân cụm của hai kỹ thuật phân cụm rõ và phân cụm mờ. 5.1. Cài đặt hệ thống 5.1.1. Kiến trúc hệ thống ĐỖ QUANG KHÔI 58 Hình 3. Kiến trúc hệ thống của chương trình thử nghiệm. Chương trình thử nghiệm được chạy trên môi trường .NET Framework 4.0 với ngôn ngữ lập trình Visual Basic 2005 và CDSL được quản lý và lưu trữ bằng SQL Server 2005. Hệ thống được thiết kế như Hình 3 ở trên. Chương trình được kết nối với máy tìm kiếm Google bằng cách sử dụng một số hàm trong API của Google để lấy dữ liệu là kết quả truy vấn tìm kiếm từ Google để lưu vào CSDL của hệ thống phục vụ cho quá trình phân cụm. Việc tìm kiếm được thực hiện bằng cách sử dụng máy tìm kiếm Google để tìm kiếm tự động, chương trình sẽ dựa vào URL để lấy toàn văn của tài liệu đó và lưu trữ lại phục vụ cho quá trình tìm kiếm và phân cụm sau này. 5.1.2. Thiết kế CSDL CSDL của chương trình bao gồm các bảng chính sau đây: ¾ Bảng 1: đây là bảng lưu trữ từ điển. Tên trường Kiểu dữ liệu Mô tả PhraseID Int Khóa chính, chỉ số của mỗi từ Phrase Nvarchar Từ cần lưu trữ ¾ Bảng 2: đây là bảng lưu trữ nội dung của trang Web được lấy về từ kết quả tìm kiếm của Yahoo. API Kết quả phân cụm Người dùng Máy tìm kiếm Google Truy vấn đến Google Kết quả truy vấn Kết quả truy vấn Từ khóa tìm kiếm CSDL Quá trình phân cụm ÁP DỤNG KỸ THUẬT PHÂN CỤM DỮ LIỆU MỜ TRONG KHAI PHÁ 59 Tên trường Kiểu dữ liệu Mô tả PageID Int Khóa chính URL Nvarchar URL của trang Web Snipet Nvarchar Trích đoạn của nội dung trang Web Content Nvarchar Nội dung của trang Web IsTokenozed Bit Cho biết trang Web này đã được tách từ hay chưa IsClustered Bit Cho biết trang Web này đã được phân cụm hay chưa ClusterID Int Khóa ngoài, liên kết đến bảng Clusters, cho biết trang Web thuộc cụm nào sau khi được phân cụm ¾ Bảng 3: đây là bảng liên kết giữa các trang Web và từ điển Tên trường Kiểu dữ liệu Mô tả DicPageID Int Khóa chính PageID Int Khóa ngoài, liên kết đến bảng Pages PhraseID Int Khóa ngoài, liên kết đến bảng Dictionary Score Float Cho biết tần suất xuất hiện của các từ trong trang Web ¾ Bảng 4: đây là bảng lưu trữ các cụm đã tìm được Tên trường Kiểu dữ liệu Mô tả ClusterID Int Khóa chính, chỉ số của cụm Lable Nvarchar Nhãn của cụm 5.1.3. Quá trình tìm kiếm và phân cụm được tóm tắt lại như sau: Input: + Một tập các trang Web P tìm được theo truy vấn; + Tham số mờ hóa m. Output: + Các trang Web được phân cụm theo thuật toán k-means hoặc FCM. Các bước thực hiện: Bước 1: Tiền xử lý; Bước 2: Xây dựng từ điển; Bước 3: Tạo ma trận tài liệu; Bước 4: Véctơ hóa tài liệu; ĐỖ QUANG KHÔI 60 Bước 5: Xử lý phân cụm; Bước 6: Hiển thị kết quả phân cụm. 5.1.4. Một số giao diện chính của chương trình: Hình 4. Giao diện nhập từ khóa cần tìm. Hình 5. Giao diện hiển thị kết quả tiền xử lý và véctơ hóa trang Web ÁP DỤNG KỸ THUẬT PHÂN CỤM DỮ LIỆU MỜ TRONG KHAI PHÁ 61 Hình 6. Giao diện kết quả phân cụm bằng FCM. 5.2. Kết quả Với từ khóa “cluster”, khi thực hiện tiền xử lý và phân cụm với hai thuật toán k- means và FCM (với tham số mờ hóa m = 2.0; ngưỡng kết thúc ξ = 0.05) trên tập dữ liệu với hơn 4000 trang web, chương trình cho kết quả như sau: Bảng 6. Bảng so sánh thời gian thực hiện hai thuật toán FCM và k-means. Thời gian trung bình (giây) Phân cụm Số trang Số cụm Tiền xử lý k-mean FCM (m=2.0) 100 10 0.85 1.319 7.167 100 20 0.85 1.926 11.408 200 10 0.95 2.452 25.731 200 20 0.95 4.524 37.268 300 10 0.102 4.588 39.902 300 20 0.102 7.469 54.118 400 10 0.131 8.171 62.996 ĐỖ QUANG KHÔI 62 Thời gian trung bình (giây) Phân cụm Số trang Số cụm Tiền xử lý k-mean FCM (m=2.0) 400 20 0.131 11.182 79.701 500 10 0.142 12.526 92.631 500 20 0.142 16.986 149.390 1000 10 0.189 22.124 306.447 1000 20 0.189 43.935 496.282 Qua kết quả trên, ta thấy rằng thời gian thực hiện thuật toán phụ thuộc vào độ lớn của tập dữ liệu và số cụm cần phân cụm. Riêng với thuật toán FCM còn phụ thuộc vào tham số mờ hóa m và ngưỡng kết thúc ξ. Nếu tham số mờ hóa m và ngưỡng kết thúc ξ được xác định tốt thì chất lượng và thời gian thực hiện phân cụm được cải thiện rất nhiều. Không có quy tắc nào để lựa chọn một tham số mờ hóa m tối ưu. Cho đến nay, có lẽ chiến lược tốt nhất để chọn được giá trị tối ưu cho m đó là thử nghiệm với các giá trị khác nhau của m, từ đó chọn m cho kết quả phân cụm tốt nhất. Đối với hầu hết dữ liệu, m [1.5, 3.0] thường cho kết quả tốt [4]. Với đánh giá này, chương trình thực nghiệm đã cho kết quả tương tự. Chính vì vậy, thuật toán FCM cho kết quả thời gian thực hiện phân cụm lâu hơn thuật toán k-means. Tuy nhiên, qua khảo sát kết quả các cụm thì chất lượng của các cụm khi thực hiện với thuật toán FCM cho hiệu quả cao hơn thuật toán k-means bởi vì các trang Web trong cùng một cụm có nội dung tương tự với nhau hơn và FCM có khả năng phân cụm đối với những trang Web cùng thuộc về những chủ đề khác nhau, nghĩa là các cụm có thể chồng chéo lên nhau. TÀI LIỆU THAM KHẢO Tiếng Việt: [1] Đoàn Văn Ban (2003), Bài giảng Khai thác kho dữ liệu, Viện Công nghệ thông tin Việt Nam, Hà Nội. [2] Hồ Thuần và Đặng Thanh Hà (2007), Lôgic mờ và ứng dụng, NXB Đại học Quốc gia Hà Nội, Hà Nội. Tiếng Anh: [3] Periklis Andritsos (2002), Data Clusting Techniques, University of Toronto, Toronto. ÁP DỤNG KỸ THUẬT PHÂN CỤM DỮ LIỆU MỜ TRONG KHAI PHÁ 63 [4] James C. Bezdek (1984), “FCM: The fuzzy c-means clustering algorithm”, Computer and Geosciences, vol. 10 (2-3), pp. 191-203. [5] Christian Borgelt and Andreas Nurnberger (2004), Fast Fuzzy Clustering of Web Page Collections, PKDD Workshop on Statistical Approaches for Web Mining SAWM, Pisa. [6] Jiawei Han, Micheline Kamber and Jian Pei (2011), Data Mining: Concepts and Techniques, 3rd Edition, Morgan Kaufmann Publishers, Waltham. [7] Raghu Krishnapuram, Anupam Joshi, and Liyu Yi (1999), “A Fuzzy Relative of the k-Medoids Algorithm with Application to Web Document and Snippet Clustering”, IEEE International Fuzzy Systems Conference Proceedings, vol. 3, pp. 1281-1286. [8] Bing Liu (2007), Web Data Mining, Springer, New York. [9] Maofu Liu, Yanxiang He and Huijun Hu (2004), Web Fuzzy Clustering and Its Applications in Web Usage Mining, Proceedings of 8th International Symposium on Feature Software Technology (ISFST-2004). [10] Wenyi Ni (2004), A Survey of Web Document Clustering, Southern Methodist University, Dallas. Title: THE APPLICATION OF FUZZY DATA CLUSTERING TECHNIQUE IN WEB DATAMINING DO QUANG KHOI Quang Nam University Abstract: World Wide Web is a huge data warehouse. Therefore, using Web mining to discover useful information and knowledge is of important meaning. For that purpose, this article provides an overview of the Web data mining and Web document clustering approaches. Thus, this article introduces the Web fuzzy clustering processing model and also presents specifically the process of Web document searching and clustering by fuzzy data clustering technique with Fuzzy C-Means algorithm.
File đính kèm:
- ap_dung_ky_thuat_phan_cum_du_lieu_mo_trong_khai_pha_du_lieu.pdf