Trong bài viết này, các tác giả đề xuất xây dựng một hệ thống gợi ý nhằm giúp các sinh viên Trường Đại học Sư phạm Hà Nội (HNUE) lựa chọn môn học tự chọn sao cho phù hợp khả năng của mình, giúp các em lập kế hoạch học tập tốt hơn.
Trang 1This paper is available online at http://stdb.hnue.edu.vn
HỆ THỐNG GỢI Ý LỰA CHỌN MÔN HỌC TỰ CHỌN CHO SINH VIÊN
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI
Lê Thị Đào1, Lê Thị Tú Kiên2
1Khoa Khoa học Tự nhiên, Trường Sĩ quan Lục quân 1;
2Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Hà Nội
Tóm tắt Hiện nay, hệ thống gợi ý (Recommender System - RS) đã và đang từng bước trở
thành một lĩnh vực nghiên cứu quan trọng và được ứng dụng khá thành công trong thực
tiễn, giúp người dùng đối phó với vấn đề quá tải thông tin Trong một số nghiên cứu gần
đây, hệ thống RS đã bắt đầu được quan tâm ứng dụng vào lĩnh vực giáo dục Trong bài viết
này, chúng tôi đề xuất xây dựng một hệ thống gợi ý nhằm giúp các sinh viên Trường Đại
học Sư phạm Hà Nội (HNUE) lựa chọn môn học tự chọn sao cho phù hợp khả năng của
mình, giúp các em lập kế hoạch học tập tốt hơn Chúng tôi áp dụng phương pháp Biased
Matrix Factorization (BMF) để dự đoán kết quả học tập cho sinh viên dựa trên cơ sở dữ
liệu điểm thu thập được từ hệ thống quản lí kết quả học tập trong trường Đại học Sư phạm
Hà Nội Dựa trên kết quả thực nghiệm từ dữ liệu của khoa Công nghệ thông tin và khoa
Toán-tin, chúng tôi thấy rằng phương pháp BMF mà chúng tôi lựa chọn luôn cho độ lỗi
thấp nhất so với hai phương pháp khác là Global Average (GA) và Matrix Factorization
(MF) Bên cạnh đó, chúng tôi cũng đánh giá và thấy rằng giá trị của của nhân tố tiềm ẩn
K cũng ảnh hưởng đến kết quả của dự đoán của thuật toán Cuối cùng, hệ thống của chúng
tôi có thể tư vấn môn học tùy chọn cho mỗi sinh viên trong đầu mỗi học kì.
Từ khóa: Hệ thống gợi ý, Phân rã ma trận, Dự đoán kết quả học tập, Lựa chọn môn học tự
chọn, Học máy.
1 Mở đầu
Cơ sở dữ liệu điểm số của sinh viên hiện nay được lưu trữ tại các trường đại học cao đẳng là rất lớn Tuy nhiên nguồn thông tin to lớn này thường chỉ được sử dụng để quản lí và tổng hợp đánh giá kết quả học tập của sinh viên một cách đơn giản mà chưa được khai thác triệt để nhằm mang lại những thông tin hữu ích phục vụ cho sinh viên Hiện nay với hình thức đào tạo theo tín chỉ thì việc lựa chọn môn học không phù hợp là một trong những nguyên nhân khiến số lượng sinh viên
bị cảnh cáo và buộc thôi học có chiều hướng gia tăng Vì vậy một vấn đề được đặt ra là cần phải
có các hệ thống làm sao có thể dự đoán được năng lực của từng sinh viên hoặc đơn giản hơn là dự đoán được điểm số của sinh viên để từ đó đưa ra những định hướng, gợi ý giúp sinh viên có được
sự lựa chọn môn học phù hợp và học tập tốt hơn
Ngày nhận bài: 7/7/2015 Ngày nhận đăng: 15/11/2015.
Liên hệ: Lê Thị Đào, e-mail: ledaolq5982@gmail.com.
Trang 2Một số nghiên cứu trước đây đã giải quyết vấn đề về dự đoán kết quả học tập theo hướng tiếp cận luật kết hợp Một số nghiên cứu khác lại tập trung phân tích các kĩ thuật khai phá dữ liệu dựa trên bài toán dự đoán kết quả học tập của sinh viên [4,6] Nhưng nói chung, những nghiên cứu này thường chỉ đánh giá quy luật chung về năng lực học tập cho sinh viên chứ chưa dự đoán cho từng sinh viên cụ thể
Hệ thống gợi ý hiện đang được ứng dụng rộng rãi trong nhiều lĩnh vực Gần đây, một
số hướng tiếp cận Recommender System như Lọc cộng tác, K-Nearest-Neighbor (KNN), Matrix Factorization [1,2,3] được ứng dụng vào lĩnh vực giáo dục để giải quyết bài toán dự đoán năng lực học tập cho từng sinh viên Tuy nhiên, những nghiên cứu này tập trung vào đánh giá, so sánh độ chính xác giữa các giải thuật mà chưa áp dụng vào phân thích và giải quyết bài toán cụ thể Trường Đại học Sư Phạm Hà Nội (ĐHSPHN) là một trong 19 trường đại học trọng điểm trong hệ thống giáo dục Việt Nam Hiện nay, trường có tổng số 23 khoa với quy mô đào tạo hơn
12000 sinh viên đại học chính quy Năm 2009 trường ĐHSPHN bắt đầu áp dụng hình thức đào tạo tín chỉ cho sinh viên chính quy hệ đại học để thay thế cho hình thức đào tạo liên chế trước đó Với hình thức đào tạo tín chỉ, mỗi sinh viên có thể tự lập kế hoạch học tập sao cho phù hợp với khả năng và thời gian của riêng mình Tuy nhiên, vì không có kinh nghiệm nên nhiều khi sinh viên lựa chọn một số môn học không phù hợp với năng lực của mình dẫn đến kết quả học tập kém và bị dừng học Trong nghiên cứu này, chúng tôi đề xuất xây dựng một hệ thống gợi ý nhằm tư vấn lựa chọn môn học tự chọn cho sinh viên của trường ĐHSPHN Dựa trên những nghiên cứu trước đó, chúng tôi lựa chọn phương pháp Bias Matrix Factorization để dự đoán kết quả học tập của sinh viên và từ đó đưa ra những gợi ý lựa chọn môn học tự chọn để hỗ trợ cho các em
2 Nội dung nghiên cứu
2.1 Bài toán gợi ý môn học tự chọn
Hiện nay hầu hết các trường đại học đang đào tạo theo hình thức tín chỉ Trong mỗi học kì, sinh viên phải học một số môn học bắt buộc và một số môn học tự chọn Ví dụ, một trường đại học
có khoảng 10.000 đến 40.000 sinh viên, mỗi sinh viên ở mỗi học kì phải lựa chọn khoảng 8 môn học trong 19 môn học tự chọn Đa số các sinh viên phân vân không biết lựa chọn môn học nào là phù hợp với khả năng của mình Khi đó, hệ thống RS sẽ trợ giúp sinh viên giải quyết vấn đề này Đầu tiên, hệ thống RS khai thác thông tin điểm số của sinh viên để từ đó đưa ra được kết quả dự đoán cho sinh viên theo từng học kì, trước khi sinh viên tham gia lập kế hoạch học tập ở đầu mỗi học kì Từ những kết quả dự đoán, hệ thống sẽ cung cấp những gợi ý nên chọn môn học nào trong những môn tự chọn áp dụng đúng cho từng chương trình đào tạo
Ví dụ, có năm sinh viên sv1, sv2, sv3, sv4 và sv5 học các môn môn1, môn 2, môn 3, môn
4, môn 5 được trình bày trong một ma trận như Hình 1, mỗi ô trong ma trận chứa số điểm của sinh viên học môn học tương ứng, sinh viên nào chưa học môn nào thì ô đó sẽ được điền giá trị bằng dấu chấm hỏi “ ? ” Trong năm môn học có ba môn học tự chọn là môn 3, môn 4, môn 5 Sinh viên cần chọn hai môn trong ba môn học tự chọn sao cho phù hợp nhất với mình nhất (có khả năng đạt điểm cao) Như vậy, hệ thống RS cần gợi ý cho sinh viên sv5 là nên học hai môn nào trong ba môn môn 3, môn 4, môn 5
Để gợi ý lựa chọn môn học cho sinh viên, hệ thống RS cần dự đoán các dấu “?” trong ma
Trang 3Hình1 Dữ liệu điểm với ba môn cần dự đoán của sinh viên sv5
trận bằng các con số có giá trị từ 0 đến 4, Hình 2 Sau đó, dựa trên những ràng buộc về tổng số tín chỉ hay số môn học tự chọn mà sinh viên cần học trong một học kì, hệ thống RS sẽ đưa đưa ra gợi
ý lựa chọn môn học cho sinh viên Trở lại ví dụ trên, hệ thống cần gợi ý hai môn học tự chọn cho sinh viên sv5 là hai môn môn 3 và môn 4 Vì hai môn học này có số điểm dự đoán cao hơn môn 5 (3 và 4 > 2)
Hình 2 Bảng điểm sau khi dự đoán và hướng gợi ý
Như vậy, bài toán gợi ý lựa môn học bao gồm hai pha Pha thứ nhất là dự đoán kết quả học tập và pha thứ hai là gợi ý môn học tùy chọn dựa vào kết quả dự đoán của pha thứ nhất và các ràng buộc khác Để thực hiện pha thứ nhất, chúng tôi sử dụng giải thuật MatrixFactorization kết hợp một lượng giá trị lệch (Bias Matrix Factorization) [1,5] Trong phần tiếp, theo chúng tôi sẽ bày chi tiết giải thuật này
2.2 Giải thuật Bias Matrix Factorization
2.2.1 Giải thuật Matrix Factorization (MF)
Giải thuật phân rã ma trận Matrix Factorization là phương pháp phân rã ma trận X ∈
ℜ|U |×|I|thành hai ma trận con có kích thước nhỏ hơn W và H [1] sao cho có thể xây dựng lại ma trận X từ hai ma trận con này nghĩa là X ≈ W HT, được minh họa như Hình 3
Trong đó, W ∈ ℜ|U | × K là một ma trận mà mỗi dòng là một véc tơ bao gồm K nhân tố tiềm ẩn mô tả người dùng u và H ∈ ℜ|I|× K là một ma trận mà mỗi dòng là một véc tơ bao gồm
K nhân tố tiềm ẩn (latent factors) mô tả cho item i, thông thường K <<, K << HT là ma trận chuyển vị của ma trận H wuk, wiklà các phần tử, wu, hilần lượt là véc tơ tương ứng của W và H
Để dự đoán năng lực r của sinh viên u cho học môn học thứ i ta sử dụng có công thức sau:
Trang 4Hình 3 Mô hình phân rã ma trận X thành hai ma trận W và H
ˆ
rui= WuhTi =
K X
k=1
Quá trình tìm hai ma trận con W và H chính là quá trình đi tối ưu hóa hàm:
OM F =(u,i,r)∈Dtrain
X
Với
e2ui= (rui− ˆrui) = (rui−
K X
k=1
Quá trình tìm hàm tối ưu trên sẽ được thực hiện bằng giải thuật gradient trong học máy Sau khi tìm được 2 ma trận W và H, quá trình dự đoán được thực hiện Hình 4 mô tả một ví
dụ cụ thể cho quá trình này Giả sử từ ma trận dữ liệu điểm 5x5 ban đầu và với giá trị của tham số
K = 2, chúng ta tìm được các giá trị tối ưu của 2 ma trận W và H như Hình 4 Để dự đoán năng lực của sinh viên sv3 với học môn 4 (với ô bằng 3), chúng ta áp dụng công thức (2.1) và thu được: ˆ
rui= wuhT
i =PK k=1wukhik = 2.1∗ 0.6 + 1.2 = 3.06
Hình 4 Dự đoán năng lực (điểm) cho sinh viên 3 học môn 4
Áp dụng quá trình dự đoán như trên, chúng tôi sẽ dự đoán được tất cả điểm số của tất cả sinh viên cho những môn học tự chọn mà sinh viên chưa học Đây chính là quá trình thay thế các
Trang 5dấu chấm hỏi “?” bằng các con số cụ thể trong miền giá trị [0,4] Các điểm dự đoán này được lưu trữ lại để sử dụng cho pha thứ hai, pha gợi ý lựa chọn môn học
2.2.2 Giải thuật Bias Matrix Factorization (BMF)
Do một số nguyên nhân ảnh hưởng của môn học như yêu cầu cao thấp, khó dễ khác nhau (item effect), hoặc do một số ảnh hưởng của sinh viên như sinh viên giỏi, thông minh, lười biếng khác nhau (user effect) dẫn đến sự dự đoán bị sai lệch Để giải quyết vấn đề này, chúng tôi sử dụng giải thuật Biased Matrix Factorization được cải tiến từ giải thuật Matrix Factorization
Khác với công thức dự đoán của giải thuật MF, công thức dự đoán của giải thuật BMFcộng thêm 3 tham số µ, bu, bivào công thức (2.1) Như vậy, để dự đoán được năng lực r của sinh viên u cho môn học i được biểu diễn với công thức sau:
ˆ
rui= µ + bu+ bi+
K X
k=1
Với giá trị µ là giá trị trung bình toàn cục là năng lực trung bình của tất cả các sinh viên trên tất cả các môn học với tập dữ liệu huấn luyện:
µ = P(u, i, r) ∈ Dtrainr
Giá trị bu là độ lệch của sinh viên (là giá trị lệch trung bình của năng lực một sinh viên so với giá trị trung bình toàn cục):
bu= P(u, i′, r)∈ Dtrain|u′ = u(r− µ)
Giá trị bi là độ lệch của môn học (là giá trị lệch trung bình của yêu cầu môn học so với giá trị trung bình toàn cục):
bi = P(u, i, r) ∈ Dtrain|i = i(r − µ)
Bây giờ, quá trình tìm hai ma trận W và H sẽ là qúa trình tối ưu hóa hàm:
(u,i,r)∈D train
rui− µ − bu− bi−
K X
k=1
wukhik
!2 + λkW k2F +kHk2F + b2u+ b2i
(2.8)
2.3 Dữ liệu
Từ cơ sở dữ liệu quản lí chương trình đào tạo theo hệ thống tín chỉ của trường Đại học Sư phạm Hà Nội, chúng tôi trích lọc ra ba nhóm dữ liệu như sau: Sinh viên, môn học và điểm số (User, Item, Ratings) Nhóm môn học (item) bao gồm những thông tin về kế hoạch học tập theo từng học kì, mã môn học, tên môn học, môn học tiên quyết, nhóm môn học bắt buộc, nhóm môn
Trang 6tự chọn, ) cùng với những ràng buộc khác Nhóm sinh viên (user) bao gồm thông tin mã sinh viên, năm học, ngành học, khóa học Nhóm điểm số (ratings) bao gồm điểm học tập các môn đã học của sinh viên (điểm số ở thang điểm 4)
Do thời gian có hạn nên hiện tại chúng tôi mới chỉ thu thập được dữ liệu của khoa Công nghệ thông tin và khoa Toán - Tin Bộ dữ liệu bao gồm 1000 sinh viên (1000 user) và 77 môn học (77 item) của 2 ngành học và 77000 điểm chi tiết (77000 ratings)
2.4 Kết quả thực nghiệm
2.4.1 So sánh BMF với các thuật toán khác
Chúng tôi tiến hành đánh giá hiệu quả của giải thuật BMF với hai giải thuật Matrix Factorization và Global Average (GA) trên bộ dữ liệu chúng tôi thu thập được nhằm khẳng định lại đánh giá của một số nghiên cứu trước đó [1,5] Giải thuật Global Average là phương pháp trung bình toàn cục Global Average Giải thuật toán đơn giản nhất để dự đoán là sử dụng phương pháp trung bình toàn cục
Phương pháp này tính trung bình tất cả các sinh viên đánh giá trên tất cả môn học, sau đó lấy giá trị trung bình này làm giá trị dự đoán cho tập kiểm tra
Giá trị trung bình được tính theo công thức sau:
µ =
P (u, i, r) ∈ Dtrain
Để đưa ra độ lỗi - Root Mean Squared Error (RMSE) cho các giải thuật chúng tôi áp dụng công thức đo độ lỗi sau:
RM SE =
s 1
|Dtest|
X u,i,r∈D test rui−⌢rui2
(2.10)
Trong đó, Dtest ⊆ U × I × ℜ, là tập dữ liệu kiểm thử; u là sinh viên (user); i là môn học (item); ruilà giá trị thực;⌢
ruilà giá trị dự đoán của sinh viên u trên môn học i
Phương pháp Matrix Factorization có độ lỗi RMSE là 0,633445 (Hình 5) với giá trị của các tham số mặc định là:
Num_factors=10
regularization=0.015
learn_rate=0.01
Phương pháp Biased Matrix Factorization có độ lỗi RMSE là 0,6095795 (Hình 6) với giá trị của các tham số mặc định là:
num_factors=10
bias_reg=0.01
reg_u=0.015
reg_i=0.015
frequency_regularization=False
Trang 7Hình 5 Độ lỗi của phương pháp Matrix Factorization
learn_rate=0.01
bias_learn_rate=1
learn_rate_decay=1
num_iter=30
bold_driver=False
loss=RMSE
max_threads=1
Hình 6 Độ lỗi của phương pháp Biased Matrix Factorization
Phương pháp Global Average có độ lỗi RMSE là 0,9577132 (Hình 7)
Tập hợp lại các kết quả thực nghiệm trên vào biểu đồ như trong Hình 8 chúng tôi thấy rằng phương pháp BMF cho độ lỗi thấp nhất Tiếp đến là phương pháp MF và cuối cùng là phương pháp GA
2.4.2 Khảo sát sự phụ thuộc của thuật toán BMF đối với tham số nhân tố tiềm ẩn K
Để đánh giá tầm ảnh hưởng của tham số K với hiệu quả của thuật toán BMF, chúng tôi tiến hành tính RMSE của thuật toán BMF với các giá trị tham số K khác nhau Biểu đồ trong Hình 9 cho thấy rằng khi giá trị của K tăng lên thì thì độ chính xác của thuật toán BMF cũng tăng lên (sai
Trang 8Hình 7 Độ lỗi của phương pháp Global Average
Hình 8 Biểu đồ độ lỗi RMSE của ba giải thuật MF, BMF và GA
số lỗi giảm đi)
Hình 9 Biểu đồ độ lỗi RMSE của BMF với các giá trị khác nhau của nhân tố tiềm ẩn K
Trang 92.4.3 Gợi ý môn học tự chọn cho sinh viên
Để đưa ra gợi ý môn học tự chọn, chương trình được tổ chức thành 2 pha:
Pha thứ nhất: Huấn luyện sau đó đưa ra kết quả dự đoán cho các môn học
Hình 10 Giao diện huấn luyện
Ví dụ: Trong Hình 10
- CSDL: Nhập bảng dữ liệu
- Chọn bảng: U6162BASE / DL huấn luyện / ok
- Chọn bảng: U6162TEST/ DL kiểm tra / ok
- Kích chọn vào Dự đoán khi đó đưa ra độ lỗi RMSE: 0.6333509
Pha thứ hai: Dự đoán và gợi ý lựa chọn môn học
Ví dụ: Trong Hình 11, chúng ta cần nhập:
- Nhập vào mã sinh viên: 635102003
- Nhập kì: 5
- Khi đó hệ thống đưa ra:
+ Họ và tên: Đặng Vũ Băng Châu; Khóa 63; Học kì 5
+ Mã môn học, tên môn học, số TC, tổng số tiết, điều kiện tiên quyết, loại HP trong kì 5 + Trong học kì 5 có 3 môn tự chọn là COMP 331, COMP 332, COMP 333 và điểm dự đoán của 3 môn lần lượt là 2.7; 3.4; 2.2
+ Hệ thống sẽ đưa ra gợi ý, tư vấn môn học tự chọn cho sinh viên này dựa vào điểm dự đoán Như vậy dựa vào kết quả dự đoán này hệ thống gợi ý cho sinh viên có thể chọn môn COMP 332
Trang 10Hình 11 Giao diện tư vấn
3 Kết luận
Hệ thống gợi ý đang là hướng tiếp cận mới để khai thác nguồn dữ liệu dồi dào và sẵn có của ngành giáo dục nhằm quay lại hỗ trợ các nhà quản lí và người học Hệ thống gợi ý lựa chọn môn học tự chọn cho sinh viên trường ĐHSPHN sẽ góp phần trợ giúp các sinh viên định hướng
kế hoạch học tập để đạt kết quả tốt hơn Trong thời gian tới chúng tôi sẽ tiếp tục thu thập dữ liệu của tất cả các khoa trong trường ĐHSPHN để đưa vào hệ thống Chúng tôi cũng tiếp tục tiến hành khảo sát thêm các ràng buộc để làm sao cho hệ thống gợi ý càng gần sát hơn với thực tế chương trình quản lí đào tạo của trường Cuối cùng, chúng tôi hy vọng có thể tích hợp hệ thống gợi ý này như một tính năng mới trong hệ thống đăng kí môn học của trường ĐHSPHN nhằm hỗ trợ sinh viên lựa chọn các môn học tùy chọn ở đầu mỗi học kì
TÀI LIỆU THAM KHẢO
[1] Yehuda Koren, Robert Bell and Chris Volinsky, 2009 Matrix Factorization Techniques for
Recommender Systems Published by the IEEE Computer Society, pp 42 - 49
[2] Nguyen Thai-Nghe, Lucas Drumond, Tomáˇs Horváth, Artus Krohn-Grimberghe, Alexandros
Nanopoulos, and Lars Schmidt-Thieme, 2012 Factorization Techniques for Predicting
Student Performance 2012 Book chapter in Educational Recommender Systems and Technologies: Practices and Challenges (ERSAT 2012) Santos, O C and Boticario, J G (Eds) SBN13: 9781613504895, ISBN10: 1613504896, IGI Global Publisher, pp 129-153 [3] Nguyen Thai-Nghe, Lucas Drumond, Tomáˇs Horváth, Alexandros Nanopoulos, and Lars
Schmidt-Thieme Matrix and Tensor Factorization for Predicting Student Performance 2011,