Do chương trình chỉ mang tính demo về thuật toán nên có giao diện đơn giản chỉ nhằm mục đích giải quyết 2 bài toán
• Phân cụm tọa độ điểm • Phân cụm đoạn văn bản
Chương trình có những lớp đối tượng được định nghĩa trong các class như sau : • ToaDo.cs • Euclide.cs • Centroid.cs • DocumentCollection.cs • DocumentVector.cs • DocumnetClustering.cs • SimilarityMatrics.cs • StopWordsHandler.cs • VectorSpaceModel.cs
Mỗi đối tượng chứa các thuộc tính, tính chất tưng ứng mà lớp đó thể hiện cũng như các hành vi, các hàm xử lý trên đối tượng đó, sau đây là thể hiện của một vài lớp đặc trưng vì đây là phần ứng dụng mang đặc thù lập trình nên em chỉ giới thiệu sơ về một vài thể hiện, giải thuật thuật và thuật toán thì như đã trình bày ở chương 2 & 3
Lớp này nhằm lưu lại tính toán trước đó của một khoảng cách điểm đến cụm (hay vector) nhằm có dữ liệu để so sánh và xác định khoảng cách nào gần nhất để chọn ra được điểm phù hợp cho vào cụm
Lớp này gôm các thuộc tính như : • KhoangCach
• ViTriDiem • ViTriCum
Có hàm hành vi compare để so sánh các đối tượng có cùng cấu trúc về khoảng cách.
Form giao diện thì gôm 2 form chính là : • Form1
• TextClusteringGUI
TextClusteringGUI : giải quyết bài toán gom cụm đoạn text vào cụm tương ứng Sau đây là giao diện khi bắt đầu chạy chương trình
Tại group thông tin cho phép nhập liệu vào để xử lý, khi click chọn “Thêm node” chưa trình tự động add vào dữ liệu bộ nhớ để chuẩn bị cho việc xử lý gom cụm Ngoài ra còn phải chọn k (k ở đây là số cụm dự tính để phân hoạch hay gom các tọa độ điểm vào những cụm này), k ở đây cho phép nhập các số nguyên. X,Y thì có kiểu dữ liệu đầu vào là double
Hình thêm tọa đô vào dữ liệu chờ xử lý
Hình xóa một node ra khỏi dữ liệu chờ xử lý
Sau khi có dữ liệu khởi tạo, nhấn xử lý gom cụm để chương trình bắt đầu tiến hành gom cụm, nếu xử lý thành công chương trình sẽ xuất hiện thông báo và lời giải chi tiết cho bài toán như hình bên dưới
Sau khi điền đủ thông tin cho chương trình và click xử lý thì chương trình cho ra kết quả như giao diện tương đương sau: