1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Khoa học máy tính: Tìm những người dùng có tầm ảnh hưởng trong mạng xã hội

94 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Chương 1: Giới thiệu (14)
    • 1.1 Giới thiệu đề tài (14)
    • 1.2 Mục đích nghiên cứu và giới hạn của đề tài (14)
    • 1.3 Đối tượng và phạm vi nghiên cứu (15)
      • 1.3.1 Đối tượng nghiên cứu (15)
      • 1.3.2 Phạm vi nghiên cứu (15)
    • 1.4 Phương pháp tiến hành (15)
    • 1.5 Những đóng góp của đề tài (16)
  • Chương 2: Tổng quan (18)
    • 2.1 Các độ đo được dùng trong công nghiệp (18)
      • 2.1.1 Klout (18)
      • 2.1.2 PROskore (20)
      • 2.1.3 Kred (20)
      • 2.1.4 Facebook Subscribe (21)
      • 2.1.5 Kết luận (21)
    • 2.2 Các nghiên cứu học thuật (21)
      • 2.2.1 Sự tương đồng và sự ảnh hưởng trong mạng xã hội (21)
      • 2.2.2 Đo lường sự phản hồi giữa sự ảnh hưởng xã hội và hành động tương tự (23)
      • 2.2.3 Tối đa hóa sự trải rộng ảnh hưởng trên mạng xã hội (23)
      • 2.2.4 Sử dụng heuristic để cải thiện tối đa hóa sự ảnh hưởng (25)
      • 2.2.5 Sử dụng phương pháp xác suất để xác định độ ảnh hưởng (26)
      • 2.2.6 Phân tích ảnh hưởng xã hội với độ co dãn lớn (28)
      • 2.2.7 Sử dụng phương pháp ống Lens (31)
      • 2.2.8 Xác định người dùng ảnh hưởng thông qua do lường hành động đăng nhập (33)
      • 2.2.9 Tiên đoán người dùng ảnh hưởng dựa vào α-centrality (37)
  • Chương 3: Cơ sở lý thuyết (41)
    • 3.1 Hai mô hình lan truyền cơ bản (41)
    • 3.2 Mô hình lan truyền và khuyếch đại sự ảnh hưởng trong mạng xã hội (42)
    • 3.3 Các thành phần tham gia vào việc cho điểm (44)
    • 3.4 Độ quan trọng của một đỉnh trong một mạng liên kết (46)
      • 3.4.1 Cấu trúc liên kết của web (47)
      • 3.4.2 Sự lan truyền thứ hạng thông qua những liên kết (48)
      • 3.4.3 Định nghĩa PageRank (48)
      • 3.4.4 Mô hình lướt web ngẫu nhiên (51)
      • 3.4.5 Thuật toán PageRank (51)
    • 3.5 Độ quan trọng của một cạnh trên một mạng xã hội (52)
    • 3.6 Kết luận (55)
  • Chương 4: Tìm những người dùng có tầm ảnh hưởng (58)
    • 4.1 Tìm những người dùng có tầm ảnh hưởng dựa vào giải thuật PageRank (58)
    • 4.2 Kết hợp giữa PageRank và EdgeRank (60)
    • 4.3 Kiến trúc của hệ thống (63)
      • 4.3.1 Các module chính của hệ thống (63)
      • 4.3.2 Tương tác giữa các module trong hệ thống (65)
    • 4.4 Hiện thực hệ thống (66)
      • 4.4.1 Xây dựng đồ thị có hướng dựa vào tập dữ liệu (66)
      • 4.4.2 Tính toán trọng số cho các cạnh của đồ thị (67)
      • 4.4.3 Ứng dụng minh họa (69)
  • Chương 5: Đánh giá kết quả (71)
    • 5.1 Cách xây dựng tập dữ liệu thí nghiệm (71)
    • 5.2 Kết quả thực nghiệm (72)
      • 5.2.1 Thí nghiệm không sử dụng giải thuật EdgeRank (72)
      • 5.2.2 Thí nghiệm sử dụng giải thuật EdgeRank (78)
    • 5.3 Đánh giá (84)
      • 5.3.1 Độ chính xác (84)
      • 5.3.2 Tốc độ (88)
  • Chương 6: Kết luận (90)
    • 6.1 Kết luận (90)
    • 6.2 Hướng phát triển (91)
  • Tài liệu tham khảo (92)

Nội dung

Đề tài tìm người dùng có tầm ảnh hưởng đến những người dùng khác trong mạng xã hội là phương thức tìm kiếm một thuật giải suy luận từ cơ sở dữ liệu người dùng trong mạng xã hội dựa vào c

Giới thiệu

Giới thiệu đề tài

Mạng xã hội là một cấu trúc trên internet, trong đó gồm có những thực thể là những người dùng của mạng xã hội, các hoạt động xảy ra của người dùng (như hoạt động cập nhật trạng thái, hoạt động like, chia sẻ hình ảnh, ) và mối quan hệ giữa các người dùng (kết bạn, cùng tham gia một nhóm hội, cùng bàn về một đề tài, ) Một người dùng có ảnh hưởng trong mạng xã hội là một người dùng mà các hoạt động của người dùng này thu hút được nhiều mối quan hệ và các hoạt động tương tác từ người dùng khác đến người dùng này Đề tài tìm người dùng có tầm ảnh hưởng đến những người dùng khác trong mạng xã hội là phương thức tìm kiếm một thuật giải suy luận từ cơ sở dữ liệu người dùng trong mạng xã hội dựa vào các yếu tố của mạng xã hội (như số lượng comment, số lượng like, ) để suy luận ra những người dùng nào có tầm ảnh hưởng đến những người dùng khác trong mạng xã hội Một ví dụ điển hình là tìm ra những người dùng có tầm ảnh hưởng trong mạng xã hội của một công ty, từ đó ta có thể biết được những người dùng nào có tầm ảnh hưởng trong công ty đó

Trước yêu cầu trên, vấn đề đặt ra là phải làm sao xây dựng được một thuật giải tương đối chính xác, có khả năng trích xuất từ cơ sở dữ liệu người dùng để tìm ra những người dùng có tầm ảnh hưởng đến những người dùng khác trong mạng xã hội Đây là mục tiêu cốt lõi của đề tài mà chúng ta sẽ nghiên cứu.

Mục đích nghiên cứu và giới hạn của đề tài

Mục đích của đề tài nằm ở việc tìm ra những người có sức ảnh hưởng trong mạng xã hội dựa trên mối tương tác giữa những người dùng với nhau Những người này có vai trò quan trọng trong việc định hình hành vi, quan điểm và sở thích của cộng đồng mạng, từ đó tạo nên nền tảng cho sự phát triển của hệ thống mạng xã hội, đóng góp đáng kể cho chiến lược marketing và xây dựng thương hiệu trong kỷ nguyên số.

Mục đích nghiên cứu của đề tài này là xây dựng một thuật giải thông minh tìm ra các những người dùng có tầm ảnh hưởng đến những người dùng khác trong mạng xã hội Tuy nhiên, thuật giải cũng chỉ là mang tính chất tương đối, độ đo mức độ ảnh hưởng phân biệt giữa những người dùng còn phụ thuộc vào các yếu tố mà chúng ta chọn lựa để so sánh

2 Đề tài chỉ đặt trọng tâm nghiên cứu vào giải thuật nhằm xác định người dùng có tầm ảnh hưởng trong mạng xã hội Chính vì thế, đề tài sẽ bỏ qua các yếu tố khách quan như sự ảnh hưởng do yếu tố của mạng internet, các vấn đề về an toàn dữ liệu trong lưu trữ Đề tài chỉ giới hạn trong việc xác định tập người dùng có mức độ ảnh hưởng trong mạng xã hội dựa trên các mối tương tác qua lại giữa những người dùng trong mạng xã hội.

Đối tượng và phạm vi nghiên cứu

Trong quá trình nghiên cứu, tìm hiểu thuật giải xác định ra những người dùng có tầm ảnh hưởng với những người dùng khác trong mạng xã hội, chúng ta cần nhắm đến những đối tượng nghiên cứu sau: § Các mạng xã hội trong và ngoài nước bao gồm: các đặc điểm đặc điểm đặc trưng của các mạng xã hội này, các yếu tố cấu thành nên nó,… Điều này sẽ bổ trợ cho chúng ta trong quá trình tìm ra những người dùng ảnh hưởng § Các thực thể trong các mạng xã hội như: những người dùng trong mạng xã hội, những hoạt động trong mạng xã hội, những nhóm hội trong mạng xã hội, § Những hệ thống đo lường mức độ ảnh hưởng trong các mạng xã hội hiện có

1.3.2 Ph ạ m vi nghiên c ứ u § Hiện nay, lĩnh vực mạng xã hội đang phát triển không ngừng, các hệ thống mạng xã hội trong và ngoài nước tăng trưởng rất mạnh, mạng xã hội đã dần là phương tiện kết nối cho đời sống con người Trong phạm vi nghiên cứu của đề tài, chúng ta sẽ nghiên cứu các mạng xã hội của các cộng đồng nhỏ ở Việt Nam Hiểu và có những đánh giá phù hợp với mạng xã hội của chúng ta § Trong phạm vi mở rộng hơn, chúng ta sẽ nghiên cứu các mạng xã hội lớn trên thế giới (như Facebook, Twitter,…) Chúng ta sẽ so sánh đánh giá các kết quả của chúng ta với các mạng xã hội lớn trên thế giới.

Phương pháp tiến hành

Trong quá trình nghiên cứu, học viên đã thực hiện thử nghiệm dựa trên đề xuất của tài liệu [6] Song song với cách tiếp cận được đề xuất, học viên còn bổ sung phương pháp kết hợp độ đo mức độ quan trọng của cạnh [9] dựa trên hành vi tương tác giữa người dùng trong mạng xã hội.

3 hội Trong đó, các hành động này là mention, like, comment, wall post, nhằm đánh giá trọng số của một cạnh trong mối quan hệ tương quan giữa những người dùng trong mạng xã hội Đề tài tiến hành thực nghiệm đánh giá hiệu quả của phương pháp này trong việc đánh giá độ đo sự quan trọng của một nút trong một đồ thị xã hội dựa trên giải thuật PageRank, cải tiến giải thuật PageRank kết hợp với độ đo EdgeRank xác định mức độ quan trọng của một cạnh nhằm tìm ra những người dùng có tầm ảnh hưởng trong mạng xã hội Chi tiết của phương pháp tiến hành sẽ được trình bày trong Chương 4, phần đánh giá kết quả thực nghiệm sẽ được trình bày trong Chương 5.

Những đóng góp của đề tài

Trong đề tài này, học viên đã thử nghiệm cách xác định người dùng có tầm ảnh hưởng trong mạng xã hội dựa trên giải thuật PageRank xác định mức độ quan trọng của một nút trong một đồ thị liên kết Đối với các cạnh của đồ thị, đề tài đã tính toán mức độ quan trọng của một cạnh dựa trên giải thuật EdgeRank với các hành động tương tác qua lại giữa những người dùng trong mạng xã hội (like, comment, wall post) Đề tài đã tiến hành thực nghiệm trên tập dữ liệu thật và so sánh các kết quả của đề tài với kết quả thực tế Từ đó, đề tài phân tích được mức độ chính xác của giải thuật so với kết quả thực tế Đề tài cung cấp một mã nguồn mở để xác định độ quan trọng của một cạnh trong một mạng xã hội và tính toán độ quan trọng của một nút, kết hợp độ đo quan trọng của một nút PageRank và độ đo quan trọng của một cạnh EdgeRank thành độ đo mức độ quan trọng của một người dùng trong một mạng xã hội

Như vậy, đóng góp của đề tài là xác định được người dùng có tầm ảnh hưởng trong mạng xã hội dựa trên số cạnh tới một nút (các cạnh tới này chính là các tương tác của người dùng này đến người dùng kia) và mức độ quan trọng của cạnh tới đó (mức độ quan trọng của một cạnh tới dựa vào hành động cụ thể đó là gì) Đóng góp này cụ thể bao gồm hai đóng góp nhỏ đó là:

- Áp dụng giải thuật PageRank nhằm xác định các nút quan trọng trong một đồ thị mạng xã hội

4 - Cải tiến giải thuật PageRank nhằm giúp cho giải thuật này có thể hoạt động được với đồ thị có trọng số Trong đó, trọng số của một cạnh của đồ thị mạng xã hội sẽ được xác định dựa vào giải thuật EdgeRank

Tổng quan

Các độ đo được dùng trong công nghiệp

Klout [10] là một chuẩn công nghiệp dùng để đo lường mức độ ảnh hưởng trong mạng xã hội Điểm hạng của nó là từ 1 đến 100 Mức độ ảnh hưởng của nó dựa vào khả năng mà thông điệp từ một người dùng sẽ được thực hiện lại từ người dùng khác (ví dụ như retweets, like, comments hoặc trong thông điệp của người nào đó có chứa từ khóa

Để xác định mức độ ảnh hưởng của người dùng trên mạng xã hội, chuẩn Klout đánh giá dựa trên số lượng tương tác của họ, bao gồm lượt thích, bình luận và chia sẻ Do đó, mức độ ảnh hưởng của một người dùng được đo lường và xác định trực tiếp bởi các yếu tố tương tác này.

Klout cho phép mọi người có thể mức độ ảnh hưởng của mình trên thế giới Với sự gia tăng của các phương tiện truyền thông xã hội, khả năng ảnh hưởng đến những người khác đã được tính chính xác hơn Klout đo lường sự ảnh hưởng của bạn dựa trên khả năng dẫn dắt hành động của bạn trên mạng xã hội Điểm Klout là một số duy nhất đại diện cho sự tập hợp của nhiều phần dữ liệu về hoạt động của các phương tiện truyền thông xã hội của người dùng Điểm số của Klout được tính bằng cách áp dụng một mô hình điểm của những tín hiệu Điểm số của Klout được kết hợp từ hơn 400 tín hiệu từ bảy mạng khác nhau (Facebook, Twitter, Google+, LinkedIn, Klout, Foursqure, Wikipedia) Klout sử dụng dữ liệu hàng ngày từ bảy mạng này để cập nhật liên tục giá trị điểm số của người dùng Đa số các tín hiệu được sử dụng để tính toán điểm Klout được bắt nguồn từ sự kết hợp các thuộc tính, chẳng hạn như tỷ lệ của các phản ứng người dùng tạo ra so với số lượng nội dung mà người dùng chia sẻ Ví dụ, tạo ra 100 retweets từ 10 tweet của những người dùng đầu sẽ đóng góp nhiều hơn điểm của người dùng hơn là tạo ra 100 retweets từ 1.000 tweet của người dùng Klout cũng xem xét các yếu tố như cách chọn lọc những người tương tác với nội dung của bạn Thêm một người thích và retweets trong một ngày nhất định, ít hơn các tương tác cá nhân góp phần vào số điểm của người khác Ngoài ra, Klout đánh giá điểm số cao những người dùng dẫn dắt nhằm lái các luồng sự kiện đến những cá nhân khác Một trăm retweets từ 100 người khác nhau đóng góp nhiều điểm hơn là 100 retweets xuất phát từ một người duy nhất

6 Klout biết mức độ quan trọng thế nào để duy trì tính toàn vẹn của điểm Klout, vì vậy cách tính điểm của Klout giám sát chặt chẽ hoạt động trên các tín hiệu mà Klout cho là những hành động giả Điểm của Klout sẽ tiếp tục được tính toán và cải thiện Trong tương lai, Klout sẽ xét thêm các mạng nhiều hơn và nhiều tín hiệu hơn vào quá trình tính toán điểm số Klout của mình

Sau đây là một số của các tín hiệu đầu vào mà Klout dùng để đo lường các hệ thống mạng:

• Ratio of Inlinks to Outlinks

• Page Importance (as measured by PageRank

Chi tiết của các tín hiệu đầu vào này sẽ được trình bày cụ thể hơn trong Chương 3 của luận án

Tương tự Klout, PROskore tập trung vào tài khoản người dùng hơn là hành động của người khác, thu thập dữ liệu từ Twitter, Facebook, Klout và LinkedIn Cách thức hoạt động của PROskore cho thấy rằng điểm ảnh hưởng của người dùng có thể được tính toán dựa trên các hành động của họ, chẳng hạn như số lần đăng nhập mạng xã hội trong ngày hoặc xem hồ sơ của người khác Các hành động này có thể giúp tăng độ chính xác của điểm ảnh hưởng.

Kred [12] là một sản phẩm khai thác dữ liệu mạng xã hội Mỗi người dùng Twitter sẽ có một điểm số Kred Điểm số Kred này bao gồm hai phần: điểm số ảnh hưởng và điểm số tiếp cận cộng đồng Các giá trị này nằm trong khoảng từ 1 đến 1000 Nó cho ta thấy chính xác điểm số của ta như thế nào và cho phép ta đi sâu vào mỗi retweet để xem có bao nhiêu điểm là giá trị Dựa vào cách thức Kred làm, ta có thể thấy rằng đề tài tìm mức độ ảnh hưởng của người dùng có thể giúp ích được cho đề tài tính toán mức độ tiếp cận cộng đồng (do chúng đều dựa vào hàng động retweet)

Facebook Subscribe [13] là chức năng cho phép người dùng theo dõi những cập nhật của người dùng khác trong mạng xã hội (những người dùng mà thường truyền đi thông báo), chức năng này khá giống với chức năng following của Twitter Chúng ta có thể subscribe những người dùng khác mà không nhất thiết phải kết bạn với họ (với điều kiện là trạng thái cập nhật thông tin của họ được đặt là public) Dựa vào chức năng Subscribe này (tương tự như chức năng following trong Twitter), chúng ta có thể xác định rằng: "Những người dùng mà càng được nhiều người Subscribe (hoặc following) thì mức độ ảnh hưởng của họ càng nhiều" Trong hướng tiếp cận tính toán mức độ ảnh hưởng của đề tài, đối với những mạng xã hội có hỗ trợ chức năng Subscribe (hoặc following), chúng ta có thể dựa vào nó để tính toán mức độ ảnh hưởng của người dùng trong mạng xã hội đó

Dù các độ đo [10, 11, 12, 13] không công bố chi tiết công thức tính, nhưng các thành phần được dùng để tính độ ảnh hưởng của một người dùng bao gồm số lần người dùng này được followed, comments hoặc like v.v… Chúng ta có thể dựa vào các công bố của Klout để tính toán các giá trị ảnh hưởng của người dùng trong mạng xã hội.

Các nghiên cứu học thuật

Sự nghiên cứu về độ ảnh hưởng trên mạng xã hội thu hút nhiều sự chú ý gần đây vì tính hữu hiệu của chúng trong việc nghiên cứu thị trường và tiếp thị sản phẩm trực tuyến

2.2.1 S ự t ươ ng đồ ng và s ự ả nh h ưở ng trong m ạ ng xã h ộ i

Trong nghiên cứu [5], [5] phân biệt sự ảnh hưởng từ những vấn đề cơ bản và phân biệt sự tương quan từ nguyên nhân Bài báo đưa ra lý thuyết chứng minh rằng: có một xác suất thành công cao trong việc loại trừ ảnh hưởng trong một mô hình chung của sự tương quan xã hội

Bài báo sử dụng phương pháp shuffle test để định danh ảnh hưởng xã hội Phương pháp này dựa trên ý tưởng nếu ảnh hưởng không đóng vai trò nào thì xác suất đại diện thực hiện hành động chỉ phụ thuộc vào bạn bè và thời gian thực hiện hành động độc lập với thời gian thực hiện của những người bạn Bài báo đưa ra mô hình liên quan xã hội mà các cá nhân là nút của mạng xã hội G G là đồ thị có hướng và được tạo ra từ phân bố xác suất không biết trước.

9 Hệ thống mạng xã hội được dùng thí nghiệm là tập dữ liệu của Flickr Bài báo đã phân tích các hành vi gắn thẻ (tag on photo) của người sử dụng cho một khoảng thời gian 16 tháng Số lượng người dùng được xem xét là khoảng 800 ngàn người Người dùng không thể hiện bất kỳ hành vi gắn thẻ tại trong tất cả các trường hợp, nhóm nghiên cứu đã giới hạn lại sự chú ý vào tập người dùng đã gắn thẻ cho bất kỳ hình ảnh với bất kỳ tag nào, tập người dùng này là khoảng 340 ngàn người Trong đó, có khoảng 160 ngàn người là sử dụng hành động gắn thẻ qua lại(tag vào ảnh của mình và của bạn), có 165 ngàn người là sử dụng độc lập (chỉ tag hình ảnh của mình) Số của các cạnh trực tiếp giữa người sử dụng là 2.8 triệu cạnh

Trung bình, với một người dùng u nhất định, tỷ lệ liên kết với người dùng u mà trong đó không kết bạn với u là 28,5% Có khoảng 10 ngàn tag mà người dùng đã sử dụng, nhóm nghiên cứu đã chọn ra một bộ 1700 tag và phân tích chúng một cách độc lập

Phân bố α của mô hình ảnh hưởng Hình 1.

Phân bố α của mô hình tương đồng Hình 2.

2.2.2 Đ o l ườ ng s ự ph ả n h ồ i gi ữ a s ự ả nh h ưở ng xã h ộ i và hành độ ng t ươ ng t ự nhau Đo lường sự phản hồi giữa sự ảnh hưởng và hành động tương tự nhau của [3] là nghiên cứu những hiệu ứng phản hồi giữa sự ảnh hưởng xã hội và hành động tương tự nhau

Bài báo phát triển những kỹ thuật cho việc định danh và mô hình những tương tác giữa sự ảnh hưởng xã hội và sự chọn lựa, sử dụng dữ liệu thay đổi trong những ứng xử trên thời gian

Bài báo xem xét những hành động tương tự nhau và những ảnh hưởng xã hội để tiên đoán những hành động mà cá nhân nào đó sẽ thực hiện kế tiếp Bài báo đã làm rõ hai vấn đề về sự ảnh hưởng lẫn nhau giữa tương tác xã hội và hành động tương tự nhau là: o Tương tác xã hội và hành động tương tự nhau có cùng hiệu ứng và cùng nguyên nhân xảy ra o Người dùng có thể nhận biết được người dùng khác thông qua hành động chia sẻ hoặc các hoạt động gần đây của người dùng khác với 1 sự việc nào đó

Trong [3] và [5] các tác giả đã cho thấy người dùng có khuynh hướng “bắt chước” các hành vi của những người dùng có nhiều ảnh hưởng (influential users) Nếu một influential users dùng thử một mặt hàng thì sẽ có nhiều người dùng khác cũng làm theo

2.2.3 T ố i đ a hóa s ự tr ả i r ộ ng ả nh h ưở ng trên m ạ ng xã h ộ i

Trước các nghiên cứu [3] và [5], các nghiên cứu về các user có nhiều ảnh hưởng trên mạng xã hội đã bắt đầu xuất hiện từ năm 2003

Trong bài báo [1] , các người dùng có nhiều ảnh hưởng được đề xuất như là một tập con của các người dùng, trong đó các hành vi của các người dùng này sẽ thu hút sự chú ý của nhiều người dùng khác khiến các người dùng khác cũng có những hành động diễn tiến Bài báo đưa ra xác suất để tính về khả năng một người dùng mới sẽ tiến hành các hành động tiếp theo sau khi một người dùng “có nhiều ảnh hưởng” đã có một hành động trước đó

Bài báo nghiêu cứu cách thoả mãn một tập con các cá nhân nhỏ mà từ đó có thể mở rộng sự ảnh hưởng ra tối đa Thoả mãn một tập con các cá nhân là thuyết phục tập con cá nhân này sử dụng các sản phẩm mới hay đưa ra các phát kiến mới cho tập con các cá nhân nhỏ này trước Mở rộng sự ảnh hưởng ra tối đa là làm khuếch đại sự lan truyền về thông tin sản phẩm mới hay ý tưởng mới đến càng nhiều người dùng khác càng tốt

Trong mạng xã hội, "lây nhiễm" là hiện tượng lan truyền ý tưởng hoặc sáng kiến giữa những người dùng, giúp khuếch tán chúng rộng rãi hơn Hiệu ứng lan truyền này dựa trên truyền miệng xã hội, thúc đẩy quảng cáo sản phẩm mới Ví dụ, bằng cách gợi ý sản phẩm cho bạn bè, chúng ta có thể kích hoạt chuỗi "lây nhiễm", dẫn đến nhiều cá nhân dùng thử sản phẩm đó.

Bài báo chỉ ra rằng giải thuật tham lam có thể đạt được một giải pháp mà có thể đạt được 63% mức độ tối ưu cho một vài lớp của những mô hình Mức độ tối ưu là mức độ mà trong trường hợp lý tưởng các sản phẩm mới hay các phát kiến mới sẽ được truyền đến tất cả những người dùng mà có quan tâm đến những sản phẩm mới hay những phát kiến mới được truyền đi ban đầu

Bài báo đưa ra hai mô hình truyền tin cơ bản đó là "The Linear Theshold" và

"Independent Cascade models" Chi tiết về hai mô hình này sẽ được học viên trình bày trong Chương 3 của luận án

Trong thí nghiệm của bài báo này, nhóm tác giả sử dụng tập dữ liệu mạng, dữ liệu đồng tác giả được xây dựng từ một danh sách các bài báo hoàn chỉnh về lý thuyết vật lý năng lượng cao ("High Energy Physics - Theory ") của arXiv (www.arxiv.org) Đồ thị mà nhóm tác giả mô hình là đồ thị mà các nút là các nhà nghiên cứu mà có ít nhất có một bài báo có cùng tác giả trong cơ sở dữ liệu của arXiv Với những bài báo có nhiều hơn một tác giả, mô hình sẽ thêm vào một cạnh cho mỗi cặp tác giả (những bài báo chỉ có 1 tác giả sẽ bị bỏ qua) Kết quả là đồ thị sau khi mô hình có 10748 nút và khoảng 53000 cạnh

Kết quả cho mô hình Linear threshold Hình 3.

12 Kết quả cho mô hình Independent Cascade

2.2.4 S ử d ụ ng heuristic để c ả i thi ệ n t ố i đ a hóa s ự ả nh h ưở ng

Mô hình Independent Cascade được cải tiến trong [2] bằng cách bổ sung các phương pháp heuristic để giảm thời gian tính toán Nghiên cứu này đề xuất một thuật toán hiệu quả để tối đa hóa tầm ảnh hưởng bằng cách:

1) Cải thiện giải thuật tham lam nhằm làm giảm thời gian chạy

Cơ sở lý thuyết

Hai mô hình lan truyền cơ bản

Trong nghiên cứu của [1], [1] đã xét đến hai mô hình lan truyền cơ bản Trong việc xem xét các mô hình hoạt động cho sự lây lan của một ý tưởng hay sự đổi mới thông qua một mạng xã hội, đại diện bởi một đồ thị có hướng Giả sử, một nút là một trong hai trạng thái active (nhận vào những cái mới) hoặc inactive (chưa nhận vào) Trong đó, mỗi nút có xu hướng trở thành active và gia tăng một cách đơn điệu hơn là các nút lân cận sẽ trở thành active Ngoài ra, [1] còn xem xét những trường hợp mà một nút có thể đang ở trạng thái inactive sẽ chuyển sang trạng thái active mà không chuyển đổi theo một hướng nào khác, điều này chỉ ra rằng giả định này có thể dễ dàng được dỡ bỏ sau đó Như vậy, tiến trình theo dõi sẽ quan sát một nút v ở trạng thái inactive ban đầu với thời gian được mở rộng ra, những nút lân cận của v và những nút liên quan với những nút lân cận đó trở thành active Khi đó, quyết định của nút v có thể biến quyết định kích hoạt thêm vào các nút mà v được kết nối đến

Granovetter và Schelling là những người đầu tiên đề xuất các mô hình chụp một quá trình như vậy, cách tiếp cận của họ được dựa trên việc sử dụng các ngưỡng nút cụ thể [1] đề cập đến hai mô hình truyền tin cơ bản đó là:

1 The Linear Threshold: một đồ thị xã hội G, một nút v trong đồ thị xã hội G bị ảnh hưởng bởi những nút lân cận w với một trọng số b v,w thoả: b v,w ≤1 w neighbor of v ∑

Mỗi nút v chọn ra một ngưỡng là θ v với giá trị ngẫu nhiên trong khoảng [0,1], nó đại diện cho phần có trọng số của các các nút lân cận của v phải trở thành active để cho v để trở thành active Cho một ngưỡng lựa chọn ngẫu nhiên, và thiết lập một tập ban đầu các nút A 0 active (với tất cả các nút khác là inactive), các tiến trình lan truyền đưa ra một quyết định trong các bước rời rạc: trong bước thứ t, tất cả các nút đang active trong bước t−1vẫn còn active, và chúng ta kích hoạt bất kỳ nút v nào mà tổng trọng số của các nút đang active lân cận thoả:

2 Independent Cascade Models: là mô hình khái niệm đơn giản nhất của

"dynamic cascade models" (dynamic cascade models là mô hình mà trong đó mỗi bước phát triển sẽ xảy ra hai trường hợp: một là ngăn không cho lan truyền đi tiếp, hai là sẽ làm tăng thêm mức độ khi 1 nút được đi qua - ví dụ như là trong thác nước, có những nơi nước bị đá chặn lại ko chảy đi tiếp được, có những nơi nước được tăng thêm lực chảy - chảy siết) Một nút v trong đồ thị xã hội G khi có một hành động ảnh hưởng đến nó lần đầu sẽ có một xác suất p v,w để hành động này sẽ được thực hiện bởi những nút w lân cận của nút v, xác suất này độc lập với lịch sử trước đó cho đến thời điểm xảy ra hành động này Nếu hành động lan truyền của v thành công, các nút w lân cận của v sẽ được xem xét xem có xảy ra lan truyền ở bước tiếp theo hay không, nếu v không thực hiện lan truyền thành công, hành động lan truyền sẽ kết thúc ngay tại lúc này và các nút w lân cận của v sẽ không thực hiện hành động lan truyền

Mô hình Independent Cascade là một mô hình phổ biến được ứng dụng trong các nghiên cứu về ảnh hưởng xã hội Mô hình này thường được sử dụng trong các thí nghiệm nghiên cứu Trong đề tài này, các học viên đã tham khảo mô hình lan truyền cơ bản để áp dụng mô hình hóa một mạng xã hội Dựa trên mô hình này, đề tài đã tiến hành các giải thuật để phân tích mạng xã hội.

Mô hình lan truyền và khuyếch đại sự ảnh hưởng trong mạng xã hội

Trong [6], nhóm tác giả đã đưa ra mô hình hóa như sau: cho một đồ thị xã hội là một dạng của một đồ thị không có hướng G = (V, E, T), trong đó nút V là nút đại diện cho những người dùng Một cạnh không có hướng (u, v) thuộc E giữa người dùng u và v đại diện cho sự ràng buộc xã hội giữa những người dùng T : E → N là một nhãn đại diện cho mỗi cạnh cho thời điểm mà mà ràng buộc xã hội được tạo ra Một action log, một related Actions(User, Action, Time) chứa đựng một tuple(u, a, t u ) chỉ ra rằng user u thực hiện hành động a tại thời điểm t Nhóm tác giả thừa nhận rằng phép chiếu của một Actions trên cột đầu tiên được chứa đựng trong tập nút V của đồ thị xã hội G Theo đó nhóm tác giả đã đưa ra hai định nghĩa là:

• Định nghĩa 1 (sự lan truyền hành động) Một hành động a ∈ A lan truyền từ người dùng v i đến người dùng v j nếu và chỉ nếu:

Khi hành động này xảy ra, chúng ta sẽ viết là prop(a, v i ,v j , ∆t) với ∆t = t j − t i

• Định nghĩa 2 (đồ thị lan truyền)

Với mỗi hành động a, chúng ta định nghĩa một đồ thị lan truyền PG(a) = (V (a), E(a)) như sau: V(a) = {v | ∃t : (v,a,t) ∈ Actions}, có một cạnh có hướng v i " → Δt " v j trong E(a) bất cứ khi nào prop(a, v i ,v j , ∆t) Đồ thị lan truyền bao gồm những người dùng thực hiện các hành động, với các cạnh kết nối chúng trong hướng truyền Quan sát đồ thị lan truyền là một DAG (Directed acyclic graph), mỗi nút có thể có nhiều hơn một nút cha, nó có hướng và và sẽ không có chu trình do vấn đề ràng buộc về thời gian là cơ sở cho các định nghĩa lan truyền Lưu ý rằng đồ thị lan truyền có thể có thể có các thành phần không liên thông Nói cách khác, việc tuyên truyền của một hành động chỉ là một thực thể có hướng (luồng) của đồ thị vô hướng G, và những ghi nhận của hành động Actions(User, Action, Time) có thể được xem như là một tập của những sự lan truyền ảnh hưởng Một khi người dùng đã kích hoạt, nó trở nên dễ lây lan và không thể hủy bỏ sự kích hoạt đó được Bây giờ, hành động kích hoạt này có thể ảnh hưởng đến tất cả các bạn bè mà đang trong trạng thái inactive Khả năng để ảnh hưởng đến những người lân cận là những gì mà nhóm nghiên cứu đã mô hình với biến đại diện là xác suất lan truyền ảnh hưởng Vấn đề mà [6] giải quyết trong bài báo là làm thế nào để tìm hiểu xác suất ảnh hưởng giữa các người dùng bằng cách khai thác tập lan truyền trong quá khứ đã có trước đó Một cách hình thức, nhóm tác giả muốn tìm một hàm xác suất p: E → [0, 1] × [0, 1] gán cho cả hai hướng của mỗi cạnh (v, u) ∈ E với trọng số xác suất là: p v,u và p u,v

Theo 2 định nghĩa mà [6] đã nêu ra, chúng ta thấy được sự lan truyền thông tin trong một mạng liên kết Mạng liên kết được biểu diễn bằng đồ thị nhưng các cạnh của mạng liên kết này được gán cho một nhãn là một xác suất

Các thành phần tham gia vào việc cho điểm

Trong các bài báo về các phương pháp dựa trên xác suất, khái niệm sự ảnh hưởng được tính bằng xác suất một người dùng B “phản ứng lại” sau khi có một hành động từ một người dùng A Xác suất này được tính bằng các quan hệ giữa A và B trên mạng xã hội và từ một hàm phân phối xác suất mẫu Mô hình sẽ được mở rộng lên từ 2 cho n người dùng trên mạng xã hội

Mô hình xác suất này tương đương với mô hình điểm số ảnh hưởng, trong đó mỗi người dùng sở hữu một giá trị điểm riêng Điểm số càng cao, khả năng người dùng phản ứng lại càng lớn Điểm số của người dùng được tích lũy từ các mối quan hệ với những người dùng khác.

Thay vì đi tìm một hàm phân bố xác suất để xác định độ ảnh hưởng, điều này vốn gặp nhiều khó khăn trong xử lý vì dữ liệu thực tế vốn rất lớn Chúng ta có một hướng tiếp cận khác là sử dụng trực tiếp dữ liệu từ mạng xã hội để suy luận ra điểm của user Nổi bật nhất hiện nay là độ đo Klout Các yếu tố dùng để đánh giá influentiual score trong hướng tiếp cận này bao gồm:

• True Reach: có bao nhiêu người mà bạn ảnh hưởng đến

• Amplification: bạn ảnh hưởng đến họ bao nhiêu

• Network Impact: sự ảnh hưởng của mạng của bạn Ở đây ta chỉ xét độ ảnh hưởng của user trong một mạng xã hội nên yếu tố thứ ba (network impact) có thể bị loại bỏ

Trong tuyên bố của Klout, điểm số của Klout được kết hợp hơn 400 tín hiệu từ bảy mạng khác nhau (Facebook, Twitter, Google+, LinkedIn, Klout, Foursqure, Wikipedia) Sau đây là một số của các tín hiệu đầu vào mà Klout dùng để đo lường các hệ thống mạng:

• Mentions: đề cập đến tên bạn trong một post, điều này chỉ ra sự liên kết trực tiếp với bạn

• Likes: hành động thể hiện sự thích thú với nội dung nào đó mà bạn tạo ra

• Comments: phản ứng tương tác lại nội dung mà bạn chia sẻ, bình luận cũng phản ánh trực tiếp sự tham gia vào mạng của bạn

• Subscribers: số lượng người theo dõi là một phương pháp đo lường ảnh hưởng lâu dài của sự phát triển theo thời gian

• Wall Posts: post trực tiếp vào wall của bạn cho thấy cả sự ảnh hưởng và sự tham gia

• Friends: số lượng bạn bè, nó đo lường tầm với của bạn trong mạng nhưng yếu tố này ít quan trọng hơn so với mạng của bạn tham gia như thế nào với nội dung của bạn

• Retweets: hành động này làm gia tăng sự ảnh hưởng của bạn bằng cách chia sẻ lại nội dung của bạn cho những người đang theo dõi khác

Những người tìm kiếm sự chú ý của bạn bằng cách đề cập đến bạn trên mạng xã hội là một tín hiệu mạnh thể hiện sự ảnh hưởng của bạn Điều này thường được thể hiện thông qua các từ khóa như "qua (via)" hoặc "copy (cc)".

• List Memberships: bao gồm những danh sách phụ của những người dùng khác, nó cho thấy phạm vi ảnh hưởng của bạn

• Followers: số lượng người theo dõi là một yếu tố được tính trong điểm số ảnh hưởng của bạn Nhưng những hành động tham gia tương tác vào thì được đánh giá cao hơn là số lượng người theo dõi

• Replies: trả lời cho thấy rằng bạn đang liên tục tham gia vào mạng của bạn, hành động này được xem là nội dung có giá trị

• Comments: phản ứng tương tác lại nội dung mà bạn chia sẻ, bình luận cũng phản ánh trực tiếp sự tham gia vào mạng của bạn

• +1's: hành động cho thấy sự thích thú với nội dung mà bạn tạo ra

• Reshares: hành động này làm gia tăng sự ảnh hưởng của bạn bằng cách chia sẻ lại nội dung của bạn cho những người đang theo dõi khác trong mạng Google+

• Title: tiêu đề báo cáo của bạn trên mạng LinkedIn, đây là một tín hiệu ảnh hưởng trong thế giới thực

• Connections: đồ thị kết nối của bạn giúp xác nhận ảnh hưởng của bạn trong thế giới thực

• Recommenders: Các gợi ý trong mạng của bạn, nó giúp thêm tín hiệu bổ sung để tính toán cho điểm số của bạn

• Comments: hành động phản ứng lại nội dung bạn chia sẻ, ý kiến cũng phản ánh tham gia trực tiếp mạng của bạn

• +K received: +K nhận vào làm tăng điểm Klout bởi một lượng giới hạn trong mỗi chu kỳ đo 90 ngày để bảo vệ sự toàn vẹn của các điểm

• Tips Done: số gợi ý mà bạn để lại đã được hoàn thành cho thấy khả năng ảnh hưởng của bạn đến những người khác trên foursquare

• Inlinks: đo lường tổng số liên kết đến một trang

• Ratio of Inlinks to Outlinks: so sánh tỉ lệ giữa số lượng liên kết đến một trang và số lượng các liên kết ngoài

• Page Importance (as measured by PageRank): được đo bằng cách áp dụng một thuật toán PageRank trên các đồ thị trang của Wikipedia.

Độ quan trọng của một đỉnh trong một mạng liên kết

Như ở mục 3.1 và 3.2 ta thấy rằng, mạng xã hội có thể được biểu diễn thành một đồ thị, trong đó những người dùng là những nút của đồ thị, các hành động tương tác là các cạnh có hướng của đồ thị Để tính toán được mức độ quan trọng của một người dùng trong một mạng xã hội, việc này tương đương với việc xác định độ quan trọng của một nút trong một đồ thị Trong các giải thuật tính toán độ quan trọng của một nút trong một đồ thị thì giải thuật PageRank được google giới thiệu là nổi tiếng cho việc xác định trọng số của một nút của một đồ thị Ta có thể áp dụng giải thuật này để tính toán độ quan trọng của một nút trong một đồ thị

Larry Page [7] là thuật toán được Google công bố cách thức mà Google tính toán thứ hạng của các trang web trong bộ máy tìm kiếm của Google Thuật toán Larry Page là thuật toán dựa trên lý thuyết đồ thị, trong đó các trang web là các nút và các liên kết là các cạnh

PageRank của một nút sẽ được tính toán thông quá các PageRank khác có liên kết tới nó Một trang web mà càng có nhiều liên kết tới nó từ các trang web khác thì thứ hạng của nó sẽ càng cao Ngoài ra, thuật toán Larry Page còn dựa vào phân bố xác suất để xác định yếu tố ngẫu

34 nhiên mà người dùng bấm chuột vào một liên kết để đến một trang web PageRank của một trang web sẽ phụ thuộc vào 2 thành phần là: cách mà người dùng truy suất trực tiếp vào trang web đó (bằng việc gõ trực tiếp địa chỉ vào url của browser) và người dùng bấm vào các liên kết của trang web đó từ một trang web khác Trong khuông khổ của đề tài, chúng ta thấy rằng sự tự ảnh hưởng của một người dùng trong mạng xã hội là không cần thiết, chúng ta thường chỉ quan tâm đến sự ảnh hưởng của người dùng đó đến những người dùng khác Vì vậy, chúng ta sẽ loại bỏ sự tự ảnh hưởng này trong quá trình tính toán

Trong những ước lượng khác nhau, đồ thị hiện tại của một trang web thu thập có khoảng 150 triệu các nút (pages) và 1,7 tỷ cạnh (links) Mỗi trang có một số lượng liên kết mà nó hướng tới (outedges) và số lượng liên kết hướng đến nó - backlinks (inedges) Chúng ta không bao giờ có thể biết liệu chúng ta đã tìm thấy tất cả các backlinks của một trang cụ thể hay chưa, nhưng nếu chúng ta đã tải nó về, chúng ta biết tất cả các liên kết mà trang web đó liên kết tới tại thời điểm đó

A và B là những backlink của C Hình 13.

Các trang web khác nhau rất nhiều về số lượng backlinks mà chúng có Ví dụ, trang chủ Netscape có 62.804 backlinks trong cơ sở dữ liệu so với hầu hết các trang web mà chỉ có một vài backlinks Nhìn chung, các trang có số liên kết cao là quan trọng hơn các trang có ít số liên kết đến nó

35 Điểm thú vị của PageRank là có nhiều trường hợp mà việc đếm những trích dẫn đơn giản không tương ứng với khái niệm ý nghĩa thông thường của chúng ta về tầm quan trọng

Ví dụ, nếu một trang web có một liên kết ngoài từ trang chủ của Yahoo, nó có thể dù chỉ là một liên kết, nhưng liên kết đó là một liên kết rất quan trọng Trang web có liên kết từ trang chủ Yahoo phải được xếp hạng cao hơn so với những trang web mà các liên kết nhiều hơn nhưng từ những trang web ít người biết PageRank cố gắng trình bày bằng cách nào mà PageRank tìm ra một xấp xỉ tốt tính mức độ "quan trọng" thu được chỉ từ các cấu trúc liên kết

3.4.2 S ự lan truy ề n th ứ h ạ ng thông qua nh ữ ng liên k ế t

Dựa trên những điều mà mục 3.4.1 đã nêu trên, chúng ta cung cấp một mô tả một cách trực quan PageRank: một trang có thứ hạng cao nếu tổng của các cấp bậc của backlink của nó là cao Điều này bao hàm cả trường hợp khi một trang có nhiều backlink và cả trường hợp khi một trang có một vài backlink xếp hạng cao

Cho u là một trang web, cho F u là một tập hợp những trang mà u liên kết đến và tập

B u là tập hợp những trang mà liên kết đến u Cho N u = |F u | là số những liên kết từ u và cho c là một hệ số dùng để chuẩn hóa

Chúng ta tiếp cận với công thức PageRank đơn giản như sau:

• R(u) là PageRank của một nút u bất kỳ

• R(v) là PageRank của các trang web có liên kết đến nó

• c là xác suất truy xuất trực tiếp đến trang web

• N v là số liên kết trên trang web v

36 Minh họa thuật toán PageRank đơn giản

Hình 14. Điều này đã được trình bày một cách mô hình hóa trực giác trong mục 3.4.2 ở trên

Lưu ý rằng thứ hạng của một trang được chia cho các liên kết đến trang đó, góp phần vào điểm thứ hạng của các trang mà chúng liên kết đến 'C' nhỏ hơn 1 vì có một số trang không có liên kết đến và trọng số của chúng bị mất khỏi hệ thống Phương trình là đệ quy, nhưng có thể tính toán bằng cách bắt đầu từ bất kỳ tập thứ hạng nào và tiếp tục lặp lại quy trình tính toán cho đến khi hội tụ.

Nói một cách khác, cho A là một ma trận vuông với các hàng và cột tương ứng với các trang web Cho A u,v = 1 / N u nếu có một cạnh từ u đến v và A u,v = 0 nếu không có một cạnh tới từ u đến v Nếu chúng ta xem R như là một vector trên trang web, thì ta có R = cAR

Vì vậy, R là một eigenvector của A với eigenvalue c Trong thực tế, chúng ta muốn chi phối các eigenvector của A Nó có thể được tính bằng cách liên tục áp dụng A tới bất kỳ vector bắt đầu không suy biến

Trình tự tính bậc theo công thức đơn giản này có một vấn đề nhỏ Xét hai trang web chỉ liên kết đến nhau, không có trang web nào khác liên kết đến Một số trang web khác liên kết tới một trong hai trang này Khi đó, trong tiến trình lặp, vòng lặp này sẽ tích lũy bậc, nhưng không bao giờ phân phối bậc nào (bởi vì chúng không có đường đi ra) Vòng lặp tạo thành một loại bẫy được gọi là sụt bậc Để giải quyết vấn đề này, tác giả [7] đã đưa ra định nghĩa sau:

37 Cho E(u) là những vector trên những trang web tương ứng đến hạng của trang ban đầu PageRank của những trang web sẽ thỏa mãn:

• c sẽ được gán tối đa giá trị

Minh họa chi tiết thuật toán PageRank Hình 15.

Vòng lặp hoạt động Hình 16.

Trong đó, E(u) là những vector trên những trang web mà tương ứng với một tài nguyên của thứ hạng Chú ý rằng, nếu tất cả E đều mang giá trị dương, lúc đó c phải được

38 giảm để cân bằng phương trình Do đó, kỹ thuật này tương ứng với một hệ số suy giảm

Trong ma trận ký hiệu, chúng ta có R' = c ( AR' + E) Bởi vì ||R' || 1 =1, chúng ta có thể viết lại thành R' = c ( A + E x 1)R' với 1 là vector bao gồm tất cả những phần tử Vì vậy, R' là một eigenvector của ( A + E x 1)

Độ quan trọng của một cạnh trên một mạng xã hội

Nghiên cứu về PageRank cho thấy chỉ số này hữu ích trong việc đánh giá mức độ ảnh hưởng của người dùng, từ đó xác định trọng số cho các nút trong đồ thị mạng xã hội PageRank ban đầu chỉ đánh trọng số cho các nút, không phân biệt trọng số của các cạnh Tuy nhiên, trong nghiên cứu, các yếu tố khác ngoài True Reach cũng được đưa vào đánh giá, bao gồm cả yếu tố Return.

"Amplification" Vì vậy, những người dùng có nhiều mối liên hệ khác nhau nên các cạnh biểu diễn tương ứng cũng cần có trọng số khác nhau EdgeRank là một giải thuật nổi tiếng trình bày cách tiếp cận để đánh trọng số các cạnh tương ứng với các mối quan hệ trên các mạng xã hội

Facebook đã phát triển thuật toán mà chỉ cho phép hiển thị một số News Feed thực sự cần thiết trên wall của người dùng, thuật toán này gọi là EdgeRank [9] News Feed chỉ hiển thị một tập con rất nhiều hoạt động của bạn bè Chúng ta thực sự chỉ quan tâm đến những Feed của bạn bè có sự ảnh hưởng đến ta Thuật toán EdgeRank bao gồm ba yếu tố là: mức độ ảnh hưởng của người dùng, trọng số của các hoạt động người dùng và cuối cùng là yếu tố thời gian của các hoạt động Dựa vào công thức EdgeRank, ta thấy rằng:"Yếu tố thời gian có tầm ảnh hưởng đến mức độ ảnh hưởng của người dùng trong mạng xã hội" Trong quá trình tính toán mức độ ảnh hưởng của người dùng, ta sẽ đánh các trọng số khác nhau vào các mối liên kết của người dùng (như hành động like, comment, mention ) dựa vào thời gian mà hành động đó xảy ra

Facebook đã công bố giải thuật EdgeRank như sau:

• u là điểm số quan hệ giữa người xem và người được xem

• w là trọng số cho mỗi hành động

• d là trọng số thời gian mà cạnh được tạo ra

40 Như vậy, mỗi một cạnh sẽ có ba yếu tố quan trọng trong thuật toán của Facebook Đầu tiên, đó là điểm số quan hệ (u) giữa những người xem trạng thái và tác giả của trạng thái đó Nếu bạn gửi cho bạn bè của bạn rất nhiều tin nhắn trên Facebook và thường xem hồ sơ của họ thì bạn sẽ có điểm số ảnh hưởng cao hơn so với người dùng thông thường mà đã lâu rồi bạn không có hành động nào tương tác với họ Điểm số quan hệ này còn thể hiện ở mỗi quan hệ giữa 2 người dùng A và B Người dùng A có thể có vai trò nào đó so với người dùng B (chẳng hạn như vợ, chồng hoặc con , )

Thứ hai, đó là trọng số cho mỗi loại cạnh (w) Các hành động khác nhau thì sẽ có những trọng số cho cạnh khác nhau Ví dụ như là, một hành động mention về một người dùng nào đó thì có trọng số ảnh hưởng cao hơn so với hành động like cũng với người dùng đó Tùy thuộc vào mạng xã hội thực tế mà các hành động này sẽ được đánh các trọng số khác nhau cho các cạnh tới nó

Và cuối cùng, yếu tố rõ ràng nhất là yếu tố thời gian Một cạnh cũ thì sẽ ít quan trọng hơn so với một cạnh mới được thêm vào Điều này thể hiện rõ hơn ở chỗ, một người dùng A có thể thích thú tương tác các hành động của mình đến người dùng B (cập nhật những trạng thái nói về người B hoặc like những hành động của người B , ) trong thời gian cách đây 6 tháng, nhưng hiện tại người dùng A lại ít có tương tác đến người dùng B Do đó mức độ ảnh hưởng của người dùng B đối với người dùng A đã bị suy giảm đi theo yếu tố thời gian Để hiểu một cách cụ thể và thấu đáo hơn Chúng ta xem xét một ví dụ thiết lập trọng số cho cạnh của một đồ thị mạng xã hội

Trong một mạng xã hội, một người dùng A có mối quan hệ với B là anh em, người dùng C có mối quan hệ vợ chồng với người dùng B Người dùng A và người dùng C có mối quan hệ trong một gia đình (em chồng và chị dâu) Có 6 hành động đã xảy ra trong mạng xã hội này là: § Người dùng A like một bức ảnh của người dùng B cách đây 3 ngày § Người dùng A vừa cập nhật một trạng thái mà trong đó có nói về người dùng B (mention) § Người dùng A post lên wall của người dùng B một thông tin cách đây 2 ngày § Người dùng A vừa like một hành động của người dùng C § Người dùng C vừa bình luận vào một cập nhật trạng thái của người dùng B § Người dùng C cũng like một bức ảnh của người dùng B cách đây 3 ngày

41 Như vậy, đồ thị mạng xã hội 3 người dùng A, B, C trên được biểu diễn như hình

Minh họa đồ thị mạng xã hội với những tương tác của người dùng A, B, C Hình 17.

• Điểm số quan hệ anh em là 0.25

• Điểm số quan hệ vợ chồng là 0.4

• Điểm số quan hệ trong gia đình là 0.1

• Trọng số cho hành động mention là 0.5

• Trọng số cho hành động like là 0.4

• Trọng số cho hành động comment là 0.3

• Trọng số cho hành động post đến wall của một người khác là 0.2

Hàm thời gian ta chọn ở đây là d = 1/d' với d' là khoảng cách thời gian mà hành động xảy ra so với hiện tại

Như vậy, giá trị EdgeRank cho cạnh tới từ người dùng A đến người dùng B được tính toán là:

Minh họa đánh trọng số cạnh của EdgeRank Hình 18.

Kết luận

Mặc dù ở thời điểm hiện tại, các độ đo Klout, PROskore, Kred là các độ đo khá thông dụng trên thế giới Hiện nay, các nghiên cứu về độ đo mức độ ảnh hưởng của người dùng trong mạng xã hội đang được tập trung nghiên cứu trong các cộng đồng công nghiệp và học thuật Tuy nhiên chưa có một độ đo nào được công nhận như là một mức độ đo chung cho mức độ ảnh hưởng của người dùng trong mạng xã hội trong học thuật Các độ đo Klout,

43 PROskore, Kred mặc dù đang được sử dụng khá rộng rãi nhưng nó có nhiều hạn chế do chưa công bố chính xác cách thức đo lường mà các độ đo này dựa vào nhằm xác định những người dùng ảnh hưởng

Một cách tiếp cận mà chúng ta có thể đi theo, đó là dựa vào nghiên cứu của [1, 2, 4, 6], các nghiên cứu này đã xây dựng mô hình mạng xã hội thành đồ thị với các nút là người dùng và các cạnh là các ảnh hưởng lan truyền giữa các người dùng Mỗi cạnh này là một cạnh có hướng và được gán nhãn là một chỉ số xác suất lan truyền Từ đó, ta sẽ xác định được độ lan truyền thông tin và tiên đoán được các hành động nào sẽ được lan truyền và chúng sẽ được lan truyền vào thời điểm nào Khi đã xác định được cụ thể đồ thị này rồi thì chúng ta hoàn toàn có thể tìm trên đồ thị người dùng nào là người lan truyền thông tin đi và từ đó xác định ra những người dùng có tầm ảnh hưởng đến người dùng khác trong mạng xã hội

Mạng xã hội có thể được biểu diễn thành một đồ thị, trong đó những người dùng là những nút của đồ thị, các hành động tương tác là các cạnh có hướng của đồ thị Trong nghiên cứu của chúng ta, đề tài sẽ sử dụng mô hình mà [6] đã thiết lập, nhưng nhóm tác giả này chỉ tập trung vào việc tính toán trọng số cho cạnh về việc lan truyền thông tin mà chưa quan tâm đến trọng số của một nút trong đồ thị Để tính toán được mức độ quan trọng của một người dùng trong một mạng xã hội, việc này tương đương với việc xác định độ quan trọng của một nút trong một đồ thị Trong các giải thuật tính toán độ quan trọng của một nút trong một đồ thị thì giải thuật PageRank được google giới thiệu là một giải thuật nổi tiếng dùng để xác định trọng số của các nút trong một mạng liên kết Điểm yếu của nghiên cứu [7] là giải thuật PageRank chỉ xem các cạnh là như nhau và có cùng trọng số là 1, nghiên cứu [6] sử dụng cho việc xác định thông tin lan truyền, nó thiết thực cho các chiến dịch quảng cáo viral hơn là xác định tầm ảnh hưởng của người dùng trong mạng xã hội do [6] xác định các trọng số của cạnh thông qua các hàm phân phối xác suất

Thay vì đi tìm một hàm phân bố xác suất để xác định độ ảnh hưởng, điều này vốn gặp nhiều khó khăn trong xử lý vì dữ liệu thực tế vốn rất lớn Chúng ta có một hướng tiếp cận khác là sử dụng trực tiếp dữ liệu từ mạng xã hội để suy luận ra điểm của người dùng Như mục 3.3 ta đã xem xét đến, các thành phần tham gia vào việc cho điểm của một người dùng trong mạng xã hội, nó không chỉ có "True Reach" mà nó còn có thêm yếu tố "Amplification" Vì vậy, những người dùng có nhiều mối liên hệ khác nhau nên các cạnh biểu diễn tương ứng cũng cần có trọng số khác nhau EdgeRank là một giải thuật nổi tiếng trình bày cách tiếp cận để đánh trọng số các cạnh tương ứng với các mối quan hệ trên các mạng xã hội Đề tài sẽ hiện

44 thực tính toán tìm những người dùng có tầm ảnh hưởng bằng giải thuật PageRank Cải tiến giải thuật PageRank nhằm giúp cho giải thuật này có thể hoạt động được với đồ thị có trọng số Trong đó, trọng số của một cạnh của đồ thị mạng xã hội sẽ được xác định dựa vào giải thuật EdgeRank

Tìm những người dùng có tầm ảnh hưởng

Tìm những người dùng có tầm ảnh hưởng dựa vào giải thuật PageRank

Dựa vào hai định nghĩa và kết quả mà [1, 2, 6] đã nghiên cứu, ta mô hình hoá mạng xã hội thành một đồ thị, trong đó các nút là những người dùng trong mạng xã hội và các cạnh là các hoạt động tương tác của người dùng trong mạng xã hội, các cạnh này là các cạnh có hướng đặc trưng cho hướng lan truyền từ một nút trong mạng xã hội Tuy nhiên, nghiên cứu của [6] chỉ tập trung vào giá trị của cạnh, tức là xác suất lan truyền của các hành động trên mạng xã hội, nghiên cứu [6] đã không xét đến giá trị của một nút trong đồ thị mạng xã hội, nghiên cứu này đã không cho thấy được mức độ khác nhau giữa các nút trong đồ thị mạng xã hội, cũng chính là mức độ ảnh hưởng mà đề tài nghiên cứu của chúng ta đang nhắm đến Để xác định những người dùng có tầm ảnh hưởng trong mạng xã hội, ta sẽ thiết lập đồ thị mối quan hệ giữa các người dùng trong mạng xã hội Dựa vào công thức Larry Page, ta xây dựng đồ thị cho mạng xã hội Trong đó, những người dùng sẽ là các nút của đồ thị, các hành động như like, comment sẽ là các cạnh tới của đồ thị Do ở đây, PageRank chỉ xem xét các cạnh có trọng số như nhau là 1, ta đơn giản chỉ cân thiết lập mối quan hệ cạnh tới từ một người dùng A đến một người dùng B Dựa vào đồ thị, xác định được các giá trị trọng số của từng nút

Cho một social network có 4 người dùng là A, B, C, D Các hành động xảy ra trên mạng xã hội như sau:

User D like ảnh của user B User D comment vào trạng thái của user A User D comment vào ảnh của user C User B like một trạng thái nào đó của user A User B comment vào album ảnh của user C User C comment vào trạng thái của user A Như vậy, dựa vào các thông tin nêu trên, ta thiết lập nên một đồ thị chưa có trọng số như sau:

46 Ví dụ đồ thị mạng xã hội chưa có trọng số

Dựa vào đồ thị tao thiết lập được hệ phương trình tuyến tính sau:

Giải hệ phương trình tuyến tính này ta được kết quả:

UR(D): 0 (vì D là nút không có cạnh tới nó nên giá trị nó phải là nhỏ nhất) UR(B): 1/12

Kết hợp giữa PageRank và EdgeRank

Dựa vào 2 giải thuật PageRank và EdgeRank mà chúng ta đã phân tích ở Chương 3

Chúng ta sẽ thiết lập mô hình tính toán tổng quát gồm các bước sau: § Bước 1: Thiết lập đồ thị mối quan hệ giữa các người dùng trong mạng xã hội Dựa vào công thức Larry Page, ta xây dựng đồ thị cho mạng xã hội Trong đó, những người dùng sẽ là các nút của đồ thị, các hành động như like, comment, wall post, sẽ là các cạnh tới của đồ thị § Bước 2: Thiết lập giá trị EdgeRank cho mỗi cạnh của đồ thị Chọn lựa các trọng số cho các hành động, trọng số cho mối quan hệ người dùng và lựa chọn hàm thời gian phù hợp Ở đây, học viên tạm chọn hàm 1/d' (với d' là độ lệch thời gian mà hành động xảy ra so với thời điểm hiện tại) § Bước 3: Xây dựng đồ thị có trọng số Từ bước 1 và bước 2 ở trên, chúng ta sẽ thiết lập được đồ thị có trọng số dựa vào giải thuật PageRank và EdgeRank

Việc sử dụng thuật giải Larry Page dựa trên các yếu tố sẵn có trong mạng xã hội nhằm giúp cho việc tính toán phát hiện người dùng có sự ảnh hưởng đến người dùng khác trong mạng xã hội chính xác hơn, phù hợp với người dùng hơn Bên cạnh đó, chúng ta kết hợp với giải thuật EdgeRank làm tăng thêm độ chính xác đối với quá trình tính toán

Ví dụ minh họa cách xác định UserRank của người dùng bằng cách kết hợp PageRank và EdgeRank:

Cho một social network có 4 người dùng là A, B, C, D Các hành động xảy ra trên mạng xã hội như sau:

User D has interacted with various users recently, including liking user B's photo 12 days ago, mentioning user A 16 days ago, liking and commenting on user A's photo 6 days ago, commenting on user C's photo 8 days ago, and liking user C's photo 9 days ago.

User B mention user A cách đây 4 ngày

User B like album ảnh của user C cách đây 15 ngày User B wall post user C cách đây 10 ngày

User C comment vào trạng thái của user A cách đây 4 ngày

48 Dựa vào các thông tin nêu trên, ta thiết lập một đồ thị chưa có trọng số như sau:

Ví dụ minh họa đồ thị với các hành động tương tác Hình 20.

Giả sử chọn trọng số cho các action: mention là 4, like là 3, comment là 2, wall post là 1 Xét các mối quan hệ chỉ là bạn và có giá trị là 1 Dựa vào các thông tin trên, ta xác định giá trị EdgeRank cho mỗi cạnh như hình

Ví dụ minh họa tính trọng số của EdgeRank Hình 21.

Ta tính toán lại trọng số cho cạnh, đồ thị sau khi mô hình hóa:

C A men tion comment like mention like comment like co mme nt like wall post

49 Ví dụ minh họa kết quả cuối cùng đánh trọng số

Ta thấy rằng, user D là nút mà không hề có cạnh tới nó (tức không được bất cứ người nào like), D sẽ được gán giá trị là 1 / tổng_số_nút ( tức bằng 1 / 4 là 0.25) Giá trị của user D sẽ được gán lại bằng 0 sau khi ta tính được các nút là ẩn số Đối với user B, có 1 cạnh tới nó, cạnh tới nó xuất phát từ nút D, cạnh tới này có trọng số là 3/23 nên ta có:

23UR(D) Đối với user C, có 2 cạnh tới nó xuất phát từ nút B và D Cạnh tới xuất phát từ nút B có trọng số là 3/13 và cạnh tới xuất phát từ nút D có trọng số là 7/23 Chúng ta có phương trình của nút C là:

13UR(B) Đối với user A, có 3 cạnh tới nó xuất phát từ nút B, C, D Cạnh tới từ nút D có trọng số là 13/23, cạnh tới từ nút B có trọng số là 10/13, cạnh tới từ nút C có trọn số là 1 Do đó, ta có phương trình của nút A là:

13UR(B)+ UR(C) Vì user D ta đã biết giá trị của nó là 0.25 rồi, nên ta sẽ có hệ phương trình 3 ẩn:

50 Giải hệ phương trình tuyến tính này ta được kết quả:

UR(D): 0 (vì D là nút không có cạnh tới nó nên giá trị nó phải là nhỏ nhất) UR(B): 0.0326

Kiến trúc của hệ thống

Hệ thống bao gồm 3 module là: Module tạo các liên kết giữa những người dùng, module tính trọng số EdgeRank, module tính trọng số UserRank

Các module chính của hệ thống Hình 23.

4.3.1 Các module chính c ủ a h ệ th ố ng

1) Module tạo các liên kết giữa các người dùng từ dữ liệu Module này bao gồm hai chức năng chính đó là:

- Kết nối với cơ sở dữ liệu - Tạo bảng quan hệ người dùng: action và thời gian

Calculate UserRank Create user connections

51 Module tạo các liên kết giữa các người dùng từ dữ liệu

2) Module tính toán trọng số liên kết của người dùng Module này bao gồm hai chức năng chính đó là:

- Lựa chọn các yếu tố quyết định cho tính toán

- Lựa chọn có xử dụng Edgerank hay không Nếu có thì tính toán tất cả các cạnh thành 1 cạnh

Module tính toán trọng số liên kết của người dùng Hình 25.

3) Module tính trọng số ảnh hưởng Module này bao gồm 2 chức năng chính là:

- Tạo hệ phương trình tuyến tính - Giải hệ ra kết quả

Choose Action (Like, Comment or Post wall)

Determine to use EdgeRank or not

52 Module tính trọng số ảnh hưởng

4.3.2 T ươ ng tác gi ữ a các module trong h ệ th ố ng

Tương tác giữa các module trong hệ thống Hình 27.

Module "Tạo kết nối giữa người dùng" thiết lập mối quan hệ giữa những người dùng trong mạng xã hội từ cơ sở dữ liệu Kết quả này cung cấp cho module "Tính EdgeRank" để xác định giá trị EdgeRank của các cạnh trong đồ thị xã hội Cuối cùng, module "Tính UserRank" tính toán giá trị ảnh hưởng cụ thể của từng người dùng.

Create System of Linear Equations

Resolve System of Linear Equations

Module create connections between users

Hiện thực hệ thống

4.4.1 Xây d ự ng đồ th ị có h ướ ng d ự a vào t ậ p d ữ li ệ u

Bước đầu tiên, từ một cơ sở dữ liệu mạng xã hội, chúng ta xây dựng nên một đồ thị

Trong đó, các nút của đồ thị đại diện cho những người dùng trong mạng xã hội Các cạnh đại diện cho các hành động tương tác giữa những người dùng

Input: Tập hợp U = { u 1 , u 2 , u 3 , u n }, u i là người dùng thứ i trong mạng xã hội

Output: Một tập hợp RelatedUser các cạnh tới, mỗi cạnh có hướng là các hành động tương tác của người dùng, hành động này bao hàm cả thời gian

Hàm createSetOfRelatedUser tạo nên một tập hợp các cạnh có hướng giữa những người dùng trong mạng xã hội Hàm này thực hiện duyệt qua tất cả các người dùng trong mạng xã hội, từ người dùng đầu tiên đến người dùng thứ n Nếu như có một cạnh tới nào đó từ người dùng khác đến người dùng đang xét thì tiến hành lưu lại cạnh tới vào tập kết quả

Mỗi cạnh hướng đến lưu trữ thời điểm hành động diễn ra cùng loại hành động (nhắc đến, thích, bình luận, ) Mục tiêu xây dựng tập cạnh hướng đến nhằm hỗ trợ tính toán thuật toán PageRank ở các bước tiếp theo.

Procedure createSetOfRelatedUser: for i = 1 to n do for j = 1 to n do if action (j, i) ≠ null then deltaTime = getDeltaTime(); actionKind = getAction(); add link(j,i, actionKind, deltaTime) to RelatedUser end if end end end Procedure

The CalculateEdgeRank procedure calculates an EdgeRank value for a relationship between two users, `i` and `j` It iterates through actions between the users, considering the action type, the time since the action occurred, and the relationship between the users Each action is assigned a weight based on these factors The EdgeRank is then calculated by summing the weighted actions and adding the result to the RelatedUserWithEdgeRank list.

4.4.2 Tính toán tr ọ ng s ố cho các c ạ nh c ủ a đồ th ị

Sau khi đã tiến hành xây dựng được đồ thị xã hội với những người dùng là các nút trong đồ thị và các hành động là các cạnh có hướng Ta tính toán giá trị trọng số cho từng cạnh có hướng của đồ thị xã hội này

1) Tính giá trị EdgeRank của một cạnh

Tập hợp L i,j = { l i,j,1 , l i,j,2 , l i, j,3 , l i,j,n } lưu trữ các cạnh được tạo bởi người dùng thứ "i" hướng đến người dùng thứ "j" Mỗi cạnh bao gồm thông tin về loại hành động đã thực hiện và khoảng thời gian kể từ khi hành động đó xảy ra.

Output: Một tập hợp các cạnh tới trong đó mỗi cạnh tới có chứa giá trị EdgeRank được tính dựa vào các trọng số hành động và thời gian tương ứng

Hàm CalculateEdgeRank thực hiện tính toán trọng số EdgeRank của một cạnh trong đồ thị xã hội Dựa vào công thức của EdgeRank mà học viên đã trình bày ở Chương 3, hàm này sẽ lần lượt lấy giá trị của các tham số đầu vào trong công thức EdgeRank Hàm sẽ duyệt tất cả các cạnh tới đã được lưu trữ trong tập RelatedUser, mỗi cạnh sẽ tính giá trị EdgeRank của nó Sau đó tính tổng giá trị EdgeRank của một cạnh tới từ người dùng thứ i đến người dùng thứ j Kết quả EdgeRank cuối cũng sẽ được lưu vào tập RelatedUserWithEdgeRank, tập này sẽ được dùng để tính toán lại giá trị trọng số của cạnh cho phù hợp với giải thuật PageRank

2) Tính trọng số của cạnh dựa trên tổng backlink Dựa vào tập hợp các cạnh tới, mối cạnh có chứa giá trị EdgeRank của nó Ta tiến hành tính toán lại giá trị trọng số đúng của nó dựa trên tổng backlink

Input: Một tập hợp Le i,j = { le i, j,1 , le i,j,2 , le i,j,3 , le i,j,n }, Le i, j bao gồm các cạnh tới kèm với giá trị EdgeRank của mỗi cạnh

Output: Một tập hợp các cạnh với trọng số EdgeRank đã được chia lại theo đúng tỉ lệ

Hàm CalculateEdgeWeight có nhiệm vụ là tính toán lại giá trị trọng số của một cạnh từ giá trị EdgeRank sẵn có dựa trên tổng backlink đến cạnh đó Đầu tiên, hàm sẽ tính giá trị tổng cộng toàn bộ EdgeRank của các cạnh mà xuất phát từ một nút trong đồ thị xã hội Sau khi có được giá trị tổng trọng số này, chúng ta sẽ tính lại giá trị trọng số thực sự cho từng cạnh của đồ thị xã hội Giá trị của từng cạnh sẽ bằng giá trị EdgeRank của cạnh đó chia cho tổng trọng số Kết quả sẽ được lưu lại trong một tập hợp RelatedUserWithEdgeWeight, tập này sẽ được sử dụng vào quá trình tính toán sau cùng nhằm xác định giá trị ảnh hưởng của người dùng trong mạng xã hội

3) Xây dựng hệ phương trình và giải Bước cuối cùng của quá trình tính toán xác định giá trị cụ thể của người dùng có tầm ảnh hưởng trong mạng xã hội là tiến hành giải hệ phương trình Từ một tập hợp các cạnh tới, mỗi cạnh tới có chứa giá trị trọng số cụ thể, ta xây dựng hệ phương trình tuyến tính và giải hệ tìm ra kết quả

Input: Một tập hợp những người dùng và các cạnh thể hiện mối liên hệ giữa những người dùng trong mạng xã hội kèm trọng số cho mỗi cạnh

Procedure CalculateEdgeWeight: sum = 0 for i = 1 to n do for k = 1 to số_cạnh_liên_kết do sum = sum + edgerank_of_k end add tổng_trọng_số(i, sum) end for i = 1 to n do for j = 1 to n do

EdgeWeight = edgerank (i, j) / tổng_trọng_số (j) add link(i, j, EdgeWeight) to RelatedUserWith EdgeWeight end end end Procedure

Det_Mx = det(Mx); for i = 1 to n

UserRank(i) = Det_Mi / Det_Mx; end end Procedure

Output: Kết quả giá trị hạng của từng người dùng

Hàm CalculateUserRank thực hiện chức năng xây dựng hệ phương trình tuyến tính và giải Cụ thể hơn là nó xây dựng nên một ma trận vuông với số chiều bằng với số lượng người dùng cần xác định giá trị của mức độ ảnh hưởng Hàm này sẽ tính toán cụ thể hơn dựa trên giải thuật Cramer, tính định thức của ma trận vuông này và xác định giá trị ảnh hưởng cụ thể của những người dùng

4.4.3 Ứ ng d ụ ng minh h ọ a Để minh họa các giải thuật trên, học viên đã hiện thực một chương trình mẫu Chương trình bào gồm các control như:

• Checkbox action like: cho phép người dùng có lựa chọn sử dụng yếu tố action like hay không

• TextField weight of action like: cho phép thiết lập trọng số action like nếu có sử dụng action like

• Checkbox action comment: cho phép người dùng có lựa chọn sử dụng yếu tố action comment hay không

• TextField weight of action comment: cho phép thiết lập trọng số action comment nếu có sử dụng action comment

• Checkbox wall post: cho phép người dùng có lựa chọn sử dụng yếu tố action wall post hay không

• TextField weight of action wall post: cho phép thiết lập trọng số action wall post nếu có sử dụng action wall post

• Checkbox use EdgeRank: cho phép người dùng có lựa chọn sử dụng giải thuật EdgeRank hay không Nếu không lựa chọn thì chương trình chỉ thực hiện giải thuật PageRank, lúc đó các cạnh sẽ có trọng số như nhau là 1

• Button Run: thực hiện tính toán giải thuật

Minh họa ứng dụng tìm tầm người dùng có tầm ảnh hưởng Hình 28.

Đánh giá kết quả

Cách xây dựng tập dữ liệu thí nghiệm

Để xây dựng tập dữ liệu thí nghiệm Học viên chọn lựa một mạng xã hội của một công ty Trong đó, những người dùng thuộc mạng xã hội là nhân viên của công ty Các hành động xảy ra trên mạng xã hội này là hành động chia sẻ thông tin các nhân của một nhân viên cho các nhân viên khác (có thể là chia sẻ hình ảnh, album, cập nhật trạng thái), hoặc là hành động thích một hành động nào đó của một nhân viên này với một nhân viên khác của công ty trên mạng xã hội Ngoài ra, nhân viên có thể bình luận vào các cập nhật trạng thái của nhân viên khác, viết bình luận lên tường của nhân viên khác, Bên cạnh đó, các hành động này đều được lưu lại thời gian mà hành động diễn ra Việc này rất thích hợp cho chúng ta trong quá trình tính toán giải thuật EdgeRank

Lược đồ ERD cơ sở dữ liệu của mạng xã hội công ty Hình 29.

Kết quả thực nghiệm

Mạng xã hội thí nghiệm chỉ hỗ trợ các hành động như: like, comment, wall post nên ta thực hiện tính toán dựa trên các hành động này Chọn giá trị cho các trọng số lần lượt: action like là 0.5, action comment là 0.33 và action wall post là 0.17

Mạng xã hội này chỉ có quan hệ bạn và không là bạn, nên giá trị mối quan hệ giữa các người dùng ta chọn là 1 nếu có quan hệ bạn, nếu không có quan hệ bạn thì giá trị là 0

Hàm thời gian là 1/d' trong đó d' là độ lệch thời gian tính theo ngày

5.2.1 Thí nghi ệ m không s ử d ụ ng gi ả i thu ậ t EdgeRank

Như đã trình bày ở Chương 4, các bước để xác định những người dùng có tầm ảnh hưởng trong mạng xã hội đã được nêu rõ Đầu tiên, chúng ta sử dụng thuật toán PageRank để thực hiện việc xác định này.

Phần kết hợp thêm với giải thuật EdgeRank sẽ được trình bày ở mục 5.2.2

1) Chỉ sử dụng yếu tố like:

Trước tiên, ta tiến hành chạy giải thuật xác định người dùng có tầm ảnh hưởng trong mạng xã hội chỉ dựa trên hành động like của những người dùng trong mạng xã hội Nếu như không xét đến giá trị trọng số của một cạnh thì đơn giản giữa hai người dùng A và B, người dùng A chỉ là có cạnh có hướng đến người dùng B hay không Do vậy đồ thị liên kết giữa những người dùng đơn giản chỉ là một đồ thị bao gồm các nút và các cạnh có hướng

60 Đồ thị không sử dụng EdgeRank và chỉ sử dụng yếu tố like

Hình 30. Đồ thị sắp thứ hạng không sử dụng EdgeRank và chỉ sử dụng yếu tố like Hình 31.

Trong hình 30, chúng ta thấy được rằng, khi chỉ xét đến yếu tố like trong mạng xã hội, những người dùng có tầm ảnh hưởng được phân bố khá là rõ rệt Những người dùng có tầm ảnh hưởng có giá trị cao hơn rõ rệt so với những người dùng không có sự ảnh hưởng đến những người dùng khác Những người dùng có id là 4, 40, 41, 18 là những người dùng có giá trị vượt cao hơn hẳn Quan sát kết quả của hình 31, đồ thị sắp thứ hạng khi không sử dụng giải thuật EdgeRank và chỉ sử dụng yếu tố like, ta thấy được nhánh kết quả rõ rệt ở người dùng có id 41 và người dùng có id 4 Kể từ người dùng số 18 trở về bên phải của đồ thị, giá trị thứ hạng của người dùng giảm và hàm giảm khá đều Kết quả này nói lên rằng, người dùng có id 41 có ảnh hưởng khá là mạnh trong mạng xã hội, số cạnh tới người dùng 41 là vượt trội hơn so với những người dùng khác, giá trị của người dùng 41 gấp đôi so với giá trị của người dùng 18 Đối với người dùng 4 thì mức độ ảnh hưởng cũng tương đối lớn so với những người dùng từ 18 trờ về bên phải

2) Chỉ sử dụng yếu tố comment

Tiếp theo, ta tiến hành chạy giải thuật xác định người dùng có tầm ảnh hưởng trong mạng xã hội chỉ dựa trên hành động comment của những người dùng trong mạng xã hội Nếu như không xét đến giá trị trọng số của một cạnh thì đơn giản giữa hai người dùng A và B, người dùng A chỉ là có cạnh có hướng đến người dùng B hay không Do vậy đồ thị liên kết giữa những người dùng đơn giản chỉ là một đồ thị bao gồm các nút và các cạnh có hướng

Đồ thị minh họa thứ hạng không sử dụng EdgeRank mà chỉ sử dụng yếu tố bình luận So sánh với đồ thị sử dụng EdgeRank ở Hình 32, đồ thị ở Hình 33 cho thấy thứ hạng bài đăng giảm rõ rệt theo thời gian Điều này có nghĩa là bình luận có ảnh hưởng lớn đến thứ hạng bài đăng trong trường hợp không có EdgeRank.

Trong hình 32, chúng ta thấy được rằng, khi chỉ xét đến yếu tố comment trong mạng xã hội, giá trị ảnh hưởng của những người dùng có tầm ảnh hưởng được phân bổ khá chi tiết

Có nhiều người dùng có giá trị rõ ràng hơn, điều này đơn giản cũng dễ hiểu vì trong một mạng xã hội, số hành động comment bao giờ cũng nhiều hơn so với các hành động khác

62 Hành động comment là một hành động khá đặc trưng trong mạng xã hội mà hầu như người dùng nào cũng có tham gia vào Chính vì vậy, số cạnh tới của đồ thị xã hội của chúng ta nhiều hơn Những người dùng có id từ 112 đến 132 là những người dùng ít có sự ảnh hưởng trong mạng xã hội này, đơn giản có lẽ do các hoạt động comment đến những người dùng này ít được thực hiện Quan sát kết quả của hình 33, đồ thị sắp thứ hạng khi chúng ta không sử dụng giải thuật EdgeRank và chỉ sử dụng yếu tố comment, người dùng có id 41, 40 và 18 là những người dùng có giá trị ảnh hưởng cao nhất Đồ thị này có hàm giảm tương đối đều, kết quả này cũng nói lên rằng, người dùng có id 41 vẫn là người dùng có tầm ảnh hưởng tương đối mạnh so với những người dùng khác trong mạng xã hội

3) Chỉ sử dụng yếu tố wall post

Kế tiếp, ta tiến hành chạy giải thuật xác định người dùng có tầm ảnh hưởng trong mạng xã hội chỉ dựa trên hành động wall post của những người dùng trong mạng xã hội Nếu như không xét đến giá trị trọng số của một cạnh thì đơn giản giữa hai người dùng A và B, người dùng A chỉ là có cạnh có hướng đến người dùng B hay không Do vậy đồ thị liên kết giữa những người dùng đơn giản chỉ là một đồ thị bao gồm các nút và các cạnh có hướng Đồ thị kết quả không sử dụng giải thuật EdgeRank và chỉ sử dụng yếu tố wall post Hình 34.

Khi loại bỏ thuật toán EdgeRank và chỉ sử dụng yếu tố bài đăng trên tường, đồ thị thứ hạng cho thấy người dùng 107 dẫn đầu rõ rệt Người dùng 4 và 40 vẫn nằm trong top 10 người dùng có ảnh hưởng nhất nhưng sự phân bổ giá trị ảnh hưởng không đồng đều, các giá trị cách biệt khá xa nhau Điều này cho thấy giá trị của bài đăng trên tường, do ít được người dùng tham gia, tạo ra kết quả khác biệt Hành động này đóng vai trò bổ trợ trong việc đánh giá mức độ ảnh hưởng của người dùng trên mạng xã hội.

4) Sử dụng tất cả các yếu tố

Cuối cùng, ta tiến hành chạy giải thuật xác định người dùng có tầm ảnh hưởng trong mạng xã hội chỉ dựa trên tất cả các hành động của những người dùng trong mạng xã hội (xét hành động like, comment và wall post) Nếu như không xét đến giá trị trọng số của một cạnh thì đơn giản giữa hai người dùng A và B, người dùng A chỉ là có cạnh có hướng đến người dùng B hay không Các hành động like, comment và wall post là như nhau, chỉ cần có bất kỳ một hành động nào trong các hành động like, comment, wall post thì một cạnh có hướng sẽ được thiết lập Do vậy đồ thị liên kết giữa những người dùng đơn giản chỉ là một đồ thị bao gồm các nút và các cạnh có hướng

64 Đồ thị kết quả không sử dụng giải thuật EdgeRank và sử dụng tất cả các yếu tố Hình 36. Đồ thị sắp thứ hạng không sử dụng EdgeRank và sử dụng tất cả các yếu tố Hình 37. Ở kết quả hình 36, khi chúng ta xét tất cả các yếu tố mà những người dùng trong mạng xã hội thực hiện, đồ thị kết quả phân bố khá rõ, kết quả này tương đối giống so với kết quả mà chúng ta xét khi chỉ sử dụng yêu tố comment, những người dùng có id từ 112 đến 132 vẫn là những người dùng có giá trị ảnh hưởng thấp Điều này tương đối dễ hiểu vì hầu như những người dùng này ít được người khác like, comment hay wall post đến họ Các cạnh tới đến những người dùng từ 112 đến 132 ít, chính vì vậy giá trị ảnh hưởng của họ ít Quan sát hình 37, đồ thị sắp thứ hạng khi không sử dụng giải thuật EdgeRank và sử dụng tất cả các yếu tố hành động tương tác của người dùng trong mạng xã hội, chúng ta thấy rằng đồ thị này phân bố đều, hàm giảm đều theo một nhánh parabol Điều này nói lên rằng: "Khi chúng ta sử dụng tất cả các yếu tố hành động tương tác của những người dùng trong mạng xã hội, mức độ ảnh hưởng được xét rõ hơn và chính xác hơn" Người dùng có giá trị 4, 41, 40, 18 là những người dùng có sự ảnh hưởng rõ rệt trong mạng xã hội khi chúng ta xét một cách tổng thể

5.2.2 Thí nghi ệ m s ử d ụ ng gi ả i thu ậ t EdgeRank Ở mục này, chúng ta sẽ xét thêm giá trị trọng số của một cạnh trong đồ thị mạng xã hội Giá trị trọng số của một cạnh sẽ được xác định bởi công thức EdgeRank mà trong Chương 3 học viên đã trình bày, hiện thực hóa thuật toán để xác định lại trọng số của cạnh cho phù hợp khi chúng ta kết hợp giữa PageRank và EdgeRank mà học viên đã trình bày trong Chương 4

1) Chỉ sử dụng yếu tố like

Đánh giá

5.3.1 Độ chính xác Để tiến hành đánh giá độ chính xác của giải thuật Học viên đã xây dựng một tập kết quả mẫu do những người dùng thường xuyên tham gia vào mạng xã hội này Chọn ra 10 nhóm ngẫu nhiên, mỗi nhóm gồm 5 người dùng thuộc mạng xã hội này và đem tập dữ liệu mẫu này cho những người dùng thường xuyên tham gia vào mạng xã hội này đánh giá độ quan trọng của những người dùng trong nhóm

• Cột user là người dùng trong nhóm

• Cột rank là thứ hạng do những người dùng thường xuyên tham gia vào mạng xã hội này đưa ra đánh giá mức độ quan trọng

• Cột not ER là thứ hạng mà giải thuật không sử dụng cách đo trọng số cạnh EdgeRank và dựa trên tất cả các yếu tố tương tác

• Cột ER là thứ hạng mà giải thuật sử dụng cách đo trọng số cạnh EdgeRank và dựa trên tất cả các yếu tố tương tác

Group 1 Group 2 user rank not ER ER user rank not ER ER anhdtk(40) 1 3 12 tienlv(18) 1 4 4 duypnq(109) 2 13 23 linhvtt(3) 2 16 38 vinhtd(94) 3 25 27 vanla(84) 3 12 21 minhnc(49) 4 22 33 thult(134) 4 30 20 ryan(87) 5 24 24 nhittb(11) 5 17 29

Group 3 Group 4 user rank not ER ER user rank not ER ER longlt(38) 1 37 9 thoqt(108) 1 33 36 anhtv(15) 2 7 13 lichbt(50) 2 48 37 viptt(5) 3 54 47 tiennpl(60) 3 36 40 baotq(54) 4 35 31 trunglt(137) 4 56 58 trucptm(70) 5 42 51 bbcat(117) 5 62 76

Group 5 Group 6 user rank not ER ER user rank not ER ER phongbn(37) 1 10 14 minhntk(71) 1 8 5 ninhdh(57) 2 38 46 phutt(90) 2 32 35 myhuyen(7) 3 90 85 mainv(82) 3 41 10 thuylt(103) 4 52 55 huynha(21) 4 34 32 vunh(31) 5 39 41 daotta(89) 5 40 49

Group 7 Group 8 user rank not ER ER user rank not ER ER vitor.ramirez

(104) 1 19 7 khailn(19) 1 18 8 nghieptt(101) 2 9 15 thaont(46) 2 11 19 anhnht(33) 3 27 30 duyduy(16) 3 26 17 thonh(2) 4 5 27 thanhnt(26) 4 21 43 binhnth(59) 5 15 25 quanpt(63) 5 58 67

Group 9 Group 10 user rank not ER ER user rank not ER ER binhpv(41) 1 2 2 hoana(4) 1 1 1 haodv(52) 2 6 3 gamnh(56) 2 31 22 kienlt(6) 3 14 26 binhbd(107) 3 50 45 nghintt(111) 4 46 54 namnv(42) 4 29 18 hungnq(93) 5 23 44 linhlhd(86) 5 20 16

Bảng 2 Các kết quả so sánh

73 Để tính độ chính xác, ta chọn ra 2 người dùng và đem đi so sánh, nếu kết quả đúng với đánh giá của người dùng thì trường hợp đó được xét là đúng Độ chính xác = số trường hợp so sánh đúng / tổng số trường hợp so sánh 2 phần tử

Tập đánh giá Độ chính xác

Group 10 50% Độ chính xác trung bình 72%

Bảng 3 Độ chính xác khi không sử dụng EdgeRank

Tập đánh giá Độ chính xác

Group 10 50% Độ chính xác trung bình 77%

Bảng 4 Độ chính xác khi sử dụng EdgeRank

Ở đây, học viên xin giải thích chi tiết hơn về cách đánh giá Lấy ví dụ là Group 8 trong kết quả đánh giá độ chính xác, do chúng ta lấy 2 trong 5 phần tử ra để so sánh nên chúng ta có tổ hợp 2 phần tử trong 5 phần tử để so sánh, tức là có 10 trường hợp so sánh.

Cặp so sánh Người dùng đánh giá Độ chính xác khi không sử dụng

EdgeRank Độ chính xác khi sử dụng EdgeRank khailn(19) và thaont(46) rank 1 > rank 2 rank 18 > rank 11

(Sai) rank 8 > rank 19 (Đúng) khailn(19) và duyduy(16) rank 1 > rank 3 rank 18 > rank 26

(Đúng) rank 8 > rank 17 (Đúng) khailn(19) và thanhnt(26) rank 1 > rank 4 rank 18 > rank 21

(Đúng) rank 18 > rank 43 (Đúng) khailn(19) và quanpt(63) rank 1 > rank 5 rank 18 > rank 58

(Đúng) rank 18 > rank 67 (Đúng) thaont(46) và duyduy(16) rank 2 > rank 3 rank 11 > rank 26

(Đúng) rank 19 > rank 17 (Sai) thaont(46) và thanhnt(26) rank 2 > rank 4 rank 11 > rank 21

(Đúng) rank 19 > rank 43 (Đúng) thaont(46) và quanpt(63) rank 2 > rank 5 rank 11 > rank 58

(Đúng) rank 19 > rank 67 (Đúng) duyduy(16) và thanhnt(26) rank 3 > rank 4 rank 26 > rank 21

(Sai) rank 17 > rank 43 (Đúng) duyduy(16) và quanpt(63) rank 3 > rank 5 rank 26 > rank 58

(Đúng) rank 17 > rank 67 (Đúng) thanhnt(26) và quanpt(63) rank 4 > rank 5 rank 21 > rank 58

(Đúng) rank 43 > rank 67 (Đúng) Độ chính xác 8 đúng/10 = 80% 9 đúng/10 = 90%

Bảng 5 Bảng mô tả chi tiết cách đánh giá độ chính xác

75 Như vậy, khi không sử dụng giải thuật EdgeRank, độ chính xác chúng ta đạt được là 72% so với kết quả mà người dùng đánh giá Kết quả này mặc dù không thực sự quá cao nhưng nó vẫn tương đối tốt Do sự đánh giá của người dùng cũng mang tính chất chủ quan, đối với những người dùng thân thiết với người dùng đưa ra kết quả đánh giá thì những người dùng đó có giá trị cao hơn so với kết quả của chúng ta Tuy nhiên, đối với những người dùng thực sự có mức độ ảnh hưởng rõ rệt thì kết quả của chúng ta hoàn toàn trùng khớp so với kết quả mà người dùng đánh giá Đối với độ chính xác khi chúng ta sử dụng thêm giải thuật EdgeRank, chúng ta thấy được rằng độ chính xác đã tăng thêm 5% so với khi chúng ta không sử dụng giải thuật EdgeRank Ở group 4 thì độ chính xác đã đạt được 100%, hoàn toàn trùng với kết quả mà người dùng đánh giá Do đó, sự kết hợp thêm giải thuật EdgeRank đã làm tăng thêm tính hiệu quả với yếu tố thời gian trong đó Sự đánh giá của người dùng là ở thời điểm hiện tại Do đó, khi xét thêm yếu tố thời gian, độ chính xác đã tăng lên, kết quả phù hợp hơn so với người dùng đánh giá

Trong quá trình tiến hành thí nghiệm của học viên, các trọng số và hàm thời gian là do học viên đề xuất Chính vì vậy, chúng ta có thể cải thiện thêm độ chính xác ở đây bằng cách suy ngược lại từ kết quả đánh giá của người dùng nhằm xác định được các trọng số của các hành động tương tác trên mạng xã hội Chúng ta có thể chạy lại nhiều lần giải thuật với các giá trị trọng số khác nhau của các hành động tương tác cho đến khi kết quả của chúng ta có độ chính xác gần xấp xỉ so với kết quả đánh giá của người dùng Hàm thời gian cũng là một yếu tố quan trọng để chọn lựa, lựa chọn hàm thời gian như thế nào để phù hợp hơn với sự tác động của các hành động của mạng xã hội

Chúng tôi cũng tiến hành đo thời gian đáp ứng hệ thống để theo dõi sự nhanh chậm trong quá trình chạy giải thuật tìm người dùng có tầm ảnh hưởng trong mạng xã hội Thời gian đáp ứng hệ thống được tính từ lúc chương trình kết nối vào cơ sở dữ liệu và xây dựng thành đồ thị xã hội liên kết, tạo các nút và các cạnh của đồ thị, thực hiện giải thuật tìm người dùng và tính toán ra giá trị Chúng tôi tiến hành đo thời gian xử lý với 139 người dùng của mạng xã hội thí nghiệm, hệ thống chạy chương trình sử dụng CPU Core 2 Duo tốc độ 2.4 GHz, Ram 8Gb Bảng 5 thể hiện thời gian chạy của chương trình ứng với các trường hợp xử dụng các yếu tố tương tác khác nhau và có xử dụng giải thuật EdgeRank hay không Trong Bảng 5 thời gian chạy khi có sử dụng giải thuật EdgeRank tăng không đáng kể Thời gian nếu chúng ta xử dụng cách chọn tất cả các yếu tốt để xét trong xử lý thuật toán EdgeRank gần xấp xỉ bằng thời gian không xử dụng giải thuật EdgeRank Kết quả này cho thấy ta có thể áp dụng thực tế kết hợp thêm giải thuật EdgeRank nhằm cải tiến giải thuật PageRank để tăng thêm độ chính xác mà không ảnh hưởng nhiều đến thời gian thực hiện của giải thuật

Không sử dụng giải thuật

Có sử dụng giải thuật EdgeRank

Bảng 6 Tốc độ chạy của chương trình

Ngày đăng: 24/09/2024, 13:39

HÌNH ẢNH LIÊN QUAN

Đồ thị mà nhóm tác giả mô hình là đồ thị mà các nút là các nhà nghiên cứu mà có ít  nhất  có  một  bài  báo  có  cùng  tác  giả  trong  cơ  sở  dữ  liệu  của  arXiv - Luận văn thạc sĩ Khoa học máy tính: Tìm những người dùng có tầm ảnh hưởng trong mạng xã hội
th ị mà nhóm tác giả mô hình là đồ thị mà các nút là các nhà nghiên cứu mà có ít nhất có một bài báo có cùng tác giả trong cơ sở dữ liệu của arXiv (Trang 24)
Bảng 1.  Hiệu năng co dãn khác nhau trên tập dữ liệu thực - Luận văn thạc sĩ Khoa học máy tính: Tìm những người dùng có tầm ảnh hưởng trong mạng xã hội
Bảng 1. Hiệu năng co dãn khác nhau trên tập dữ liệu thực (Trang 30)
Bảng 2.  Các kết quả so sánh - Luận văn thạc sĩ Khoa học máy tính: Tìm những người dùng có tầm ảnh hưởng trong mạng xã hội
Bảng 2. Các kết quả so sánh (Trang 85)
Bảng 3.  Độ chính xác khi không sử dụng EdgeRank - Luận văn thạc sĩ Khoa học máy tính: Tìm những người dùng có tầm ảnh hưởng trong mạng xã hội
Bảng 3. Độ chính xác khi không sử dụng EdgeRank (Trang 86)
Bảng 5.  Bảng mô tả chi tiết cách đánh giá độ chính xác - Luận văn thạc sĩ Khoa học máy tính: Tìm những người dùng có tầm ảnh hưởng trong mạng xã hội
Bảng 5. Bảng mô tả chi tiết cách đánh giá độ chính xác (Trang 87)
Bảng 6.  Tốc độ chạy của chương trình - Luận văn thạc sĩ Khoa học máy tính: Tìm những người dùng có tầm ảnh hưởng trong mạng xã hội
Bảng 6. Tốc độ chạy của chương trình (Trang 89)

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w