ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
XÂY DỰNG HỆ QUẢN TRỊ ĐÀO TẠO
TÍCH HỢP MẠNG XÃ HỘI
Ngành: Khoa học máy tính
HỘI ĐỒNG: KHOA HỌC MÁY TÍNH 8
GVHD: TS. Phan Trọng Nhân
GVPB: ThS. Nguyễn Thanh Tùng
---o0o--SVTH 1: Vương Chí Cường (1710735)
SVTH 2: Trần Lê Anh Quân (1712830)
TP. HỒ CHÍ MINH, 08/2021
Lời cam đoan
Chúng tôi xin cam đoan đây là công trình được nghiên cứu và thực hiện của riêng chúng
tôi dưới sự giám sát và hướng dẫn của TS. Phan Trọng Nhân. Nội dung và các kết quả đều là
trung thực. Các số liệu được sử dụng cho quá trình phân tích, nhận xét được chính chúng tôi
thu thập từ nhiều nguồn khác nhau và sẽ được ghi rõ trong phần tài liệu tham khảo.
Ngoài ra, chúng tôi cũng có sử dụng một số nhận xét, đánh giá và số liệu của các tác giả,
cơ quan, tổ chức khác. Tất cả đều có trích dẫn và chú thích nguồn gốc.
Nếu phát hiện có bất kỳ sự gian lận nào, chúng tôi xin hoàn toàn chịu trách nhiêm về nội
dung thực tập tốt nghiệp của mình. Trường đại học Bách khoa thành phố Hồ Chí Minh không
liên quan đến những vi phạm tác quyền, bản quyền do chúng tôi gây ra trong quá trình thực
hiện.
Lời ngỏ
Để hoàn thành bài luận văn tốt nghiệp này, chúng tôi tỏ lòng biết ơn sâu sắc đến TS. Phan
Trọng Nhân đã hướng dẫn tận tình trong suốt quá trình nghiên cứu.
Chúng tôi chân thành cám ơn quý thầy, cô trong Khoa Khoa Học và Kỹ Thuật Máy Tính,
các giảng viên Lab Trường Đại học Bách Khoa Thành phố Hồ Chí Minh đã tận tình truyền đạt
kiến thức trong những năm chúng tôi học tập ở trường, với vốn kiến thức tích lũy được trong
suốt quá trình học tập không chỉ là nền tảng cho quá trình nghiên cứu mà còn là hành trang để
bước vào đời một cách tự tin.
Cuối cùng, chúng tôi xin chúc quý thầy, cô dồi dào sức khỏe và thành công trong sự
nghiệp cao quý.
Tóm tắt nội dung
Giáo dục luôn là một trong những lĩnh vực rất quan trọng tại các quốc gia trên thế giới.
Trong bối cảnh nền công nghiệp 4.0 đang phát triển mạnh mẽ, ngành giáo dục cũng đã và
đang có rất nhiều sự chuyển biến để đáp ứng với nhu cầu càng ngày càng cao của con người.
Hơn nữa, trong năm 2020 đánh dấu một thảm họa do dịch bệnh Covid-19, nên ngành giáo dục
càng phát triển mạnh mẽ trên nền tảng mạng internet - vốn là cốt lõi của công nghiệp 4.0.
Xu hướng hiện nay để tiếp cận với các nền tảng giáo dục là rất phong phú và đa dạng.
Tuy nhiên, do đặc thù ngành giáo dục từ nhiều năm về trước là tương đối “khép kín” - nghĩa
là sẽ có những trường học, môi trường có thứ bậc cao và các kiến thức chỉ được dạy trong
những môi trường đó - nên sẽ có những khó khăn khi tiếp cận tới công nghệ của thời đại mới.
Mặt khác, trong những năm gần đây, mạng xã hội đã phát triển vô cùng rực rỡ, con người có
thể dễ dàng giao tiếp với nhau mà không còn phải lo ngại khó khăn về khoảng cách, thứ bậc,
môi trường,… Từ đó, việc học tập ở trên các nền tảng mạng xã hội càng ngày càng trở nên
phổ biến.
Mặc dù vậy, nhóm chúng tôi qua tìm hiểu đã nhận thấy các tính năng học tập trên mạng
xã hội vẫn còn tương đối hạn chế. Do đó, chúng tôi muốn đề xuất một hệ thống quản trị đào
tạo (Learning Management System, là một trong những mô hình lâu đời nhưng vẫn rất phổ
biến và có giá trị to lớn trong thời đại hiện nay) tích hợp với các tính năng cốt lõi tạo nên một
“mạng xã hội” để có thể giúp cho việc học tập và giáo dục trở nên dễ dàng, phù hợp cho sự
phát triển của thế giới trong tương lai hơn.
MỤC LỤC
1 Giới thiệu................................................................................................................................1
1.1 Đặt vấn đề....................................................................................................................1
1.2 Mục tiêu đề tài.............................................................................................................1
1.3 Khảo sát các hệ thống liên quan..................................................................................2
2 Cơ sở lý thuyết và công nghệ.................................................................................................3
2.1 Cơ sở lý thuyết.............................................................................................................3
2.1.1 Kiến trúc Web...............................................................................................3
2.1.2 REST.............................................................................................................4
2.1.3 Tìm kiếm văn bản.........................................................................................5
2.1.4 Hệ thống giới thiệu.......................................................................................8
2.1.5 Tìm kiếm theo tương đồng ngữ nghĩa.........................................................13
2.2 Công nghệ sử dụng....................................................................................................16
2.2.1 Front-end: VueJS........................................................................................16
2.2.2 Back-end: NestJS........................................................................................20
2.2.3 Database: PostgreSQL................................................................................21
2.2.4 ActionML....................................................................................................21
2.2.5 ElasticSearch...............................................................................................21
2.2.6 FastAPI.......................................................................................................22
3 Yêu cầu hệ thống..................................................................................................................23
3.1 Functional requirements............................................................................................23
3.2 Non-functional requirements.....................................................................................29
4 Đặc tả chi tiết các use-case..................................................................................................29
4.1 Chỉnh sửa thông tin cá nhân......................................................................................29
4.1.1 Kịch bản......................................................................................................29
4.1.2 Đặc tả chi tiết..............................................................................................29
4.2 Thay đổi ảnh đại diện................................................................................................30
4.2.1 Kịch bản......................................................................................................30
4.2.2 Đặc tả chi tiết..............................................................................................30
4.3 Xem các thông tin metadata cá nhân.........................................................................31
4.3.1 Kịch bản......................................................................................................31
4.3.2 Đặc tả chi tiết..............................................................................................31
4.4 Kết bạn.......................................................................................................................31
4.4.1 Kịch bản......................................................................................................31
4.4.2 Đặc tả chi tiết..............................................................................................31
4.5 Nhắn tin riêng tư (trực tiếp).......................................................................................32
4.5.1 Kịch bản......................................................................................................32
4.5.2 Đặc tả chi tiết..............................................................................................32
4.6 Xóa tin nhắn...............................................................................................................33
4.6.1 Kịch bản......................................................................................................33
4.6.2 Đặc tả chi tiết..............................................................................................33
4.7 Yêu cầu tham gia Khóa học.......................................................................................33
4.7.1 Kịch bản......................................................................................................33
4.7.2 Đặc tả chi tiết..............................................................................................34
4.8 Yêu cầu tham gia Nhóm............................................................................................34
4.8.1 Kịch bản......................................................................................................34
4.8.2 Đặc tả chi tiết..............................................................................................34
4.9 Tạo Khóa học.............................................................................................................35
4.9.1 Kịch bản......................................................................................................35
4.9.2 Đặc tả chi tiết..............................................................................................35
4.10 Chỉnh sửa thông tin của Khóa học...........................................................................36
4.10.1 Kịch bản....................................................................................................36
4.10.2 Đặc tả chi tiết............................................................................................36
4.11 Chỉnh sửa phần mô tả tổng quan của Khóa học......................................................37
4.11.1 Kịch bản....................................................................................................37
4.11.2 Đặc tả chi tiết............................................................................................37
4.12 Liên kết Nhóm với Khóa học..................................................................................38
4.12.1 Kịch bản....................................................................................................38
4.12.2 Đặc tả chi tiết............................................................................................38
4.13 Gỡ liên kết Nhóm với Khóa học..............................................................................39
4.13.1 Kịch bản....................................................................................................39
4.13.2 Đặc tả chi tiết............................................................................................39
4.14 Thêm thành viên vào Khóa học...............................................................................39
4.14.1 Kịch bản....................................................................................................39
4.14.2 Đặc tả chi tiết............................................................................................39
4.15 Xóa thành viên khỏi Khóa học................................................................................40
4.15.1 Kịch bản....................................................................................................40
4.15.2 Đặc tả chi tiết............................................................................................41
4.16 Thay đổi vai trò của một thành viên trong Khóa học..............................................41
4.16.1 Kịch bản....................................................................................................41
4.16.2 Đặc tả chi tiết............................................................................................41
4.17 Chấp nhận/từ chối yêu cầu tham gia Khóa học.......................................................42
4.17.1 Kịch bản....................................................................................................42
4.17.2 Đặc tả chi tiết............................................................................................42
4.18 Thêm phần học trong giáo trình của Khóa học........................................................43
4.18.1 Kịch bản....................................................................................................43
4.18.2 Đặc tả chi tiết............................................................................................43
4.19 Chỉnh sửa phần học trong giáo trình của Khóa học.................................................44
4.19.1 Kịch bản....................................................................................................44
4.19.2 Đặc tả chi tiết............................................................................................44
4.20 Xóa phần học trong giáo trình của Khóa học..........................................................44
4.20.1 Kịch bản....................................................................................................45
4.20.2 Đặc tả chi tiết............................................................................................45
4.21 Thêm bài học trong giáo trình của Khóa học..........................................................45
4.21.1 Kịch bản....................................................................................................45
4.21.2 Đặc tả chi tiết............................................................................................45
4.22 Xóa bài học trong giáo trình của Khóa học.............................................................46
4.22.1 Kịch bản....................................................................................................46
4.22.2 Đặc tả chi tiết............................................................................................46
4.23 Chỉnh sửa phần mô tả cho bài học trong giáo trình của Khóa học..........................47
4.23.1 Kịch bản....................................................................................................47
4.23.2 Đặc tả chi tiết............................................................................................47
4.24 Thêm tập tin đính kèm cho bài học trong giáo trình của Khóa học.........................48
4.24.1 Kịch bản....................................................................................................48
4.24.2 Đặc tả chi tiết............................................................................................48
4.25 Xóa tập tin đính kèm cho bài học trong giáo trình của Khóa học...........................48
4.25.1 Kịch bản....................................................................................................48
4.25.2 Đặc tả chi tiết............................................................................................49
4.26 Tải video lên cho bài học loại Video trong giáo trình của Khóa học......................49
4.26.1 Kịch bản....................................................................................................49
4.26.2 Đặc tả chi tiết............................................................................................49
4.27 Chỉnh sửa thuộc tính cho bài học loại Quiz trong giáo trình của một Khóa học.....50
4.27.1 Kịch bản....................................................................................................50
4.27.2 Đặc tả chi tiết............................................................................................50
4.28 Thiết lập Quiz cho bài học loại Quiz trong giáo trình của Khóa học......................51
4.28.1 Kịch bản....................................................................................................51
4.28.2 Đặc tả chi tiết............................................................................................51
4.29 Chỉnh sửa thuộc tính cho bài học loại Bài tập lớn trong giáo trình của một Khóa
học...................................................................................................................................51
4.29.1 Kịch bản....................................................................................................51
4.29.2 Đặc tả chi tiết............................................................................................52
4.30 Chấm điểm bài học loại Bài tập lớn cho các học viên trong Khóa học...................52
4.30.1 Kịch bản....................................................................................................52
4.30.2 Đặc tả chi tiết............................................................................................52
4.31 Thêm Thành tích cho Khóa học...............................................................................53
4.31.1 Kịch bản....................................................................................................53
4.31.2 Đặc tả chi tiết............................................................................................53
4.32 Truy xuất tài nguyên khóa học................................................................................54
4.32.1 Kịch bản....................................................................................................54
4.32.2 Đặc tả chi tiết............................................................................................54
4.33 Đánh giá khóa học...................................................................................................55
4.33.1 Kịch bản....................................................................................................55
4.33.2 Đặc tả chi tiết............................................................................................55
4.34 Đặt câu hỏi trong một bài học của Khóa học..........................................................56
4.34.1 Kịch bản....................................................................................................56
4.34.2 Đặc tả chi tiết............................................................................................56
4.35 Trả lời câu hỏi trong một bài học của Khóa học hoặc của Nhóm...........................57
4.35.1 Kịch bản....................................................................................................57
4.35.2 Đặc tả chi tiết............................................................................................57
4.36 Upvote/downvote một câu hỏi/câu trả lời trong một bài học của Khóa học hoặc của
Nhóm...............................................................................................................................57
4.36.1 Kịch bản....................................................................................................57
4.36.2 Đặc tả chi tiết............................................................................................58
4.37 Tạo nhóm.................................................................................................................58
4.37.1 Kịch bản....................................................................................................58
4.37.2 Đặc tả chi tiết............................................................................................58
4.38 Chỉnh sửa thông tin của Nhóm................................................................................59
4.38.1 Kịch bản....................................................................................................59
4.38.2 Đặc tả chi tiết............................................................................................59
4.39 Thêm luật lệ cho Nhóm...........................................................................................60
4.39.1 Kịch bản....................................................................................................60
4.39.2 Đặc tả chi tiết............................................................................................60
4.40 Chỉnh sửa luật lệ của Nhóm.....................................................................................61
4.40.1 Kịch bản....................................................................................................61
4.40.2 Đặc tả chi tiết............................................................................................61
4.41 Xóa bỏ luật lệ của Nhóm.........................................................................................61
4.41.1 Kịch bản....................................................................................................61
4.41.2 Đặc tả chi tiết............................................................................................61
4.42 Thay đổi vai trò của thành viên trong Nhóm...........................................................62
4.42.1 Kịch bản....................................................................................................62
4.42.2 Đặc tả chi tiết............................................................................................62
4.43 Chấp nhận/từ chối yêu cầu tham gia Nhóm.............................................................63
4.43.1 Kịch bản....................................................................................................63
4.43.2 Đặc tả chi tiết............................................................................................63
4.44 Xóa nhóm................................................................................................................63
4.44.1 Sơ đồ use-case...........................................................................................64
4.44.2 Kịch bản....................................................................................................64
4.44.3 Đặc tả chi tiết............................................................................................64
4.45 Thêm bài viết/bình luận trong Nhóm.......................................................................64
4.45.1 Kịch bản....................................................................................................64
4.45.2 Đặc tả chi tiết............................................................................................64
4.46 Chỉnh sửa bài viết/bình luận trong Nhóm................................................................65
4.46.1 Kịch bản....................................................................................................65
4.46.2 Đặc tả chi tiết............................................................................................65
4.47 Xóa bài viết/bình luận trong Nhóm.........................................................................66
4.47.1 Kịch bản....................................................................................................66
4.47.2 Đặc tả chi tiết............................................................................................66
4.48 Upvote/downvote một bài viết/bình luận trong Nhóm............................................67
4.48.1 Kịch bản....................................................................................................67
4.48.2 Đặc tả chi tiết............................................................................................67
4.49 Rời Nhóm................................................................................................................67
4.49.1 Kịch bản....................................................................................................67
4.49.2 Đặc tả chi tiết............................................................................................67
4.50 Phân tích tiến độ học viên........................................................................................68
4.50.1 Kịch bản....................................................................................................68
4.50.2 Đặc tả chi tiết............................................................................................68
4.51 Phân tích mức độ tham gia của học viên.................................................................69
4.51.1 Kịch bản....................................................................................................69
4.51.2 Đặc tả chi tiết............................................................................................70
4.52 Phân tích chất lượng khóa học.................................................................................71
4.52.1 Kịch bản....................................................................................................71
4.52.2 Đặc tả chi tiết............................................................................................71
5 Phân tích và thiết kế hệ thống.............................................................................................71
5.1 Entity Relationship Diagram (ERD)..........................................................................71
5.1.1 Sơ đồ thực thể.............................................................................................72
5.1.2 Thiết kế luận lý...........................................................................................76
5.2 Kiến trúc hệ thống.....................................................................................................94
6 Hiện thực...............................................................................................................................96
6.1 REST API..................................................................................................................96
6.2 Cơ sở dữ liệu..............................................................................................................98
6.2.1 Sử dụng kiểu dữ liệu mở rộng....................................................................98
6.2.2 Phi chuẩn hóa dữ liệu................................................................................101
6.3 Sắp xếp dữ liệu người dùng.....................................................................................104
6.4 Tìm kiếm..................................................................................................................107
6.4.1 Xây dựng index.........................................................................................107
6.4.2 Đồng bộ dữ liệu.........................................................................................113
6.4.3 Truy vấn kết quả........................................................................................116
6.5 Hệ thống giới thiệu..................................................................................................117
6.5.1 Thử nghiệm...............................................................................................117
6.5.2 Tích hợp vào hệ thống...............................................................................119
6.5.3 Hướng phát triển trong tương lai..............................................................122
6.6 Tìm kiếm tương đồng ngữ nghĩa.............................................................................123
6.6.1 Thử nghiệm...............................................................................................123
6.6.2 Tích hợp vào hệ thống..............................................................................126
6.7 Giao diện..................................................................................................................126
6.7.1 Giao diện đăng nhập, đăng ký..................................................................127
6.7.2 Giao diện trang Dashboard.......................................................................127
6.7.3 Giao diện trang Khóa học.........................................................................128
6.7.4 Giao diện bên trong một Khóa học...........................................................129
6.7.5 Giao diện khi học một bài học trong Khóa học........................................132
6.7.6 Giao diện của Bảng điều khiển Khóa học.................................................136
6.7.7 Giao diện trang Nhóm...............................................................................145
6.7.8 Giao diện bên trong một Nhóm................................................................146
6.7.9 Giao diện của Bảng điều khiển Nhóm......................................................148
6.7.10 Giao diện trang Thông tin cá nhân của người dùng................................152
6.7.11 Giao diện trang Cài đặt tài khoản của người dùng..................................155
6.7.12 Giao diện trang Nhắn tin.........................................................................155
6.7.13 Giao diện của tính năng Thông báo........................................................156
6.7.14 Giao diện của tính năng Tìm kiếm nâng cao..........................................156
7 Triển khai............................................................................................................................158
8 Tổng kết...............................................................................................................................161
8.1 Tổng kết về luận văn tốt nghiệp..............................................................................161
8.2 Hạn chế và cải tiến trong tương lai..........................................................................162
Tài liệu tham khảo...........................................................................................163
Danh sách bảng
Bảng 1: Minh họa cách tính LLR..............................................................................................12
Bảng 2: Bảng đặc tả chi tiết use-case Chỉnh sửa thông tin cá nhân.........................................30
Bảng 3: Bảng đặc tả chi tiết use-case Thay đổi ảnh đại diện....................................................30
Bảng 4: Bảng đặc tả chi tiết use-case Xem các thông tin metadata cá nhân............................31
Bảng 5: Bảng đặc tả chi tiết use-case Kết bạn..........................................................................32
Bảng 6: Bảng đặc tả chi tiết use-case Nhắn tin riêng tư (trực tiếp)..........................................33
Bảng 7: Bảng đặc tả chi tiết use-case Xóa tin nhắn..................................................................33
Bảng 8: Bảng đặc tả chi tiết use-case Yêu cầu tham gia Khóa học..........................................34
Bảng 9: Bảng đặc tả chi tiết use-case Yêu cầu tham gia Nhóm................................................35
Bảng 10: Bảng đặc tả chi tiết use-case Tạo khóa học...............................................................36
Bảng 11: Bảng đặc tả chi tiết use-case Chỉnh sửa thông tin của Khóa học..............................37
Bảng 12: Bảng đặc tả chi tiết use-case Chỉnh sửa phần mô tả tổng quan của Khóa học.........37
Bảng 13: Bảng đặc tả chi tiết use-case Liên kết Nhóm với Khóa học.......................................38
Bảng 14: Bảng đặc tả chi tiết use-case Gỡ liên kết Nhóm với Khóa học..................................39
Bảng 15: Bảng đặc tả chi tiết use-case Thêm thành viên vào Khóa học...................................40
Bảng 16: Bảng đặc tả chi tiết use-case Xóa thành viên khỏi khóa học.....................................41
Bảng 17: Bảng đặc tả chi tiết use-case Thay đổi vai trò của một thành viên trong Khóa học..42
Bảng 18: Bảng đặc tả chi tiết use-case Chấp nhận/từ chối yêu cầu tham gia Khóa học..........43
Bảng 19: Bảng đặc tả chi tiết use-case Thêm phần học trong giáo trình của Khóa học..........44
Bảng 20: Bảng đặc tả chi tiết use-case Chỉnh sửa phần học trong giáo trình của Khóa học...44
Bảng 21: Bảng đặc tả chi tiết use-case Xóa phần học trong giáo trình của Khóa học.............45
Bảng 22: Bảng đặc tả chi tiết use-case Thêm bài học trong giáo trình của Khóa học.............46
Bảng 23: Bảng đặc tả chi tiết use-case Xóa bài học trong giáo trình của Khóa học................47
Bảng 24: Bảng đặc tả chi tiết use-case Chỉnh sửa phần mô tả cho bài học trong giáo trình của
Khóa học...................................................................................................................................47
Bảng 25: Bảng đặc tả chi tiết use-case Thêm tập tin đính kèm cho bài học trong giáo trình của
Khóa học...................................................................................................................................48
Bảng 26: Bảng đặc tả chi tiết use-case Xóa tập tin đính kèm cho bài học trong giáo trình của
Khóa học...................................................................................................................................49
Bảng 27: Bảng đặc tả chi tiết use-case Tải video lên cho bài học loại Video trong giáo trình
của Khóa học............................................................................................................................50
Bảng 28: Bảng đặc tả chi tiết use-case Chỉnh sửa thuộc tính cho bài học loại Quiz trong giáo
trình của một Khóa học.............................................................................................................51
Bảng 29: Bảng đặc tả chi tiết use-case Thiết lập Quiz cho bài học loại Quiz trong giáo trình
của Khóa học............................................................................................................................51
Bảng 30: Bảng đặc tả chi tiết use-case Chỉnh sửa thuộc tính cho bài học loại Bài tập lớn
trong giáo trình của một Khóa học...........................................................................................52
Bảng 31: Bảng đặc tả chi tiết use-case Chấm điểm bài học loại Bài tập lớn cho các học viên
trong Khóa học..........................................................................................................................53
Bảng 32: Bảng đặc tả chi tiết use-case Thêm Thành tích cho Khóa học..................................54
Bảng 33: Bảng đặc tả chi tiết use-case Truy xuất tài nguyên khóa học....................................55
Bảng 34: Bảng đặc tả chi tiết use-case Đánh giá khóa học......................................................55
Bảng 35: Bảng đặc tả chi tiết use-case Đặt câu hỏi trong một bài học của Khóa học.............56
Bảng 36: Bảng đặc tả chi tiết use-case Trả lời câu hỏi trong một bài học của Khóa học hoặc
trong Nhóm đã được liên kết với Khóa học đó.........................................................................57
Bảng 37: Bảng đặc tả chi tiết use-case Upvote/downvote một câu hỏi/câu trả lời trong một bài
học của Khóa học hoặc của Nhóm............................................................................................58
Bảng 38: Bảng đặc tả chi tiết use-case Tạo nhóm.....................................................................59
Bảng 39: Bảng đặc tả chi tiết use-case Chỉnh sửa thông tin của Nhóm....................................60
Bảng 40: Bảng đặc tả chi tiết use-case Thêm luật lệ cho Nhóm...............................................61
Bảng 41: Bảng đặc tả chi tiết use-case Chỉnh sửa luật lệ của Nhóm........................................61
Bảng 42: Bảng đặc tả chi tiết use-case Xóa bỏ luật lệ của Nhóm.............................................62
Bảng 43: Bảng đặc tả chi tiết use-case Thay đổi vai trò của thành viên trong Nhóm..............63
Bảng 44: Bảng đặc tả chi tiết use-case Chấp nhận/từ chối yêu cầu tham gia Nhóm................63
Bảng 45: Bảng đặc tả chi tiết use-case Xóa nhóm....................................................................64
Bảng 46: Bảng đặc tả chi tiết use-case Thêm bài viết trong Nhóm...........................................65
Bảng 47: Bảng đặc tả chi tiết use-case Chỉnh sửa bài viết/bình luận trong Nhóm...................66
Bảng 48: Bảng đặc tả chi tiết use-case Xóa bài viết/bình luận trong Nhóm.............................67
Bảng 49: Bảng đặc tả chi tiết use-case Upvote/Downvote một bài viết/bình luận trong Nhóm.
...................................................................................................................................................67
Bảng 50: Bảng đặc tả chi tiết use-case Rời Nhóm....................................................................68
Bảng 51: Bảng đặc tả chi tiết use-case Phân tích tiến độ học viên...........................................69
Bảng 52: Bảng đặc tả chi tiết use-case Phân tích mức độ tham gia của học viên....................71
Bảng 53: Bảng đặc tả chi tiết use-case Phân tích chất lượng khóa học...................................71
Bảng 54: Thực thể User.............................................................................................................76
Bảng 55: Thực thể Message......................................................................................................77
Bảng 56: Thực thể Notification.................................................................................................77
Bảng 57: Thực thể quan hệ Friend............................................................................................78
Bảng 58: Thực thể User Interaction lưu trữ thông tin tương tác giữa người dùng theo từng
ngày phục vụ mục đích sắp xếp danh sách bạn bè....................................................................78
Bảng 59: Thực thể Course.........................................................................................................78
Bảng 60: Thực thể Category (phân loại khóa học)...................................................................79
Bảng 61: Thực thể quan hệ Course - Category.........................................................................79
Bảng 62: Thực thể Section .......................................................................................................79
Bảng 63: Thực thể Course Unit................................................................................................80
Bảng 64: Thực thể Note............................................................................................................80
Bảng 65: Thực thể Downloadable File.....................................................................................81
Bảng 66: Thực thể Video..........................................................................................................81
Bảng 67: Thực thể Quiz............................................................................................................81
Bảng 68: Thực thể Reference....................................................................................................82
Bảng 69: Thực thể Assignment.................................................................................................83
Bảng 70: Thực thể Giảng viên (quan hệ người dùng dạy khóa học)........................................83
Bảng 71: Thực thể Quan hệ Học viên (quan hệ người dùng học khóa học).............................83
Bảng 72: Thực thể Quan hệ Người dùng yêu cầu tham gia khóa học......................................83
Bảng 73: Thực thể Review........................................................................................................84
Bảng 74: Thực thể sự kiện đơn vị khóa học..............................................................................84
Bảng 75: Thực thể Group..........................................................................................................84
Bảng 76: Thực thể Topic...........................................................................................................85
Bảng 77: Thực thể quan hệ Group – Topic...............................................................................85
Bảng 78: Định danh Quan hệ Thành viên (User – Group).......................................................85
Bảng 79: Thực thể Yêu cầu tham gia nhóm..............................................................................86
Bảng 80: Thực thể Post.............................................................................................................86
Bảng 81: Thực thể Comment....................................................................................................87
Bảng 82: Thực thể Q&A...........................................................................................................87
Bảng 83: Thực thể Vote.............................................................................................................88
Bảng 84: Thực thể yếu Quiz Attempt.......................................................................................88
Bảng 85: Thực thể Quan hệ Course – Group............................................................................89
Bảng 86: Thực thể Quan hệ Complete (Người dùng hoàn thành đơn vị khóa học)..................89
Bảng 87: Thực thể Quan hệ Attempt (User – Assignment).......................................................90
Bảng 88: Thực thể Achievement Category...............................................................................90
Bảng 89: Thực thể Achievement...............................................................................................91
Bảng 90: Thực thể Achievement Instance (Quan hệ Achievement – Course)..........................91
Bảng 91: Thực thể quan hệ Achievement Instance – User........................................................91
Bảng 92: Thực thể Point...........................................................................................................91
Bảng 93: Thực thể Leaderboard................................................................................................92
Bảng 94: Thực thể Course Enrollment......................................................................................92
Bảng 95: Thực Thể Course Unit Activity..................................................................................93
Bảng 96: Thực thể Group Engagement.....................................................................................93
Bảng 97: Thực thể Group Growth............................................................................................93
Bảng 98: Thực thể Group Contributor......................................................................................94
Bảng 99: Các kiểu enum dùng trong hệ thống..........................................................................94
Bảng 100: Kết quả đánh giá một vài mô hình Giới thiệu trên tập dữ liệu RetailRocket........118
Bảng 101: Kết quả kiểm thử một vài mô hình thường dùng cho đánh giá tương đồng ngữ
nghĩa........................................................................................................................................125
Bảng 102: Đánh giá theo NDCG............................................................................................125
Bảng 103: Đánh giá theo MAP...............................................................................................126
Danh sách hình vẽ
Hình 1: Tổng quan Kiến trúc Web...............................................................................................4
Hình 2: Kiến trúc REST..............................................................................................................5
Hình 3: Minh họa kỹ thuật đánh index ngược............................................................................6
Hình 4: Ma trận biểu diễn đặc trưng Phân loại của item (nội dung) và người dùng..................9
Hình 5: Minh họa ma trận utility.................................................................................................9
Hình 6: Phương pháp huấn luyện và sử dụng BERT................................................................14
Hình 7: Sự khác nhau giữa Bi-Encoder và Cross-Encoder.......................................................15
Hình 8: Mô tả quá trình tìm kiếm dựa vào tiến trình Retrieve-Rerank.....................................15
Hình 9: Một đoạn code định nghĩa store cho các tác vụ liên quan tới Xác thực người dùng.. .18
Hình 10: Tập tin en.yaml định nghĩa các key cho ngôn ngữ tiếng Anh....................................19
Hình 11: Tập tin vi.yaml định nghĩa các key cho ngôn ngữ tiếng Việt.....................................20
Hình 12: Sơ đồ use-case của Người dùng thông thường...........................................................23
Hình 13: Sơ đồ use-case của Người điều hành hệ thống..........................................................24
Hình 14: Sơ đồ use-case của Giảng viên..................................................................................25
Hình 15: Sơ đồ use-case của Học viên......................................................................................26
Hình 16: Sơ đồ use-case của Người điều hành Nhóm...............................................................27
Hình 17: Sơ đồ use-case của Thành viên Nhóm........................................................................28
Hình 18: Thực thể liên quan đến Người dùng...........................................................................72
Hình 19: Thực thể liên quan đến Nhóm....................................................................................73
Hình 20: Thực thể liên quan đến Khóa học..............................................................................73
Hình 21: Thực thể liên quan đến Đơn vị khóa học...................................................................74
Hình 22: Thực thể liên quan đến Thành tích học viên..............................................................75
Hình 23: Thực thể liên quan đến Thống kê...............................................................................76
Hình 24: Dạng JSON mô tả đặc điểm của Quiz.......................................................................82
Hình 25: JSON properties của Quiz Attempt............................................................................88
Hình 26: JSON properties của thực thể Attempt.......................................................................90
Hình 27: Kiến trúc hệ thống......................................................................................................95
Hình 28: Mô hình kiểu enum dưới dạng bảng riêng biệt..........................................................99
Hình 29: Các thực thể liên quan đến Quiz................................................................................99
Hình 30: Cấu trúc JSON lưu trữ ở trường dữ liệu properties của thực thể quiz.....................100
Hình 31: Lưu trữ thông tin notification dưới dạng json..........................................................101
Hình 32: Lưu trữ trường thành viên trong index của thực thể group......................................102
Hình 33: Mối quan hệ giữa các thực thể Post – Vote - Comment...........................................102
Hình 34: Thiết kế ERD cho tính năng hiển thị báo cáo trong Nhóm......................................103
Hình 35: Request body trong trường hợp phân trang truyền thống........................................106
Hình 36: Câu lệnh query sử dụng phân trang truyền thống....................................................106
Hình 37: Request Body trong trường hợp phân trang con trỏ.................................................107
Hình 38: Câu lệnh query sử dụng phân trang con trỏ.............................................................107
Hình 39: Một lát cắt đặc tả mapping của index user...............................................................109
Hình 40: Mô tả analyzers của index group.............................................................................112
Hình 41: Ví dụ sử dụng các analyzer ở trên để phục vụ mục đích tìm kiếm khác nhau.........113
Hình 42: Ví dụ sử dụng Index API..........................................................................................114
Hình 43: Cập nhật một phần dữ liệu.......................................................................................114
Hình 44: Cập nhật đối tượng nested sử dụng update script viết bằng ngôn ngữ painless.......115
Hình 45: Cập nhật dữ liệu bằng Update-by-query API...........................................................116
Hình 46: Cấu trúc dữ liệu trong tập RetailRocket...................................................................117
Hình 47: API reference khi gửi query vào ActionML . ActionML thêm business rule để ràng
buộc việc đưa ra giới thiệu thông qua rules............................................................................122
Hình 48: Miêu tả tập dữ liệu Quora Question Pairs................................................................123
Hình 49: Ma trận confusion của mô hình BERT (với hàng là nhãn, cột là giá trị dự đoán).. .124
Hình 50: Ma trận confusion của TF-IDF vectorizer................................................................124
Hình 51: Ma trận confusion của Universal Sentence Encoder................................................125
Hình 52: Truy vấn tìm kiếm theo hàm sắp xếp custom là cosine similarity (còn có tên là
angular)...................................................................................................................................126
Hình 53: Giao diện Đăng ký...................................................................................................127
Hình 54: Giao diện Đăng nhập...............................................................................................127
Hình 55: Giao diện trang Dashboard......................................................................................128
Hình 56: Giao diện trang Khóa học, tab Khóa học của tôi....................................................128
Hình 57: Giao diện trang Khóa học, tab Đang dạy................................................................129
Hình 58: Giao diện trang Khóa học, tab Gợi ý.......................................................................129
Hình 59: Giao diện trang Tổng quan của một Khóa học........................................................130
Hình 60: Giao diện trang Giáo trình của một Khóa học.........................................................130
Hình 61: Giao diện trang Thành viên của một Khóa học........................................................131
Hình 62: Giao diện trang Nhóm của một Khóa học................................................................131
Hình 63: Giao diện trang Bảng xếp hạng của một Khóa học.................................................132
Hình 64: Giao diện trang Thành tích của một Khóa học........................................................132
Hình 65: Giao diện trang Tổng quan khi học một bài học trong Khóa học............................133
Hình 66: Giao diện trang Tập tin khi học một bài học trong Khóa học..................................133
Hình 67: Giao diện trang Ghi chú khi học một bài học trong Khóa học................................134
Hình 68: Giao diện Tạo ghi chú khi học một bài học trong Khóa học...................................134
Hình 69: Giao diện Chỉnh sửa ghi chú khi học một bài học trong Khóa học.........................135
Hình 70: Giao diện Hỏi & Đáp khi học một bài học trong Khóa học....................................135
Hình 71: Giao diện Tạo một câu hỏi mới khi học một bài học trong Khóa học, có tích hợp tính
năng tìm kiếm những câu hỏi có thể bị trùng..........................................................................136
Hình 72: Giao diện Chi tiết một câu hỏi khi học một bài học trong Khóa học......................136
Hình 73: Giao diện tab Phân tích tổng quan trong Bảng điều khiển của một Khóa học (Người
điều hành hệ thống).................................................................................................................137
Hình 74: Giao diện tab Phân tích học tập trong Bảng điều khiển của một Khóa học (Người
điều hành hệ thống).................................................................................................................137
Hình 75: Giao diện tab Thông tin trong Bảng điều khiển của một Khóa học (Người điều hành
hệ thống).................................................................................................................................138
Hình 76: Giao diện tab Tổng quan trong Bảng điều khiển của một Khóa học (Người điều hành
hệ thống).................................................................................................................................138
Hình 77: Giao diện tab Nhóm trong Bảng điều khiển của một Khóa học (Người điều hành hệ
thống)......................................................................................................................................139
Hình 78: Giao diện Thêm Nhóm liên kết trong Bảng điều khiển của Khóa học (Người điều
hành hệ thống).........................................................................................................................139
Hình 79: Giao diện tab Thành viên trong Bảng điều khiển của một Khóa học (Người điều
hành hệ thống).........................................................................................................................140
Hình 80: Giao diện Thêm người dùng vào Khóa học trong Bảng điều khiển (Người điều hành
hệ thống).................................................................................................................................140
Hình 81: Giao diện tab Yêu cầu trong Bảng điều khiển của một Khóa học (Người điều hành hệ
thống)......................................................................................................................................141
Hình 82: Giao diện tab Thành tích trong Bảng điều khiển của một Khóa học (Người điều hành
hệ thống).................................................................................................................................141
Hình 83: Giao diện Thêm thành tích vào Khóa học trong Bảng điều khiển (Người điều hành
hệ thống).................................................................................................................................142
Hình 84: Giao diện tab Giáo trình trong Bảng điều khiển của một Khóa học (Giảng viên).. 142
Hình 85: Giao diện Thêm phần học mới trong Bảng điều khiển của Khóa học (Giảng viên).
.................................................................................................................................................143
Hình 86: Giao diện Thêm bài học mới trong Bảng điều khiển của Khóa học (Giảng viên).. .143
Hình 87: Giao diện Chỉnh sửa Video của bài học loại Video trong Bảng điều khiển của Khóa
học (Giảng viên)......................................................................................................................144
Hình 88: Giao diện Chỉnh sửa mô tả của bài học trong Bảng điều khiển của Khóa học (Giảng
viên)........................................................................................................................................144
Hình 89: Giao diện Chỉnh sửa tập tin đính kèm của bài học trong Bảng điều khiển của Khóa
học (Giảng viên)......................................................................................................................145
Hình 90: Giao diện Chọn và tải lên tập tin đính kèm của bài học trong Bảng điều khiển của
Khóa học (Giảng viên)............................................................................................................145
Hình 91: Giao diện trang Nhóm..............................................................................................146
Hình 92: Giao diện Tạo nhóm mới..........................................................................................146
Hình 93: Giao diện trang Bài viết trong một Nhóm................................................................147
Hình 94: Giao diện trang Tổng quan của một Nhóm..............................................................147
Hình 95: Giao diện trang Hỏi & Đáp trong một Nhóm..........................................................148
Hình 96: Giao diện trang Thành viên của một Nhóm.............................................................148
Hình 97: Giao diện tab Phân tích độ phát triển của Bảng điều khiển trong Nhóm (Quản trị
viên Nhóm).............................................................................................................................149
Hình 98: Giao diện tab Phân tích họat động của Bảng điều khiển trong Nhóm (Quản trị viên
Nhóm).....................................................................................................................................149
Hình 99: Giao diện tab Thông tin của Bảng điều khiển trong Nhóm (Quản trị viên Nhóm)..150
Hình 100: Giao diện tab Luật lệ của Bảng điều khiển trong Nhóm (Quản trị viên Nhóm)....150
Hình 101: Giao diện Tạo luật lệ mới của Bảng điều khiển trong Nhóm (Quản trị viên Nhóm).
.................................................................................................................................................151
Hình 102: Giao diện Chỉnh sửa luật lệ của Bảng điều khiển trong Nhóm (Quản trị viên
Nhóm).....................................................................................................................................151
Hình 103: Giao diện tab Thành viên của Bảng điều khiển trong Nhóm (Quản trị viên Nhóm).
.................................................................................................................................................152
Hình 104: Giao diện tab Yêu cầu của Bảng điều khiển trong Nhóm (Quản trị viên Nhóm).. 152
Hình 105: Giao diện tab Tổng quan của người dùng..............................................................153
Hình 106: Giao diện tab Khóa học của người dùng................................................................153
Hình 107: Giao diện tab Nhóm của người dùng......................................................................154
Hình 108: Giao diện tab Bạn bè của người dùng....................................................................154
Hình 109: Giao diện tab Thành tích của người dùng..............................................................155
Hình 110: Giao diện tab Thông tin cá nhân của trang Cài đặt tài khoản của người dùng.....155
Hình 111: Giao diện trang Nhắn tin........................................................................................156
Hình 112: Giao diện của tính năng Thông báo.......................................................................156
Hình 113: Giao diện của tính năng Tìm kiếm nâng cao với từ khóa thông thường................157
Hình 114: Giao diện của tính năng Tìm kiếm nâng cao với khả năng tự động gợi ý dựa trên
query tag from.........................................................................................................................157
Hình 115: Giao diện của tính năng Tìm kiếm nâng cao với từ khóa có chứa query tag.........158
Hình 116: Sơ đồ triển khai......................................................................................................159
Hình 117: Giao diện cấu hình một máy chủ EC2...................................................................160
Hình 118: Bảng điều khiển của Netilfy...................................................................................160
1
1.1
Giới thiệu
Đặt vấn đề
Nhu cầu học trực tuyến và giảng dạy, đào tạo trực tuyến trong những năm trở lại đây có
xu hướng gia tăng. Việc dạy và học không ở đây không chỉ gói gọn trong khuôn khổ trường
học, mà còn có thể mở rộng cho quá trình đào tạo nhân viên trong một công ty, nhập môn
người mới (onboarding), đào tạo khách hàng, hay kinh doanh khóa học. Nhu cầu đó tất yếu sẽ
dẫn đến sự phát triển mạnh của các hệ thống quản trị học tập (Learning Management System)
có thể đáp ứng được các chức năng kể trên. Tuy nhiên, các hệ thống quản trị học tập này vẫn
mang thiên hướng tập trung vào tổ chức và người quản trị viên, thiếu các mô hình giúp đẩy
mạnh sự chủ động khám phá kiến thức của người học viên. Nhóm chúng tôi xây dựng đề tài
Hệ thống quản trị học tập tích hợp mạng xã hội là để đề xuất ra một phương pháp học tập mới
mẻ, giúp nâng cao tính tự giác của học viên, đáp ứng nhu cầu trao đổi, thảo luận kiến thức.
1.2
Mục tiêu đề tài
Mục tiêu chính của nhóm khi xây dựng hệ thống học tập này hướng đến một giải pháp
khắc phục các nhược điểm của hệ thống quản trị học tập đương thời, mà chủ yếu là ở mảng
học tập xã hội (Social Learning). Social Learning có thể được hiểu là một hình thức học tập
mới mẻ, tích hợp các tính năng của mạng xã hội để gây dựng nên cộng đồng người học cùng
quan tâm đến một chủ đề nhất định, khuyến khích việc chia sẻ và thảo luận kiến thức với
phương châm Sharing is caring. Mục tiêu chính của đề tài không phải là hiện thực một LMS
với đầy đủ các tính năng, mà là thử nghiệm và hiện thực các tính năng phụ trợ như gợi ý,
gamification, nhắn tin, tìm kiếm nâng cao, thảo luận ở các nhóm, để chuyển trọng tâm của hệ
thống từ tính tập trung vào người dạy, trở thành tập trung vào người học. Người học tự tìm
kiếm, nhận dạng các khóa học phù hợp với sở thích của mình và chủ động thảo luận các câu
hỏi và quan điểm của mình đối với những người học khác. Nội dung chính trong hệ thống sẽ
chuyển từ admin-generated content thành user-generated content. Đó là mong muốn của
nhóm chúng tôi khi đưa ra ý tưởng về đề tài này.
Để hiện thực mục tiêu này, nhóm chúng tôi đề ra các tính năng chính mà hệ thống cần
hiện thực:
Hệ thống tìm kiếm cơ bản lẫn nâng cao giúp người dùng tìm kiếm khóa học và nhóm
thảo luận phù hợp với sở thích của bản thân.
Hệ thống đề xuất gợi ý hỗ trợ người dùng trong việc phát hiện các nội dung phù hợp
với nhu cầu sở thích. Đây còn được xem là hình thức tìm kiếm thụ động.
Hệ thống học tập đơn giản nhưng vẫn đảm bảo các tính năng học và lưu lại thành tích.
Hệ thống trao đổi và thảo luận thông qua nhóm thảo luận và đặt câu hỏi Q&A ở các
bài học, giúp tăng sự tương tác giữa các học viên với nhau. Các nội dung này đảm bảo
sắp xếp công bằng dựa trên đánh giá số đông của mọi người.
Luận văn tốt nghiệp đại học
Trang 1
- Xem thêm -