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

Sự bùng nổ dữ liệu trên các nền tảng trực tuyến như thương mại điện tử, dịch vụ phát trực tuyến âm nhạc và phim ảnh đặt ra yêu cầu cấp thiết về các giải pháp khai thác, phân tích và chọn lọc thông tin tự động. Hệ khuyến nghị đóng vai trò trung tâm trong việc hỗ trợ người dùng tiếp cận nội dung phù hợp mà không tốn nhiều thời gian tìm kiếm, đồng thời gia tăng mức độ gắn kết và thúc đẩy doanh thu cho doanh nghiệp. Theo số liệu từ các nền tảng lớn như Netflix được tác giả dẫn chứng, hệ thống đề xuất cá nhân hóa đóng góp hơn 1 tỷ USD giá trị kinh tế mỗi năm thông qua việc giảm tỷ lệ hủy dịch vụ, với khoảng 80% thời lượng xem bắt nguồn từ các gợi ý tự động.

Tuy nhiên, các phương pháp khuyến nghị truyền thống như lọc dựa trên nội dung (Content-Based Filtering - CBF) hay lọc cộng tác (Collaborative Filtering - CF) bộc lộ nhiều hạn chế về sự thưa thớt dữ liệu, vấn đề quá chuyên biệt hóa và chưa xử lý tốt dữ liệu phi Euclid. Việc tích hợp mạng tích chập đồ thị (Graph Convolutional Network - GCN) cùng các yếu tố ngữ cảnh (Context-Aware Recommender Systems - CARS) nổi lên như một hướng tiếp cận tiềm năng nhằm mô hình hóa các mối quan hệ đa chiều phức tạp giữa người dùng, sản phẩm và hoàn cảnh tiêu dùng. Từ bối cảnh thực tiễn đó, khóa luận tốt nghiệp ngành Trí tuệ Nhân tạo của nhóm tác giả Cao Thị Thu Thủy và Nguyễn Hoàng Việt Pháp (Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh, thực hiện từ tháng 01/2025 đến tháng 06/2025 dưới sự hướng dẫn của TS. Phan Thị Huyền Trang) đã tiến hành đề tài "Xây dựng mô hình mạng tích chập đồ thị của nội dung kết hợp bối cảnh và ứng dụng vào hệ khuyến nghị".

Nhiệm vụ và mục tiêu nghiên cứu của đề tài được xác định theo 4 nội dung cụ thể trong văn bản:

  1. Đề xuất phương pháp khuyến nghị dựa trên mô hình mạng tích chập đồ thị (Graph Convolutional Network - GCN).
  2. Áp dụng phương pháp đề xuất để xây dựng hệ khuyến nghị phim hiệu quả dựa trên sự kết hợp giữa nội dung (content) và ngữ cảnh (context).
  3. Đánh giá hiệu quả của hệ khuyến nghị qua các chỉ số đo lường học máy tiêu chuẩn.
  4. Ứng dụng mô hình để phát triển một website khuyến nghị phim cho người dùng, đồng thời tích hợp chatbot hỏi đáp và gợi ý phim dựa trên mô hình Retrieval-Augmented Generation (RAG).

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

  • Đối tượng nghiên cứu: Mô hình GCN kết hợp thông tin nội dung và bối cảnh; đặc trưng người dùng và phim; tương tác giữa người dùng và phim; mô hình RAG cho chatbot tra cứu; hệ thống phần mềm website và các công nghệ triển khai (PyTorch, PyTorch Geometric, Django, FastAPI, MongoDB, PostgreSQL, Docker, AWS Bedrock).
  • Phạm vi dữ liệu: Hai bộ dữ liệu chuẩn MovieLens 100K và MovieLens 1M gồm thuộc tính người dùng (tuổi, giới tính, nghề nghiệp), thuộc tính phim (thể loại) và lịch sử tương tác (điểm đánh giá, mốc thời gian).
  • Giới hạn phạm vi: Đề tài tập trung xây dựng, thực nghiệm mô hình và phát triển hệ thống thử nghiệm; không triển khai mô hình ở quy mô lớn hoặc vận hành thực tế với tệp người dùng thật.

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

Khóa luận thiết lập nền tảng nghiên cứu dựa trên ba trụ cột lý thuyết:

  • Hệ khuyến nghị dựa trên nội dung (CBF): Khai thác đặc trưng của các thực thể để đo lường độ tương đồng (sử dụng độ đo Cosine Similarity), giải quyết bài toán gợi ý độc lập với phản hồi của người dùng khác nhưng dễ gặp hiện tượng quá chuyên biệt hóa.
  • Hệ khuyến nghị dựa trên ngữ cảnh (CARS): Mở rộng hàm xếp hạng từ không gian hai chiều sang không gian đa chiều $R: User \times Item \times Context \to Rating$. Văn bản phân tích ba cơ chế tích hợp ngữ cảnh chính: Lọc trước (Contextual Pre-filtering), Lọc sau (Contextual Post-filtering) và Mô hình hóa ngữ cảnh trực tiếp (Contextual Modeling).
  • Lý thuyết mạng tích chập đồ thị (GCN): Mô hình học sâu mở rộng phép tích chập trên cấu trúc đồ thị $\mathcal{G} = (\mathcal{V}, A)$ với ma trận kề $A$, ma trận bậc $D$, và ma trận chuẩn hóa $\tilde{S} = \tilde{D}^{-1/2}\tilde{A}\tilde{D}^{-1/2}$ (với $\tilde{A} = A + I$). Văn bản cũng chỉ rõ các hạn chế lý thuyết của GCN gồm hiện tượng làm mịn quá mức (over-smoothing) khi tăng số lớp, chi phí tính toán lớn trên đồ thị quy mô lớn và sự suy giảm hiệu quả tại các đỉnh cô lập.

Phương pháp nghiên cứu được nhóm tác giả triển khai bao gồm:

  • Phương pháp lập kế hoạch: Phân kỳ tiến độ thực hiện đề tài chi tiết theo từng tuần và từng tháng (từ tháng 1/2025 đến tháng 6/2025).
  • Phương pháp phân tích - tổng hợp: Khảo cứu tài liệu học thuật về GCN, CARS, RAG và các công trình liên quan của Reddy và cộng sự (CBF dựa trên thể loại), Huynh và cộng sự (ma trận tương đồng tích hợp ngữ cảnh), Duran và cộng sự (Graph Convolutional Embedding - GCE trên đồ thị đa phần tử), Forouzandeh và cộng sự (nhúng đồ thị dị cấu kết hợp học tập tổ hợp).
  • Phương pháp chuyên gia: Tiếp nhận tư vấn, định hướng học thuật và hiệu chỉnh phương pháp từ giảng viên hướng dẫn TS. Phan Thị Huyền Trang và giảng viên phản biện ThS. Lê Minh Tân.
  • Nguồn dữ liệu thực nghiệm: Bộ dữ liệu MovieLens 100K (100.000 đánh giá từ 943 người dùng cho 1.682 bộ phim) và MovieLens 1M (1.000.209 đánh giá từ 6.040 người dùng cho 3.706 bộ phim).

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

Chương 1: Cơ sở lý thuyết

Chương 1 hệ thống hóa khái niệm và vai trò của hệ khuyến nghị trong việc cá nhân hóa trải nghiệm người dùng, hỗ trợ khám phá mục mới và tự động hóa quy trình đề xuất. Tác giả phân tích chuyên sâu hai phương pháp nền tảng là lọc dựa trên nội dung (CBF) và lọc dựa trên ngữ cảnh (CARS), so sánh ưu nhược điểm của ba kỹ thuật tích hợp ngữ cảnh (Pre-filtering, Post-filtering, Contextual Modeling). Tiếp đó, chương trình bày chi tiết toán học của GCN: định nghĩa đồ thị, cấu trúc ma trận kề, ma trận bậc, ma trận đặc trưng ban đầu $X \in \mathbb{R}^{n \times d}$, quy trình lan truyền đặc trưng qua phép nhân ma trận chuẩn hóa kèm tự lặp, biến đổi tuyến tính qua ma trận trọng số $W^{(k)}$ và hàm kích hoạt phi tuyến ReLU. Chương kết thúc bằng việc phân tích các ưu điểm về trích xuất cấu trúc phi Euclid cùng các thách thức lý thuyết như over-smoothing và độ phức tạp tính toán.

Chương 2: Đề xuất mô hình mạng tích chập đồ thị của nội dung kết hợp bối cảnh

Chương 2 trình bày kiến trúc mô hình do nhóm tác giả đề xuất, tích hợp tiếp cận mô hình hóa ngữ cảnh (Contextual Modeling) vào GCN.

  • Cấu trúc đồ thị: Tập đỉnh $\mathcal{V}$ bao gồm người dùng ($n_{user}$), phim/mục ($n_{item}$) và ngữ cảnh ($n_{context}$). Yếu tố ngữ cảnh thời gian được chia thành 4 khung giờ trong ngày, tương ứng 4 đỉnh ngữ cảnh.
  • Trọng số cạnh:
    • Cạnh user - item ($w_{ui}$) nhận trực tiếp giá trị điểm đánh giá $R_{ui} \in [1, 5]$.
    • Cạnh context - user ($w_{cu}$) được tính bằng trung bình cộng các điểm đánh giá của người dùng $u$ trong ngữ cảnh $c$: $w_{cu} = \frac{1}{|R_{cu}|} \sum_{r \in R_{cu}} r$.
    • Cạnh context - item ($w_{ci}$) được tính bằng trung bình cộng các điểm đánh giá mà item $i$ nhận được trong ngữ cảnh $c$: $w_{ci} = \frac{1}{|R_{ci}|} \sum_{r \in R_{ci}} r$.
  • Các lớp học sâu:
    • Lớp GCN thứ nhất: $H_1 = \sigma(S X W_1)$ với $W_1 \in \mathbb{R}^{d_{input} \times d_{hidden1}}$.
    • Lớp GCN thứ hai: $H_2 = \sigma(S H_1 W_2)$ với $W_2 \in \mathbb{R}^{d_{hidden1} \times d_{hidden2}}$, tổng hợp thông tin lân cận bậc 2.
    • Lớp GCN thứ ba: $H_3 = S H_2 W_3$ với $W_3 \in \mathbb{R}^{d_{hidden2} \times d_{output}}$.
    • Lớp Multi-head Self-attention: Đặt sau lớp GCN thứ ba, tiếp nhận ma trận đặc trưng $H_3$ để học mối tương quan toàn cục giữa các đỉnh, vượt ra ngoài phạm vi láng giềng cục bộ.
  • Hàm mất mát và tối ưu: Điểm tương tác dự đoán $\hat{y}_{ui}$ tính bằng tích vô hướng giữa embedding của user và item, chuẩn hóa về khoảng $[1, 5]$. Quá trình huấn luyện sử dụng hàm mất mát sai số bình phương trung bình (MSELoss) và thuật toán tối ưu AdamW với tốc độ học $\text{lr} = 0.0004$.

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

Chương 3 tập trung phân tích số liệu thống kê tập dữ liệu và thiết lập thực nghiệm. Dữ liệu MovieLens 100K được phân tích chuyên sâu:

  • Phân bố điểm đánh giá lệch trái, tập trung nhiều ở mức điểm cao (4.0 sao) so với mức điểm thấp (1.0 sao).
  • Thống kê người dùng: 943 người dùng, trung bình 106,04 đánh giá/người, độ lệch chuẩn xấp xỉ 101, trung vị 65 đánh giá; người dùng đánh giá ít nhất là 20 lượt, người dùng tích cực nhất (super user) đạt 737 lượt.
  • Thống kê phim: 1.682 bộ phim, trung bình mỗi phim nhận xấp xỉ 59 đánh giá, độ lệch chuẩn xấp xỉ 80; phim ít nhất có 1 đánh giá, phim nhiều nhất nhận 583 đánh giá. Tỷ lệ tương tác thực tế tạo nên đồ thị có độ thưa thớt cao.
  • Thiết lập đánh giá: Đo lường bằng các chỉ số MAE, Precision, Recall trên tập MovieLens 100K; đo lường bằng RMSE, AUC và kiểm thử cắt bỏ đặc trưng (ablation study với ngưỡng phân loại threshold = 3) trên tập MovieLens 1M so với các phương pháp cơ sở.

Chương 4: Xây dựng hệ khuyến nghị phim sử dụng mô hình đề xuất

Chương 4 mô tả quá trình chuyển giao mô hình nghiên cứu vào sản phẩm phần mềm website hoàn chỉnh. Nhóm tác giả trình bày việc hiện thực hóa các công nghệ nền tảng (PyTorch, Torch Geometric, RAG, AWS Bedrock, Django, FastAPI, MongoDB, PostgreSQL, Docker) và thiết kế hệ thống chức năng phân quyền cho khách truy cập, người dùng thành viên và quản trị viên, kết hợp thử nghiệm toàn bộ giao diện chức năng.

Thiết kế và triển khai hệ thống

Khóa luận tích hợp kiến trúc mô hình học sâu vào một nền tảng ứng dụng web hoàn chỉnh phục vụ người dùng cuối với các thành phần kỹ thuật sau:

Thành phần kỹ thuật Công nghệ / Nền tảng sử dụng Vai trò trong hệ thống
Học sâu & Đồ thị PyTorch, Torch Geometric Xây dựng đồ thị dị cấu, huấn luyện 3 lớp GCN và lớp Multi-head Self-attention
Xử lý ngôn ngữ tự nhiên RAG, AWS Bedrock Xây dựng chatbot thông minh hỗ trợ tra cứu thông tin và tư vấn phim
Hệ thống Backend FastAPI, Django Xây dựng API phục vụ mô hình khuyến nghị và xử lý logic nghiệp vụ web
Hệ thống Cơ sở dữ liệu PostgreSQL, MongoDB Lưu trữ dữ liệu quan hệ (người dùng, đánh giá) và dữ liệu phi cấu trúc
Đóng gói & Vận hành Docker Container hóa các dịch vụ, hỗ trợ triển khai đồng bộ

Hệ thống chức năng được thiết kế và kiểm thử qua các giao diện thực tế gồm:

  • Phân hệ Người dùng & Khách truy cập:
    • Giao diện trang chào mừng (Welcome), trang chủ và khám phá phim.
    • Quản lý định danh: Đăng ký tài khoản, đăng nhập, chỉnh sửa thông tin cá nhân, thay đổi mật khẩu và xóa tài khoản.
    • Tương tác phim: Xem thông tin chi tiết phim, viết bình luận, theo dõi bảng xếp hạng phim nhiều đánh giá (Rating more), danh mục toàn bộ thể loại (All genres) và danh sách lọc theo từng thể loại (ví dụ: Drama).
    • Khuyến nghị & Tìm kiếm: Trang gợi ý cá nhân hóa (Top picks), tìm kiếm phim theo tên, xem trang thống kê lịch sử đánh giá cá nhân.
    • Chatbox RAG: Cửa sổ hội thoại thông minh hỗ trợ người dùng hỏi đáp thông tin điện ảnh và nhận đề xuất tương tác trực tiếp.
  • Phân hệ Quản trị viên (Admin):
    • Trang điều khiển quản lý tổng thể hệ thống, giám sát dữ liệu phim và tài khoản người dùng.

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

Khóa luận đạt được các kết quả cụ thể theo đúng số liệu và nội dung công bố trong báo cáo:

  • Xây dựng thành công kiến trúc mô hình học sâu kết hợp GCN 3 lớp và Multi-head Self-attention, mô hình hóa trực tiếp 4 khung giờ thời gian như các đỉnh ngữ cảnh độc lập liên kết có trọng số với người dùng và phim.
  • Khai thác ma trận kề có trọng số phản ánh cường độ tương tác: gán điểm đánh giá trực tiếp cho cạnh user-item và gán điểm trung bình phân vị cho các cạnh context-user, context-item.
  • Phân tích chi tiết đặc tính dữ liệu trên tập MovieLens 100K và 1M, chỉ rõ sự mất cân bằng đánh giá (lệch trái, phân tán lớn với độ lệch chuẩn người dùng ~101, độ lệch chuẩn phim ~80) và sự thưa thớt của cấu trúc đồ thị.
  • Đánh giá định lượng hiệu quả mô hình qua các bảng so sánh thực nghiệm: Bảng 1 đối chuẩn theo MAE, Precision, Recall trên tập MovieLens 100K; Bảng 2 và Bảng 3 đối chuẩn theo RMSE và AUC trên tập MovieLens 1M (6.040 người dùng); Bảng 4 kiểm chứng thực nghiệm cắt bỏ đặc trưng (ablation study) với ngưỡng threshold = 3.
  • Xây dựng website khuyến nghị phim tích hợp chatbot RAG vận hành trên nền tảng Docker, kết hợp hoàn chỉnh giữa dịch vụ suy luận mô hình học sâu và giao diện người dùng thực tế.

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

Khóa luận tự xác định các hạn chế và hướng mở phát triển như sau:

  • Hạn chế về quy mô triển khai: Mô hình và website dừng lại ở mức độ thử nghiệm chức năng, chưa được triển khai ở quy mô lớn hoặc kiểm thử tải trong môi trường sản xuất thực tế với tệp người dùng thực.
  • Hạn chế về dữ liệu ngữ cảnh: Yếu tố ngữ cảnh trong thực nghiệm mới chỉ khai thác thông tin thời gian đánh giá (chia thành 4 khung giờ), chưa tích hợp đa dạng các chiều ngữ cảnh phức tạp khác như vị trí địa lý, thiết bị truy cập hay trạng thái tâm lý.
  • Hạn chế về thuật toán: Kiến trúc GCN đối mặt với nguy cơ làm mịn quá mức (over-smoothing) khi mở rộng số lớp và gánh nặng chi phí tính toán, bộ nhớ khi quy mô ma trận đồ thị tăng cao.
  • Hướng nghiên cứu tiếp: Mở rộng tập đặc trưng ngữ cảnh, tối ưu hóa thuật toán lấy mẫu đồ thị để giảm tải tính toán trên tập dữ liệu quy mô lớn, thử nghiệm mô hình trong môi trường ứng dụng thực tế và nâng cao năng lực hội thoại của chatbot RAG.

Giá trị tham khảo

Tài liệu khóa luận có giá trị tham khảo chuyên môn rõ nét đối với các nhóm đối tượng sau:

  • Sinh viên và học viên chuyên ngành Trí tuệ nhân tạo, Khoa học dữ liệu: Cung cấp tài liệu tham khảo chi tiết về quy trình chuyển đổi bài toán khuyến nghị truyền thống sang biểu diễn đồ thị dị cấu, phương pháp thiết lập ma trận kề có trọng số và kỹ thuật lập trình mô hình GCN bằng thư viện PyTorch Geometric.
  • Nhà nghiên cứu về hệ khuyến nghị nhạy ngữ cảnh (CARS): Cung cấp phương pháp luận và công thức toán học cụ thể để nhúng trực tiếp các chiều ngữ cảnh (Contextual Modeling) vào mạng nơ-ron đồ thị kết hợp cơ chế Multi-head Self-attention.
  • Kỹ sư phát triển phần mềm ứng dụng AI: Cung cấp kiến trúc tham chiếu hoàn chỉnh cho việc tích hợp mô hình Machine Learning/Deep Learning chuyên sâu với hệ thống web hiện đại (FastAPI, Django, PostgreSQL, Docker) và kỹ thuật nhúng chatbot RAG phục vụ người dùng.

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

1. Khóa luận giải quyết bài toán biểu diễn yếu tố ngữ cảnh vào đồ thị GCN như thế nào?
Nhóm tác giả áp dụng phương pháp mô hình hóa ngữ cảnh (Contextual Modeling) bằng cách đưa ngữ cảnh thành các đỉnh độc lập trong đồ thị $\mathcal{V}$ bên cạnh đỉnh người dùng và phim. Cụ thể, mốc thời gian đánh giá được chia thành 4 khung giờ trong ngày tương ứng 4 đỉnh ngữ cảnh. Trọng số cạnh giữa ngữ cảnh và người dùng ($w_{cu}$), cũng như giữa ngữ cảnh và phim ($w_{ci}$), được xác định bằng giá trị trung bình của các điểm đánh giá phát sinh trong khung giờ tương ứng.

2. Vai trò của lớp Multi-head Self-attention đặt sau các lớp GCN là gì?
Sau khi dữ liệu đi qua 3 lớp GCN để trích xuất đặc trưng lân cận cục bộ, ma trận biểu diễn $H_3$ được đưa vào lớp Multi-head Self-attention. Lớp này cho phép mỗi đỉnh tự động học mức độ liên quan đối với toàn bộ các đỉnh khác trên đồ thị, mở rộng khả năng nắm bắt cấu trúc toàn cục vượt ra ngoài phạm vi láng giềng cục bộ của GCN và khai thác các khía cạnh tương tác tiềm ẩn đa dạng.

3. Bộ dữ liệu MovieLens 100K có đặc điểm phân bố thống kê ra sao theo khảo sát của đề tài?
Dữ liệu phân bố lệch trái với phần lớn điểm đánh giá ở mức cao (khoảng 4.0 sao). Mức độ tương tác có sự phân tán rất lớn: người dùng có số lượng đánh giá trung bình là 106,04 (độ lệch chuẩn ~101, trung vị 65, dao động từ 20 đến 737 đánh giá); phim nhận trung bình khoảng 59 đánh giá (độ lệch chuẩn ~80, dao động từ 1 đến 583 đánh giá), dẫn đến ma trận đồ thị có độ thưa thớt cao.

4. Mô hình được tối ưu hóa bằng hàm mất mát và thuật toán nào?
Quá trình huấn luyện sử dụng hàm mất mát sai số bình phương trung bình (MSELoss) dựa trên sai khác giữa điểm tương tác dự đoán $\hat{y}_i$ và điểm đánh giá thực tế $y_i$. Thuật toán tối ưu hóa được sử dụng là AdamW kết hợp kỹ thuật suy giảm trọng số (weight decay), với tốc độ học được thiết lập cố định ở mức $\text{lr} = 0.0004$.

5. Ứng dụng web được phát triển bằng những công nghệ chính nào để phục vụ người dùng?
Hệ thống kết hợp PyTorch và Torch Geometric để chạy mô hình suy luận GCN, RAG kết hợp AWS Bedrock cho chatbot tư vấn phim, FastAPI và Django cho backend dịch vụ, PostgreSQL và MongoDB cho lưu trữ dữ liệu, toàn bộ giải pháp được đóng gói và triển khai đồng bộ qua Docker.

Kết luận

Khóa luận tốt nghiệp của sinh viên Cao Thị Thu Thủy và Nguyễn Hoàng Việt Pháp đã hoàn thiện giải pháp khuyến nghị phim thông qua việc kết hợp mạng tích chập đồ thị 3 lớp, cơ chế Multi-head Self-attention và kỹ thuật mô hình hóa ngữ cảnh thời gian. Nghiên cứu thực hiện phân tích thống kê và đánh giá thực nghiệm bài bản trên hai bộ dữ liệu chuẩn MovieLens 100K và MovieLens 1M thông qua các chỉ số đo lường học máy chuyên sâu. Đồng thời, đề tài đã chuyển giao thành công kết quả nghiên cứu thành một sản phẩm website hoàn chỉnh tích hợp chatbot RAG, đóng góp giá trị tham khảo rõ ràng cho hướng nghiên cứu hệ thống khuyến nghị dựa trên cấu trúc đồ thị.