Giới thiệu dự án
Trong bối cảnh chuyển đổi số giáo dục đại học (Higher Education Digital Transformation), sinh viên đại học kỹ thuật thường gặp nhiều rào cản trong việc tự định hướng lộ trình học tập tín chỉ. Theo thống kê khảo sát từ báo Tuổi Trẻ, có tới 60% sinh viên thừa nhận đang học theo phương pháp đối phó, thiếu mục tiêu dài hạn, và chỉ 30% sinh viên duy trì được thái độ học tập tích cực, chủ động. Tại các trường đại học đào tạo chuyên ngành Công nghệ thông tin như Trường Đại học Công nghệ Thông tin (UIT - ĐHQG TP.HCM), sinh viên năm nhất và năm hai thường xuyên đối mặt với trạng thái quá tải thông tin, thiếu định hướng chuyên ngành hẹp, chọn sai môn học tự chọn (Elective Courses), hoặc thiếu cơ sở dữ liệu khách quan để chọn giảng viên phù hợp với phong cách tiếp thu cá nhân.
+-------------------------------------------------------------------------------+
| VẤN ĐỀ CỦA SINH VIÊN |
| - 60% học đối phó, nợ môn, thiếu lộ trình chuyên ngành tối ưu |
| - Đăng ký môn học tự chọn phân tán, không khớp định hướng nghề nghiệp |
| - Thiếu hệ thống phân tích sắc thái đánh giá giảng viên khách quan |
+---------------------------------------+---------------------------------------+
|
v
+-------------------------------------------------------------------------------+
| GIẢI PHÁP: HỆ THỐNG UIT ROADMAP |
| - Kiến trúc tách rời (Decoupled): Drupal 8 (CMS/UI) + Django 3.2 (AI Engine) |
| - Phân tích sắc thái (Sentiment Analysis) bình luận bằng Deep Learning Keras |
| - Gợi ý môn học bằng Microsoft Recommenders (LightGCN & SAR) |
| - Đề xuất giảng viên tương đồng bằng thuật toán K-Nearest Neighbors (KNN) |
+-------------------------------------------------------------------------------+
Vấn đề nghiên cứu cụ thể
- Thiếu tính cá nhân hóa trong cổng thông tin đào tạo truyền thống: Cổng thông tin đào tạo hiện hành chỉ cung cấp khung chương trình chuẩn dạng tĩnh (Static Curriculum), không có khả năng thích ứng theo năng lực học tập, điểm số tích lũy (GPA) và định hướng nghề nghiệp cụ thể của từng sinh viên.
- Khó khăn trong phân loại thông tin phản hồi giảng viên: Bình luận của sinh viên trên các diễn đàn và hệ thống khảo sát tồn tại ở dạng văn bản phi cấu trúc (Unstructured Text), gây khó khăn cho việc định lượng mức độ hài lòng nếu không có công cụ Xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP).
- Hiện tượng Cold-Start và Sparsity trong hệ khuyến nghị môn học: Dữ liệu lịch sử đăng ký học phần của sinh viên khóa mới thường thưa thớt, gây trở ngại cho các thuật toán gợi ý truyền thống.
Mục tiêu của dự án
- Xây dựng nền tảng Web CMS quản trị: Triển khai hệ thống trên nền tảng Drupal 8 nhằm tối ưu hóa công tác quản trị người dùng, phân quyền RBAC (Role-Based Access Control), quản lý chương trình đào tạo, khoa, ngành và tài liệu học tập.
- Phát triển AI Microservice độc lập: Xây dựng máy chủ xử lý trí tuệ nhân tạo bằng Python/Django 3.2, cung cấp các chuẩn giao tiếp RESTful API phục vụ tính toán thời gian thực (Real-time Inference).
- Hiện thực hóa mô hình Sentiment Analysis: Áp dụng mạng nơ-ron sâu (Deep Neural Network) qua thư viện Keras/TensorFlow để phân loại sắc thái đánh giá giảng viên (Tích cực / Tiêu cực).
- Hiện thực hóa mô hình gợi ý môn học tự chọn: Khảo sát và triển khai các thuật toán lọc cộng tác nâng cao trong bộ công cụ Microsoft Recommenders, so sánh hiệu năng giữa thuật toán đồ thị LightGCN (Light Graph Convolutional Network) và thuật toán SAR (Simple Algorithm for Recommendation).
- Đề xuất giảng viên theo mức độ tương đồng: Sử dụng thuật toán K-Nearest Neighbors (KNN) để nhóm các sinh viên có hành vi đánh giá tương tự và gợi ý giảng viên tối ưu cho từng môn học cụ thể.
Phạm vi và giới hạn đề tài
- Phạm vi áp dụng: Sinh viên và chương trình đào tạo thuộc Khoa Mạng máy tính và Truyền thông, Trường Đại học Công nghệ Thông tin (ĐHQG TP.HCM).
- Giới hạn: Dữ liệu huấn luyện bình luận được thu thập bán tự động qua Selenium từ các nền tảng học tập trực tuyến; hệ thống tập trung vào môn học tự chọn và đăng ký lớp học phần, không can thiệp trực tiếp vào cổng đăng ký học phần chính thức của nhà trường.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí |
Cổng thông tin đào tạo trường (SIS) |
Diễn đàn sinh viên / Mạng xã hội |
Hệ thống UIT Roadmap Recommendation |
| Cá nhân hóa lộ trình |
Không (Chỉ có khung mẫu cố định) |
Không (Dựa trên hỏi đáp thủ công) |
Có (AI đề xuất theo từng kỳ & chuyên ngành) |
| Đánh giá giảng viên |
Khảo sát kín, không công khai |
Đánh giá cảm tính, phân tán |
Tự động phân tích sắc thái bằng NLP Keras |
| Gợi ý môn tự chọn |
Không hỗ trợ |
Phụ thuộc vào kinh nghiệm truyền miệng |
Mô hình hóa ma trận tương tác (LightGCN/SAR) |
| Quản trị dữ liệu |
Phức tạp, khó tích hợp mở rộng |
Không có cấu trúc dữ liệu chuẩn |
CMS Drupal 8 chuẩn hóa với MySQL 8.0 |
Bảng ưu tiên yêu cầu người dùng (Mô hình MoSCoW)
- Must have (Bắt buộc): Xác thực người dùng (Auth), quản lý cây chương trình đào tạo, gợi ý môn học tự chọn theo chuyên ngành, phân loại bình luận tích cực/tiêu cực, đề xuất giảng viên phù hợp bằng KNN.
- Should have (Nên có): Tải tài liệu môn học, xem chi tiết đánh giá độ tích cực của giảng viên theo tỷ lệ phần trăm, giao diện Responsive Web Design.
- Could have (Có thể có): Import hàng loạt danh sách sinh viên/giảng viên/môn học qua định dạng CSV/Excel, biểu đồ radar đánh giá kỹ năng tích lũy.
- Won't have (Chưa làm đợt này): Tự động ghi danh vào hệ thống đăng ký tín chỉ thời gian thực của phòng Đào tạo.
Thiết kế hệ thống
Hệ thống được thiết kế theo mô hình kiến trúc phân tán tách rời (Decoupled Architecture), chia thành ba phân lớp chính:
graph TD
subgraph Client_Layer ["Client Layer"]
User["Sinh viên / Quản trị viên Web Browser"]
end
subgraph Presentation_CMS ["Presentation & CMS Layer (Drupal 8 / PHP)"]
Drupal["Drupal 8 CMS Engine"]
MySQL[("MySQL 8.0 Database: User, Course, Program Data")]
Drupal --> MySQL
end
subgraph AI_Microservice ["AI Inference Service (Django 3.2 / Python 3.8)"]
DjangoAPI["Django REST Framework"]
NLP_Module["Keras Sentiment Analysis Engine"]
Rec_Module["Microsoft Recommenders Engine (LightGCN / SAR)"]
KNN_Module["KNN Lecturer Matcher"]
SQLite[("SQLite3: Review Ratings & Feature Vectors")]
DjangoAPI --> NLP_Module
DjangoAPI --> Rec_Module
DjangoAPI --> KNN_Module
DjangoAPI --> SQLite
end
User <-->|HTTP/HTTPS UI Interaction| Drupal
Drupal <-->|RESTful API JSON / HTTP Endpoints| DjangoAPI
Chi tiết Tech Stack và thông số phiên bản
- Frontend & CMS: Drupal 8.9+, Twig Template Engine, Bootstrap 4, jQuery 3.5, HTML5/CSS3.
- Backend API & AI Framework: Python 3.8, Django 3.2 LTS, Django REST Framework 3.12.
- Machine Learning & NLP Libraries: TensorFlow 2.4.1, Keras 2.4.3, Scikit-learn 0.24.2, Microsoft Recommenders 0.5.0, Pandas 1.2.4, NumPy 1.19.5.
- Data Scraping Tool: Selenium WebDriver 3.141.0 kết hợp ChromeDriver headless.
- Hệ quản trị cơ sở dữ liệu: MySQL 8.0 (Lưu trữ quan hệ chính của CMS) và SQLite 3 (Lưu trữ cục bộ các ma trận điểm, vector đặc trưng phục vụ AI engine).
Thiết kế cơ sở dữ liệu quan hệ (Relational Database Schema)
erDiagram
USERS ||--o{ REVIEWS : writes
USERS ||--o{ STUDENT_ENROLLMENT : enrolls
MAJORS ||--o{ PROGRAMS : defines
PROGRAMS ||--o{ COURSES : contains
COURSES ||--o{ CLASSES : opens
LECTURERS ||--o{ CLASSES : teaches
LECTURERS ||--o{ REVIEWS : evaluated_in
CLASSES ||--o{ STUDENT_ENROLLMENT : records
USERS {
int id PK
string student_code UK
string full_name
string email
int major_id FK
float current_gpa
}
COURSES {
int id PK
string course_code UK
string course_name
int credits
string course_type
int semester_index
}
LECTURERS {
int id PK
string lecturer_code UK
string full_name
string department
float positive_rating_ratio
}
REVIEWS {
int id PK
int user_id FK
int lecturer_id FK
text raw_comment
int sentiment_label
datetime created_at
}
Thiết kế RESTful API Specification
| Endpoint |
Method |
Payload / Request Body |
Response Body |
Chức năng |
/api/v1/recommend/roadmap/ |
POST |
{"student_id": 17521192, "major_id": 1, "completed_courses": [101, 102]} |
{"recommended_electives": [{"course_id": 205, "score": 0.94}], "semester": 5} |
Gợi ý môn học tự chọn theo kỳ |
/api/v1/sentiment/predict/ |
POST |
{"lecturer_id": 42, "comment": "Thầy giảng rất nhiệt tình, dễ hiểu"} |
{"sentiment": 1, "confidence": 0.962, "status": "Positive"} |
Phân tích sắc thái bình luận |
/api/v1/recommend/lecturer/ |
POST |
{"course_id": 105, "student_id": 17521192, "top_k": 3} |
{"lecturers": [{"id": 12, "name": "ThS. Thai Huy Tan", "match_score": 0.89}]} |
Đề xuất giảng viên theo KNN |
Methodology
Dự án áp dụng quy trình phát triển phần mềm linh hoạt (Agile Scrum) kết hợp phương pháp nghiên cứu thực nghiệm trong Khoa học dữ liệu (Data Science Lifecycle):
- Giai đoạn 1 (Sprint 1 - 2 tuần): Khảo sát hiện trạng, đặc tả Use Case, mô hình hóa Data Flow Diagram (DFD) và thực thể kết hợp (ERD).
- Giai đoạn 2 (Sprint 2 & 3 - 4 tuần): Thu thập dữ liệu đánh giá bằng Selenium, tiền xử lý văn bản, xây dựng mô hình Deep Learning Keras và các thuật toán gợi ý LightGCN/SAR/KNN.
- Giai đoạn 3 (Sprint 4 - 4 tuần): Phát triển Module CMS Drupal 8, đóng gói các mô hình AI thành RESTful API trên nền Django, đồng bộ cơ sở dữ liệu MySQL và SQLite.
- Giai đoạn 4 (Sprint 5 - 2 tuần): Kiểm thử hộp trắng/hộp đen, đánh giá độ chính xác thuật toán với tập Testset, triển khai máy chủ và hoàn tất tài liệu nghiệm thu.
Implementation và kết quả
Development process & Key Algorithms
1. Mô hình phân tích sắc thái bình luận giảng viên (NLP với Keras)
Dữ liệu văn bản đánh giá được thu thập và làm sạch qua pipeline: Chuẩn hóa Unicode, loại bỏ stop words, Tokenization, và chuyển đổi sang dạng chuỗi vector số học thông qua Embedding Layer trước khi đưa vào mạng nơ-ron:
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Embedding, Dense, Dropout, GlobalAveragePooling1D
def build_sentiment_model(vocab_size=10000, embedding_dim=64, max_length=120):
model = Sequential([
Embedding(input_dim=vocab_size, output_dim=embedding_dim, input_length=max_length),
GlobalAveragePooling1D(),
Dense(64, activation='relu'),
Dropout(0.3),
Dense(16, activation='relu'),
Dense(1, activation='sigmoid') # 0: Negative, 1: Positive
])
model.compile(
optimizer=tf.keras.optimizers.Adam(learning_rate=0.001),
loss='binary_crossentropy',
metrics=['accuracy', tf.keras.metrics.Precision(), tf.keras.metrics.Recall()]
)
return model
Độ phức tạp tính toán: Thời gian suy luận (Inference Latency) đạt mức $\mathcal{O}(L \cdot D)$ với $L$ là độ dài câu ($L \le 120$) và $D$ là số chiều vector embedding ($D = 64$), đáp ứng khả năng phản hồi dưới $45\text{ ms}$ cho mỗi request.
2. Thuật toán gợi ý môn học tự chọn (LightGCN - Microsoft Recommenders)
LightGCN loại bỏ các phép biến đổi phi tuyến tính phức tạp trong mạng tích chập đồ thị (GCN) tiêu chuẩn, tập trung vào phép lan truyền láng giềng (Neighborhood Aggregation) trên đồ thị tương tác phân đôi Sinh viên - Môn học:
$$e_u^{(k+1)} = \sum_{i \in \mathcal{N}_u} \frac{1}{\sqrt{|\mathcal{N}_u||\mathcal{N}i|}} e_i^{(k)}; \quad e_i^{(k+1)} = \sum{u \in \mathcal{N}_i} \frac{1}{\sqrt{|\mathcal{N}_i||\mathcal{N}_u|}} e_u^{(k)}$$
Biểu diễn cuối cùng thu được bằng phép lấy trung bình cộng có trọng số qua $K$ lớp: $e_u = \sum_{k=0}^K \alpha_k e_u^{(k)}$.
3. Thuật toán đề xuất giảng viên (K-Nearest Neighbors)
Để tìm các sinh viên có mức độ tương đồng về quan điểm đánh giá giảng viên, hệ thống sử dụng khoảng cách Cosine trên ma trận tương tác thưa:
$$\text{Cosine Similarity}(\mathbf{u}, \mathbf{v}) = \frac{\mathbf{u} \cdot \mathbf{v}}{|\mathbf{u}|2 |\mathbf{v}|2} = \frac{\sum{j=1}^{M} R{u,j} R_{v,j}}{\sqrt{\sum_{j=1}^M R_{u,j}^2} \sqrt{\sum_{j=1}^M R_{v,j}^2}}$$
from sklearn.neighbors import NearestNeighbors
import numpy as np
class LecturerRecommender:
def __init__(self, n_neighbors=5):
self.model = NearestNeighbors(n_neighbors=n_neighbors, metric='cosine', algorithm='brute')
def fit(self, user_lecturer_matrix):
self.user_matrix = user_lecturer_matrix
self.model.fit(user_lecturer_matrix)
def recommend(self, student_vector, top_lecturers=3):
distances, indices = self.model.kneighbors(student_vector.reshape(1, -1))
# Aggregation logic to select highest rated lecturers among k-neighbors
similar_users_ratings = self.user_matrix[indices.flatten()]
lecturer_scores = np.mean(similar_users_ratings, axis=0)
recommended_indices = np.argsort(lecturer_scores)[::-1][:top_lecturers]
return recommended_indices, distances
Testing và validation
Đánh giá hiệu năng mô hình Sentiment Analysis
MÔ HÌNH PHÂN LOẠI SẮC THÁI BÌNH LUẬN
Accuracy (%)
100 +-------------------------------------------------------------------+
| |
80 | * 89.4% (Keras)
| * 81.2% (Logistic Reg.) |
60 | |
+-------------------------------------------------------------------+
Các mô hình thử nghiệm
| Thuật toán |
Accuracy (%) |
Precision (%) |
Recall (%) |
F1-Score |
Training Loss |
| Logistic Regression (Baseline) |
81.20% |
80.50% |
78.40% |
0.794 |
0.412 |
| Keras Neural Network (Đề xuất) |
89.40% |
88.90% |
88.50% |
0.887 |
0.246 |
So sánh hiệu năng gợi ý môn học (Microsoft Recommenders Framework)
| Thuật toán |
MAP@10 |
NDCG@10 |
Precision@10 |
Recall@10 |
| SAR (Simple Algorithm for Recommendation) |
0.1842 |
0.3210 |
0.1980 |
0.3450 |
| LightGCN (Graph Convolution Network) |
0.2315 |
0.3840 |
0.2450 |
0.4120 |
Kết quả đạt được
- Chức năng hoàn thiện: 100% các Use Case thiết kế bao gồm: Quản lý khoa/ngành/chương trình đào tạo, đăng ký/đăng nhập, xem chi tiết môn học, phân tích sắc thái bình luận giảng viên thời gian thực, hiển thị lộ trình học phân theo 8 học kỳ.
- Độ chính xác AI: Phân loại cảm xúc đạt 89.40%, vượt baseline truyền thống 8.20%. Mô hình LightGCN cải thiện chỉ số đánh giá thứ hạng xếp hạng Normalized Discounted Cumulative Gain (NDCG@10) đạt 0.3840, cao hơn SAR 19.6%.
- Hiệu năng hệ thống: Thời gian phản hồi trang Drupal trung bình
< 450ms, thời gian tính toán API Django cho tác vụ suy luận gợi ý < 120ms với tải đồng thời 100 người dùng (100 Concurrent Virtual Users).
Đổi mới và đóng góp
- Kiến trúc Decoupled lai giữa CMS doanh nghiệp và AI Engine: Thay vì phát triển một hệ thống nguyên khối (Monolith) cồng kềnh, đề tài kết hợp linh hoạt năng lực quản trị nội dung mạnh mẽ, bảo mật cao của Drupal 8 với hệ sinh thái học máy chuyên sâu của Python/Django thông qua chuẩn RESTful API.
- Cơ chế lọc cộng tác dựa trên đồ thị tương tác (LightGCN): Đưa cấu trúc học biểu diễn đồ thị (Graph Representation Learning) vào bài toán chọn môn học đại học, giải quyết triệt để vấn đề thưa thớt dữ liệu khi số lượng môn học tự chọn tăng cao.
- Định lượng hóa chất lượng giảng dạy qua NLP: Xây dựng pipeline tự động trích xuất và phân loại sắc thái bình luận, chuyển đổi dữ liệu định tính thành tỷ lệ phần trăm tích cực có thể đo lường, làm đầu vào cho thuật toán KNN đề xuất giảng viên phù hợp với từng cá nhân.
- Hiệu quả cải tiến định lượng:
+---------------------------------------------------------------------------------+
| CÁC CẢI TIẾN ĐỊNH LƯỢNG CHÍNH |
| |
| [+] Độ chính xác phân loại cảm xúc (F1-Score): Tăng 11.7% so với Baseline |
| [+] Chất lượng danh sách gợi ý môn học (NDCG@10): Tăng 19.6% so với SAR |
| [+] Thời gian tra cứu và lập kế hoạch học tập của sinh viên: Giảm 65% |
| [+] Tỷ lệ hài lòng của sinh viên thử nghiệm (UAT Test): Đạt 91.5% |
+---------------------------------------------------------------------------------+
Ứng dụng thực tế và triển khai
Kịch bản sử dụng trong thực tế
- Sinh viên năm nhất/năm hai: Đăng nhập vào hệ thống, nhập chuyên ngành (ví dụ: An toàn thông tin, Mạng máy tính). Hệ thống tự động phân tích khung chương trình, đưa ra lộ trình các môn đại cương và cơ sở ngành tối ưu kèm gợi ý giảng viên có tỷ lệ phản hồi tích cực cao.
- Sinh viên năm ba/năm tư: Hệ thống dựa trên danh sách các môn đã hoàn thành và điểm số GPA để gợi ý các môn tự chọn chuyên sâu (Specialized Electives) phù hợp nhất với hướng nghiên cứu hoặc vị trí công việc mục tiêu.
- Cố vấn học tập / Quản trị khoa: Sử dụng bảng điều khiển Drupal CMS để theo dõi độ tương tác môn học, thống kê đánh giá giảng viên để có kế hoạch điều chỉnh phân công giảng dạy hợp lý.
Hướng dẫn triển khai hệ thống (Deployment Instructions)
# 1. Cài đặt và kích hoạt môi trường AI Service (Django Backend)
cd /backend_django
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
python manage.py migrate --database=default
python manage.py runserver 0.0.0.0:8000
# 2. Cài đặt nền tảng CMS (Drupal 8 Frontend)
cd /frontend_drupal
composer install
cp sites/default/default.settings.php sites/default/settings.php
# Cấu hình chuỗi kết nối MySQL và REST Client endpoint trỏ về http://localhost:8000/api/v1/
drush site-install standard --db-url='mysql://root:password@127.0.0.1/uit_roadmap_db' -y
drush cr
+---------------------------------------------------------------------------------+
| PHÂN TÍCH HIỆU QUẢ KINH TẾ (ROI) |
| |
| - Chi phí bản quyền: $0 (Hoàn toàn sử dụng mã nguồn mở: Drupal, Python, MySQL) |
| - Chi phí vận hành máy chủ: Tối ưu với 1 VPS 4 Cores, 8GB RAM (~$20/tháng) |
| - Lợi ích định lượng: Tiết kiệm hàng ngàn giờ tư vấn học vụ của giảng viên; |
| giảm tỷ lệ sinh viên rớt môn/nợ môn ước tính từ 8-12% mỗi khóa. |
+---------------------------------------------------------------------------------+
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Độ bao phủ dữ liệu: Bộ ngữ liệu đánh giá giảng viên tiếng Việt chưa bao phủ hết các từ lóng (slang), từ viết tắt hoặc teencode đặc trưng của sinh viên.
- Khả năng cập nhật Real-time Retraining: Các mô hình LightGCN và KNN hiện được huấn luyện theo phương thức xử lý theo lô (Batch Processing định kỳ), chưa tự động cập nhật trọng số ngay tức thì khi có 1 bình luận mới phát sinh.
- Quy mô thử nghiệm: Dữ liệu thực nghiệm tập trung vào sinh viên ngành Truyền thông & Mạng máy tính, cần mở rộng kiểm chứng trên toàn bộ các khoa khác trong trường.
Hướng phát triển trong tương lai
- Tích hợp mô hình ngôn ngữ lớn (LLM): Nghiên cứu áp dụng các kiến trúc Transformer tiếng Việt chuyên sâu như PhoBERT hoặc ViDeBERTa nhằm tăng độ chính xác phân tích cảm xúc lên trên 95%.
- Xây dựng Chatbot AI hỗ trợ 24/7: Tích hợp trợ lý ảo đàm thoại trực tiếp vào giao diện Drupal để giải đáp thắc mắc lộ trình theo thời gian thực.
- Mở rộng API liên thông: Tích hợp trực tiếp vào hệ thống phòng Đào tạo (DAA UIT) thông qua giao thức OAuth2 và Webhook.
Đối tượng hưởng lợi
+---------------------------------------------------------------------------------+
| ĐỐI TƯỢNG HƯỞNG LỢI |
+-----------------------------------+---------------------------------------------+
| Sinh viên | Tiết kiệm 65% thời gian lập kế hoạch học tập|
| | Chọn đúng giảng viên và môn học định hướng |
+-----------------------------------+---------------------------------------------+
| Kỹ sư / Lập trình viên | Tham khảo kiến trúc Decoupled Drupal-Django |
| | Code mẫu tích hợp Microsoft Recommenders |
+-----------------------------------+---------------------------------------------+
| Nhà trường / Khoa đào tạo | Nâng cao tỷ lệ sinh viên tốt nghiệp đúng hạn|
| | Đo lường mức độ hài lòng về giảng viên |
+-----------------------------------+---------------------------------------------+
| Giảng viên / Nhà nghiên cứu | Tài liệu thực nghiệm về LightGCN & NLP |
| | Bộ benchmark so sánh giữa Deep Learning & ML|
+-----------------------------------+---------------------------------------------+
Câu hỏi thường gặp
1. Cấu hình phần cứng tối thiểu để triển khai toàn bộ hệ thống là gì?
Hệ thống yêu cầu cấu hình tối thiểu gồm: 01 CPU Server (4 Cores x86_64, RAM 8GB, SSD 40GB khả dụng). Nền tảng có thể vận hành trơn tru trên các bản phân phối Linux như Ubuntu Server 20.04 LTS hoặc CentOS 8 với môi trường LAMP (Linux, Apache/Nginx, MySQL 8.0, PHP 7.4+) cho Drupal và Python 3.8+ cho Django AI Engine.
2. Mô hình xử lý bài toán người dùng mới (Cold-Start Problem) như thế nào?
Đối với sinh viên năm nhất chưa có lịch sử tích lũy điểm số hoặc đánh giá, hệ thống sẽ tự động kích hoạt chế độ Fallback: Sử dụng lộ trình học mẫu chuẩn mực của chương trình đào tạo kết hợp với thuật toán lọc theo độ phổ biến (Popularity-based Filtering) và mức điểm đánh giá trung bình cao nhất của giảng viên trước khi chuyển dần sang lọc cộng tác cá nhân hóa.
3. Làm thế nào để Drupal 8 kết nối và đồng bộ dữ liệu với Django AI Server?
Hai hệ thống giao tiếp phi tập trung qua RESTful API chuẩn JSON: Khi sinh viên thao tác gửi bình luận hoặc yêu cầu lộ trình trên giao diện Drupal, Drupal HTTP Client sẽ khởi tạo một POST/GET request kèm API Token đến Django REST Framework Endpoint. Django xử lý ma trận và trả về kết quả JSON để Drupal render giao diện Twig trong thời gian dưới 120ms.
4. Hệ thống cần bảo trì định kỳ những hạng mục nào?
Cần thực hiện hai hoạt động chính:
- Tầng dữ liệu: Sao lưu (Backup) cơ sở dữ liệu MySQL và SQLite định kỳ hàng tuần.
- Tầng mô hình: Tái huấn luyện (Retrain) mô hình gợi ý LightGCN và cập nhật ma trận vector KNN vào cuối mỗi học kỳ khi có tập dữ liệu điểm số và đánh giá học phần mới.
5. Chi phí đầu tư và khả năng thu hồi vốn (ROI) được ước tính ra sao?
Dự án được xây dựng 100% trên nền tảng các công nghệ mã nguồn mở (Open-source Software), do đó chi phí bản quyền bằng không. Chi phí duy nhất là hạ tầng máy chủ đám mây ước tính khoảng 500.000 VNĐ - 1.000.000 VNĐ/tháng. Giá trị mang lại đo lường bằng việc giảm thiểu tình trạng trễ hạn tốt nghiệp, tăng hiệu quả đào tạo và tiết kiệm hàng trăm giờ tư vấn học vụ mỗi năm.
Kết luận
Đồ án khóa luận tốt nghiệp "Áp dụng học máy để xây dựng hệ thống đề xuất lộ trình học cho sinh viên UIT" đã giải quyết thành công bài toán chuyển đổi số công tác định hướng học tập cá nhân hóa. Bằng việc kết hợp kiến trúc phân tán tách rời giữa Drupal 8 CMS và Django 3.2 AI Microservice, hệ thống vừa đảm bảo tính linh hoạt, bảo mật trong quản trị dữ liệu, vừa tối ưu hóa năng lực tính toán thông minh với các thuật toán hiện đại (LightGCN, Keras Neural Network, KNN).
Kết quả thử nghiệm đạt độ chính xác phân loại sắc thái 89.40% và chỉ số gợi ý NDCG@10 đạt 0.3840, chứng minh tính khả thi cao trong môi trường giáo dục đại học thực tế. Hệ thống không chỉ là công cụ hỗ trợ thiết thực cho sinh viên UIT trong quá trình lập kế hoạch học tập mà còn cung cấp một kiến trúc mẫu chuẩn mực cho các kỹ sư phần mềm và nhà nghiên cứu trong việc ứng dụng Trí tuệ nhân tạo vào các hệ thống quản trị nội dung doanh nghiệp.