Chương 3 Khuyến nghị cộng tác dựa trên phân tích mạng xã hộ
3.3. Dữ liệu mạng xã hộ
Như đã đề cập ở phần dẫn nhập (Đề mục 1.1), khai thác mạng xã hội là cách tiếp cận sát với thực tế với nhu cầu nghiên cứu và phát triển hệ khuyến nghị cộng tác. Tuy nhiên
“mạng xã hội”thực chất chỉ là giao diện bên ngoài, tất yếu cần phải đi sâu thêm về khái niệm, hiện thực lưu trữ và khai thác trên các cơ sở lưu trữ dữ liệu.
3.3.1. Định nghĩa
Mạng xã hội là một tập hợp các quan hệ giữa 2 đối tượng bất kỳ thuộc tập hợp, trong phạm vi khóa luận, tập hợp được xét là tập các đối tượng khuyến nghị P. Ví dụ mạng xã hội facebook, giữa 2 người dùng có thể chiết xuất được 2 quan hệ, quan hệ theo dõi (Follow) và quan hệ bạn bè (Friend). Nếu mỗi loại quan hệ có thể ước lượng bằng số, ta có thể xem mạng xã hội thực chất là một không gian đồ thị có hướng với mỗi đồ thị là đồ thị có trọng số biểu diễn một quan hệ (đơn đồ thị) hoặc nhiều quan hệ (đa đồ thị).
3.3.2. Hiện thực lưu trữ, khai thác dữ liệu mạng xã hội
Mạng xã hội là một không gian đồ thị có hướng. Như vậy khai thác và lưu trữ dữ liệu mạng xã hội thực chất là khai thác và lưu trữ đồ thị. Việc lưu trữ đồ thị có thể thực hiện khá đơn giản, ví dụ từ quan hệ bạn bè thể hiện bằng số năm giữa 2 đối tượng khuyến nghị, phân tích và chiết xuất 2 tập hợp là tập đỉnh V (Vertex) và tập cạnh E (Edge). Với quan hệ vô hướng, ta xem như đồ thị 2 chiều với 1 quan hệ tương đương 2 cạnh. Như vậy ta có một đồ thị (Định nghĩa 1.6) biểu diễn quan hệ bạn bè (Hình 2.6).
Tập đỉnh V và tập cạnh E có thể lưu trữ trong các cơ sở dữ liệu quan hệ (RDBMS) hoặc cơ sở dữ liệu đồ thị như Neo4J. Tuy nhiên các giải pháp lưu trữ này khá truyền thống và không phù hợp với nhu cầu đề tài, chúng tôi chọn cách thức lưu trữ khác với khả năng tùy chỉnh thuật toán và mở rộng ngang (Horizontal scale) trên dữ liệu lớn (Đề mục 4.1). Khai thác dữ liệu mạng xã hội thực chất là phân tích và chiết xuất đặc trưng từ đơn đồ thị (1 quan hệ) hoặc đa đồ thị (nhiều quan hệ). Có thể ứng dụng các giải thuật phân tích đồ thị phổ biến như: tìm đường đi ngắn nhất (Dijkstra), phân cụm (Connected Components), xếp hạng trang (PageRank).