1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Truyền thông và mạng máy tính: Áp dụng học máy để xây dựng hệ thống đề xuất lộ trình học cho sinh viên UIT.

107 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Áp dụng học máy để xây dựng hệ thống đề xuất lộ trình học cho sinh viên UIT
Tác giả Cao Hoàng Tú, Vũ Ngọc Tuấn
Người hướng dẫn ThS. Thái Huy Tân
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Truyền thông và Mạng máy tính
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 107
Dung lượng 26,4 MB

Nội dung

Ý tưởng về một hệ thống có sử dụng các thuật toán máy học để giúp sinh viên cóthể tra cứu thông tin bình luận của giảng viên là tốt hay không cũng như đưa ra lộ trìnhhọc hợp lý ứng với t

Trang 1

ĐẠI HỌC QUÓC GIA TP HÒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA MẠNG MÁY TÍNH VÀ TRUYÈN THÔNG

CAO HOÀNG TÚ

VŨ NGỌC TUẦN

KHÓA LUẬN TÓT NGHIỆP

ÁP DỤNG HỌC MAY DE XÂY DUNG HE THONG

DE XUẤT LO TRINH HỌC CHO SINH VIÊN UIT

APPLYING MACHINE LEARNING TO

RECOMMEND A LEARNING ROADMAP FOR UIT

STUDENTS

KỸ SƯ NGÀNH TRUYEN THONG VA MẠNG MAY TÍNH

Trang 2

TP HO CHÍ MINH, 2021ĐẠI HOC QUOC GIA TP HO CHÍ MINH

TRUONG DAI HQC CONG NGHE THONG TIN

KHOA MẠNG MAY TÍNH VA TRUYEN THONG

CAO HOANG TU - 17521192

VU NGỌC TUẦN - 17521230

KHOA LUAN TOT NGHIEP

AP DUNG HOC MAY DE XAY DUNG HE THONG

DE XUAT LO TRINH HQC CHO SINH VIEN UIT

APPLYING MACHINE LEARNING TO

RECOMMEND A LEARNING ROADMAP FOR UIT

STUDENTS

KY SƯ NGANH TRUYEN THONG VA MẠNG MAY TÍNH

GIANG VIEN HUONG DAN

ThS THAI HUY TAN

Trang 3

_ _ TP.HÒCHÍMINH,20I1DANH SÁCH HOI DONG BẢO VỆ KHÓA LUẬN

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số

ngày của Hiệu trưởng Trường Đại học Công nghệ Thông tin.

— — Chủ tịch.

— ~ Thư ký.

— — Ủy viên

Trang 4

ĐHQG TP HO CHÍ MINH CỘNG HOA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC Độc Lập — Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN

TP HCM, ngày tháng năm 2021

NHẬN XÉT KHÓA LUẬN TÓT NGHIỆP

(CUA CÁN BỘ HƯỚNG DAN)

Tên khoá luân:

ÁP DỤNG HỌC MAY DE XÂY DUNG HE THONG ĐÈ XUẤT LO

TRÌNH HỌC CHO SINH VIÊN UIT

APPLYING MACHINE LEARNING TO RECOMMEND A LEARNING ROADMAP FOR UIT STUDENTS

Nhóm SV thực hiện: Cán bộ hướng dẫn:

Cao Hoàng Tú 17521192 ThS Thái Huy Tân

Vũ Ngọc Tuấn 17521230

Đánh giá Khóa luận

1 Về cuốn báo cáo:

Số trang Số chương

Số bảng số liệu Số hình vẽ

Số tài liệu tham khảo Sản phâm

Một số nhận xét về hình thức cuốn báo cáo:

2 Về nội dung nghiên cứu:

Trang 5

Điểm từng sinh viên:

Cao Hoàng Tú: /10

Vii Ngoc Tuan: /10

Người nhận xét (Ký tên và ghi rõ họ tên)

Trang 6

ĐHQG TP HO CHÍMINH CỘNG HOA XÃ HOI CHỦ NGHĨA VIỆT NAM

Tên khoá luân:

AP DỤNG HOC MAY DE XÂY DỰNG HE THONG DE XUẤT LO

TRINH HỌC CHO SINH VIÊN UIT

APPLYING MACHINE LEARNING TO RECOMMEND A

LEARNING ROADMAP FOR UIT STUDENTS

Nhóm SV thực hiện: Cán bộ phản biện:

Cao Hoàng Tú 17521230

Vũ Ngọc Tuần 17521230

Đánh giá Khóa luận

1 Về cuốn báo cáo:

Số trang Số chương

Số bảng số liệu Số hình vẽ

Số tài liệu tham khảo Sản phâm

Một số nhận xét về hình thức cuốn báo cáo:

2 Về nội dung nghiên cứu:

Trang 7

Người nhận xét

(Ký tên và ghi rõ họ tên)

Trang 8

LỜI CẢM ƠN

Lời đầu tiên, chúng tôi xin gửi lời cảm ơn đến ban giám hiệu, quý thầy cô củatrường đại học Công Nghệ Thông Tin, đặc biệt là các thầy cô trong khoa Mạng máytính và Truyền thông đã tận tình giảng dạy, trang bị cho chúng tôi những kiến thứccần thiết trong những năm học tập tại trường

Chúng tôi xin gửi lời cảm ơn đến thạc sĩ Thái Huy Tân, người đã tận tình hướngdẫn và giúp đỡ trong suốt quá trình thực hiện khóa luận để chúng tôi có thể hoàn thànhtốt khóa luận này

Em xin cảm ơn các bạn trong nhóm làm khóa luận đã đóng góp ý kiến để khoá

luận hoàn chỉnh hơn.

Cuối cùng, chúng tôi xin gửi lòng biết ơn sâu sắc đến cha mẹ, gia đình đã tạomoi điều kiện về vật chat, tinh thần, động viên, khích lệ và hỗ trợ chúng tôi trong suốt

thời gian qua.

Mặc dù đã cô gắng hoàn thành khóa luận với tất cả sự nỗ lực, những khóa luậnchắc chắn không tránh khỏi những thiếu sót, chúng tôi kính mong quý thầy cô tận tình

chỉ bảo.

Chúng tôi xin chân thành cảm ơn!

TP Hồ Chí Minh,ngày tháng năm 2021

Sinh viên 1 Sinh viên 2

(Ký tên và ghi rõ họ tên) (Ký tên và ghi rõ họ tên)

Trang 9

ĐHQG TP HO CHÍ MINH CỘNG HOA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC Độc Lập — Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN

TP HCM, ngày tháng năm 2021

ĐÈ CƯƠNG ĐÈ TÀI LUẬN VĂN KỸ SƯ

1 Tên dé tài hoặc hướng NC: ¬

Tên tiêng Việt: Ap dụng học may đề xây dựng hệ thông dé xuât lộ trình học cho sinh viên UIT.

Tên tiếng Anh: Applying machine learning to recommend a learning roadmap for

UIT students.

2 Nganh va ma nganh dao tao

Ngành: Truyền thông và Mang máy tinh

Mã ngành: 52480102

3 Họ tên học viên thực hiện đề tài, khóa-đợt học:

Họ tên sinh viên 1: Cao Hoang Tú MSSV: 17521192

Họ tên sinh viên 2: Vũ Ngọc Tuấn MSSV: 17521230

Người hướng dẫn: ThS Thái Huy Tân

Dia chi email: tanth @uit.edu.vn Dién thoai: 01683410784

Trang 10

4 Tống quan tình hình NC

Trong những năm gân đây, việc sử dụng các ứng dụng trên Internet trở nên

phổ biến hơn và gần như trở thành một phần trong cuộc sống hằng ngày Các ứngdụng web có mặt trong nhiều lĩnh vực như giáo dục, tài chính — kinh doanh, báo chí,giao thông, y tế, công nghiệp, nông nghiệp, du lịch, dịch vụ, giải trí và thể thao Xâydựng các website, ứng dụng di động đã và đang tiếp tục là xu thế trong nền côngnghiệp phần mềm

Sự phát triển nhanh chóng của các ứng dụng di động cũng như Internet đã danhiện thực hóa việc liên kết với thế giới của người dùng Việc giao lưu, kết bạn, giảitrí, tra cứu thông tin trên Internet thông qua các website dang dan trở nên ph biếnhơn và trở thành xu hướng hiện nay Trong đó, nhu cầu tra cứu tìm hiểu thông tin về

lộ trình học sinh cho sinh viên ngày càng quan trọng và là yêu cầu cắp thiết cho sinhviên đặt biệt là sinh viên năm nhất khi còn bở ngở khi mới vào đại học

Nam bắt được xu hướng của thị trường ứng dụng hiện nay Đồng thời nhìnnhận tình hình thực tế, mặc dù có nhiều hệ thống thông tin của nhà trường giúp tracứu thông tin có sẵn nhưng vẫn chưa đáp ứng được nhu cầu tìm kiếm lộ trình học hợp

lý và tối ưu cho sinh viên đặt biệt là sinh viên năm nhất

5 Tính khoa học và tính mới ˆ

Trong bồi cảnh sự phát triên mạnh mẽ và nhanh chóng của các website nhà

trường hỗ trợ tìm kiếm thông tin môn học cho sinh viên Hầu hết các thông tin chỉđưa ra thông tin chung về các môn học mà chưa đưa ra được các thông tin quan trọngnhư giảng viên có được đánh giá tốt hay không tốt, cũng như các môn học tự chọn

chưa đưa ra được các môn học nảo nên học với từng lộ trình riêng biệt.

Ý tưởng về một hệ thống có sử dụng các thuật toán máy học để giúp sinh viên cóthể tra cứu thông tin bình luận của giảng viên là tốt hay không cũng như đưa ra lộ trìnhhọc hợp lý ứng với từng kỳ học và các môn tự chọn hợp lý ngày càng cấp thiết.

Hệ thống được kỳ vọng sẽ mang lại lợi ích thiết thực khi đưa ra các thông tinhữu ích cho các bạn sinh viên cũng như tránh cho các bạn cảm thấy mất phương

hướng trong quá trình học tập tại trường đại học Công Nghệ Thông Tin.

Trang 11

6 Mục tiêu, đối tượng và phạm vi nghiên cứu

6.2 Đối tượng nghiên cứu: :

Luận văn này hướng đên việc nghiên cứu các đôi tượng sau:

- Nghiên cứu và tìm hiểu về CMS Drupal trong việc xây dựng website

- Nghiên cứu và tìm hiểu về Python trong việc dé xuất lộ trình học và đánh giásắc thái bình luận của mỗi sinh viên

6.3 Phạm vi nghiên cứu

Đê tài được nghiên cứu trong môi trường đại học.

7 Nội dung, phương pháp y „

Giai đoạn 1: Khảo sát, phân tích và thiệt kê hệ thong cho ứng dụng

- Kết quả dự kiến: Xác định các chức năng, luồng xử lý dữ liệu của ứng

dụng Định hướng quá trình xây dựng và phát triển ứng dụng

- Phương pháp: Thu thập thông tin người dùng, xây dựng các mô hình phân

rã chức năng, use case, luồng dữ liệu và mô hình thực thé kết hợp

Giai đoạn 2: Nghiên cứu, tìm hiểu công nghệ, kỹ thuật, các thư viện cần sửtrong dé xây dựng và phát triển ứng dụng Xây dung Server cho ứng dụng

- _ Kết quả dự kiến: Xây dựng Server cho ứng dụng

- Phuong pháp: Áp dụng các công nghệ kỹ thuật Drupal, hệ quản trị cơ sở

dir liệu Mysql.

Giai đoạn 3: Xây dựng giao diện và phát triển chức năng cho ứng dụng

Trang 12

- Kết quả dự kiến: Xây dựng hoàn chỉnh ứng dụng từ giao điện đến chức

năng.

- Phuong pháp: Sử dụng các kỹ thuật, công nghệ của Drupal, Django và các

thuật toán máy học để thực hiện các chức năng đã đề ra

Giai đoạn 4: Hoàn thiện báo cáo

- Kết quả dự kiến: Hoàn chỉnh báo cáo, trình bày báo cáo trước giảng viên

và hội đồng

- Phương pháp: Tự đánh giá và so sánh kết qua đạt được với các mục tiêu đề

ra ban đầu dé tiến tới kết luận, nhìn nhận ưu khuyết điểm và hoàn thiện báo

cáo.

8 Kế hoạch bố trí thời gian NC

Thời gian

Nội dung thực hiện

Cao Hoàng Tú Vũ Ngọc Tuấn

01/03/2021 - 12/03/2021 Khảo sát, phân tích các yêu cầu của ứng dụng; xây dựng các

mô hình phân rã chức năng, use case, luông dữ liệu.

12/03/2021 - 18/03/2021 Phân tích thiết kế cơ sở dữ liệu

18/03/2021 - 12/04/2021 Tìm hiểu phát triển Django

API cho phần server gợi ý môn

học

Tìm hiểu phát triển Drupal

để xây dựng giao điện và

quản lý thông tin của ứng dụng

12/04/2021 - 16/05/2021 Tìm hiểu, nghiên cứu các thuật toán Deep learning trong

việc phân loại sắc thái bình luận

17/05/2021 - 23/05/2021 So sánh các thuật toán, xác định thuật toán tối ưu nhất và áp

dụng vào ứng dụng.

Trang 13

24/05/2021 — 30/05/2021 | Kiểm tra độ chính xác của ứng dụng và deploy server.31/05/2021 - 26/06/2021 | Hoàn tat báo cáo khóa luận tốt nghiệp.

TP HCM, ngày thang năm 2021 Xác nhận của CBHD Sinh viên 1 Sinh viên 2

(Họ tên và chữ ký) (Họ tên và chữ ký) (Họ tên và chữ ký)

Trang 14

1.4 Đối tượng và phạm vi nghiên cứu

1.4.1Dối tượng nghiên cứu

1.5 Phương pháp nghiên cứu

1.6 Cấu trúc khóa luận

Chương 2 CƠ SỞ LÝ THUYET

u điểm của sử dung SQLite

p dung SQLite vào ứng dụng UIT Roadmap Recommendation

u điểm của sử dụng MYSQL

p dụng MYSQL vào ứng dụng UIT Roadmap Recommendation

toan KNN

hái niệm

u điểm của sử dụng thuật toán KNN

p dụng thuật toán KNN vào ứng dụng UIT Roadmap Recommendation

10

Trang 15

2.5.3 Áp dụng các thuật toán Microsoft Recommenders vào ứng dung UIT Roadmap

2.7.2 Ưu điểm của sử dụng Selenium

2.7.3 Áp dụng thư viện Selenium vào việc khai thác dữ liệu bình luận

2.8 Drupal.

2.8.1 Khái niệm

2.8.2 Ưu điểm của sử dụng Drupal

2.8.3 Áp dụng Drupal vào ứng dụng UIT Roadmap Recommendation

2.9 Rest API.

2.9.1 Khái niệm

2.9.2 Ưu điểm của sử dụng Rest API

2.9.3 Áp dụng Rest API vào ứng dụng UIT Roadmap Recommendation

Chương 3 PHÂN TÍCH VÀ THIẾT KÉ HỆ THÓNG

3.5 Biểu đồ sequence diagram

Trang 16

3.6 Thiết kế cơ sở đữ liệu

3.6.1 Mô hình thực thé kết hợp (ERD)

3.6.2 Hệ thống cơ sở dữ liệu

3.7 Tổng kết

Chương 4 HIỆN THỰC ỨNG DỤNG UIT ROADMAP RECOMMENDATION

4.1 Tổng quan về ứng dụng UIT Roadmap Recommendation

4.2 Đặc tả giao diện ứng dụng UIT Roadmap Recommendation

4.2.1 Đặc ta giao diện quản tri

4.2.2 Đặc tả giao diện người dùng

Chương 5 THỬ NGHIỆM VÀ BÀN LUẬN

5.1 Mô hình đánh giá trạng thái bình luận giảng viên

5.1.1 Mục đích

5.1.2 Dữ liệu

5.1.3 Tiền xử lý đữ liệu

5.1.4 Huấn luyện và đánh giá mô hình

5.2 Mô hình Đề xuất môn học tự chọn

5.2.1 Mục dich

5.2.2 Dữ liệu

5.2.3 Huấn luyện và đánh giá mô hình

5.3 Mô hình Đề xuất giảng viên

5.3.1 Mục đích

5.3.2 Dữ liệu

5.3.3 Tiền xử lý dữ liệu và cách thức hoạt động của thuật toán KNN

Chương 6 KET LUẬN VÀ HƯỚNG PHAT TRIẺN

77

78

78

78 78

79

80 80 80 80 81 81 81 82 83 83 84 84 84 86

Trang 17

Tin Tin

Tin

Tín Tín

DANH MỤC HÌNH ANH

h năng của Django

h năng của SQLite

h năng của Mysql

h năng của KNN

h năng của Keras

h năng của Selenium

h năng của Drupal

h năng của Rest API

Giao diện form đăng nhập Giao diện danh sách môn học

Form nhập các thông tin về môn họcForm nhập các thông tin về môn học

Giao diện danh sách lớp học Giao diện thêm một lớp học Giao diện chỉ tiết lớp học

Giao diện danh sách giảng viên

Giao diện đăng ký user vào hệ thốngình 4.10 Giao điện danh sách các khoa có trong hệ thông

ình 4.11 Giao diện danh sách các ngành học

Hình 4.12 Danh sách các chương trình đào tạo

ình 4.13 Form thêm một chương trình đào tạo

inh 4.16 Form hiển thị các lựa chọn định hướng cho sinh viên

Hình 4.14 Menu và banner

Hình 4.15 Các môn học phé biến

inh 4.17 Lộ trình học cho kỳ 1 và 2

10 11 12 14 16

55

56

57 58 59 60 61 61 63

64

64 65 66 67 68 68

69

Trang 18

Giao diện chỉ tiết môn học

Giao diện chỉnh sửa thông tin của người dùng

Giao diện hồ sơ của giảng viên

Danh sách các lớp đã học của sinh viên

Mô hình thuật toán tổng quan

Hình 5.1 Kết quả huấn luyện mô hình với Mạng Keras

Hình 5.2 Ví dụ mô tả phương pháp lọc cộng tác

Hình 5.3 Bang so sánh kết quả huấn luyện thuật toán Light GCN va SAR

Hình 5.2 Ví dụ mô tả phương pháp lọc cộng tác

70 71

72 73

74

75 76

71

79

80 81

81

Trang 19

DANH MỤC SƠ DO

Sơ đồ 3.1 Kiến trúc hệ thông 18

Sơ d6 3.2 Phân rã chức năng 19

Sơ đồ 3.3 Usecase sinh viên 20

Sơ dé 3.4 Usecase giảng viên 21

Sơ đồ 3.5 luồng dữ liệu client 38

Sơ đồ 3.6 Sơ đồ luồng dữ liệu Admin 39

Sơ dé 3.7 sequence diagram - chức năng quan ly user 40

Sơ dé 3.8 sequence diagram - chức năng quan lý môn học 42

Sơ dé 3.9 sequence diagram - chức năng quan ly chương trình đào tao 44

Sơ dé 3.10 sequence diagram - chức năng đăng ký, đăng nhập, reset mật khẩu, đăng xuất

46

Sơ dé 3.11 sequence diagram - chức năng đăng ký, đăng nhập, reset mật khẩu, đăng xuất

47

Trang 20

DANH MỤC BANG BIEU

Bảng 3.1 Hiện thức hóa sơ đồ Usecase cho người dùng 2Bảng 3.2 Hiện thực hóa sơ đồ Usecase cho quản trị viên 23Bảng 3.3 Mô tả chức năng đăng ký, đăng nhập, quên mật khâu, đăng xuất 24

Bảng 3.4 Mô tả chức năng trang cá nhân 26

Bảng 3.5 Mô tả chức năng Đề xuất giảng viên và xem thông môn học và tải tài liệu 27Bảng 3.6 Mô tả chức năng Đề xuất lộ trình học 28

Bảng 3.7 Mô tả chức năng quản lý môn học 29 Bảng 3.8 Mô tả chức năng quản lý giảng viên 31 Bang 3.9 Mô tả chức nang quản lý sinh viên 32 Bảng 3.10 Mô tả chức năng quản lý lớp 33 Bang 3.11 Mô tả chức năng quan lý chương trình đào tạo 34

Bảng 3.12 Mô tả chức năng quản lý lộ trình mẫu 36Bảng 3.13 Cơ sở dữ liệu trong hệ thống 50Bảng 3.14 Ví dụ về hoạt động của mô hình Đánh giá trạng thái bình luận giảng viên 78Bảng 3.15 So sách kết quả huấn luyện các thuật toán Logistic Regression và Mạng Keras

79

Trang 21

DANH MỤC TU VIET TAT

STT Từ Việt tat của

1 API Application Programming Interface

2 HTTP HyperText Transfer Protocol

3 RDBMS Relational Database Management System

Trang 22

Chương 1 TONG QUAN DE TÀI

1.1 Tên đề tài

ÁP DỤNG HỌC MAY DE XÂIY DỰNG HE THONG DE XUẤT LỘ TRÌNH HỌC

CHO SINH VIÊN UIT

APPLYING MACHINE LEARNING TO RECOMMEND LEARNING ROADMAP

FOR UIT STUDENTS

1.2 Dat van dé

Giáo dục luôn là van đề trung tâm của xã hội vì nó quyết định tương lai của mỗingười và của cả xã hội Khi nói về tính không hiệu quả của giáo dục ngày nay đặcbiệt là giáo dục Dai học, người ta thường dé lỗi do thiếu trang thiết bị học tập, thươngmại hóa giáo dục, phong cách giảng dạy của giảng viên, việc học thiên về lý thuyếtnhiều hơn thực tiễn mà quên đi cách thức của sinh viên trong việc học của mình.Theo số liệu khảo sát của báo Tuổi trẻ thì chỉ 30% trong số những sinh viên được hỏi

có thái độ tích cực trong học tập, trong khi có đến 60% chọn giải pháp học đối phó

Có một thực tế đáng buồn là sau bao năm học phô thông vất vả, nặng nhọc đểgiành được một chiếc ghế lên giảng đường đại học thì không ít sinh viên đã vội chủquan dẫn đến không tiếp thu được kiến thức, nợ môn và tệ hơn nữa là không có địnhhướng rõ ràng cho tương lai nghề nghiệp Tại sao lại như vậy? Một trong những lý do

là khả năng tiếp nhận thông tin của sinh viên còn kém và chưa có một lộ trình họchợp lý Khi còn học phô thông, đặc biệt là cấp III, các bạn học sinh đã phải mang trên

vai gánh nặng tâm lý từ gia đình, người thân là phải vào Đại học Nhưng bản thân

những cô, cậu ấy chưa hoặc không nhận thức được vào Đại học để làm gì? Và chuyên

ngành mình chọn có phù hợp với mục tiêu, sở thích, tính cách năng lực của bản thân

hay không? Chính vì thế mà khi đã đậu vào Đại học rồi thì cũng đồng nghĩa với việc

đã làm xong nghĩa vụ với bố mẹ và người thân chứ không phải đạt được ước mơ củachính bản thân thì làm gì có được sự trân trọng thành quả có gắng học tập

Một lý do khác nữa là Sinh viên năm thứ nhất thường chịu ảnh hưởng nhiều

từ “sự hướng dẫn” của các anh chị đi trước Các bạn đang cực kỳ thỏa mãn với chínhmình, 12 năm đèn sách rồi, chọi bao nhiêu đối thủ mới nghiễm nhiên trở thành sinh

Trang 23

viên Đại học, thỏa mãn mong ước của bố mẹ, thầy cô, bè bạn Càng nghĩ các bạn càng

tự hao và hài lòng về bản thân mình lắm Rồi các bạn dần cảm thay cái lý lẽ “nghỉ xảhơi” rất có tình, có lý Đúng quá! Theo quan điểm năm nhất ăn chơi, năm hai thong

thả, năm ba cố gắng, năm tư chuẩn bị ra trường thì các bạn chỉ mới ở giai đoạn I mà

thôi vội gì “Thả phanh” ung dung suốt học kỳ dé rồi đến kỳ thi lại lao đầu vào học,thức khuya dậy sớm chạy mãi mà vẫn không đuổi kịp khối kiến thức mà cả học kỳkhông thèm đề mắt tới Cứ chọn đại một “tủ” may mắn thì trúng, còn không thì thilại Thi lại mà rớt thì học lại Những bạn này thường đến lớp thi bằng khuôn mặtmệt mỏi và đương nhiên kết quả đạt được chỉ có trời mới biết

Trước thực trạng đó đã thúc đẩy nhóm chúng tôi đến với ý tưởng xây dựng một

hệ thống ứng dụng học máy dé có thé đề xuất một lộ trình học cho sinh viên nói chung

và sinh viên UIT nói riêng Hệ thống giúp giải quyết các van dé chung của sinh viênnhư nên học môn nao trước, giảng viên nào day dễ hiểu, điểm cao , có thé có tìm tailiệu môn học đó ở đâu cũng như việc làm sao để biết môn học đó có ích gì cho ngànhhọc của mình sau này Việc cho mỗi cá nhân sinh viên sử dụng hệ thống này và để lạicác phản hồi tích cực sẽ góp phan giúp hệ thống thông minh hơn và sẽ giúp các thé

hệ sinh viên tiếp theo có được những kinh nghiệm thực tế từ các anh chị đi trước cònlưu lại trên hệ thống

1.4 Đối tượng và phạm vi nghiên cứu

1.4.1 Đối tượng nghiên cứu

Trang 24

Luận văn này hướng đến việc nghiên cứu các đối tượng sau:

- Nghiên cứu và tìm hiểu về CMS Drupal trong việc xây dựng website

- Nghiên cứu và tìm hiệu về Python trong việc đề xuất lộ trình học và đánh giásắc thái bình luận của mỗi sinh viên

1.4.2 Phạm vi nghiên cứu

Dé tài được nghiên cứu trong môi trường dai học.

1.5 Phương pháp nghiên cứu

Khóa luận sử dụng các phương pháp nghiên cứu hướng đến thực tiễn đề phát triển

và hoàn thiện website:

- Thu thập thông tin, tim hiểu và nghiên cứu về các kỹ thuật, công nghệ, thư việncần thiết sẽ hỗ trợ xây dựng và phát triển đề tài

- Tự đánh giá và so sánh kết quả đạt được với các mục tiêu dé ra ban đầu Điềuchỉnh, khắc phục các khuyết điểm và phát huy các ưu điểm

- Hoàn thiện website và đưa vào kiểm thử trong thực tế, tiến hành khảo sát, thu thập

ý kiến, đánh giá của người dùng

1.6 Cấu trúc khóa luận

Trong bài báo cáo này, chúng tôi xin được trình bày về những kiến thức, cơ sở lýthuyết mà chúng tôi đã nghiên cứu và áp dụng Cũng như những phân tích, đánh giá củanhóm trong quá trình làm việc, xây dựng và phát triển hệ thống đề xuất lộ trình học Báocáo khóa luận này được trình bày với cấu trúc như sau:

- Chương 1: Giới thiệu tổng quan về dé tài nghiên cứu, các van dé cần giải quyết,

mục đích nghiên cứu, phạm vi nghiên cứu và phương pháp nghiên cứu

- Chương 2: Giới thiệu các kỹ thuật, công nghệ, các thư viện cần thiết đã nghiêncứu, tìm hiểu và áp dụng vào việc xây dựng và phát triển đề tài

- Chương 3: Đề ra các đặc tả yêu cầu phân tích thiết kế hệ thống, thiết kế kiến trúc

và các mô hình cần thiết cho toàn bộ hệ thống

- Chương 4: Trình bày việc hiện thực các thiết kế được xây dựng từ chương 3, hiệnthực và giới thiệu giao diện ứng dụng, minh họa cách thức hoạt động thực tế của ứng

dụng.

Trang 25

- Chương 5: Tổng kết đồ án, nêu lên ý nghĩa đồ án, trình bày những mặt tích cực

đã đạt được cũng như nhìn nhận, đánh giá về những hạn chế còn tồn đọng Từ đó đưa

ra cách giải quyết, hướng phát triển tiếp theo cho hệ thống

Trang 26

Chương 2 CƠ SỞ LÝ THUYET

2.1 Django

2.1.1 Khái niệm

Django là 1 web framework khá nổi tiếng được viết hoàn toàn bằng ngôn ngữPython Nó là 1 framework với đầu đủ các thư viện, module hỗ trợ các web-developer.Django sử dung mô hình MVC và được phát triển boi Django Software Foundation(DSF một tổ chức phi lợi nhuận độc lập) Mục tiêu chính của Django là đơn giản hóa

việc tạo các website phức tạp có sử dụng cơ sở dữ liệu [3].

Django tập trung vào tinh năng “có thé tái sử dung” và “có thé tự chạy” của cáccomponent, tính năng phát triển nhanh, không làm lại những gì đã làm Một số websitephổ biến được xây dựng từ Django là Pinterest, Instagram, Mozilla, và Bitbucket

2.1.2 Ưu điểm của sử dung Django

Dé hiểu Django thực sự dùng dé làm gì, chúng ta cần hiểu rõ hơn về máy chủ(server) Điều đầu tiên, server cần biết rằng bạn muốn nó phục vụ một trang web

Hãy tưởng tượng một hộp thư (cổng) giám sát các thư gửi đến (request) Điều nàyđược thực hiện bởi một web server Web server đọc thư và sau đó gửi phản hồi bằng

một trang web.

Trang 27

2.1.3 Áp dung Django vào ứng dụng UIT Roadmap Recommendation

Ứng dụng từ những tính năng nổi trội của Django, nhóm đã sử dụng thư việnMicrosoft Recommenders và Tensorflow dé tiền hành xây dựng mô hình đề xuất Từ dữ

liệu mô phỏng nhóm sẽ lưu trong cơ sở dữ liệu Sqlite và Mysql.

2.2 SQLite

2.2.1 Khái niệm

SQLite là một thư viện phần mềm mà triển khai một SQL Database Engine, khôngcần máy chủ, không cần cầu hình, khép kin và nhỏ gon Nó là một cơ sở dữ liệu, khôngcần cấu hình, có nghĩa là giống như các co sở dữ liệu khác mà bạn không cần phải cầuhình nó trong hệ thống của mình [7]

SQLite engine không phải là một quy trình độc lập (standalone process) như các

cơ sở dit liệu khác, bạn có thé liên kết nó một cách tĩnh hoặc động tùy theo yêu cầu củabạn với ứng dụng của ban SQLite truy cập trực tiếp các file lưu trữ (storage files) của

Bootie

Hình 2 2 Tinh năng của SQLite

2.2.2 Ưu điểm của sử dung SQLite

nó.

Một số đặc điểm quan trọng của SQLite giúp nó đáng đề nghiên cứu:

Trang 28

- SQLite không yêu cầu một quy trình hoặc hệ thống máy chủ riêng biệt để hoạt

động.

- SQLite không cần cấu hình, có nghĩa là không cần thiết lập hoặc quản trị

- Một cơ sở dữ liệu SQLite hoàn chỉnh được lưu trữ trong một file disk da nền tảng

(cross-platform disk file).

- SQLite rất nhỏ và trọng lượng nhẹ, dưới 400 KiB được cấu hình day đủ hoặc

dưới 250 KIB với các tính năng tùy chọn bị bỏ qua.

- SQLite là khép kín (self-contained), có nghĩa là không có phụ thuộc bên ngoài.

- Các transaction trong SQLite hoàn toàn tuân thủ ACID, cho phép truy cập an

toàn từ nhiều tiến trình (process) hoặc luồng (thread)

- SQLite hỗ trợ hầu hết các tinh năng ngôn ngữ truy vấn (query language) đượctìm thay trong tiéu chuẩn SQL92 (SQL2)

- SQLite được viết bằng ANSI-C và cung cấp API đơn giản và dé sử dụng

- SQLite có sẵn trên UNIX (Linux, Mac OS-X, Android, iOS) và Windows

(Win32, WinCE, WinRT).

2.2.3 Ap dung SQLite vào ứng dụng UIT Roadmap Recommendation

Các lệnh SQLite tiêu chuan dé tương tac với cơ sở đữ liệu quan hệ tương tự như

SQL Chúng là CREATE, SELECT, INSERT, UPDATE, DELETE va DROP.

Nhóm sé sử dụng dé lưu dữ liệu về trạng thái bình luận của sinh viên ứng với giảngviên là tốt hay không Cơ sở đề đề xuất giảng viên cho sinh viên tiếp theo

2.3 MYSQL

2.3.1 Khái niệm

SQL [9] là ngôn ngữ phô biến nhất đề thêm, truy cập và quản lý nội dung trong cơ

sở dữ liệu Nó được chú ý nhất vì khả năng xử lý nhanh, độ tin cậy đã được chứng minh,

dé sử dụng và linh hoạt MySQL là một phần thiết yếu của hầu hết mọi ứng dụng PHP

mã nguồn mở Các ví dụ điển hình cho các tập lệnh dựa trên PHP và MySQL là

Trang 29

WordPress, Joomla, Magento va Drupal MySQL đang trở nên phổ biến vì nhiều lý do

tôt:

- MySQL được phát hành theo giấy phép nguồn mở Vì vậy, bạn không phải trả

tiền để sử dụng nó

- MySQL là một chương trình rất mạnh theo đúng nghĩa của nó Nó xử lý một tập

hợp lớn các chức năng của các gói cơ sở dữ liệu mạnh mẽ và đắt tiền nhất

- MySQL sử dụng một dạng chuẩn của ngôn ngữ dir liệu SQL nỗi tiếng

- MySQL hoạt động trên nhiều hệ điều hành và với nhiều ngôn ngữ bao gồm PHP,

PERL, C, C ++, JAVA, v.v.

- MySQL hoạt động rất nhanh và hoạt động tốt ngay cả với các tập dữ liệu lớn

- MySQL rat thân thiện với PHP, ngôn ngữ được đánh giá cao nhất dé phát triển

web.

- MySQL hỗ trợ cơ sở dé liệu lớn, lên tới 50 triệu hàng hoặc nhiều hơn trong một

bảng Giới hạn kích thước tệp mặc định cho một bảng là 4GB, nhưng bạn có thể tăng

mức này (nếu hệ điều hành của bạn có thé xử lý nó) đến giới hạn lý thuyết là 8 triệu

terabyte (TB).

- MySQL là tùy biến Giấy phép GPL mã nguồn mở cho phép các lập trình viên

sửa đổi phan mềm MySQL đề phù hợp với môi trường cụ thé của riêng họ

NMuS

Hình 2 3 Tính năng của Mysql

®

Trang 30

2.3.2 Ưu điểm của sử dụng MYSQL

MySQL cho phép đữ liệu được lưu trữ và truy cập trên nhiều công cụ lưu trữ, baogồm InnoDB, CSV và NDB MySQL cũng có khả năng sao chép dữ liệu và phân vùngbang dé có hiệu suất và độ bền tốt hơn Người dùng MySQL không bắt buộc phải họccác lệnh mới; họ có thể truy cập dữ liệu của mình bằng các lệnh SQL tiêu chuẩn

MySQL được viết bằng C và C++ và có thé truy cập và có sẵn trên hơn 20 nềntảng, bao gồm Mac, Windows, Linux và Unix RDBMS hỗ trợ cơ sở dữ liệu lớn vớihàng triệu bản ghi và hỗ trợ nhiều loại dữ liệu bao gồm các số nguyên có chữ ký hoặckhông dấu có độ dài 1, 2, 3, 4 và 8 byte(s); FLOAT; DOUBLE; CHAR; VARCHAR;

BINARY; VARBINARY; TEXT; BLOB; DATE; TIME; DATETIME; TIMESTAMP;

YEAR; SET; ENUM; va các kiểu OpenGIS Các loại chuỗi có độ dài cố định và biếnđổi cũng được hỗ trợ

2.3.3 Áp dụng MYSQL vào ứng dụng UIT Roadmap Recommendation

Nhóm sẽ sử dụng Mysdl lưu thông tin của khóa học, sinh viên, điểm số cũng nhưcác thông tin về lộ trình học cho sinh viên

2.4 Thuật toán KNN

2.4.1 Khái niệm

KNN (K-Nearest Neighbors) là một trong những thuật toán học có giám sát đơn

giản nhất được sử dụng nhiều trong khai phá dữ liệu và học máy Y tưởng của thuật toánnày là nó không học một điều gì từ tập dữ liệu học (nên KNN được xếp vào loại lazylearning), mọi tính toán được thực hiện khi nó cần dự đoán nhãn của đữ liệu mới [1]

Lớp (nhãn) của một đối tượng dữ liệu mới có thể dự đoán từ các lớp (nhãn) của khàng xóm gần nó nhất

Trang 31

Hình 2 4 Tính năng của KNN

2.4.2 Ưu điểm của sử dụng thuật toán KNN

-Ưu điểm, dễ hiều, tương đối hiệu quả-Các đối tượng tự động gán vào các nhóm-Thuat toán đơn giản, tối ưu trong một số trường hợp ngay cả dữ liệu lớn-Thich hợp đề xử lí gom cụm đơn giản trước khi dùng các thuật toán khác

2.4.3 Áp dụng thuật toán KNN vào ứng dụng UIT Roadmap Recommendation

Nhóm chúng tôi đã nghiên cứu và ứng dụng thuật toán KNN vào phần vùng cácsinh viên có các bình luận tốt hoặc xấu theo mức độ tương đồng với nhau, từ đó sẽ lấynhững giảng viên được bình luận tốt để đưa ra gợi ý cho các sinh viên có hành động

bình luận tương tự nhau.

2.5 Microsoft Recommenders

2.5.1 Khái niệm

Microsoft Recommenders là một mã nguồn mở tổng hợp nhiều thuật toán nhằmphát triển hệ thống gợi ý dựa trên tập dữ liệu về đánh giá phim ảnh, các thuật toán đượccung cấp các ví dụ thông qua Jupyter notebooks [4]

2.5.2 Ưu điểm của nghiên cứu sử dụng các thuật toán trong Microsoft

Recommenders

10

Trang 32

- Các thuật toán đều đã có ví dụ trực quan dễ hiểu.

- Dễ cài đặt và sử dụng.

- Có nhiều thuật toán đa dang

- Là mã nguồn mở nên hoàn toàn miễn phí

2.5.3 Áp dung các thuật toán Microsoft Recommenders vào ứng dụng UIT

Roadmap Recommendation

Nhóm chúng tôi tập trung vào nghiên cứu 2 thuật toán chính là Lightgen va SAR 2.6 Thư viện Keras

2.6.1 Khái niệm

Keras [6] là một open source cho Neural Network được viết bởi ngôn ngữ Python

Nó là một library được phát triển vào năm 205 bởi Francois Chollet, là một kỹ sư nghiêncứu Deep Learning Keras có thể sử dụng chung với các thư viện nổi tiếng như

Tensorflow, CNTK, Theano.

K Keras

A deep learning library

Hình 2 5 Tính năng của Keras

2.6.2 Ưu điểm của sử dụng thư viện Keras

-Dễ sử dụng, dùng đơn giản hơn Tensor, xây dựng model nhanh

-Run được trên cả CPU và GPU.

-Hỗ trợ xây dựng CNN, RNN hoặc cả hai Với những người mới tiếp cận đến Deeplearning nên chọn sử dụng Keras dé build model vì nó đơn gian,dé nắm bắt hơn các thư

viện khác.

2.6.3 Áp dụng thư viện Keras vào ứng dụng UIT Roadmap Recommendation

11

Trang 33

Nhóm chúng tôi sẽ nghiên cứu và sử dụng thư viện Keras vào việc xây dựng model

phần loại sắc thái bình luận dé đánh giá được bình luận của sinh viên ứng với giảng viên

Test Pro (QTP bây giờ là UFT) chỉ khác là Selenium thì tập trung vào việc tự động hoá

các ứng dụng dựa trên nền tảng web Kiểm thử được thực hiện bằng cách sử dụng công

cu Selenium thường được gọi là Kiểm thử Selenium Selenium không chỉ là 1 công cụđộc lập mà là 1 bộ công cụ của phần mềm, mỗi bộ đều đáp ứng được nhu cầu kiểm thửkhác nhau của 1 tổ chức Nó có 4 thành phần

* Selenium Integrated Development Environment (IDE)

* Selenium Remote Control (RC)

* WebDriver

MANUAL Selenium

Webdriver

Hình 2 6 Tính năng của Selenium

2.7.2 Ưu điểm của sử dụng Selenium

- Hiện tại, danh sách Top 10 Automation Testing Tools in 2020 Selenium van la

một cái gì đó khó thay thé, van nỗi bat va có nhiều giá trị

- Hỗ trợ nhiều ngôn ngữ lập trình

12

Trang 34

- Dễ hiểu và dễ sử dụng.

- Hoàn toàn miễn phí

- Hỗ trợ đa trình duyệt với Webdriver.

2.7.3 Áp dụng thư viện Selenium vào việc khai thác dữ liệu bình luận

Nhóm chúng tôi sử dụng selenium và python để lấy dữ liệu bình luận trong cáctrang dạy trực tuyến dé phan loại và làm co sở dé tạo ra model phan loại sắc thái bình

luận.

2.8 Drupal

2.8.1 Khái niệm

Drupal là hệ quản trị nội dung (CMS) mã nguồn mở PHP miễn phí giúp phát triển

web thương mại điện tử hoặc blog cá nhân Drupal được tạo ra từ năm 2000 bởi một lập

trình viên người Bỉ Dries Buytaert Ứng dụng hiện nay của Drupal là gì? Drupal 8 hiện

là nền tang mã nguồn mở được sử dụng nhiều nhất hiện nay dé xây dựng các trải nghiệmngười dùng trực tuyến, đặc biệt là trong các thiết kế website chuyên nghiệp [2]

Trải qua một quá trình phát triển, Drupal hiện đã trở thành một trong những giảipháp quản trị nội dung phù hợp nhất với những đơn vị đang tìm kiếm CMS đột phá chowebsite doanh nghiệp của mình Đồng thời, nó cũng liên tục được cải tiến dé tích hợp

thêm các tính năng mới.

13

Trang 35

© © BUILT-IN WEB SERVICE

© NEW THEME ENGINE

Hình 2 7 Tinh năng của Drupal

2.8.2 Ưu điểm của sử dụng Drupal

- Khả năng tùy biến cao, cần tạo những cấu trúc dữ liệu và trường dit liệu uyênchuyển, logic

- Cần hệ thống thành viên và cơ chế phân quyền hợp lý, dễ sử dụng

- Cần hệ thống web với độ bảo mật cao

- Cần hệ thống web có thé dé dang cấu hình, nâng cấp thay đổi hoặc tích hợp thêm

- Cần hệ thống web hiện đại, đang được ứng dụng những công nghệ web mới nhất

(HTML5, CSS 3, JQuery, Web services, Responsive web.v.v.).

- Cần hệ thống web chạy 6n định trên mọi hệ điều hành Đặc biệt là Linux (môitrường LAMP: Linux, Apache, MySQL, PHP) Các web hosting hiện nay hoạt động tốttrên hệ điều hành Linux

14

Trang 36

- Cần hệ thống web mạnh nhưng tính kinh tế cao.

- Cần hệ thống web có thé dễ dàng nhận được hỗ trợ, trợ giúp khi cần

2.8.3 Áp dụng Drupal vào ứng dụng UIT Roadmap Recommendation

Nhóm chúng tôi sẽ áp dụng drupal vào việc xây dựng cũng như quản lý dữ liệu

chính của website kết hợp với hệ cơ sở đữ liệu Mysdl

REST hoạt động chủ yếu dựa vào giao thức HTTP Các hoạt động cơ bản nêu trên

sẽ sử dụng những phương thức HTTP riêng.

- GET (SELECT): Trả về một Resource hoặc một danh sách Resource

- POST (CREATE): Tạo mới một Resource.

- PUT (UPDATE): Cập nhật thông tin cho Resource.

- DELETE (DELETE): Xoá một Resource.

Khi chúng ta request một API nào đó thường thì sé có vai status code dé nhận biết

sau:

-200 OK — Trả về thành công cho những phương thức GET, PUT, PATCH hoặc

DELETE.

-201 Created — Trả về khi một Resource vừa được tạo thành công

-204 No Content — Trả về khi Resource xoá thành công

-304 Not Modified — Client có thé sử dung đữ liệu cache

-400 Bad Request — Request không hợp lệ

-401 Unauthorized — Request can cé auth

15

Trang 37

-403 Forbidden — bị từ chối không cho phép.

-404 Not Found — Không tìm thay resource từ URI

-405 Method Not Allowed — Phuong thức không cho phép với user hiện tại.

-410 Gone — Resource không con ton tai, Version cũ da không còn hỗ trợ

-415 Unsupported Media Type — Không hỗ trợ kiểu Resource này

-422 Unprocessable Entity — Dữ liệu không được xác thực

-429 Too Many Requests — Request bị từ chối do bị giới han

Hình 2 8 Tính năng của Rest API

2.9.2 Ưu điểm của sử dụng Rest API

Một số ưu điểm chính khi sử dụng RESTFUL API là:

- Giúp cho ứng dụng rõ ràng hơn

- REST URL đại diện cho resource chứ không phải hành động

- Dữ liệu được trả về với nhiều định dạng khác nhau như: xml, html, json

- Code đơn giản và ngắn gọn

- REST chú trọng vào tài nguyên của hệ thống

- Những trang web ngày nay thường sử dụng REST API để cho phép kết nối đến

dữ liệu của họ Trong đó, facebook cũng cung cấp các REST API dé giúp các ứng dụng

bên ngoài kết nối đến dữ liệu của họ

16

Trang 38

2.9.3 Ap dung Rest API vào ứng dụng UIT Roadmap Recommendation

Nhóm chúng tôi sé sử dung Rest API dé giao tiếp giữa Drupal nơi sẽ show giaodiện cho người dùng cũng như kết quả được đề xuất, Django sẽ là nơi cung cấp các API

liên quan tới máy học.

17

Trang 39

Chương 3 PHAN TÍCH VA THIET KE HE THONG

+ Gửi thông tin cập nhật cho Django web dé cập nhật điểm số của sinh viên và

trạng thái bình luận của sinh viên ứng với từng giảng viên.

cấp API cho Drupal web đề thực hiện việc đề xuất môn học và giảng viên

cho sinh viên, và cập nhật điêm sô và trạng thái bình luận của sinh viên ứng với từng giảng viên.

- Database:

18

Trang 40

+ Mysql: Sẽ lưu toàn bộ thông tin của sinh viên, học sinh, các khóa học,

+SQLite: Sẽ là nơi chứa thông tin điểm số của sinh viên ứng với từng môn học,

trạng thái bình luận của sinh viên ứng với từng giảng viên.

3.2 Mô hình phân rã chức năng

Mô hình phân rã chức năng cho phép xác định phạm vi các chức năng được xây

dựng và phát triển trong ứng dụng, cho phép người sử dụng có một cái nhìn tổng thé vềcác chức năng có trong ứng dụng thông qua việc biểu diễn phân rã có thứ bậc đơn giản

‘Bang nhập Import sinh vién Import giảng viên

nh sửa thô a Thêm môn học R “Thêm sinh vids

Đặt ại mật khẩu ont ow [= cươngtìm | [mẽmlotimmiul [Peeompgramén _

| 1 lz I | |

Thêm sinh viên | Thêm giảng viên [E2 (Chinh sửa l tinh Chỉnh sửa môn | _ |Cnhnnsùalóp me

vào lớp vào lớp đào tạo mẫu học

Phí inh Tao tải liệu.

luân giảng viên.

Sơ do 3.2 Phân rã chức năng 3.3 Mô hình Usecase

Ngày đăng: 03/11/2024, 18:50

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN