1. Chương Giới thiệu về mạng xã hội, mạng xã hội Twitter và bài toán khai phá va
2.3. Một mô hình phát hiện vai trò truyền tin trong Twitter
Ramine Tinati và cộng sự, 2012 [20] đề xuất một mô hình nhận dạng vai trò của người truyền tin (communicator) trong mạng xã hội trực tuyến Twitter. Nhóm tác giả sử dụng mô hình topology of influence (TOI) [28] để phát hiện các vai trò khác nhau của người truyền tin trong Twitter. Các vai trò của người truyền tin được phát hiện:
- Người khởi tạo ý tưởng (Idea Starter): Là các cá nhân bắt đầu cuộc hội thoại. Họ có xu hướng được đánh giá cao khi tham gia các phương tiện truyền thông trong môi trường ngoại truyến và trực tuyến. Họ sử dụng nhiều phương tiện truyền thông xã hội, và có một mạng lưới các mối quan hệ tin cậy đa dạng đặc biệt là trong môi trường online. Mạng kết nối của họ thường bị giới hạn, nhưng điều này đảm bảo rằng việc kết nối có chất lượng cao. Mặc dù những người khởi tạo ý tưởng có thể không phải là “bright idea”, họ vẫn là những người mà bắt đầu các cuộc nói chuyện và do đó có các kết nối tin cậy, là môi trường phong phú cho các ý tưởng phát triển.
- Người Phát tán (Amplifier): Đây có thể được coi là các cá nhân chuyên thu thập suy nghĩ, chia sẻ ý tưởng và quan điểm. Những ngườiphát tánđẩy mạnh việc chia sẻ ý kiến và quản điểm của người khác; họ mong muốn là người đầu tiên được làm việc đó. Họ có một mối quan hệ kết nối trong mạng rộng lớn và tin cậy trong cộng đồng của họ. Mặc dù họ không tổng hợp các thông tin được chia sẻ, nhưng có xu hướng trở thành bình cứu hỏa tri thức. Những người phát tán có xu hướng trở thành các cá nhân trong 1 phần của mạng tin cậy nhỏ của những người khởi tạo ý tưởng; lấy những ý tưởng ban đầu của họ và chia sẻ chúng lan truyền lớn hơn, hiển thị nhiều hơn với khán giả.
- Người quản lý (curator): Đây có thể được coi như những cá nhân mở rộng ngữ cảnh để xác định ý tưởng. Những người này có xu hướng yêu cầu một mức độ cao hơn so với người khởi tạo ý tưởng và phát tán. Bằng cách theo dõi các cuộc hội thoại, họ có tác động lớn đến đường đi cuộc hội thoại được hình thành và lan truyền. Họ lấy những ý tưởng của người khởi tạo ý tưởng và phát tán cả những xác nhận, câu hỏi, thách thức hoặc từ chối. Họ là mối quan hệ hình thành giữa khởi tạo ý tưởng và phát tán, cộng gộp các ý tưởng với nhau để làm rõ và
30
chỉ đạo các chủ đề cho cuộc trò chuyện. Những người quản lý được kết nối với một lượng lớn khán giả, và thường nhận được những thông tin từ bên ngoài cộng đồng mà họ quan tâm.
- Người bình luận (Commentator):Những người này được coi như những cá nhân thực hiện chi tiết và tinh chỉnh các ý tưởng. Các nhà bình luận thực hiện bổ sung hoặc thích nghi với dòng chảy của cuộc hội thoại, bổ sung thêm các ý kiến riêng, những hiểu biết của họ, tuy nhiên không đi quá sâu trong cuộc hội thoại. Không giống như các vai trò được mô tả từ trước, các nhà bình luận không tìm kiếm sự công nhận vai trò lãnh đạo hay muốn tầm quan trọng của trạng thái. Họ đang tham gia vào một cái gì đó mà họ cảm thấy mạnh mẽ về nó. Họ muốn chia sẻ các cuộc hội thoại không vì mục đích cá nhân.
- Người xem (Viewer): Được coi như cá nhân có vai trò thụ động trong các cuộc trò chuyện. Đây là những kết nối trong mạng mà chỉ lưu vết lại bằng cách xem thông tin hơn là góp phần vào cuộc hội thoại. Tuy nhiên, mặc dù họ không hoạt động nhưng họ vẫn được phản ánh trong mô hình TOI. Trong khi người xem không chia sẻ hoặc tạo ra các cuộc hội thoại trực tuyến, họ tiêu thụ một lượng lớn các thông tin và chia sẻ với mạng ngoại tuyến của họ.
Sau đó, nhóm nghiên cứu xây dựng công cụ Refluence kết hợp với mô hình TOI để phân loại các vai trò khác nhau trong cuộc hội thoại Twitter.
2.4. Một thuật toán phân cụm K-mean cải tiến
Trong nghiên cứu của Vanesa Junquero Trabado sử dụng thuật toán phân cụm K-mean để phân cụm các nhóm vai trò. Giải thuật K-Means là một trong những giải thuật kinh điển và được ứng dụng nhiều thuật toán nổi tiếng và được sử dụng nhiều nhất trong hướng tiếp cận phân cụm phân hoạch. Tuy nhiên, giải thuật K-Mean có những hạn chế sau:
- Số lượng nhóm K phải được xác định cứng trước và việc xác định không dễ. - Điều kiện khởi tạo có ảnh hưởng lớn đến kết quả. Điều kiện khởi tạo khác nhau
có thể cho ra kết quả phân cụm khác nhau. Điều này dẫn đến hội tụ tới các điểm cực tiểu địa phương.
31
- Khi các điểm và số chiều của các điểm trong tập dữ liệu là rất lớn, giải thuật thực hiện với số lượng lớn các vòng lặp. Điều đó khiến việc thực hiện giải thuật K-Means là khó khả thi.
Để khắc phục những hạn chế nêu trên, một trong những phương pháp được xem xét là sử dụng một cấu trúc dữ liệu dạng cây đa chiều, còn gọi là cây KD (KD- Tree) để lưu trữ một tập hữu hạn các điểm trong không gian d chiều làm tăng hiệu quả xử lý của giải thuật K-Means.
Thuật toán này được Tapas Kanungo và cộng sự đề xuất năm 2002 [10], sử dụng cấu trúc dữ liệu chính là cây nhị phân K chiều (KD tree) – cấu trúc dữ liệu phân vùng cho các các tập hợp điểm trong không gian K chiều, các điểm dữ liệu cần phân cụm được đưa vào cấu trúc cây KD tree.
- Cây KD tree[16]
o Là một cây nhị phân. Mỗi nút biểu diễn một tập con các điểm cần phân nhóm, tập con đó gọi là Ô (Cell) và lưu trữ:
Siêu chữ nhật (Hyper-Rectangle) nhỏ nhất có thể bao tất cả các điểm trong tập con.
Vector tổng của tất cả các điểm trong tập con.
Số lượng các điểm trong tập con.
o Một lá của cây là một Ô chứa nhiều nhất một điểm. Nút gốc của cây chứa siêu chữ nhật bao tập dữ liệu chứa toàn bộ các điểm cần phân nhóm.
o Mỗi nút trong của cây: Ô được chia thành 2 siêu chữ nhật (tạo ra con trái và con phải của cây kd) bởi một siêu phẳng chia tách. Có nhiều cách chọn siêu phẳng chia tách. Có thể chia một cách trực giao tới cạnh dài nhất của Ô và đi qua trọng tâm của các điểm trong Ô. Ở đây tác giả sử dụng phương pháp chia để tạo ra các siêu chữ nhật có tên là Sliding- Midpoint [15]
- Nội dung của phƣơng pháp Sliding –Midpoint [15] đƣợc tóm tắt nhƣ sau:
Đầu tiên, thực hiện một phép chia điểm giữa bởi một siêu phẳng chia tách đi qua tâm của Ô và vuông góc với cạnh dài nhất của Ô. Nếu các điểm dữ liệu nằm trên cả 2 phía của siêu phẳng thì siêu phẳng được duy trì ở đây. Tuy nhiên, nếu tất cả các điểm
32
chỉ nằm trên cùng một phía của siêu phẳng chia tách thì thực hiện “trượt” mặt phẳng cắt về phía các điểm cho tới khi gặp điểm dữ liệu đầu tiên .
Trong không gian k chiều, nếu phép chia thực hiện trực giao với toạ độ thứ i, và tất cả các điểm dữ liệu có toạ độ thứ i mà lớn hơn tọa độ thứ i của mặt phẳng chia thì mặt phẳng chia được dịch chuyển cho tới khi toạ độ thứ i của nó bằng toạ độ thứ i nhỏ nhất trong số các điểm dữ liệu. Gọi điểm đó là p1. Sau đó, điểm p1 sẽ nằm ở một nửa của Ô, tất cả các điểm dữ liệu còn lại sẽ nằm ở nửa còn lại của Ô. Thực hiện một luật đối xứng nếu tất cả các điểm trong Ô đều có toạ độ thứ i nhỏ hơn toạ độ thứ i của mặt phằng chia
Hình 6: Mô tả phƣơng pháp lƣới Sliding –Midpoint [15]
- Giải thuật lọc Filtering Algorithm
Giải thuật Lọc dựa trên một quan sát đơn giản là sự thay thế tối ưu cho một tâm của nhóm chính là trọng tâm (Centroid) của nhóm tương ứng đó. Giả sử, cho một tập Z chứa K tâm. Với mỗi tâm z ∈ Z, gọi V(z) là lân cận của nó, V(z) là tập các điểm dữ liệu mà z là lân cận gần nhất. Mỗi giai đoạn của giải thuật thực hiện chuyển tất cả các điểm tâm z tới trọng tâm của tập V(z) và sau đó cập nhật lại V(z) bằng việc tính lại khoảng cách từ mỗi điểm tới tâm gần nhất của nó. Các bước này lặp lại cho đến khi điều kiện hội tụ đạt được. Giải thuật sẽ hội tụ tới một điểm là cực tiểu địa phương đối với sai số
Tư tưởng chính các bước trong giải thuật:
o Với mỗi nốt trong u thực hiện tính :
33
u.wgtCent: Vector tổng của tất cả các điểm dữ liệu trong u
Trọng tâm thực sự = u.wgtCent/u.count
o Với mỗi nốt của KD tree, tiến hành tạo tập candidate centers: một tập con của các điểm trọng tâm có thể được coi như hàng xóm gần nhất cho các điểmdữ liệu cùng nằm trong 1 Cell. Tập candidate centers cho nốt gốc bao gồm tất cả k trọng tâm. Sau đó thực hiện lan truyền tập ứng viên như sau:
o Vớimỗi nốt u:
C: tập chứa các Cells Z: tập các ứng viên.
Thực hiện tính z* Z gần nhất với trung điểm của C. Sau đó với mỗi ứng viên z Z \{z*}, nếu không tồn tại điểm dữ liệu nào trong C gần z hơn z* => z không là trọng tâm gần nhất tới bất kì điểm dữ liệu nào trong u, loại bỏ hoặc lọc z ra khỏi tập ứng viên.
Nếu u chỉ liên kết với 1 ứng viên (z*) thì z* là láng giềng gần nhất của các điểm dữ liệu trong u. Thực hiện cộng wgtcent và count của u vào z*. Nếu u là nút lá, thực hiện tính khoảng cách của các điểm dữ liệu trong u
34
Hình 7: Giải thuật Lọc [15]
Hệ thống phát hiện các phân cụm thích hợp dựa trên các đặc điểm đặc trưng hóa của vai trò. Một khi người được phân loại theo vai trò, kết quả hiển thị sẽ trở thành một tập hợp cuối mà người dùng dễ dàng hiểu được và lọc ra dựa trên các độ đo khác. Tuy nhiên, bước cuối cùng này sẽ không được đề cập và phân tích trong bài báo này. Các phân cụm mang lại những khái niệm về mặt tổ chức của các thành viên trên mạng. Kết quả hiển thị theo cụm khiến cho người dùng hiểu rõ ràng hơn về người được lựa chọn. Chúng tôi nhận thấy rằng quá trình phân cụm hoàn toàn độc lập với vai trò và không có ảnh hưởng lớn tới việc gán vai trò cho nhóm.
35
Tóm tắt chƣơng 2: Chương hai đã trình bày về một số nghiên cứu liên quan về bài toán phát hiện vai trò trong mạng xã hội. Đồng thời cũng trình bày về một số phương pháp nổi bật tìm kiếm vai trò trong mạng xã hội trực tuyến Twitter, và một thuật toán phân cụm hiệu quả với dữ liệu và số chiều lớn
Tiếp theo chương 3, báo cáo sẽ trình bày một mô hình đề xuất tìm kiếm vai trò dựa trên các mô hình nghiên cứu trước đó.
36
Chƣơng 3. Mô hình đề xuất tìm kiếm vai trò trong mạng xã hội Twitter
3.1. Tƣ tƣởng chính của mô hình
Trong công trình này, chúng tôi đề xuất một mô hình tìm kiếm vai trò trong mạng xã hội Twitter. Về cơ bản các bước trong mô hình của chúng tôi dựa trên các bước trong mô hình của Trabado và cộng sự [21]. Tuy nhiên, so với [21], mô hình của chúng tôi có những điểm khác biệt và chi tiết hóa như sau:
Thứ nhất, mục tiêu của chúng tôi là tập trung tìm kiếm 3 vai trò: người nổi tiếng, người vận động quảng bá [21] và người khởi tạo ý tưởng trong các cuộc hội thoại [20] trong khi mô hình [21] tìm kiếm 4 vai trò: người nổi tiếng, người lãnh đạo quan điểm, người phát kiến và người vận động quảng bá.
Thứ hai, Mô hình của Trabado và cộng sự đã chứng mình rằng việc bổ sung thêm một số đặc trưng vai trò sẽ không ảnh hưởng đến kết quả tìm kiếm, do đó trong mô hình này tôi đề xuất thêm 1 đặc trưng thứ 15 – số lượng retweet của người p trong mạng, từ đó, mỗi cá nhân trong mạng sẽ được biểu diễn bởi 1 vector đặc trưng 15 chiều trong khi mô hình [21] biểu diễn mỗi người là 1 vector bao gồm 14 chiều.
Thứ ba, Trong mô hình của Trabado và cộng sự [21] sử dụng thuật toán phân cụm K-mean để thực hiện nhóm những người dùng có vai trò tương đồng với nhau thành một cụm. Như đã biết thuật toán K-mean có một số hạn chế, do đó chúng tôi sử dụng thuật toán K-mean suy rộng [10] để thực hiện phân cụm.
Thứ tư, trong mô hình [21] sử dụng 4 phương pháp cho việc chuẩn hóa dữ liệu: chuẩn hóa Max/ min, chuẩn hóa log, chuẩn hóa xếp hạng và chuẩn hóa điểm chuẩn. Tuy nhiên trong quá trình thực nghiệm, tác giả đã chứng minh phương pháp chuẩn hóa Max/min cho kết quả tốt hơn khi sử dụng với các phương pháp lựa chọn vai trò. Do đó trong mô hình này, chúng tôi sử dụng chuẩn hóa Max/min để chuẩn hóa dữ liệu.
Thứ 5, về các phương pháp lựa chọn tập seed để gán vai trò, nhóm tác giả sử dụng 3 phương pháp để lựa chọn tập seed: phương pháp độ lệch chuẩn (Sdv), chọn giá trị lớn nhất của hệ trục (MV), và lựa chọn giá trị lớn nhất trên hệ trục tọa độ (MVA) , trong phương pháp mở rộng tập seed, nhóm tác giả sử dụng 3 phương pháp đó là:
37
không thực hiện mở rộng, thứ hai là thực hiện mở rộng bằng phương pháp tính giá trị trung bình và cuối cùng là phương pháp gia tăng. Trong quá trình thực nghiệm, nhóm tác giả đã đánh giá kết quả khi sử dụng kết hợp 5 phương pháp (Sdv+Ne, MA + Avg, MA + Incr, MAV + Avg và MA + Incr). Kết quả thực nghiệm với độ đo F cho thấy sử dụng phương pháp Sdv và MV + Avg cho kết quả tốt hơn các phương pháp còn lại. Do đó trong mô hình này, chúng tôi thực hiện phương pháp Sdv để gán vai trò và không thực hiện mở rộng tập seed sau khi gán vai trò.
3.2. Mô hình đề xuất
Đầu vào:
- Dữ liệu Twitter được crawler theo các hot trend topic - Đặc trưng vai trò cần tìm kiếm
Đầu ra:
- Các cụm dữ liệu có các đặc trưng tương đồng với đặc trưng đưa vào tìm kiếm.
Các pha chính:
1. Phân tích đặc trưng 2. Phân cụm dữ liệu 3. Gán vai trò
38
Hình 8: Mô hình đề xuất
Chi tiết về các bước trong mỗi pha cũng như chi tiết về giải pháp đề xuất được trình bày ở các mục 3.2.1, 3.2.2, 3.2.3
3.2.1. Pha phân tích đặc trƣng
Trong pha phân tích đặc trưng, sau khi crawler dữ liệu Twitter về, chia làm 3 bước để phân tích và trích chọn đặc trưng
Bƣớc 1: Mô hình hóa dữ liệu:
Biểu diễn đồ thị thực thế quan hệ với 3 đỉnh và 5 cung như mô hình [21] với 3 đỉnh: con người, tài liệu, tag và 5 cung:
- Person – publishes: Người công khai - Person –receives: người nhận
39 - Depicts: Mô tả
- Knows: Hiểu biết - References: Tham khảo
Bƣớc 2: Đặc trƣng hóa dữ liệu
Ngoài 14 vai trò như trong mô hình [21], chúng tôi bổ sung thêm 1 đặc trưng M15 –Số lượng retweet của người p trong mạng
- M1: Số lượng người p biết.
- M2: Số lượng người biết p.
- M3: Mối quan hệ tương tác của p.
- M4: Hệ số phân cụm của liên hệ đã biết, nó cho biết mức độ gắn kết những người bạn của p.
- M5: Độ sâu truyền thông trung bình của người p. Tính toán phạm vi tác động của người p trong mạng. Đặc trưng này được tính toán bằng cách:
o 1. Xác định mọi tài liệu được p xuất bản.
o 2. Xác định được tất cả những người bị ảnh hưởng từ tập tài liệu ở bước