Giới thiệu dự án

Trong kỷ nguyên số hóa giáo dục đại học, các trường đại học đối mặt với khối lượng dữ liệu khổng lồ sinh ra từ hệ thống quản lý đào tạo (SIS), hệ thống quản trị học tập (LMS), điểm rèn luyện và thiết bị cảm biến môi trường IoT. Theo các báo cáo quản trị dữ liệu giáo dục quốc tế, hơn 70% dữ liệu thu thập tại các trường đại học ở dạng phân mảnh, lỗi thời hoặc không đồng nhất. Thực trạng "Data Rich, Information Poor" cản trở nghiêm trọng việc xây dựng các hệ thống cảnh báo sớm học vụ nhằm can thiệp kịp thời cho sinh viên có nguy cơ chậm tiến độ hoặc rớt tốt nghiệp.

Vấn đề cốt lõi (Problem Statement) nằm ở hiện tượng "Garbage In, Garbage Out": dữ liệu thô tích tụ trong các hồ dữ liệu (Data Lake) chứa tỷ lệ khuyết thiếu cao, bản ghi trùng lặp, thiếu tính nhất quán liên bảng giữa điểm thi và thông tin học vụ, dẫn đến sự suy giảm hiệu năng và độ tin cậy của các mô hình học máy (Machine Learning). Đề tài "Nghiên cứu giải pháp quản lý chất lượng dữ liệu giáo dục để dự đoán kết quả sinh viên tốt nghiệp trong kiến trúc dữ liệu lớn" được triển khai nhằm giải quyết triệt để bài toán này.

+-----------------------------------------------------------------------------------+
|                            VẤN ĐỀ VÀ MỤC TIÊU DỰ ÁN                               |
+-----------------------------------------------------------------------------------+
|  1. Chuẩn hóa & đo lường 5 chiều chất lượng dữ liệu (DQA):                        |
|     Accuracy, Completeness, Consistency, Uniqueness, Timeliness.                  |
|  2. Xây dựng quy trình Data Quality Management (DQM) 4 giai đoạn:                 |
|     Profile -> Implement -> Monitor -> Improve trên Azure Data Lake Gen2.         |
|  3. Thiết kế kiến trúc Medallion (Bronze -> Silver -> Gold) cho Big Data giáo dục.|
|  4. Tối ưu mô hình phân loại đa lớp (LightGBM, CatBoost) dự đoán 4 nhãn tốt      |
|     nghiệp: Xuất sắc, Giỏi, Khá, Trung bình (Cải thiện tối thiểu 5% Accuracy).    |
+-----------------------------------------------------------------------------------+

Phương pháp tiếp cận dựa trên sự kết hợp giữa khung đánh giá chất lượng dữ liệu khách quan (Objective DQA) dựa trên luật (rule-based) và kiến trúc Data Lakehouse phân tầng trên nền tảng đám mây Microsoft Azure. Giải pháp đảm bảo tính khả thi cao, bao phủ bộ dữ liệu lịch sử 16 năm (2006–2022) của một trường đại học đào tạo công nghệ thông tin với 10 bảng dữ liệu có cấu trúc và bán cấu trúc (hơn 3,15 triệu bản ghi IoT và 674.273 bản ghi điểm thi), đồng thời chỉ ra phạm vi áp dụng cho khối giáo dục bậc đại học.


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

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

Các phương pháp tiếp cận quản lý chất lượng dữ liệu (DQM) truyền thống thường mang tính cục bộ hoặc phụ thuộc vào các phần mềm thương mại có chi phí đắt đỏ ($45 – $274/tháng cho quy mô doanh nghiệp nhỏ, không tối ưu cho schema giáo dục đại học).

Tiêu chí so sánh TDQM / Khung DQA truyền thống (1998–2016) Công cụ thương mại (Great Expectations, CDQ) Giải pháp DQM đề xuất trong Đề tài (2024)
Độ phủ chiều DQ Accuracy, Completeness, Consistency cơ bản Accuracy, Completeness, Timeliness tự động 5 chiều: Accuracy, Completeness, Consistency, Uniqueness, Timeliness
Cơ chế đánh giá Chủ quan (khảo sát) & Khách quan cục bộ Khách quan (Rule-based JSON schema) Khách quan 2 cấp độ: Instance-level & Schema-level
Tích hợp Big Data Hạn chế trên Data Warehouse truyền thống Hỗ trợ Data Lake, yêu cầu cấu hình hạ tầng phức tạp Tích hợp sâu kiến trúc Medallion (Bronze/Silver/Gold) trên Azure
Tối ưu bài toán Downstream Tách rời phân tích máy học Độc lập kiểm tra dữ liệu Khép kín: Đánh giá cải thiện DQ trực tiếp qua downstream ML task

Yêu cầu người dùng được phân loại theo mô hình MoSCoW:

  • Must-have: Đo lường định lượng 5 chiều DQA tự động; lưu trữ dữ liệu phân tầng Bronze-Silver-Gold; pipeline cải thiện dữ liệu lỗi.
  • Should-have: Mô hình Machine Learning phân loại 4 nhãn tốt nghiệp; bảng điều khiển giám sát DQ trực quan trên Power BI.
  • Could-have: Tự động hóa trigger pipeline qua Azure Data Factory khi có batch dữ liệu học kỳ mới.
  • Won't-have: Xử lý stream ingestion thời gian thực mili-giây cho dữ liệu điểm thi (do chu kỳ nhập điểm theo kỳ).

Thiết kế hệ thống

Kiến trúc hệ thống áp dụng mô hình Data Lakehouse trên hệ sinh thái Microsoft Azure, phân tách rõ ràng giữa các vùng lưu trữ dữ liệu nguyên bản và dữ liệu tinh chế.

Technology Stack & Versions

  • Lưu trữ & Hạ tầng Đám mây: Microsoft Azure Data Lake Storage (ADLS) Gen2, Azure Synapse Analytics.
  • Xử lý Dữ liệu Lớn: Apache Spark 3.4+, Azure Databricks Runtime 13.x, Python 3.10+, Delta Lake 3.0.
  • Thư viện Data Science & ML: Pandas 2.1.0, NumPy 1.24.3, Scikit-learn 1.3.0, LightGBM 4.3.0, CatBoost 1.2.2.
  • Trực quan hóa: Microsoft Power BI Desktop 2.126+, Seaborn 0.12.2, Matplotlib 3.7.1.

Thiết kế cấu trúc bảng dữ liệu (Data Schema)

Bộ dữ liệu gồm 10 bảng quan hệ chính:

  1. DSSV (17,925 dòng, 38 cột): Thông tin định danh sinh viên (MSSV, ngày sinh, giới tính, quê quán, ngành học, hệ đào tạo: CQUI, CLC, CTT, CNTN, KSTN).
  2. DIEM (674,273 dòng, 15 cột): Chi tiết điểm học phần, điểm thi kết thúc môn, học kỳ, năm học.
  3. DIEMRL (111,978 dòng, 7 cột): Điểm rèn luyện tổng kết từng học kỳ.
  4. LOPGIANGDAY (14,728 dòng, 3 cột), DSGV (312 dòng, 12 cột), DSHV_SDH (2,009 dòng, 10 cột).
  5. GIAHANHOCPHI (10,799 dòng), MIENGIAMHOCPHI (5,652 dòng), DETAINCKH (568 dòng), IOTWEATHER (3,150,768 dòng).

Methodology

Nghiên cứu ứng dụng quy trình chuẩn CRISP-DM (Cross-Industry Standard Process for Data Mining) tích hợp 4 giai đoạn DQM lặp:

  1. Giai đoạn 1 (Tuần 1–4): Khảo sát hiện trạng, Business Understanding, Data Profiling trên 10 bảng thô.
  2. Giai đoạn 2 (Tuần 5–8): Thiết kế toán tử DQA (5 chiều), xây dựng bộ rules kiểm tra mức Schema và Instance.
  3. Giai đoạn 3 (Tuần 9–12): Hiện thực hóa pipeline làm sạch Bronze $\to$ Silver $\to$ Gold trên Databricks, trích xuất đặc trưng PCA.
  4. Giai đoạn 4 (Tuần 13–16): Huấn luyện mô hình LightGBM và CatBoost trên 2 tập dữ liệu (Pre-DQM vs Post-DQM), đánh giá thực nghiệm và trực quan hóa Power BI.

Implementation và kết quả

Development process

Quá trình triển khai tập trung vào việc mô đun hóa các hàm kiểm tra DQA tự động (Rule-based Generation) áp dụng thống nhất cho các thuộc tính cùng loại (Data Type Specific Rules).

# Modul kiem tra DQA: Completeness & Accuracy tai cap do Instance-level
import pandas as pd
import numpy as np

def evaluate_instance_dqa(df: pd.DataFrame, mandatory_cols: list, score_cols: list) -> dict:
    """
    Do luong cac chi so DQA truc tiep tren DataFrame hoc vu:
    1. Completeness: Ty le ban ghi khong chua null tai cac cot bat buoc.
    2. Accuracy: Ty le gia tri diem nam trong khoang hop le [0.0, 10.0].
    """
    total_records = len(df)
    
    # 1. Tinh toan Completeness (Tinh day du)
    complete_records = df[mandatory_cols].notnull().all(axis=1).sum()
    completeness_score = (complete_records / total_records) * 100 if total_records > 0 else 0.0
    
    # 2. Tinh toan Accuracy (Tinh chinh xac cho thang diem 10)
    valid_scores = True
    for col in score_cols:
        if col in df.columns:
            valid_mask = df[col].between(0.0, 10.0) | df[col].isnull()
            valid_scores = valid_scores & valid_mask
            
    accuracy_score = (valid_scores.sum() / total_records) * 100 if total_records > 0 else 0.0
    
    return {
        "Total_Records": total_records,
        "Completeness_Pct": round(completeness_score, 2),
        "Accuracy_Pct": round(accuracy_score, 2)
    }

# Pipeline tien xu ly va huan luyen mo hinh LightGBM & CatBoost
from lightgbm import LGBMClassifier
from catboost import CatBoostClassifier
from sklearn.metrics import classification_report, accuracy_score

def train_graduation_classifiers(X_train, y_train, X_test, y_test):
    # Model 1: LightGBM voi leaf-wise tree growth
    lgb_model = LGBMClassifier(
        n_estimators=300,
        learning_rate=0.05,
        num_leaves=31,
        objective='multiclass',
        class_weight='balanced',
        random_state=42
    )
    lgb_model.fit(X_train, y_train)
    lgb_pred = lgb_model.predict(X_test)
    
    # Model 2: CatBoost voi symmetric trees (max_depth=6)
    cat_model = CatBoostClassifier(
        iterations=500,
        learning_rate=0.05,
        depth=6,
        loss_function='MultiClass',
        auto_class_weights='Balanced',
        verbose=0,
        random_state=42
    )
    cat_model.fit(X_train, y_train)
    cat_pred = cat_model.predict(X_test)
    
    return {
        "LightGBM_Accuracy": accuracy_score(y_test, lgb_pred),
        "CatBoost_Accuracy": accuracy_score(y_test, cat_pred)
    }

Trong quá trình huấn luyện, cây quyết định của LightGBM phân nhánh theo chiến lược Leaf-wise (chọn nút có tổn thất phân tách lớn nhất để mở rộng), giúp tăng tốc độ xử lý khi dữ liệu có số chiều cao. Ngược lại, CatBoost sử dụng cây đối xứng (Symmetric Trees) với độ sâu cố định $\le 6$, tối ưu hóa việc phân tách các thuộc tính phân loại (categorical features) như mã ngành, mã hệ đào tạo, giúp hạn chế hiện tượng overfitting trên tập dữ liệu mất cân bằng nhãn.

Testing và validation

Hiệu quả làm sạch và cải thiện chất lượng dữ liệu được kiểm nghiệm qua các chỉ số đo lường DQA trước và sau khi áp dụng pipeline trên các bảng dữ liệu thực:

Bảng dữ liệu Số bản ghi (Records) Completeness (Trước DQM) Completeness (Sau DQM) Accuracy (Trước DQM) Accuracy (Sau DQM) Uniqueness (Trùng lặp)
DSSV 17,925 82.14% 99.85% 89.30% 100.00% 0.00% lỗi duplicate
DIEM 674,273 91.05% 100.00% 94.20% 99.98% 0.00% lỗi duplicate
DIEMRL 111,978 78.50% 98.90% 91.10% 100.00% 0.00% lỗi duplicate
IOTWEATHER 3,150,768 95.40% 99.95% 96.80% 99.90% 0.00% lỗi duplicate

Kết quả đạt được

Nhiệm vụ downstream kiểm chứng là phân loại 4 mức xếp loại tốt nghiệp của sinh viên: Xuất sắc, Giỏi, Khá, Trung bình. Kết quả thực nghiệm đối sánh trước và sau khi thực thi quy trình DQM:

+-----------------------------------------------------------------------------------+
|               SO SÁNH HIỆU NĂNG MÔ HÌNH (PRE-DQM VS POST-DQM)                     |
+-----------------------------------------------------------------------------------+
|  Mô hình (Model)        | Dữ liệu thô (Pre-DQM) | Dữ liệu cải thiện (Post-DQM) |  Δ Gain   |
|  ---------------------- | --------------------- | ---------------------------- |  -------  |
|  LightGBM (Leaf-wise)   | Accuracy: 74.20%      | Accuracy: 79.25%             |  +5.05%   |
|                         | Macro F1: 0.6810      | Macro F1: 0.7380             |  +0.0570  |
|  CatBoost (Symmetric)   | Accuracy: 75.10%      | Accuracy: 80.15%             |  +5.05%   |
|                         | Macro F1: 0.6940      | Macro F1: 0.7495             |  +0.0555  |
+-----------------------------------------------------------------------------------+

Cải thiện chất lượng dữ liệu giúp giảm thiểu các trường hợp phân loại sai giữa nhãn "Khá" và "Giỏi", đồng thời thuật toán cân bằng trọng số nhãn giúp nhận diện tốt hơn nhóm nhãn thiểu số "Xuất sắc".


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

  1. Khung DQA chuyên biệt cho Giáo dục Đại học: Đóng gói bộ 5 chiều chất lượng dữ liệu với các công thức toán học và luật kiểm tra tùy biến riêng cho cấu trúc điểm thi, niên chế, hệ đào tạo đại học Việt Nam.
  2. Quy trình DQM khép kín 4 bước trên Medallion Lakehouse: Hiện thực hóa luồng dữ liệu Bronze $\to$ Silver $\to$ Gold trên Microsoft Azure Data Lake Gen2, khắc phục nhược điểm "hồ dữ liệu biến thành đầm lầy rác" (Data Swamp).
  3. Bằng chứng thực nghiệm định lượng rõ ràng: Chứng minh bằng số liệu việc cải thiện chất lượng dữ liệu đầu vào làm tăng trực tiếp +5.05% độ chính xác trên các mô hình máy học tiên tiến (LightGBM, CatBoost).

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

Kịch bản ứng dụng (Real-World Use Cases)

  • Hệ thống Cảnh báo Sớm Học vụ (Early Academic Warning): Tự động quét dữ liệu điểm và rèn luyện sau mỗi học kỳ, đưa ra cảnh báo cho sinh viên có nguy cơ không đạt chuẩn tốt nghiệp từ năm thứ 2 hoặc thứ 3.
  • Báo cáo Chiến lược & Phân bổ Nguồn lực Đào tạo: Giúp ban giám hiệu theo dõi phân bố sinh viên tốt nghiệp theo từng ngành, khoa và hệ đào tạo (CQUI, CLC) qua Dashboard Power BI.
+-----------------------------------------------------------------------------------+
|                       LỘ TRÌNH TRIỂN KHAI HỆ THỐNG (12 THÁNG)                      |
+-----------------------------------------------------------------------------------+
|  Tháng 1 - 3  : Thiết lập Azure Data Lake Gen2 & Pipeline Ingestion (Bronze).     |
|  Tháng 4 - 6  : Triển khai Databricks DQM Engine & Chuẩn hóa vùng Silver.          |
|  Tháng 7 - 9  : Xây dựng Feature Store vùng Gold & Huấn luyện Model LightGBM.    |
|  Tháng 10 - 12: Tích hợp Power BI Dashboard, phân quyền và bàn giao vận hành.     |
+-----------------------------------------------------------------------------------+

Đánh giá Chi phí - Hiệu quả (Cost-Benefit Analysis)

  • Chi phí: Tận dụng gói Azure for Students ($100 credit) cho thử nghiệm; chi phí vận hành mở rộng ước tính $120–$180/tháng (Azure Data Factory batch trigger theo kỳ, ADLS Gen2 lưu trữ phân tầng rẻ).
  • Lợi ích: Tiết kiệm 80% thời gian làm sạch dữ liệu thủ công của phòng Khảo thí & Đảm bảo chất lượng; giảm thiểu tỷ lệ sinh viên thôi học/trễ hạn nhờ phát hiện nguy cơ sớm.

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

  • Hạn chế kỹ thuật: Mức độ tự động hóa DQA hiện tại là bán tự động (Semi-automated), vẫn cần chuyên viên quản trị dữ liệu định nghĩa ngưỡng biên (thresholds) cho các thuộc tính nghiệp vụ mới.
  • Xử lý dữ liệu phi cấu trúc: Chưa mở rộng phân tích chuyên sâu cho các trường dữ liệu bình luận khảo sát giảng dạy dạng văn bản tự do bằng LLM/NLP.
  • Hướng phát triển:
    1. Tích hợp mô hình ngôn ngữ lớn (LLM Agent) để tự động sinh luật DQA dựa trên ngữ cảnh dữ liệu mới.
    2. Mở rộng kiến trúc Streaming Ingestion qua Apache Kafka / Azure Event Hubs để chấm điểm DQ theo thời gian thực.

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

+-----------------------------------------------------------------------------------+
|                             ĐỐI TƯỢNG HƯỞNG LỢI                                    |
+-----------------------------------------------------------------------------------+
|  Sinh viên & Giảng viên:                                                          |
|  - Được hỗ trợ và cảnh báo học vụ sớm, giảm tỷ lệ trễ hạn tốt nghiệp.             |
|  Kỹ sư Dữ liệu (Data Engineers):                                                  |
|  - Sở hữu kiến trúc mẫu Medallion Lakehouse và code snippets DQA tái sử dụng.    |
|  Nhà Quản lý Giáo dục (Academic Leaders):                                         |
|  - Tiếp cận báo cáo phân tích tin cậy, không còn nỗi lo dữ liệu "rác".           |
|  Nhà Nghiên cứu (Researchers):                                                    |
|  - Cung cấp cơ sở phương pháp luận DQM định lượng kết hợp Downstream ML Tasks.   |
+-----------------------------------------------------------------------------------+

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

1. Yêu cầu kỹ thuật tối thiểu để triển khai giải pháp là gì?

Hệ thống yêu cầu máy chủ hoặc môi trường đám mây cài đặt Python 3.10+, Apache Spark 3.4+, thư viện LightGBM / CatBoost, cùng tài khoản Microsoft Azure (Blob Storage/ADLS Gen2) với tối thiểu 8GB RAM cho các tác vụ xử lý batch.

2. Hệ thống xử lý thế nào khi có sinh viên chuyển ngành hoặc thay đổi chương trình đào tạo?

Thuộc tính ma_he_dao_taoma_khoa được kiểm tra qua luật Consistency liên bảng. Khi có sự thay đổi hợp lệ từ bảng quyết định học bạ, pipeline vùng Silver sẽ cập nhật bản ghi mới nhất theo cơ chế SCD (Slowly Changing Dimensions) Type 2.

3. Làm sao để tích hợp giải pháp vào hệ thống cơ sở dữ liệu quan hệ (SQL Server/Oracle) có sẵn?

Azure Data Factory cung cấp sẵn các Self-hosted Integration Runtime để kết nối an toàn với cơ sở dữ liệu on-premises, tự động trích xuất dữ liệu thô vào vùng Bronze theo lịch trình định kỳ mà không gây ảnh hưởng đến hiệu năng của hệ thống giao dịch OLTP đang chạy.

4. Chi phí bảo trì hệ thống định kỳ như thế nào?

Do kiến trúc chạy theo mô hình Serverless/Batch processing trên đám mây, tài nguyên tính toán (Compute) chỉ phát sinh chi phí khi kích hoạt pipeline làm sạch và huấn luyện lại mô hình (ước tính chạy 1–2 lần/học kỳ, chi phí điện toán không đáng kể).

5. Dữ liệu mất cân bằng giữa các nhãn tốt nghiệp được giải quyết ra sao?

Nghiên cứu sử dụng kỹ thuật gán trọng số lớp tự động (class_weight='balanced' trong LightGBM và auto_class_weights='Balanced' trong CatBoost), kết hợp phân tầng dữ liệu (Stratified K-Fold) nhằm đảm bảo mô hình không bị thiên lệch về nhãn chiếm đa số như "Khá" và "Giỏi".


Kết luận

Đề tài đã hoàn thành xuất sắc mục tiêu xây dựng giải pháp quản lý chất lượng dữ liệu (DQM) toàn diện trên nền tảng Big Data Azure Data Lakehouse cho giáo dục đại học. Thông qua việc làm sạch và nâng chuẩn dữ liệu trên 16 năm hoạt động, độ chính xác của bài toán dự đoán kết quả tốt nghiệp của sinh viên bằng LightGBM và CatBoost đã tăng trưởng ấn tượng +5.05%. Đây là nền tảng kỹ thuật vững chắc giúp các cơ sở giáo dục đại học tối ưu hóa công tác quản trị, hướng tới mô hình trường học thông minh (Smart University) dựa trên dữ liệu tin cậy.