Khai phá dữ liệu Web
Giới thiệu về Khai phá dữ liệu
Khái ni ệ m Khai phá d ữ li ệ u (Data Mining)
Khai phá dữ liệu là quá trình chắt lọc và khám phá tri thức từ lượng lớn dữ liệu, nhằm tìm ra một tập nhỏ giá trị từ dữ liệu thô Thuật ngữ này khác với "Phát hiện tri thức" (KDD), trong đó khai phá dữ liệu chỉ là một bước trong quy trình KDD Quy trình KDD bao gồm nhiều bước khác nhau để tối ưu hóa việc khai thác thông tin từ dữ liệu.
• Làm sạch dữ liệu: Loại bỏ nhiễu và các dữ liệu không cần thiết
• Tích hợp dữ liệu: Các nguồn dữ liệu khác nhau tích hợp lại
• Lựa chọn dữ liệu: Các dữ liệu có liên quan đến quá trình phân tích được lựa chọn từ cơ sở dữ liệu
• 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ý
• Khai phá dữ liệu: Là một trong những 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
• Ước lượng mẫu: Quá trình đánh giá kết quả thông qua một độ đo nào đó
• Biểu diễn tri thức: Biểu diễn các kết quả một cách trực quan cho người dùng.
Hình 1 Các bước trong KDD
Các h ướ ng ti ế p c ậ n và các k ỹ thu ậ t trong 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
Luật kết hợp (association rules) là một khái niệm đơn giản nhưng quan trọng, thể hiện mối quan hệ giữa các yếu tố trong dữ liệu Ví dụ, một luật kết hợp có thể chỉ ra rằng "50% những người mua máy tính cũng mua máy in" Luật này được áp dụng rộng rãi trong nhiều lĩnh vực như kinh doanh, y học, tin sinh học, tài chính và thị trường chứng khoán.
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, chẳng hạn như phân lớp vùng địa lý dựa trên dữ liệu thời tiết Phương pháp này thường áp dụng các kỹ thuật machine learning như cây quyết định (decision tree) và mạng nơ ron nhân tạo (neural network) Phân lớp còn được gọi là học có giám sát (học có thầy).
Phân cụm (clustering) là phương pháp sắp xếp các đối tượng thành các nhóm mà số lượng và tên của các nhóm này chưa được xác định trước Phương pháp này còn được gọi là học không giám sát (học không thầy), cho phép phát hiện các mẫu và cấu trúc tiềm ẩn trong dữ liệu mà không cần thông tin gán nhãn.
Khai phá chuỗi (sequential/temporal patterns) là phương pháp phân tích dữ liệu tương tự như khai phá luật kết hợp, nhưng bổ sung thêm yếu tố thứ tự và thời gian Hướng tiếp cận này được ứng dụng rộng rãi trong lĩnh vực tài chính và thị trường chứng khoán nhờ vào khả năng dự báo chính xác Việc ứng dụng khai phá dữ liệu giúp tối ưu hóa quyết định đầu tư và phân tích xu hướng thị trường.
Khai phá dữ liệu là một phương pháp mới mẻ nhưng đã thu hút sự chú ý của nhiều nhà nghiên cứu và phát triển nhờ vào các ứng dụng thực tiễn phong phú Một số ứng dụng tiêu biểu của khai phá dữ liệu có thể được liệt kê như sau [7,16]:
• 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)
• Tài chính và thị trường chứng khoán (finance & stock market)
Dữ liệu Web và nhu cầu khai thác thông tin
Sự phát triển nhanh chóng của mạng Internet và Intranet đã tạo ra một lượng lớn dữ liệu siêu văn bản, khiến việc tìm kiếm thông tin trở nên khó khăn hơn cho người dùng Nhu cầu tìm kiếm thông tin trên cơ sở dữ liệu phi cấu trúc đã tăng lên cùng với sự phát triển của Internet Trong những năm gần đây, Internet đã trở thành kênh thông tin quan trọng về khoa học, kinh tế, thương mại và quảng cáo, nhờ chi phí thấp để công khai một trang Web So với các dịch vụ truyền thống như quảng cáo trên báo chí, việc duy trì một trang Web tiết kiệm hơn nhiều và có khả năng cập nhật nhanh chóng đến hàng triệu người dùng toàn cầu Internet được ví như một cuốn từ điển Bách khoa toàn thư, với thông tin đa dạng về mọi mặt của đời sống kinh tế và xã hội, được trình bày dưới nhiều hình thức như văn bản, hình ảnh và âm thanh.
Với sự bùng nổ thông tin hiện nay, vấn đề quá tải thông tin trở nên nghiêm trọng, khiến người dùng gặp khó khăn trong việc tìm kiếm địa chỉ trang web phù hợp với nhu cầu của họ Do đó, việc phát triển các trình tiện ích quản lý nội dung trang web là cần thiết để giúp người tìm kiếm dễ dàng tìm thấy các trang web có nội dung liên quan Những tiện ích này quản lý dữ liệu trang web như các đối tượng phi cấu trúc, và hiện nay, người dùng đã quen thuộc với một số công cụ như Yahoo, Google, và Alvista.
Việc phân tích nội dung mà khách hàng truy cập trên các trang Web về Tin học, Thể thao, Kinh tế-Xã hội và Xây dựng giúp chúng ta hiểu rõ hơn về mối quan tâm của họ Dựa vào đó, chúng ta có thể bổ sung tài liệu phù hợp, từ đó thu hút sự chú ý của khách hàng nhiều hơn Đồng thời, khi khách hàng nhận được dịch vụ đáp ứng đúng nhu cầu, họ sẽ có xu hướng tìm hiểu và quay lại với hệ thống của chúng ta Vì vậy, việc phân lớp và tìm kiếm thông tin trên trang Web vẫn là vấn đề quan trọng cần được nghiên cứu và phát triển.
Khai phá Web là quá trình trích xuất các thành phần quan trọng và thông tin tiềm năng từ các tài nguyên và hoạt động liên quan đến World-Wide Web.
Khai phá Web có thể được hiểu như sự giao thoa giữa Khai phá dữ liệu, Xử lý ngôn ngữ tự nhiên và Công nghệ Web, tạo ra một phương pháp trực quan để phân tích và trích xuất thông tin từ các nguồn dữ liệu trực tuyến.
Khai phá web = Khai phá dữ liệu + Xử lý ngôn ngữ tự nhiên + World Wide Web.
Đặ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
Các hướng tiếp cận khai phá dữ liệu Web
Sau khi phân tích đặc điểm và nội dung của các siêu văn bản, việc khai thác dữ liệu Web sẽ tập trung vào các thành phần có mặt trên trang Web.
1 Khai phá nội dung trang Web (Web Content mining)
Khai phá nội dung trang Web gồm hai phần: a Web Page Content
Khai phá dữ liệu văn bản (Textmining) là quá trình sử dụng các từ trong văn bản mà không xem xét các mối liên kết giữa chúng Điều này giúp rút ra thông tin và phân tích kết quả tìm kiếm một cách hiệu quả.
Tìm kiếm theo kết quả là một quá trình quan trọng trong các máy tìm kiếm, nơi các trang web được xác định dựa trên yêu cầu của người dùng Sau khi tìm ra các trang web phù hợp, việc sắp xếp chúng theo mức độ liên quan với nội dung cần tìm kiếm cũng rất cần thiết, giúp khai phá và tối ưu hóa nội dung trang web.
Khai phá dựa trên các siêu liên kết giữa các văn bản có liên quan
3 Web Usage Mining a 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 Customize Usage Tracking:
Phân tích mẫu truy cập của người dùng theo thời gian giúp xác định xu hướng truy cập trang web của từng nhóm đối tượng Điều này cho phép hiểu rõ hơn về hành vi người dùng và tối ưu hóa nội dung phù hợp với nhu cầu của họ.
Luận văn này chủ yếu khám phá nội dung trang web và tập trung vào việc phân cụm các trang web trong kết quả tìm kiếm của các công cụ tìm kiếm.
Nhu cầu phân cụm tài liệu Web
Phân cụm Web là một bài toán quan trọng trong khai phá Web, nhằm tự động tạo ra các "cụm" tài liệu dựa trên sự tương tự giữa chúng Các lớp tài liệu này không được xác định trước, và người dùng chỉ cần chỉ định số lượng cụm mong muốn Hệ thống sẽ phân loại tài liệu vào từng tập hợp, với mỗi tập hợp chứa các tài liệu tương đồng, giúp người dùng dễ dàng tìm kiếm và phân tích thông tin.
Phân cụm Web là quá trình nhóm các tài liệu từ Internet thành các cụm có liên quan Có hai tình huống chính trong phân cụm tài liệu: đầu tiên là phân cụm trên toàn bộ cơ sở dữ liệu (CSDL) lớn, thường được gọi là phân cụm không trực tuyến (off-line), nơi thuật toán xử lý toàn bộ tập dữ liệu Thứ hai là phân cụm trên tập tài liệu nhỏ hơn, được trả về từ các máy tìm kiếm theo truy vấn của người dùng, được gọi là phân cụm trực tuyến (on-line) Trong tình huống này, thuật toán cần có tính chất "gia tăng", cho phép phân cụm từng phần tài liệu mà không cần chờ đủ dữ liệu Do quy mô khổng lồ của tài liệu trên Web, phương pháp phân cụm trực tuyến với tính "gia tăng" trở nên phù hợp và cần thiết hơn.
Quá trình xử lý truy vấn và phân hạng kết quả từ máy tìm kiếm dựa vào độ tương tự giữa truy vấn và tài liệu Các truy vấn thường ngắn, chỉ từ hai đến ba từ, dẫn đến sự nhập nhằng cao Ví dụ, truy vấn "star" có thể liên quan đến nhiều lĩnh vực như thiên văn học, thực vật, động vật, truyền thông đại chúng và thể thao Sự khác biệt lớn trong độ tương tự giữa các tài liệu từ một truy vấn đơn như vậy gây khó khăn cho người dùng Do đó, việc phân cụm kết quả theo từng chủ đề sẽ giúp người dùng nhanh chóng hiểu và tìm kiếm thông tin theo chủ đề cụ thể.
Mô hình tìm kiếm thông tin
Giới thiệu
Với sự bùng nổ công nghệ thông tin, khối lượng dữ liệu lưu trữ trên máy tính ngày càng gia tăng, đòi hỏi các hệ thống tìm kiếm thông tin (IR) để giúp người dùng nhanh chóng và chính xác tìm kiếm thông tin trong kho dữ liệu khổng lồ, đặc biệt là trên Internet Mục tiêu của các hệ thống này là cung cấp công cụ trả về tài liệu liên quan đến câu truy vấn của người dùng Tuy nhiên, tiếng Việt có nhiều đặc điểm riêng biệt, gây khó khăn trong việc xử lý bằng máy tính, dẫn đến việc các nghiên cứu về hệ thống tìm kiếm tiếng Việt còn hạn chế, mặc dù nhu cầu tìm kiếm tài liệu trong cộng đồng người Việt là rất lớn.
Quy trình tìm kiếm thông tin trong hệ thống
Quy trình của một hệ thống tìm kiếm thông tin như sau [3,23,26]:
• Người dùng muốn xem những tài liệu liên quan tới một chủ đề nào đó
• Người dùng cung cấp một mô tả về chủ đề đó dưới dạng câu truy vấn
• Từ câu truy vấn này hệ thống sẽ lọc ra những cụm từ chỉ mục
• Những cụm từ chỉ mục này sẽ được so khớp với những cụm từ chỉ mục của các tài liệu đã được xử lý trước đó
• Những tài liệu nào có mức độ liên quan cao nhất sẽ được trả về cho người sử dụng
Hệ thống tìm kiếm thông tin nhằm mục đích cung cấp cho người dùng một tập hợp thông tin phù hợp với nhu cầu của họ Để xác định thông tin cần thiết, chúng ta sử dụng khái niệm “câu truy vấn” (query), trong khi các thông tin được chọn gọi là “tài liệu” (documents) Mỗi phương pháp tiếp cận trong việc tìm kiếm thông tin đều có những đặc điểm riêng.
Hệ thống thông tin (IR) bao gồm hai thành phần chính: (1) kỹ thuật biểu diễn thông tin như câu truy vấn và tài liệu, và (2) phương pháp so sánh các biểu diễn này Mục tiêu của IR là tự động hóa quá trình kiểm tra tài liệu bằng cách tính toán độ tương quan giữa câu truy vấn và tài liệu Thành công của quy trình này được đánh giá qua khả năng trả về kết quả tương tự như những gì con người đạt được khi so sánh câu truy vấn với tài liệu.
Một vấn đề phổ biến trong hệ thống tìm kiếm là sự khác biệt giữa từ khóa mà người dùng nhập vào và từ ngữ trong tài liệu chứa thông tin họ cần Tình huống này được gọi là
Vấn đề diễn giải (paraphrase problem) đã được giải quyết bằng cách hệ thống phát triển các hàm biểu diễn nhằm xử lý câu truy vấn và tài liệu một cách đa dạng, từ đó đạt được mức độ tương thích nhất định.
Hình 2 Mô hình hệ thống tìm kiếm thông tin
Miền xác định của hàm biểu diễn câu truy vấn q được gọi là Q, là tập hợp các câu truy vấn khả thi; miền giá trị của nó là R, không gian thống nhất biểu diễn thông tin Tương tự, miền xác định của hàm biểu diễn tài liệu d cũng được xác định.
D, tập hợp các tài liệu; và miền giá trị của nó là R 2 Miền xác định của hàm so sánh c là R × R và miền giá trị của nó là [0,1] là tập các số thực từ 0 đến
1 Trong một hệ thống tìm kiếm lí tưởng: c(q(query),d(doc)) = j(query,doc), ∀ query ∈ Q, ∀ doc ∈ D, khi j: Q × D → [0,1] biểu diễn việc xử lý của người dùng giữa các mối quan hệ của 2 thông tin, được tính dựa trên một tiêu chuẩn nào đó(ví dụ: sự giống nhau về nội dung hay sự giống nhau về kiểu, ) Hình 2 minh hoạ mối quan hệ này
Có hai kiểu hệ thống tìm kiếm: tìm kiếm dựa trên so khớp chính xác và tìm kiếm dựa trên sắp xếp Hệ thống tìm kiếm chính xác sử dụng giá trị nhị phân để xác định xem tài liệu có thoả mãn truy vấn hay không, thường cung cấp các tài liệu không sắp xếp Ngược lại, hệ thống tìm kiếm dựa trên sắp xếp sắp xếp tài liệu theo mức độ liên quan giảm dần, bao gồm ba loại: “ranked Boolean”, “probabilistic” và “similarity base”.
3 cách này thì miền giá trị của c là [0, 1], tuy nhiên chúng khác nhau ở cách tính “giá trị trạng thái tìm kiếm” (“retrieval status value”):
Trong hệ thống dựa trên "ranked Boolean", giá trị này thể hiện mức độ mà thông tin đáp ứng các biểu thức Boolean được chỉ định bởi các thông tin khác.
Trong hệ thống tìm kiếm dựa trên xác suất, giá trị xác suất phản ánh mức độ liên quan của thông tin đối với một câu truy vấn Nhiều hệ thống này được tối ưu hóa để xử lý các truy vấn được diễn đạt bằng ngôn ngữ tự nhiên thay vì chỉ sử dụng biểu thức boolean.
Trong hệ thống tìm kiếm dựa trên sự giống nhau, giá trị trạng thái tìm kiếm được xác định thông qua việc đo lường mức độ tương đồng của nội dung thông tin.
Trong các hệ thống tìm kiếm dựa trên sự so khớp chính xác, việc đánh giá hiệu quả chủ yếu dựa vào mức độ liên quan của tài liệu với câu truy vấn Giả sử rằng tài liệu chỉ có thể liên quan hoặc không liên quan, và sự liên quan này được xác định chính xác bởi con người Dựa trên giả định này, hiệu quả của các hệ thống tìm kiếm được đánh giá thông qua hai chỉ số thống kê quan trọng: độ chính xác (precision) và độ thu hồi (recall).
Độ hồi tưởng (recall) và độ chính xác là hai chỉ số quan trọng trong đánh giá hiệu quả của hệ thống tìm kiếm Độ chính xác được tính bằng tỷ lệ tài liệu được chọn mà thực sự liên quan đến thông tin mà người dùng cần, trong khi độ hồi tưởng đo lường tỷ lệ tài liệu có liên quan được sắp xếp chính xác theo mức độ liên quan Cụ thể, độ chính xác bằng 1 trừ đi tỷ lệ cảnh báo sai, và độ hồi tưởng phản ánh mức độ hoàn chỉnh của kết quả tìm kiếm Hai chỉ số này sẽ được phân tích chi tiết trong phần tiêu chuẩn đánh giá phân cụm cho thuật toán phân cụm ở phần sau.
Đánh giá hiệu quả của hệ thống tìm kiếm dựa trên sắp xếp là một nhiệm vụ phức tạp Một trong những phương pháp phổ biến để đo lường độ hiệu quả của các hệ thống này là sử dụng các chỉ số đánh giá cụ thể.
Độ chính xác trung bình được tính bằng cách lựa chọn một tập lớn tài liệu ở đầu danh sách với giá trị hồi tưởng từ 0 đến 1, thường áp dụng phương pháp tính dựa trên 5, 7, 11 điểm Quy trình này lặp lại cho từng câu truy vấn, và mỗi độ chính xác trung bình sẽ tương ứng với một độ hồi tưởng Giá trị trung bình của các số này được ghi nhận như một đặc trưng của hệ thống, với độ chính xác trung bình càng cao thì hiệu quả càng tốt Tuy nhiên, việc so sánh chỉ có ý nghĩa khi sử dụng cùng một tập tài liệu và câu truy vấn Độ chính xác trung bình có thể làm giảm mức độ thay đổi của các câu truy vấn với các đặc tính khác nhau, do các tài liệu liên quan thường tập trung ở đầu danh sách, dẫn đến độ chính xác giảm khi mở rộng tập tài liệu để tăng độ hồi tưởng.
Ứng dụng phân cụm vào hệ thống tìm kiếm
Việc phân tích nhu cầu phân cụm tài liệu web là cần thiết khi xây dựng hệ thống tìm kiếm, đồng thời tích hợp module phân cụm vào hệ thống này Phân cụm văn bản giúp tổ chức dữ liệu trả về, cho phép người dùng dễ dàng tìm kiếm các tài liệu liên quan mà không cần xem xét danh sách dài các văn bản Nhờ đó, hệ thống tìm kiếm trở nên hữu ích hơn cho người sử dụng, giúp họ tập trung vào các lĩnh vực quan tâm.
THUẬT TOÁN PHÂN CỤM WEB
Khái quát về các thuật toán phân cụm tài liệu
Phân cụm tài liệu là một phương pháp nghiên cứu nhằm cải thiện hiệu suất của máy tìm kiếm thông qua việc phân nhóm toàn bộ tập hợp tài liệu M Steinbach và các đồng tác giả đã trình bày khái quát về các thuật toán phân cụm tài liệu, cung cấp cái nhìn tổng quan về cách thức hoạt động và ứng dụng của chúng trong lĩnh vực này.
Theo các tác giả, nhiều thuật toán phân loại tài liệu đã được phát triển, trong đó thuật toán Phân cụm tích tụ có thứ bậc (AHC) là phổ biến nhất Tuy nhiên, các thuật toán này thường gặp khó khăn về hiệu suất khi xử lý tập dữ liệu lớn, với độ phức tạp thời gian của phương thức liên kết đơn và trung bình nhóm khoảng O(n²), trong khi liên kết đầy đủ có độ phức tạp lên đến O(n³).
Các thuật toán phân cụm AHC thường dựa vào các điều kiện dừng cứng, điều này khiến chúng nhạy cảm với việc xác định thời điểm kết thúc Khi thuật toán kết thúc quá sớm hoặc muộn, có thể dẫn đến kết quả phân cụm không chính xác và vô nghĩa Trong lĩnh vực phân cụm web, số lượng và độ đa dạng của các kết quả truy vấn có thể rất lớn, do đó, việc nhạy cảm với các điều kiện dừng dễ dẫn đến kết quả kém chất lượng Hơn nữa, việc nhận được nhiều phần không cần thiết cũng là một yếu tố gây nhiễu, làm giảm hiệu quả của các tiêu chí dừng hiện tại.
Các thuật toán phân cụm có thời gian tuyến tính là các ứng cử viên cho yêu cầu về tốc độ đối với các phân cụm online [11]
Thuật toán K-Means có độ phức tạp thời gian là O(nkT), với k là số lượng phân cụm và T là số chu trình lặp, trong khi phương thức Single Pass có độ phức tạp O(nK) với K là số lượng phân cụm đã được tạo ra Một ưu điểm nổi bật của K-Means là khả năng hoạt động trên các phân cụm chồng chéo, điều mà các thuật toán AHC không làm được Tuy nhiên, nhược điểm chính của K-Means là hiệu quả nhất khi các phân cụm gần như hình tròn theo đơn vị đo đạc, dẫn đến việc không có cơ sở để tin rằng các tài liệu nên được phân loại vào các phân cụm xấp xỉ.
Phương thức Single Pass đối mặt với vấn đề phụ thuộc vào thứ tự và có xu hướng tạo ra các phân cụm lớn Đây được xem là một trong những thuật toán phân cụm nổi bật nhất trong lĩnh vực này.
Buckshot và Fractionation là hai thuật toán phân cụm nhanh, thời gian tuyến tính được phát triển bởi Cutting vào năm 1992 Fractionation là một phương pháp xấp xỉ với AHC, thực hiện tìm kiếm các phân cụm gần nhau theo cách cục bộ thay vì toàn cục, dẫn đến những nhược điểm tương tự như AHC, bao gồm điều kiện dừng độc đoán và hiệu năng kém khi có nhiều phần không liên quan Buckshot, ngược lại, là một giải pháp K-Means, trong đó các phân cụm trung tâm được tạo ra bằng cách áp dụng AHC lên một tập mẫu tài liệu Việc sử dụng tập mẫu có thể tiềm ẩn rủi ro, vì có thể bỏ lỡ các phân cụm nhỏ mà người dùng quan tâm Mặc dù cả hai thuật toán này đều nhanh, chúng không phải là thuật toán phân cụm tăng.
Các thuật toán hiện tại xem tài liệu như một tập hợp từ mà không quan tâm đến thứ tự, dẫn đến việc mất thông tin quan trọng Các cụm từ đã được sử dụng lâu dài để chỉ mục từ trong hệ thống IR Việc áp dụng các phân tử từ vựng và cụm từ cú pháp có thể nâng cao khả năng dự đoán mà không cần phân tích lại tài liệu Các cụm từ được tạo ra từ các phương pháp thống kê đơn giản đã chứng minh hiệu quả, nhưng vẫn chưa được áp dụng rộng rãi trong việc phân cụm tài liệu.
Thuật toán DC-tree (Document Clustering Tree) cho phép phân cụm tài liệu mà không cần tập huấn luyện, giúp tối ưu hóa quá trình phân loại Với DC-tree, dữ liệu không nhất thiết phải được chèn vào vị trí thấp nếu không có nút con tương tự, điều này giúp ngăn chặn việc nhóm các dữ liệu không tương tự lại với nhau Kết quả là, thuật toán này mang lại sự ổn định khi thêm tài liệu mới và dễ dàng chấp nhận các tài liệu khác nhau.
Trên web, có nhiều nỗ lực nhằm kiểm soát lượng tài liệu khổng lồ được trả về bởi các máy tìm kiếm, với nhiều tính năng tìm kiếm chọn lọc Ví dụ, AltaVista gợi ý các từ cần thêm hoặc loại bỏ trong câu truy vấn, nhưng các nhóm từ này không phản ánh chính xác cấu trúc tài liệu Máy tìm kiếm Northern Light cung cấp “Custom Search Folders”, cho phép người dùng tìm kiếm tài liệu theo từ khóa cụ thể, mặc dù không công bố cách thức tạo ra và chi phí của các thư mục này Trong chương 3, bài viết sẽ phân tích hai thuật toán phân cụm hiệu quả cho việc phân loại trang web, bao gồm thuật toán phân cụm câu hậu tố (STC) và thuật toán phân cụm sử dụng DC-Tree, đặc biệt là trong ngữ cảnh tiếng Việt.
Tiêu chuẩn đánh giá thuật toán phân cụm
Kết quả của bất kỳ thuật toán phân cụm nào cần được đánh giá bằng các thước đo chất lượng thông tin để xác định “độ tốt” của các phân cụm Việc đánh giá này phụ thuộc vào tri thức mà chúng ta ưu tiên trong phân loại dữ liệu, như việc gán nhãn hay không Đối với dữ liệu chưa được phân loại, cần sử dụng các tiêu chuẩn chất lượng bên trong để so sánh các tập phân cụm mà không cần tham khảo tri thức bên ngoài Ngược lại, nếu dữ liệu đã được gán nhãn, chúng ta sẽ so sánh kết quả phân cụm với các phân loại gốc thông qua các độ đo chất lượng ngoài Hai tiêu chuẩn chất lượng ngoài đáng chú ý là Entropy và F-measure, cùng với một tiêu chuẩn chất lượng trong là Overall Similarity.
Entropy là một chỉ số chất lượng quan trọng, cung cấp đánh giá về "độ tốt" của các phân cụm, bao gồm cả phân cụm trong cấu trúc phân cấp Chỉ số này cho biết mức độ đồng nhất của một phân cụm; càng đồng nhất, entropy càng thấp Đặc biệt, entropy của một phân cụm chỉ chứa một đối tượng đạt giá trị 0, thể hiện sự cân bằng hoàn hảo.
Coi P là kết quả của thuật toán phân cụm với m phân cụm Để tính toán p ij, tức là khả năng một thành viên của phân cụm j thuộc vào lớp i, chúng ta cần xem xét tất cả các phân cụm j trong P Entropy của mỗi phân cụm j được tính toán theo công thức chuẩn.
Entropy tổng của một tập hợp các phân cụm được tính bằng tổng của entropy của từng phân cụm, với việc tính toán dựa trên kích thước của mỗi phân cụm Công thức được biểu diễn là E = − ∑, trong đó tổng được thực hiện cho tất cả các lớp.
, trong đó N j là kích cỡ của phân cụm j và N là tổng số lượng đối tượng dữ liệu
Để tối ưu hóa quá trình phân cụm, chúng ta cần tạo ra các phân cụm với độ entropy càng thấp càng tốt, vì entropy là thước đo về mức độ đồng nhất của các đối tượng dữ liệu trong mỗi phân cụm.
F-measure Độ đo chất lượng ngoài thứ hai là độ đo F (F-measure), một độ đo gộp ý tưởng về sự chính xác và khả năng nhớ lại từ thông tin thu về Sự chính xác và khả năng nhớ lại của một phân cụm j đối với lớp i được định nghĩa là: i ij
Độ đo F của lớp i được xác định dựa trên số lượng thành viên của lớp i và phân cụm j Cụ thể, N ij là số lượng thành viên của lớp i trong phân cụm j, N j là tổng số thành viên của phân cụm j, và N i là tổng số thành viên của lớp i.
Trong các mối liên hệ với lớp i, giá trị độ đo F lớn nhất trong các phân cụm j được xác định là điểm của lớp i Giá trị độ đo F của kết quả phân cụm P được tính bằng trung bình trọng số của các độ đo F với mỗi lớp i.
Trong đó, |i| đại diện cho số lượng đối tượng trong lớp i Giá trị độ đo F cao cho thấy chất lượng phân cụm tốt hơn, nhờ vào độ chính xác cao trong việc gắn kết các lớp gốc.
Độ đo tương tự toàn diện (Overall Similarity) là một chỉ số chất lượng quan trọng, thường được áp dụng trong các trường hợp không có thông tin bên ngoài như nhãn lớp Chỉ số này giúp đánh giá mức độ kết nối giữa các phân cụm thông qua việc sử dụng trọng số tương tự của phân cụm trong tổng thể.
S sim , trong đó S là phân cụm được xem xét, và sim(x,y) là độ tương tự giữa 2 đối tượng x và y.
Các đặc tính của các thuật toán phân cụm web
Trước khi phân tích và so sánh các thuật toán, cần định nghĩa một số thuộc tính của chúng và xác định các vấn đề liên quan Phân tích các phương pháp phân cụm tài liệu Web sẽ được trình bày trong phần tiếp theo.
Hầu hết các thuật toán phân cụm yêu cầu dữ liệu ở dạng véc tơ đặc trưng X = {x1, x2, …, xn}, trong đó mỗi véc tơ xi đại diện cho một đối tượng trong tập dữ liệu Việc xác định các đặc trưng cần thiết phụ thuộc vào từng lĩnh vực cụ thể Số chiều của véc tơ đặc trưng ảnh hưởng lớn đến thời gian chạy và kích thước của thuật toán Một số lĩnh vực buộc phải chấp nhận số chiều lớn, nhưng có những phương pháp giảm thiểu vấn đề này, chẳng hạn như phân tích nguồn gốc thành phần Phương pháp Krishnapuram đã giảm véc tơ đặc trưng từ 500 chiều xuống còn 10 chiều, nhưng độ chính xác của nó chưa được kiểm chứng Chúng ta sẽ tập trung vào việc biểu diễn dữ liệu tài liệu và cách thức bóc tách các đặc trưng một cách chính xác.
Hầu hết các phương thức phân cụm tài liệu sử dụng mô hình không gian véc tơ để biểu diễn tài liệu, trong đó mỗi tài liệu được thể hiện bằng một véc tơ d = {tf1, tf2, …, tfn}, với tf i là tần suất xuất hiện của từ t i Để đồng nhất hóa việc biểu diễn tài liệu, cần tách tất cả các từ từ tổng hợp và sử dụng chúng làm véc tơ đặc trưng Nhiều phương pháp áp dụng tần suất xuất hiện và tần suất nghịch đảo tài liệu (TF-IDF), trong đó tần suất xuất hiện tài liệu df i là số lượng tài liệu mà từ t i xuất hiện Thành phần tần suất nghịch đảo tài liệu (idf) được tính bằng log(N/df i), và trọng số từ t i trong tài liệu được xác định là w i = tf i × log(N/df i) Để giảm kích thước véc tơ đặc trưng, chỉ n từ có trọng số lớn nhất được chọn làm đặc trưng, theo nghiên cứu của Wong và Fu, họ đã chỉ ra rằng có thể giảm số lượng từ đại diện bằng cách chọn những từ có mức độ hồi tưởng đủ trong tập dữ liệu.
Một số thuật toán sử dụng tần suất xuất hiện từ hoặc trọng số từ thông qua véc tơ đặc trưng nhị phân, trong đó mỗi trọng số là 1 hoặc 0, tùy thuộc vào sự hiện diện của từ trong tài liệu Wong và Fu chỉ ra rằng tần suất xuất hiện từ trung bình trên web thường nhỏ hơn 2, điều này không phản ánh đúng mức độ quan trọng của từ Do đó, việc sử dụng trọng số nhị phân sẽ phù hợp hơn cho vấn đề này.
Trước khi phân tích tách đặc trưng, tài liệu sẽ được làm sạch bằng cách loại bỏ các từ dừng, tức là những từ xuất hiện thường xuyên nhưng không mang ý nghĩa như "và", "với", Đồng thời, một thuật toán làm đầy sẽ được áp dụng để chuyển đổi các mẫu từ khác nhau thành một mẫu chuẩn tương đương.
Một ví dụ về các stop-word Một mô hình khác về vấn đề biểu diễn tài liệu được gọi là N-gram
Mô hình N-gram coi tài liệu như một chuỗi ký tự và sử dụng cửa sổ trượt kích thước n để quét và tách các chuỗi n ký tự liên tiếp Nó có khả năng chấp nhận các lỗi phát âm nhỏ nhờ vào tính rườm rà của kết quả trả về Mô hình này cũng giải quyết được một số vấn đề về phụ thuộc ngôn ngữ khi kết hợp với thuật toán làm đầy Một vấn đề chính trong phương pháp này là dựa vào số lượng n-gram giữa hai tài liệu để phân tích.
Cuối cùng, một mô hình mới được giới thiệu bởi Zamir và Etzioni
Mô hình tiếp cận cụm từ [5] tập trung vào việc tìm kiếm các cụm hậu tố giữa các tài liệu và xây dựng một cây hậu tố, trong đó mỗi nút đại diện cho một phần của cụm từ Mỗi nút hậu tố được liên kết với các tài liệu chứa cụm từ đó, cho phép nắm bắt thông tin quan hệ giữa các từ Phương pháp này rất hữu ích trong việc tìm kiếm độ tương tự giữa các tài liệu, đồng thời hỗ trợ trong việc phát triển mô hình dữ liệu số.
Mô hình số là một cách tiếp cận trong sáng hơn để phân tích dữ liệu, trong đó các đặc trưng được tách ra và biểu diễn dưới dạng khoảng cách giữa các số Véc tơ đặc trưng luôn nằm trong một kích thước chấp nhận được, phụ thuộc vào vấn đề phân tích Để đảm bảo mỗi đặc trưng có tác dụng như nhau trong việc tính toán độ đo khoảng cách, các khoảng cách này thường được bình thường hóa Điều này làm cho việc tính toán độ tương tự giữa hai véc tơ trở nên đơn giản và minh bạch.
Mô hình phân cụm thường được áp dụng trong các vấn đề liên quan đến cơ sở dữ liệu, trong đó các thuộc tính của bảng thường được phân loại và một số thuộc tính có kiểu số Để xử lý loại dữ liệu này, các phương pháp phân cụm dựa trên thống kê thường được sử dụng Thuật toán ITERATE là một ví dụ điển hình cho việc làm việc với dữ liệu phân loại trong bối cảnh dữ liệu thống kê Ngoài ra, thuật toán K-modes cũng là một ví dụ nổi bật trong lĩnh vực này.
Trong quá trình xử lý dữ liệu, các đối tượng có thể biểu diễn thông tin đặc trưng với nhiều kiểu khác nhau như số, phân loại, không gian hoặc văn bản Để quản lý hiệu quả tất cả thông tin, cần phát triển một phương pháp phù hợp Việc áp dụng quy trình chuyển đổi giữa các kiểu dữ liệu là cần thiết Nếu một kiểu dữ liệu không thể sử dụng, thuật toán cần được điều chỉnh để tương thích với các kiểu dữ liệu khác.
2.3.2 Độ đo về sự tương tự
Độ đo về sự tương tự là yếu tố quan trọng nhất quyết định thành công của bất kỳ thuật toán phân cụm nào Để nhóm các đối tượng dữ liệu, ma trận xấp xỉ được sử dụng nhằm tìm kiếm những đối tượng tương tự nhau Trong tài liệu, có rất nhiều loại ma trận tương tự đã được đề cập, nhưng ở đây, chúng ta chỉ xem xét một số ma trận thông dụng nhất.
Việc xác định độ tương tự hoặc không tương tự giữa hai đối tượng được thực hiện thông qua các hàm tính khoảng cách Để so sánh hai véc tơ đặc trưng x và y, cần áp dụng các hàm tính toán độ tương tự hoặc độ không tương tự.
Một lớp rất hay được sử dụng của các hàm khoảng cách đó là “gia đình các khoảng cách Minkowski” [7], được mô tả như phía dưới: p n i p i i y x y x ∑
Hàm khoảng cách này mô tả một họ vô số khoảng cách được xác định bởi p, trong đó x, y ∈ R n Thông số p giả định có giá trị lớn hơn hoặc bằng 1 Một số giá trị phổ biến của p và các hàm khoảng cách tương ứng bao gồm p = 1, tương ứng với khoảng cách Hamming, được tính bằng tổng ∑.
Một trong những chỉ số phổ biến để đo độ tương tự, đặc biệt trong phân cụm tài liệu, là độ đo liên quan cosine Chỉ số này được định nghĩa qua công thức: y = (x * y) / (||x|| * ||y||).
) , cos( = trong đó biểu thị việc nhân vector và ||.|| biểu thị cho độ dài của vector
Một độ đo hay được dùng khác đó là độ đo Jaccard (được sử dụng trong [8], [9]), được định nghĩa là:
= = trong trường hợp các vector đặc trưng nhị phân, có thể đơn giản hóa thành: y x y y x x d ∪
Cần phải chú ý rằng từ “khoảng cách” không có gì nhập nhằng với
Các thuật ngữ "tương tự" và "trái nghĩa" giúp chúng ta hiểu mức độ tương đồng giữa hai đối tượng, với độ tương tự giảm dần khi khoảng cách giữa chúng tăng lên Nhiều thuật toán hiện nay áp dụng hàm khoảng cách để tính toán sự tương tự giữa các phân cụm, giữa một phân cụm và một đối tượng, hoặc giữa hai đối tượng Để thực hiện việc này, cần có một vector đặc trưng đại diện cho từng phân cụm nhằm tính toán khoảng cách chính xác.
Một số kỹ thuật Phân cụm Web điển hình
Kỹ thuật phân cụm được chia thành 2 nhóm chính: Phân cụm theo thứ bậc và phân cụm bằng cách phân mảnh
2.4.1 Phân cụm theo thứ bậc
Kỹ thuật phân cụm theo thứ bậc tạo ra một cấu trúc phân cấp với phân cụm gốc ở đỉnh và các phân cụm đơn lẻ ở dưới Mỗi phân cụm cấp cao chứa các phân cụm cấp thấp hơn, tạo thành một mối quan hệ thứ bậc Kết quả của quá trình phân cụm này được biểu diễn dưới dạng một cây, gọi là dendogram.
Hình 3 Một ví dụ dendogram của phân cụm sử dụng phân cụm có thứ bậc
Tùy thuộc vào định hướng xây dựng thứ tự, có hai phương thức phân cụm theo thứ bậc: tích tụ (Agglomerative) và chia sẻ (Divisive) Trong đó, phương thức tích tụ được áp dụng phổ biến nhất trong các phân cụm theo thứ bậc, cụ thể là phân cụm tích tụ theo thứ bậc (AHC).
Phương thức phân cụm tích tụ bắt đầu với các phân cụm đơn lẻ và kết nối hai phân cụm giống nhau nhất trong mỗi bước Quá trình này lặp lại cho đến khi số lượng phân cụm đạt ngưỡng cho phép hoặc tiếp tục cho đến khi chỉ còn một phân cụm duy nhất Phân cụm tích tụ hoạt động theo mô hình tham ăn (greedy), trong đó cặp nhóm tài liệu được chọn dựa trên sự tương đồng cao nhất theo các tiêu chuẩn nhất định.
Phương thức tính khoảng cách giữa hai phân cụm là một bước quan trọng và tương đối đơn giản, tuy nhiên cần được định nghĩa rõ ràng Dưới đây là ba phương thức phổ biến nhất để tính toán khoảng cách này.
• Phương thức kết nối đơn (Single Linkage Method): Độ tương tự giữa
Hai phân cụm S và T được xác định dựa trên khoảng cách ngắn nhất giữa các thành phần trong từng phân cụm Phương pháp này thường được gọi là phân cụm “láng giềng gần nhất” (nearest neighbour).
Phương thức kết nối toàn bộ (Complete Linkage Method) là một kỹ thuật phân cụm trong đó độ tương tự giữa hai phân cụm S và T được xác định dựa trên khoảng cách lớn nhất giữa các thành phần của chúng Phương pháp này còn được biết đến với tên gọi là phân cụm “láng giềng xa nhất” (furthest neighbour).
Phương thức kết nối trung bình, hay còn gọi là Average Linkage Method, tính toán độ tương tự giữa hai phân cụm S và T dựa trên khoảng cách trung bình giữa các thành phần của các phân cụm này Phương pháp này giúp xác định mối liên hệ giữa các phân cụm một cách hiệu quả và chính xác.
Phương thức này xét tất cả các cặp khoảng cách các đối tượng trong các
2 phân cụm Phương thức này còn được gọi là UPGMA (Unweighter Pair-Group Method using Arithmetic averages )
Karypis đã chỉ trích các phương pháp trước đó vì chúng dựa trên mô hình tĩnh của các liên kết và sự gần gũi trong dữ liệu Để khắc phục những vấn đề này, ông đã phát triển một mô hình động mang tên CHAMELEON Hệ thống này chỉ gộp hai phân cụm khi có mối quan hệ chặt chẽ giữa sự liên kết và gần gũi của các phân cụm với sự liên kết và gần gũi bên trong các phân cụm đó.
Các kỹ thuật chất đống thường yêu cầu thời gian cỡ Ω(n²) do việc xem xét tất cả các cặp phân cụm có thể Hệ thống Phân tán/Tập hợp (Scatter/Gather) được giới thiệu trong cuốn Cutting sử dụng một nhóm tích tụ trung bình để tìm kiếm các phân cụm hạt nhân cho thuật toán chia phân cụm Tuy nhiên, để giảm thời gian chạy, phương pháp này chỉ áp dụng cho một tập tài liệu nhỏ Bên cạnh đó, phương pháp trung bình nhóm được đề xuất trong Steinbach được xem là ưu việt hơn so với nhiều phương pháp đo độ tương tự khác nhờ vào tính ổn định của nó.
Các phương thức phân cụm hoạt động theo cách từ trên xuống dưới, bắt đầu bằng việc coi toàn bộ tập dữ liệu như một phân cụm và tiếp tục chia nhỏ từng phân cụm cho đến khi chỉ còn lại các đối tượng riêng lẻ Sự khác biệt giữa các phương thức này chủ yếu nằm ở hai điểm: (1) lựa chọn phân cụm nào sẽ được chia tiếp theo và (2) phương pháp chia tách Thường thì một tìm kiếm toàn diện được thực hiện để xác định phân cụm cần phân tách dựa trên các tiêu chí khác nhau Một cách tiếp cận đơn giản hơn là chọn phân cụm lớn nhất hoặc phân cụm có độ tương tự trung bình thấp nhất để chia tách, hoặc áp dụng tiêu chí dựa trên cả kích thước và độ tương tự trung bình Nghiên cứu của Steinbach đã chỉ ra rằng sự khác biệt giữa các chiến thuật này là không đáng kể, dẫn đến việc ưu tiên chia nhỏ phân cụm lớn nhất còn lại.
Chi nhỏ một phân cụm yêu cầu quyết định về các đối tượng được đưa vào phân cụm con Phương pháp phổ biến để tìm hai phân cụm con là kỹ thuật chia cắt k-means (bisecting k-means), một kỹ thuật lai ghép hiệu quả Ngoài ra, thuật toán ITERATE cũng có thể được áp dụng dựa trên thống kê, cho phép chia một phân cụm thành nhiều phân cụm con tùy thuộc vào cấu trúc của các đối tượng.
2.4.2 Phân cụm bằng cách phân mảnh
Lớp thuật toán phân cụm hoạt động bằng cách nhận diện các phân cụm tiềm năng đồng thời và cập nhật chúng để tối ưu hóa một số chức năng Trong số các thuật toán nổi tiếng, K-means và các biến thể của nó được sử dụng rộng rãi Thuật toán K-means bắt đầu bằng việc chọn ngẫu nhiên k phân cụm hạt nhân, sau đó phân loại các đối tượng vào phân cụm gần nhất Quá trình này lặp lại việc tính toán ý nghĩa của các phân cụm và mức độ thành viên của các đối tượng mới, cho đến khi đạt đến số lần lặp nhất định hoặc không còn thay đổi nào trong ý nghĩa của các phân cụm.
K-means có kích cỡ O(nkT) trong đó T là số lượng vòng lặp Dù sao, một nhược điểm chính của K-means là nó giả định một cấu trúc phân cụm cầu và không thể được áp dụng với các miền dữ liệu mà các cấu trúc phân cụm không phải là hình cầu
Một biến thể của K-means cho phép sự chồng lặp của các phân cụm là C-means mờ (FCM: Fuzzy C-means), cho phép các cấp độ khác nhau của thành viên thay vì quan hệ nhị phân giữa các đối tượng và phân cụm Krishnapuram đã giới thiệu phiên bản Fuzzy C-Medoids (FCMdd), trong đó các ý nghĩa được thay bằng các ngữ cảnh Thuật toán FCMdd tương đối nhanh với độ phức tạp O(n²) và có hiệu suất hoạt động cao hơn so với FCM.
Các thuật toán phân cụm hạt nhân thường gặp phải vấn đề không ổn định do lựa chọn ngẫu nhiên của các phân cụm, điều này khác biệt với phân cụm có thứ bậc Để cải thiện tình hình, một số phương pháp đã được phát triển nhằm xác định các phân cụm hạt nhân ban đầu "tốt" trước khi áp dụng các thuật toán này Một ví dụ điển hình có thể được tìm thấy trong hệ thống Phân chia/Thu thập [15].
Các yêu cầu đối với các thuật toán phân cụm Web
Trong các cuộc thảo luận trước đây về các thuật toán phân cụm, việc nhận diện các yêu cầu cho thuật toán phân cụm tài liệu là rất quan trọng Điều này sẽ giúp chúng ta thiết kế các giải pháp hiệu quả và thực tiễn hơn, phù hợp với các yêu cầu đã đề ra Dưới đây là danh sách các yêu cầu này.
2.5.1 Tách các thông tin đặc trưng
Vấn đề chính trong phân cụm dữ liệu là lựa chọn các tập đại diện cho các đặc trưng của mô hình Các đặc trưng này cần phải cung cấp đủ thông tin để biểu diễn chính xác dữ liệu phân tích Nếu không, dù thuật toán có tốt đến đâu cũng sẽ trở nên vô dụng Việc giảm số lượng đặc trưng là rất quan trọng, vì số chiều của không gian đặc trưng ảnh hưởng đến hiệu suất thuật toán Nghiên cứu của Yang và Pedersen cho thấy phương pháp ngưỡng tần suất xuất hiện tài liệu (DF) mang lại hiệu quả tốt hơn và yêu cầu ít xử lý tính toán hơn Wong và Fu cũng chỉ ra rằng có thể giảm số lượng từ đại diện bằng cách chọn những từ có ý nghĩa trong tập tài liệu.
Mô hình tài liệu đóng vai trò quan trọng trong việc phân tích ngữ nghĩa Hầu hết các mô hình hiện nay được xây dựng dựa trên việc tách lọc từ từ tập hợp tài liệu, đồng thời tính toán tần suất xuất hiện của từng từ và tần suất của tài liệu Một ví dụ điển hình là mô hình dựa trên cụm từ do Zamir và Etzioni đề xuất, trong đó họ tìm kiếm các cụm từ hậu tố có điểm chung trong tài liệu thông qua cấu trúc cây hậu tố.
Trong lĩnh vực web, tập dữ liệu thường chứa nhiều chủ đề khác nhau, do đó việc phân cụm tài liệu theo các nhóm liên quan là rất quan trọng Một mô hình phân cụm chồng lặp cho phép tài liệu thuộc nhiều chủ đề khác nhau, điều này giúp tối ưu hóa quá trình phân tích dữ liệu Hiện nay, có rất ít thuật toán hỗ trợ phân cụm chồng lặp, trong đó có phân cụm mờ và cây hậu tố Nếu mỗi tài liệu cần phải thuộc về một phân cụm duy nhất, có thể sử dụng thuật toán không chồng lặp hoặc tạo ra các phân cụm độc lập thông qua phân cụm mờ sau khi làm rõ mối quan hệ giữa các phân cụm.
Trong lĩnh vực web, mỗi câu lệnh tìm kiếm có thể trả về hàng trăm hoặc thậm chí hàng nghìn trang web, do đó việc phân cụm các kết quả trong thời gian chấp nhận được là rất quan trọng Một số hệ thống chỉ phân cụm trên các đoạn tin được trả về từ hầu hết các máy tìm kiếm, nhưng chiến thuật này không đủ để phân cụm tài liệu vì các đoạn tin không cung cấp thông tin đầy đủ về nội dung thực sự Thuật toán phân cụm online nên hoàn thành trong thời gian tuyến tính, trong khi thuật toán offline thường tập trung vào việc tạo ra các phân cụm chất lượng cao hơn.
Nhiều thuật toán phân cụm gặp phải vấn đề về nhiễu và dữ liệu thừa, do đó, một thuật toán phân cụm hiệu quả cần có khả năng xử lý những yếu tố này để tạo ra các phân cụm chất lượng cao Trong phân cụm có thứ bậc, các phương pháp tính toán khoảng cách như láng giềng gần nhất và láng giềng xa nhất thường nhạy cảm với dữ liệu thừa, vì vậy nên hạn chế sử dụng chúng Thay vào đó, phương thức trung bình kết nối được xem là phù hợp nhất khi làm việc với dữ liệu bị nhiễu.
Một đặc trưng quan trọng trong lĩnh vực web là khả năng cập nhật phân cụm có tính tăng, cho phép tài liệu mới được đưa vào các phân cụm tương ứng mà không cần phân cụm lại toàn bộ tập tài liệu Các tài liệu đã được chỉnh sửa cũng nên được xử lý và phân loại lại vào các phân cụm phù hợp Đáng chú ý, tính tăng càng hiệu quả thì hiệu suất tổng thể càng được cải thiện.
2.5.6 Việc biểu diễn kết quả
Một thuật toán phân cụm hiệu quả cần cung cấp mô tả ngắn gọn và chính xác về các phân cụm mà nó tạo ra Các tổng kết này phải đại diện đủ cho nội dung, giúp người sử dụng nhanh chóng quyết định phân cụm nào họ quan tâm.
Bài toán tách từ tự động tiếng Việt
Tiếng Việt có cấu trúc phức tạp, khiến việc tách từ không chỉ đơn thuần dựa vào khoảng trắng như trong tiếng Anh Hiện nay, có nhiều công cụ tách từ tiếng Việt với các phương pháp khác nhau, mỗi phương pháp đều có ưu và nhược điểm riêng Do đó, chưa có phương pháp nào được coi là tốt nhất Bài viết này sẽ giới thiệu một số phương pháp tách từ tiếng Việt và đồng thời nêu ra những khó khăn trong việc phân cụm trang Web tiếng Việt.
2.6.1 Một số khó khăn trong phân cụm trang Web tiếng Việt
Hiện nay, nhiều người đã quen thuộc với các công cụ tìm kiếm như Google hay Yahoo Search, nhưng chúng chủ yếu phục vụ nhu cầu của người nước ngoài Ở Việt Nam, có một số công cụ tìm kiếm thông tin tiếng Việt như Vinaseek và Netnam, nhưng chúng vẫn gặp khó khăn trong việc tách từ do chủ yếu dựa vào khoảng trắng Việc xây dựng một hệ thống tìm kiếm thông tin tiếng Việt gặp nhiều thách thức, đặc biệt là trong việc tách từ và xác định bảng mã tiếng Việt Điều này cũng ảnh hưởng đến khả năng phân cụm tài liệu tiếng Việt, vì bước đầu tiên của quá trình này là tách từ.
V ấ n đề b ả ng mã Ti ế ng Vi ệ t
Tiếng Việt có nhiều bảng mã cần được xử lý, khác với tiếng Anh Một số công cụ tìm kiếm như Vinaseek hỗ trợ tốt cho việc chuyển đổi giữa các bảng mã như VNI, TCVN3 và ViQR.
Khó kh ă n trong tách t ừ Ti ế ng Vi ệ t
Tách từ là giai đoạn khó khăn nhất trong việc xây dựng hệ thống tìm kiếm thông tin và phân cụm tài liệu tiếng Việt Khác với tiếng Anh, nơi việc xác định từ diễn ra dễ dàng nhờ khoảng trắng, tiếng Việt đòi hỏi phương pháp phức tạp hơn để xác định và tách từ chính xác.
Trong tiếng Việt, câu “Tôi là một sinh viên” được phân tách thành 4 từ: Tôi, là, một, sinh viên Khác với tiếng Anh, từ trong tiếng Việt có thể được ghép từ một hoặc nhiều tiếng, với từ “sinh viên” là ví dụ điển hình, được hình thành từ hai tiếng “sinh” và “viên” Việc tách từ dựa vào khoảng trắng chỉ thu được các tiếng, nhưng để hiểu rõ nghĩa, cần nhận diện từ có cấu trúc ổn định và ý nghĩa hoàn chỉnh.
Hiện nay, có nhiều phương pháp tách từ tiếng Việt, nhưng do ngữ pháp phức tạp, chưa có phương pháp nào đạt độ chính xác 100% Việc lựa chọn phương pháp tối ưu vẫn là một vấn đề gây tranh cãi.
Tiếng Việt có nhiều từ đồng nghĩa nhưng khác âm, và hiện nay các công cụ không hỗ trợ xác định các từ này Do đó, kết quả trả về thường không đầy đủ.
Ngược lại, tồn tại những từ đồng âm nhưng có nghĩa khác nhau Các hệ thống tìm kiếm có thể trả về tài liệu chứa những từ này mà không xác định được sự liên quan thực sự của chúng Do đó, kết quả tìm kiếm thường không chính xác.
Trong quá trình phân tích tài liệu, một số từ như "và", "với", "nhưng" thường xuất hiện với tần suất cao nhưng lại không mang ý nghĩa quan trọng Việc tìm kiếm các tài liệu chứa những từ này sẽ dẫn đến kết quả không hữu ích Do đó, cần thiết phải loại bỏ những từ vô nghĩa này trước khi tiến hành tìm kiếm để nâng cao hiệu quả của quá trình.
2.6.2 Tiếng và Từ trong tiếng Việt
Âm tiết trong tiếng Việt được cấu thành từ các âm vị, là những đơn vị ngữ âm cơ bản hơn Mỗi âm vị được biểu diễn bằng một ký tự, được gọi là chữ.
Về mặt ngữ nghĩa, tiếng là đơn vị nhỏ nhất có nghĩa, nhưng cũng có một số tiếng không có nghĩa
Về giá trị ngữ pháp, tiếng là đơn vị cấu tạo từ Sử dụng tiếng để tạo thành từ, ta có hai trường hợp sau:
- Từ một tiếng: gọi là từ đơn Trường hợp này một từ chỉ có một tiếng Ví dụ như: ông, bà, cha, mẹ,
Từ phức là những từ có hai tiếng trở lên, bao gồm các ví dụ như xã hội, an ninh, và hợp tác xã.
T ừ là đơn vị nhỏ nhất để tạo thành câu Trong đặt câu chúng ta dùng từ chứ không dùng tiếng.
2.6.3 Phương pháp tách từ tự động tiếng Việt fnTBL Ý tưởng chính của phương pháp học dựa trên sự biến đổi (TBL) là để giải quyết một vấn đề nào đó ta sẽ áp dụng các phép biến đổi, tại mỗi bước, phép biến đổi nào cho kết quả tốt nhất sẽ được chọn và được áp dụng lại với vấn đề đã đưa ra Thuật toán kết thúc khi không còn phép biến đổi nào được chọn Hệ thống fnTBL (Fast Transformation-based learning) gồm hai tập tin chính [1]:
Tập tin dữ liệu học (Training) được tạo ra một cách thủ công và yêu cầu độ chính xác cao Mỗi mẫu (template) cần được đặt trên một dòng riêng biệt Ví dụ, dữ liệu học để xác định từ loại trong một văn bản có thể được định dạng theo cách này.
ISA danhturieng bị dongtu kiểm tra dongtu
Trong ví dụ này mỗi mẫu gồm hai phần: phần đầu tiên là từ, phần thứ hai là từ loại tương ứng
Tập tin chứa các mẫu luật (rule template) là công cụ quan trọng trong hệ thống fnTBL, nơi mỗi luật được trình bày trên một dòng Hệ thống này sử dụng các mẫu luật để áp dụng vào tập dữ liệu học Ví dụ, luật "chunk_-2 chunk_-1 => chunk" được áp dụng để xác định từ loại, trong đó chunk_-2 đại diện cho động từ, chunk_-1 là số từ, và chunk là danh từ Luật này có ý nghĩa rằng nếu hai từ trước đó là động từ và số từ, thì từ loại hiện hành sẽ được chuyển thành danh từ, giúp tách từ Tiếng Việt một cách hiệu quả.
Ta có thể áp dụng phương pháp fnTBL để tách từ Tiếng Việt, chỉ cần thay đổi một số định dạng cho phù hợp
- Xây dựng tập tin dữ liệu học: Tập tin dữ liệu cho việc tách từ Tiếng Việt có dạng như sau:
Vì B sao B công B ty I ISA B bị B đặt B vào B tình B trạng I
Các ký tự B, I gọi là các chunk có ý nghĩa như sau:
Tiếng có chunk = B nghĩa là tiếng đó bắt đầu một từ (begin) Tiếng có chunk = I nghĩa là tiếng đó nằm trong một từ (inside)
Xây dựng tập tin chứa các mẫu luật là bước quan trọng trong việc tách từ tiếng Việt Qua quá trình nghiên cứu, chúng tôi đã xác định được ba luật chính để áp dụng cho việc này: chunk_0 word_0 => chunk, chunk_0 word_-1 word_0 => chunk, và chunk_0 word_0 word_1 => chunk Những luật này sẽ hỗ trợ hiệu quả trong việc phân tích và xử lý ngôn ngữ tự nhiên tiếng Việt.
(1) Từ tập dữ liệu học xây dựng từ điển các từ
THUẬT TOÁN PHÂN CỤM CÂY HẬU TỐ VÀ THUẬT TOÁN CÂY PHÂN CỤM TÀI LIỆU 55 U 3.1 Giới thiệu về thuật toán phân cụm trang Web có tính tăng
Thuật toán STC
Thuật toán phân cụm cây hậu tố Suffix Tree Clustering (STC) là một phương pháp phân cụm hiệu quả với thời gian xử lý tuyến tính, tập trung vào việc nhận diện các cụm từ chung trong các văn bản Trong ngữ cảnh này, cụm từ được hiểu là một chuỗi liên tiếp của một hoặc nhiều từ Chúng ta định nghĩa cụm cơ bản (base cluster) là tập hợp các văn bản chia sẻ ít nhất một cụm từ chung.
STC thực hiện quy trình qua 3 bước logic: (1) làm sạch văn bản, (2) định nghĩa các cụm cơ bản thông qua một cây hậu tố, và (3) kết hợp các cụm cơ bản thành các cụm hoàn chỉnh.
Bước 1: Tiền xử lý (Pro-Precessing) là giai đoạn quan trọng trong việc chuyển đổi các chuỗi văn bản của mỗi tài liệu Tại đây, các thuật toán chặt được áp dụng để loại bỏ tiền tố, hậu tố và chuyển đổi số nhiều thành số ít Các câu được phân tách dựa trên dấu chấm câu và thẻ HTML, trong khi các từ không phải là từ như số, thẻ HTML và dấu câu sẽ bị bỏ qua Đồng thời, các chuỗi tài liệu gốc được giữ lại cùng với các con trỏ chỉ vị trí bắt đầu của mỗi từ trong chuỗi chuyển đổi, giúp hiển thị đoạn văn bản gốc từ các nhóm từ khóa đã được xử lý.
Bước 2: Xác định các cụm cơ sở là quá trình tạo chỉ số cho các nhóm từ trong tập tài liệu, có thể thực hiện hiệu quả bằng cách sử dụng cấu trúc dữ liệu gọi là cây hậu tố Cây hậu tố được xây dựng trong thời gian tuyến tính dựa trên kích cỡ của tập tài liệu và có thể được cập nhật cho các tài liệu mới Cây hậu tố của một chuỗi S là một cấu trúc chứa tất cả các hậu tố của S, trong đó thuật toán xem xét các tài liệu như chuỗi từ, không phải ký tự, do đó các hậu tố sẽ chứa một hoặc nhiều từ.
1 Một cây hậu tố là cây có gốc và được định hướng
2 Mỗi node trong có tối thiểu 2 con
3 Mỗi cạnh được gắn nhãn là một chuỗi con của S và chuỗi đó khác rỗng Nhãn của một node được xác định thông qua chuỗi nối tiếp của các nhãn được gắn cho các cạnh từ gốc tới node đó
4 Không có hai cạnh từ một node được gắn nhãn bắt đầu với từ giống nhau
5 Với mỗi hậu tố s của S, tồn tại một suffix-node có nhãn là s
Cây hậu tố là một cấu trúc dữ liệu quan trọng, chứa tất cả các hậu tố của một tập hợp các chuỗi Mỗi suffix-node trong cây được đánh dấu để xác định chuỗi gốc mà nó thuộc về, với nhãn của suffix-node là một hậu tố tương ứng Để thực hiện phân cụm, chúng ta cần xây dựng cây hậu tố cho tất cả các câu trong tập tài liệu Ví dụ, cây hậu tố có thể được xây dựng cho tập chuỗi như {“cat ate cheese”, “mouse ate cheese too”}.
- Các node của cây hậu tố được vẽ bằng hình tròn
- Mỗi suffix-node có một hoặc nhiều hộp gắn vào nó để chỉ ra chuỗi mà nó thuộc về
Mỗi hộp chứa hai số: số đầu tiên xác định chuỗi mà hậu tố thuộc về, trong khi số thứ hai chỉ ra hậu tố cụ thể của chuỗi được gán nhãn cho suffix-node.
Hình 7 Cây hậu tố của các chuỗi “cat ate cheese”, “mouse ate cheese too”,
Các node đặc biệt a đến f đại diện cho các nhóm tài liệu và từ khóa chung cho tất cả tài liệu Nhãn của mỗi node thể hiện nhóm từ chung, trong khi tập hợp tài liệu gắn nhãn suffix-node là kế thừa từ các node tạo bởi nhóm tài liệu Mỗi node biểu thị một cụm cơ sở (base cluster), và tất cả các cụm cơ sở có chứa từ hai tài liệu trở lên đều xuất hiện như các node trong cây hậu tố Bảng dưới đây liệt kê các node từ a đến f và các cụm cơ sở tương ứng.
Bảng 1 Sáu node từ hình 7 và các cụm cơ sở tương ứng
Node Phrase Documents a cat ate 1,3 b ate 1,2,3 c cheese 1,2 d mouse 2,3 e too 2,3 f ate cheese 1,2
Mỗi cụm cơ sở được gán một điểm số dựa trên số lượng tài liệu mà cụm đó chứa và các từ tạo thành nhóm từ của nó Điểm số s(B) của cụm cơ sở B với nhóm từ P được tính theo công thức: s(B) = |B| f(|P|).
Trong đó, |B| đại diện cho số lượng tài liệu trong cụm cơ sở B, trong khi |P| thể hiện số lượng từ có trong nhóm từ P với điểm số khác 0 Điểm số của nhóm từ P được xem xét để xác định mức độ quan trọng và ảnh hưởng của chúng trong việc phân tích tài liệu.
Thuật toán cài đặt một danh sách stoplist bao gồm các từ đặc trưng trên internet dùng để xác định các từ khác ( Ví dụ “previous”, “java”,
Các từ nằm trong danh sách stoplist, cũng như những từ xuất hiện quá ít (3 từ hoặc ít hơn) hoặc quá nhiều (hơn 40% tổng số tài liệu), sẽ nhận điểm số 0 trong nhóm từ.
Hàm f trong công thức (*) hoạt động trên các nhóm từ đơn, thể hiện tính tuyến tính đối với các nhóm từ có độ dài từ 2 đến 6, trong khi đó, đối với các nhóm có độ dài lớn hơn, hàm f giữ giá trị hằng số.
Bước 3: Kết nối các cụm cơ sở
Các tài liệu có thể chia sẻ nhiều nhóm từ, dẫn đến việc tập hợp tài liệu từ các cụm cơ sở khác nhau có thể trùng lặp hoặc giống nhau Để tránh tình trạng này, bước thứ ba của thuật toán sẽ tiến hành trộn các cụm cơ sở có sự trùng lặp cao trong tập tài liệu của chúng, trong khi các nhóm từ chung sẽ không được xem xét ở bước này.
Thuật toán xác định độ tương tự giữa các cụm dựa trên sự trùng lặp tài liệu Giả sử có hai cụm cơ sở Bm và Bn với kích cỡ lần lượt là |Bm| và |Bn|, thì |Bm ∩ Bn| biểu thị số tài liệu chung giữa hai cụm Độ tương tự giữa Bm và Bn đạt giá trị 1 khi có sự trùng lặp hoàn toàn về tài liệu.
+) | Bm ∩ Bn| / |Bm| > 0.5 và +) | Bm ∩ Bn| / |Bn| > 0.5 Ngược lại, độ tương tự là 0
Hình 8 minh họa một ví dụ trong đó mỗi node đại diện cho các cụm cơ sở Hai node được kết nối khi độ tương tự giữa chúng đạt giá trị 1 Một cụm được xác định là tập hợp các thành phần được liên kết trong đồ thị của các cụm cơ sở, và mỗi cụm bao gồm toàn bộ tài liệu thuộc về các cụm cơ sở đó.
Hình 8 Đồ thị các cụm cơ sở của ví dụ trong Hình 7 và bảng 1
Thuật toán phân cụm sử dụng cây phân cụm tài liệu
Trong thuật toán phân cụm tài liệu, mỗi tài liệu được biểu diễn bằng một vector đặc trưng, trong đó từng đặc trưng tương ứng với một từ khoá hoặc cụm từ trong tập tài liệu Mỗi entry của vector chứa trọng số cho đặc trưng tương ứng Sau khi trích xuất các vector đặc trưng, thuật toán phân cụm có thể được áp dụng cho tập hợp các vector này, tương tự như trong phân cụm dữ liệu lớn Kết quả phân cụm sẽ bao gồm các lớp tài liệu với các đặc trưng tiêu biểu, như từ khoá hoặc cụm từ khoá, đảm bảo có đủ hỗ trợ tài liệu cho mỗi cụm, giúp người dùng dễ dàng hiểu và sử dụng.
Trong bài viết này, tôi giới thiệu cấu trúc cây DC-tree (Cây phân cụm tài liệu), cho phép phân cụm tài liệu mà không cần tập huấn luyện DC-tree không yêu cầu đối tượng dữ liệu phải được chèn vào vị trí thấp nếu không có nút con tương tự, giúp ngăn chặn việc nhóm các dữ liệu không tương tự Thuật toán phân cụm dựa trên DC-tree vì vậy ổn định khi thêm tài liệu mới và dễ dàng chấp nhận các tài liệu “nhiễu”.
Phương thức này có thể hữu ích trong một số cách:
Tiền xử lý trong phân lớp trang web cho phép người dùng lựa chọn lớp phù hợp trước khi tìm kiếm, giúp tăng cường tính chính xác và hiệu quả trong quá trình tìm kiếm.
Khi thực hiện phân lớp trực tuyến, kỹ thuật này giúp tổ chức và phân loại số lượng lớn kết quả từ một tìm kiếm, từ đó cung cấp hướng dẫn tốt hơn cho người dùng trong các tìm kiếm sau này.
(3) Cho việc phân lớp trang Web có tính tăng sau khi cập nhật trên kho dữ liệu.
3.3.2 Trích chọn đặc trưng và phân cụm tài liệu
Nhiệm vụ đầu tiên là xác định một phương pháp trích chọn đặc trưng hiệu quả cho môi trường Web Bài viết này sẽ trình bày một phương pháp trích chọn đặc trưng, đồng thời mô tả tài liệu và quá trình phân cụm tài liệu Cuối cùng, phương pháp ước lượng chất lượng phân cụm cũng sẽ được giới thiệu.
Phương pháp trích chọn đặc trưng cho thuật toán phân cụm tài liệu web không phụ thuộc vào tần suất xuất hiện từ, nhằm đạt được sự kết hợp tối ưu giữa độ hồi tưởng và số lượng đặc trưng sử dụng Mục tiêu của phân cụm là hỗ trợ trong việc tìm kiếm thông tin bằng cách thu hẹp phạm vi tìm kiếm, trong khi người dùng có thể không muốn quá nhiều phân cụm trong kết quả Các cụm quá lớn không giúp thu hẹp tìm kiếm, trong khi các cụm quá nhỏ có thể làm tăng tổng số cụm và gây ra trạng thái “nhiễu” Tham số k được sử dụng để xác định kích thước cụm, với số lượng phân cụm xấp xỉ N/k, trong đó N là tổng số tài liệu Phương pháp đề xuất bao gồm các bước cụ thể để thực hiện.
1 Lấy ngẫu nhiên một tập con của các tài liệu với cỡ m từ tập sao lục
2 Trích tập các từ có xuất hiện ít nhất một lần trong các tài liệu Xoá các từ kết thúc và kết nối các từ vào cùng một gốc bằng cách sử dụng kỹ thuật lấp đầy
3 Đếm tần xuất tài liệu của các từ đã được trích trong bước 2
5 Lấy tất cả các từ với tần xuất tài liệu trong giá trị từ lower và upper
6 Kiểm tra nếu coverage ( độ hồi tưởng) của các từ là lớn hơn ngưỡng định nghĩa trước Nếu vậy, dừng Nếu không, đặt lower=lower-1 và upper=upper+1, và quay lại bước 5 Để trích chọn các đặc trưng tiêu biểu từ các tài liệu, chúng ta lựa chọn ngẫu nhiên một tập các tài liệu mẫu cho bước trích chọn đặc trưng trong bước 1 Một vài thử nghiệm [24] chỉ ra rằng phương pháp trích chọn đặc trưng này có thể trích ra một tập các đặc trưng tốt cho phân cụm tài liệu Web Một danh sách các từ kết thúc thường được sử dụng để xoá các từ ít có ý nghĩa Kỹ thuật lấp đầy thường được sử dụng để kết nối các từ này trong dạng tương tự
Để tối ưu hóa thời gian phân cụm, bước 4 và 6 trong quy trình này nhằm giảm số lượng đặc trưng đồng thời đảm bảo độ hồi tưởng hợp lý Người sử dụng mong muốn có khoảng k tài liệu trong mỗi cụm Trong lý tưởng, một đặc trưng chỉ nên xuất hiện trong một cụm duy nhất với tần suất tài liệu là k Do đó, chúng ta chọn các đặc trưng có tần suất tài liệu bằng k, thiết lập giới hạn lower và upper trong bước 4 Khoảng giá trị {lower, upper} sẽ được điều chỉnh lặp lại trong bước 6 để đảm bảo đủ độ bao phủ cho tập đặc trưng Mặc dù N/k chỉ là một chỉ dẫn, số lượng thực tế các phân cụm có thể khác biệt Phương pháp cũng áp dụng ngưỡng hồi tưởng, với giá trị 0.8 được xác định là ngưỡng hồi tưởng tối ưu qua các thử nghiệm.
Trong thuật toán của chúng ta, một tài liệu (D i ) được biểu diễn dưới dạng D i =(W i ,ID i ) Ở đây, ID i là mã nhận dạng tài liệu, cho phép truy xuất tài liệu (D i ), trong khi W i là vector đặc trưng của tài liệu.
W i = (w i1, w i2, , w in) cho thấy n là số lượng đặc trưng đã được trích chọn, với w ij là trọng số của đặc trưng thứ j, trong đó j thuộc {1, 2, , n} Trong thuật toán của chúng ta, trọng số nhị phân được áp dụng, tức là w ij = 1 nếu D i bao gồm đặc trưng thứ j, ngược lại w ij = 0 Như đã nêu trong phần trích chọn đặc trưng, một trang web thường không chứa nhiều từ, và tần suất xuất hiện của một từ không phản ánh đúng mức độ quan trọng của nó Do đó, lược đồ trọng số nhị phân là phù hợp nhất cho vấn đề của chúng ta.
Giá trị phân cụm tài liệu (DC - Document Cluster) là một bộ ba thông tin được duy trì thông qua một tập hợp các tài liệu nằm trong cùng một cụm.
(2) tập các nhận dạng tài liệu
(3) vector đặc trưng của phân cụm Định nghĩa1: (DC) Cho N tài liệu trong một phân cụm:
{D 1 ,D 2 , D N }, giá trị DC của một nút được định nghĩa như một bộ ba: DC
Trong một cụm tài liệu, N đại diện cho số lượng tài liệu, trong khi ID là tập hợp các nhận dạng của những tài liệu này, ví dụ ID={ID 1, ID 2, , ID N}.
W là vector đặc trưng của cụm tài liệu, ví dụ W=(w 1 ,w 2 , ,w n ), trong đó w j =∑ , và n là số các đặc trưng đã được trích chọn
Bộ ba này không chỉ tổng hợp tần suất tài liệu trong cụm mà còn có khả năng đánh giá sự tương đồng giữa hai cụm Bổ đề sau đây cung cấp một phương pháp linh hoạt để kết nối hai cụm thành một, từ đó tạo ra giá trị DC cho cụm kết hợp.
Bổ đề [24] (Phép cộng) cho biết rằng, với hai bộ giá trị DC tách rời DC 1 = (N 1 ,ID 1 ,W 1 ) và DC 2 = (N 2 ,ID 2 ,W 2 ), bộ giá trị DC mới, DC new, được hình thành bằng cách kết hợp chúng: DC new = (N 1 +N 2 , ID 1 ∪ ID 2 , W 1 +W 2 ), trong đó W 1 +W 2 = (w 11 +w 21 ,w 12 +w 22 , ,w 1n +w 2n ) và n là số các đặc trưng đã được trích chọn Để đánh giá chất lượng kết quả phân cụm, chúng ta sử dụng kỹ thuật đánh giá F-Measure [23].
Cho từng topic được gán nhãn bằng tay T trong tập tài liệu, giả sử rằng một phân cụm X tương ứng với topic đó được hình thành
N 1 = số các tài liệu của topic T trong phân cụm X
N 2 =số các tài liệu trong phân cụm X
N 3 = tổng số các tài liệu của topic T
F-measure cho topic T được địng nghĩa như sau:
Kết luận chương 3
Chương này giới thiệu hai thuật toán phân cụm hiệu quả là STC và DC-tree, đồng thời cung cấp nhận xét cho từng thuật toán Luận văn cũng phân tích thuật toán phân cụm phù hợp cho tài liệu Web nhằm ứng dụng trong máy tìm kiếm Kết quả cài đặt và đánh giá thử nghiệm cho các thuật toán sẽ được trình bày trong chương tiếp theo.
PHẦN MỀM THỬ NGHIỆM VÀ KẾT QUẢ THỰC NGHIỆM 75 4.1 Giới thiệu
Thiết kế cơ sở dữ liệu
Cơ sở dữ liệu của chương trình được thiết kế như trong hình phía dưới Trong đó chức năng của các bảng được mô tả như sau:
Bảng: Dictionary – Đây là bảng chứa dữ liệu từ điển tiếng Việt
Tên trường Kiểu dữ liệu Mô tả
PhraseID Int Là khóa chính của bảng
Phrase Nvarchar Là cụm từ cần lưu trữ
PhraseDescription Ntext Là mô tả của cụm từ cần lưu trữ
Hiện tại chưa được sử dụng Chứa dữ liệu ngữ nghĩa tiếng Anh sau khi được convert từ từ điển StarDict
Bảng Documents – Đây là bảng chứa các tài liệu được chương trình lấy về
Tên trường Kiểu dữ liệu Mô tả
DocID Int Là khóa chính của bảng
Source Nvarchar Địa chỉ nguồn của tài liệu gốc
Dùng để đánh chỉ mục, tránh trùng lặp tài liệu
Snipet Ntext Là trích đoạn của tài liệu, phục vụ cho việc phân cụm
IsTokenized Bit Cho biết tài liệu này đã được tách từ hay chưa
IsClustered Bit Cho biết tài liệu đã được phân cụm hay chưa
Bảng DocumentIndex – Đây là bảng liên kết giữa các tài liệu và dữ liệu từ điển
Tên trường Kiểu dữ liệu Mô tả DocIndexID Int Là khóa chính của bảng
PhraseID Int Khóa ngoài, liên kết đến bảng
DocID Int Khóa ngoài, liên kết đến bảng
Score Float Cho biết độ tương tự/tần suất của từ khóa trong tài liệu dựa trên một hàm tính độ tương tự
Bảng Nodes – Chứa các nút của cây DC
Tên trường Kiểu dữ liệu Mô tả
NodeID Int Là khóa chính của bảng
NodeParentID Int Chứa nút cha của cây
ClusterID Int Cho biết phân cụm của nút thuộc vào
Bảng Node-Document thể hiện mối quan hệ nhiều-nhiều giữa các nút và tài liệu, trong đó một nút có thể chứa nhiều tài liệu và một tài liệu có thể nằm trên nhiều nút khác nhau.
Tên trường Kiểu dữ liệu Mô tả NodeDocumentID Int Là khóa chính của bảng
NodeID Int Khóa ngoài, liên kết đến bảng
DocID Int Khóa ngoài, liên kết đến bảng
Bảng Clusters – Chứa các phân cụm tìm được
Tên trường Kiểu dữ liệu Mô tả
ClusterID Int Là khóa chính của bảng Cho biết số thứ tự của phân cụm
Dưới đây là sơ đồ liên kết thực thể giữa các bảng:
Hình 10 Sơ đồ liên kết thực thể của chương trình thực nghiệm
Chương trình thử nghiệm
Áp dụng lý thuyết phân cụm, chương trình thử nghiệm của chúng tôi chia nhỏ từng bước thực hiện thành các phần riêng biệt.
Tương ứng với các chức năng chính đã mô tả ở trên, chương trình bao gồm bốn module chính: Từ điển, Lấy dữ liệu, Phân cụm, Tìm kiếm
Module Từ điển cung cấp danh sách tất cả các từ trong từ điển Việt, được xây dựng dựa trên dữ liệu từ nguồn từ điển Việt-Anh tại [stardict.org](http://www.stardict.org) Kho từ điển này khá phong phú với nhiều từ Tiếng Việt, và người dùng có khả năng thêm hoặc xóa từ theo nhu cầu Các từ trong từ điển sẽ được sử dụng trong quá trình tách từ của tài liệu cần phân cụm.
Hình 11 Màn hình hỗ trợ chức năng cập nhật chỉnh sửa Từ điển
Để xây dựng kho dữ liệu từ các tài liệu trên Web, module lấy dữ liệu sẽ thực hiện quá trình thu thập thông tin Người sử dụng chỉ cần nhập đường dẫn URL của trang web cần lấy dữ liệu.
Web, hệ thống sẽ tự động tìm kiếm và lấy tất cả nội dung của trang Web với một độ sâu n ( đã được định trước)
Hình 12 Màn hình chức năng hỗ trợ lấy dữ liệu từ Internet
Module Phân cụm tự động hóa quá trình phân loại tài liệu sau khi thu thập dữ liệu Khi có tập dữ liệu mới, hệ thống sẽ chỉ thực hiện phân cụm trên dữ liệu này mà không cần phải phân cụm lại với dữ liệu cũ đã được xử lý trước đó Điều này giúp tiết kiệm thời gian và tối ưu hóa hiệu quả phân tích, sử dụng kết quả từ các lần phân cụm trước để cải thiện độ chính xác cho dữ liệu mới.
Trong thuật toán có sử dụng các tham số sau:
M: Số lượng nhỏ nhất con của một nút M=8 B: Hệ số nhánh của cây B
S2:Ngưỡng tương tự 2 S2=1.0 S1: Ngưỡng tương tự 1 S1=0.3 repThreshold: Ngưỡng của đặc trưng tiêu biểu repThreshold=0.4 MCS: Cỡ phân cụm nhỏ nhất MCS0
Hình 13 Màn hình hỗ trợ chức năng Phân cụm với dữ liệu đã lấy về từ
- Module Tìm kiếm: Người sử dụng sẽ nhập vào từ khoá cần tìm kiếm Hệ thống sẽ tìm các tài liệu liên quan với từ khoá
Hình 14 Màn hình chức năng hỗ trợ Tìm kiếm.
Kết luận chương 4
Chương này trình bày kết quả cài đặt thử nghiệm thuật toán phân cụm cho tài liệu Web Tiếng Việt, sử dụng cấu trúc dữ liệu DC-tree đã đề cập ở chương 3 Chương trình được viết bằng ngôn ngữ lập trình C# trên nền tảng Net Framework của Microsoft, kết hợp với SQL Server 2000 để lưu trữ cơ sở dữ liệu Kết quả phân cụm đạt được là tương đối hợp lý.
Luận văn cung cấp một số nội dung về phân cụm Web, đã đạt được một số kết quả như sau:
Bài toán phân cụm web là một lĩnh vực quan trọng trong khai thác dữ liệu, nhằm tổ chức và phân loại thông tin trên internet Các giải pháp phân cụm web thường bao gồm nhiều yêu cầu và kỹ thuật khác nhau, từ việc xác định đặc trưng của dữ liệu đến việc áp dụng các thuật toán phân cụm hiệu quả Đánh giá chất lượng của các thuật toán này cũng rất cần thiết, đặc biệt là tính tăng cường của chúng, giúp cải thiện khả năng xử lý và phân tích dữ liệu lớn trên web.
Trong bài viết này, chúng tôi trình bày hai thuật toán phân cụm web có tính tăng là STC và DC-tree Chúng tôi đã phân tích các kiến thức cơ bản và nền tảng phát triển của những thuật toán này, giúp độc giả hiểu rõ hơn về cách thức hoạt động và ứng dụng của chúng trong lĩnh vực phân tích dữ liệu.
Hệ thống phần mềm thử nghiệm phân cụm tài liệu dựa trên thuật toán DC-tree đã được phát triển và đưa lên web Hệ thống máy tìm kiếm DC-tree cho phép lưu trữ các câu truy vấn của người dùng, các phân cụm tìm thấy và các liên kết mà người dùng truy cập Hiện tại, hệ thống đã hoạt động hiệu quả trong việc phân cụm các tài liệu trên web.
Do hạn chế về thời gian và năng lực, luận văn chưa thực hiện đánh giá chất lượng phân cụm của hệ thống Trong tương lai, chúng tôi dự kiến sẽ tiến hành các đánh giá chi tiết hơn và đưa ra thống kê dựa trên hành vi của hệ thống trong thực tế Bên cạnh đó, chúng tôi cũng có kế hoạch nghiên cứu các hướng giải quyết vấn đề từ đồng nghĩa trong tiếng Việt.
[1] Đinh Điền, Xử lý ngôn ngữ tự nhiên, NXB Giáo Dục.
[2] Clement T.Yu và Weiyi Meng (1998), Principles of Database Query
Processing for Advanced Application, Morgan Kaufmann Publisher,
[3] Gerard Salton/Michael J.McGill, Introduction to Modern Information
[4] M Steinbach, G Karypis, V Kumar (2000), A Comparison of
Document Clustering Techniques, TextMining Workshop, KDD
[5] O Zamir and O Etzioni (1998), Web Document Clustering: A
Feasibility Demonstration, Proc of the 21st ACM SIGIR Conference,
[6] O Zamir, O Etzioni, O Madani, R M Karp (1997), Fast and
Intuitive Clustering of Web Documents, Proc of the 3rd International
Conference on Knowledge Discovery and Data Mining
[7] K Cios, W Pedrycs, R Swiniarski (1998), Data Mining – Methods for Knowledge Discovery, Kluwer Academic Publishers
[8] R Krishnapuram, A Joshi, L Yi (1999), A Fuzzy Relative of the k-
Medoids Algorithm with Application to Web Document and Snippet Clustering, Proc IEEE Intl Conf Fuzzy Systems, Korea
[9] Z Jiang, A Joshi, R Krishnapuram, L Yi (2000), Retriever:
Improving Web Search Engine Results Using Clustering, Technical
[10] T H Haveliwala, A Gionis, P Indyk (2000), Scalable Techniques for
Clustering the Web, Extended Abstract, WebDB’2000, Third
International Workshop on the Web and Databases, In conjunction with ACM SIGMOD’2000, Dallas, TX
[11] A Bouguettaya (1996), On-Line Clustering, IEEE Trans on Knowledge and Data Engineering
[12] A K Jain và R C Dubes (1988), Algorithms for Clustering Data, John Wiley & Sons
[13] G Karypis, E Han, V Kumar (1999), CHAMELEON: A Hierarchical
Clustering Algorithm Using Dynamic Modeling, IEEE Computer 32
[14] O Zamir và O Etzioni (1999), Grouper: A Dynamic Clustering
Interface to Web Search Results, Proc of the 8th International World
Wide Web Conference, Toronto, Canada
Scatter/Gather: A Clusterbased Approach to Browsing Large Document Collections, In Proceedings of the 16 th International ACM SIGIR Conference on Research and Development in Information Retrieval
[16] R Michalski, I Bratko, M Kubat (1998), Machine Learning and
Data Mining – Methods and Applications, John Wiley & Sons Ltd
A watermark is added at the end of each output PDF file.
To remove the watermark, you need to purchase the software from http://www.anypdftools.com/buy/buy-pdf-splitter.html