Hệ thống hỗ trợ các trường đại học và doanh nghiệp trong việc quản ly thông tin thực tập của sinh viên, bao gồm thông tin cá nhân, doanh nghiệp thực tập,quá trình và kết quả thực tập.. N
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Nguyễn Thái Hoang 20520360
Nguyễn Đức Tuấn 20520360 KHÓA LUẬN TÓT NGHIỆP
PHAT TRIEN UNG DỤNG HO TRỢ QUAN LÝ SINH VIÊN THỰC TAP
DOANH NGHIỆP VÀ GOI Ý ĐỊNH HUONG NGHÈ NGHIỆP
Developing applications for student internship management and
career suggestions
KY SU NGANH KY THUAT PHAN MEM
GIANG VIEN HUONG DAN
Ths Nguyễn Thị Thanh Trúc
Thành Phó Hồ Chí Minh, năm 2024
Trang 2LỜI CẢM ƠN
Lời đầu tiên, xin cảm ơn hội đồng nhà trường đã tạo điều kiện cho chúng em thực hiện
đề tài khóa luận tốt nghiệp Chúng em muốn bày tỏ lòng biết ơn chân thành nhất đến cô
Nguyễn Thị Thanh Trúc đã tận tình hướng dẫn và hỗ trợ chúng em trong suốt quá trìnhthực hiện khóa luận tốt nghiệp này Điều đầu tiên, chúng em xin gửi lời tri ân đến cô vì
sự công hiên và sự chia sẻ kiên thức sâu sac của minh.
Trong giai đoạn ban dau của nghiên cứu, chúng em đã gặp không ít khó khăn trong việc năm bat và hiêu rõ vân đê mà chúng em đang tìm hiéu Tuy nhiên, nhờ có sự hướng dân
tận tâm của cô, chúng em đã vượt qua được những thách thức đó và có được cái nhìn
tông quan và sâu sac hơn về chủ đê.
Trong suốt quá trình thực hiện, cô luôn dành thời gian dé theo dõi tiễn trình của chúng
em và đưa ra những góp ý quý báu, giúp chúng em điều chỉnh và hoàn thiện khóa luận
của mình Những lời khuyên và hướng dẫn từ cô không chỉ giúp chúng em hiểu sâu hơn
về đề tài mà còn giúp chúng em phát triển kỹ năng nghiên cứu và viết bài một cách hiệu
quả hơn.
Chúng em thật sự không thể tránh khỏi việc có sai sót trong quá trình hoàn thành khóa
luận này Kính mong nhận được sự chỉ dẫn và góp ý quý báu từ quý thầy cô để hoàn
thiện một cách tốt nhất
Trang 3MỤC LỤC
CHUONG 1 GIỚI THIỆU - 2 2 2 E£EE£EE£EE£EEE2EE£EE#EESEEEEEEEEEEEEEEEEEEerkrrkerree 1
LoL Mute ti6u G6 1
1.2 Khao i8 00v lÍnithaiŸŸỐÕ 1
1.3 Phạm vi đề tài c2 nh HH re 21.4 Đối tượng nghiên CỨU 2-22 6 E+SE£SE£EEEEEEEE2E12E127117171211211711211 1111111 U 3
1.5 Hur6rng nghién CUU 01 3
CHƯƠNG 2 CƠ SO LÝ THUYET esceescsssessssnsessneeesneessneessneeesnneeesneeeenneeesnnseenneses 4
2.1 Recommendation SYSf€I - - - G1113 1183911 183 1011 9 11119 11 1H HH He 4
2.1.1 Con 0 4 2.2 Công nghệ sử dụng - 2E s1 HE Hư 9
2.2.1 NeXtlS 0000.00 I <6 ẻ 9 ,Ý VI ho ẽ.ốốốÝ£ 6Ẳ 10 2.2.3 Firebase In G 6 Z èa 6h h.= II
CHƯƠNG 3 PHAN TÍCH BÀI TOÁN :¿2ccc2ccxtstxxrrrrrtrrrrrrrrrrrrree 14
CHƯƠNG 4 THIET KÊ -22+++22+++2EEE+22EEEEE2EEE22EEEEEEEttEkrrrrtrrrrrrrree 49
4.1 Thiết kế Recommendation System - 2 252 E2 E+EE£EEeEEtEEZEEzEErrkerxrree 49
4.1.1 Bo dit lidu sty ca 49
AV.2 XU ly dtt 0 49 4.1.3 Xây dựng thuật toán RCS - Ăn SH HH HH kh 50
Trang 44.2.1 Entity — Relationship [D1agramm - - - 5s + 3S vrksrierrrerrrrre 51 4.2.2 Danh sach Cac an g.Ư Ả 53
4.3 Thiết kế giao diGn o.ocecceceeccceccccsessessessessesscsessessessessesvssessesscsuesvssesaesuesresssessessesseasees 62
4.4 Cài đặt và kiỂm thử - - -k tk k ESEEEEEEE1111111111111E11 1.111.111.111 cre 65
4.4.1 Cài đặt đữ liệu - 2¿-5c+S< 2E ExEEEE711211211211211211 1111111111111 Ex xe 65 4.4.2 Cài đặt Front_ End - 2210111111111 112255331 111111 k9 5111k krrre 65
4.4.3 Cài đặt Back-endd - - - - - c1 1111231111119 111g 11g ng ngu 66
CHƯƠNG 5 TONG KET - 2 2SE+SE+EEEEE£EEEEEEEE12112212717171711211211 21121 xe 67
5.1 Kết Mane eeccecccsesssessessessessecsscsssssessessessecsessessscssesscssessessessssusssessessessessesassseeseesees 67
5.1.1 KKẾt Qua cocecceccsccsscsssessessessessssssessessecsessessussssssessessessessessussusssessessessecsecseassssesseess 67
5.1.2 Khó khăn occ ecccecccsesssessseeseessecsesssessvsssesssssaussbessecssessesssesssessecseessecssessecsseeseeess 67
5.2 Hướng phát trién Ae cet NET A, 67
Trang 5Hình 2-6: Các điểm nội bật của Eirebase -s- + + +Et+E+EE+EeEE+EeEErEeEerterereerees 12
Hình 3-1: Tổng quan kiến trúc hệ thống 2- 2 2 2+2 +E2+££+EEE+E+zEz+Eerxzrxez 14
Hình 3-2:Sơ đồ Usecase tổng quất ¿- 2S 2+S2+E12EE+EE£EESEEEEEEEEEEErkerkrkerreeg 15
Hình 3-3: Sơ đồ use case “Dang nhập” -¿ 2¿ 2+ s+©xz+zx+Ex2Eerkerkxerxerkesrkrree 18 Hình 3-4: Sơ đồ use case “KhOi phục tài khoản” 2-5-5 s£s£xzxezxzxzxeei 19
Hình 3-5: Sơ đồ use case “Dang ký môn học thực tập -¿ z5: 21
Hinh 3-6: So dé use case “Tim kiém công việc thực tập” «<< «<<s-ces 22 Hình 3-7: Sơ đồ use case “Quản lý công việc quan tâm”” 2-2 2+sz+ss£: 23
Hình 3-8: Sơ đồ use case “Gửi yêu cầu thực tẬp” - s- s s+zx+rxerkerxerxersees 24 Hình 3-9: Sơ đồ use case “Báo cáo tiễn độ định 1 +: 25
Hình 3-10: Sơ đồ use case “Theo dõi thực 1 27
Hình 3-11: Sơ đồ use case “Nộp báo cáo cuối Kỳ” - sc s+cx+rxerkerxereerreee 28 Hình 3-12: Sơ đồ use case “Gợi ý hướng nghiệp” -¿ + x++x++zxerxezrxered 29 Hình 3-13: Sơ đồ use case “Quản lý bang điểm)” -¿- 2-5 secxe£xeEErkerEerxeez 30 Hình 3-14: Sơ đồ use case “Quản lý thông tin sinh viên'”” -c-sz+sz5sz+: 32
Hình 3-15: Sơ đồ use case “Quản lý thông tin giảng viên” -¿-¿s+sz+: 34
Hình 3-16: Sơ đồ use case “Quản lý thông tin khoa” s5 5 + s+xz+xetse+z 35 Hình 3-17: Sơ đồ use case “Quản lý thông tin lớp” - 2c s¿ s£szxzxezxezxeez 36
Trang 6Hình 3-19: So dé use case “Xac nhận thông tin thực tập của sinh viên”” 39
Hình 3-20: Sơ đồ use case “Lập hội đồng cham thi” - 2-2 ©2+cx+2s++zxsrsz 4I
Hình 3-21: Sơ đồ use case “Mở lớp học cho môn đăng ký thực tập” 42
Hình 3-22: Sơ đồ trình tự “Mở lớp học cho môn đăng ký thực tập” - 44 Hình 3-23: Sơ đồ trình tự “Đăng ký môn học thực tập”” -++++«x++ 45 Hình 3-24: Sơ đồ trình tự “Gửi yêu cầu thực tập” - scz+s+cxerzxerxersrrees 46 Hình 3-25: Sơ đồ trình tự “Quản lý thực tập” - - -S-cs Si eeieg 47 Hình 3-26: Sơ đồ trình tự “Báo cáo thực CAP? ne -1ä 48 Hình 4-1: Bộ dữ liệu cho hệ thống Recommendation - -+-<<+<+++<+ 49
Hình 4-2: Merge data của bộ dữ lIỆu - << + +3 E 9 EE+EseEEseeeeeeeeere 50
Hình 4-3: Hàm tính toán độ tương đồng cosine giữa các vector . 51
Hình 4-4: Hình Entity — relationship ÏDDIagraim <6 + «+ £++v++eee+eeeesees 52 Hình 4-5: Trang chủ giao điện Quản tri VIÊN - 55 5 +35 + *+*Eeeeseeeeers 63
Hình 4-6: Màn hình giao diện dành cho giảng vIÊn - s55 55s 5+ *++>s>sxs+ 63 Hình 4-7: Màn hình giao diện dành cho Doanh nghiỆp - 5+ 55+++ss52 64 Hình 4-8: Màn hình giao diện dành cho sinh vIiÊn - 55+ 5+ 5< s£++ss+*s+sss2 64
Hình 4-9: Cấu trúc Eront-End L -¿ 222+++22+vv+ttEExerrrtrrtkrrrtrrkrrrrrrrtred 65
Hình 4-10: CAu trúc Back-End l -i ¿+ Sa c2E2ESESESESEEEEEEEEEESESEEEEEEEEEEEEeEeEsrerressrs 66
Trang 7DANH MỤC BANG
Bang 3-1: Danh sách các Actors có trong hệ thống ¿2-2 2 2+2 +x+£sz£zzzzzez 16
Bảng 3-2: Dánh sách các US€ CAS€ - - SG 11H ng TH HH Hệ 18
Bảng 3-3: Đặc tả use case “Đăng nhập”” ¿+ 22c 1321133 1151118151511 Eke 19
Bảng 3-4: Đặc tả use case “Khôi phục tài khoảñ” - css-s + s+sstveeerssersrserrree 20
Bang 3-5: Đặc tả use case “Đăng ký môn học thực tập” - - «+ «++s++sex+ex+sx+ 22
Bảng 3-6: Đặc ta use case “Tim kiém công việc thực LAP” eeeeceeeteecetteceeeeeeeeeeeees 23
Bảng 3-7: Đặc ta use case “Quản lý công việc quan tÂ1mÌ”” - - 55s ssss+++sss+sseexss 24
Bảng 3-8: Đặc tả use case “Gửi yêu cầu thực tập” ¿ ¿- scx+cxerxrxzrerrxerxerxees 25
Bảng 3-9: Đặc tả use case “Báo cáo tiến độ định S2 7 26
Bang 3-10: Đặc tả use case “Theo dõi thực tẬp”” -s- xxx si srrsrerske 27
Bang 3-11: Đặc tả use case “Nộp báo cáo cuối Kỳ” - ¿5c scs+ze+tctrxerxrrerrered 29
Bảng 3-12: Đặc ta use case “Gợi ý hướng nghiỆp”” - - ¿5-5 +5<**++sx+seseeeseesress 30
Bang 3-13: Đặc ta use case “Quản lý bang điỂm” -¿- 2-2 x+xe£xetEzEzEerxerxees 31
Bang 3-14: Đặc tả use case “Quản lý thông tin sinh vIÊn” - «- «+ s++s£++++s+2 33 Bảng 3-15: Đặc ta use case “Quản lý thông tin giảng VIÊNÌ” - 5< << ++<+++s++s2 34 Bảng 3-16: Đặc ta use case “Quản lý thông tin khoa” -ssssss++ssxssexeseesseereses 35 Bảng 3-17: Đặc ta use case “Quản lý thông tin ]Óp”” - 55555 c++++seesseeseeeerxee 37
Bang 3-18: Đặc tả use case “Gửi phản hồii” - - ¿©5222 x‡ExeEEeEEEEEEEEEErrkerkerkrred 39
Bảng 3-19: Đặc ta use case “Xác nhận thông tin thực tập của sinh viên” 40
Bảng 3-20: Đặc ta use case “Lập hội đồng chấm thỉ”” - 2+ ©52+s22s2+s+zs+zxzex 4I
Bảng 3-21: Đặc ta use case “Mở lớp học cho môn đăng ký thực tập”” - 43 Bảng 4-1:Mô tả các thuộc tính bang ““peTI1SSIOTI”” <6 55+ £ + E+seeeeeeeersek 53
Bảng 4-2: Mô tả thuộc tính bang “^uS€r_aCCOUTIẨ” G6 11v kg 53 Bang 4-3: Mô tả thuộc tính bang “User_Person”? cee eeeeeeeeeeseeeeeneeeeeneeeeeeecetaeeeeeees 53
Trang 8Mô tả thuộc tính bang ““PTOBTA1m” - - - s5 1211191 9v ng vn ng
Mô tả thuộc tính bảng “ÏDepartimennt” - - - + +++* + +skEsseseeeeeeersee
Mô tả thuộc tính bảng “*C ÏaSS”” - c5 132311311111 111 1 re
Mô tả thuộc tính bang ““MaJOT”” G5 11 ng ngu
Mô tả thuộc tính bang ““TeaCH€T”” - c1 331 31119111911 1111 1 ekrree : Mô tả thuộc tính bang “AdminIStTAfOT”” - 25 5+ +2 £++*e+seseeeeeese : Mô tả thuộc tính bang “Studernf” c v13 v1 9 vn re M6 tả thuộc tính bảng “BuSIn€SSÌ” - - 5 c1 re M6 ta thudce tinh bang “Job” TT
Mô ta thuộc tinh bang “SkIÏÏ”” << 11211 11k net
Mô tả thuộc tính bang “AcademIc y€aT” ‹ sss+ssss+s*svsseeereees
M6 tả thuộc tính bang “S€ImesSf€T”” - «5 c1 re
Mô tả thuộc tính bang “Intern JOb”” «+ +-++++<£+seexeeeeeeeeseeeeree M6 tả thuộc tính bang “Job ÍaVOTI€ ” 5 5 s +E+EEvsseeseeeseresere
Mô tả bang “Intern SUbJ€CẨ” - -.- - 2S 1123k S9 ng ng griệp
Mô tả thuộc tính bang “Examination_boardÏ” .- s«+s++ss++s++s
Mô tả thuộc tinh bảng “Student_learn_ 1InfernÏ” -«++-«<+<s<2
Mô tả thuộc tính bang
“student_request_regIst_1ntern” -Mô tả thuộc tính bảng “NOIC€”” - Gv ng ngư
Mô tả thuộc tính bang “Detail nofIC€”” - +55 *++svessseeseeereses
Mô tả thuộc tinh bang ““]ÑR€pOTẨ”” - G5 111 191 9v ng kg ngư
Trang 9TOM TAT KHÓA LUẬN
Đề tài tập trung vào việc xây dựng một website quản lý sinh viên thực tập và gợi ý địnhhướng nghề nghiệp Hệ thống hỗ trợ các trường đại học và doanh nghiệp trong việc quản
ly thông tin thực tập của sinh viên, bao gồm thông tin cá nhân, doanh nghiệp thực tập,quá trình và kết quả thực tập
Một tinh năng quan trọng là module gợi ý nghề nghiệp Sử dung dit liệu từ lịch sử họctập, kỹ năng, sở thích và kết quả thực tập, hệ thống áp dụng các thuật toán học máy déđưa ra gợi ý nghề nghiệp phù hợp cho sinh viên Điều này giúp sinh viên có cái nhìn rõ
rang hơn về các ngành nghề phù hợp và đưa ra quyết định nghề nghiệp chính xác hơn
Quá trình phát triển hệ thống bao gồm các bước: khảo sát yêu cầu, thiết kế, triển khai,
kiểm thử và đánh giá Kết quả cho thấy hệ thống hoạt động hiệu quả trong việc quản lý
thực tập và gợi ý nghề nghiệp, góp phần nâng cao chất lượng đào tạo và chuẩn bị tốt hơn
cho sinh viên khi ra trường
Trang 10CHUONG 1 GIỚI THIEU
1.1 Mục tiêu đề tài
Mục đích chính là tạo ra Trang web “Quản lý sinh viên thực tập và hỗ trợ tìm
kiếm việc làm” với mục tiêu cung cấp một nền tảng cho sinh viên khám phá các
cơ hội thực tập Ngoài ra, nó nhằm mục đích hỗ trợ nhà trường và giảng viên
trong quản trị, theo dõi tiễn độ thực tập và thiết lập các điều kiện tối ưu cho sinh
viên.
Mục đích cu thé của nghiên cứu này là tạo điều kiện thuận lợi cho việc tạo ra một
ứng dụng phần mềm để quản lý sinh viên thực tập, tích hợp với các khuyến nghịtập trung vào nghề nghiệp, dé thiết lập một giao diện thân thiện với người dùng
và dé tiếp cận Nén tang này được thiết kế dé xử lý hiệu quả dữ liệu sinh viên,
tiến hành phân tích đữ liệu để đưa ra lời khuyên nghề nghiệp có liên quan phù
hợp với sở thích, năng lực và nền tảng của từng sinh viên Hơn nữa, nó sẽ cung
cấp một loạt các công cụ và tài liệu dé hỗ trợ sinh viên trong việc tìm kiếm và
theo đuôi các cơ hội việc làm sau khi tốt nghiệp
Tầm quan trọng và việc thực hiện sáng kiến này liên quan đến việc làm phong
phú thêm kinh nghiệm thực tập cho sinh viên, tạo điều kiện cho nỗ lực tìm kiếm
việc làm trong tương lai của họ và hỗ trợ các doanh nghiệp giám sát và tương tác
hiệu quả với nhân viên thực tập Chương trình này cũng nhằm mục đích thiết lậpmột kho lưu trữ toàn diện về dữ liệu sinh viên và các yêu cầu của thị trường lao
Trang 11sinh viên Cụ thể, các trường hầu như không có các công cụ hoặc phần mềm
chuyên biệt dé theo dõi và quan lý quá trình thực tập của sinh viên Điều này dẫn
đến việc quản lý thực tập thường phụ thuộc vào các phương pháp thủ công, thiếu
tính đồng bộ và hiệu quả
Nghiên cứu cho thay rang, trong khi nhu cầu về một hệ thống quản lý thực tập
chuyên nghiệp ngày càng tăng cao, các trường đại học và cao dang vẫn chưa có
các giải pháp công nghệ dé đáp ứng nhu cau này Sự thiếu vắng phần mềm quản
lý thực tập không chỉ gây khó khăn cho các cơ sở giáo dục trong việc theo dõi và
đánh giá hiệu quả thực tập mà còn ảnh hưởng đến trải nghiệm của sinh viên trong
quá trình thực tập và định hướng nghề nghiệp của họ
Việc triển khai một ứng dụng hỗ trợ sinh viên thực tập và định hướng nghề nghiệp
không chi là một điểm nổi bật trong nghiên cứu của chúng tôi mà còn là một sự
bồ sung cần thiết dé cải thiện hiệu quả quản lý thực tập và hỗ trợ sinh viên tại các
cơ sở giáo dục Hệ thống phần mềm này sẽ giúp nâng cao chất lượng quản lý thực
tập, cung cấp công cụ hữu ích cho cả sinh viên và các nhà quản lý, đồng thời đáp
ứng nhu cầu ngày càng cao về việc kết nối giữa lý thuyết và thực tiễn trong quá
trình học tập.
1.3 Phạm vi đề tài
Phạm vi môi trường: website
Phạm vi chức năng: Gồm 4 role chính
Role sinh viên: sinh viên có thể đăng ký môn học thực tập, nộp báo cáo, tìm kiếm
việc làm, gợi ý định hướng nghề nghiệp
Role doanh nghiệp: Quản lý sinh viên thực tập, quản lý job, liên kết trường họcRole teacher: Quản lý bảng điểm, quản lý các sinh viên được hướng dẫn thực tập
Trang 12e Role admin: Quản lý trường học, khoa, lớp học, doanh nghiệp liên kết, sinh viên,
giảng viên.
1.4 Đối tượng nghiên cứu
- _ Sinh viên đang tham gia vào chương trình thực tập doanh nghiệp.
- Giang viên hướng dẫn và quản lý sinh viên thực tập.
- _ Doanh nghiệp và tô chức có nhu cầu tuyển dung
- Thu ký khoa
1.5 Hướng nghiên cứu
Đầu tiên việc kiểm tra quá trình thực tập tại các trường Đại học và Cao đăng là bắt buộc.Thu thập dữ liệu từ các nên tảng tuyển dụng như ITViec, Glint, LinkedIn, TopCV, v.v.,
và thực hiện khảo sát là điều cần thiết để hiểu được lợi ích và trở ngại mà sinh viên phảiđối mặt Đi sâu vào các khung quản lý hỗ trợ xây dựng các tiêu chí chức năng thiết yếu
cho nên tảng, đảm bảo hiệu quả và thân thiện với người dùng Việc xem xét kỹ lưỡngcác yêu cầu của van đề là rất quan trọng dé nam bắt những thách thức và khả năng liênquan Khám phá kiến trúc phần mềm là rat quan trọng dé xây dựng các hệ thống mạnh
mẽ và bền vững Có được kiến thức về các kỹ thuật và thuật toán của người giới thiệu là
công cụ trong việc tạo ra các đề xuất công việc và nghề nghiệp phù hợp với sở thích,
trình độ và nguyện vọng của học sinh Cuối cùng, một hệ thống giới thiệu thông minh sẽ
được thiết kế, sử dụng dữ liệu của sinh viên dé cung cấp kết quả chính xác và đáng tin
^
cậy.
Trang 13CHƯƠNG 2 CƠ SỞ LÝ THUYET
2.1 Recommendation system
Một hệ thống dé xuất, còn được gọi là hệ thống khuyến nghị, biểu thi mộtphần mềm hoặc hệ thống thông tin được thiết kế dé tự động đưa ra các đề xuất
cho người dùng liên quan đến các mục hoặc thông tin có thể thu hút sự quan tâm
của họ Hệ thống này tiến hành phân tích dữ liệu lich sử của người dùng, bao gồm
các mô hình mua sắm, đánh giá và tương tác trực tuyến của họ, đề điều chỉnh các
đề xuất theo sở thích cá nhân Thông qua việc sử dụng các thuật toán và mô hình
học máy, Hệ thống khuyến nghị tối ưu hóa quy trình đề xuất, cung cấp trải nghiệm
người dùng được cá nhân hóa và giảm thiêu thời gian tìm kiếm của người dùng
Lợi ích của Hệ thống Khuyến nghị bao gồm tăng hiệu suất bán hàng trongthương mại điện tử, tăng sự hài lòng của người dùng thông qua các đề xuất được
cá nhân hóa và giữ chân người dùng thông qua việc cung cấp nội dung phù hợp
Ở đề tài này, chúng em sử dụng Content-Based Recommendation System
(là một trong 4 loại chính của hệ thống Recommendation System)
2.1.1 Giới thiệu
Hệ thống dé xuất dựa trên nội dung (CBRS) được thiết kế để tạo ra các đề
xuất mục bằng cách phân tích các thuộc tính và nội dung của các mục mà người
dùng đã tham gia Không giống như lọc cộng tác, CBRS không phụ thuộc vào dit
liệu phản hồi từ người dùng; thay vào đó, nó sử dụng các đặc điểm như danh mục,
từ khóa và tác giả để đánh giá sự tương đồng giữa các mục Cách tiếp cận này tạo
điều kiện cho mức độ tùy chỉnh cao và đặc biệt hữu ích khi có san dir liệu phan
hồi han chế Tuy nhiên, CBRS có thé có những hạn chế trong việc khám phánhững phát hiện mới và bị ảnh hưởng bởi quan điểm chủ quan trong việc xác định
Trang 14Lọc cộng tác có tiêm năng nâng cao hiệu quả của hệ thông.Content-Based Recommendation System.
Cac khái niệm cơ bản:
Đại diện mục: Trong hệ thống gợi ý, các mục được miêu tả thông qua các thuộc
tính bao gồm từ khóa thê loại, đạo diễn, diễn viên và cốt truyện Thông qua quátrình vectơ hóa, các thuộc tính này được chuyển thành vectơ số sử dụng các kỹ
thuật cụ thé được thiết kế cho từng loại dit liệu
Việc xây dựng hồ sơ người dùng liên quan đến việc tạo hồ sơ có hệ thống chongười dùng, được thiết lập thông qua sự tương tác của họ với các mục khác nhau,
bao gồm sở thích, lượt xem và các tương tác khác Các hồ sơ nay trải qua các cập
nhật liên tục dé nâng cao sự hiéu biết về sở thích của người dùng dựa trên các đặcđiểm độc đáo của từng mục
Các phương pháp đánh giá sự tương đồng, chăng hạn như tương đồng cosin,
khoảng cách Euclide và tương quan Pearson, đóng vai trò là yếu tố nền tảng củacác hệ thống khuyến nghị Những kỹ thuật này đóng một vai trò quan trọng trong
việc xếp hạng và đề xuất các mục phù hợp chặt chẽ với h6 sơ của người dùng
Kỹ thuật trích xuất đặc trưng
Kỹ thuật trích xuất đặc trưng bao gồm ba loại dữ liệu chính Ban đầu, trong dữ
liệu văn bản, việc sử dụng TF-IDF được sử dụng dé đánh giá tam quan trọng của
các từ riêng lẻ trong một tài liệu nhất định so với các từ khác Các phương pháp
Trang 15dữ liệu số trải qua các quy trình chuan hóa/tiêu chuẩn hóa dé chuẩn hóa các thuộc
tính số thành một phạm vi hoặc phân phối nhất quán, đảm bảo sự đóng góp công
băng của từng đặc tính cho các tính toán tương tự
Phương pháp xây dựng hồ sơ người dùng
Quy trình xây dựng hồ sơ người dùng bao gồm ba phương pháp khác nhau Banđầu, phản hồi được cung cấp tương tự như các đánh giá rõ ràng được cung cấp
bởi người dùng trên phim Sau đó, sở thích hoặc sở thích của người dùng được
trình bay rõ ràng Ngoài ra, phản hồi ân có nguồn gốc từ dữ liệu hành vi như nhấpchuột, lượt xem hoặc mua hàng, ngầm tiết lộ khuynh hướng của người dùng Cuối
cùng, mức độ tương tác với nội dung được tính vào sự phát triển của hồ sơ người
dùng.
Các thuật toán tính toán sự tương đồng và gợi ý
Các thuật toán tính toán sự tương đồng và gợi ý bao gồm ba phương pháp chính.Tương đồng Cosine đo lường góc cosine giữa hai vector, đặc biệt hữu ích trong
không gian cao chiêu đê xác định mức độ tương đông giữa các mục.
Trang 16e |A || và ||B|| là độ dài (norm) của các vector.
Hình 2-1: Công thức tinh Cosine Similarity
Tiếp theo là sử dung khoảng cách Euclidean: Do lường khoảng cách đường thăng giữahai điểm trong không gian nhiều chiều
Euclidean Distance = />},;(4; — Bj)?
Trong do:
e A và Bla hai vector.
Trang 17Cuối cùng là tương quan Pearson: Do lường sự tương quan tuyến tính giữa hai vector
Trong do:
e A và B là hai vector.
e A; và B; là các thành phần của các vector A và B.
« Avà Blà giá trị trung bình của các thành phần trong A và B.
Hình 2-3: Do lường sự tương quan tuyên tính giữa hai vector
Ưu điểm và nhược điểm của hệ thong gợi ý
- Ưu điểm: Cá nhân hóa tạo điều kiện cho việc tùy chỉnh các đề xuất theo sở thích
cá nhân của người dùng cá nhân; khả năng đề xuất các mục mới độc lập với đầu
vào tương tác của người dùng giải quyết van đề khởi động lạnh đối với các mục
mới; và tính dé giải thích được tăng cường vì nó dựa trên đặc điểm của mặt hàng
- Han chế: Các hạn chế bao gồm sự thiếu đa dạng, cho thấy sự tập trung vào các
mục tương tự như những mục đã được người dùng xem, có khả năng cản trở việc
khám phá nội dung mới; phụ thuộc vào các tính năng cụ thé, với hiệu quả gắn liềnvới sự đầy đủ và toàn diện của các đặc tính vật pham; và một thách thức trong
khả năng mở rộng, vì việc xử lý các vectơ tính năng có chiều cao đòi hỏi tài
nguyên tính toán đáng ké
Trang 182.2 Công nghệ sử dụng
e Frontend: ReactJS, NextJS
e Backend: NodeJS (NestJS)
e Database: MySQL (firebase lưu trữ)
2.2.1 NextJS
NextJS là framework mã nguồn mở được xây dựng trên nền tang của React, cho phép
build web tĩnh có tốc độ siêu nhanh và thân thiện với người dùng
Trang 19¢ Tao trang web tĩnh tại thời điểm build, tăng tốc độ load trang và giảm tải
cho server (Static Site Generation)
¢ Quan lý routing dé dàng dựa trên cau trúc thư mục và file.
e _ Hỗ trợ TypeScript giúp viết code an toàn hơn với kiểu dữ liệu tĩnh.
e - Xây dung API endpoints trên cùng server với ứng dung web.
e Ti ưu hóa hiệu suất ứng dụng, bao gồm tự động tối ưu hóa hình ảnh
2.2.2 NestJS
NestJS là một framework progressive xây dựng trên Node.js, giúp phát triển ứng
dụng phía server dễ dàng và hiệu qua hơn Nó sử dụng TypeScript, kết hợp cácnguyên tắc và thiết kế từ Angular dé cung cấp một cấu trúc mạnh mẽ và dé mở
rong.
wrap-response.interceptor.ts *
r mmon > intercept se.inter tt re Ð intercept @ visionslabs
CallHandler, ExecutionContext
*@nestjs/commo
Observable
tap from ‘rxjs/opera
Hinh 2-5: Framework Nestjs
Trang 20Các tính năng nổi bật của Nestjs:
Tổ chức mã ngu6n thành các module, giúp mã dễ quản lý và mở rộng
Sử dụng cơ chế Dependency Injection dé quản lý các phụ thuộc, giúp code dé test
Chuyền đổi và xác thực dữ liệu của yêu cầu trước khi đến controllers
Tích hợp hỗ trợ GraphQL, giúp xây dung API hiện dai và linh hoạt.
Hỗ trợ xây dựng microservices, cho phép ứng dụng dễ mở rộng và phân tán.
Cung cấp công cụ và hướng dẫn cho việc viết unit tests và end-to-end tests, giúpđảm bảo chất lượng ứng dụng
2.2.3 Firebase
Firebase là một nền tảng phát triển ứng dụng di động và web do Google cung cấp,
với một loạt các dịch vụ và công cụ giúp xây dựng, triển khai và quản lý các ứng
Trang 21The Realtime Backend
for your App!
DOO
Synchronize Across Web and Moble Devices
Hình 2-6: Các điểm nội bật của Firebase
Các điểm nỗi bật của Firebase:
¢ Luu trữ và đồng bộ dữ liệu giữa các thiết bị ngay lập tức (Realtime
database)
e - Cơ sở dữ liệu có cấu trúc hỗ trợ các tính năng như tìm kiếm, lọc và đồng
bộ dir liệu theo thời gian thực (Firestore)
e Dich vụ xác thực người dùng với nhiều phương thức đăng nhập như email,
Google, Facebook (Authentication)
e - Triển khai các ứng dụng web một cách nhanh chóng va dé dàng (cơ chế
hosting)
e - Viết và triển khai các chức năng backend không cần máy chủ dé xử lý
các sự kiện trong ứng dụng (Cloud Functions)
e - Lưu trữ va quản lý các tệp tin, hình ảnh, video va dữ liệu tĩnh khác trên
đám mây (Storage)
Trang 22e - Cung cấp công cụ phân tích dữ liệu dé theo dõi và hiểu rõ hành vi người
dùng trên ứng dung (Analytics)
¢ Git thông báo đến người dùng qua nhiều nền tảng như Android, iOS và
trình duyệt (Cloud Messaging)
Trang 23CHUONG 3 PHAN TICH BÀI TOÁN3.1 Kién tric hé thong
v
' '
Trang 253.2 Danh sách Use case
3.2.1 Danh sách Actors
i nr
Quản trị viên Quản lý sinh viên, giảng viên, trường học, khoa, doanh
nghiệp
Trang 263.2.2 Danh sách Use case
STT | Tên Use case Mô tả
1 Dang nhap Use case cho phép nguoi dung dang nhap hé
5 Quản lý công việc quan tam | Use case cho phép sinh viên thêm hoặc xóa công
| vide quan tam
6 Gui yéu cau thuc tap Use case cho phép sinh viên gửi yêu cầu thực tập
7 Báo cáo tiên độ định kỳ Use case cho phép sinh viên gửi báo cáo tiên độ
định kỳ
8 Theo dõi thực tap Use case cho phép sinh viên theo dõi qua trình
thực tập
9 Nộp báo cáo định ky Use case cho phép sinh viên nộp báo cáo
10 | Gợi ý hướng nghiệp Use case cho phép hệ thông đưa ra gợi ý dựa trên
Trang 2713 Quản lý thông tin giảng viên | Use case cho phép admin quan lý các thông tin
của giảng viên
14 | Quản lý thông tin khoa Use case cho phép admin quản lý các thông tin
các khoa của trường đại học
15 Quản lý thông tin lớp Use case cho phép admin quản lý các thông tin
lớp của sinh viên
16 | Gửi thông tin phản hồi tới | Use case cho phép admin Gửi thông tin phản hồi
sinh viên tới sinh viên
I7 | Xác nhận yêu cầu thực tập | Use case cho phép doanh nghiệp xác nhận yêu
cầu thực tập của sinh viên
18 | môn đăng ký thực tập Ai Use case cho phép sinh viên đăng ký môn học
Trang 28Mô tả Người dùng phải đăng nhập hệ thống trước khi sử dụng các
chức năng
Tác nhân Người dùng
Điêu kiện trước | Người dùng có tài khoản hoặc là sinh viên, giảng viên của
trường
Luông sự kiện chính 1 Người dùng đăng nhập vào hệ thống
2 Hệ thống kiểm tra và thông báo trạng thái đăng nhập
Luông sự kiện thay 1 Hệ thống kiểm tra tài khoản có hợp lệ hay không
thế 2 Nếu chưa có tài khoản, lên xin ban quản trị tạo tài khoản
mỚI.
Bảng 3-3: Đặc tả use case “Đăng nhập ”
2 Use Case khôi phục tài khoản
Trang 29Use Case
Mô tả
Tác nhân
Khôi phục tài khoản
Người dùng muốn khôi phục lại tài khoản khi quên mật khẩu
hiện tại Người dùng
Điều kiện trước Người dùng đã có một tài khoản sử dụng trong hệ thông
Điều kiện sau Cập nhật lại mật khẩu mới của người dùng vào cơ sở dữ liệu
Luông sự kiện chính 1 Người dùng chọn Quên mật khâu dé bắt đầu khôi phục
tài khoản.
2 Người dùng nhập Email của tài khoản khôi phục.
3 Người dùng nhập mật khâu mới và xác nhận lại mật
khẩu vừa nhập
4 Kếtthúc
Luông sự kiện thay 2 Hệ thống kiểm tra Email của người dùng Thông báo
thế “Email không hợp lệ Vui lòng kiểm tra lại” cho
người dùng khi Email không tôn tại trong hệ thống
Bp Hé thong kiểm tra mat khẩu mới va mật khẩu xác
nhận có giống nhau không Thông báo “Kiểm tra lạimật khâu xác nhận” khi mật khẩu nhập lại không
chính xác.
Bảng 3-4: Đặc tả use case “Khôi phục tài khoản ”
Trang 303 Use Case đăng ký môn học thực tập
A Sơ đồ Use Case
" Hang” Chọn khoa đăng ký
Use Case Dang ky môn học thực tap
Mô tả Sinh viên thực hiện đăng ký tín chỉ môn học thực tập tốt nghiệp
Tác nhân Sinh viên
Điều kiện trước | Sinh viên cần đăng nhập vào hệ thông
Điêu kiện sau | Cập nhật thông tin thực tập của sinh viên vào cơ sở dữ liệu
Luông sự kiện 1 Sinh viên đăng nhập vào hệ thống
chính 2 Sinh viên chọn vào chức năng Thực tập.
3 Sinh viên chọn đăng ký môn học thực tập tốt nghiệp
Trang 31Bang 3-5: Đặc tả use case “Đăng ký mon học thực tap”
4 Use Case tìm kiếm công việc thực tập
A Sơ đồ Use Case
Use Case Tim kiém công việc thực tap
Mô tả Sinh viên thực hiện tìm kiếm công việc thực tập
Tác nhân Sinh viên
Điều kiện Sinh viên cần đăng nhập vào hệ thống
trước
Điều kiện sau | Không có
Trang 32Luông sự kiện 1 Sinh viên đăng nhập vào hệ thống.
chính 2 Sinh viên chọn thanh Tìm kiếm và nhập thông tin công việc
thực tập cần tìm kiếm
3 Sinh viên nhân nút Tìm kiếm hoặc Enter để xem danh sách
công việc hiện đang có san.
4 Kết thúc
Luông sự kiện 3 Hệ thông kiêm tra tat cả công việc liên quan và hiển thị ra cho
thay thế người dùng
3 Hệ thống sẽ hién thị thêm danh sách Gợi ý công việc và Công
việc xu hướng đê sinh viên có thê tham khảo.
Bảng 3-6: Đặc tả use case “Tìm kiếm công việc thực tap”
5 Use Case quản lý công việc quan tam
A So đồ Use Case
Thém CV quan tam
Trang 33Điêu kiện trước Lọc các công việc quan tâm sau đó thêm vào danh sách công
việc quan tâm
Điều kiện sau
Luông sự kiện
chính
Ludéng sự kiện thay
thế
1 loc các theo yêu cầu dé tim ra công việc phù hợp
2 _ Thêm vào danh sách công việc đang quan tam
1 Xóa công việc khỏi danh sách các công việc quan tâm
Bảng 3-7: Đặc tả use case “Quản lý công việc quan tâm ”
6 Use Case gửi yêu cầu thực tập
A Sơ đồ Use Case
A Quan lý thuc tap < Gi yêu cầu thực tập
Hình 3-8: Sơ đồ use case “Gửi yêu cầu thực tập ”
B Đặc ta Use Case
Use Case Gửi yêu cầu thực tập
Mô tả Sinh viên gửi yêu cầu thực tập
Tác nhân Sinh viên
Điêu kiện trước Sinh viên cung cấp thông tin về nơi thực tập và gửi cho giảng
viên đê xác nhận.
Trang 34Điều kiện sau Giảng viên xác nhận và gửi lên hệ thống.
Luông sự kiện 1 Sinh viên cung cấp thông tin công việc thực tập
chính 2 Giảng viên xác nhận và lưu thông tin vào hệ thống
Luỗồng sự kiện 1 Nếu yêu cau bị từ chối, sinh viên phải gửi lại thông tin
thay thế công việc khác
Bảng 3-8: Đặc tả use case “Gửi yêu câu thực tập”
7 Use Case báo cáo tiến độ định kỳ
A Sơ đồ Use Case
Báo cao tiên độ
Sinh viên
: << include >>
Hình 3-9: Sơ đô use case “Báo cáo tiến độ định kỳ”
Trang 35Điều kiện Sinh viên cần đăng nhập vào hệ thống và đã đăng ký môn thực tập
trước tốt nghiệp
Điều kiện sau | Cập nhật lại tiên độ thực hiện vào cơ sở dữ liệu
Luông sự kiện 1.
chính
Sinh viên đăng nhập vào hệ thống
2 Sinh viên chọn vào chức năng Thực tap.
3 Sinh viên chọn vào mục Báo cáo.
4 Sinh viên theo đõi các công việc đang được phan công Tick
vào công việc khi đã hoàn thành công việc.
5 Kết thúc.
thay thế nhưng vẫn chưa được hoàn thành.
Bang 3-9: Đặc tả use case “Bảo cáo tiến độ định kỳ”
8 Use Case theo dõi thực tập
A Sơ đồ Use Case
heo dõi đánh giá từ giảng
Trang 36Hình 3-10: Sơ đô use case “Theo dõi thực tập”
B Đặc ta Use Case
Use Case Theo dõi thực tập
Mô tả Sinh viên theo dõi thực tập qua các thông báo từ hệ thống và đánh
giá từ giảng viên hướng dẫn thực tập
Tác nhân Sinh viên
Điều kiện Sinh viên cần đăng nhập vào hệ thông và đã đăng ký môn thực tập
trước tốt nghiệp
Điều kiện sau | Không có
Luông sự kiện I Sinh viên đăng nhập vào hệ thống
chính 2 Sinh viên chọn vào chức năng Thực tap.
3 Sinh viên chọn mục Theo dõi.
4 Sinh viên theo dõi các thông báo từ hệ thống và đánh giá từ
giảng viên dé hoàn thành công việc một cách tốt nhất
Trang 37T =5.“ Quản lýthựctập < - Báo cáo cuỗi kỳ
Sinh viên «extend»
Hình 3-11: Sơ đồ use case “Nộp báo cáo cuối kỳ”
B Đặc tả Use Case
Use Case | Nộp báo cáo cuôi kỳ
Mô tả Sau khi hoàn thành xong kỳ thực tập, nhà trường sẽ thông báo lịch báo
cáo kêt quả thực tập Sinh viên cân nộp các file trước khi đên báo cáo
Tac nhân Sinh viên
Điều kiện | Sinh viên chuẩn bị trước day đủ các file cần nộp Sau đó đăng nhập
trước vào hệ thống dé nộp các file báo cáo theo đúng link đính kèm
Điều kiện sau
Luông sự 1 Sinh viên đăng nhập vào hệ thống
kiện chính 2 Đính kèm file theo đúng vi trí.
3 Xác nhận gửi lên hệ thống
Trang 38Luông sự 1 Nếu như muốn chỉnh sửa(được phép trước hạn nộp) thì nhắn
kiện thay thế go xuống
2 Đính kèm và gửi lên hệ thống lại
Bang 3-11: Đặc ta use case “Nộp báo cáo cudi ky”
10 Use Case gợi ý hướng nghiệp
A Sơ đồ Use Case
Use Case Gợi ý hướng nghiệp.
Mô tả Hệ thống đưa ra gợi ý dựa trên thông tin mà người dùng cung cấp
Tác nhân Sinh viên.
Điều kiện Sinh viên đăng nhập, cung cấp thông tin cần thiết cho hệ thống
Trang 39Luông sự kiện I _ Sinh viên đang nhập vào hệ thống.
chính 2 _ Cung cấp thông tin như Ngành học, có kiến thức, kỹ năng
về lĩnh vực nào đó
3 Hệ thống đưa ra gợi ý
Ludéng sự kiện I _ Hệ thống có thé đưa ra những công việc có thé phù hợp với
thay thế bạn, dựa trên lượt tìm kiếm hoặc công việc quan tâm
Bang 3-12: Đặc ta use case “Goi ý hướng nghiệp ”
11 | Use Case quan lý bảng điểm sinh viên
A Sơ đô Use Case
«extend»
bị Quản ly bang đểm > Nhập và lưu
«extend» diém qua trinh
Hình 3-13: Sơ đô use case “Quản lý bảng điểm ”
Giảng viên
B Đặc tả Use Case
Use Case Quản lý bảng điểm
Mô tả Giảng viên có thê lọc hoặc tìm kiêm sinh viên đê xem, cập nhật
hoặc cho điểm quá trình thực tập
Tác nhân Giảng viên
Điều kiện trước | Giảng viên đang nhập vào hệ thống