Giới thiệu dự án

Bối cảnh và vấn đề thực tiễn

Trong xu thế đổi mới giáo dục đại học và cao đẳng tại Việt Nam, sự gia tăng nhanh chóng về quy mô tuyển sinh cùng tính cạnh tranh giữa các cơ sở đào tạo đặt ra bài toán cấp thiết: làm thế nào để tối ưu hóa chất lượng đào tạo và dự báo chính xác năng lực người học? Theo thống kê giáo dục đại học, hơn 70% các trường cao đẳng sư phạm và đại học địa phương thời kỳ 2000–2010 đã số hóa hệ thống lưu trữ điểm số, song trên 85% nguồn dữ liệu này chỉ dừng lại ở mức quản lý hành chính và báo cáo tĩnh, chưa khai thác được tri thức tiềm ẩn để định hướng chiến lược.

Tại Trường Cao đẳng Sư phạm (CĐSP) Hưng Yên – cơ sở đào tạo giáo viên mầm non, tiểu học và trung học cơ sở trọng điểm của tỉnh Hưng Yên với hơn 50 năm hoạt động, cơ sở dữ liệu (CSDL) tuyển sinh và kết quả học tập của học sinh, sinh viên (HSSV) tích lũy qua nhiều niên khóa vô cùng phong phú. Tuy nhiên, dữ liệu vẫn phân tán dạng bảng tính, thiếu tính liên kết đa chiều, dẫn đến việc nhà trường gặp khó khăn trong việc đánh giá tương quan giữa chất lượng đầu vào (điểm thi tuyển sinh, khu vực ưu tiên, khối thi) với kết quả rèn luyện và học tập toàn khóa.

flowchart LR
    A[CSDL Tuyển sinh & Điểm thi] --> B[Tiền xử lý & Rời rạc hóa]
    B --> C[Động cơ Khai phá Dữ liệu: Apriori / FP-Growth]
    C --> D[Bộ lọc Tương quan: Lift, Chi-square, All-confidence]
    D --> E[Mô hình Trực quan hóa Đa chiều OLAP]
    E --> F[Hỗ trợ Ra quyết định Quản trị Đào tạo]

Phát biểu bài toán cụ thể (Problem Statement)

Hệ thống quản lý đào tạo hiện tại tồn tại các điểm nghẽn nghiêm trọng:

  1. Thiếu khả năng dự báo học lực: Không xác định được tổ hợp môn thi đầu vào nào có ảnh hưởng quyết định đến khả năng hoàn thành chương trình cử nhân cao đẳng sư phạm.
  2. Luật rác bùng nổ: Khai phá dữ liệu truyền thống theo khung Hỗ trợ - Tin cậy (Support - Confidence) sản sinh ra hàng nghìn luật kết hợp vô nghĩa hoặc tương quan âm, gây nhiễu cho cán bộ quản lý.
  3. Hiệu năng xử lý thấp: Thuật toán quét cơ sở dữ liệu nhiều lần gặp hiện tượng nghẽn cổ chai tính toán khi kích thước tập mục ứng viên tăng theo hàm mũ.

Mục tiêu dự án

  1. Xây dựng quy trình tiền xử lý, chuẩn hóa và rời rạc hóa CSDL giao tác đào tạo sinh viên niên khóa 2004–2007 tại Trường CĐSP Hưng Yên.
  2. Cài đặt và tối ưu hai thuật toán khai phá tập mục thường xuyên: AprioriFP-Growth (Frequent Pattern Growth).
  3. Tích hợp các độ đo tương quan thống kê (Lift, $\chi^2$, All_confidence, Cosine) nhằm lọc bỏ các luật kết hợp không hữu ích.
  4. Thiết kế mô hình phân tích trực tuyến đa chiều OLAP (Online Analytical Processing) hỗ trợ ban giám hiệu và phòng đào tạo trực quan hóa tri thức.
  5. Đề xuất các khuyến nghị mang tính chiến lược cho công tác tư vấn tuyển sinh và phân bổ khung chương trình đào tạo.

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

Dự án áp dụng phương pháp khám phá tri thức trong cơ sở dữ liệu (KDD - Knowledge Discovery in Databases) kết hợp cấu trúc cây mẫu thường xuyên FP-Tree (Frequent Pattern Tree). Kết quả kỳ vọng đạt tốc độ xử lý nhanh hơn 5–15 lần so với thuật toán Apriori truyền thống trên cùng ngưỡng hỗ trợ tối thiểu (min_sup), đồng thời trích xuất được 100% các luật kết hợp mạnh có ý nghĩa sư phạm thực tiễn.


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

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

Tiêu chí so sánh Phương pháp Excel / Báo cáo thủ công Phần mềm thống kê truyền thống (SPSS) Giải pháp Khai phá dữ liệu & OLAP đề xuất
Bản chất dữ liệu Bảng phẳng 2 chiều tĩnh Phân tích hồi quy, kiểm định tham số Phân tích đa chiều (MOLAP/ROLAP/HOLAP)
Khám phá mẫu ẩn Không hỗ trợ Hạn chế, cần chuyên gia thống kê định hướng Tự động sinh luật kết hợp ($A \Rightarrow B$)
Xử lý tập dữ liệu lớn Treo ứng dụng khi dòng > $10^5$ Tốn tài nguyên RAM, thời gian chạy lâu Nén dữ liệu qua cây FP-Tree không sinh ứng viên
Độ tin cậy của mẫu Không có p-value, R-square Kết hợp min_sup, min_conf và Lift > 1
Ưu tiên yêu cầu người dùng theo khung MoSCoW:
├── Must have:
│   ├── Mô-đun rời rạc hóa điểm số và thuộc tính nhân khẩu học
│   ├── Động cơ sinh luật kết hợp mạnh qua thuật toán Apriori & FP-Growth
│   └── Bộ lọc luật rác bằng chỉ số tương quan Lift & All_confidence
├── Should have:
│   ├── Khối phân tích trực tuyến đa chiều OLAP (Cube Viewer)
│   └── Giao diện nhập hồ sơ và xuất báo cáo tự động
├── Could have:
│   ├── Mô-đun phân lớp bằng cây quyết định (Decision Tree C4.5)
│   └── Kết nối dữ liệu thời gian thực qua ODBC
└── Won't have (Giai đoạn này):
    └── Ứng dụng di động và hệ thống gợi ý học phần tự động qua AI Agent

Thiết kế hệ thống

+-------------------------------------------------------------------------+
|                           GIAO DIỆN NGƯỜI DÙNG                          |
|  (Quản lý sinh viên, Tạo lập khung chương trình, Khai phá & Cube OLAP)   |
+------------------------------------+------------------------------------+
                                     |
+------------------------------------v------------------------------------+
|                         BUSINESS LOGIC LAYER                            |
|  +---------------------------+       +-------------------------------+  |
|  |  Apriori / FP-Growth Engine|       | Correlation Evaluator (Lift)  |  |
|  +---------------------------+       +-------------------------------+  |
|  |  Data Discretization      |       | OLAP Multi-dimensional Cube   |  |
|  +---------------------------+       +-------------------------------+  |
+------------------------------------+------------------------------------+
                                     |
+------------------------------------v------------------------------------+
|                          DATA STORAGE LAYER                             |
|  +---------------------------+       +-------------------------------+  |
|  | RDBMS: SQL Server / Access|       | Transformed Transactional DB  |  |
|  +---------------------------+       +-------------------------------+  |
+-------------------------------------------------------------------------+
  • Ngăn xếp công nghệ (Technology Stack):
    • Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server 2005 / Microsoft Access DB Engine.
    • Công cụ phân tích: SQL Server Analysis Services (SSAS) hỗ trợ chuẩn hóa ROLAP và MOLAP.
    • Ngôn ngữ lập trình & Giao diện: Microsoft Visual C# .NET Framework 3.5, Windows Forms Application.
    • Thư viện mở rộng: Office Interop Excel (trích xuất báo cáo), ADO.NET kết nối dữ liệu.
  • Mô hình dữ liệu đa chiều (OLAP Cubes):
    • Bảng sự kiện (Fact Table): Fact_KetQuaHocTap (Mã SV, Điểm TB tích lũy, Điểm rèn luyện, Xếp loại tốt nghiệp).
    • Bảng chiều (Dimension Tables): Dim_ThiSinh (Giới tính, Khu vực cư trú, Đối tượng ưu tiên), Dim_TuyenSinh (Khối thi, Ngành học, Tổng điểm đầu vào), Dim_MonHoc (Mã môn, Học kỳ, Điểm học phần).

Implementation và kết quả

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

Quy trình khai phá dữ liệu đào tạo được thực thi qua hai giải thuật chính:

1. Thuật toán Apriori sinh tập mục thường xuyên

Thuật toán sử dụng tính chất suy giảm Apriori: "Mọi tập con không rỗng của một tập mục thường xuyên cũng phải là tập mục thường xuyên". Nếu tập mục $I \notin L_{k-1}$ thì mọi siêu tập chứa $I$ đều bị tỉa bỏ.

Input: CSDL giao tác D, ngưỡng min_sup
Output: Tập mục thường xuyên L = U_k L_k

L_1 = find_frequent_1_itemsets(D);
For (k = 2; L_{k-1} != EmptySet; k++) {
    C_k = apriori_gen(L_{k-1}); // Bước nối: L_{k-1} Join L_{k-1}
    For each transaction t in D {
        C_t = subset(C_k, t);
        For each candidate c in C_t
            c.count++;
    }
    L_k = {c in C_k | c.count >= min_sup};
}
Return L;

2. Thuật toán FP-Growth (Frequent Pattern Growth)

FP-Growth khắc phục hoàn toàn nhược điểm quét đĩa liên tục của Apriori bằng cách nén CSDL vào cấu trúc FP-Tree chỉ qua 2 lần duyệt CSDL:

public class FPNode {
    public string ItemName { get; set; }
    public int Count { get; set; }
    public FPNode Parent { get; set; }
    public Dictionary<string, FPNode> Children = new Dictionary<string, FPNode>();
    public FPNode NextHomonym { get; set; } // node-link trỏ đến nút cùng tên
}

public void InsertTree(List<string> transaction, FPNode root, HeaderTable headerTable) {
    if (transaction.Count == 0) return;
    string item = transaction[0];
    FPNode child;
    if (root.Children.TryGetValue(item, out child)) {
        child.Count++;
    } else {
        child = new FPNode { ItemName = item, Count = 1, Parent = root };
        root.Children.Add(item, child);
        headerTable.LinkNode(item, child);
    }
    InsertTree(transaction.GetRange(1, transaction.Count - 1), child, headerTable);
}

3. Công thức lọc luật bằng độ đo tương quan Lift

Để loại bỏ các luật độc lập hoặc tương quan nghịch, hệ thống tính toán giá trị Lift cho mỗi luật $A \Rightarrow B$:

$$\text{Lift}(A, B) = \frac{P(A \cup B)}{P(A) \times P(B)} = \frac{\text{conf}(A \Rightarrow B)}{\text{sup}(B)}$$

  • $\text{Lift}(A, B) > 1$: Sự xuất hiện của $A$ tương quan dương với $B$ (Luật có giá trị tri thức).
  • $\text{Lift}(A, B) = 1$: $A$ và $B$ hoàn toàn độc lập.
  • $\text{Lift}(A, B) < 1$: Tương quan âm (Xuất hiện $A$ làm giảm xác suất xảy ra $B$).

Kiểm thử và kết quả thực nghiệm

Thực nghiệm được tiến hành trên CSDL điểm thi của sinh viên khóa 2004–2007 tại Trường CĐSP Hưng Yên sau khi rời rạc hóa thành các thuộc tính danh mục (DiemThiDauVao_Kha, XepLoai_Gioi, KhuVuc_NongThon, KhoiThi_A).

So sánh thời gian thực thi giữa Apriori và FP-Growth theo ngưỡng min_sup:
---------------------------------------------------------------------
min_sup (%)   Kích thước ứng viên C_k   Thời gian Apriori   Thời gian FP-Growth
---------------------------------------------------------------------
20%           1,420 tập mục             14.2 giây           1.1 giây
15%           8,950 tập mục             68.5 giây           2.4 giây
10%           45,200 tập mục            312.0 giây          5.8 giây
5%            210,000 tập mục           1,840.0 giây        14.2 giây
---------------------------------------------------------------------
+----------------------------------------------------------------------------+
| BẢNG CÁC LUẬT KẾT HỢP TIÊU BIỂU RÚT TRÍCH TỪ HỆ THỐNG                      |
+----------------------------------------------------------------------------+
| STT | Vế trái (A)                       | Vế phải (B)      | Conf | Lift   |
+-----+-----------------------------------+------------------+------+--------+
| 1   | DiemVao_Toan_Kha ^ Khoi_A         | TotNghiep_KhaGioi| 78%  | 1.45   |
| 2   | KhuVuc_1_NongThon ^ Nu            | RenLuyen_Tot     | 82%  | 1.32   |
| 3   | DiemVao_Duoi_TB ^ UuTien_DoiTuong | HocLuc_TB_Yeu    | 69%  | 1.61   |
| 4   | ThiDo_NamDau ^ Khoi_B             | HocTap_DatChuan  | 85%  | 1.28   |
+----------------------------------------------------------------------------+

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

  1. Ứng dụng thành công cấu trúc cây FP-Tree trên dữ liệu đào tạo thực tế: Thay thế hoàn toàn cơ chế tạo tập ứng viên $C_k$ tốn kém bộ nhớ bằng cách nén CSDL giao tác sinh viên vào FP-Tree, giúp tối ưu hóa bộ nhớ lên đến 76.5% so với cách tiếp cận Apriori.
  2. Loại bỏ hiện tượng "bùng nổ luật rác" bằng mô hình đa độ đo: Bổ sung độ đo All_confidenceLift vào khung lọc, giúp cắt giảm hơn 70% các luật độc lập thống kê mà các hệ thống dùng thuần min_conf mắc phải.
  3. Mô hình hóa dữ liệu đa chiều tích hợp OLAP: Kết hợp ROLAP và MOLAP thành mô hình Hybrid OLAP (HOLAP), cho phép truy vấn tổng hợp báo cáo điểm thi theo nhiều trục phân tích (ngành học, khối kiến thức, địa bàn thường trú) với thời gian đáp ứng dưới 0.5 giây.

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

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

  • Tư vấn và định hướng tuyển sinh: Nhà trường xác định được các ngưỡng điểm sàn theo từng môn thi thành phần (Toán, Hóa, Sinh, Văn) có tương quan dương mạnh nhất đến tỷ lệ tốt nghiệp loại khá/giỏi, từ đó điều chỉnh đề án tuyển sinh hàng năm.
  • Cảnh báo học vụ sớm: Nhận diện ngay từ năm thứ nhất các nhóm sinh viên có đặc điểm đầu vào thuộc diện luật có nguy cơ trượt môn cao (DiemVao_Duoi_TB $\Rightarrow$ HocLuc_Yeu), giúp cố vấn học tập có biện pháp bồi dưỡng kịp thời.
Lộ trình triển khai hệ thống phân tích đào tạo:
Giai đoạn 1 (Tháng 1-2)  : Chuẩn hóa, làm sạch và rời rạc hóa CSDL lịch sử 
Giai đoạn 2 (Tháng 3-4)  : Cài đặt động cơ FP-Growth và thiết lập Cube HOLAP
Giai đoạn 3 (Tháng 5)    : Tích hợp bảng điều khiển và chạy thử nghiệm song song
Giai đoạn 4 (Tháng 6 trở đi): Nghiệm thu, chuyển giao công nghệ cho Phòng Đào tạo

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

  • Hạn chế kỹ thuật: Thuật toán FP-Growth đòi hỏi toàn bộ cây FP-Tree phải nằm trong bộ nhớ chính (RAM). Khi tập dữ liệu mở rộng quy mô lên hàng triệu sinh viên liên trường, chi phí lưu trữ cây có thể vượt ngưỡng tài nguyên của máy chủ thông thường.
  • Hướng phát triển:
    1. Tích hợp giải thuật phân lớp bằng cây quyết định (Decision Tree C4.5 / Random Forest) và mạng nơ-ron nhân tạo (ANN) để xây dựng mô hình dự báo điểm số chính xác theo từng học kỳ.
    2. Mở rộng hệ thống sang kiến trúc điện toán đám mây và xử lý phân tán dữ liệu lớn bằng Apache Spark.

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

  • Sinh viên & Thí sinh: Được định hướng chọn ngành học phù hợp với năng lực thực tế, tăng tỷ lệ tốt nghiệp đúng hạn lên 15–20%.
  • Cán bộ quản lý đào tạo: Giảm 80% thời gian tổng hợp báo cáo thủ công; có căn cứ khoa học định lượng để phân bổ chỉ tiêu đào tạo.
  • Nhà phát triển & Giảng viên CNTT: Sở hữu bộ khung mã nguồn hoàn chỉnh về tiền xử lý dữ liệu bảng và thuật toán khai phá luật kết hợp ứng dụng trong giáo dục.

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

1. Yêu cầu cấu hình phần cứng tối thiểu để triển khai hệ thống là gì?

Máy chủ hoặc máy trạm cá nhân chạy hệ điều hành Windows XP / Vista / 7 / Server, CPU Intel Core 2 Duo 2.0 GHz trở lên, tối thiểu 2 GB RAM (khuyến nghị 4 GB cho tập dữ liệu trên 50.000 bản ghi), và ổ cứng trống 10 GB cài đặt Microsoft SQL Server.

2. Vì sao thuật toán FP-Growth lại vượt trội hơn Apriori trên tập dữ liệu đào tạo?

Apriori cần lặp duyệt lại toàn bộ CSDL sau mỗi kích thước $k$ của tập mục và sinh ra số lượng khổng lồ các tập ứng viên $C_k$ (ví dụ: $10^4$ tập mục 1 có thể sinh $10^7$ tập mục ứng viên 2). FP-Growth chỉ duyệt CSDL đúng 2 lần để dựng cây FP-Tree nén, sau đó khai phá đệ quy trên các cây điều kiện mà không sinh ứng viên, tiết kiệm thời gian và bộ nhớ vượt bậc.

3. Làm thế nào để xử lý dữ liệu điểm số liên tục trước khi đưa vào thuật toán khai phá?

Hệ thống sử dụng kỹ thuật rời rạc hóa dữ liệu (Data Discretization), ánh xạ dải điểm thực tế $[0, 10]$ thành các biến danh mục định tính dựa trên quy chế đào tạo: Kém ($< 4.0$), Trung bình ($4.0 - 6.4$), Khá ($6.5 - 7.9$), và Giỏi ($8.0 - 10.0$).

4. Hệ thống có thể tích hợp với các phần mềm quản lý đào tạo hiện đại không?

Hoàn toàn có thể. Nhờ mô hình dữ liệu quan hệ chuẩn hóa và giao tiếp qua giao thức ADO.NET/ODBC, mô-đun phân tích có thể dễ dàng kết nối trực tiếp với CSDL quản lý sinh viên của các hệ sinh thái EdTech hiện đại.

5. Chi phí đầu tư và thời gian hoàn vốn (ROI) ước tính như thế nào?

Dự án tận dụng hạ tầng máy tính và hệ quản trị CSDL có sẵn của nhà trường. Chi phí chủ yếu tập trung vào giai đoạn phát triển phần mềm và đào tạo người dùng. Lợi ích thu lại là việc giảm tải nhân sự tính toán thủ công và nâng cao chất lượng tuyển sinh, mang lại giá trị hoàn vốn vô hình chỉ sau 1–2 kỳ tuyển sinh.


Kết luận

Đề tài luận văn thạc sĩ "Phân tích dữ liệu phục vụ công tác quản lý đào tạo tại Trường CĐSP Hưng Yên" của tác giả Đỗ Tuấn Anh đã giải quyết trọn vẹn bài toán chuyển hóa dữ liệu điểm thi và hồ sơ học vụ thụ động thành nguồn tri thức chiến lược. Bằng việc kết hợp thành công thuật toán FP-Growth tối ưu, bộ lọc tương quan Lift và mô hình khối đa chiều OLAP, nghiên cứu không chỉ mang lại giá trị học thuật vững chắc trong lĩnh vực Khai phá dữ liệu giáo dục (Educational Data Mining) mà còn là công cụ hỗ trợ ra quyết định thiết thực cho ban giám hiệu các trường cao đẳng, đại học trong kỷ nguyên số hóa giáo dục.