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

Sự chuyển dịch từ nền tảng Web tĩnh sang kỷ nguyên Web 2.0 và mạng xã hội trực tuyến (Facebook, YouTube, Twitter) đã làm biến đổi căn bản phương thức tiếp nhận và chia sẻ thông tin của người dùng. Dữ liệu khảo sát từ Socialnomics.com (2011) cho thấy 78% người tiêu dùng tin tưởng vào lời khuyên của bạn bè, trong khi chỉ 14% đặt niềm tin vào các hình thức quảng cáo thương mại. Cùng với sự gia tăng quy mô người dùng (tính đến quý 3 năm 2016, Facebook đạt 1,79 tỷ người dùng hoạt động hàng tháng; YouTube đạt trên 1 tỷ người dùng), tình trạng quá tải thông tin diễn ra nghiêm trọng, đòi hỏi các công cụ hỗ trợ lọc và gợi ý dữ liệu hiệu quả.

Các hệ thống tư vấn truyền thống chủ yếu tập trung cá nhân hóa nội dung cho từng người dùng riêng lẻ. Tuy nhiên, trên môi trường mạng xã hội, hành vi của người dùng thường mang tính cộng đồng và gắn kết theo nhóm. Do đó, bài toán hệ tư vấn nhóm (Group Recommender Systems - GRS) được đặt ra nhằm đề xuất các sản phẩm, dịch vụ hoặc hạng mục mà các thành viên trong nhóm cùng quan tâm. Thách thức lớn của các hệ tư vấn nhóm hiện hữu là đa số chỉ giải quyết bài toán trong trạng thái tĩnh, bỏ qua sự biến động của sở thích cá nhân, xu hướng đánh giá và mức độ phổ biến của sản phẩm theo trục thời gian.

Để giải quyết khoảng trống nghiên cứu này, khóa luận tập trung vào bài toán tư vấn cho nhóm ngẫu nhiên (nhóm được hình thành tự động từ những người dùng có chung mối quan tâm) có tích hợp yếu tố động theo thời gian. Mục tiêu và nhiệm vụ nghiên cứu cụ thể gồm:

  1. Xây dựng mô hình tự động phát hiện các nhóm người dùng ngẫu nhiên dựa trên sự tương đồng về sở thích trên mạng xã hội.
  2. Ứng dụng kỹ thuật phân rã ma trận nhận biết ngữ cảnh thời gian TimeSVD++ để dự đoán chính xác các đánh giá cá nhân còn thiếu tại thời điểm tư vấn, qua đó khắc phục độ thưa của dữ liệu trước khi phân nhóm.
  3. Ứng dụng mô hình đám mây (Cloud-Model) để biểu diễn các đặc trưng động không chắc chắn (tâm trạng, phong cách đánh giá) phục vụ việc phân cụm người dùng.
  4. Tổng hợp các dự đoán cá nhân theo các chiến lược mô hình hóa nhóm nhằm đưa ra danh sách đề xuất tối ưu cho toàn nhóm.

Đối tượng nghiên cứu của khóa luận là các mô hình lọc cộng tác, kỹ thuật mô hình hóa ngữ cảnh thời gian trong hệ tư vấn và các chiến lược tổng hợp sở thích nhóm. Phạm vi dữ liệu thực nghiệm được thực hiện trên hai tập dữ liệu đánh giá phim chuẩn là MovieLens100K và FilmTrust, với cấu trúc bản ghi gồm định danh người dùng (userID), định danh hạng mục (itemID), điểm đánh giá (rating) và nhãn thời gian (timestamp).


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

Khóa luận thiết lập nghiên cứu dựa trên các hệ thống lý thuyết, mô hình và công cụ toán học sau:

Khung lý thuyết và mô hình nền tảng

  • Phân loại hệ tư vấn truyền thống: Khóa luận hệ thống hóa ba phương pháp cốt lõi gồm hệ tư vấn dựa trên nội dung (Content-based), hệ tư vấn lọc cộng tác (Collaborative Filtering - CF) gồm hai nhánh Memory-based và Model-based, và hệ tư vấn lai (Hybrid).
  • Khái niệm hệ tư vấn xã hội: Tiếp cận theo định nghĩa hẹp tại hội nghị WWW2010 (khai thác các mối quan hệ xã hội như tin cậy, bạn bè) và định nghĩa rộng tại hội nghị WWW2011 (áp dụng trên môi trường truyền thông xã hội).
  • Phân loại nhóm xã hội: Dựa theo nghiên cứu của Ludovico Boratto và cộng sự (2015), nhóm trong mạng xã hội được phân thành ba loại: nhóm được thành lập (Established groups), nhóm không thường xuyên (Occasional groups) và nhóm ngẫu nhiên (Random groups). Đề tài chọn đối tượng giải quyết là nhóm ngẫu nhiên.
  • Mô hình TimeSVD++ (Yehuda Koren, 2010): Biến thể mở rộng của phân rã ma trận kết hợp phản hồi tiềm ẩn SVD++. Mô hình bóc tách sự biến đổi của thời gian thành các thành phần: xu hướng hạng mục $b_i(t)$ được chia thành các khoang thời gian (bins); xu hướng người dùng $b_u(t)$ biến thiên tuyến tính qua hàm độ lệch $dev_u(t) = \text{sign}(t - t_u)|t - t_u|^\beta$ (với $\beta = 0,4$) cùng tham số độ lệch theo ngày $b_{u,t}$; sự biến thiên của vector đặc trưng tiềm ẩn người dùng $p_u(t)$; và tập thông tin phản hồi tiềm ẩn $R(u)$.
  • Mô hình đám mây (Cloud-Model) và thuật toán Backward Cloud Generator (BCG): Nghiên cứu của Jinpeng Chen và cộng sự (2014) sử dụng vector đám mây gồm ba giá trị số $(Ex, En, He)$ để biểu diễn tính định tính mờ và sự không chắc chắn trong phong cách đánh giá của người dùng.

Phương pháp nghiên cứu thực nghiệm

  • Phương pháp xử lý dữ liệu: Phân tích ma trận đánh giá người dùng - hạng mục (user-item matrix). Tỷ lệ phân chia dữ liệu là 80% cho tập huấn luyện và 20% các đánh giá mới nhất theo mốc thời gian dành cho tập kiểm thử.
  • Thuật toán phân cụm: K-means với độ đo khoảng cách dựa trên độ tương đồng đám mây kết hợp hệ số tương quan Pearson ($SimCC$).
  • Chiến lược tổng hợp nhóm: Ứng dụng ba chiến lược gồm Additive Utilitarian (tính điểm trung bình), Least Misery (lấy giá trị đánh giá thấp nhất) và Most Pleasure (lấy giá trị đánh giá cao nhất).
  • Độ đo đánh giá: Sai số toàn phương trung bình (RMSE - Root Mean Squared Error) và sai số tuyệt đối trung bình (MAE - Mean Absolute Error).

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

Chương 1: Hệ tư vấn xã hội và tư vấn nhóm

Chương 1 trình bày tổng quan lý thuyết về hệ thống tư vấn và đặt nền tảng cho bài toán nghiên cứu:

  • Phân tích bản chất của ma trận $R \in \mathbb{R}^{n \times m}$ với độ thưa thông thường vượt quá 99% trong các hệ thống thực tế.
  • Đánh giá ba nhóm hệ tư vấn truyền thống và các thách thức: vấn đề khởi đầu nguội (cold-start), độ thưa dữ liệu, khả năng mở rộng quy mô và tính bảo mật.
  • Làm rõ ba tác nhân chi phối quyết định người dùng trên mạng xã hội: sở thích tạm thời, dữ liệu lịch sử và tư vấn từ các mối quan hệ xã hội.
  • Phân định ranh giới giữa tư vấn cá nhân và tư vấn nhóm. Nêu rõ ba loại bài toán tư vấn nhóm tương ứng với ba cấu trúc nhóm xã hội, khẳng định trọng tâm khóa luận là bài toán tư vấn cho nhóm ngẫu nhiên có xét yếu tố động theo thời gian.
  • So sánh định hướng với các khóa luận liên quan tại Trường Đại học Công nghệ: nghiên cứu của Đỗ Thành Long (yếu tố địa lý - xã hội), Thái Thị Hoài (ngữ cảnh cục bộ và toàn cục), Nguyễn Quỳnh Nga (quan hệ tin cậy); từ đó xác lập tính riêng biệt của đề tài khi khai thác trục thời gian.

Chương 2: Một số kĩ thuật tiên tiến trong tư vấn nhóm tự động và khai thác các yếu tố động trong tư vấn

Chương 2 phân tích sâu các phương pháp kỹ thuật nền tảng:

  • Khái quát các phương pháp phân cụm: phân cấp, phân hoạch (K-means, K-medoids), dựa trên phân bố (Gaussian Mixture), dựa trên mật độ (DBSCAN), dựa trên lưới và dựa trên đồ thị.
  • Trình bày chi tiết bốn chiến lược mô hình hóa nhóm thông qua bảng dữ liệu minh họa 3 người dùng và 10 hạng mục:
Chiến lược Ký hiệu Cơ chế tính điểm nhóm Đặc điểm áp dụng
Chiến lược trung bình Additive Utilitarian Tính tổng hoặc trung bình cộng đánh giá Cân bằng lợi ích của mọi thành viên
Bầu cử hài lòng Approval Voting Đếm số thành viên cho điểm vượt ngưỡng Thích hợp cho quyết định biểu quyết nhị phân
Người bủn xỉn nhất Least Misery Lấy giá trị đánh giá nhỏ nhất của nhóm Tránh sự bất mãn cho nhóm quy mô nhỏ
Hài lòng nhất Most Pleasure Lấy giá trị đánh giá lớn nhất của nhóm Thường dùng cho tình huống khởi đầu nguội
  • So sánh 3 hướng tiếp cận tư vấn nhóm tự động theo Ludovico Boratto và cộng sự:
Phương pháp Bước 1 Bước 2 Bước 3
Dựa trên mô hình Phân cụm Mô hình hóa nhóm Dự đoán cho nhóm
Hợp nhất các tư vấn Phân cụm Dự đoán cá nhân Mô hình hóa nhóm (Top-N hạng mục)
Tổng hợp: phân cụm & dự đoán Phân cụm Dự đoán cá nhân Mô hình hóa nhóm (tất cả hạng mục)
Tổng hợp: dự đoán & phân cụm Dự đoán cá nhân Phân cụm Mô hình hóa nhóm (tất cả hạng mục)
  • Phân tích kỹ thuật phân rã ma trận (Matrix Factorization) sử dụng thuật toán hạ độ dốc ngẫu nhiên (Stochastic Gradient Descent) và kỹ thuật chuẩn hóa (Regularization) để hạn chế hiện tượng quá khớp (overfitting).
  • Trình bày chi tiết mô hình TimeSVD++: công thức kết hợp độ lệch thời gian của người dùng, hạng mục và phản hồi tiềm ẩn: $$\hat{r}{ui}(t) = \mu + b_u(t) + b_i(t) + q_i^T \left( p_u(t) + |R(u)|^{-\frac{1}{2}} \sum{j \in R(u)} y_j \right)$$
  • Trình bày thuật toán Backward Cloud Generator (BCG) nhằm chuyển đổi mẫu đánh giá $x_1, \dots, x_k$ thành vector đặc trưng $(Ex, En, He)$ và công thức độ tương đồng hỗn hợp $SimCC(u_i, u_j) = \alpha Sim(u_i, u_j) + \beta UCSim(u_i, u_j)$.

Chương 3: Mô hình tư vấn nhóm dựa trên tổng hợp dự đoán cá nhân với các yếu tố động theo thời gian

Chương 3 thiết lập chi tiết quy trình 4 pha của mô hình đề xuất:

  1. Pha 1 - Tiền xử lý dữ liệu: Tiếp nhận dữ liệu dạng văn bản với 4 trường (userId, movieId, movieRating, timestamp). Sử dụng cấu trúc HashMap lưu mảng đánh giá theo người dùng, sắp xếp theo nhãn thời gian và phân chia theo tỷ lệ 8 phần huấn luyện, 2 phần kiểm thử mới nhất để xây dựng ma trận user-item thưa.
  2. Pha 2 - Dự đoán đánh giá cá nhân: Áp dụng mô hình TimeSVD++ với các tham số: số lượng khoang hạng mục (numMovieBins), tốc độ học ($\gamma$), hệ số chuẩn hóa ($\lambda$), số nhân tố tiềm ẩn (numFactor), số lần lặp tối đa (iteratorMax). Cập nhật lặp các tham số $b_u, b_i, b_{u,t}, q_i, p_u, \alpha_u, y_j$ bằng hạ độ dốc ngẫu nhiên để dự đoán toàn bộ các ô còn trống trong ma trận tại thời điểm tư vấn $t$.
  3. Pha 3 - Phát hiện nhóm tự động: Tiến hành phân cụm K-means trên ma trận đã được lấp đầy. Chọn ngẫu nhiên $K$ tâm cụm từ $K$ người dùng để tránh tạo cụm rỗng. Tính khoảng cách giữa người dùng và tâm cụm thông qua độ đo tương đồng đám mây $SimCC$, sau đó gán người dùng vào cụm có độ tương đồng cao nhất và cập nhật lại trọng tâm cụm cho đến khi hội tụ.
  4. Pha 4 - Mô hình hóa nhóm: Với mỗi nhóm được phát hiện, hệ thống duyệt danh sách các thành viên và áp dụng các hàm tổng hợp để xác định điểm đánh giá đại diện của nhóm cho từng hạng mục theo ba chiến lược: Additive Utilitarian, Most Pleasure và Least Misery.

Chương 4: Thực nghiệm và đánh giá

Chương 4 triển khai đánh giá mô hình trên môi trường thực nghiệm:

  • Thiết lập hệ thống kiểm thử: Hệ thống phần cứng và môi trường phần mềm được quy chuẩn (sử dụng công cụ TimeSVDplusplus).
  • Tiến hành huấn luyện và đo lường sai số dự đoán trên hai tập dữ liệu MovieLens100K và FilmTrust.
  • Đánh giá chất lượng của mô hình với số lượng cụm $K = 20$, so sánh đối sánh sai số RMSE và MAE của mô hình đề xuất so với phương pháp gốc của Ludovico Boratto (2015).

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

Kết quả thực nghiệm

Khóa luận đã triển khai thành công mô hình tích hợp trên hai bộ dữ liệu thực tế:

  • Việc lấp đầy ma trận bằng mô hình TimeSVD++ trước khi phân cụm đã cải thiện đáng kể độ thưa của dữ liệu huấn luyện (từ mật độ dưới 1% lên trạng thái ma trận đầy đủ tại thời điểm $t$).
  • Kết quả sai số RMSE của mô hình đề xuất trên bộ dữ liệu MovieLens100K và FilmTrust đạt mức tối ưu, giảm thiểu sai số dự đoán so với các mô hình tĩnh.
  • Trong số các chiến lược tổng hợp sở thích nhóm, chiến lược Additive Utilitarian thể hiện tính ổn định cao nhất về mặt giá trị trung bình trên toàn tập hạng mục.

Đóng góp học thuật và kỹ thuật

  • Cải tiến quy trình tiếp cận: Khóa luận chứng minh việc chuyển đổi quy trình từ "Phân cụm trước - Dự đoán sau" sang "Dự đoán cá nhân trước - Phân cụm sau" giúp loại bỏ ảnh hưởng tiêu cực của ma trận thưa lên độ chính xác của thuật toán phân cụm K-means.
  • Mô hình hóa động: Khác biệt hoàn toàn với phương pháp lọc cộng tác tĩnh của Boratto và cộng sự (2015), khóa luận tích hợp thành công mô hình TimeSVD++, cho phép mô hình hóa đồng thời sự biến đổi theo thời gian của cả người dùng (thị hiếu và xu hướng cho điểm) lẫn hạng mục (mức độ phổ biến và tính thời vụ).
  • Kết hợp mô hình đám mây: Việc sử dụng độ đo tương đồng $SimCC$ kết hợp giữa Pearson và vector đám mây $(Ex, En, He)$ của Jinpeng Chen giúp thuật toán phân cụm phản ánh chính xác các yếu tố mơ hồ như tâm trạng và phong cách đánh giá của thành viên.

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

Hạn chế

  • Ràng buộc dữ liệu: Mô hình đòi hỏi bắt buộc phải có thông tin nhãn thời gian (timestamp) và thông tin phản hồi tiềm ẩn; không thể phát huy hiệu quả trên các tập dữ liệu chỉ lưu trữ đánh giá tĩnh.
  • Hạn chế của thuật toán phân cụm: Thuật toán K-means đòi hỏi phải chỉ định trước số lượng cụm $K$, chưa thể tự động tối ưu hóa số lượng nhóm phù hợp với biến động thực tế của mạng xã hội.
  • Chi phí tính toán: Quá trình dự đoán lấp đầy toàn bộ các phần tử chưa đánh giá trong ma trận user-item trước khi phân cụm làm phát sinh độ phức tạp tính toán lớn khi kích thước người dùng và sản phẩm tăng cao.
  • Phạm vi miền dữ liệu: Nghiên cứu mới chỉ kiểm thử trên miền dữ liệu đánh giá phim (MovieLens và FilmTrust), chưa được kiểm chứng trên các miền dữ liệu có tính chất tiêu dùng khác như thương mại điện tử tổng hợp, du lịch hoặc ẩm thực.

Hướng nghiên cứu tiếp

  • Khảo sát các giải pháp phân cụm tự động xác định số cụm tối ưu và cho phép cấu trúc nhóm thay đổi linh hoạt theo thời gian thực (dynamic clustering).
  • Nghiên cứu phương pháp giảm số chiều hoặc tính toán gần đúng để tối ưu hóa thời gian thực thi của pha dự đoán TimeSVD++ trên các tập dữ liệu lớn.
  • Mở rộng kiểm thử mô hình trên các tập dữ liệu đa lĩnh vực và tích hợp thêm các quan hệ ngữ cảnh xã hội khác như đồ thị quan hệ bạn bè, độ tin cậy giữa các thành viên.

Giá trị tham khảo

Tài liệu khóa luận cung cấp giá trị học thuật và kỹ thuật thực tiễn cho các nhóm đối tượng:

  • Sinh viên và nhà nghiên cứu chuyên ngành Công nghệ thông tin, Khoa học dữ liệu: Tài liệu hữu ích cho những ai đang thực hiện đề tài về hệ thống khuyến nghị (Recommender Systems), kỹ thuật phân rã ma trận nâng cao và khai phá dữ liệu mạng xã hội.
  • Các phần đáng tham khảo chuyên sâu:
    • Bảng hệ thống hóa các chiến lược mô hình hóa nhóm và so sánh quy trình của các phương pháp tiếp cận tư vấn nhóm tự động tại Chương 2.
    • Phương pháp toán học và thuật toán tối ưu hóa hạ độ dốc ngẫu nhiên cho mô hình TimeSVD++ cùng các hàm độ lệch thời gian.
    • Thuật toán Backward Cloud Generator (BCG) dùng để biểu diễn các đặc trưng mờ định tính thành số lượng định lượng phục vụ tính toán độ tương đồng.

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

1. Tại sao khóa luận lại chọn cách tiếp cận "Dự đoán cá nhân trước rồi mới phân cụm" thay vì phân cụm trực tiếp từ đầu?

Trong các hệ thống thực tế, ma trận đánh giá người dùng - hạng mục rất thưa (mật độ đánh giá thường dưới 1%). Nếu thực hiện phân cụm K-means trực tiếp trên ma trận thưa ban đầu, khoảng cách giữa các vector người dùng sẽ không chính xác do thiếu hụt dữ liệu so sánh, dẫn đến chất lượng cụm thấp. Việc sử dụng TimeSVD++ để dự đoán các đánh giá còn thiếu tại thời điểm $t$ giúp lấp đầy ma trận, tạo cơ sở dữ liệu hoàn chỉnh để phân cụm người dùng chính xác hơn.

2. Mô hình TimeSVD++ xử lý sự biến đổi thời gian của người dùng và hạng mục khác nhau như thế nào?

TimeSVD++ phân tách hai cơ chế biến đổi thời gian riêng biệt:

  • Đối với hạng mục: Sự phổ biến của sản phẩm thay đổi chậm trong thời gian dài, do đó mô hình chia dòng thời gian thành các khoang (bins) độc lập, mỗi khoang gán một giá trị xu hướng không đổi $b_i(t)$.
  • Đối với người dùng: Phong cách và tâm trạng đánh giá có thể thay đổi liên tục theo ngày. Mô hình sử dụng hàm độ lệch tuyến tính $dev_u(t) = \text{sign}(t - t_u)|t - t_u|^\beta$ kết hợp tham số riêng biệt theo ngày $b_{u,t}$ để ghi nhận các biến động ngắn hạn.

3. Thuật toán Backward Cloud Generator (BCG) có vai trò gì trong mô hình đề xuất?

Thuật toán BCG trích xuất ba tham số đặc trưng của đám mây $(Ex, En, He)$ từ tập các đánh giá lịch sử của người dùng. Trong đó, $Ex$ đại diện cho giá trị kỳ vọng (thị hiếu định lượng trung bình), $En$ là độ entropy thể hiện độ phân tán chi tiết của đánh giá, và $He$ là hyper-entropy đo lường sự không chắc chắn của thị hiếu. Vector này giúp tính độ tương đồng đám mây $UCSim$, phản ánh phong cách đánh giá mờ của người dùng để hỗ trợ phân cụm chính xác hơn.

4. Khóa luận sử dụng các chiến lược nào để tổng hợp điểm đánh giá của nhóm?

Khóa luận áp dụng ba chiến lược mô hình hóa nhóm phổ biến:

  • Chiến lược trung bình (Additive Utilitarian): Lấy điểm trung bình cộng của các thành viên trong nhóm cho hạng mục.
  • Chiến lược hài lòng nhất (Most Pleasure): Lấy điểm đánh giá cao nhất xuất hiện trong nhóm cho hạng mục.
  • Chiến lược người bủn xỉn nhất (Least Misery): Lấy điểm đánh giá thấp nhất trong nhóm làm điểm đại diện nhằm đảm bảo không thành viên nào phải nhận đề xuất mà họ quá phản đối.

5. Dữ liệu thực nghiệm được tiền xử lý và phân chia theo tỷ lệ nào?

Dữ liệu thô từ MovieLens100K và FilmTrust được lọc và sắp xếp theo thứ tự nhãn thời gian của từng người dùng. Toàn bộ tập dữ liệu sau đó được phân chia theo tỷ lệ 8:2, trong đó 80% bản ghi đánh giá trong quá khứ được đưa vào tập huấn luyện (training set) và 20% bản ghi đánh giá mới nhất theo mốc thời gian được giữ lại làm tập kiểm thử (test set).


Kết luận

Khóa luận của sinh viên Đàm Duy Tiến đã giải quyết thành công bài toán tư vấn cho nhóm ngẫu nhiên trên mạng xã hội bằng việc xây dựng mô hình 4 pha hoàn chỉnh, tích hợp kỹ thuật phân rã ma trận TimeSVD++ và mô hình đám mây Cloud-Model. Công trình khắc phục hiệu quả thách thức dữ liệu cực thưa thông qua việc dự đoán lấp đầy ma trận trước khi phân cụm K-means, đồng thời phản ánh được biến động sở thích theo trục thời gian của người dùng và hạng mục. Các kết quả kiểm nghiệm trên hai bộ dữ liệu chuẩn MovieLens100K và FilmTrust đã minh chứng tính đúng đắn và hiệu quả giảm thiểu sai số của mô hình đề xuất so với các phương pháp tư vấn nhóm tĩnh truyền thống.