AI không chỉ hỗ trợ trongviệc tự động hóa quy trình sàng lọc hồ sơ, mà còn giúp đánh giá ứng viên thông qua sự thể hiện của họ đối với các câu hỏi từ phía nhà tuyển dụng, đảm bảo tính kh
Trang 1ĐẠI HỌC QUÓC GIA TP HÒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHAN MEM
PHAN THANH TÚ - 20522101
HOANG DINH ANH TUẦN - 20522110
KHÓA LUẬN TÓT NGHIỆP
XÂY DUNG WEBSITE QUAN LÝ TUYẾN DUNG
TICH HOP AI DE SANG LOC VA DANH GIA
Building a Recruitment Management Website Integrated AI into
the Screening and Evaluation Process
KY SU/ CU NHAN NGANH KY THUAT PHAN MEM
GIANG VIEN HUONG DAN
TS DO THI THANH TUYEN ThS TRAN THI HONG YEN
TP HO CHÍ MINH, 2024
Trang 2LỜI CẢM ƠN
Trước hết, nhóm chúng em xin gửi lời cảm ơn chân thành đến Trường Đại học
Công nghệ Thông tin — Dai học Quốc gia TP.HCM và các thầy cô trong khoa Công
nghệ Phần mềm đã hỗ trợ chúng em hoàn thành thành công luận văn tốt nghiệp củamình - Xây dựng website quản lý tuyển dụng tích hợp AI dé sàng lọc và đánh giá
Chúng em rất cám ơn cô Đỗ Thị Thanh Tuyền và cô Trần Thị Hồng Yến,những người đã hướng dẫn và cung cấp thông tin, kiến thức quý báu giúp chúng em
hoàn thành thành công luận văn này.
Trong suốt thời gian thực hiện luận văn, chúng em đã đạt được rất nhiều kiếnthức cũng như tiếp xúc với nhiều công nghệ khác nhau Qua đó, chúng em không chỉ
có cơ hội củng có kiến thức mà còn nâng cao năng lực của mình
Ngay cả với sự nỗ lực hết mình, chúng em vẫn khó tránh khỏi những sai sót
trong quá trình thực hiện Chúng em mong đợi góp ý của các thầy cô dé có thé nângcao và hoàn thiện kiên thức của mình.
Chúng em xin chân thành cảm ơn!
Tp.HCM, ngày tháng năm 2024
Sinh viên thực hiện Hoàng Đình Anh Tuan —- Phan Thanh Tú
Trang 3MỤC LỤC
TOM TAT 49.00090117 1Chương 1 MỞ DAU ceececcccsccsscssssssssssessessessessessesssssssssssssvcsessessessessesssssssusaeaeeaeseees 3
1.1 Lý do chọn đề tài 5 5s E2 2112112111111 1111112110112 3
1.2 Mục đích - -Ă-Ă SG 11222111 ngư 4
1.3 Đối tượng St T222 2121211111211211011211 21111 4
In Ca ae 41.3.2 Trong một tổ chứỨc - ¿+ ++s++E£+E£EE£EEEEEEEEEEEEE122121121122 21x 4
1.3.2.0 Chir in 4 1.3.2.2 CONG la aố 4
1.3.2.3 | NIAN VICI 5
1.3.3 Quản trỊ VIÊN 72.c 20011201111 111111 1111101111801 1118111 8k re 5 1.4 Phạm vi nghiÊn CỨU - c2 t9 9 9 ng ng Hà ngành 51.5 Một số sản phẩm liên quan trên thị trường - 2 s2 s+sz+szszzs+e: 6
1.5.1 LinkedÏn cu kh HH HH ng ng ng 6
DI ' đc `1 "Z 7
1.5.3 SmartÑ€CTUIẨ€TS Ăn TH HH ng ngư 71.5.4 So sánh các nền tảng - 25c SE EEEEEE1211211211211211 2111 81.5.5 Điểm mới của để tài s:- 22 t2 Ertrtrrtrtrrrrrrrirrrrirrrried 9Chương 2 CO SỞ LÝ THUYÊT -2- 52 2+EEEEEEEE2E1EE1E2E1211211711211 E2 cre 10
2.1 Quản lý tuyển dụng + 5s St SE E2E1211211211111 1111211111111 re 10
2.1.1 _ Tổng quan về quy trình tuyển dụng -¿-¿©2z+2s++zx+sc+2 102.1.2 Trí tuệ nhân tạo trong tuyển dụng -2- 2 s+cxccxcEzEzEzrerreee 11
2.1.2.1 Lợi ích của AI trong tuyến dụng -. ¿ s¿©5+2s+ccscsze2 112.1.2.2 Ứng dung trí tuệ nhân tạo vào tuyển dung 12
2.1.3 Sang lọc và đánh giá Ứng vIÊn - + c St *+ vsEvserserrserrsreree 12
2.1.3.1 Khái niệm - Ăn ng ng ni, 12
2.1.3.2 BO tiêu chí sàng lỌC - St SS SH rkg 12
2.1.3.3 BO tiêu chí đánh gI1á - set, 13
Trang 42.1.3.4 Cách xây dựng bộ tiêu chí - 5 s5 s + *+svexsserseeereesre 13
“2N vn e 13
2.2.1 Tổng quan về ReactJS ¿5+ s+E2EEEEEEEEE1221221211211 2121 xe, 132.2.2 Ưuđiểm che 142.2.3 Nhược điểm tre 142.3 MOngoDB 1 14
2.3.1 Giới thiệu về MongoDB c- se se xe EEEE1E11E21211211 2E 142.3.2 Ưuđiểm ă nhe 152.3.3 Ưuđiểm ch he 152.4 Hệ thống khuyến nghị tích hợp với Recombee — Recommender as a
2.4.3.1 _ © 5 (0) thiỆU LH HH nhiệt 18
2.4.3.2 Ưuđiểm che 192.4.3.3 Nhược điểm -ccntrnhhrrrrrrrrrrirrrrrie 19
2.4.3.4 Cách hoạt động của Recombee - + ssccsssvsseesereres 19
25 LUM na 21
2.5.1 Khái niỆm - cv TT TT nh TT như 21
2.5.2 Các hạn chế của LLM .-c+c+cctrrrkrrrrkirrtrrirrrrrrirrrrk 212.5.3 Cải thiện LLM sử dung Prompt EngIneerIng -ss+ss s52 21
2.5.3.1 Zero-shot Prompting ce eceesesceeseeeeeeseeneeseeeseeeeeeeeeseeeseeeeeas 22
2.5.3.2 Few-shot Prompting ccceecceccceeseceeceeneeeeeceeeeeeeeeeeeenseeeeaeeees 22 2.5.4 Cải thiện LLM sử dung RAC - Ăn He 23
Trang 52.5.4.1 Retriever trong RAC - c v1 SH 1 11 1x ren 252.5.4.2 Truy xuất dữ liệu -¿52+E+EEESEEEEEEEEEEEEEEE22E2Erxee 262.5.4.3 Generator trong RAC cty rệt 272.5.5 _ Triển khai Prompt Engineering va RAG trong đề tài 28
2.5.5.1 Triển khai Prompt Engineering 2 scx+cs+cz+zzzzzsez 28 2.5.5.2 Cơ sở dit liệu vector Qdran - 55-552 +2<+++seesssexss 292.5.5.3 Triển khai RAG c2 30Chương 3 PHAN TÍCH THIET KE HE THÓNG 2-2 s2 +2 +z+s+ 31
3.1 Phan tích xác định yêu cầu bài toán + c5 xe£xeEeEzEzrzreres 31
3.1.2 Yêu cầu chức nang (functional requiremen†) 2-2 2 +: 323.1.3 Yêu cầu phi chức nang (functional requirement) - 2- +: 333.2 Kiến trúc hệ thống -¿-:+2k+2EktEEEEEEEEEEEEkrErrrrrrerrre 33
3.2.1 _ Kiến trúc tổng quan -¿- 2+222E2+E£EE£EEEEEEEEEEEEEEEEErrrrrrreee 333.2.2 Kiến trúc phía client : c¿©-c+2+++cx++rx+rxrsrxerreerkree 343.2.3 Kiến trúc phía seTrV€r 7-5222 E2 2EEEEEErErrrkerreei 353.3 Sơ đồ Use case cc 22 2c 2t TH HH T121 1kg 36
3.3.1 Sơ đồ Use case cấp độ hệ thống -2- 2 s2E22EEtEEtzEzrrerxree 363.3.2 Sơ đồ Use case cấp độ tô chức -+c++ck+txt2E2Exerkerkrrkerkees 373.3.3 Danh sách ACfOT - cty 38
3.3.4 Danh sách Use CaS€ - Q2 St SS n1 TH HH tr rệt 383.3.5 Mô tả chi tiết các USC CASC oo eeceececesssessessssssessessesssessessesssetsessessesseeesess 41
3.3.5.1 Use case Xem portfolio ec cecccsseeeseeeseeeseesseeeseeeseesseeenaees 41
3.3.5.2 Use case Xem chi tiết công viỆC - 22 z+cxsrxrrrrxerxee 423.3.5.3 Use case Tìm kiếm người dùng khác 2- 2 zcs+cz+s+ 423.3.5.4 Use case Dé lại lời giới thiệu esseesesesesteseseseens 433.3.5.5 Use case Ứng tuyÊn - +22 2 2212112111121 1e crxe 443.3.5.6 Use case Làm bài kiỂm tra -ccccccccrvrrrrkrrrrrrrrrrrk 443.3.5.7 Use case Chat với chatbot scccccsssssirsrirerrrrrrke 45
Trang 63.3.5.8 Use case Thiết lập hỒ SƠ - ¿5c tt EEEEEEEErrerrei 46
3.3.5.9 Use case Tạo dự áñ c1 11 S S11 n ng kg rẻ 47
3.3.5.10 Use case Tạo dự án VỚI AÌ -22-ccSSSSSS2 2 ksessseeree 473.3.5.11 Use case Thiết lập hồ sơ với AI - 2 + x+cx+Ezrzrzrres 48
3.3.5.12 Use case Cải thiện CV với AÌ - 525 < + + +2 +++esccszeeeces 49
3.3.5.13 Use case Tao Portfolio với Template có sẵn - 49
3.3.5.14 Use case Dang ký gói trả phí cá nhân -5 55+ <+<ss+++ 503.3.5.15 Use case Tao & thiét lap Tổ CHUC 2 eceecccsesecessesececstssecsveeecseeeeens 513.3.5.16 Use case Dang ký gói trả phí tổ chức - 2 z+cz+cs+e+ 513.3.5.17 Use case Quản Ly VÍ - -c- Ăn ng ngư 52 3.3.5.18 Use case Quản lý người dùng - -.- 5c ccssssersseesseeres 533.3.5.19 Use case Phân tích và thống k6 cccececcsceessessessessesesestesesees 533.3.5.20 Use case Xử lý vi pham oe ee ecceeeeeeeeteeeeeseeesneeeeaeenees 543.3.5.21 Use case Xem thông tin tô chức và thời gian gắn bó 543.3.5.22 Use case Đăng bài tuyên dụng - 2: -¿+c<+cxczxzrxsrxersee 55
3.3.5.23 Use case Tạo sinh mô tả công việc với AÌ - -‹ -+: 56
3.3.5.24 Use case Quản lý Ứng VIÊN - 2c S31 ssvrseerseeeres 563.3.5.25 Use case Xem tóm tat va phân tích câu trả lời qua AI 57
3.3.5.26 Use case Xem độ phù hợp qua AL -. ++-x++ex++sx++2 58 3.3.5.27 Use case Đánh giá Ứng VIED eee eeceeceeseeseeeseeeseeseeeeesseeeeees 58 3.3.5.28 Use case Tao các câu hỏi audio, MCQ, code - 59 3.3.5.29 Use case Tao các bai đánh giá năng lực ‹ -+- 60
3.3.5.30 Use case Tìm kiếm ứng viên tiềm năng - 2-2 2+cz+s¿ 613.3.5.31 Use case Thống kê bài đăng tuyển dụng - 2-5 5e¿ 613.3.5.32 Use case Quản lý vai trò các thành viên tô chức 62
SN Activity diagram na “ 1ẦŨỤ7Ồ 63
3.4.1 Activity diagram Tìm kiếm người dùng khác - 2 +: 63
3.4.2 Activity diagram Ứng tuyỂn ¿- + s2 2E E2 2E 633.4.3 Activity diagram Làm bài kiểm tra - 2: 5¿©cz+c++zxtzxczrserxees 64
Trang 73.4.4 Activity diagram Tạo sinh nội dung với Ạ - ‹ -s++s<s52 64 3.4.5 Activity diagram Chat với chatbOf -. 52+ S+s*+sxsserseesrereres 653.4.6 Activity diagram Kiểm tra độ phù hợp giữa ứng viên và cơng việc 653.4.7 Activity diagram Goi ý ứng viên tiềm năng 2 2 2 +: 66
3.4.8 Activity diagram Cải thiện CV với AÌ], 52c cScccscxsessereses 66
3.4.9 Activity diagram Đăng bài tuyển dụng -2- 2 s+cs+czcezceee 67S5 na 67
3.5.1 Sequence diagram Tìm kiếm người dùng khác - - +: 673.5.2 Sequence diagram Ung tuyén - ¿- -+sckeExeEeEEExeEeErrrrreee 683.5.3 Sequence diagram Làm bài kiểm tra c cecccccccsssesssssstesseesseestessteeseees 693.5.4 Sequence diagram Tạo sinh nội dung với AÌÏ « -«<+ 70 3.5.5 Sequence diagram Chat với chatbot 55-55 ++s++ss+ssex+sss2 713.5.6 Sequence diagram Kiểm tra độ phù hợp giữa ứng viên và cơng việc 723.5.7 Sequence diagram Gợi ý ứng viên tiềm năng - 2-2: 733.5.8 Sequence diagram Cải thiện CV với AÌ -cc+-c+c++eesees 743.5.9 Sequence diagram Đăng bai tuyển dụng - 2 s+cz+cz+cee: 753.6 Thiết kế cơ sở dữ liệu - ccccccttittttirtrttiirrrririerrirrrrieg 76
3.6.1 Database schema - - 2 St St * SE SH HH riệp 76
3.6.2 User schema c6 tt 91 9v vn ng như 77
Trang 8SG SÐN h9) n6 85 3.6.3.11 Bang AnswWet ceceeccescccescceeneceseeceecesseceneecsaeeeseeceeeeseeeteeeeaees 87 3.6.3.12 Bang ASSCSSMENL n6 e 88 3.6.3.13 Bang TakeASssessment ccccccccceseeeseeeseceeseeeseeeeeeeeseeeseeensees 89
3.6.3.14 Bảng Interaction ccccccccesesseeseceeesseeseeeseeseeeseceeeeneeneeeseeneeees 89
Chương 4 XÂY DUNG UNG DỤNG 2-52 SxeEE£EEeEEEEEEEEExrrrrrerree 90
4.1 Cac màn hình phía cá nhân - ¿+ 2+2 +2E*+E++£EE+EEEeeeereereeeerrss 90
4.1.1 Man hình Profile - 5S Sx SH HH ng như 90
4.1.2 Man hình Tạo sinh dự án với AÌ «55552255 scc+essseeees 90 4.1.3 Man hình Chhat 2 S122 k* SH HH HH HH th rệt 914.1.4 Màn hình tim kiếm cơng Vi8c c.ccscescesessessessessessessessessesessesesesesees 9]4.1.5 Man hình Apply JOD ¿ c5 c1 1131 135118111111 eerkre 92 4.1.6 Màn hình PortfỌIO 2c S2 + E+ESEEsEEErrrrersrerrrerrrrrke 924.1.7 Màn hình Làm bài kiểm tra 2-2: ©5¿+2++2x+2E+E++zxerxzreerxees 934.1.8 Màn hình Wallet -.cScL S2 S SH HH HH ệt 93 4.2 Các màn hình phía tổ chức - 2-2 2+s++E+E£+E££E£EEeEEererxrrerrerree 94
4.2.1 Man hình Setup new job c5 2c 3 1S Esekesererereeee 944.2.2 Màn hình Job detail phía Tổ chức - - 2 2 s+x+£++E++E++E++xeez 94
4.2.3 Màn hình Gợi ý ứng viên tiềm năng 2 scs+cs+cz+zs+ceee 95
4.2.4 Màn hình Application đefalÌ + sss + s* + kEssksseeeseeesreereeee 95
4.2.5 Man hình Create aSS€SSIN€TI 222 S2 * + SsEEsersrerrrrrrerke 96 4.2.6 Màn hình Create que€StIOTI - 5c 31k ESkSiEseirerrreree 96
4.2.7 Man hình Team metm€[ - 5 22 E3 E 2 ESEEEsEEsseEseerskesrke 97
4.3 Các màn hình phía Quản tri VIÊN 55c 32t EsEveersrrrsrerrrrerke 97
4.3.1 ẽ ca con 97
4.3.2 Màn hình quản lý S€T - G2321 13321 E35EEEEEEEErrrrersre 984.4 Các liên KEt ese eeesseeeessseeesssecessneeessseesssneecssnseessunesssneeesssneessneessnness 98KET LUAN 00213557 99TAI LIEU THAM KHAO eeeccccccscsssscsesesscscsesucecsesucecsesucecsveueacsvetsacsvereataveeeteeeees 101
Trang 9DANH MỤC HÌNH
Hinh 1.1: Limkedin 0n“ 6
I00:08280 5 1 4 7
Hinh 1.3: SmartRecruiters TT 7Hình 2.1: Quy trình tuyển dụng trong doanh nghiệp -2-¿ ¿5+2 11Hình 2.2: RaCfJS - - HH TH HH HH TH HH HH nhờ 13 Hình 2.3: mongol) - c Sc 3321132111931 11911 191111111 1111 111 1111 1H 1H ng ng 14 Hình 2.4: Phân loại hệ thống khuyến nghị 2-2 2+ +S+E££EeEE£EE+EzEzzxzreez 15 Hình 2.5: Minh họa độ tương đồng cosine 2-2 2+s+xeEEeExeEEEEeExrErrrrrreg 17 Hinh 2.6: 4v 4353 18
Hình 2.7: Cách hoạt động của Recormbee ¿5c + 2+ *+*+vvsersrrrsrrrrrerke 20 Hình 2.8: Mô hình CÏaUde ¿- +2: 2c St 1201211511511 11112 TT TT Tnhh ng 21
Hình 2.9: Ví dụ về zero-shot prompting (Mô hình GPT 4o) : : s:¿ 22 Hình 2.10: Ví dụ về few-shot prompting (Mô hình GPT 4o) - 2+: 22
Hình 2.11: Vi dụ về Few-shot, Few-shot CoT, Zero-shot và Zero-shot CoT 23Hình 2.12: Cách hoạt động cơ bản của R A, - csc+Sc + sstsirserrsrrrsrrerke 24Hình 2.13: Quy trình đánh dau chỉ mục đữ liệu (indexing data) - 25Hình 2.14: Quy trình nhúng truy van của người dùng 2 25s z2 +22 26Hình 2.15: Ví dụ về nhúng dit liệu thành biểu diễn sparse Vector -.- 27
Hình 2.16: Quy trình tao câu trả lời trong RAG - ¿+ S- + + xssserrsersereres 28
Hình 2.17: Prompt được sử dụng trong chatDOt - . 55 + + + *ssvxseeeseeerss 29 Hình 2.18: Cơ sở dữ liệu vector QQdrarnt - - 5 2c 33221332 E+EEEsvEseeeeseeers 30Hình 2.19: Triển khai RA -2¿-222+t2E2vtt2E treo 30Hình 3.1: Kiến trúc hệ thống +19 xệSE9EE9EE2EE2EE2E2E711111111111221 21 1e, 33Hình 3.2: Kiến trúc phía clientt - ¿+2 s+E2EE+EE£EEEEE2EEEEEE7E2E1271 71.21 xcrve 34Hình 3.3: Kiến trúc phía S€TVeT - ¿2-21 SE+EE2EE2E12E12E712171211121111 121 35Hình 3.4: Sơ đồ Use case ở cấp độ hệ thống " 36Hình 3.5: Sơ đồ Use case cấp độ t6 chức - +: + ++++z+Ex+2E2E2Exerkerrrrrkerxee 37Hình 3.6: Activity diagram Tìm kiếm người dùng khác - 2-2 z2 25+: 63
Trang 10Hình 3.7: Activity diagram Ứng tuyỄn ¿- 2 2 2+ E£EE£EEEEEEEEEEEEEEEkrrkrrrrree 63Hình 3.8: Activity diagram Làm bài kiỂm tra - 2-2 2+ 2+Ez+Eerxzrzrxerxee 64Hình 3.9: Activity diagram Tao sinh nội dung với Ạ - ‹ ++++s<++ss++ss 64 Hình 3.10: Activity diagram Chat với chafbOf c 5c 33223322 xseeeseeersss 65 Hình 3.11: Activity diagram Kiểm tra độ phù hợp giữa ứng viên va cơng viéc 65
Hình 3.12: Activity diagram Gợi ý ứng viên tiềm năng 2-2 sec: 66Hình 3.13: Activity diagram Cải thiện CV với AÌ 7-5 325 * + +seexeseeess 66Hình 3.14: Activity diagram Đăng bài tuyển dung c.cececsessessessesesesesesteseeees 67Hình 3.15: Sequence diagram Tìm kiếm người dùng khác - 2-2 +: 67Hình 3.16: Sequence diagram Ứng tuyền ccccscssscsssesssesssesssessessesssesssesssessesseeees 68Hình 3.17: Sequence diagram Làm bài kiểm tra c cececcsscssessessessessessessessesesseseesees 69Hình 3.18: Sequence diagram Tao sinh nội dung với AÌ 5+ ++ss+++s+ 70 Hình 3.19: Sequence diagram Chat với chafbOf 5c 5+ + ssssksersersersres 71Hình 3.20: Sequence diagram Kiểm tra độ phù hợp giữa ứng viên va cơng việc 72Hình 3.21: Sequence diagram Gợi ý ứng viên tiềm năng 22-552 73Hình 3.22: Sequence diagram Cải thiện CV với AÌ 55+ + s+sx+sssersxs 74Hình 3.23: Sequence diagram Đăng bài tuyển dụng - 2 + scs+c++xzxeez 75Hình 3.24: Database Schema .- - L2 St SSS** HH HT HH rệt 76
Hình 3.25: User Schema - - + t1 212 2 11g ng nh nh ng ni, 77
Hình 4.9: Màn hình Setup new JOb - c2 11 v1 HS HH TH ng ky 94
Hình 4.10: Màn hình Job detail phía Tổ chức - 2 s2 +52+z+z++zxzzzzxzzxez 94
Trang 11Hình 4.11: Màn hình Gợi ý ứng viên tiềm năng 5- 5c sccxcc+z£zEzrrxezHình 4.12: Màn hình Application detaIÌ - - s- + + *vEEsEseesersersrsrrkrs Hình 4.13: Màn hình Create asSeSSfmennf - - - << << + + 1 E11 EEEEEEEEEekeeeeeszzzzsz Hình 4.14: Màn hình Create queStIOTI c5 2 2323323113232 EEEExerre Hình 4.15: Man hình Team member - 5 2+3 32233 *+EE+EEEseeeereerreerrrree Hình 4.16: Màn hình Repott - . - - G20 122111321113111 19 11191119 1111111 g v ny rry Hình 4.17: Màn hình Quản ly User
Trang 12DANH MỤC BANG
Bảng 1.1: So sánh các nền tảng 2¿- 5: ©2S2229232221221211221127112711211211 212 1e 8
Bảng 3.1: Danh sách các ACẦOT - ¿+2 321112112112 11111E11 1111111 1 11x rke 38
Bảng 3.2: Danh sách se Case - 2c 201221111211 11111 11 11101111 1118111 111 vn rry 38 Bảng 3.3: Bang mơ ta Use case xem pOTfỌ1O 5 5+ 5+ + + Ssksesrrserserres 41Bang 3.4: Bang mơ ta Use case xem chi tiết cơng viỆc 2-2 s2 z+cz25z+: 42Bang 3.5: Bang mơ tả Use case Tìm kiếm người dùng khác -: 42
Bang 3.6: Bảng mơ tả Use case Dé lại lời giới thiệu -. 2- 2-52 252255: 43
Bảng 3.7: Bảng mơ tả Use case Ứng tuyỀn 2-5 52 teEEe£E2E2ExeEEerErrxerxee 44Bang 3.8: Bang mơ tả Use case Làm bài kiểm tra - ¿2c 5 s22 44
Bang 3.9: Bảng mơ tả Use case Chat với chafbOf - c 55c 32c ‡ssvxssrsersres 45
Bang 3.10: Bảng mơ tả Use case Thiết lập hồ sơ ¿2 2 s522£+2£z2£z25z+2 46Bang 3.11: Bang mơ tả Use case Tạo dự án c5 2c + ssiirsrrseres 47 Bảng 3.12: Bảng mơ tả Use case Tạo dự án với Ạ -ccc+cssvxseerserexes 47Bang 3.13: Bang mơ tả Use case Thiết lập hồ sơ với AI - 2-2-2 2552: 48Bảng 3.14: Bang mơ ta Use case Cải thiện CV với AI 5-5 S +2 49 Bang 3.15: Bang mơ tả Use case Tạo Portfolio với template cĩ sẵn 49 Bảng 3.16: Bang mơ ta Use case Dang ký gĩi trả phí cá nhân - 50Bảng 3.17: Bảng mơ ta Use case Tao & Thiết lập tổ chức - -: 5¿ 51Bang 3.18: Bảng mơ ta Use case Đăng ký gĩi tra phí tổ chức -: 51Bảng 3.19: Bảng mơ ta Use case Quản LY VÍ c1 2c 1323 se 52 Bảng 3.20: Bang mơ ta Use case Quan lý người dùng 5-5555 ++s+s2 53Bang 3.21: Bảng mơ ta Use case Phân tích và thống kê - 2-2 22 2 2+: 53Bảng 3.22: Bang mơ ta Use case Xử lý Vi phạm - 525 S2 *+++svrsessersrke 54Bang 3.23: Bảng mơ ta Use case Xem thơng tin tổ chức và thời gian gắn bĩ 54
Bang 3.24: Bảng mơ ta Use case Đăng bài tuyển dụng - 2z: 55 Bang 3.25: Bang mơ ta Use case Tạo sinh mơ tả cơng việc với AI 56 Bảng 3.26: Bang mơ ta Use case Quản lý Ứng vIÊn -. 55+ S+sc+svxssexsersres 56Bảng 3.27: Bảng mơ ta Use case Xem tĩm tắt và phân tích câu trả lời qua AI 57
Trang 13Bảng 3.28:
Bảng 3.29:
Bảng 3.30:
Bảng 3.31:
Bảng 3.32:
Bảng 3.33:
Bảng 3.34:
Bảng 3.35:
Bảng 3.36:
Bảng 3.37:
Bảng 3.38:
Bảng 3.39:
Bảng 3.40:
Bảng 3.41:
Bảng 3.42:
Bảng 3.43:
Bảng 3.44:
Bảng 3.45:
Bang 3.46:
Bang 3.47:
Bang 3.48:
Bang mơ ta Use case Xem độ phù hop qua Ạ ‹ «<5 58
Bảng mơ ta Use case Đánh gia Ung VIÊN 55c + *++s+scs+ssxx 58
Bảng mơ ta Use case Tạo các câu hỏi audio, MCQ, code 59
Bảng mơ ta Use case Tạo các bài đánh giá năng lực 60
Bang mơ ta Use case Tìm kiếm ứng viên tiềm năng 61
Bang mơ ta Use case Thống kê bai đăng tuyển dụng - 61
Bang mơ tả Use case Quản lý vai trị các thành viên tổ chức 62
M6 ta User oo - 5ẠạL.1.1¬ăă sẽ 78 M66 ta s14): 8n 79
M6 ta Portfolio ec 1a 80
MG ta LINK 80
Mơ tả Project co WPrece ice ssaxamtM 00 .cscsseccseecesercsssessnceseneseeees 80 INS, COR M0) c0 81
\/Dr89)y$2)0y⁄215000000000107 82
ý: 83
lê 1›)0)0/08 0/ 6 1 84
MG r N6) ` ai1iản na 85
Mơ tả ANSWEL 1 ceseescecescceeneeeececsscesseecececeaeessaeceaeessaeescessaeessaeeeeeesates 87
Mơ tả ASS€SSIN€TIE - G2 01T TH nh ng HH 88
Mơ tả TakeA sS€SSIm€TIĂ G1 ng ng ng ng ng Hư 89
Mơ tả Ïnferacfion - - - S222 2221253033511 1 1111 HH5 11k k kg 89
Trang 14DANH MỤC TU VIET TAT
Từ viết tắt Từ day đủ Giải thích
UI User Interface Giao diện người dùng
UX User Experience Trải nghiệm người dùng
AI Artificial Intelligence Tri tué nhan tao
LLM Large Language Model Mô hình ngôn ngữ lon
; Tạo sinh tăng cường truy xuất Một
Retrieval-Augmented „ RAG ; phuong phap dé nang cao kha nang
Generation
cua LLM
DOM Document Object Model | Mô hình các đối tượng tài liệu
Đầu vào/đầu ra Trong trường hợp
ƯO Input/Output của luận văn, nó là việc xử lý đọc và
ghi trên 6 đĩa
Hệ thống quản lý các phụ thuộc củaNPM Node Package Manager
NodeJS.
Relational Database ; ; RDBMS Hệ quan tri co sở dữ liệu quan hệ
Management System
CV Curriculum Vitae Hồ sơ việc lam
DB Database Cơ sở dữ liệu
; Loc dựa trên nội dung Một kỹ thuật
CBF Content-based filtering , ,
trong hệ thông khuyên nghi.
; Mot ky thuat trong Prompt CoT Chain of Thought
Engineering
Trang 15TOM TAT KHÓA LUẬN
Đề tài "Xây dựng website quản lý tuyển dụng tích hợp AI dé sàng lọc và đánhgiá" nhằm mục tiêu phát trién một nền tảng website giúp thu hút ứng viên chất lượng,kết nối họ với nhà tuyển dụng và các ứng viên khác, đồng thời nâng cao hiệu quảtuyển dụng bằng cách tối ưu hóa quy trình tuyên dụng, giảm cả thời gian và chi phíliên quan đến tuyên dụng Nền tảng này sẽ giúp tiếp cận và sàng lọc hồ sơ ứng viên
hiệu quả, đánh giá ứng viên khách quan và chính xác.
Hệ thống tập trung vào giai đoạn đầu của quy trình tuyên dụng, bao gồm: tìm
kiếm ứng viên, sàng lọc ứng viên và đánh giá ứng viên Website hỗ trợ các chức năng
cho ứng viên như tạo hồ sơ với AI, tìm kiếm việc làm, cải thiện CV, ứng tuyển và
làm bài kiểm tra Về phía tổ chức, website sử dụng AI để sàng lọc và đánh giá hồ sơứng viên, tạo câu hỏi, tạo các bai kiểm tra, cộng tác để đánh giá Ứng viên, tim kiếmứng viên tiềm năng
Nhờ việc lên kế hoạch hiệu quả, đưa ra các quyết định phù hợp trong quá trìnhthực hiện, nhóm đã phát triển thành công website trong thời gian cho phép Phươngpháp thực hiện bao gồm phân tích va tìm hiểu qua các trang web tuyên dụng Về phancông nghệ, nhóm sử dụng ReactJS, NodeJS, ExpressJS và cơ sở dữ liệu vớiMongoDB Về các phan liên quan tới trí tuệ nhân tạo, nhóm sử dung OpenAI, sửdụng cùng với các dịch vụ của bên thứ ba như Assembly AI, và sử dụng các kỹ thuậttạo lời nhắc (Prompt Engineering) và tạo sinh tăng cường truy xuất (Retrieval-Augmented Generation) Kết quả mong đợi là xây dựng website hoàn chỉnh đáp ứngyêu cầu người dùng, sẵn sàng áp dụng trong thực tế
Trang 16Báo cáo này được chia thành 4 chương chính và phần Kết luận:
Chương 1 Mở đầu: Giới thiệu đề tài, lý do chọn đề tài, mục đích nghiên cứu,đối tượng sử dụng, phạm vi nghiên cứu và một số sản phẩm trên thị trường
Chương 2 Cơ sở lý thuyết: Tập trung vào cơ sở lý thuyết về quy trình tuyểndụng, các công nghệ được sử dụng trong dé tài như ReactJS, NodeJS, ExpressJS,MongoDB, cũng như các công nghệ liên quan đến trí tuệ nhân tao
Chương 3 Phân tích thiết kế hệ thống: Đề cập đến phân tích và thiết kế hệthống, bao gồm phân tích yêu cau, thiết kế kiến trúc hệ thống và cơ sở dit liệu
Chương 4 Xây dựng ứng dụng: Mô tả quá trình xây dựng ứng dụng, tổngquan về giao diện trong ứng dụng và giới thiệu chỉ tiết các màn hình được xây dựng
Ket luận: Nêu lên ket quả đạt được, các ưu điêm, nhược điêm của sản phâm
và các đề xuất phát triển trong tương lai
Trang 17Chương 1 MỞ ĐẦU
1.1 Ly do chọn đề tài
Trong thị trường việc làm luôn thay đổi và biến động, việc tìm kiếm và tuyểndụng nhân sự nhân viên xuất sắc ngày càng trở nên quan trọng Đặc biệt, các ngànhcông nghệ thông tin và kỹ thuật đang chứng kiến sự thay đổi nhanh chóng về nhu cầu
và nguồn lực Số lượng nhân sự bị sa thải trong lĩnh vực này gia tăng một cách chóng
mặt.
Các doanh nghiệp hiện đang cần phải sàng lọc và đánh giá ứng viên một cáchhiệu quả, đồng thời giữ chi phí và thời gian mức tối thiểu Trí tuệ nhân tạo (AI) nổilên như một giải pháp hiệu quả để giải quyết vấn đề này AI không chỉ hỗ trợ trongviệc tự động hóa quy trình sàng lọc hồ sơ, mà còn giúp đánh giá ứng viên thông qua
sự thể hiện của họ đối với các câu hỏi từ phía nhà tuyển dụng, đảm bảo tính kháchquan và hiệu quả.
Không chỉ các doanh nghiệp mới cân phải cải thiện, mà bản thân ứng viên cũng cân cải thiện bản thân dé đáp ứng nhu câu ngày càng cao của thị trường Cac ứng viên cân trau dôi thêm kiên thức, kỹ năng và kinh nghiệm làm việc đê tăng cơhội được tuyển dụng
Nhằm đáp ứng nhu cầu cấp thiết của thị trường, đề tài "Phát triển website quản
lý tuyên dụng tích hợp AI dé sàng lọc và đánh giá" đã ra đời Mục tiêu chính là tạo ra
một nền tảng tuyên dụng thông minh, giúp doanh nghiệp và ứng viên kết nối một
cách hiệu quả và tiện lợi Bằng cách ứng dụng công nghệ AI, hệ thống sẽ tăng tốcquá trình sang lọc và đánh giá hồ sơ, mang lại sự thuận tiện cho cả nhà tuyển dụng
và ứng viên Cách tiếp cận này không chỉ nâng cao chất lượng tuyên dụng mà còn hỗ
trợ ứng viên trong việc cải thiện hô sơ và tìm kiêm cơ hội việc làm phù hợp.
Trang 181.2 Mục đích
e Phát triển một nền tảng website giúp thu hút ứng viên chất lượng
e Giúp ứng viên kết nối với các nhà tuyên dụng và các ứng viên khác
e Tăng hiệu quả trong tuyển dụng
e Giúp tiếp cận và sàng lọc hồ sơ ứng viên hiệu quả, đánh giá ứng viên khách
quan và chính xác.
e - Hỗ trợ ứng viên trong việc tìm kiếm việc làm, cũng như giúp đánh giá và cải
thiện hồ sơ của ứng viên
1.3 Đối tượng
1.3.1 Cá nhân
Là những cá nhân Họ có thê là những ứng viên, người sử dụng nên tảng với
mong muôn tìm được công việc phù hợp với kỹ năng, kinh nghiệm và sở thích Hoặc
ho có thê là những người muôn ket nôi với những người có chung định hướng, sởthích trong công việc Họ cũng có thé là các chủ doanh nghiệp, tô chức
1.3.2 Trong một tổ chức
1.3.2.1 Chủ sở hữu
Là người có quyền cao nhất trong một tổ chức Đây có thé là chủ sở hữu doanhnghiệp trong thực tế, hoặc có thé là trưởng bộ phận tuyển dụng Chủ sở hữu có quyềnthêm, xóa và thiết lập vai trò cho các thành viên trong tổ chức Họ có thể sử dụng tất
cả tính năng được cung cấp trong một tổ chức
1.3.2.2 Cộng tac viên
Là những người cộng tác với chủ sở hữu Họ trở thành cộng tác viên khi chấp
nhận lời mời tham gia từ một chủ sở hữu Họ có thé sử dụng hau hết tinh năng trong
quy trình tuyên dung, bao gồm đăng tải bài viết, tìm kiếm ứng viên, tuyển chọn vàđánh giá ứng viên; tham gia vào việc tạo các câu hỏi tuyển dụng hoặc các bài đánhgiá; cộng tác với những cộng tác viên khác.
Trang 191.3.2.3 Nhân viên
Là những người đã vượt qua quá trình tuyên chọn hoặc nhận lời mời tham gia
từ tổ chức, trở thành một nhân viên trong tô chức Những nhân viên hợp đồng bị giớihan sử dụng các tính năng trong tô chức, họ chủ yếu có thé xem các thông tin về tổchức và thời gian gắn bó
1.3.3 Quản trị viên
Là người quản lý hệ thống trang web tuyển dụng Người quản trị viên có quyềncao nhất, có thê thiết lập và cau hình các thuộc tinh của hệ thống, đảm bảo trang webhoạt động ôn định và hiệu quả Quản trị viên có trách nhiệm hỗ trợ người dùng Quảntrị viên có thể xem phân tích hoạt động website, đồng thời chịu trách nhiệm cho việc
nâng cấp và phát triển trang web.
1.4 Pham vi nghiên cứu
e Nén tảng hỗ trợ: Triển khai trên website
e Chức năng:
o Cá nhân:
« Sử dụng Chatbot AI.
" Tao hồ sơ
« Tự động tạo ra một SỐ thông tin cơ bản băng Al.
* Tim kiếm việc làm và kết nối với những người khác trên nền tảng.
- Su dụng AI dé cải thiện CV
Ứng tuyên và làm bài kiểm tra
« Dé lại đánh giá, lời giới thiệu trên trang hồ sơ của cá nhân khác
« Tao ra trang hồ sơ dựa trên các mẫu có sẵn
» _ Thiết lập ví và đăng ký gói trả phí
« Bao cáo các bài đăng tuyên dụng có vi phạm
* Tao và thiết lập tô chức
Trang 20o_ Trong một tô chức:
“_ Sử dụng Chatbot AI.
« Ding tải bài viết tuyển dụng
« Su dụng AI dé sàng lọc và đánh giá dựa trên hồ sơ của ứng viên
« Tao các câu hỏi dang âm thanh, ghi nhận câu trả lời ứng viên va sử
dụng AI dé tóm tắt các ý chính
" Tạo các bai thi, bai đánh giá năng lực cho ứng viên.
- _ Cộng tác giữa những người phỏng van đề đánh giá ứng viên
« Tim kiếm ứng viên tiềm năng
- _ Thiết lập ví và đăng ký gói trả phí
- Phan tích, thống kê các bài đăng tuyển dụng và ứng viên
« Bao cáo các ứng viên có hành vi độc hai, phá hoại.
© Quan tri viên:
» Xir lý các báo cáo và hỗ trợ cho người dùng.
Linkedff
Hình 1.1: Linkedin!
vién.
! https://en.m.wikipedia.org/wiki/File:LinkedIn_2021.svg
Trang 211.5.2 Indeed
Ra mắt vào năm 2004, Indeed là nền tảng tìm kiếm việc làm hàng đầu trên thếgiới Với cơ sở dir liệu phong phú, người dùng có thé khám phá cơ hội việc làm từnhiều nguồn khác nhau, bao gồm trang web công ty và bảng tin tuyển dung Indeedcung cấp các tính năng như tạo hồ sơ và thông báo việc làm, cho phép ứng viên khám
phá công việc lý tưởng của mình một cách hiệu quả và dễ dàng.
Trang 221.5.4 So sánh các nền tảng
Bảng 1.1: So sánh các nén tảng
Tim kiém So lượng công việc Có công cụ tìm kiêm Công cụ tìm kiêm
việc làm đồ sộ, tích hop với | việc làm với hệ việc làm hạn chế,
mạng xã hội thống khuyến nghị | không có cá nhân
hóa cho người dùng
Mạng lưới Có mạng xã hội Thiếu các tính năng | Thiếu các tính năngkết nối chuyên nghiệp, liên quan tới kết nối | liên quan tới kết nối(networking) | rộng lớn giữa các người dùng | giữa các người dùng
Theo dõi Các tính năng cơ Các tính năng cơ ATS hỗ trợ nhiều
ứng viên bản của ATS bản của ATS tính năng
AI trong quy | Hạn chế ở việc tìm | Hạn chế ở viéc tim | Ap dụng AI để tìm
trình tuyển | kiếm kiếm kiếm nguồn ứng
dụng viên và đánh gia ứng
viên
AI tạo sinh | Tích hợp AI tạo Không có tính năng | Không có tính năng
sinh vào việc tạo
Báo cáo phân tích
nâng cao, đầy đủthông tin
Trang 231.5.5 Diém mới của đề tài
Đề tài có nhiều điểm mới và ưu điểm nỗi bật so với các sản phẩm hiện có nhưLinkedIn, Indeed, và SmartRecruiters:
e Sang lọc bằng âm thanh và đánh giá bang AI: Hệ thống cho phép sàng lọc
ứng viên qua câu hỏi âm thanh và dùng AI dé đánh giá, nâng cao độ chính xác
và tạo trải nghiệm chân thực hơn.
e _ Tích hợp các bài kiểm tra: Cung cấp công cụ tạo bài kiểm tra, giúp nhà tuyên
dụng kiểm tra ứng viên toàn diện mà không cần nền tảng bên thứ ba, tạo trải
nghiệm liền mạch.
e Áp dụng AI tạo sinh: Hệ thống sử dung AI dé tạo chatbot, công việc, dự án
và hỗ sơ, tiết kiệm thời gian và đảm bảo thông tin chính xác
e Trang portfolio cá nhân: Ứng viên có thé tạo trang portfolio, gây ấn tượng
với nhà tuyển dụng Hệ thống hỗ trợ nhiều mau portfolio khác nhau và chophép tuỳ chỉnh thông tin cũng như các bộ màu.
Trang 24Chương 2 CƠ SỞ LÝ THUYET
2.1 Quản lý tuyển dụng
2.1.1 Tổng quan về quy trình tuyến dụng
Quy trình tuyển dụng là một thứ phổ bién mà nhiều doanh nghiệp, tổ chức cầnphải có Mỗi một doanh nghiệp, tổ chức sẽ có các quy trình tuyên dụng khác nhau.Tuy nhiên, nhìn chung thì các quy trình đều có 6 giai đoạn như sau:
e Yêu cầu công việc (Job requirements):
Nhà tuyén dụng thiết lập yêu cầu công việc và viết mô tả công việc bao gồmvai trò, trình độ, vi trí, cơ hội thăng tiễn, văn hóa công ty và phúc lợi
e_ Tiếp thị công việc (Job marketing):
Đề thu hút ứng viên chất lượng, công việc sẽ được đăng trên nhiều nền tảng khác nhau, ví dụ như kênh tuyển dụng: LinkedIn, Indeed, hay các trang mang
xã hội: Facebook, Twitter,
¢ Tìm kiếm nguồn ứng viên (Sourcing):
Tim ứng viên từ nhiều nguồn khác nhau như các trang tuyên dụng, chươngtrình giới thiệu, mạng xã hội, nguồn nhân tài (talent pool), trang tuyển dụngcủa công ty, ngày hội việc làm và tuyén dụng nội bộ
e Sang lọc và kiểm tra (Screening & testing):
Sử dung hệ thống theo dõi ứng viên (ATS) dé sang lọc hồ sơ và thực hiện cácbài kiểm tra kỹ năng
e Phỏng van và tuyên chon (Interview & selection):
Sắp xếp lịch phỏng van, gửi lời mời va chọn các ứng viên phù hợp sau cáccuộc phỏng van, sau đó gửi đề nghị làm việc
e Giới thiệu ứng viên mới (Candidate onboarding):
Giới thiệu ứng viên mới về công ty, công việc và đội ngũ, hoàn tất các thủ tục.Ứng viên lúc này trở thành nhân viên chính thức
10
Trang 25END-TO-END RECRUITMENT CYCLE
Hinh 2.1: Quy trinh tuyén dung trong doanh nghiép*
2.1.2 Trí tuệ nhân tao trong tuyển dung
2.1.2.1 Lợi ích của AI trong tuyển dụng
e Nâng cao tính khách quan và chính xác: AI sở hữu khả năng phân tích thông
tin ứng viên với tốc độ cao hơn so với con người Khả năng này hỗ trợ giảmthiểu sai sót và thành kiến cá nhân
e Hiệu quả về thời gian và chi phí: Việc ứng dung AI giúp tiết kiệm thời gian và
chi phí Điều này cho phép các chuyên gia nhân sự tập trung vào những điều
có giá trị hơn, chăng hạn như đưa ra chiến lược tuyển dụng.
e Tăng cường trải nghiệm ứng viên: Bằng cach tận dung AI, các tổ chức có thé
nâng cao trải nghiệm tuyên dụng
4 https://www.ceipal.com/resources/insights/articles/end-to-end-recruitment-life-cycle-process/
11
Trang 262.1.2.2 Ứng dụng trí tuệ nhân tạo vào tuyến dụng
AI có thé cải thiện hiệu quả tuyển dụng thông qua các cách sau:
e Hỗ trợ trong quá trình sàng lọc:
o Sang lọc hồ sơ tự động: AI có thé phân tích hàng nghìn hồ sơ trong thời
gian ngắn, xác định các ứng viên phù hợp
o Gợi ý ứng viên: Sử dụng hệ thong khuyến nghị để gợi ý những ứng viên
tiềm năng dựa trên yêu cầu công việc
e Tối ưu hóa trải nghiệm ứng viên:
o Chatbot hỗ trợ: Sử dụng chatbot để giải đáp thắc mắc của ứng viên,
cung cấp thông tin về quy trình tuyển dụng và hướng dẫn nộp hồ sơ
o_ Cải thiện tốc độ ứng tuyên: AI giúp rút ngắn thời gian xử lý hồ sơ và
đánh giá ứng viên, giúp quy trình ứng tuyên trở nên nhanh chóng Ứngviên qua đó nhận được phản hồi sớm hơn
2.1.3 Sàng lọc và đánh giá ứng viên
2.1.3.1 Khái niệm
e Sang lọc (Screening): Là quá trình lọc hồ sơ không thích hợp với mô tả công
việc ban đầu Quá trình này thường dựa trên các tiêu chí như kinh nghiệm, kỹ
năng, trình độ học vấn và các yếu tố khác được xác định bởi nhà tuyên dụng.
e Đánh giá (Evaluation): Là quá trình đánh giá chi tiết hơn về khả năng và tiềm
năng của ứng viên thông qua các bài kiểm tra kỹ năng và phỏng van
2.1.3.2 Bộ tiêu chi sang lọc
e Trình độ chuyên môn: Khia cạnh quan trọng nhất cần tính đến là kỹ năng
chuyên môn của ứng viên.
e Kinh nghiệm làm việc: Số năm làm việc và các vị trí công tác trước đây của
ứng viên phản ánh năng lực và khả năng thích ứng của họ
e Trình độ học van: Thành tích học tập và các chứng chỉ liên quan được dùng
đê đánh giá năng lực học thuật và nên tảng kiên thức của ứng viên.
12
Trang 272.1.3.3 Bộ tiêu chí đánh giá
Kỹ năng chuyên môn: Sang lọc khi ứng viên nộp hồ sơ và làm bài kiểm tra
Kỹ năng mềm: Đánh giá kỹ năng mềm được thực hiện thông qua các câu hỏi
tình huống hoặc hành vi.
Kỹ năng giao tiếp: Đánh giá khả năng diễn đạt rõ ràng và trôi chảy thông qua
các câu hỏi.
2.1.3.4 Cach xây dựng bộ tiêu chí
Các tiêu chí kế trên được xây dựng dựa trên những phương pháp sau:
Nghiên cứu các hệ thống tuyển dụng nổi tiếng: Tìm hiểu về quy trình tuyểndung và các tiêu chí đánh giá của các công ty tuyển dụng nổi tiếng như:LinkedIn, Indeed, Glassdoor,
Phân tích tiêu chuẩn ngành: Tham khảo các tiêu chuẩn và khung năng lực được
công nhận trong ngành nhân sự dé đảm bảo bộ tiêu chí phù hợp.
Trải nghiệm của bản thân: Thông qua việc ứng tuyên và phỏng van tại cáccông ty khác nhau, đồng thời từ phản hồi của nhà tuyên dụng dé đóng góp vàoviệc xây dựng bộ tiêu chí.
ReactJS2.2.1 Tổng quan về ReactJS
Được phát triển bởi Facebook, ReactJS được thiết kế đặc biệt dé xây dựnggiao điện người dùng (UI) Với kiến trúc dựa trên các thành phần, ReactJS rất linhhoạt và hiệu quả, cho phép tái sử dung và kết hợp các đoạn mã dé tao giao diện
Zep React
Hình 2.2: ReactJS°
5 https://spin.atomicobject.com/react-contexts-dynamic-scope/
13
Trang 28e_ Khối lượng kiến thức mới: Việc làm quen và hiéu cách sử dụng ReactJS cùng
với các công cụ xung quanh như JSX, Virtual DOM, và các thư viện bổ sung(Redux, React Router, ).
e Nhiều thay đổi qua từng phiên bản: ReactJS va hệ sinh thái xung quanh nó
thay đối nhanh chóng, với các phiên bản mới, các thư viện và công cụ thường
xuyên được cập nhật.
e_ Phụ thuộc vào bên thứ ba: Thường cần kết hợp với nhiều thư viện bên ngoài
(như Zustand cho quản lý trạng thái, React Router cho điều hướng, )
2.3 MongoDB
2.3.1 Giới thiệu về MongoDB
Cơ sở dữ liệu NoSQL được thiết kế theo mô hình tài liệu Dữ liệu trongMongoDB được lưu trữ dạng JSON, cho phép collection có kích thước và cấu trúckhác nhau Do dt liệu được lưu dưới định dang JSON, việc truy vấn diễn ra hiệu quả
0 mongoDB
Hình 2.3: mongoDB°
6 https://medium.com/@sushilanildubey/tutorial-getting-started-with-mongodb-5e9e4ab4feef
14
Trang 292.3.2 Ưu điểm
e Tính linh hoạt cao.
e Khả năng mở rộng: MongoDB hỗ trợ sharding, giúp phân chia dữ liệu trên
nhiều máy chủ.
© Cộng đồng và tài liệu phong phú: Với cộng đồng người dùng rộng lớn và tài
liệu hỗ trợ chỉ tiết, MongoDB cung cấp nhiều tài nguyên giúp các nhà pháttriển đễ dàng học hỏi và sử dụng
2.3.3 Ưu điểm
e Thiếu các tính năng của RDBMS
e Dung lượng lưu trữ: Các tài liệu trong MongoDB có thé lớn hơn so với các
bản ghi tương ứng trong RDBMS do bao gồm cả thông tin cấu trúc, dẫn đếndung lượng lưu trữ tăng.
2.4 Hệ thống khuyến nghị tích hợp với Recombee — Recommender as a
service 2.4.1 Khái niệm
Hệ thống khuyến nghị (Recommendation system) là một hệ thống giúp đề xuấtcác mục tiêu, sản phẩm, hoặc thông tin mà người dùng có thé quan tâm hoặc thíchdựa trên các dữ liệu Phân loại các hệ thống khuyến nghị:
Trang 30¢ Collaborative Filtering: là một phương pháp trong hệ thống khuyến nghị dựa
trên sự tương đồng giữa người dùng hoặc các mục tiêu dé tạo ra các đề xuất
Cách hoạt động của Collaborative Filtering thường được thực hiện qua hai phương pháp chính:
o User-based Collaborative Filtering: Phương pháp này tìm người
dùng tương tự dựa vào sự tương đồng của hành vi, sở thích và tươngtác với các mục tiêu trong hệ thống Khi một người dùng yêu thích mộtmục tiêu, hệ thống sẽ tim các người dùng khác có hành vi tương tự va
đề xuất các mục tiêu mà những người dùng này đã đánh giá cao
o Item-based Collaborative Filtering: Phương pháp này tìm kiếm sự
tương đồng giữa các mục tiêu dựa trên sự tương đồng trong cách ngườidùng đánh giá hoặc tương tác với các mục tiêu Khi một người dùng
yêu thích một mục tiêu, hệ thống sẽ xác định các mục tiêu khác màngười dùng đã đánh giá cao và có sự tương đồng với mục tiêu hiện tại.Sau đó, hệ thống đề xuất những mục tiêu tương tự cho người dùng
e Content-based Filtering: Hệ thong dựa trên các thuộc tính của mục tiêu dé
xác định sự tương đồng và đề xuất những mục tiêu liên quan đến mục tiêungười dùng quan tâm Tuy nhiên, CBF gặp khó khăn trong việc đánh giá chính
xác sự tương đồng và khó đề xuất các mục tiêu mới, đa dạng mà người dùng
chưa từng khám phá.
e Hybrid: là một phương pháp tiên tiến trong lĩnh vực hệ thống khuyến nghị,
nhằm tạo ra các đề xuất tốt hơn Nó kết hợp nhiều phương pháp khuyến nghịkhác nhau như Collaborative Filtering, Content-based Filtering, và các phương pháp khác.
16
Trang 312.4.2 Một số thuật toán sir dụng trong hệ thống khuyến nghị
Hình 2.5: Minh họa độ twong dong cosine’
Trong trường hop nay, hai mục tiêu được xem như hai vector Độ tương đồngđược tính toán thông qua cosine góc độ giữa hai vector:
>
t+]
sim(i, j) = cos@j) = Ifll * |ỮII
2.4.2.2 Độ tương đồng tương quan
Độ tương đồng được tính thông qua độ tương quan Pearson-r corr, ; Xét tậpngười dùng đều đánh giá mục tiêu i và j được biểu diễn là U, độ tương đồng tương
quan là:
Duev (Rui — Ri) (Ruj — Rj)
[Zucu Rui — R)? |3ueu(Ru,; — R;)?
Trong đó R,,; biểu diễn đánh giá của người dùng ø đối với mục tiêu i, R; biéu
sim(,j) =
diễn đánh giá trung bình của mục tiêu i [3]
7 https://medium.com/@haenelft/proximity-measure-between-two-vectors-cosine-similarity-973f0d2ad lec
17
Trang 322.4.2.3 Dự đoán dựa trên tong trọng sốSau khi đã tìm ra những mục tiêu tương tự, bước tiếp theo là xem xét đánh giá
của người dùng đích và đưa ra dự đoán Trong đó, phương pháp này tính toán dự
đoán trên mục tiêu i cho người dùng z dựa trên tổng đánh giá của người dùng trênmục tiêu i Mỗi đánh giá có trọng số dựa trên độ tương đồng giữa mục tiêu i và 7 [3]
_ Yall similar items,N(Si,N * Ryn)
hình hồi quy tuyến tính được biéu diễn dưới dạng:
Trong đó tham số a và được xác định thông qua cả hai vector đánh giá e làsai sô của mô hình hôi quy tuyên tính.
2.4.3 Recombee — Recommender as a service
2.4.3.1 Giới thiệu
Recombee là một dịch vụ khuyến nghị dựa trên đám mây (cloud-based
recommendation service) Nền tảng tiên tiến này vượt trội trong việc hiểu rõ hành vi
cũng như sở thích của người dùng thông qua tương tác từ trong quá khứ.
đà Recombee
Hình 2.6: RecombeeŠ
8 https://medium.com/recombee-blog
18
Trang 332.4.3.4 Cách hoạt động của Recombee
Có ba giai đoạn chính khi sử dụng Recombee:
Source Data (Dữ liệu nguồn): Bao gồm cung cấp dữ liệu, thuộc tính của ngườidùng và các tương tác.
Recommender Settings: Bao gom các cài đặt cho việc lọc như: các bộ lọc, cácràng buộc hoặc các thiết lập và cau hình về chủ đề trong khuyến nghị
Recommendations: Các dữ liệu và cấu hình bên trên sau khi được xử lý sẽ cho
ra các kết quả khuyến nghị Nếu người dùng tương tác dựa trên kết quả khuyếnnghị, hệ thống sẽ thu thập đữ liệu này và tiếp tục cải thiện cơ chế của mình
19
Trang 34a KECUMMENDER SEI IINGS ¬
Recommendations Item Properties The most common cases
Home page REAL-TIME a
Interaction History (optional) and more
Hình 2.7: Cách hoạt động của Recombee?
Trong trường hợp của luận văn này, dé chuẩn bị dữ liệu nguồn, nhóm sẽ tạo
dữ liệu cho các đối tượng và người dùng Cụ thé hơn, đối tượng là các công việc, vảcác ứng viên, cá nhân sẽ được xem là người dùng Dữ liệu được đưa vào hệ thống
khuyến nghị sẽ là những dữ liệu đã thông qua việc chọn lọc, cụ thể hơn:
e_ Đối với công việc: Trích xuất các đữ liệu, các từ khoá Các thông tin trích xuất
sẽ bao gồm: quyên lợi, yêu cầu, trách nhiệm, địa điểm, tên, các kỹ năng hoặc
công cụ.
e_ Đối với ứng viên: Sử dung dữ liệu liên quan tới đặc điểm của ứng viên, bao
gồm: kỹ năng, công cụ, địa điểm, chức hiệu, thông tin về học van, kinh nghiệm.
Nguồn dữ liệu sẽ được lay từ hồ sơ cá nhân của ứng viên, một tinh năng trên
hệ thống
Sau khi đã có đầy đủ dữ liệu, nhóm tiếp tục cài đặt và cấu hình ngữ cảnh choRecombee dé dich vụ tối ưu hoá cho các nội dung cho lĩnh vực tuyển dụng Dịch vụRecombee áp dụng mô hình khuyến nghị Hybrid, kết hợp cả Content-based filtering
và Collaborative filtering, vậy nên nó có thể giải quyết vấn đề như gray sheep (nhữngngười dùng có sở thích không giống ai),
? https://docs.recombee.com/
20
Trang 352.5 LLM
2.5.1 Khái niệm
Là lĩnh vực trong trí tuệ nhân tạo Nó chủ yếu thực hiện tạo ra nội dung mới
từ đữ liệu hiện có Các mô hình ngôn ngữ lớn nổi tiếng hiện nay bao gồm GPT
(Generative Pre-trained Transformer) của OpenAI, DALL-E, mô hình Gemini của Google, hay Claude của Anthropic.
3% Claude
Hình 2.8: Mô hình Claude!°
2.5.2 Các hạn chế của LLM
e Trạng thái tạm thời (Transient State): LLM thiếu tinh năng về bộ nhớ, cần
hệ thống riêng đề giữ lại bối cảnh (context)
e Ban chất xác suất (Probabilistic Nature): Với một câu prompt có thé sinh
ra nhiều câu trả lời khác nhau
e Thong tin lỗi thời: Phu thuộc vào dữ liệu đã duoc train khiến LLM không cập
nhật thông tin theo thời gian thực.
e Bia đặt nội dung: Tạo ra nội dung có vẻ hợp lý nhưng thực tế không chính
xác, hiện tượng này gọi là ảo giác (hallucination) [19]
2.5.3 Cải thiện LLM sử dung Prompt Engineering
Prompt Engineering là kỹ thuật tao ra các lệnh hoặc câu hỏi cụ thé để hướng
dan mô hình AI tạo sinh tạo ra kết quả mong muốn, giúp điều khién và tôi ưu hóa các
mô hình [5] Thông qua việc thiết kế các prompt phù hợp, người dùng có thể yêu cầu
AI tao ra văn bản, hình ảnh, hoặc các loại nội dung khác phù hợp hơn.
10 https://www.matthewberman.com/p/claude-3-released-gpt4-killer
21
Trang 362.5.3.1 Zero-shot Prompting
Là phương pháp tạo ra một prompt cho LLM mà không cần cung cấp vi dụ vềinput và output Phương pháp này có ưu điểm là tốc độ nhanh, có tính linh hoạt vàthích nghỉ tốt với những câu hỏi đa dạng từ phía người dùng
o
Classify the text based on sentiment.
Text: That movie was awesome Classification:
@ Positive
Hình 2.9: Vi dụ về zero-shot prompting (Mô hình GPT 4o)
Ví dụ về việc phân loại văn bản mang cảm xúc tích cực hay tiêu cực Mặc dùkhông đưa ra dit liệu về các loại cảm xúc, cũng như không cung cấp ví dụ, nhưng
LLM van hiéu va phân loại văn ban “That movie was awesome” là “Positive”.
2.5.3.2 Few-shot Prompting
Zero-shot có nhiều han chế, như việc phụ thuộc vào sức mạnh của LLM, hoặc
vì tính linh hoạt của nó nên các câu trả lời đôi lúc không chính xác Trong trường hợp
đó, sử dụng few-shot prompting sẽ hiệu quả hơn, bằng cách cung cấp các ví dụ về
input và output, từ đó hướng dẫn LLM trả lời dựa trên các ví dụ.
Text: Today the weather is fantastic
Classification: Pos Text: The furniture is small.
Trang 37Trong trường hợp trên, cung cấp các ví dụ về input và output giúp LLM hiểucách dé trả lời Đồng thời câu trả lời của LLM cũng dựa trên các dữ liệu phân loại
À €
được cung cấp (LLM trả lời là “neg” thay vì “negative”)
Tuy nhiên, phương pháp này cũng có nhiều hạn chế Nó phụ thuộc vào độ liênquan của câu hỏi tới ví dụ, khiến LLM có thể làm tốt với ví dụ, nhưng thực hiệnkhông tốt đối với những câu hỏi mới (overfitting) Ngoài ra, việc cung cấp ví dụ cũnglam tăng thời gian xử lý của LLM.
(a) Few-shot (b) Few-shot-CoT
Q: Roger has 5 tennis balls He buys 2 more cans of tennis
balls Each can has 3 tennis balls How many tennis balls does
he have now?
A: Roger started with 5 balls 2 cans of 3 tennis balls each is 6
tennis balls 5 + 6 = 11 The answer is 11.
Q: Roger has 5 tennis balls He buys 2 more cans of tennis
balls Each can has 3 tennis balls How many tennis balls does
he have now?
A: The answer is 11.
Q: A juggler can juggle 16 balls Half of the balls are golf balls, Q: A juggler can juggle 16 balls Half of the balls are golf balls,
and half of the golf balls are blue How many blue golf balls are | and half of the golf balls are blue How many blue golf balls are
there? there?
A: | La:
(Output) The answer is 8 X (Output) The juggler can juggle 16 balls Half of the balls are golf
) \ balls So there are 16 / 2 = 8 golf balls Half of the golf balls are
J \ blue So there are 8 / 2 = 4 blue golf balls The answer is 4 /
£ = ` a 2
(c) Zero-shot (d) Zero-shot-CoT (Ours)
Q: A juggler can juggle 16 balls Half of the balls are golf balls, lấn: A juggler can juggle 16 balls Half of the balls are golf balls,
and half of the golf balls are blue How many blue golf balls are | | and half of the golf balls are blue How many blue golf balls are
there? there?
A: The answer (arabic numerals) is
(Output) 8X | (Output) There are 16 balls in total Half of the balls are golf
balls That means that there are 8 golf balls Half of the golf balls
are blue That means that there are 4 blue golf balls /
| A: Let’s think step by step.
Hinh 2.11: Vi du về Few-shot, Few-shot CoT, Zero-shot và Zero-shot CoT!!
2.5.4 Cai thiện LLM sử dung RAG
Tăng cường truy xuất (RAG) là kỹ thuật tham chiếu đến các nguồn kiến thứcbên ngoài RAG giúp LLM áp dụng vào các lĩnh vực cụ thể, hoặc áp dụng khi cầntruy cập dữ liệu nội bộ Phương pháp giúp giải quyết vấn đề về ảo giác (hallucination)của LLM, nâng cao độ chính xác và tính liên quan của kết quả trong nhiều ngữ cảnh
khác nhau [4, 17]
!! https://guide.flowgpt.com/engineering/2techniques/3cot
23
Trang 38Phương pháp RAG hoạt động bằng cách trước tiên truy xuất các đoạn văn bảnhoặc thông tin liên quan từ một cơ sở đữ liệu dựa trên câu hỏi hoặc yêu cầu đầu vào.Sau đó, mô hình AI tạo sinh sử dụng thông tin này làm ngữ cảnh để tạo ra nội dungmới Điều này giúp tăng cường tính phù hợp, đồng thời giảm thiểu các lỗi hoặc thôngtin không chính xác.
Bằng cách kết hợp khả năng truy xuất thông tin và tạo sinh nội dung, RAGmang lại một cách tiêp cận mạnh mẽ và linh hoạt đê cải thiện hiệu suat của AI tạo sinh.
Question
lo
Did I meet my
spending goal last -4j - - >| Relevant
month? y AEE knowledge
Trang 392.5.4.1 Retriever trong RAG
Retriever đảm nhận việc truy xuât các thông tin liên quan sử dụng tìm kiêmtương đồng (similarity search), nhằm cung cấp ngữ cảnh cho RAG
Quy trình đánh chỉ mục đữ liệu cho Retriever như sau:
Hình 2.13: Quy trình đánh dấu chỉ mục dữ liệu (indexing data)"
e Loader: Thu thập các tai liệu chứa dữ liệu.
e Splitter: Bam tai liệu thành những bó (chunk) nhỏ hơn, thường là câu hoặc
đoạn văn Điều này là bởi vì mô hình RAG hoạt động tốt hơn với các văn bảnnhỏ hơn.
e Embedding machine: Những dữ liệu này được nhúng dé tạo thành dữ liệu dang
vector, sau đó được lưu vào co sở dữ liệu vector.
Các truy vấn từ người dùng cũng sẽ được vector hóa một cách tương tự Quátrình này sử dụng cùng kỹ thuật với quá trình đánh chỉ mục dữ liệu nhằm đảm bảotính tương thích giữa truy van và dit liệu
l3 https://qdrant.tech/articles/what-is-rag-in-a1/
25
Trang 40Hình 2.14: Quy trình nhúng truy vấn của người dùng!”
2.5.4.2 Truy xuất dữ liệu
Đề tìm kiếm những tài liệu liên quan nhất, hệ thống RAG sử dụng một số kỹthuật vector similarity Vector similarity là một thuật ngữ trong máy học và xử lý ngôn ngữ tự nhiên, nhăm tính toán độ tương đông giữa các vector.
Các kỹ thuật vector similarity được sử dụng dựa trên loại vector được dùng đểbiểu diễn dữ liệu:
2.5.4.2.1 Biểu dién dang sparse vector:
Đặc trưng là tính đa hướng (dimensionality) cao, với da số các phan tử đềubằng 0 Cách tiếp cận thường là tìm kiếm dựa trên từ khóa, bằng cách đếm tan suất
xuất hiện của từ, những từ xuất hiện nhiều sẽ được đánh trọng sỐ thấp Các truy vấn
có các từ hiém hơn được ưu tiên hon.
14 https://qdrant.tech/articles/what-is-rag-in-a1/
26