Đăng ký Đăng nhập
Trang chủ Xây dựng hệ quản trị đào tạo tích hợp mạng xã hội ...

Tài liệu Xây dựng hệ quản trị đào tạo tích hợp mạng xã hội

.PDF
185
1
74

Mô tả:

ĐẠ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 -

Tài liệu liên quan