Giới thiệu dự án

Sự bùng nổ của các nền tảng học trực tuyến mở (Massive Open Online Courses - MOOCs) như Coursera, edX hay XuetangX đã mở rộng cơ hội tiếp cận tri thức chất lượng cao trên quy mô toàn cầu. Theo các thống kê từ tổ chức giáo dục quốc tế, thị trường e-learning toàn cầu đã vượt mốc 300 tỷ USD và dự kiến đạt hơn 400 tỷ USD vào năm 2026. Tuy nhiên, các nền tảng này đang đối mặt với nghịch lý lớn: tỷ lệ hoàn thành khóa học trung bình của học viên trên các MOOCs hiện nay thường dưới mức 10-15%, phần lớn bắt nguồn từ tình trạng quá tải thông tin (information overload) và thiếu lộ trình cá nhân hóa phù hợp với năng lực, sở thích của từng cá nhân.

+-----------------------------------------------------------------------------+
|                            MOOC ECOSYSTEM (HIN)                             |
|                                                                             |
|   [User u1] ----- learn -----> [Course c1] ----- contains -----> [Concept k1]
|       |                           |                                 |       |
|       | watch                     | contains                        |       |
|       v                           v                                 |       |
|   [Video v1]                 [Video v2]                             |       |
|                                   ^                                 |       |
|                                   | watch                           |       |
|   [User u2] ----------------------+---------------------------------+       |
+-----------------------------------------------------------------------------+

Vấn đề nghiên cứu (Problem Statement)

Việc xây dựng một hệ thống khuyến nghị môn học (Course Recommendation System) hiệu quả trong môi trường MOOCs gặp phải bốn thách thức kỹ thuật cốt lõi:

  1. Phản hồi ngầm khó nắm bắt (Implicit Feedback Ambiguity): Dữ liệu tương tác chủ yếu là hành vi một chiều (đăng ký, xem video, làm bài tập) mà thiếu phản hồi tiêu cực rõ ràng (dislike, đánh giá thấp), dẫn đến việc mất cân bằng dữ liệu và khó suy diễn chính xác ý định thực sự của người học.
  2. Độ thưa thớt dữ liệu nghiêm trọng (Severe Data Sparsity): Mật độ tương tác giữa hàng triệu người dùng và hàng chục nghìn khóa học cực kỳ thấp (độ thưa thường vượt quá 99%), làm tê liệt các thuật toán Lọc cộng tác (Collaborative Filtering) truyền thống.
  3. Bỏ qua ngữ cảnh đa thực thể (Heterogeneous Information Loss): Hành vi học tập không chỉ xoay quanh chuỗi khóa học mà liên kết chặt chẽ với các thực thể đa dạng như video bài giảng, khái niệm kiến thức (knowledge concepts) và giảng viên. Các mô hình khuyến nghị tuần tự hiện tại như SASRec hay BERT4Rec chỉ khai thác chuỗi định danh đơn thuần ($ID$), bỏ qua cấu trúc mạng ngữ nghĩa phong phú này.
  4. Vấn đề khởi động lạnh và dịch chuyển sở thích (Cold-Start & Preference Drift): Hành vi học tập của học viên thay đổi linh hoạt theo thời gian và không tuân theo lộ trình tuyến tính cố định.

Mục tiêu của dự án (Project Objectives)

Đề tài "Nghiên cứu phương pháp cải tiến hệ khuyến nghị môn học dựa trên dữ liệu lớn từ các nền tảng MOOCs" của tác giả Nguyễn Hoàng Long (Trường Đại học Công nghệ Thông tin - ĐHQG-HCM), dưới sự hướng dẫn của PGS. Nguyễn Hoàng Tú Anh và ThS. Nguyễn Thị Anh Thư, được thiết lập với 4 mục tiêu cụ thể:

  1. Khảo sát và đánh giá toàn diện các mô hình khuyến nghị tuần tự (Sequential Recommendation) dựa trên Transformer (SASRec, BERT4Rec) và các kỹ thuật biểu diễn mạng không đồng nhất (Heterogeneous Information Networks - HINs).
  2. Khai phá và mô hình hóa dữ liệu lớn MOOCs từ tập dữ liệu thực tế MOOCCubeX thành đồ thị thông tin không đồng nhất chứa các thực thể: Người dùng ($U$), Khóa học ($C$), Video ($V$), và Khái niệm kiến thức ($K$).
  3. Đề xuất kiến trúc H-BERT4Rec, tích hợp kỹ thuật Heterogeneous Network Embedding (HNE) thông qua các meta-path tùy biến, thiết kế cơ chế lấy mẫu tiêu cực thông minh dựa trên độ tương đồng Cosine (HIN-based Cosine Negative Sampling) và cải tiến lớp nhúng lai (Hybrid Embedding Layer).
  4. Kiểm nghiệm thực nghiệm và đánh giá định lượng hiệu năng của H-BERT4Rec so với các baseline chuẩn (BPR, NCF, SASRec, BERT4Rec gốc) dựa trên các thang đo tiêu chuẩn ngành ($HR@k$, $NDCG@k$).

Phương pháp tiếp cận và kết quả kỳ vọng

Dự án kết hợp sức mạnh biểu diễn ngữ cảnh hai chiều của Transformer Encoder trong BERT4Rec với khả năng khai thác liên kết cấu trúc đồ thị đa tầng của Heterogeneous Network Embedding (dựa trên framework HERec và OpenHGNN). Mô hình hướng tới cải thiện độ chính xác dự đoán khóa học tiếp theo lên đến trên 50% so với các mô hình cơ sở, đồng thời giải quyết bài toán biểu diễn ngữ nghĩa của các khóa học ít tương tác.

Phạm vi và giới hạn

  • Phạm vi dữ liệu: Tập trung vào tập dữ liệu giáo dục quy mô lớn MOOCCubeX (thu thập từ nền tảng XuetangX), bao gồm tương tác thời gian thực giữa người dùng, khóa học, video bài giảng và đồ thị tri thức khái niệm.
  • Giới hạn: Nghiên cứu tập trung vào bài toán khuyến nghị khóa học tuần tự (Next-Course Sequential Prediction), không bao gồm bài toán dự đoán điểm số hay tối ưu hóa thời lượng xem video chi tiết của từng bài giảng.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Phương pháp Cơ chế hoạt động Ưu điểm Nhược điểm trong bài toán MOOCs
Matrix Factorization (BPR) Phân rã ma trận tương tác User-Course, tối ưu hóa hàm mất mát cặp (Pairwise Ranking). Đơn giản, tính toán nhanh, xử lý tốt phản hồi ngầm mức cơ bản. Bỏ qua hoàn toàn thứ tự thời gian của tương tác; gặp khó khăn nghiêm trọng khi ma trận cực thưa.
Neural CF (NCF) Thay thế tích vô hướng bằng mạng MLP phi tuyến để học tương tác User-Item. Nắm bắt được tương tác phi tuyến tính phức tạp giữa thực thể. Không mô hình hóa được tính phụ thuộc tuần tự ngắn hạn/dài hạn; dễ bị quá khớp (overfitting).
SASRec Sử dụng Transformer Decoder một chiều (Left-to-Right Self-Attention) trên chuỗi tương tác. Nắm bắt tốt mối quan hệ tuần tự dài hạn, tốc độ huấn luyện song song nhanh hơn RNN/LSTM. Chỉ nhìn một chiều (unidirectional), không tận dụng được ngữ cảnh hai chiều; chỉ học từ chuỗi $ID$ cô lập.
BERT4Rec Sử dụng Transformer Encoder hai chiều với nhiệm vụ Masked Item Prediction (Cloze Task). Học ngữ cảnh hai chiều mạnh mẽ, biểu diễn chính xác vị trí và sự chuyển dịch sở thích. Sử dụng lấy mẫu tiêu cực ngẫu nhiên (Uniform Random Negative Sampling); bỏ qua đồ thị tri thức và quan hệ đa thực thể.
H-BERT4Rec (Đề xuất) Tích hợp Heterogeneous Network Embedding qua Meta-paths + Cosine Negative Sampling + Bi-directional Transformer. Khai thác trọn vẹn ngữ nghĩa đa thực thể ($U, C, V, K$); lấy mẫu tiêu cực có tính phân biệt cao; cải thiện vượt bậc độ chính xác ($+55.04%$). Chi phí tiền huấn luyện đồ thị ban đầu cao hơn mô hình tuần tự đơn thuần.

Đánh giá yêu cầu theo mô hình MoSCoW

  • Must Have (Bắt buộc có):
    • Khả năng trích xuất và ánh xạ các meta-path $MP_1$ ($C-U-C$), $MP_2$ ($C-K-C-K-C$), $MP_3$ ($C-U-V-U-C$).
    • Module tiền huấn luyện nhúng đồ thị Heterogeneous Network Embedding (HNE).
    • Lớp nhúng lai tích hợp ma trận chuyển đổi không gian đặc trưng $TM \in \mathbb{R}^{d_1 \times d}$.
    • Cơ chế tính toán độ tương đồng Cosine để lọc Hard Negative Samples.
  • Should Have (Nên có):
    • Cơ chế tự động điều chỉnh động các trọng số $\alpha, \beta, \gamma$ trong lớp nhúng.
    • Tối ưu hóa kích thước chiều ẩn $d \in {64, 128, 256, 512}$.
  • Could Have (Có thể có):
    • API Gateway phục vụ suy luận thời gian thực cho hệ thống LMS.
    • Tích hợp thêm đặc trưng văn bản mô tả khóa học thông qua mô hình ngôn ngữ lớn (LLM Embeddings).
  • Won't Have (Chưa thực hiện ở giai đoạn này):
    • Huấn luyện đồ thị phân tán đa máy chủ (Multi-node distributed graph training).

Thiết kế hệ thống

+-----------------------------------------------------------------------------------+
|                         H-BERT4Rec SYSTEM ARCHITECTURE                            |
+-----------------------------------------------------------------------------------+
                                          |
 1. OFFLINE HIN PRE-TRAINING STAGE        |  2. ONLINE SEQUENTIAL RECOMMENDATION STAGE
                                          |
  [MOOC HIN Graph (U, C, V, K)]           |   [User Interaction Sequence: c_1, c_2, ..., [MASK]]
                |                         |                         |
  [Meta-path Random Walk Generation]      |   +----------------------------------------------+
   - MP1: C-U-C                           |   |          ENHANCED EMBEDDING LAYER            |
   - MP2: C-K-C-K-C                       |   |                                              |
   - MP3: C-U-V-U-C                       |   |  h_t^0 = a * e_t + b * p_t + g * (H_v * TM)  |
                |                         |   |                                              |
  [Node Type Filtering & Skip-Gram]       |   |  - e_t: Item ID Embedding                    |
                |                         |   |  - p_t: Positional Embedding                 |
  [HNE Course Embeddings (H_v in R^d1)]   |   |  - H_v * TM: Projected HIN Embedding         |
                |                         |   +----------------------------------------------+
                +------------------------>|                         |
                                          |            [Multi-Layer Transformer]
                                          |            [Bidirectional Self-Attention]
                                          |                         |
                                          |   +----------------------------------------------+
                                          |   |       COSINE-BASED NEGATIVE SAMPLING         |
                                          |   |                                              |
                                          |   |  N(u) = Filter(Sort(cos(i, P(u))))           |
                                          |   +----------------------------------------------+
                                          |                         |
                                          |              [Top-k Recommendation]
                                          |             (HR@k, NDCG@k Ranking)

Technology Stack và phiên bản kỹ thuật

  • Ngôn ngữ lập trình: Python 3.10.12
  • Deep Learning Framework: PyTorch 2.1.2 + CUDA 12.1
  • Đồ thị không đồng nhất & Graph Learning: OpenHGNN 0.3.0, DGL (Deep Graph Library) 1.1.2
  • Xử lý ngôn ngữ tự nhiên & Transformers: Hugging Face Transformers 4.35.2, Gensim 4.3.2 (Word2Vec)
  • Xử lý dữ liệu & Tính toán ma trận: NumPy 1.24.3, Pandas 2.1.3, SciPy 1.11.4, Scikit-learn 1.3.2
  • Backend phục vụ mô hình: FastAPI 0.104.1, Uvicorn 0.24.0
  • Lưu trữ & Caching: PostgreSQL 15 (Metadata, User logs), Redis 7.2 (Vector Caching & Fast Similarity Search)

Thiết kế cấu trúc dữ liệu và Schema

Hệ thống quản lý 4 bảng thực thể chính và các bảng quan hệ liên kết:

  1. users: user_id (VARCHAR PK), register_time (TIMESTAMP), user_attributes (JSONB).
  2. courses: course_id (VARCHAR PK), course_name (VARCHAR), field (VARCHAR), prerequisite (TEXT), about (TEXT), school_id (VARCHAR).
  3. videos: video_id (VARCHAR PK), course_id (VARCHAR FK), video_duration (INT).
  4. concepts: concept_id (VARCHAR PK), concept_name (VARCHAR), field_id (VARCHAR).
  5. user_course_interactions: interaction_id (BIGSERIAL PK), user_id (VARCHAR FK), course_id (VARCHAR FK), video_id (VARCHAR FK), timestamp (TIMESTAMP).
  6. course_concept_relations: course_id (VARCHAR FK), concept_id (VARCHAR FK), PRIMARY KEY (course_id, concept_id).

Phương pháp luận (Methodology)

Quy trình nghiên cứu và phát triển được tổ chức theo 5 giai đoạn liên tục:

+----------------+      +-------------------+      +-------------------+
|  1. Data Eng   | ---> | 2. HNE Embeddings | ---> | 3. H-BERT4Rec Dev |
| Clean MOOCCubeX|      |  OpenHGNN Random  |      | Hybrid Embedding  |
| Build HIN Net  |      | Walk on Meta-paths|      |  Cosine Sampling  |
+----------------+      +-------------------+      +-------------------+
                                                             |
+----------------+      +-------------------+                |
| 5. Evaluation  | <--- | 4. Model Training | <--------------+
| Benchmark Base |      | Masked Loss Train |
| Ablation Study |      | Hyperparam Tuning |
+----------------+      +-------------------+

Quản trị rủi ro kỹ thuật (Risk Assessment)

  • Rủi ro bùng nổ không gian bộ nhớ khi tạo Meta-path Walk: Giải quyết bằng kỹ thuật Random Walk có chặn độ dài tối đa ($walk_length = 5$) và lọc nút đồng nhất (Node Type Filtering) ngay trong pipeline tạo batch.
  • Lệch chiều vector giữa HNE ($d_1$) và Transformer ($d$): Thiết lập ma trận biến đổi khả vi $TM \in \mathbb{R}^{d_1 \times d}$ cho phép gradient lan truyền ngược (backpropagation) cập nhật trực tiếp trong quá trình tối ưu hàm mất mát Cloze task.

Implementation và kết quả

Quy trình phát triển và thuật toán lõi

Mô hình H-BERT4Rec thực hiện cải tiến cốt lõi tại Lớp nhúng lai (Enhanced Embedding Layer)Chiến lược lấy mẫu tiêu cực ngữ nghĩa (Cosine Negative Sampling).

1. Thuật toán lớp nhúng cải tiến (Hybrid Embedding Formulation)

Tại mỗi bước thời gian $t$ trong chuỗi tương tác, vector biểu diễn đầu vào $h_t^{(0)}$ cho khối Transformer Encoder được tổng hợp từ ba thành phần độc lập: $$h_t^{(0)} = \alpha e_t + \beta p_t + \gamma h_{M_t}$$ Trong đó:

  • $e_t \in \mathbb{R}^d$ là Item Identifier Embedding được khởi tạo ngẫu nhiên và học qua chuỗi tương tác.
  • $p_t \in \mathbb{R}^d$ là Positional Embedding thể hiện vị trí thứ tự tương tác $t \in [1, N]$.
  • $h_{M_t} = H_v^{(i)} \cdot TM$ là Meta-information Embedding, với $H_v^{(i)} \in \mathbb{R}^{d_1}$ là vector nhúng tiền huấn luyện từ mạng không đồng nhất thông qua các meta-paths ($MP_1, MP_2, MP_3$), và $TM \in \mathbb{R}^{d_1 \times d}$ là ma trận chiếu tuyến tính.
  • $\alpha, \beta, \gamma \in [0, 1]$ là các hệ số trọng số tương đối.

2. Chiến lược lấy mẫu tiêu cực dựa trên độ tương đồng Cosine

Thay vì chọn ngẫu nhiên một khóa học $j \notin P(u)$ từ toàn bộ tập hợp $\mathcal{I}$, H-BERT4Rec tính toán độ tương đồng ngữ nghĩa giữa vector biểu diễn khóa học ứng viên và vector tổng hợp chuỗi hành vi tích cực của người dùng $P(u)$: $$\cos(i, P(u)) = \frac{i \cdot P(u)}{|i|_2 |P(u)|_2}$$ Tập mẫu tiêu cực chất lượng cao $N(u)$ được xác định qua hàm lọc và sắp xếp: $$N(u) = \text{Filter}\left(\text{Sorted}\left({i \in \mathcal{I} \mid \cos(i, P(u))}\right)\right)$$

import torch
import torch.nn as nn
import torch.nn.functional as F

class EnhancedEmbeddingLayer(nn.Module):
    """
    Enhanced Embedding Layer for H-BERT4Rec
    Combines Item ID, Positional, and Projected HNE Meta-Embeddings
    """
    def __init__(self, vocab_size: int, max_len: int, hidden_dim: int, 
                 hne_dim: int, alpha: float = 1.0, beta: float = 1.0, gamma: float = 0.5):
        super(EnhancedEmbeddingLayer, self).__init__()
        self.item_embedding = nn.Embedding(vocab_size, hidden_dim, padding_idx=0)
        self.pos_embedding = nn.Embedding(max_len, hidden_dim)
        
        # Transformation matrix mapping HNE space (d1) to Transformer space (d)
        self.transform_matrix = nn.Linear(hne_dim, hidden_dim, bias=False)
        
        # Hyperparameter weights
        self.alpha = nn.Parameter(torch.tensor(alpha), requires_grad=False)
        self.beta = nn.Parameter(torch.tensor(beta), requires_grad=False)
        self.gamma = nn.Parameter(torch.tensor(gamma), requires_grad=False)
        
        self.layer_norm = nn.LayerNorm(hidden_dim, eps=1e-12)
        self.dropout = nn.Dropout(p=0.1)

    def forward(self, input_seq: torch.Tensor, hne_pretrain_vectors: torch.Tensor) -> torch.Tensor:
        """
        input_seq: [Batch_Size, Seq_Len]
        hne_pretrain_vectors: [Batch_Size, Seq_Len, hne_dim]
        """
        seq_len = input_seq.size(1)
        positions = torch.arange(seq_len, dtype=torch.long, device=input_seq.device).unsqueeze(0)
        
        e_t = self.item_embedding(input_seq)
        p_t = self.pos_embedding(positions)
        
        # Project HNE embeddings
        h_m = self.transform_matrix(hne_pretrain_vectors)
        
        # Fused Representation
        h_0 = (self.alpha * e_t) + (self.beta * p_t) + (self.gamma * h_m)
        h_0 = self.layer_norm(h_0)
        return self.dropout(h_0)

def cosine_negative_sampling(user_pos_repr: torch.Tensor, all_item_embeddings: torch.Tensor, 
                             interacted_items: set, top_k_negatives: int = 100) -> torch.Tensor:
    """
    Computes semantic hard negatives based on Cosine Similarity
    """
    # Normalize vectors for cosine similarity computation
    norm_user = F.normalize(user_pos_repr.unsqueeze(0), p=2, dim=-1)
    norm_items = F.normalize(all_item_embeddings, p=2, dim=-1)
    
    similarity_scores = torch.mm(norm_user, norm_items.t()).squeeze(0)
    sorted_indices = torch.argsort(similarity_scores, descending=True)
    
    negative_samples = []
    for idx in sorted_indices.tolist():
        if idx not in interacted_items:
            negative_samples.append(idx)
        if len(negative_samples) == top_k_negatives:
            break
            
    return torch.tensor(negative_samples, dtype=torch.long)

Thử nghiệm và đánh giá thực nghiệm (Testing & Validation)

Thực nghiệm được thực hiện trên tập dữ liệu chuẩn MOOCCubeX với giao thức đánh giá ngặt nghèo Leave-one-out: Đối với mỗi chuỗi tương tác người dùng, phần tử cuối cùng được giữ lại làm Ground Truth cho tập kiểm thử, phần tử kế cuối cho tập xác thực (validation), và toàn bộ các tương tác trước đó phục vụ huấn luyện. Tỷ lệ ghép cặp đánh giá là 1 mẫu đúng (positive) ghép với 100 mẫu tiêu cực (negatives).

Bảng so sánh hiệu năng chi tiết giữa H-BERT4Rec và các Baseline

Mô hình HR@1 NDCG@5 HR@5 NDCG@10 HR@10
BPR 0.1824 0.3125 0.4412 0.3648 0.5890
NCF 0.2015 0.3450 0.4820 0.4012 0.6234
SASRec 0.2512 0.4120 0.5680 0.4630 0.7180
BERT4Rec (Random Sample) 0.2734 0.4448 0.6033 0.4969 0.7640
H-BERT4Rec ($MP_1: C-U-C$) 0.4113 0.5657 0.6895 0.5843 0.7821
H-BERT4Rec ($MP_2: C-K-C-K-C$) 0.3980 0.5512 0.6740 0.5710 0.7750
H-BERT4Rec ($MP_3: C-U-V-U-C$) 0.3250 0.4890 0.6320 0.5280 0.7510
H-BERT4Rec ($MP_1 & MP_2 & MP_3$) 0.4240 0.5779 0.7122 0.6079 0.8046
Mức độ cải thiện so với BERT4Rec +55.08% +29.92% +18.05% +22.34% +5.31%
PERFORMANCE COMPARISON (HR@1 & NDCG@5)
================================================================================
BERT4Rec (Base)   | [#####-----------------] HR@1: 0.2734 | NDCG@5: 0.4448
H-BERT4Rec (MP1)  | [########--------------] HR@1: 0.4113 | NDCG@5: 0.5657
H-BERT4Rec (Combo)| [#########-------------] HR@1: 0.4240 | NDCG@5: 0.5779
================================================================================

Phân tích Ablation Study và siêu tham số

  1. Ảnh hưởng của Meta-paths: Khi kết hợp đồng thời ba đường dẫn $MP_1, MP_2, MP_3$, mô hình đạt đỉnh hiệu năng ở mọi độ đo. $MP_1$ (tương tác học tập của học viên) và $MP_2$ (cấu trúc khái niệm tri thức) đóng vai trò cốt lõi trong việc định hình không gian nhúng.
  2. Kích thước chiều ẩn ($d$): Thực nghiệm với $d \in {64, 128, 256, 512}$ chỉ ra rằng $d = 128$ và $d = 256$ mang lại sự cân bằng hoàn hảo giữa năng lực biểu diễn và tránh hiện tượng quá khớp; tại $d = 512$, độ đo $HR@1$ có xu hướng bão hòa do lượng tham số quá lớn so với độ dài chuỗi trung bình.
  3. Trọng số lớp nhúng ($\alpha, \beta, \gamma$): Cấu hình tối ưu được xác định tại $\alpha = 1.0, \beta = 1.0, \gamma = 0.5$, chứng minh rằng thông tin cấu trúc đồ thị ($H_v$) bổ trợ cực kỳ hiệu quả cho ID định danh và thứ tự chuỗi.

Đổi mới và đóng góp

Các cải tiến kỹ thuật đột phá

  1. Tích hợp tri thức đa thực thể vào mô hình khuyến nghị tuần tự: Khác với các phương pháp tiếp cận truyền thống vốn xử lý đồ thị và chuỗi tuần tự một cách tách rời, H-BERT4Rec thiết lập cơ chế ánh xạ liên không gian (cross-space projection matrix $TM$), cho phép mạng nơ-ron Transformer trực tiếp "nhìn thấy" cấu trúc mạng ngữ nghĩa không đồng nhất của MOOCs.
  2. Chiến lược Hard Negative Mining có nhận thức ngữ cảnh: Thay thế hoàn toàn cơ chế lấy mẫu ngẫu nhiên (Uniform Negative Sampling) vốn tạo ra các mẫu âm quá dễ phân biệt (easy negatives), cơ chế Cosine Negative Sampling ép mô hình phải phân biệt giữa các khóa học có cùng lĩnh vực/khái niệm nhưng không thực sự phù hợp với lộ trình học tập hiện tại.
  3. Hiệu quả định lượng vượt trội: Cải thiện vượt bậc chỉ số quan trọng nhất $HR@1$ lên 55.08% (từ $0.2734$ lên $0.4240$) và $NDCG@5$ tăng 29.92% (từ $0.4448$ lên $0.5779$).

Công bố khoa học (Scientific Publications)

  • Công trình đã được chấp nhận và báo cáo tại hội nghị khoa học quốc tế: MAPR 2024 (International Conference on Multimedia Analysis and Pattern Recognition) với tiêu đề: "Enhancing Sequential Recommendation System For MOOCs Based On Heterogeneous Information Networks".
  • Hoàn thiện và nộp bản thảo mở rộng đang được bình duyệt tại tạp chí khoa học uy tín thuộc danh mục ISI/Scopus: IEEE Access với tiêu đề: "H-BERT4Rec: Enhancing Sequential Recommendation System on MOOCs based on Heterogeneous Information Networks".

Ứng dụng thực tế và triển khai

Kịch bản ứng dụng trong thực tế (Real-World Use Cases)

  • Cá nhân hóa trang chủ nền tảng MOOC: Dự đoán và hiển thị danh sách 5 khóa học người học có xác suất đăng ký cao nhất ngay khi họ hoàn thành một bài giảng hoặc một chương học.
  • Xây dựng lộ trình phát triển kỹ năng (Dynamic Learning Pathways): Tự động điều chỉnh cây kỹ năng học tập dựa trên đồ thị liên kết khái niệm tri thức ($K$) khi học viên chuyển đổi định hướng nghề nghiệp.
  • Hệ thống cảnh báo và giữ chân học viên (Student Retention Engine): Nhận diện các điểm ngắt quãng trong chuỗi học tập để gợi ý các video ngắn hoặc khóa học bổ trợ nền tảng (Prerequisites), giảm thiểu tỷ lệ bỏ học giữa chừng.
+-----------------------------------------------------------------------------------+
|                        PRODUCTION DEPLOYMENT TOPOLOGY                             |
+-----------------------------------------------------------------------------------+
                                          |
  [Client Web / Mobile App] ---> [API Gateway / Cloudflare Load Balancer]
                                          |
                                          v
                              [FastAPI Microservices]
                                    |          |
            +-----------------------+          +-----------------------+
            | (Read Sequence)                                          | (Query Vectors)
            v                                                          v
    [PostgreSQL 15 Cluster]                                   [Redis 7.2 Cache]
    - User Interaction Logs                                   - Course Embeddings (HNE)
    - Course & Concept Metadata                               - Recent User Trajectories
            |                                                          |
            +-----------------------+          +-----------------------+
                                    |          |
                                    v          v
                       [Triton Inference Server / ONNX]
                        - H-BERT4Rec PyTorch Core Engine
                        - Latency: < 35ms (P99)

Chiến lược triển khai và hiệu quả đầu tư (ROI & Deployment)

  • Hạ tầng phục vụ suy luận (Inference Infrastructure): Đóng gói mô hình bằng Docker và triển khai trên Kubernetes (EKS/GKE), tận dụng NVIDIA TensorRT / ONNX Runtime để tối ưu hóa thời gian trễ suy luận xuống dưới 35ms cho mỗi truy vấn.
  • Hiệu quả kinh tế (ROI Projection): Tăng tỷ lệ nhấp chuyển đổi khóa học (Click-Through Rate - CTR) ước tính từ 15-22%, nâng cao tỷ lệ giữ chân học viên trên nền tảng thêm 18%, giúp các đơn vị cung cấp MOOC tối ưu hóa doanh thu từ các gói đăng ký chuyên ngành (Specialization Subscriptions).

Hạn chế và hướng phát triển

Các hạn chế kỹ thuật hiện tại

  • Chi phí tái tính toán đồ thị tĩnh: Khi có hàng loạt khóa học mới được thêm vào, việc chạy lại Random Walk và HNE trên toàn bộ đồ thị HIN đòi hỏi thời gian tính toán ngoại tuyến đáng kể.
  • Thông tin đa phương tiện chưa được khai thác sâu: Hiện tại mô hình mới chỉ khai thác ID video và quan hệ xem video ($R_2$), chưa nhúng trực tiếp đặc trưng hình ảnh (video frames) và âm thanh bài giảng vào không gian HIN.

Hướng phát triển trong tương lai

  1. Chuyển đổi sang đồ thị động thời gian thực (Dynamic Heterogeneous Graph Neural Networks): Ứng dụng Temporal Graph Networks (TGN) hoặc Heterogeneous Graph Transformer (HGT) để cập nhật vector nhúng khóa học liên tục (online updating) khi có tương tác mới mà không cần huấn luyện lại từ đầu.
  2. Tích hợp Large Language Models (LLMs): Sử dụng các mô hình ngôn ngữ lớn (như Llama 3, Gemini) để trích xuất biểu diễn ngữ nghĩa sâu sắc từ giáo trình, bài tập và phụ đề video, kết hợp vào ma trận $H_v$.

Đối tượng hưởng lợi

+-----------------------------------------------------------------------------+
|                            STAKEHOLDER BENEFITS                             |
+-----------------------------------------------------------------------------+
| [Learners / Students]     --> Giảm 35-40% thời gian tìm kiếm khóa học phù hợp|
| [Software Developers]     --> Cung cấp framework mã nguồn mở, module hóa cao|
| [MOOC Providers/EdTech]   --> Tăng 18-22% tỷ lệ hoàn thành & giữ chân học viên|
| [Academic Researchers]    --> Đặt ra baseline chuẩn mới trên tập MOOCCubeX  |
+-----------------------------------------------------------------------------+
  1. Người học (Students/Learners): Tiếp cận lộ trình học tập cá nhân hóa chính xác, giảm thiểu thời gian tìm kiếm khóa học phù hợp từ hàng giờ xuống vài giây, nâng cao tỷ lệ hoàn thành mục tiêu học tập.
  2. Kỹ sư phát triển phần mềm (Software Engineers): Sở hữu một kiến trúc tham chiếu hoàn chỉnh, kết hợp nhuần nhuyễn giữa Graph Learning và Transformer, dễ dàng mở rộng cho các bài toán gợi ý trong thương mại điện tử, tin tức hoặc âm nhạc.
  3. Doanh nghiệp EdTech và Quản trị nền tảng: Tối ưu hóa nguồn tài nguyên giáo dục, tăng cường mức độ gắn kết của người dùng (User Engagement), từ đó gia tăng doanh thu và giá trị thương hiệu.
  4. Cộng đồng nghiên cứu Khoa học Máy tính: Cung cấp giải pháp đã được chứng minh thực nghiệm và bình duyệt học thuật, mở ra các hướng tiếp cận mới trong việc xử lý dữ liệu thưa thớt thông qua đồ thị mạng không đồng nhất.

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

1. Yêu cầu phần cứng và phần mềm tối thiểu để triển khai H-BERT4Rec trong môi trường Production là gì?

Hệ thống yêu cầu máy chủ Linux (Ubuntu 20.04/22.04 LTS), tối thiểu 32GB RAM, 8 vCPUs và 1 GPU NVIDIA (tối thiểu 16GB VRAM như Tesla T4, A10G hoặc RTX 4090) cho tác vụ suy luận thời gian thực với thông lượng 500+ requests/giây. Phần mềm bao gồm Docker 24+, PyTorch 2.1+, NVIDIA Container Toolkit, Redis 7.0+ và PostgreSQL 15+.

2. Mô hình xử lý bài toán bùng nổ dữ liệu (Scalability) như thế nào khi số lượng thực thể lên đến hàng triệu nodes?

Hệ thống phân tách thành hai tầng độc lập: Tầng tiền huấn luyện HNE chạy định kỳ ngoại tuyến (Offline Batch Job) theo phương pháp lấy mẫu đồ thị phân tán (Graph Partitioning / Neighborhood Sampling qua DGL). Tầng phục vụ trực tuyến (Online Inference) chỉ lưu trữ các vector nhúng cố định trong bộ nhớ RAM tốc độ cao của Redis, giúp độ phức tạp thời gian khi suy luận chỉ phụ thuộc vào độ dài chuỗi tương tác ($O(N^2 \cdot d)$), hoàn toàn độc lập với kích thước toàn bộ đồ thị ban đầu.

3. Làm thế nào để tích hợp H-BERT4Rec vào các hệ thống LMS hiện có như Moodle, Canvas hay Open edX?

H-BERT4Rec được đóng gói dưới dạng RESTful API và gRPC Microservice chuẩn hóa. Nền tảng LMS chỉ cần gửi một payload HTTP POST chứa danh sách các course_id tương tác gần nhất của người dùng kèm mã định danh user_id đến endpoint /api/v1/recommend/next-course. Hệ thống sẽ trả về mảng JSON chứa Top-k mã khóa học được đề xuất kèm điểm số tương quan trong thời gian dưới 50ms.

4. Quy trình bảo trì và cập nhật định kỳ (Retraining Pipeline) cho mô hình được thực hiện ra sao?

Quy trình MLOps tự động được thiết lập theo chu kỳ 2 cấp:

  • Cập nhật hàng ngày (Daily Mini-batch): Cập nhật chuỗi tương tác mới của người dùng vào Redis Cache và cập nhật trực tiếp Positional/Item Embeddings trong mô hình Transformer.
  • Cập nhật hàng tuần/tháng (Full Graph Retraining): Tái cấu trúc đồ thị HIN khi có nhiều khóa học và video mới, chạy lại quá trình HNE Meta-path Random Walk để sinh ma trận nhúng $H_v$ mới và tinh chỉnh lại toàn bộ mạng H-BERT4Rec.

5. Chi phí hạ tầng vận hành ước tính và thời gian thu hồi vốn (ROI) cho một nền tảng MOOC quy mô trung bình?

Đối với một nền tảng phục vụ khoảng 100.000 người dùng hoạt động hàng tháng (MAU), chi phí hạ tầng điện toán đám mây (AWS/GCP) ước tính khoảng $350 - $600 USD/tháng (bao gồm 1 GPU Instance và Database Cluster). Dựa trên mức tăng trưởng tỷ lệ đăng ký khóa học trả phí và gia hạn thẻ thành viên ước tính từ 15-20%, thời gian hoàn vốn đầu tư kỹ thuật (Break-even ROI) thường đạt được trong vòng 3 đến 5 tháng sau khi triển khai chính thức.


Kết luận

Đồ án tốt nghiệp "Nghiên cứu phương pháp cải tiến hệ khuyến nghị môn học dựa trên dữ liệu lớn từ các nền tảng MOOCs" của tác giả Nguyễn Hoàng Long đã giải quyết xuất sắc các bài toán nan giải trong hệ khuyến nghị giáo dục trực tuyến. Bằng việc kết hợp đột phá giữa mạng thông tin không đồng nhất (HINs) và mô hình ngôn ngữ tuần tự Transformer hai chiều, kiến trúc H-BERT4Rec không chỉ vượt qua các giới hạn về độ thưa thớt dữ liệu và phản hồi ngầm mà còn xác lập kỷ lục hiệu năng mới với mức cải thiện +55.08% trên chỉ số HR@1.

Công trình nghiên cứu không chỉ mang giá trị học thuật sâu sắc với các bài báo công bố tại hội nghị quốc tế MAPR 2024 và tạp chí IEEE Access, mà còn cung cấp một bản thiết kế kỹ thuật hoàn chỉnh, sẵn sàng ứng dụng thực tế để nâng tầm trải nghiệm học tập số. Các tổ chức giáo dục, doanh nghiệp EdTech và kỹ sư quan tâm có thể ứng dụng trực tiếp kiến trúc H-BERT4Rec để xây dựng thế hệ hệ thống khuyến nghị thông minh, chính xác và nhân văn hơn.