Đo chất lượng phân cụm của thuật toán

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 60)

Như đã trình bày ở trên, độ đo mođun hóa Q nhiều khi không phản ánh đúng cấu trúc cụm, do đó trong luận văn này sử dụng độ đo tính mật độ được giới thiệu trong Zhang et al (2009) [25] để tiến hành đánh giá chất lượng phân cụm trong thực nghiệm ở 3.4.5.

Với một đồ thị con Gi(Vi, Ei), đặt li và lo là số cạnh bên trong và bên ngoài của Gi. Cạnh bên trong là cạnh có hai đỉnh đều nằm trong đồ thị Gi. Cạnh bên ngoài là cạnh có một đỉnh nằm trong và một đỉnh nằm ngoài Gi. Giả sử ni = |Vi|, bậc trung bình bên trong của đồ thị Gi là 2li/ni và bậc trung bình bên ngoài của Gi là lo/ni. Khi đó, độ đo mô đun hóa mật độ D của phép phân chia đồ thị G thành tập cụm C = {c1, c2, ..., ck} được tính bằng tổng bậc trung bình bên trong trừ đi bậc trung bình bên ngoài:

𝐷 = ∑2𝑙𝑖 − 𝑙𝑜 𝑛𝑖 |𝐶| 𝑖=1 (2.21) 2.7. Kết luận chương 2

Trong chương 2 này đã trình bày một số thuật toán phân cụm có thứ bậc được sử dụng phổ biến cho bài toán phân cụm đồ thị dữ liệu, bao gồm các thuật toán Chameleon, CURE, SoT, Girvan-Newman, CNM, Rosvall-Bergstrom và INC. Mỗi thuật toán có những ưu và nhược điểm riêng đã được đánh giá chi tiết. Những đánh giá sơ bộ trên cũng là cơ sở để lựa chọn một số thuật toán này để tiến hành cài đặt và thực nghiệm trong chương 3 của luận văn trên các bộ dữ liệu chuẩn, qua đó một lần nữa đánh giá lại được một cách chính xác các thuật toán trên và khả năng ứng dụng của các thuật toán trong việc giải quyết các bài toán thực tế.

CHƯƠNG 3: ỨNG DỤNG THUẬT TOÁN PHÂN CỤM CÓ THỨ BẬC TRONG PHÂN CỤM ĐỒ THỊ DỮ LIỆU CÁC MẠNG XÃ HỘI 3.1. Bài toán phân cụm mạng xã hội

Bài toán: Phân cụm các nút dữ liệu trong đồ thị mạng xã hội và đưa ra danh sách những nút mạng thuộc từng cụm đó.

Input: Đồ thị mạng xã hội G = (V, E) gồm tập V có các đỉnh: v1, v2, ..., vn và tập E các cạnh liên kết E = {(vi, vj)}.

Output: Tập các cụm C = {C1, C2, ...,Cm} và tập hợp các đỉnh thuộc cụm đó: Ci = {vi1, vi2, ..., vik} với i =1, 2, ...,m.

Mục tiêu của bài toán là từ các mạng xã hội cho trước, phát hiện được các cấu trúc cụm nằm trong phù hợp với nhu cầu của ngươi sử dụng và tìm hiểu về mối liên hệ bên trong các cụm cũng như giữa các cụm với nhau, mối liên hệ đó có ảnh hưởng thế nào đến cấu trúc của toàn mạng xã hội.

Việc phân cụm có rất nhiều ứng dụng cụ thể:

 Phân cụm các Web client có sở thích tương tự nhau và gần nhau về mặt địa lý có thể cải thiện hiệu suất của việc cung cấp dịch vụ trên World Wide Web, trong đó mỗi cụm khách hàng được phục vụ bởi một server chuyên dụng.

 Xác định các cụm khách hàng có chung sở thích trong một mạng thể hiện quan hệ giữa người mua và sản phẩm trên một trang web bán hàng trực tuyến có thể giúp xây dựng hệ thống tư vấn mua bán một cách hiệu quả.

 Nhóm thành cụm các nút trong mạng lưới giao thông có thể giúp ích trong việc xây dựng các bảng định tuyến nhỏ gọn giúp ích trong việc tham gia giao thông thuận tiện.

Tóm lại, cụm trong các mạng xã hội có một vai trò quan trọng trong nhiều lĩnh vực của đời sống xã hội, như khoa học máy tính, sinh học, kinh tế, chính trị,…Điều này dẫn đến nhu cầu bức thiết của bài toán phân cụm trong mạng xã hội vì các lý do đã được nêu ở trên.

3.2. Xây dựng chương trình ứng dụng phân cụm đồ thị các mạng xã hội

Hệ thống được thiết kế gồm 3 giai đoạn:

Hình 3.1: Các bước thực hiện chương trình

3.2.1. Giai đoạn 1: Thu thập dữ liệu

Để tiến hành thực nghiệm, em đã thu thập 05 bộ dữ liệu được công bố phổ biến trên [16], [21], [30], đây là các bộ dữ liệu chuẩn, chuyên sử dụng cho việc đánh giá, thực nghiệm các thuật toán phân cụm, phân cụm trong các mạng xã hội:

1. Zachary's karate club: Đồ thị vô hướng gồm 34 đỉnh, 78 cạnh, thể hiện mối quan hệ bạn bè giữa các thành viên của một câu lạc bộ karate tại một trường đại học tại Mỹ những năm 1970.

2. Dolphin social network: đồ thị vô hướng gồm 62 đỉnh, 159 cạnh, thể hiện mối quan hệ giữa các con cá heo sống tại vùng Doubtful Sound, New Zealand. 3. Word adjacencies: Đồ thị vô hướng gồm 112 đỉnh, 425 cạnh, thể hiện mối liên

hệ của các tính từ phổ biến và danh từ trong tiểu thuyết David Copperfield của Charles Dickens.

4. Neural network: Đồ thị vô hướng gồm 297 đỉnh, 2148 cạnh, thể hiện mạng lưới trọng số, đại diện cho mạng nơ-ron của C. elegans.

5. Coauthorships in network science: Đồ thị vô hướng gồm 1461 đỉnh, 2742 cạnh, thể hiện mạng lưới đồng tác giả của các nhà khoa học làm việc về lý thuyết mạng và thử nghiệm, do M. Newman biên soạn vào tháng 5 năm 2006.

Tất cả ban đầu có kiểu file *.gml.

Phân cụm đồ thị Xử lý dữ liệu Thu thập dữ liệu

3.2.2. Giai đoạn 2: Xử lý dữ liệu

Các tập dữ liệu thu thập được cần phải qua giai đoạn xử lý và làm sạch để phù hợp với việc tổ chức cấu trúc dữ liệu cho bài toán được cài đặt trong giai đoạn 3.

Tập dữ liệu ban đầu có dạng *.gml.

Hình 3.2: Ví dụ tập dữ liệu dolphins.gml

Sử dụng phần mềm để chuyển tập dữ liệu này sang file văn bản .txt. Phải làm sạch bằng cách loại bỏ bớt các cột dư thừa và thu được file .txt.

Ví dụ: Tập dữ liệu Dolphins.gml: được thực hiện trích lọc và làm sạch dữ liệu lại thành tệp Dolphins.txt như sau:

Hình 3.3: Tập dữ liệu dolphins.txt

Tập dữ liệu Dolphins.xls bao gồm 62 đỉnh (nodes) và 318 cạnh (links)

Định dạng file dữ liệu: danh sách các cạnh của đồ thị, gồm ký hiệu của 2 đỉnh tạo nên cạnh đó.

3.2.3. Giai đoạn 3: Xây dựng ứng dụng phân cụm có thứ bậc đồ thị các mạng xã hội xã hội

Dựa trên các nghiên cứu ở các chương trước, em tiến hành cài đặt ứng dụng để đánh giá kết quả đạt được trên bộ dữ liệu thực nghiệm với ba thuật toán đã nghiên cứu là Girvan-Newman, CNM (Clauset-Newman-Moore) và Rosvall-Bergstrom. Sở dĩ em chỉ cài đặt ba thuật toán trên bởi các thuật toán còn lại không thực sự phù hợp cho phân cụm đồ thị mạng xã hội (biểu diễn sự liên quan giữa các phần tử trong mạng xã hội thông qua các mối liên kết - cạnh nối) vì các thuật toán đó thường sử dụng để phân cụm các đồ thị có dữ liệu biểu diễn dưới dạng các điểm dữ liệu (tọa độ trong không gian n chiều).

Các chức năng chính của ứng dụng demo như sau:

- Cho phép người dùng nạp vào file đầu vào. File đầu vào có định dạng là danh sách các cạnh của đồ thị cần phâm cụm:

Hình 3.4: Nạp file dữ liệu đầu vào

- Phân cụm phân hoạch đồ thị dữ liệu đầu vào theo các thuật toán được lựa chọn (kết quả cho ra số cộng đồng, độ đo chất lượng phân cụm Modularity, thời gian thực thi thuật toán và chi tiết danh sách các đỉnh nào thuộc cộng đồng nào):

Hình 3.5: Kết quả chạy thuật toán phân cụm CNM cho bộ dữ liệu dolphins.txt

Hình 3.6: Kết quả chạy thuật toán Girvan-Newman cho bộ dữ liệu dolphins.txt

3.3. Các kết quả thực nghiệm và đánh giá

Để đánh giá kết quả của các thuật toán đã nghiên cứu, em tiến hành thực nghiệm trên 05 bộ dữ liệu đã giới thiệu ở 3.2.1.

Cấu hình máy tính sử dụng để tiến hành thực nghiệm như sau: - Hệ điều hành: Windows 8.1 64bit

- RAM: 8GB.

- Ngôn ngữ lập trình sử dụng để thực nghiệm: Visual C++ trong bộ Visual Studio 2012

Kết quả thực thi thuật toán sau khi chạy demo được cho bởi bảng 3.1 dưới đây:

STT Bộ dữ liệu Số cụm

Chất lượng phân cụm (Modularity)

Thời gian thực thi (giây) CNM GN RB CNM GN RB CNM GN RB 1 Karate 3 7 4 0.374 0.392 21.85 0.02 0.5 0.13 2 Dolphins 4 5 12 0.512 0.517 39.3 0.01 2.66 0.55 3 Word adjacencies 6 69 37 0.295 0.073 175.513 0.11 43.25 1.37 4 Neural network 5 33 43 0.372 0.28 204.570 0.3 2409 102 5 Coauthorships in network science 276 277 402 0.96 0.956 699.82 0.2 4742 83

Bảng 3.1: Kết quả thực thi các thuật toán

Trong đó: CNM: thuật toán Clauset - Newman - Moore; GN: thuật toán Girvan- Newman; RB: thuật toán Rosvall-Bergstrom.

3.3.1. Thời gian thực thi thuật toán

Hình 3.7: Biểu đồ so sánh thời gian thực thi thuật toán

0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 Th ờ i g ia n th c thi (g y) Bộ dữ liệu Clauset- Newman- Moore Girvan- Newman Rosvall- Bergstrom

3.3.2. Số cụm được phân chia

Hình 3.8: Biểu đồ so sánh số lượng cụm

3.3.3. Chất lượng phân cụm

Do độ đo chất lượng phân cụm của thuật toán Rosvall-Bergstrom là chiều dài trung bình của mã miêu tả, khác với độ đo chất lượng modularity của hai thuật toán CNM và Girvan-Newman nên hình bên dưới em chỉ so sánh hai thuật toán sau:

Hình 3.9: Biểu đồ so sánh chất lượng phân cụm

3.4. Phân cụm đồ thị mạng xã hội dựa trên mối quan tâm của người dùng 3.4.1. Giới thiệu

Tại Việt Nam, trang mạng xã hội Facebook được sử dụng rộng rãi nhất. Thông qua trang mạng xã hội này, một lượng rất lớn các nội dung đã được người dùng tạo ra và trao đổi hàng ngày. Trước đây đã có một số công trình nghiên cứu liên quan đến việc phân cụm trong mạng xã hội Facebook dựa trên các mối quan hệ bạn bè (friend) và theo dõi (follow). Tuy nhiên, việc thiết lập một mạng xã hội dựa trên mối quan hệ bạn bè hay theo dõi như vậy mang tính động không cao do số lượng bạn bè cũng như

0 50 100 150 200 250 300 350 400 450 Th ời gian th c thi (giây) Bộ dữ liệu Clauset- Newman- Moore Girvan- Newman Rosvall- Bergstrom 0 0.2 0.4 0.6 0.8 1 1.2 Th ời gian th c thi (giây) Bộ dữ liệu Clauset- Newman- Moore Girvan- Newman

số người theo dõi trang facebook của một người thường khá ít biến động. Ngoài ra, với nhiều trang được thiết lập dưới dạng các nhóm, fanpage ... thì lại không quan tâm tới các mối quan hệ bạn bè. Các người dùng facebook có thể tự do bày tỏ quan điểm của mình trên tường (wall) của các trang facebook đó bằng cách bình luận (comments), thích (likes) hay viết hoặc chia sẻ lên tường facebook đó (post, share). Các hành động đó được gọi là mối quan tâm của người dùng.

Theo thống kê trên internet, trung bình một người dùng Facebook viết 25 bình luận và bấm nút thích 9 lần trong một tháng. Chính những hành động thể hiện mối quan tâm của người dùng sẽ tạo ra các kết nối mạng mà ở đó, số người cùng quan tâm (cùng comments, like, share, post) sẽ xác định độ mạnh của các kết nối này. Sử dụng mô hình dựa trên mối quan tâm của người dùng sẽ tạo ra các mạng với mức độ động cao vì gần như các hoạt động này diễn ra hàng ngày trên Facebook.

Theo một số báo cáo, các trang mạng xã hội có ảnh hưởng tới người tiêu dùng còn lớn hơn cả truyền hình và báo chí. Thêm nữa, các mạng xã hội được xây dựng giữa những người có sở thích tương tự nhau hoặc ngang hàng nhau. Bởi vậy, một trong những ứng dụng của việc phân cụm trong mạng xã hội dựa trên mối quan tâm của người dùng đó là trong lĩnh vực kinh doanh, tiếp thị, nó giúp cho các nhân viên tiếp thị tiếp cận đến đúng các đối tượng khách hàng cần quan tâm.

Theo nội dung nghiên cứu ở chương 2, có nhiều thuật toán được sử dụng cho việc phân cụm trong mạng xã hội, tiêu biểu có thuật toán CNM. Tuy nhiên, việc cực đại hóa giá trị mô đun hóa Q chưa hẳn đã phản ánh đúng việc một mạng có cấu trúc cụm. Trên thực tế, điều này chỉ đúng khi các cụm là các clique (giữa các đỉnh trong cụm đều phải có cạnh nối). Để nhận được giá trị Q cực đại, các thuật toán này kết thúc thường sinh ra nhiều cụm với kích thước rất lớn và chỉ một số cụm nhỏ.

Bởi vậy, cần đề xuất một cách tiếp cận lặp để trích xuất ra các cụm cần quan tâm. Trong cách tiếp cận này, thuật toán bắt đầu với toàn bộ mạng lớn và cho ra một số cụm con ở mỗi vòng lặp. Sau đó, ta sẽ loại bỏ các cụm này ra khỏi mạng và thực hiện thuật toán đệ quy cho các cụm lớn. Thuật toán thực hiện cho tới khi nào không thể chia nhỏ các cụm được nữa hoặc khi kích thước các cụm này thỏa mãn kích thước

cận trên mong muốn của người dùng. Kỹ thuật này sẽ được tác giả áp dụng cho bộ dữ liệu thực tế được thu thập trên mạng xã hội Facebook.

3.4.2. Mô hình hóa dữ liệu

Để xây dựng mạng xã hội dựa trên mối quan tâm của người dùng, ta tiến hành thu thập dữ liệu từ mạng xã hội Facebook. Các tường Facebook là phương tiện để các cá nhân, các nhóm hay các tổ chức, công ty đưa các nội dung như các thông điệp, các chiến dịch hoặc các quảng cáo, xúc tiến thương mại,... Các trang này được cung cấp để các người dùng khác tương tác và giao dịch bằng cách cho phép họ phản hồi hoặc bình luận trên các nội dung đã được đưa lên. Để thu được mối quan tâm của người dùng trên Facebook, em xem xét các bình luận của người dùng trên các nội dung được đăng lên các tường Facebook và sử dụng chúng để xây dựng mạng xã hội sẽ dùng cho việc thực nghiệm ở mục 3.4.5. Trong hình 3.10 là một ví dụ về một nội dung được đăng bởi "Vinamilk - Bí quyết ngon khỏe từ thiên nhiên" trên tường Facebook của công ty này và các bình luận được tạo ra bởi các người dùng quan tâm. Các bình luận và thông tin của người dùng (tên, facebook id...) tham gia bình luận trên tường của một Facebook cụ thể là công khai và có thể thu thập sử dụng Facebook API. Chi tiết cách thu thập dữ liệu được trình bày trong phần sau của luận văn.

Để xây dựng mạng xã hội dựa trên mối quan tâm của người dùng, ta thực hiện như sau:

- Từ dữ liệu thu thập được liên quan đến các bình luận của người dùng, tiến hành tách ra các người dùng phân biệt đơn nhất bằng cách trích rút theo tên và ID facebook của người dùng đó.

- Xác định các người dùng chung giữa hai tường Facebook bất kỳ là người có tham gia bình luận trên cả hai tường Facebook đó.

- Biểu diễn dữ liệu dưới dạng ma trận vuông đối xứng M, kích thước bằng với số lượng các tường Facebook cần xét. Mỗi đường chéo của M là các phần tử M[i,i] biểu diễn số lượng các người dùng đơn nhất bình luận trên tường i và các phần tử M[i,j] với i khác j biểu diễn số người dùng bình luận chung trên hai tường i và j. Nếu giá trị M[i,i] lớn thể hiện số lượng người tham gia bình luận trên tường i rất đông đảo. Giá trị M[i,j] lớn thể hiện nhiều người dùng quan tâm tới cả hai tường i và j. Ở đây ta cần phân biệt rõ: người dùng không phải là tường mà chỉ là người tham gia bình luận các tin, bài viết đăng trên tường đó.

- Tiến hành chuyển đổi dữ liệu này sang dạng đồ thị vô hướng G = (V, E), trong đó V biểu diễn các tường Facebook và E biểu diễn các cạnh nối giữa hai tường Facebook. Giữa hai tường Facebook có cạnh nối khi chúng có số người quan tâm chung lớn hơn 0. Do chúng ta cần tìm ra các cụm có cùng mối quan tâm nên các cạnh này sẽ được đánh trọng số để chỉ độ mạnh của kết nối. Trọng số giữa hai đỉnh i và j, được ký hiệu là w[i,j] và được tính theo chỉ số Jaccard như phương trình dưới đây:

𝑤[𝑖, 𝑗] = 𝑀[𝑖, 𝑗]

𝑀[𝑖, 𝑖] + 𝑀[𝑗, 𝑗] − 𝑀[𝑖, 𝑗] (3.5) Trong đó: M[i,j] là số người dùng cùng quan tâm tới tường i và j, M[i,i] là số

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 60)

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

(87 trang)