Dé tài tập trung nghiên cứu về phương pháp Graph Neural Network GNN và các thuật toán khai thác mạng xã hội, sau đó kết hợp các mô hình với nhau dé xây dựng hệ khuyến nghị tích hợp vào h
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA HE THONG THONG TIN
DANG NGUYEN PHƯỚC AN - 19521171
TRAN MAN QUAN - 19520873
KHOA LUAN TOT NGHIEP
XAY DUNG HE THONG E-LEARNING TICH HOP
TRÍ TUỆ NHÂN TAO, HO TRO CA NHÂN HOÁ
QUÁ TRÌNH HỌC TẬP TRONG LĨNH VỰC
CÔNG NGHỆ THÔNG TIN
Building an E-learning system integrating Artificial Intelligence,
supporting personalized learning processes in the field of
Information Technology
KY SU HE THONG THONG TIN
GIANG VIEN HUONG DAN
PGS TS NGUYEN DINH THUAN
ThS DO DUY THANH
TP HÒ CHÍ MINH, 2023
Trang 2LỜI CẢM ƠN
Lời đầu tiên, nhóm em xin gửi lời cảm ơn sâu sắc đến các thầy cô của Khoa
Hệ thống Thông tin - Trường Đại học Công nghệ Thông tin vì đã giảng dạy và trang
bị cho chúng em những kiến thức cơ bản và kỹ năng cần thiết làm nền tang trong suốt
quá trình thực hiện khoá luận tốt nghiệp
Đặc biệt, chúng em xin cảm ơn PGS TS Nguyễn Đình Thuân và ThS Đỗ Duy
Thanh đã trực tiếp hướng dẫn nhóm hoàn thành khoá luận Thầy đã cung cấp nhiềukiến thức quý giá, chỉ dẫn nhóm em tận tình, chỉnh sửa và góp ý từng lỗi sai củanhóm Nhóm em cũng xin gửi lời cảm ơn đến Anh Nguyễn Minh Nhựt đã luôn đồnghành và luôn dành sự hỗ trợ tận tâm nhất cho nhóm em trong suốt thời gian qua
“Nguồn tri thức duy nhất là kinh nghiệm” Kinh nghiệm mà chúng em tích luỹchưa nhiều nên không tránh khỏi vẫn còn những sai sót và những điểm hạn chế trong
dé tai Chúng em rat mong nhận được sự góp ý từ Quý Thay Cô dé nhóm hoàn thiệnbản thân hơn, có thêm kinh nghiệm đề chuẩn bị tốt hành trang trong tương lai
Trang 3MỤC LỤCChương 1 TONG QUAN DE TÀI 2-22 ©5¿22S2S£2EE2EE£EEE2EEtEEEerkesrxerkrerkee 4
1.1.) Tinh hinh nghién 0u nô G“aiiiddd 4
DI ti@u dé an 6 -G.(A([AẴHỤH)H 8
1.3 Đối tượng nghiên COU cecccccsccscsessessessesssessessessessessssssessessessessecsessnsssesseeseeses 8
1.4 Phạm vi nghién CUu eee ec cseeeeseceeceseesecsecseceeesscesecsesseseeessessessesseseeesaeeaees 9
1.5 Phuong pháp nghiên CỨU - - 55 + t1 21191191 11191 11121 TH ng ng nh 9
1.6 Ý nghĩa dé tài - 2 sSsSEEE2E12E1271271211211211211211 1111.112111 ee 11
1.6.1 Y nghĩa khoa hoc ccsccssessessssssessessessessesssessessessesscsecssessessessessessesseesseeses 111.6.2 Ý nghĩa thực tigticc.cecceccccccsccsssssessssssessessessvescessessessessesssesseseessesatsasesvease 111⁄7 Kiến trúc hệ thong coccceeccccceeccsscsscessessessessessscssessessesatsssessessesuessessesseesesseeseeaes 111.8 Môi trường phat trién occ ecscssessessessessesssssessessessessessesseesesseeses 14Chương 2 CƠ SỞ LY THUYYÊT ¿22 252+©E+EE£+E££EE£EE£EEeEEeEEZErrkrrxere 15
2.1 Lý thuyết về E-Learning - 25c seSx‡EESEEEEEEEEEEEEEEEEEEEEerkerkerkee 15
2.1.1 Khái niệm 52- 222222222 22122127127121121121121121 21211 cErrre 15
2.3.2.1 Khái niệm ¿5+ tt SE 2 21122112171711211211 21121111111 xe 19
2.3.2.2 Ludng hoạt dONg ccccccsessesssessessessecsessussssssecsessessessessusssessessecsecsecaes 19
2.3.2.3 Phân loại -¿- +: 5+ x22 2212212212217121121122127111 112121 re 20
2.3.3 Học sâu và Mang Neural đồ thị -:-©2¿©2++2z++zxczzxerxeerxerreee 21
Trang 42.3.4 Xử lý ngôn ngữ tự nhiÊN - - << 119v ng key 23
2.4 Lý thuyết xây dựng Chafbot - -2¿- 2 2 s+EE+EE£EE£EEEEE2EESEEEEEerkerkerrree 24
2.4.1 Knowledge Graphh - s sknHh ng HnHH Hhg n nH H rưngưg 25
2.4.2 KD - TT€€ LH HH HH Họ ng 26
2.5 Lý thuyết về phân tích mạng xã hội 2 ¿+ 2 +2 ++E+£x+£xzExzEezxees 26
2.5.1 Thuật toán phát hiện cộng đồng mạng xã hội -««+<-«<++ 27
2.5.1.1 LOUVAIH - SG vn HHh T TH HH nh ng 27
P5" 28 2.5.1.4 LAI §S2 8W 7277 agni TÔ Q.2 -c HH se ree 29
2.5.2 Độ đo đánh giá thuật toán phát hiện cộng đồng - 30
2.5.3 Hệ số trung tâm gần nhất + 2-52 s+E+£E+E£EE£EE+EEerEerkerrerree 31
2.6 Lý thuyết kết hợp mô hình - 22 + +++++£++Ex++Ex+zx++rxezrxerxesrxeee 31
2.6.2 ÖOOS[INE - Gv re 32
Chương 3 NGHIÊN CỨU THỰC NGHIỆM - 2 2 2+ 2+££+Ex+rxerxzxezrx 33
3.1 Thu thập dit liệu và tiền xử lý - s+2E+ckeEEeEEcEEEEErkerkrrkrrrrreee 33
Trang 53.2.4 Gan nhãn cho cộng đồng và tính closeness centrality - 403.2.5 Áp dụng vào gợi ý lộ trình và khoá học - ¿+ s+cs+szxsrxscsz 40
3.3 Kay dung 9 0 41
3.3.1 Chuan bị dit Lit cecceccccccecccccssesscessessecsessessessusssessessessessessussuessseseeseesecaes 41
3.3.2 Xây dựng mô hình - ¿2 ++£+EE+2E++EE2EEtEEESEEEEEErkrrkrrrkrrkee 43
Chương 4 PHAN TÍCH THIET KE HE THÓNG -2-¿©z©5z225z+: 44
4.1 Khảo sát hiện trang và xác định yêu 0 44
4.1.2 Xác định yêu cÂu - ¿- - ++Sk+SE+E+EEEEEEEEEEEEE211217171211711 11x xe 45
4.1.2.1 Yêu cầu chức năng ¿ -:- 5-52 2© SE‡EE‡E2EEEEEEeEEEEErrerkrrkrree 454.1.2.2 Yêu cầu phi chức năng - ¿++++++++zxttx+erxezrxerxeerxeee 454.2 Thiết kế thành phần chức năng 2 ¿5£ + SE E£+E££E+EE+EE£EzErkerxsrs 46
4.2.1 Sơ đỒ US€CAS€ óc 1 1 nh 1 TT 1T 111111111 1111111511111 rey 46
4.2.1.2 Danh sách tác nhân và mô tả -¿- + ++++++++zx++zx+rxzeex 47
4.2.1.3 Danh sách Usecase va mô tả 2-5-5555 + 2222 c+++zzsxx 47
4.2.2 Đặc tả một số Usecase chính - - + s+k+E+EE+E+E+EvEEEE+EeEertzkerererxee 49
4.3 Thiết kế thành phần dữ liệu - ¿22 2 E2 EE+EE+EEEEE2EE+EEeEEerxerxerreee 53
4.3.1 Lược đồ cơ sở dit liệu - 2-2 ©+£+E£+EE+EESEEEEEEEEEEEEEEErkerkerkerree 53
AA Thiết kế thành phan xử lý - 2-2 + £+E£+EE+EE+EE£EEEEE2EE2EEEEEerkerkerrree 58
AA Sơ đỒ ACiViẨy SG c2 E1 TET12112211211211211 211112112111 59
TU) na ' ÔỎ 604.5 Thiết kế giao diện người đùng -2¿- 2©52+2x+ExeEEcEEEEeExerkrrkerkrrreee 62
4.5.1 Giao diện đăng nhập - - c2 3 11213 v1 11111 re 62
Trang 64.5.2 Giao diện trang ChủỦ - s5 + k1 9 19H HH ng nệt 63
4.5.3 Giao diện khảo sát đầu VÀO Set St E1 115111111111111111511151 1x xce 64
4.5.4 Giao diện xem lộ trinh - - - << + 2111322111113 11 111111 xerzrxe 64
4.5.6 Giao a9 n4 66
4.5.8 Giao diện tìm kiếm khoá học - ¿2 +¿+++2x++zx+zz+erxezrxrrseee 67
4.6 Thực thi 52SsStEk 2 2E122122171711211211211717121121 211111111 xe 67
4.6.1 Kiểm thử hệ thống ooccecceccccccccccesccscsscssessescscsessessessescsessessesscsesesseeseens 68
4.6.2 Deploy sản phẩm lên môi trường production - 25552 69
Chương 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN -2- 5z 5z55z5s+ 72
5.1 Kết quả đạt đưỢC 2-5 SE E2 11121151121121121111111111 1111k 72
5.2 Hạn chế đế game pp xee= / ào 72
5.3 Hướng phat triÊn - 2k E+2E22E2E12E152121121121121121171 7121.211 1E crxeC 73TÀI LIEU THAM KHẢO ¿2 S2 St SE E21 SE2E9EE1512155111515111111151521112151E 1xx cxeE 74
Trang 7DANH MỤC HÌNH
Hình 1 Quy mô thị trường E-learning toàn cầu giai đoạn 2010 — 2025 2
Hình I.I Biểu đồ tăng trưởng số lượng bài báo đã xuất bản về hệ thống E-Learning trong các cơ SỞ Ø1áO dỤC c1 1121 2 112 111v TH TH TH ng ng Hy 4 Hình 1.2 Kiến trúc hệ thống ¿ 2¿©22-©2222+2E+2EE+SEEEEEerkrrrrerkrerrree 12 Hình 2.1 Kiến trúc E-Learning truyền thống - 2: 2©c++2c++cs++cxeee 16 Hình 2.2 Phân loại hệ thống khuyến nghị - 2 2 2 s+E+£E£+E£+EzExzrxzes 17 Hình 2.3 Mối quan hệ giữa AI, Machine Learning va Deep Learning 19
Hình 2.4 Luéng hoạt động của Machine Learning : :-s¿c5:+: 19 Hình 2.5 Kiến trúc mạng Neural -c- 2-5252 +ESE+EE+EE£EEEEEEEEEEEErEerrerkeree 21 Hình 2.6 Quy trình xây dung mô hình GNN 1.0.0 ee eeeeeeeteceeeeeeeeeeeeseeeeenaeeaes 22 Hình 2.7 Minh hoa đồ thị tri thức vcc.ceccccccccesccscescssessessssessessessesvsssssessessesseseesene 25 Hình 2.8 Minh hoạ quy trình thực hiện kỹ thuật Bagging - - 32
Hình 2.9 Minh hoạ quy trình thực hiện kỹ thuật Boosting - 32
Hình 3.1 Tổng quan quy trình chuẩn bị đữ liệu - 2-2 2 s2 £sz+szzsez£s 33 Hình 3.2 Mô tả dữ liệu cào từ roadmap.sÌ - 5+5 + +++s£++sv++eesseexsssss 34 Hình 3.3 M6 ta dir liệu cào từ Stack OverfÏow cccSc S22 ssceessx 35 Hình 3.4 Bảng so sánh độ hiệu quả của các mô hình — phần l 37
Hình 3.5 Ma giả mô tả cách phân chia dữ liệu train và †est - 38
Hình 3.6 Kết qua phat hiện cộng đồng bang thuật toán GNN - 38
Hình 3.7 Bang so sánh độ hiệu quả của các mô hình — phần 2 - 39
Hình 3.8 | Minh hoạ các bước gợi ý lộ trình trên hệ thống ¬ 40 Hình 3.9 Minh hoạ các bước gợi ý khoá hoc bằng closeness centrality 41
Trang 8Minh hoạ Knowledge Graph sau khi xây dựng . 43
Usecase tổng quan hệ thống EduPath 2-2-5552 22££2£szcxd 46Lược đồ cơ sở dữ liệu hệ thong EduPath - 52555 <<<<cc<<<+ 53
Sơ đồ Activity gợi ý lộ trình học lần đầu tiên -. : - 59
Sơ đồ Activity gợi ý các khoá học liên quan - 2 2 s+cs+s+ 59
Sơ đồ Activity hỏi đáp với Chatbot - 2-2-2 s+cx+£xezxzEzrssrxee 60
Sơ đồ Sequence gợi ý lộ trình học lần đầu tiên cccccscscee 60
Sơ đồ Sequence gợi ý các khoá học liên quan -2- 2-5-5 =+ 61
Sơ đồ Sequence hỏi đáp với Chafbot - 2 + 25s z+£+xzzxerssrs 62Giao diện đăng nhập 2 2 S213 3+ sEtrirrrrrrrrrerrrrrke 62
Giao diện trang chu EduPath sau khi đăng nhập - 63
Giao diện Chatbot khảo sat - 5-5 2225 SE + +22 ££+£zeEeeseeeeezeeeres 64
Giao diện xem lộ trình học tập cá nhân -s-<++s<++s+s2 64
Giao diện xem chỉ tiết một kỹ năng - 2 5+ 5z+c5++zxcscee 65
Giao diện Chatbot - - - 2G 2211122221111 223 181193531 11921111 21k ng rec 66 Giao diện mua khoá học - +5 25+ + S222 ** +2 ++zeveezzeeeerreee 66
Giao diện tìm khoá học - - - 5 <1 1 3322111111521 1 118 11181111 xke 67
Trang 9DANH MUC BANG
So sánh tinh nang giữa Udemy, Coursera va fullstack.edu.vn 44
Danh sách tác nhân hệ thống -2- 2 ¿SE E£+E££Ee£EzEE+EzEzzxeẻ 47Danh sách Usecase của quản tri VIÊN 5c + s+sssserssresrrxes 47 Danh sách Usecase của người dùng khách - «+ «++c<«+ 48
Danh sách Usecase của học vIÊn c5 2< 13322 vssscvsessexee 48
Danh sách Usecase của hệ thống 2-5 25s 2+£+Ez£xerxsrez 48Đặc tả usecase Thực hiện khảo sát - 5-5-5 5c S2 sc+zseecezsee 49 Đặc tả usecase Goi ý lộ trình: - c + St s + sterirerrrrerreeree 49
Đặc ta usecase Xem lộ trình - << < + * + **++222vEeeeezsseeeee 50
Đặc ta usecase Gợi ý khố học ¿5c sScss + sstseerseerrsrrrsrres 50
Dac ta usecase Dat câu hỏi cho Chatbot <5 5555 <<+<+<<ss2 51Đặc ta usecase Phản hồi gợi ¥.ccccsscesscsssesssssessseessesseessecstessecsesseesseesees 51
Đặc ta usecase Mua khố học +22 << £+++++ssseeeeeeeess 52
Thuộc tính bảng USers -. 5 2 3221321133 13221EEEErrrrrre 53 Thuộc tính bang RỌ€ - Q2 22 3231131131511 EEEEerrkrrrke 54
Thuộc tính bảng Mainfype€S - n1 3v v.v 11x re 55
Thuộc tính bang Roadmap Section 55c sScsssssserssreeeeees 55 Thuộc tính bang Roadmap DetalÌ s6 «+ £+s+sveserseeree 56 Thudc tinh bang r1 56
Thuộc tính bang User step -.- c2 1S 1S Series 56 Thuộc tinh bang Payment :ceccesceesseeseeseceeceeseeeeeseeeseesseesseeseess 57
Thuộc tính bang Learning eee eeeeseceeeseceseeseesesseeeeseseeseseeaeeneens 57
Trang 10Thuộc tính bang Course Chapf€FS 525 3S ssserserrsrreee 58
Bang kiém thtt IDOL ccccccesccsscsssesssessesscssessecssecsssesecssecsssesecsssesessecsees 68Các bước thực hiện kiểm thử IDOL ccccccccesesscessessessessesstssesseeseeseeseens 68
Bảng kiểm thử ID02 ¿2252 E+EE£EE£EEEEEE2EE2EEEEEEEEEEEEEErrkrrkeeg 69Các bước thực hiện kiểm thử ID02 ¿ 52 5¿25++cx+2zs+cscez 69
Trang 11DANH MỤC TỪ VIET TAT
CNTT Công nghệ thông tin
ERD Entity Relationship Diagram
GNN Graph Neural Network
IT Information Technology LAI S2 Label Propagation with Adaptive Importance and Seed Selection
LFM Local Optimization Function Model
LMS Learning Management System
MOOC Massive Open Online Courses
NLP Natural Language Processing
RS Recommendation Systems SLPA Speaker-listener Label Propagation Algorithm
UC Use Case
Trang 12TOM TAT KHÓA LUẬN
Cuộc khủng hoảng COVID-19 đã nỗi lên như một “kẻ gây roi mang tính xâydựng " đôi với lĩnh vực giáo dục vì nó đã làm gián đoạn việc giảng dạy trên lớp nhưngcũng đồng thời nâng cao vai trò của công nghệ trong học tập Với tốc độ phát triểnnhanh chóng của công nghệ, việc tự học đang trở thành một phương pháp học tập phổbiến, đặc biệt trong ngành Công nghệ thông tin, giúp người học nâng cao kiến thức
và kỹ năng đáp ứng nhu cầu của thị trường Hệ thống E-Learning cũng từ đó ngàycàng phát triển, trở thành phương tiện tự học hiệu quả và tiềm năng Tuy nhiên, dophần lớn nội dung học tập trên mạng là rời rạc nên câu hỏi làm thé nao dé học nhiều
kiến thức một cách có hệ thống và hiệu quả trong một lĩnh vực cụ thé luôn là một bài
toán đối với E-learning Giữa hàng trăm khóa học được cung cấp trên các trang webE-Learning, người tự học cần có một lộ trình học cụ thé cũng như cần các khoá họcđúng nhất với nhu cầu và khả năng của mỗi người
Đề tài này mô phỏng lại một hệ thống E-Learning cơ bản, lấy tên là EduPath
và thêm vào những cải tiễn trong hệ thong Dé tài tập trung nghiên cứu về phương
pháp Graph Neural Network (GNN) và các thuật toán khai thác mạng xã hội, sau đó
kết hợp các mô hình với nhau dé xây dựng hệ khuyến nghị tích hợp vào hệ thống
E-Learning Hệ thống sẽ lay thông tin khảo sát từ người dùng thông qua Chatbot dé đưa
ra lộ trình riêng học tập được cá nhân hoá cho mỗi người và gợi ý những khoá học
tiếp theo có độ phù hợp cao với từng người dùng Bên cạnh đó, Chatbot cũng hỗ trợ
người dùng đưa ra các gợi ý về vị trí công việc, cơ hội việc làm và mức lương tương
ứng.
Nội dung khoá luận gồm 5 chương chính:
- _ Chương 1: TONG QUAN DE TÀI
- _ Chương 2: CƠ SỞ LY THUYET
- _ Chương 3: NGHIÊN CỨU THỰC NGHIỆM
- _ Chương 4: PHAN TÍCH THIET KE HE THONG
- _ Chương 5: KET LUẬN VA HƯỚNG PHAT TRIÊN
Trang 13MỞ ĐẦU
Trong một báo cáo thuộc dự án Microsoft YouthSpark #WeSpeakCode!, báo
cáo chia sẻ răng có tới "97% số sinh viên nghĩ rằng CNTT là một lựa chọn nghề
nghiệp tốt cho họ, 95% có nhu cầu muốn biết về CNTT nhiều hon" Phan lớn sinhviên tại Việt Nam đều nhận ra giá tri từ việc hoc lập trình va tiềm năng giúp kiến tạocông việc cho họ trong tương lai Những sinh viên này thường chủ động tiếp xúc với
lập trình và công nghệ từ rất sớm Cũng trích dẫn trong khuôn khổ sự kiện, có "57%
cho biết đã học CNTT từ các hướng dẫn trực tuyến"
Với tốc độ phát triển nhanh chóng của công nghệ, cùng với nhu cầu học từ xa
tăng đột biến do đại dịch COVID-19, môi trường học trực tuyến với những ưu điểm
vượt trội đang làm thay đôi mạnh mẽ phương pháp tự học của học sinh, sinh viên.Theo một báo cáo nghiên cứu gần đây từ Global Market Insights, Inc., thị trường họctrực tuyến dự kiến sẽ trị giá tới 325 tỷ USD vào năm 2025 [33], và đạt hơn 375 tỷ
USD vào năm 2026 [17] Giáo dục trực tuyến đang là một thị trường nhiều tiềm năng
dé khai thác và mở rộng quy mô.
Global E-learning Market Size
Market size (USD billion) 5 GBR 86o ° oOo
Hình 1 Quy mô thị trường E-learning toàn cầu giai đoạn 2010 — 2025
! https://news.microsoft.com/vi-vn/2015/03/19/3203/
Trang 14Hiện nay trên thế giới đang có nhiều loại khóa học và nền tảng khác nhau chogiáo dục trực tuyến như Udemy, Coursera, Codecademy, Udacity, LinkedIn
Learning, Skillshare Tai Việt Nam, từ trước năm 2010 đã có các don vi tiên phong
tìm kiếm cơ hội kinh doanh với mô hình này như: Violetvn, Hocmai.vn,TOPICA Các nền tảng này cung cấp các khoá học online miễn phí hoặc phải trả phí,
với kho nội dung đa dạng và phong phú.
Tuy nhiên, nội dung học tập không 16 trên mạng lại rời rac, sinh viên dễ bịchoáng ngợp bởi lượng thông tin có sẵn Một trở ngại lớn khiến người học không đạt
hiệu quả cao khi sử dụng E-Learning là họ không lựa chọn được nguồn thông tin phù
hợp nhất, không có lộ trình học tập cụ thể cũng như không có định hướng xuyên suốt
quá trình học [5].
Nhận thấy nhu cầu đó, tác giả muốn thông qua dé tai này dé thêm những cảitiến trong hệ thống E-Learning, đặc biệt là E-Learning dành riêng cho những học viênmuốn tìm hiểu về công nghệ thông tin Mục tiêu chính của đề tài là mô phỏng lại một
hệ thống E-Learning cơ bản: cung cấp các khóa học về công nghệ thông tin từ cơ bảnđến chuyên sâu, tích hợp trí tuệ nhân tạo (AI) vào hệ khuyến nghị đề đề xuất lộ trình
học tập được cá nhân hoá, gợi ý các khoá học tiếp theo, cũng như gợi ý việc làm và
mức lương cho học viên Phạm vi và đối tượng nghiên cứu bao gồm hệ thống
E-Learning dành cho lĩnh vực Công nghệ thông tin ở Việt Nam, các thuật toán máy hoc,
hoc sâu, các thuật toán phân tích mạng xã hội, Chatbot và hệ khuyến nghi.
Trang 15Chương 1 TONG QUAN DE TÀI
1.1 Tinh hình nghiên cứu
323 T1
Khi sử dụng các từ khoá như “evolution in e-learning”, "personalized E-learning
system", “e-learning recommendation system”, và “community detection” để tìm
kiếm trên Google Scholar, kết qua trả về gồm rất nhiều nghiên cứu liên quan Cácnhà nghiên cứu đã thể hiện sự quan tâm ngày càng tăng đối với E-Learning, điều nàythé hiện rõ qua một nghiên cứu của Aulakh và cộng sự (2022) [33]
Growth of published papers on E-Leaming System in Educational Institutes
00 |
2000 |
Number of Papers published
Hình 1.1 Biểu đồ tăng trưởng số lượng bài báo đã xuất bản về hệ thống E-Learning trong các cơ sở
giáo dục
Hình trên cho thấy các bài báo đã xuất bản về hệ thống E-Learning trong các cơ
sở giáo dục đã có sự tăng trưởng ít nhiều liên tục từ năm 1998 đến 2015 Sau đó, từ
năm 2015 đến 2018, số lượng các công trình được xuất bản đã giảm xuống, do các
nhà nghiên cứu tập trung nhiều hơn vào Trí tuệ nhân tạo và Blockchain Kê từ năm
2018, số lượng nghiên cứu liên quan đến hệ thống E-learning trong các tổ chức giáodục lại bắt đầu tăng trưởng trở lại do đại dich Covid-19 đã tác động lớn đến lĩnh vực
giáo dục toàn cầu Aulakh và cộng sự cũng cho biết các xu hướng mới nhất trong
e-learning phần lớn nhằm mục đích xác định không gian nội dung học tập, phát triển
nội dung E-learning mới và cá nhân hóa nội dung học tập cho người học thế hệ mới
Nghiên cứu này còn gợi ý một số lĩnh vực có thê khai thác đề cải thiện quá trình dạy
- học trong E-learning như cung cấp đề xuất cho sinh viên và phân tích mạng xã hội
Tuy nhiên, nghiên cứu này chỉ đề cập đến việc áp dụng các kỹ thuật khai phá dữ liệu
Trang 16dé cải thiện phương pháp giáo dục trực tuyến, và bỏ qua các khái niệm khác như Học
sâu, Học máy, Trí tuệ nhân tạo, Dữ liệu lớn, [33] Mặt khác, El Gourari và cộng
sự (2020) đã đề cập trong nghiên cứu của mình rằng trí tuệ nhân tạo là một công nghệhiện đại khác có thé đóng góp to lớn vào quá trình chuyên đổi sang học trực tuyến vacho một hệ thong hoc tập được cá nhân hóa hon cho hoc sinh, đặc biệt là sau đại dich
Covid [10].
Nghiên cứu của Valverde và cộng sự (2020) chi ra rang MOOC là phương thức
học trực tuyến được nghiên cứu nhiều nhất [29] Trên thế giới đang có nhiều nền tảngMOOCs khác nhau như Udemy, Coursera, Codecademy, Udacity, LinkedIn
Learning, Skillshare Trong một nghiên cứu của Alojaiman (2021), tác gia đã chi
ra nhiều ưu điểm của từng nên tảng trên, có thé kế đến một số đặc điểm như cung cấp
các khoá học miễn phí, có thể truy cập ở bat kì đâu vào bắt kì lúc nào, nội dung học
tập đa dạng và phong phú [17] Tuy nhiên, lượng thông tin và tài liệu lớn đã cản trở
người học khi họ phải đối mặt với nhiều tài nguyên giáo dục từ các chủ đề khác nhau
Về mặt này, các hệ thống khuyến nghị có thê quản lý nhiều tài nguyên trong môi
trường học tập và hỗ trợ hướng dẫn người học hướng tới một quá trình học tập hiệu
quả hơn.
Nghiên cứu của Souabi và cộng sự (2021) cho biết các hệ thống khuyến nghị
trong E-learning đã được chứng minh là có hiệu quả cao trong việc cải thiện hiệu
suất và kiến thức của người học [42] Nhiều nhà nghiên cứu đề cập đến các hệ
thống khuyến nghị trong E-learning Dưới đây là một số công trình tiêu biểu:
- Nghiên cứu của Jie Lu và cộng sự (2004) đề xuất hệ thống khuyến nghị cá nhân
hóa nhăm hai mục đích: mục đích thứ nhất là xác định nhu cầu của người học vàmục đích thứ hai là đề xuất nội dung phù hợp với nhu cầu đã được xác định [26]
- Hệ thống đề xuất EPERS có sử dụng dién dan thảo luận được Otair và cộng sự
(2005) thiết kế để cung cấp cho người học nội dung được cá nhân hóa đáp ứng yêu
cầu của họ [35]
Trang 17- Chughtai và cộng sự (2014) đã nghiên cứu về một hệ thống đề xuất kết hợp hai
mặt, mặt thứ nhất là sự kết hợp giữa lọc nội dung và lọc cộng tác, trong khi mặtthứ hai là sự kết hợp giữa lọc cộng tác và thuật toán K-láng giềng gần [37]
- Pereira và cộng sự (2018) đã phát triển một phương pháp mới dé sử dụng tương
tác mạng xã hội và dữ liệu được liên kết bằng cách sử dụng các quy trình của
phương pháp CB dé đề xuất các tài nguyên trực tuyến phù hợp [18]
- Rahman va Abdullah (2018) cũng xây dựng hệ thống của họ thông qua kỹ thuật
phân cụm mờ và cây quyết định dé phân loại người học thành người mới bắt dau,
trung cấp va cao cấp dựa trên thành tích học tập và hành vi học tập của họ Điều
này cho phép hệ khuyến nghị đề xuất các tài liệu phù hợp với từng cấp độ, lấy
người học làm trung tâm [36].
- D Shi và cộng sự (2020) gợi ý phương pháp nghiên cứu đồ thi tri thức (Knowledge
Graph) để tạo ra hệ thông khuyến nghị [20].
Nhìn chung, các nền tảng MOOC hiện nay và các công trình trên đều chưa có tínhnăng tạo ra lộ trình học tập cụ thể được cá nhân hoá cho từng học viên mà chỉ dừng
ở mức độ gợi ý tài nguyên hoc tập liên quan Mặt khác, trong lĩnh vực CNTT có một
trang web có thê tạo lộ trình học tập là roadmap.sh nhưng lại không cung cấp khoá
học đi kèm mà chỉ trích dẫn đường link từ nhiều nguồn khác nhau Đề tài này chính
là giải pháp cho van đề trên khi kết hợp tính năng tao lộ trình học tập được cá nhânhoá cho mỗi học viên vào trong nền tảng học trực tuyến thông qua các công nghệ AI
Ngoài ra, các phương pháp dé xây dựng hệ khuyến nghị cũng là một van đề cần
quan tâm Nghiên cứu của S.S Khanal và cộng sự [41] cho biết thuật toán phân cụm
được sử dụng nhiều nhất trong hệ khuyến nghị Phân cụm là học tập không giám sát
trong đó các mục được phân bé cho các nhóm với mục tiêu nhóm các mục có đặc
điểm tương tự vào một nhóm băng cách sử dụng các thước đo khoảng cách Sự giống
nhau giữa những người học được xác định dựa trên khoảng cách đo được Trong lĩnh
vực học tập trực tuyến E-Learning, dé có thé xác định hành vi va đánh giá mức độ
tham gia, hợp tác của người học nhăm cải thiện về chất lượng giảng dạy, nhóm tac
giả S Yassine cùng các cộng sự [43] đã thống kê được 3 kỹ thuật hàng đầu dé xác
Trang 18định cộng đồng và cum dữ liệu lần lượt là K-Means Clustering, Cliquen Analysis,thuật toán Louvain có thé phân loại người dùng thành từng nhóm khác nhau Haytrong nghiên cứu của X Li cùng các cộng sự [48] đã nghiên cứu về các đặc điểm,hành vi thực tế của sinh viên chưa tốt nghiệp tại một trường đại học ở Bắc Kinh để
có thê phát hiện ra sự liên kết của những nhóm sinh viên này với nhau nhằm mục
đích cung cấp và phát triển các dịch vụ phù hợp Với tập dữ liệu rộng lớn và phứctạp, nhóm tác giả quyết định sử dụng thuật toán Louvain cho nghiên cứu của mình
Công trình của V.A.Traag cùng các cộng sự [45] đã nghiên cứu và đề xuất ra
một thuật toán phát hiện cộng đồng mới mang tên Leiden Thuật toán này mang lại
hiệu suất tốt hơn và giải quyết được những nhược điểm mà thuật toán Louvain đanggặp phải, nhóm tác giả đã thử nghiệm thuật toán Leiden trên nhiều bộ dữ liệu khácnhau và đều cho ra kết quả rất vượt trội Trong nghiên cứu khác của R.F Betzel [38],
tác giả đã áp dụng thuật toán Leiden vào lĩnh vực y khoa giúp phát hiện ra các cộng
đồng thần kinh mạng
Bài báo của J Xie cùng các cộng sự [30] đã nghiên cứu và đề xuất một thuật
toán phát hiện cộng đồng chồng chéo mới mang tên SLPA Thuật toán này đã manglại hiệu suất vượt trội khi so sánh với các thuật toán phát hiện cộng đồng khác nhưCopra, LFM hay Cfinder trong nhiều dit liệu mang xã hội khác nhau Hay trong
nghiên cứu của J Scripps và các cộng sự [27] đã so sánh rất nhiều thuật toán phát
hiện cộng đồng với nhau nhằm tìm ra thuật toán có thể tối ưu, chất lượng và phù hợpvới nhiều đặc điểm mà người dùng mong muốn Tác giả đã sử dụng nhiều bộ dữ liệu
khác nhau, đa dạng về lĩnh vực để so sánh độ hiệu quả phân cụm các thuật toán
Agglom, Cfinder, Ahn, SLPA và Oslom Và thuật toán SLPA vẫn luôn đạt hiệu suất
rất cao giữa những lần so sánh ấy
Tại nghiên cứu của A Ponomarenko cùng các cộng sự [15], họ đã nghiên cứu
hàng loạt các thuật toán phát hiện cộng đồng trong mạng xã hội thông qua nhiều bộ
dữ liệu với chỉ số kiểm tra khác nhau, và trong đó thuật toán LAI S2 đã cho ra kết
quả vô cùng ân tượng về sự chính xác của mình khi phân cụm dữ liệu.
Trang 19Bên cạnh đó, trong một bài báo nghiên cứu về các thuật toán phát hiện cộng
đồng trong các hệ thống tư vấn xã hội của Gasparetti và cộng sự [22], thuật toán LFM
được sử dụng rộng rãi với các mạng xã hội phức tạp Mặt khác, nghiên cứu của
J.Zhang và các cộng sự [31] đã nghiên cứu một số thuật toán phát hiện cộng đồngphô biến trong mạng xã hội phúc tạp, trong đó thuật toán LEM được đánh giá là có
khả năng phát hiện cộng đồng sớm nhất và có thê phát hiện được cấu trúc chồng chéo
và phân cấp cùng lúc trong bộ dữ liệu
Những công trình nghiên cứu trên là cơ sở cho việc sử dụng các thuật toán phát
hiện cộng đồng gồm Louvain, Leiden, SLPA, LAI S2 và LEM trong đề tài này
1.2 Mục tiêu dé tài
Mục tiêu của đề tài là xây dựng một hệ thống E-Learning có tên EduPath, cungcấp các khóa học về công nghệ thông tin từ cơ bản đến chuyên sâu Điểm cải tiến của
hệ thông E-Learning này là sử dụng trí tuệ nhân tạo (AI) kết hợp hệ khuyến nghị để
tạo ra các trải nghiệm học tập cá nhân hóa Bao gôm:
- Đề xuất lộ trình học tập phù hợp với định hướng và khả năng hiện có của mỗi
người thông qua khảo sát đầu vào của từng học viên, gợi ý cho học viên nên họctheo chủ đề gì, học theo mức độ ưu tiên nảo
- Cung cấp các nội dung học tập tương ứng với lộ trình đã vạch ra cho mỗi học viên,
có sắp xếp theo cấp độ từ cơ bản đến nâng cao
- Gợi ý các khoá học liên quan với nội dung mà người dùng đã học.
- Tính toán điểm số và tỷ lệ phan trăm hoàn thành lộ trình học dựa trên những kỹ
năng mà học viên đã học xong.
- _ Tích hợp Chatbot gợi ý các vị trí việc làm, mức lương, công ty tuyển dụng cho học
viên khi họ đặt câu hỏi.
1.3 Đối tượng nghiên cứu
- Hệ thống E-Learning tại Việt Nam dành cho lĩnh vực Công nghệ thông tin
- Hệ khuyến nghị trong hệ thống E-Learning
Trang 20- Trí tuệ nhân tao, học máy, học sâu và mang Neural đô thi.
- Công nghệ xây dựng Chatbot.
- Xử lý ngôn ngữ tự nhiên.
- Thuật toán phân tích mạng xã hội.
- Cac phương pháp kết hợp thuật toán
1.4 Phạm vi nghiên cứu
- _ Nghiên cứu kiến trúc hệ thống E-Learning trong lĩnh vực Công Nghệ Thông Tin
- Nghiên cứu mang Neural: Graph Neural Network (GNN).
- Nghiên cứu về các thuật toán phát hiện cộng đồng mạng xã hội (Louvain, Leiden,
SLPA, LAI S2, LFM) và kết hợp mô hình (SLPA - Louvain, SLPA - LFM, LFM
- Nghiên cứu về công nghệ VPS và cách deploy lên môi trường Production
1.5 Phương pháp nghiên cứu
e Nghiên cứu lý thuyết:
Tổng hợp các vấn đề lý thuyết liên quan đến E-Learning và AI từ các nguồn
tai liệu như Giáo trình, Bài giảng, chuyên đề, luận văn, luận án và tìm hiểu
thực tiễn về hệ thống E-Learning tại Việt Nam và trên thế giới dé phát biểu
bài toán cần giải quyết
Mô tả đặc tính của hệ khuyến nghị, ưu khuyết điểm của từng loại mô hình
Trang 21Phương pháp thu thập va xử lý thông tin:
- _ Dữ liệu gồm các kĩ năng và ngôn ngữ lập trình trong lĩnh vực công nghệ thông
tin, được cào từ 2 nguồn: diễn đàn trang web Stackoverflow và trang web
roadmap.sh.
Những kỹ năng, ngôn ngữ lập trình có trong cả 2 bộ dữ liệu trên được giữ lại
và loại bỏ dữ liệu trùng, dữ liệu rong tạo thành bộ dữ liệu mới Tiếp tục chia
bộ dữ liệu đó thành 2 file nodes và edges dé tạo thành bộ dữ liệu có cấu trúcmạng xã hội, từ đó xây dựng các mô hình phát hiện cộng đồng
Dữ liệu về việc làm, mức lương được thu thập từ các tin tuyển dụng trên trang
TopDev.vn Dữ liệu được làm sạch, phân cụm và gan nhãn
Thực nghiệm:
Sử dụng các thuật toán phát hiện cộng đồng mạng xã hội kết hợp với các thuậttoán mang neural đồ thị dé phát hiện cộng đồng trong bộ dữ liệu đã xử lý Sau
đó gan nhãn cho từng cộng đồng vừa tìm được bằng mô hình tốt nhất
Sử dụng dữ liệu đầu vào của người dùng dé xác định người dùng thuộc cộng
đồng nào, từ đó đưa ra gợi ý lộ trình học tập được cá nhân hoá cho từng học
viên, có đánh trọng số chủ đề ưu tiên trong lộ trình
Tính toán hệ số trung tâm gần nhất trong mạng xã hội để gợi ý các khoá học
tiếp theo cho người dùng theo lộ trình
Sử dụng NLP, AI và Machine Learning để xây dựng Chatbot gợi ý các vị trí
việc làm phù hợp với kỹ năng họ đã học.
Sử dụng ReactJS, NodeJS, NextJS dé xây dựng giao diện hệ thong va giao tiép
cơ sở đữ liệu thông qua API.
Sử dung NodeJS xây dung Restful API dé giao tiếp với client va database
Sử dung MongoDB đề xây dung database và lưu trữ dữ liệu, sử dung Firebase
để lưu trữ hình anh và sử dụng Cloud VPS Ubuntu dé lưu trữ video
Xây dựng website đưa lên môi trường production Sử dung Cloud VPS Ubuntu
để deploy server
10
Trang 221.6 Ý nghĩa đề tài
1.6.1 Y nghĩa khoa học
Đề tài có đóng góp một số định hướng trong việc tích hợp AI vào hệ thống
E-Learning để cải tiến các hệ thong cơ ban Từ sự tổng hợp nhiều mô hình học sâu và
mạng xã hội, đề xuất phương pháp kết hợp nhiều mô hình dùng trong hệ khuyến nghị
dé đưa các gợi ý có độ phù hợp cao với người dùng, giúp các nhà nghiên cứu pháttriển các phương pháp dé xuất lộ trình học hiệu quả hơn dé cải thiện việc học trực
tuyến.
1.6.2 Y nghĩa thực tiễn
Một lộ trình học tập chất lượng cao sẽ giúp ích cho việc nâng cao hiểu biết củangười học về nội dung học tập, giảm thời gian thu thập tài liệu và nâng cao hiệu quảhọc tập Các nghiên cứu về trí tuệ nhân tạo được tích hợp vào hệ thống E-Learning
CỐ vai tro quan trong trong việc cải thiện chất lượng giáo dục trực tuyến, đồng thời
tạo ra nhiều cơ hội học tập và nâng cao khả năng tiếp cận kiến thức của học sinh và
sinh viên Việt Nam trong thời đại 4.0 Thông qua đề xuất nội dung học tập được cánhân hoá với năng lực và sở thích của mỗi người học, hệ thống có thể giúp người họccập nhật kiến thức xuyên suốt và nâng cao kỹ năng của mình dé đáp ứng nhu cau của
thị trường lao động Việc này cũng giúp giảm chỉ phí đào tạo và hỗ trợ sự phát triển
bền vững của ngành Công nghệ thông tin
1.7 Kiến trúc hệ thống
Về cơ bản, EduPath là một hệ thống học trực tuyến có kết hợp khuyến nghị dựa
trên nội dung và Chatbot gợi ý việc làm Kiến trúc hệ thống được minh họa trong
Hình 1.2.
11
Trang 23Data preparation Modelling
Crawl Data from Craw! Data from Building single model
roadmap.sh StackOverflow (Louvain, Leiden, SLPA, LAI S2, LFM)
Data pre-processing
Check overlapping-data
Evaluating models
Building ChatBot
Craw! Data from Create facts -
Topdev.vn Combine best model with GNN model
Drawing a
owledge graph Detect communities
Clustering We av closenese centrality
EDUPATH System
Building hybrid model
(Louvain - LFM, SLPA - Louvain, SLPA - LFM)
Pre-processing
User's Input Recommendation system
Ô : | Classification of tags Tags similarity
Personalized learning Recommended
roadmap follow-up courses
Hình 1.2 Kiến trúc hệ thống
12
Trang 24Kiến trúc hệ thống gồm 4 module tương ứng với 4 giai đoạn thực hiện:
Giai đoạn 1: Chuẩn bị dữ liệu
Thu thập dữ liệu về lộ trình học và các kỹ năng, ngôn ngữ lập trình từ các trang
web công nghệ (roadmap.sh, Stackoverflow)
Tiên xử lý dữ liệu và kiêm tra câu trúc mô hình mạng xã hội.
Giai đoạn 2: Xây dựng và đánh gia mô hình
Xây dựng mô hình đơn và mô hình kết hợp các thuật toán phát hiện cộng đồngmạng xã hội Đánh giá mô hình dựa trên 5 chỉ số Number of Community,
Modularity, Coverage, Conductance, Execution time dé tìm ra mô hình tốt nhất
Kết hợp mô hình vừa tìm được với mô hình Mạng Neural Đồ thị để phát hiện cộng
đồng và lần lượt gắn nhãn về lĩnh vực công nghệ thông tin cho từng cộng đồng đó.Tính độ đo trung gâm gần nhất (closeness centrality)
Giai đoạn 3: Áp dụng mô hình vào hệ khuyến nghị của EduPath
Gợi ý lộ trình: Người dùng đăng nhập lần đầu tiên sẽ được thu thập dir liệu thông
qua chatbot Sau đó, hệ thống xác định kĩ năng nhập vào của người dùng thuộc
cộng đồng kiến thức nào, từ đó đề xuất ra lộ trình học tương ứng với cộng đồng đó
nhờ bộ dữ liệu của roadmap.sh.
Gợi ý khoá học: Các khoá học liên quan với nhau được gợi ý thông qua sử dụng
độ do closeness centrality trong đồ thị mạng xã hội Tập dữ liệu đồ thị được xây
dựng từ những tag kỹ năng, ngôn ngữ lập trình mà nhiều người dùng trên cộng
đồng Stackoverflow thường đề cập Về ý tưởng, giả sử một người dùng A đặt câu
hỏi có tag X và có một người dùng B quan tâm tới van đề có tag Y trên diễn đàn
của Stackoverflow Khi X và Y được xác định thuộc cùng một cộng đồng lĩnh vực
IT, A và B có thé được xem là các người dùng có cùng sở thích và mối quan tâm,
đồng nghĩa với việc ta có thể gợi ý tag X cho B và ngược lại Áp dụng vào EduPath,
khi người dùng học tập một khoá học có tag này, hệ thống sẽ sử dụng chỉ số
closeness centrality trong mang xã hội dé gợi ý các khoá học khác có tag gần nhất
với tag hiện tại mà người dùng đang học.
13
Trang 25Giai đoạn 4: Xây dựng Chatbot gợi ý việc làm
- Thu thập dit liệu về các thông tin tuyên dụng từ trang web Topdev.vn
- Tiền xử lý và phân cụm dé liệu
- Sử dụng dữ liệu đã được xử lý và chuyền đổi thành bộ dữ liệu phù hợp với mô
hình Chatbot.
- Vẽ Knowledge Graph và xây dựng Chatbot bang thuật toán KD-Tree
1.8 Môi trường phát triển
- XAy dựng mô hình khuyến nghị và Chatbot bằng ngôn ngữ lập trình Python 3.9
- Xây dựng RESTful API bằng NodeJs
- Xây dung giao diện ứng dụng bang Framework NextJS
- Sever Clould: Hệ điều hành Ubuntu
- Hệ quản tri Cơ sở dữ liệu: MongoDB.
- Công cụ quản lý dự án: Microsoft Project.
- Công cụ thiết kế: draw.io, Visio, Figma, Adobe Illustrator
- Công cu quản ly Source Code: Smart Git, Github.
- Tén miền: http://edupath.ftisu.vn
14
Trang 26Chương 2 CƠ SỞ LÝ THUYET
2.1 Lý thuyết về E-Learning
2.1.1 Khái niệm
Đã có rất nhiều nghiên cứu đưa ra khái niệm về Learning, có thể hiểu về
E-Learning như sau:
E-learning là viết tắt của Electronic Learning Theo đó, các dang có yếu tốđiện tử được sử dụng dé hỗ trợ dạy học đều được coi là E-Learning Hiểu một cáchtổng quát, E-learning là thuật ngữ dùng dé mô tả việc học tập, đào tạo dựa trên côngnghệ thông tin và truyền thông, đặc biệt là công nghệ thông tin [8]
Nói đến học tập sẽ luôn có người dạy và người học Trong E-Learning, người
dạy và người học có thê giao tiếp với nhau qua mạng đưới các hình thức như: e-mail,thảo luận trực tuyến (chat), diễn đàn (forum), hội thảo video [8]
E-Learning là một hình thức học tập thông qua mạng Internet dưới dạng các
khóa học và được quản lý bởi các hệ thông quản lý học tập đảm bảo sự tương tác,hợp tác đáp ứng nhu cầu học mọi lúc, mọi nơi của người hoc [5]
Theo cách hiểu trên, một hệ thống E-Learning phải dam bảo được các điều kiện
Hình 2.1 dưới đây minh họa kiến trúc đơn giản của các hệ thống E-learning hiện
có [34] Hệ thống E-learning truyền thống bao gồm ba cấp độ Đầu tiên, người dùngkết nối với nền tảng học tập trực tuyến để học Thứ hai, các nền tảng học tập trựctuyến như MOOC, Moodle, LMS được triển khai trên máy chủ web Cuối cùng là
hệ quản tri cơ sở dữ liệu quan hệ cho phép lưu trữ di liệu, tài nguyên giảng dạy, hoạt
động của người học,
15
Trang 27instructor Learner Administrator
sản phẩm (phim, sách, nhạc, ) hoặc các yếu tố xã hội (nhóm, bạn bè ) có thé có ích
cho người dùng Hệ khuyến nghị thường hướng tới cá nhân người dùng Những người
có sở thích, mối quan tâm khác nhau sẽ nhận được những sự tư vấn khác nhau [2]
Hiện nay, hệ khuyến nghị có ba phương pháp tiếp cận phô biến: dựa trên nội dung,
lọc cộng tác và hệ lai ghép [3].
16
Trang 28Content-based filtering Collaborative filtering Hybrid filtering
technique technique technique
Model-based filtering Memory-based filtering
technique technique
Hình 2.2 Phân loại hệ thống khuyến nghị
Dựa trên nội dung: Hệ thong nay dựa trên việc rút nội dung mô ta mặt hàng và hồ
sơ các lựa chọn của người dùng trong quá khứ Từ đó, hệ thống thực hiện so sánh sự
tương đồng nội dung để chọn những điểm chung nhất phục vụ cho việc gợi ý.
®©- Ưu điển: Đảm bảo tính độc lập giữa các người dùng và giải quyết phan lớn
van đề khởi động nguội dành cho người dùng mới hoặc sản phẩm mới
e Nhược điểm: Hệ thông phải phân tích và trích chọn nội dung sản phẩm Điều
này dẫn đến hệ thống tư van các sản phẩm quen thuộc Đồng thời, hệ thốnggặp khó khăn khi gợi ý các sản phẩm mới cho người dùng mới
Lọc cộng tác: Phương pháp lọc cộng tác dựa trên việc thu thập và phân tích một
lượng lớn các hành vi, hoạt động của người dùng và dự đoán xem họ có nét tươngđồng như thế nào đối với người khác Tiếp cận này không sử dụng học máy nhưng
có thé đề xuất chính xác những sản phâm khác mà người dùng đang quan tâm
17
Trang 29e Uu điểm: Đề xuất được những sản phẩm người dùng quan tâm Người dùng
đánh giá trực tiếp đối với các sản phẩm, dịch vụ, nội dung
e Nhược điểm: Ma trận đánh giá rất thưa Khi ma trận đánh giá lớn, nghĩa là số
người dùng lẫn sản phẩm lớn thì thời gian tính toán sẽ tăng cao, khó đáp ứng
tư vấn thời gian thực hoặc gần thời gian thực Các từ đồng nghĩa trong đánhgiá sản phẩm gây cản trở cho việc tính toán độ tương tự
Hệ khuyến nghị lai: Là sự kết hợp cả hai phương pháp dựa trên nội dung và lọc cộngtác Phương pháp này nhằm giải quyết vấn đề khởi động lạnh và ma trận đánh giá
thưa.
2.3 Lý thuyết về trí tuệ nhân tạo, học máy và hoc sâu
2.3.1 Trí tuệ nhân tạo
Trí tuệ nhân tạo (viết tắt là AI - Artificial Intelligence) [9] trước hết được định nghĩa
là “tri tuệ phát sinh bởi máy móc, doi lập với trí tuệ tự nhiên phát sinh bởi con người
va các loài vật” Theo đó khái niệm trí tuệ nhân tạo được áp dụng khi máy móc học
theo được các chức năng lý trí gắn với trí tuệ con người
Bên cạnh đó trong cuốn sách nổi tiếng "Trí tuệ nhân tạo: Hướng tiếp cận mới nhất"(Artificial Intelligence: A Modern Approach) tái bản lần 3 của hai tác gia StuartRussel va Peter Norvig có tong hợp một số định nghĩa khác nhau về AI như sau:
“Trí tuệ nhân tao là nỗ lực thủ vị nhằm khiến suy nghĩ của máy tính có thêm
nhận thức, tu duy.
Trí tuệ nhân tạo là những hành động của máy móc gan liền với tư duy của con
người, ví dụ như ra quyết định hay giải quyết van dé
Trí tuệ nhân tạo là nghiên cứu về năng lực trí tuệ vận hành vào các mô hình
tính toán.
Trí tuệ nhân tạo là nghiên cứu để máy tính có khả năng nhận thức, nhận định
và hành động.
Trí tuệ nhân tạo là nghệ thuật tạo ra các cỗ may co thé thực hiện những chức
năng yêu cáu trí tuệ khi thực hiện bởi con người ”
18
Trang 30Trong cuộc Cách mạng công nghiệp 4.0, AI là một trong những yếu tố then chốt.
AI thể hiện một mục tiêu của con người Machine learning là một phương tiện được
kỳ vọng sẽ giúp con người đạt được mục tiêu đó Hiểu theo cách khác, Machine
Learning là một tập con của AI Những năm gần đây, khi mà khả năng tính toán của
các máy tính được nâng lên một tầm cao mới và lượng dt liệu khong 16 duoc thu thap
bởi các hãng công nghệ lớn, Machine Learning đã tiễn thêm một bước dài và một lĩnh
vực mới được ra đời gọi là Deep Learning.
xøf optim n the 1950s, smatler subsets oi lg@I #
deer subset ¢ achin: nq ~ have created auger 1
Hình 2.3 Mối quan hệ giữa AI, Machine Learning và Deep Learning
2.3.2 Học may
2.3.2.1 Khái niệm
Machine learning (ML) [1] hay máy học là một nhánh của AI, nó là một lĩnh
vực nghiên cứu cho phép máy tính có khả năng cải thiện chính bản thân chúng dựa
trên dữ liệu mẫu (training data) hoặc dựa vào kinh nghiệm (những gi đã được học).
Machine learning có thể tự dự đoán hoặc đưa ra quyết định mà không cần được lập
Trang 311 Data collection — thu thập dữ liệu: máy tính chỉ có khả năng học tập khi đượccung cấp day đủ các dữ liệu đầu vào (dataset), các dit liệu đầu vào phải đảm bảo cácyêu tô: chính xác và sát với nhu cau giải quyết van đề của mô hình, không trộn lẫnvới các dữ liệu sai, được gan nhãn một cach cân thận Mô hình có đủ thông minh haykhông phụ thuộc vao độ tin cậy của dữ liệu đầu vào.
2 Preprocessing — tiền xử lý: bước này dùng déchuan hóa dữ liệu, loại bỏ các thuộc
tính không cần thiết, gán nhãn dữ liệu, mã hóa một số đặc trưng, trích xuất đặc trưng,rút gon dit liệu nhưng van đảm bảo kết qua Bước này mat nhiều thời gian nhất và
tỉ lệ thuận với số lượng dữ liệu đưa vào Bước I và 2 thường chiếm hơn 70% tổng
thời gian thực hiện.
3 Training model — huấn luyện mô hình: triển khai huấn luyện mô hình dựa trên
các dữ liệu đã thu thập.
4 Evaluating model — đánh giá mô hình: sau khi đã huấn luyện mô hình xong, môhình cần dùng các độ đo để đánh giá, tùy vào từng độ đo khác nhau mà mô hình cũngđược đánh giá tốt hay không khác nhau Độ chính xác của mô hình đạt trên 80% đượccho là kết quả tốt
5 Improve — cải thiện: sau khi đã đánh gia mô hình, các mô hình đạt độ chính xáckhông tốt thì cần được train lại, thường sẽ lặp lại từ bước 3, cho đến khi đạt độ chínhxác như kỳ vọng Tông thời gian của 3 bước cuối rơi vào khoảng 30% tông thời gianthực hiện Tuy nhiên, nếu thực hiện quá nhiều lần mà vẫn không đạt được kết quả
mong muốn, lỗi chắc chắn do đữ liệu đưa vào có trộn lẫn đữ liệu sai và cần thực hiện
lại từ đầu
2.3.2.3 Phân loại
Dựa trên phương thức học, Machine Learning chia thành 3 loại: học có giám
sat (supervised learning), học không giám sat (unsupervised learning) và học bán
giám sát (semi-supervised learning)
- Học có giám sát: là quá trình cung cấp một lượng lớn dữ liệu huấn luyện cho AI, từ cơ
sở các dữ liệu đã được huấn luyện, AI có kha năng ghi nhớ và giải quyết vấn dé mà lập
trình viên đưa ra Nhờ đó, AI có thể ghi nhớ và phân biệt được với dữ liệu va lời giải sai.
20
Trang 32- Học không giám sát: là quá trình cung cấp dữ liệu ngẫu nhiên không gồm dữ liệu
đúng, sau đó AI sẽ tự tìm ra những đặc trưng hoặc định nghĩa đúng từ dữ liệu cungcấp từ trước đề phân tích dữ liệu mới và chọn lọc ghi nhớ
- Học bán giám sát: kết hợp các vi dụ có gắn nhãn và không gan nhãn dé sinh một
hàm hoặc một bộ phân loại thích hợp.
Về chức năng, bải toán machine learning thường được chia làm các loại như dự
đoán (prediction) và phân loại (classification)
- Dự đoán: Phuc vụ giải quyết cho các vấn đề dự đoán sự biến động của một thông
số cụ thể Ví dụ, từ tập đữ liệu chỉ số chứng khoán qua các phiên giao dịch, máy
tính có thé dự đoán giá trị cổ phiếu tại phiên giao dịch tiếp theo
- Phân loại: Các bài toán phân loại được áp dụng nhiều trong lĩnh vực thị giác máy
tính, dùng để lọc các loại vật thê
2.3.3 Học sâu và Mang Neural đồ thị
Học sâu (Deep Learning) [44] là một lĩnh vực trong trí tuệ nhân tạo (Artificial
Intelligence) tập trung vào việc xây dựng và huấn luyện các mang neural sâu dé học
biểu diễn và rút trích thông tin từ dữ liệu Đặc điểm chính của học sâu là sử dụng các
mô hình mang neural có nhiều lớp ân, giúp mô hình có khả năng học được các mức
độ biéu diễn phức tạp từ dữ liệu không gian rộng
Hình 2.5 Kiến trúc mạng Neural
21
Trang 33Học sâu là một nhánh của học máy dựa trên kiến trúc mạng neural nhân tạo Mạng
neural nhân tạo (Artificial Neural Network - ANN) sử dụng các lớp nút được kết nốivới nhau được gọi là neural, hoạt động cùng nhau dé xử ly và học hỏi từ dữ liệu đầuvào Trong một mạng neural sâu được kết nói đầy đủ, có một lớp đầu vào và một hoặcnhiều lớp ân được kết nối lần lượt với nhau
Cách thức hoạt động của thuật toán Deep Learning diễn ra như sau: Các dòng thông
tin sẽ được trải qua nhiều lớp cho đến lớp sau cùng Mỗi neural nhận đầu vào từ các
neural lớp trước hoặc lớp đầu vào Đầu ra của một neural trở thành đầu vào của các
neural khác trong lớp tiếp theo của mạng và quá trình này tiếp tục cho đến khi lớp
cuối cùng tạo ra đầu ra của mạng Các lớp của mạng thần kinh biến đổi dữ liệu đầu
vào thông qua một loạt các phép biến đôi phi tuyến tính, cho phép mang học các biểu
diễn phức tạp của dữ liệu đầu vào
Mang neural đồ thị (Graph Neural Network - GNN) [32] là một dạng mang neuralđược thiết kế dé làm việc trên dữ liệu có cấu trúc đồ thị, chăng hạn như mạng xã hội,
mạng phân tử, hay các hệ thống tương tác GNN cung cấp khả năng mô hình hóa
thông tin tương tác và phụ thuộc giữa các đỉnh (nodes) trong đồ thị, đồng thời khám
phá và tận dụng cấu trúc đồ thị dé thực hiện các tác vụ như phân loại, dự đoán, gom
cum, va dự báo trên dữ liệu đô thi.
=> GNN | —> —> |—— ledge —} | | Training setting Task
eye: lyec Embedding * Supervised * Node-level
+ Semi-supervised + Edge-level
Graph * Unsupervised * Graph-level
Embedding
1 Find graph structure 4 Build model using computational modules 3 Design loss function.
2 Specify graph type and scale.
The general design pipeline for a GNN model.
Hình 2.6 Quy trình xây dựng mô hình GNN
22
Trang 34Các mô hình GNN thường sử dụng cơ chế cập nhật trạng thái của các đỉnh trong
đồ thị thông qua việc kết hợp thông tin từ hàng xóm của đỉnh đó Quá trình cập nhậtnày được thực hiện qua nhiều lớp ân, cho phép mô hình nhận biết và tong hợp thôngtin trên quy mô đồ thị
2.3.4 Xử lý ngôn ngữ tự nhiên
Xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP) [6, 12] là một lĩnh
vực nghiên cứu trong AI liên quan đến việc làm sao dé máy tính có thé hiểu, tạo ra
và tương tác với ngôn ngữ tự nhiên của con người NLP xử lý các dạng thông tin
ngôn ngữ, bao gồm văn bản, giọng nói, dit liệu web và các dang thông tin khác
Dưới đây là các bước chính trong xử lý ngôn ngữ tự nhiên
Bước 1: Thu thập dữ liệu
Bước đầu tiên là thu thập dữ liệu ngôn ngữ tự nhiên Dữ liệu có thé được thu thập từ
các nguồn như văn bản, sách, bải viết trên web, đữ liệu từ mạng xã hội hoặc bộ dữ
liệu có sẵn.
Bước 2: Tiền xử lý (Preprocessing)
Tiền xử lý dữ liệu là quá trình làm sạch và chuẩn hóa đữ liệu Các bước trong tiền xử
lý có thể bao gồm:
- Loại bỏ dau câu và ký tự đặc biệt không cần thiết
- _ Chuyên đối văn bản thành chữ thường
- _ Loại bỏ các từ dừng (stop words) như "và", "là", "một”,
- _ Chuyên đổi từ về dạng gốc (stemming) hoặc phân tách từ (lemmatization)
- _ Xử lý và chuẩn hóa số liệu, địa chỉ, tên riêng
Bước 3: Mã hoá (Tokenization)
Quá trình chia câu thành các thành phần nhỏ hơn gọi là "token" Một token có thé làmột từ, một ký tự, hoặc một cụm từ.
Bước 4: Phân tích ngữ pháp (Part-of-Speech - POS tagging)
Phân loại các từ trong câu vào các loại từ loại như danh từ, động từ, tính từ, giới từ,
Công việc này giúp hiệu câu trúc ngữ pháp và ý nghĩa của câu.
23
Trang 35Bước 5: Phân tích cú pháp (Parsing)
Quá trình phân tích cấu trúc câu dé xác định cú pháp và quan hệ giữa các thành phan
câu Có thé sử dụng các phương pháp như phân tích cây cú pháp (syntax tree parsing)
hoặc phân tích cú pháp dựa trên bộ nhãn (dependency parsing).
Bước 6: Phân tích ngữ nghĩa (Semantic analysis)
Quá trình hiểu ý nghĩa của câu và các mối quan hệ ngữ nghĩa giữa các từ và cụm từtrong câu Điều này bao gồm việc hiểu nghĩa của từ, phân loại ý nghĩa và sự tương
tác giữa các thành phần ngữ nghĩa trong câu Các phương pháp như Word SenseDisambiguation (WSD) va Named Entity Recognition (NER) được sử dung dé xácđịnh ý nghĩa va loại cua từ và cum từ.
Bước 7: Phân tích ngữ cảnh (Discourse analysis)
Quá trình xem xét ngữ cảnh rộng hơn của câu hoặc văn bản dé hiểu ý nghĩa và mục
tiêu truyền đạt Các mối quan hệ liên kết giữa các câu, sự gợi ý và ngữ cảnh xã hội
có thê được phân tích dé đưa ra hiểu biết sâu hơn về nội dung
Bước 8: Xử lý ngôn ngữ tự nhiên dựa trên may học
Một phương pháp phổ biến trong xử lý ngôn ngữ tự nhiên là sử dụng các thuật toán
và mô hình học máy dé xử ly dir liệu ngôn ngữ tự nhiên Các mô hình như mạng
neural và các thuật toán như Support Vector Machines (SVM) va Naive Bayes được
sử dung dé xây dung các mô hình dự đoán và phân loại đữ liệu ngôn ngữ tự nhiên
Bước 9: Ứng dụng và trích xuất thông tin
Cuối cùng, sau khi đã xử lý và hiểu thông tin từ văn bản ngôn ngữ tự nhiên, chúng ta
có thể áp dụng NLP dé thực hiện các tác vụ như dich máy, phân loại văn bản, tríchxuất thông tin, tong hợp, phân tích tinh cảm (sentiment analysis),
2.4 Lý thuyết xây dựng Chatbot
Chatbots được định nghĩa là một chương trình phần mềm được xây dựng bằng
trí tuệ nhân tạo (AI) kết hợp với thuật toán xử lý ngôn ngữ tự nhiên và các công nghệ
khác để có thé phan ánh sự tương tác giữa máy tính và con người với nhau Giống
như con người sử dụng ngôn ngữ tự nhiên dé giao tiếp và Chatbot cũng sử dụng ngôn
24
Trang 36ngữ tự nhiên dé giao tiếp với người dùng [47] Nhưng theo tác giả Akshata Sarangtrong nghiên cứu xây dựng hệ thống Chatbot dành cho trường đại học [16] đã chorằng Chatbot không chỉ giao tiếp với người dùng bằng ngôn ngữ tự nhiên, mà nó đã
có thé giao tiếp, trao đổi thông tin với người dùng thông qua các tệp âm thanh, hìnhảnh hay bất kỳ hình thức gì đo con người định nghĩa
Hệ thống Chatbot ngày nay sẽ có 3 loại chính lần lượt là Menu Button Chatbots,
Keyword Recognition-Based Chatbots va Contextual Chatbots Với loại KeywordRecognition-Based, các Chatbot nay nhận các từ khóa cụ thé dé tao ra kết quả mongmuốn Chúng sẽ lắng nghe những gì người dùng nhập và phản hồi với nội dung tươngứng Với sự kết hợp của trí tuệ nhân tạo (AI) và danh sách đữ liệu từ khóa tùy chỉnh,
bot sẽ xác định nội dung phản hồi phù hợp với người dùng bằng cách sử dụng thuật
Knowledge Graph sẽ lưu trữ 3 trường thông tin chính lần lượt là thực thé, thuộc tinh
Trang 37Bước 1: Xác định số chiều của không gian dữ liệu.
Bước 2: Xác định điểm chia và trục chiều dé chia không gian thành hai phan
Bước 3: Chia dữ liệu thành hai phần dựa trên điểm chia và trục chiều
Bước 4: Đệ quy xây dựng cây KD cho cả hai phần
Bước 5: Lap lại các bước trên cho đến khi mỗi nút lá đại diện cho một điểm đữ liệu
Bước 6: Tra cứu bắt đầu từ nút gốc của cây và lan xuống các nhánh con phù hợp
Bước 7: Lựa chọn nhánh con dựa trên vị trí của điểm cần tìm
Bước 8: Tiếp tục lan tỏa và cập nhật điểm gần nhất
Bước 9: Hoàn thành quá trình tra cứu.
2.5 Ly thuyết về phân tích mạng xã hội
Mạng xã hội có thê được định nghĩa là một tập hợp các thực thé được kết nối
với nhau và thường được biểu diễn đưới dạng đồ thị, trong đó các thực thé được biểu
diễn bằng các nút và mối quan hệ của chúng là các liên kết [28]
Phân tích mạng xã hội (Social Network Analysis) dựa vào lý thuyết đô thị là
một tập hợp các phương pháp lựa chọn mẫu, thu thập và xử lý dữ liệu, phân tích các
khái niệm, sử dụng lý thuyết đồ thị để mô tả và phân tích các mối quan hệ giữa các
thực thé, các tác nhân trong mạng, xác nhận các quy luật hình thành và biến đôi của
những mối quan hệ đó, và nhất là làm sáng tỏ những ảnh hưởng của các mối quan hệ
xã hội (hay cấu trúc của mạng) đối với hành vi của các thực thê tham gia Trong lĩnhvực phân tích mạng xã hội, việc phân tích và phát hiện các cộng đồng (communitydetection) trên mang xã hội mang nhiều ý nghĩa quan trọng Cộng đồng mang xã hội
là một nhóm các thực thể trong mạng xã hội có những tính chất tương tự nhau, liên
26
Trang 38kết chặt chẽ với nhau và cùng đóng một vai trò nhất định Việc phát hiện và phân tích
các cộng đồng mạng xã hội sẽ cung cấp cho chúng ta những thông tin quý giá dé hiểubiết và hình dung được những cau trúc của mạng [4]
2.5.1 Thuật toán phát hiện cộng đồng mạng xã hội
Mục tiêu của bài toán phát hiện cộng đồng mạng xã hội là từ các mạng xã hội cho
trước, phát hiện được các cộng đồng nằm trong đó và tìm hiểu về mối liên hệ bên
trong các cộng đồng cũng như giữa các cộng đồng với nhau, mối liên hệ đó có ảnh
hưởng thế nào đến toàn mạng xã hội Một tập hợp các đỉnh trên đồ thị được coi là
một cộng đồng nếu mật độ cạnh giữa các đỉnh bên trong nó cao hơn so với mật độcủa các cạnh giữa đỉnh của nó và những đỉnh khác bên ngoài Phát hiện cộng đồng
nhằm mục đích nhóm các đỉnh liên kết mạnh theo các mối quan hệ giữa chúng dé tạothành các đồ thị con từ đồ thị ban đầu Việc phát hiện cộng đồng trên mạng xã hội
dựa trên cơ sở lý thuyết đồ thị còn được gọi là bài toán phân cụm đồ thị [4]
Do tầm quan trọng của các cộng đồng mang xã hội nên đã có nhiều thuật toán phat
hiện cộng đồng trên mạng xã hội được đề xuất
Dựa trên tình hình nghiên cứu ở Chương 1, phạm vi nghiên cứu của đề tài đượcxác định xoay quanh các thuật toán: Louvain, Leiden, SLPA, LAI S2, LFM.
2.5.1.1 Louvain
Louvain [46] là một thuật toán phân cụm đồ thị được sử dụng dé tìm cộng đồngtrong mạng xã hội hoặc đồ thị đại diện cho hệ thống phức tạp khác
Các bước thực hiện:
Bước 1: Khởi tạo mỗi đỉnh trong đồ thị ban đầu thành một cụm riêng biệt
Bước 2: Lặp lại các bước sau cho tất cả các đỉnh:
- Tính toán giá trị modularity cho mỗi đỉnh bằng cách so sánh sự gia tăng trong
cộng đồng hiện tại của đỉnh đó và sự gia tăng trong cộng đồng nếu đỉnh được
di chuyển vào từng cụm khác nhau
- Di chuyên đỉnh vào cụm tương ứng với giá trị modularity cao nhất
27
Trang 39Bước 3: Xây dựng đồ thị cụm mới, trong đó các đỉnh được biểu điễn bởi các cụm
trong bước trước.
Bước 4: Lặp lại từ bước 2 đến khi không có sự thay đổi trong phân cụm nữa
2.5.1.2 Leiden
Leiden [45] là một thuật toán phân cụm đồ thị dựa trên việc tối ưu hóa một hàm
modularity Nó tìm kiếm các cụm con cực đại bang cách sử dụng phép đôi chỗ các
đỉnh trong đồ thi dé cải thiện modularity
Các bước thực hiện:
Bước 1: Khởi tạo mỗi đỉnh trong đồ thị ban đầu thành một cụm riêng biệt
Bước 2: Lặp lại các bước sau cho tất cả các đỉnh:
- Tính toán giá trị đóng góp modularity của việc di chuyên đỉnh đến các cụm
khác.
- _ Di chuyển đỉnh vào cụm tương ứng với đóng góp modularity cao nhất
Bước 3 và bước 4 thực hiện tương tự thuật toán Louvain
2.5.1.3 SLPA
SLPA (Speaker-listener Label Propagaton Algorithm) [30] là một thuật toán
phân cụm đồ thị dựa trên quy tắc truyền nhãn giữa người nói và người nghe Nó môphỏng quá trình truyền tin trong mạng xã hội đề xác định cộng đồng trong đồ thị
Các bước thực hiện:
Bước 1: Khởi tạo nhãn cho các đỉnh trong đồ thị
Bước 2: Lặp lại các bước sau cho một số lần lặp cố định:
- Dat ngẫu nhiên thứ tự truyền tin cho các đỉnh trong đồ thi
- Mỗi đỉnh lắng nghe nhãn từ các đỉnh kết nối với nó và chọn nhãn phô biến
nhất dé cập nhật nhãn của mình
Bước 3: Xây dựng đồ thị cụm mới, trong đó các đỉnh được biểu dién bởi các cụmtrong bước trước.
28
Trang 402.5.1.4 LAIS2
LAI S2 (Label Propagation with Adaptive Importance and Seed Selection) [24]
là một thuật toán phân cum đồ thị dựa trên quy tắc truyền nhãn với việc chọn tâm
cụm thông minh và ưu tiên sự quan trọng của các đỉnh trong quá trình truyền nhãn
Các bước thực hiện:
Bước 1: Khởi tạo nhãn cho các đỉnh trong đồ thị
Bước 2: Chọn các đỉnh làm tâm cụm ban đầu dựa trên một phương pháp tối ưu hóa
đặc biệt.
Bước 3: Lặp lại các bước sau cho một số lần lặp có định:
- Tinh toán sự quan trọng của các đỉnh dựa trên thông tin nhãn va vi tri của
chúng.
- _ Sắp xếp các đỉnh theo thứ tự quan trọng giảm dan
- _ Truyền nhãn từ các đỉnh quan trọng cao đến các đỉnh khác, ưu tiên nhãn của
Các bước thực hiện:
Bước 1: Khởi tạo nhãn cho các đỉnh trong đồ thị
Bước 2: Lặp lại các bước sau cho tất cả các đỉnh:
- _ Truyền nhãn từ các đỉnh có nhãn đã biết đến các đỉnh chưa được gan nhãn
- Cap nhật nhãn cho các đỉnh chưa được gan nhãn dựa trên các nhãn đã biết của
các đỉnh kết nối với chúng
Bước 3: Lặp lại từ bước 2 đến khi không có sự thay đôi trong các nhãn nữa
29