Bối cảnh và vấn đề nghiên cứu

Khóa luận tốt nghiệp "Nghiên cứu phương pháp thu thập dữ liệu trong khai phá mạng xã hội" được thực hiện bởi sinh viên Đỗ Huyền Trang (ngành Hệ thống thông tin quản lý, Học viện Ngân hàng, năm 2017) dưới sự hướng dẫn của TS. Đinh Trọng Hiếu. Bối cảnh nghiên cứu xuất phát từ sự bùng nổ mạnh mẽ của Internet và các nền tảng mạng xã hội trong thế kỷ 21. Tính đến đầu năm 2017, toàn cầu có hơn 2,8 tỷ người sử dụng mạng xã hội (chiếm khoảng 37% dân số thế giới, tăng 21% so với năm 2016), chiếm 25% tổng thời gian trực tuyến. Riêng tại Việt Nam, có khoảng 46 đến 48 triệu người (xấp xỉ một nửa dân số) sở hữu tài khoản mạng xã hội và sử dụng trung bình hơn 2 giờ mỗi ngày, với 11 triệu tài khoản tạo mới trong năm 2016. Mỗi phút trôi qua, các nền tảng ghi nhận khoảng 350.000 lượt tweet trên Twitter và 3,3 triệu bài viết trên Facebook. Nguồn dữ liệu này chứa đựng các phản hồi thực tế của khách hàng, cử tri và cộng đồng, tác động trực tiếp đến hoạt động kinh doanh và quản trị rủi ro truyền thông (như vụ việc khủng hoảng truyền thông của Vietcombank năm 2016 làm giảm gần 4.000 tỷ đồng vốn hóa thị trường, hay vụ việc thu hồi sản phẩm của URC chịu phạt 5,812 tỷ đồng).

Khai phá mạng xã hội bao gồm ba giai đoạn chính: thu thập và lưu trữ dữ liệu, xử lý và phân tích dữ liệu, trình bày kết quả và ứng dụng. Trong đó, thu thập dữ liệu là bước khởi đầu quyết định chất lượng toàn bộ quy trình.

Mục tiêu nghiên cứu của khóa luận được xác định cụ thể:

  1. Tìm hiểu, hệ thống hóa cơ sở lý luận về mạng xã hội, quy trình khai phá mạng xã hội và các phương pháp thu thập dữ liệu mạng xã hội phổ biến.
  2. Xây dựng các chương trình thu thập dữ liệu đơn giản bằng ngôn ngữ lập trình Python giao tiếp với các giao diện lập trình ứng dụng (API).
  3. Thực nghiệm thu thập dữ liệu trên hai nền tảng Twitter và Facebook đối với các bài toán minh họa cụ thể, lưu trữ vào hệ quản trị cơ sở dữ liệu và đánh giá kết quả đầu ra.

Đối tượng nghiên cứu của đề tài gồm 5 nội dung chính:

  • Tổng quan về mạng xã hội và ảnh hưởng của mạng xã hội tới thế giới thực.
  • Khái niệm, khả năng, ứng dụng và các kỹ thuật phân tích cơ bản trong khai phá mạng xã hội.
  • Đặc điểm của dữ liệu mạng xã hội và mối liên hệ với dữ liệu lớn (Big Data).
  • Các phương pháp thu thập dữ liệu trực tuyến, trọng tâm là các cổng API trên hai nền tảng Twitter và Facebook.
  • Xây dựng chương trình thu thập dữ liệu giao tiếp với REST API, Search API, Streaming API của Twitter và Graph API của Facebook bằng Python.

Phạm vi nghiên cứu:

  • Không gian dữ liệu: Tập trung nghiên cứu cơ chế và thu thập dữ liệu mẫu trên hai nền tảng mạng xã hội là Twitter và Facebook.
  • Thời gian nghiên cứu: Các số liệu thống kê thị trường và dữ liệu thực nghiệm được thu thập, xử lý trong giai đoạn đầu năm 2017.

Cơ sở lý thuyết và phương pháp

Khóa luận thiết lập nền tảng lý luận dựa trên các khái niệm và mô hình chuẩn trong khoa học máy tính và hệ thống thông tin:

  • Khái niệm Mạng xã hội (Social Network) và Truyền thông xã hội (Social Media): Phân định theo định nghĩa của Andreas Kaplan và Michael Haenlein dựa trên nền tảng Web 2.0, bao gồm các nhóm chức năng: Blogs/Microblogs, Mạng xã hội, Cộng đồng nội dung (Content communities), Dự án hợp tác (Collaborative projects), Thế giới trò chơi ảo và Thế giới xã hội ảo.
  • Quy trình phát hiện tri thức từ dữ liệu (Knowledge Discovery in Databases - KDD): Gồm xác định vấn đề, chuẩn bị dữ liệu (làm sạch, tích hợp, chọn lọc, biến đổi), khai phá dữ liệu (Data mining), đánh giá mẫu (Pattern evaluation) và biểu diễn tri thức (Knowledge presentation).
  • Quy trình khai phá mạng xã hội 6 bước: Xác định nguồn dữ liệu, Trích xuất dữ liệu (Extraction), Làm sạch dữ liệu (Cleaning), Phân tích (Analyzing), Mô hình hóa dữ liệu (Visualization), Giải thích hoặc ứng dụng tri thức (Interpretation/Consumption).
  • Khung phân loại phân tích mạng xã hội: Phân tích dựa trên nội dung (Content-based analysis - khai thác ý kiến, phát hiện xu hướng, phân tích cảm xúc) và Phân tích dựa trên liên kết/cấu trúc (Link/structure-based analysis - mô hình hóa đồ thị $G=(V, E)$, ma trận kề, phân tích mức độ ảnh hưởng, phát hiện cộng đồng).
  • Định nghĩa Dữ liệu lớn (Big Data): Dựa trên mô hình 3V của Doug Laney (2001) gồm Khối lượng (Volume), Tốc độ (Velocity) và Chủng loại (Variety).
  • Phương pháp nghiên cứu được sử dụng trong khóa luận gồm:
    • Phương pháp nghiên cứu tài liệu (nghiên cứu lý thuyết): Thu thập, tổng hợp cơ sở lý luận từ các tài liệu học thuật chuyên ngành.
    • Phương pháp so sánh - đối chiếu: Phân tích điểm khác biệt giữa kỹ thuật thu thập dữ liệu qua API và kỹ thuật bóc tách dữ liệu trang (Web Scraping); đối chiếu cơ chế hoạt động của Twitter API và Facebook Graph API.
    • Phương pháp phân tích thực nghiệm và tổng kết kinh nghiệm: Viết mã nguồn Python, chạy thực nghiệm thu thập dữ liệu thực tế từ máy chủ Twitter và Facebook, đo lường thời gian đáp ứng, đánh giá giới hạn truy vấn và xử lý trực quan hóa.

Nguồn dữ liệu phục vụ nghiên cứu gồm: Dữ liệu tài liệu thứ cấp từ các báo cáo thị trường (We Are Social, Internet Live Stats, Zephoria) và tài liệu kỹ thuật chính thức của Twitter Developer Platform, Facebook for Developers; Dữ liệu sơ cấp được thu thập trực tiếp thông qua các cổng API của Twitter và Facebook (dữ liệu hồ sơ người dùng, bài đăng tweet, dòng thời gian, bài viết Fanpage và bình luận).

Thiết kế và triển khai thực nghiệm

Khóa luận tiến hành thiết kế hệ thống thử nghiệm thu thập và trực quan hóa dữ liệu theo kiến trúc kỹ thuật gồm 3 thành phần chính:

Thành phần Công nghệ / Công cụ sử dụng Vai trò và đặc tả triển khai
Môi trường lập trình Python 3.6 trên IDE Spyder 2.7 (gói phân phối Anaconda) Viết các script kết nối API, gửi yêu cầu HTTP, nhận dữ liệu JSON và phân tích tiền xử lý.
Hệ quản trị cơ sở dữ liệu SQLite Lưu trữ dữ liệu cấu trúc và bán cấu trúc thu thập về dưới dạng một tệp cục bộ (<400KB), không cần cấu hình tài khoản phân quyền phức tạp.
Công cụ trực quan hóa Tableau Visualization Kết nối nguồn dữ liệu từ SQLite/Python để xây dựng các biểu đồ định lượng, bản đồ địa lý, Word Cloud và Dashboard phân tích truyền thông.

Tác giả đã hiện thực hóa 4 chương trình Python phục vụ thu thập dữ liệu chuyên biệt:

  1. Chương trình 1 - Twitter REST API: Nhận đầu vào là screen_name (tên tài khoản người dùng), thực hiện xác thực OAuth 1.0 (sử dụng 4 khóa: Consumer Key, Consumer Secret, Access Token, Access Token Secret) để trích xuất toàn bộ thông tin hồ sơ và tối đa 3.200 bản ghi tweet lịch sử trên dòng thời gian của tài khoản.
  2. Chương trình 2 - Twitter Search API: Nhận đầu vào là từ khóa tìm kiếm (kèm tùy chọn ngôn ngữ, khoảng thời gian), trả về tập hợp các bản ghi tweet gần nhất (trong phạm vi 6-10 ngày) chứa từ khóa chỉ định kèm thông tin người đăng.
  3. Chương trình 3 - Twitter Streaming API: Nhận đầu vào là từ khóa bộ lọc, mở kết nối HTTP liên tục để nhận luồng dữ liệu tweet thời gian thực (chiếm khoảng 1% tổng luồng tweet toàn cầu) cho đến khi ngắt kết nối chủ động.
  4. Chương trình 4 - Facebook Graph API: Nhận đầu vào là Page ID của trang công khai và Access Token (OAuth 2.0 - dạng User Access Token hoặc App Access Token ghép từ AppID|AppSecret), gửi yêu cầu HTTP GET để trích xuất danh sách bài viết, thông số tương tác (lượt thích, chia sẻ) và các bình luận liên quan.

Nội dung chính theo từng chương

CHƯƠNG I: NỀN TẢNG LÝ THUYẾT VỀ KHAI PHÁ MẠNG XÃ HỘI

Chương 1 hệ thống hóa toàn diện các khái niệm cơ bản về mạng xã hội, phân biệt giữa mạng xã hội (tập trung vào cấu trúc kết nối kỹ thuật) và truyền thông xã hội (bao hàm cả phương tiện và nội dung truyền thông theo chuẩn Web 2.0). Tác giả làm rõ vai trò của mạng xã hội như một kho dữ liệu tiềm năng khổng lồ cho các nhà nghiên cứu và doanh nghiệp, phân tích những tác động hai chiều của mạng xã hội đến thế giới thực (quản trị khủng hoảng truyền thông, tiếp thị chi phí thấp, khảo sát xu hướng người tiêu dùng).

Tiếp theo, chương đi sâu vào bản chất của khai phá mạng xã hội như một phân nhánh đặc thù của khai phá dữ liệu:

  • Trình bày chi tiết quy trình 6 bước: Xác định nguồn, Trích xuất, Làm sạch, Phân tích, Mô hình hóa và Giải thích ứng dụng tri thức.
  • Phân loại hai hướng nghiên cứu trọng tâm: Nghiên cứu dựa trên nội dung (khai thác văn bản, phân tích quan điểm/tình cảm) và nghiên cứu dựa trên liên kết (phân tích cấu trúc đồ thị mạng, ma trận kề biểu diễn tương tác).
  • Phân tích các kỹ thuật định lượng (phân tích khối lượng, phân tích mối quan hệ, tương quan, hồi quy/phân lớp, phân cụm, hệ thống thông tin địa lý - GIS) và kỹ thuật định tính (phân tích tình cảm/Sentiment Analysis, phân tích văn bản/Text Analytics).
  • Chỉ ra các thách thức lớn: Thách thức tiền phân tích (ngôn ngữ phi cấu trúc, tiếng lóng, ký tự đặc biệt, tốc độ cập nhật thời gian thực) và thách thức trong xử lý phân tích (vòng đời dữ liệu ngắn, khung thời gian trễ làm giảm giá trị tri thức).

CHƯƠNG II: NGHIÊN CỨU PHƯƠNG PHÁP THU THẬP DỮ LIỆU TRÊN MẠNG XÃ HỘI

Chương 2 tập trung phân tích bản chất dữ liệu mạng xã hội và so sánh các phương thức thu thập thông tin trên Internet:

  • Phân loại dữ liệu mạng xã hội thành Dữ liệu nội dung (bài viết, bình luận, hình ảnh) và Dữ liệu cấu trúc (đồ thị mạng thể hiện mối quan hệ bạn bè, người theo dõi). Đánh giá mối quan hệ giữa dữ liệu mạng xã hội và 3 đặc trưng của Big Data (Volume, Velocity, Variety).
  • So sánh hai phương pháp thu thập dữ liệu: Thu thập qua cổng giao diện lập trình ứng dụng (API) và Bóc tách dữ liệu trang (Web Scraper thông qua regex, lập trình HTTP, duyệt cây DOM). Tác giả kết luận API là phương pháp tối ưu, ổn định và hợp thức nhất cho khai phá mạng xã hội.
  • Nghiên cứu chuyên sâu về nền tảng Twitter:
    • Đặc điểm: Cơ chế kết nối 1 chiều (Following), giới hạn độ dài 140 ký tự/tweet, cơ chế lan truyền Retweet, Hashtag, Mention. Thống kê toàn cầu: 319 triệu người dùng hoạt động hàng tháng, 6.000 tweets/giây, 500 triệu tweets/ngày; tỷ lệ tài khoản ngoài Mỹ chiếm 79% (Brazil: 27,7 triệu, Nhật Bản: 25,9 triệu, Mexico: 23,5 triệu).
    • Cơ chế kỹ thuật: Xác thực OAuth 1.0; Phân tích cơ chế REST API (giới hạn 15 yêu cầu/15 phút/token, trích xuất tối đa 3.200 tweet lịch sử), Search API (tìm kiếm tweet trong vòng 6-10 ngày), Streaming API (lấy mẫu thời gian thực 1% luồng dữ liệu toàn cầu).
  • Nghiên cứu chuyên sâu về nền tảng Facebook:
    • Đặc điểm: Cơ chế kết nối 2 chiều (kết bạn) kết hợp 1 chiều (Fanpage/Follow). Thống kê: 1,86 tỷ người dùng hoạt động hàng tháng (gấp 6 lần Twitter); mỗi phút có 510.000 bình luận, 293.000 trạng thái và 136.000 hình ảnh tải lên; không giới hạn độ dài ký tự bài đăng.
    • Cơ chế kỹ thuật: Xác thực OAuth 2.0 (User Access Token ngắn hạn 1-2 giờ, dài hạn 60 ngày; App Access Token). Mô hình Graph API dựa trên Đồ thị xã hội (Node, Edge, Field), truy vấn HTTP GET. Giới hạn tỷ lệ: khoảng 600 kết nối API / 600 giây cho mỗi ứng dụng/IP/token; chính sách bảo mật nghiêm ngặt đối với dữ liệu cá nhân.

CHƯƠNG III: THỰC NGHIỆM THU THẬP DỮ LIỆU MẠNG XÃ HỘI VÀ ĐÁNH GIÁ KẾT QUẢ

Chương 3 trình bày toàn bộ quá trình hiện thực hóa các chương trình Python, kết nối API thực tế, lưu trữ dữ liệu vào SQLite và phân tích trực quan hóa trên Tableau.

Thực nghiệm thu thập dữ liệu người dùng qua Twitter REST API được tiến hành trên 10 tài khoản thương hiệu/tổ chức lớn trên thế giới, cho kết quả đo lường cụ thể về thời gian và số lượng dữ liệu thu về:

STT Tên tài khoản (screen_name) Số lượng bản ghi tweet thu về Thời gian thực hiện (phút:giây)
1 CocaCola 3.227 00:37
2 Pepsi 3.246 00:40
3 Redbull 3.244 00:35
4 Nestle 3.200 00:40
5 Microsoft 3.191 00:41
6 Google 3.221 00:34
7 McDonalds 3.226 00:34
8 Nike 3.200 00:32
9 Converse 3.209 00:37
10 Samsung 3.217 00:32
Trung bình — ~3.218 36,2 giây

Dựa trên dữ liệu thu thập được, tác giả triển khai các bài toán phân tích thực tế:

  • Bài toán phân tích ảnh hưởng thương hiệu: So sánh mức độ lan tỏa giữa tài khoản Coca-Cola (hơn 3,3 triệu followers) và Pepsi (khoảng 3,0 triệu followers), vẽ bản đồ phân bố địa lý của lượng người theo dõi trên toàn cầu.
  • Bài toán phân tích quan điểm (Sentiment Analysis): Gán nhãn cảm xúc tích cực/tiêu cực/trung tính cho các bài đăng tweet và xây dựng biểu đồ chỉ số truyền thông.
  • Bài toán phân tích xu hướng thảo luận (Word Cloud): Trích xuất các từ khóa nổi bật về chủ đề "du học" trên thế giới và tại Việt Nam.
  • Thiết kế Dashboard Quản lý truyền thông cho doanh nghiệp trên Tableau kết hợp giữa phân tích khối lượng, phân tích cấu trúc mạng lưới và phân tích cảm xúc.

Kết quả và đóng góp

Khóa luận đạt được các kết quả cụ thể gắn liền với dữ liệu thực nghiệm:

  • Kiểm chứng định lượng hiệu năng của Twitter REST API: Tốc độ thu thập trung bình đạt 36,2 giây cho một lệnh gọi lấy xấp xỉ 3.200 bản ghi tweet lịch sử (chạm ngưỡng giới hạn kỹ thuật tối đa của Twitter).
  • Xác định và làm rõ các rào cản kỹ thuật của các loại API:
    • Twitter REST API bị giới hạn nghiêm ngặt 15 yêu cầu / 15 phút / access token và tối đa 3.200 tweet gần nhất.
    • Twitter Search API chỉ hồi đáp dữ liệu quá khứ trong phạm vi 6 đến 10 ngày gần nhất.
    • Twitter Streaming API cung cấp luồng dữ liệu thời gian thực nhưng bị chặn ở ngưỡng 1% tổng lưu lượng toàn cầu (các tweet vượt ngưỡng sẽ bị xóa kèm thông báo điều khiển).
    • Facebook Graph API giới hạn 600 yêu cầu / 600 giây, dữ liệu trả về rất chi tiết nhưng vướng rào cản bảo mật quyền riêng tư khắt khe (đòi hỏi quyền ủy quyền từ phía người dùng).
  • Đề xuất quy trình tích hợp công nghệ hoàn chỉnh cho các bài toán phân tích mạng xã hội quy mô vừa và nhỏ: Kết nối API bằng Python $\rightarrow$ Lưu trữ phi tập trung gọn nhẹ bằng SQLite $\rightarrow$ Trực quan hóa tương tác đa chiều trên Tableau.
  • Đóng góp học thuật và ứng dụng: Hệ thống hóa chi tiết các phương thức thu thập dữ liệu mạng xã hội cho sinh viên ngành Hệ thống thông tin quản lý, làm rõ phương pháp luận kết hợp giữa phân tích định tính (nội dung, cảm xúc) và phân tích định lượng (khối lượng, mạng lưới đồ thị) trong quản trị truyền thông doanh nghiệp.

Hạn chế và hướng nghiên cứu tiếp

Khóa luận tự chỉ ra một số hạn chế và định hướng phát triển dựa trên phạm vi nghiên cứu:

  • Hạn chế:
    • Các chương trình Python mới dừng lại ở mức các đoạn mã script thực thi chức năng cơ bản, chưa xây dựng thành một ứng dụng phần mềm có giao diện người dùng hoàn chỉnh.
    • Giới hạn tỷ lệ truy vấn của các cổng API miễn phí (đặc biệt là mức 3.200 tweet của REST API và thời gian 7 ngày của Search API) gây khó khăn cho việc nghiên cứu chuỗi dữ liệu lịch sử dài hạn.
    • Dữ liệu thu thập từ Facebook chủ yếu giới hạn ở các trang Fanpage công khai do chính sách bảo mật cá nhân ngặt nghèo của nền tảng.
  • Hướng nghiên cứu tiếp:
    • Hoàn thiện các module Python thành phần mềm thu thập dữ liệu tự động, đa luồng với giao diện trực quan.
    • Nghiên cứu sâu hơn các thuật toán Xử lý ngôn ngữ tự nhiên (NLP) tiếng Việt để nâng cao độ chính xác trong phân tích sắc thái cảm xúc và loại bỏ tiếng lóng/nhiễu trên mạng xã hội.
    • Mở rộng phạm vi thu thập dữ liệu sang các nền tảng mạng xã hội khác như Instagram, YouTube, LinkedIn.

Giá trị tham khảo

Khóa luận có giá trị tham khảo thiết thực đối với:

  • Sinh viên và học viên chuyên ngành Hệ thống thông tin quản lý, Khoa học dữ liệu, Công nghệ thông tin, Thương mại điện tử và Marketing: Cung cấp tài liệu tổng quan mạch lạc về quy trình KDD áp dụng trên mạng xã hội và phương pháp trích xuất dữ liệu qua API.
  • Các nhà nghiên cứu và lập trình viên phát triển giải pháp Social Listening: Tham khảo cấu trúc dữ liệu JSON, cơ chế xác thực OAuth 1.0/OAuth 2.0, các thông số Rate Limit và phương pháp lưu trữ - trực quan hóa dữ liệu qua SQLite và Tableau.
  • Phần đáng tham khảo nhất: Chương 2 (bảng phân tích cơ chế, hạn ngạch của 3 loại Twitter API và Facebook Graph API) và Chương 3 (bảng thực nghiệm đo lường thời gian đáp ứng và mô hình dữ liệu quan hệ trích xuất từ mạng xã hội).

Câu hỏi thường gặp

1. Khóa luận nghiên cứu những loại API nào của Twitter và Facebook? Khóa luận nghiên cứu 3 loại API của Twitter gồm: REST API (truy vấn hồ sơ cá nhân và tweet quá khứ), Search API (tìm kiếm tweet theo từ khóa trong 6-10 ngày), Streaming API (lấy mẫu 1% luồng tweet thời gian thực); và 1 loại API duy nhất của Facebook là Graph API (truy vấn các Node, Edge, Field trên Đồ thị xã hội).

2. Giới hạn số lượng bài đăng và tần suất truy vấn của Twitter REST API là bao nhiêu? Twitter REST API giới hạn mỗi Access Token được thực hiện tối đa 15 yêu cầu trong vòng 15 phút. Đối với mỗi tài khoản người dùng, REST API chỉ cho phép lấy tối đa khoảng 3.200 bản ghi tweet gần nhất trên timeline.

3. Facebook Graph API áp dụng cơ chế xác thực và hạn mức truy vấn như thế nào? Facebook Graph API sử dụng cơ chế xác thực OAuth 2.0 thông qua Access Token (chủ yếu là User Access Token và App Access Token được ghép theo cú pháp AppID|AppSecret). Hạn mức tần suất thông thường là 600 kết nối API trong mỗi khoảng thời gian 600 giây cho mỗi ứng dụng/IP/token.

4. Kết quả thực nghiệm tốc độ thu thập dữ liệu qua Twitter REST API đạt mức nào? Thực nghiệm trên 10 tài khoản thương hiệu lớn (như Coca-Cola, Pepsi, Redbull, Google, Microsoft, Nike...) cho thấy thời gian phản hồi trung bình là 36,2 giây để thu về đủ ~3.200 bản ghi tweet và thông tin hồ sơ cho mỗi tài khoản.

5. Hệ sinh thái công nghệ được tác giả sử dụng trong chương hồi thực nghiệm gồm những gì? Hệ sinh thái thực nghiệm gồm: Ngôn ngữ lập trình Python 3.6 (môi trường Spyder 2.7 trong bộ phần mềm Anaconda), Hệ quản trị cơ sở dữ liệu SQLite để lưu trữ dữ liệu dạng tệp cục bộ, và công cụ Tableau để xây dựng Dashboard trực quan hóa dữ liệu truyền thông.

Kết luận

Khóa luận của tác giả Đỗ Huyền Trang đã hệ thống hóa toàn diện cơ sở lý luận về khai phá mạng xã hội và phân tích sâu sắc các phương pháp thu thập dữ liệu trên hai nền tảng Twitter và Facebook. Thông qua việc hiện thực hóa 4 chương trình Python kết nối với các cổng API chuyên biệt, nghiên cứu đã kiểm chứng định lượng hiệu năng thực tế, đo lường thời gian đáp ứng và làm rõ các rào cản về hạn ngạch dữ liệu cũng như cơ chế bảo mật. Kết quả lưu trữ trên SQLite và mô hình hóa trực quan trên Tableau đã chứng minh tính khả thi và giá trị ứng dụng cao của dữ liệu mạng xã hội trong quản trị truyền thông và hỗ trợ ra quyết định kinh doanh.