Xây dựng ứng dụng

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu mô hình phân cụm có thứ bậc các đồ thị dữ liệu (Trang 76 - 79)

Dựa trên các nghiên cứu ở các chương trước, ta tiến hành cài đặt các ứng dụng để đánh giá kết quả đạt được trên bộ dữ liệu thực nghiệm. Các chức năng chính của ứng dụng demo như sau:

3.4.4.1. Tự động thu thập và xây dựng dữ liệu

Được phát triển trên ngôn ngữ C#.NET với bộ Visual Studio 2012 và hệ quản trị CSDL Microsoft SQL Server 2008, kết hợp với thư viện hỗ trợ lập trình Facbook API.

Người dùng nhập vào chuỗi Access Token của ứng dụng theo phiên làm việc của Facebook, nhập vào các tham số thời gian thu thập tính từ năm nào, số bình luận tối đa thu được trên một trang (nếu dữ liệu lớn Facebook sẽ phân trang kết quả trả về), thu thập cho các ID facebook nằm trong khoảng nào (áp dụng cho việc chạy nhiều tiến trình đồng thời - vì chạy một ứng dụng thu thập sẽ rất mất thời gian). Bấm nút "Thu thập comments" để tự động thu thập các bình luận và ghi vào cơ sở dữ liệu:

Hình 3.18: Giao diện tự động thu thập bộ dữ liệu

Sau khi thu thập xong các bình luận, bấm nút "Tách Facebook ID" để tách riêng các ID của người dùng đã bình luận tương ứng với các tường Facebook được lựa chọn. Sau khi tách xong, bấm nút "Xây dựng mạng cụm" để tạo ra file dữ liệu đầu vào cho việc phân cụm.

3.4.4.2. Phân cụm đồ thị mạng xã hội với CNM và INC

Ứng dụng được kế thừa từ bộ thư viện mã nguồn mở SNAP [23] viết trên Visual C++ Console phục vụ cho mục đích nghiên cứu các thuật toán phân cụm. Trong bộ thư viện này có cài đặt thuật toán CNM nhưng chỉ áp dụng cho đồ thị vô hướng không có trọng số. Tiến hành phát triển CNM cho đồ thị vô hướng có trọng số theo yêu cầu của thuật toán INC đã trình bày ở 2.6

Sau đó tiến hành cài đặt thuật toán INC dựa trên thuật toán CNM với tham số đầu vào là đồ thị mạng xã hội đã thu thập được và chỉ số s (cận trên của kích thước các cụm) nếu có. Kết quả xuất ra số lượng cụm, thời gian thực hiện thuật toán và độ đo chất lượng phân cụm của với các thuật toán INC và CNM để tiện theo dõi, so sánh kết quả.

Hình 3.19: Kết quả chạy chương trình phân cụm với INC và CNM.

Ngoài việc xuất ra kết quả chung trên màn hình, chương trình còn xuất ra file kết quả chi tiết (danh sách các cụm và các thành viên trong cụm) dưới định dạng file Json phục vụ cho việc biểu diễn trực quan biểu đồ dendrogram phân chia cụm.

3.4.4.3. Biểu diễn trực quan kết quả phân cụm với CNM cải tiến

Để biểu diễn trực quan kết quả phân cụm, em xây dựng ứng dụng ASP.NET với C# để vẽ biểu đồ dendrogram của file kết quả dưới định dạng Json, sử dụng phần mềm mã nguồn mở D3 [27]. Để việc biểu diễn được chính xác, định dạng file Json được nghiên cứu kỹ lưỡng và được xuất ra tương ứng ở từng vòng lặp đệ quy của thuật toán INC.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu mô hình phân cụm có thứ bậc các đồ thị dữ liệu (Trang 76 - 79)

Tải bản đầy đủ (PDF)

(87 trang)