Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh tăng trưởng dân số và đô thị hóa diễn ra nhanh chóng tại Việt Nam, đặc biệt là ở các đô thị lớn, nhu cầu kết nối việc làm giữa người lao động và doanh nghiệp trở nên cấp thiết. Các phương thức truyền thống như tìm việc qua báo đài, hội chợ việc làm hay trung tâm môi giới nhân lực bộc lộ hạn chế về thời gian và chi phí. Việc ứng dụng Internet vào tuyển dụng đang trở thành xu hướng tất yếu. Tuy nhiên, qua khảo sát thực tế của nhóm tác giả, nhiều website việc làm hiện nay gặp phải tình trạng quản trị nội dung kém hiệu quả, thông tin thiếu cập nhật và hầu như chưa tích hợp hệ thống khuyến nghị tự động để cá nhân hóa kết quả tìm kiếm cho người dùng.
Khóa luận tốt nghiệp ngành Kỹ sư Hệ thống thông tin của tác giả Nguyễn Thiện Dương và Nguyễn Thị Thu Hiền (Trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM, thực hiện năm 2021 dưới sự hướng dẫn của ThS. Đỗ Duy Thanh và ThS. Mai Xuân Hùng) tập trung giải quyết bài toán tối ưu hóa quy trình tuyển dụng thông qua việc xây dựng một cổng thông tin việc làm trực tuyến tích hợp thuật toán gợi ý tự động.
Mục tiêu và nhiệm vụ nghiên cứu của đề tài được xác định cụ thể gồm:
- Tìm hiểu cấu trúc, quy trình vận hành và nguyên lý hoạt động của các website việc làm hiện nay.
- Thiết kế và xây dựng mô hình cơ sở dữ liệu quan hệ đáp ứng đầy đủ các chức năng nghiệp vụ của hệ thống cổng thông tin việc làm.
- Nghiên cứu lý thuyết hệ thống gợi ý, vận dụng thuật toán lọc cộng tác dựa trên sản phẩm (Item-Item Based Collaborative Filtering - IICF) để xây dựng chức năng gợi ý việc làm phù hợp cho ứng viên.
- Cài đặt hoàn chỉnh website bằng ngôn ngữ PHP kết hợp hệ quản trị cơ sở dữ liệu MySQL và kiểm thử hệ thống.
Đối tượng nghiên cứu là quy trình tương tác tuyển dụng - ứng tuyển trực tuyến và thuật toán lọc cộng tác trong hệ thống khuyến nghị. Phạm vi nghiên cứu về mặt đối tượng sử dụng tập trung vào ba tác nhân chính: Ứng viên (người tìm việc), Nhà tuyển dụng (doanh nghiệp) và Quản trị viên hệ thống. Phạm vi công nghệ giới hạn trong việc xây dựng ứng dụng web với PHP 7, MySQL, Bootstrap 4, HTML, CSS, JavaScript và thực nghiệm thuật toán trên tập dữ liệu đánh giá công việc.
Cơ sở lý thuyết và phương pháp
Khóa luận xây dựng trên nền tảng lý thuyết về Hệ thống gợi ý (Recommendation Systems), tập trung vào phương pháp Lọc cộng tác theo vùng lân cận (Neighborhood-based Collaborative Filtering - NBCF), cụ thể là mô hình Lọc cộng tác dựa trên sản phẩm (Item-Item Based Collaborative Filtering - IICF).
Trong bài toán tuyển dụng, sản phẩm (item) tương ứng với vị trí việc làm, và người dùng (user) là ứng viên. Dữ liệu đánh giá tương tác giữa ứng viên và việc làm được tổ chức dưới dạng Ma trận tiện ích (Utility Matrix $Y$). Để khắc phục đặc tính ma trận thưa (nhiều giá trị chưa được đánh giá), tác giả áp dụng kỹ thuật chuẩn hóa bằng cách trừ điểm đánh giá của mỗi vị trí cho điểm trung bình của vị trí đó, đồng thời gán các giá trị chưa biết bằng 0. Độ tương đồng giữa hai việc làm được tính toán qua hàm Cosine Similarity:
$$\text{sim}(i, j) = \frac{\mathbf{a} \cdot \mathbf{b}}{|\mathbf{a}| |\mathbf{b}|}$$
Trong đó $\mathbf{a}, \mathbf{b}$ là các vector đánh giá đã chuẩn hóa của hai việc làm tương ứng, nhận giá trị trong đoạn $[-1, 1]$. Điểm số dự đoán ($\text{pred}(u, p)$) của ứng viên $u$ cho việc làm $p$ được tính theo công thức:
$$\text{pred}(u, p) = \frac{\sum_{i \in L(u)} \text{sim}(i, p) \cdot r_{u,i}}{\sum_{i \in L(u)} |\text{sim}(i, p)|}$$
với $L(u)$ là tập hợp các việc làm tương tự với việc làm $p$ mà ứng viên $u$ đã từng tương tác/đánh giá, và $r_{u,i}$ là điểm đánh giá chuẩn hóa.
Phương pháp nghiên cứu thực tế bao gồm:
- Phương pháp phân tích - tổng hợp tài liệu: Khảo sát mô hình hoạt động của các nền tảng việc làm thực tế tại Việt Nam như Timviec365.vn, CareerLink.vn, CareerBuilder.vn.
- Phương pháp phân tích thiết kế hệ thống hướng đối tượng: Xây dựng biểu đồ ca sử dụng (Use Case), biểu đồ tuần tự (Sequence Diagram) và thiết kế mô hình dữ liệu quan hệ.
- Phương pháp thực nghiệm định lượng: Đánh giá độ chính xác của mô hình dự đoán và lựa chọn tham số số lượng điểm lân cận ($k$) tối ưu thông qua độ đo sai số toàn phương trung bình (RMSE - Root Mean Squared Error) sau 100 lần chạy thực nghiệm.
- Nguồn dữ liệu: Dữ liệu thông tin việc làm, thông tin ứng viên, hồ sơ năng lực và ma trận điểm đánh giá tương tác (rating) được cấu trúc trong cơ sở dữ liệu MySQL.
Thiết kế và triển khai
Hệ thống được thiết kế theo kiến trúc ứng dụng web hướng đối tượng, triển khai trên môi trường máy chủ PHP và CSDL quan hệ MySQL.
Phân tích kiến trúc và cơ sở dữ liệu
Cơ sở dữ liệu của hệ thống gồm các bảng dữ liệu quản lý thực thể và các bảng phục vụ thuật toán gợi ý:
- Nhóm bảng người dùng và tuyển dụng: Quản lý thông tin tài khoản, hồ sơ công ty, danh mục tin tuyển dụng, danh mục ngành nghề, trạng thái ứng tuyển.
- Nhóm bảng hồ sơ ứng viên:
tblapplicant_skill (kỹ năng), tblapplicant_workexp (kinh nghiệm làm việc), tblapplicant_level_learn (bằng cấp học vấn), tblapplicant_foreign_language (trình độ ngoại ngữ), tblapplicant_prefJob (nguyện vọng việc làm).
- Nhóm bảng tính toán khuyến nghị:
Item_rating (lưu trữ điểm đánh giá tương tác) và tbl_recommend_job (lưu trữ danh sách việc làm gợi ý cho từng ứng viên).
[Ứng viên / NTD / Admin]
[Giao diện Web (HTML5/CSS3/Bootstrap 4/JavaScript)]
[Tầng xử lý logic nghiệp vụ (PHP 7)]
[Hệ quản trị CSDL (MySQL)]
Công nghệ triển khai
- Ngôn ngữ xử lý phía máy chủ (Server-side): PHP phiên bản 7.
- Hệ quản trị cơ sở dữ liệu: MySQL.
- Giao diện người dùng (Client-side): HTML, CSS, JavaScript, Bootstrap 4.
- Môi trường và công cụ phát triển: Apache Server, các công cụ biên soạn mã nguồn và quản trị CSDL.
Quy trình kiểm thử
Quá trình kiểm thử phần mềm được tiến hành theo phương pháp kiểm thử chức năng (Functional Testing) cho từng ca sử dụng của ba tác nhân: Đăng ký/Đăng nhập, Quản lý tin tuyển dụng (Thêm/Sửa/Xóa), Tìm kiếm và nộp đơn ứng tuyển, Quản lý hồ sơ CV, Phản hồi kết quả tuyển dụng. Đồng thời, kiểm thử thuật toán được thực hiện bằng cách so sánh ma trận tính toán thủ công trên CSDL với kết quả hiển thị thực tế trên giao diện gợi ý.
Nội dung chính theo từng chương
| Chương |
Tên chương trong văn bản |
Nội dung cốt lõi và phát hiện kỹ thuật |
| Chương 1 |
Tổng quan đề tài |
Trình bày lý do chọn đề tài, khảo sát thực trạng website việc làm tại Việt Nam; phân tích điểm mạnh (giao diện thích ứng đa thiết bị) và điểm yếu (thiếu gợi ý tự động); xác định mục tiêu và phạm vi nghiên cứu. |
| Chương 2 |
Cơ sở lý thuyết |
Trình bày lý thuyết hệ thống gợi ý; chi tiết hóa thuật toán Item-Item Based Collaborative Filtering; giải thuật tính ma trận tương tự bằng Cosine Similarity, phương pháp chuẩn hóa ma trận thưa và công thức dự đoán điểm rating; giới thiệu nền tảng công nghệ PHP 7 và MySQL. |
| Chương 3 |
Phân tích và thiết kế hệ thống |
Phân tích yêu cầu chức năng cho 3 tác nhân (Admin, Ứng viên, NTD); xây dựng sơ đồ Use Case tổng quát và chi tiết; đặc tả 7 sơ đồ tuần tự; thiết kế chi tiết 11 bảng CSDL và mô tả giao diện tương tác. |
| Chương 4 |
Cài đặt và kiểm thử |
Cài đặt thuật toán IICF bằng mã nguồn PHP; thực nghiệm tính toán trên ma trận rating; thực hiện quy trình tìm tham số lân cận $k$ tối ưu dựa trên độ đo RMSE qua 100 lần chạy; kiểm thử các phân hệ chức năng và giao diện web. |
| Chương 5 |
Kết luận và hướng phát triển |
Tổng kết các kết quả đạt được về mặt xây dựng phần mềm và ứng dụng thuật toán; nêu rõ ưu điểm, các mặt hạn chế của hệ thống và định hướng nâng cấp trong tương lai. |
Chương 1: Tổng quan đề tài
Tác giả phân tích nhu cầu việc làm trong xã hội và khảo sát trực tiếp các website như Timviec365.vn, CareerLink.vn. Kết quả khảo sát cho thấy phần lớn hệ thống hiện tại chỉ đáp ứng chức năng tìm kiếm cơ bản theo bộ lọc tĩnh, rất ít hệ thống có cơ chế khuyến nghị tự động (như CareerBuilder). Trên cơ sở đó, đề tài xác lập mục tiêu phát triển website tuyển dụng tích hợp module lọc cộng tác IICF, phân định phạm vi phục vụ ba nhóm người dùng: Ứng viên, Nhà tuyển dụng và Quản trị viên.
Chương 2: Cơ sở lý thuyết
Nội dung chương tập trung vào cơ sở toán học của thuật toán Item-Item Collaborative Filtering:
- Phân biệt hệ thống lọc theo nội dung (Content-based) và lọc cộng tác (Collaborative filtering).
- Quy trình chuẩn hóa Utility Matrix: Lấy giá trị đánh giá trừ đi điểm đánh giá trung bình của từng dòng nhằm cân bằng mức độ khắt khe trong đánh giá của người dùng.
- Sử dụng hàm Cosine Similarity để xây dựng ma trận đối xứng biểu diễn độ tương quan giữa các cặp việc làm.
- Trình bày thuật toán dự đoán giá trị rating chưa biết dựa trên $k$ lân cận gần nhất (ví dụ cụ thể với $k=2$, tính ra giá trị dự đoán $\text{pred}(u_1, i_1) = 2.4$).
- Tổng quan về đặc tính kỹ thuật, ưu nhược điểm của PHP 7 và MySQL trong xây dựng ứng dụng web.
Chương 3: Phân tích và thiết kế hệ thống
Chương 3 trình bày chi tiết kiến trúc hướng chức năng của hệ thống:
- Phân quyền 3 tác nhân: Quản trị viên (quản lý công ty, ứng viên, việc làm, danh mục, người dùng, thống kê), Ứng viên (tìm kiếm, tạo CV, nộp hồ sơ, xem phản hồi, nhận việc làm gợi ý, đánh giá việc làm), Nhà tuyển dụng (đăng tin, quản lý hồ sơ ứng tuyển, lên lịch phỏng vấn, tìm kiếm ứng viên, gửi phản hồi).
- Danh sách 13 Use Case chính kèm biểu đồ đặc tả chi tiết cho từng tác nhân.
- 7 sơ đồ tuần tự: Đăng ký, Đăng nhập, Ứng tuyển việc làm, Thêm việc làm, Chỉnh sửa việc làm, Xóa việc làm, Phản hồi thông tin tuyển dụng.
- Thiết kế CSDL quan hệ chuẩn hóa qua 11 bảng cấu trúc (Bảng 3-5 đến 3-15 trong khóa luận) và thiết kế hệ thống giao diện mẫu (Bảng 3-16 đến 3-24).
Chương 4: Cài đặt và kiểm thử
Chương này mô tả chi tiết mã nguồn hiện thực thuật toán lọc cộng tác IICF và quy trình triển khai:
- Xây dựng lớp xử lý tính toán ma trận chuẩn hóa, ma trận tương tự Cosine và hàm dự đoán rating trong PHP.
- Thuật toán trích xuất danh sách $N$ việc làm có điểm dự đoán cao nhất để lưu vào bảng
tbl_recommend_job.
- Đánh giá thực nghiệm mô hình: Sử dụng hàm tính sai số toàn phương trung bình (RMSE) để đánh giá độ lệch giữa điểm dự đoán và điểm thực tế; tiến hành 100 lần chạy lặp để xác định giá trị lân cận $k$ tối ưu mang lại sai số nhỏ nhất.
- Báo cáo kết quả kiểm thử chức năng toàn diện trên hệ thống web (Bảng 4-1).
Chương 5: Kết luận và hướng phát triển
Đánh giá mức độ hoàn thành so với mục tiêu ban đầu; tổng kết các ưu điểm về mặt giao diện, tính năng và thuật toán; thẳng thắn chỉ ra các điểm còn hạn chế của đề tài và vạch ra lộ trình nâng cấp hệ thống.
Kết quả và đóng góp
Khóa luận đạt được các kết quả kỹ thuật cụ thể:
- Xây dựng hoàn chỉnh website tuyển dụng với đầy đủ chức năng phục vụ 3 nhóm đối tượng: Quản trị viên, Nhà tuyển dụng và Ứng viên.
- Tích hợp thành công thuật toán Item-Item Based Collaborative Filtering vào hệ thống web: Xử lý dữ liệu ma trận đánh giá, tính ma trận tương đồng Cosine, dự đoán điểm tiềm năng và tự động hiển thị các công việc phù hợp cho ứng viên trên giao diện trang cá nhân.
- Thiết lập quy trình tối ưu hóa tham số lân cận $k$: Sử dụng độ đo RMSE và kiểm thử lặp 100 lần để xác định số điểm lân cận $k$ có sai số dự đoán thấp nhất, đảm bảo tính khoa học cho module khuyến nghị.
- Đóng góp của đề tài: Khắc phục nhược điểm thiếu chức năng khuyến nghị của phần lớn website tuyển dụng phổ biến tại Việt Nam vào thời điểm khảo sát; cung cấp tài liệu chi tiết từ thiết kế cơ sở dữ liệu đến mã nguồn cài đặt thuật toán IBCF trong môi trường PHP/MySQL.
Hạn chế và hướng nghiên cứu tiếp
Khóa luận tự chỉ ra các hạn chế và hướng phát triển:
Hạn chế
- Giới hạn về mặt thời gian và kiến thức lập trình của nhóm tác giả nên các kỹ thuật tối ưu hóa mã nguồn còn đơn giản.
- Khối lượng dữ liệu thực nghiệm ban đầu còn ở quy mô thử nghiệm, chưa đánh giá tải trọng lớn trong môi trường thực tế.
- Thuật toán lọc cộng tác đơn thuần phụ thuộc vào ma trận đánh giá, dễ gặp vấn đề khởi đầu lạnh (Cold Start) khi người dùng mới hoặc công việc mới chưa có tương tác.
Hướng nghiên cứu tiếp
- Tích hợp thêm các giải thuật gợi ý khác như Lọc theo nội dung (Content-based Filtering) hoặc phương pháp Lai ghép (Hybrid Recommender System) nhằm xử lý bài toán Cold Start.
- Ứng dụng kỹ thuật Xử lý ngôn ngữ tự nhiên (NLP) để phân tích ngữ nghĩa nội dung CV của ứng viên và bản mô tả công việc (JD) của nhà tuyển dụng.
- Mở rộng hệ thống sang ứng dụng di động (Mobile Application) nhằm tăng tính tiện ích cho người dùng.
- Tối ưu hóa hiệu năng tính toán ma trận tương tự khi kích thước dữ liệu người dùng và việc làm tăng cao.
Giá trị tham khảo
Khóa luận là tài liệu tham khảo hữu ích cho sinh viên và người làm nghiên cứu ứng dụng:
- Sinh viên chuyên ngành Hệ thống thông tin, Công nghệ phần mềm, Khoa học dữ liệu: Cung cấp quy trình hoàn chỉnh từ phân tích nghiệp vụ, thiết kế hệ thống CSDL (Use Case, Sequence Diagram) đến lập trình web thực tế.
- Người nghiên cứu về Hệ thống gợi ý (Recommender Systems): Tài liệu cung cấp cách chuyển hóa lý thuyết toán học của thuật toán Item-Item Collaborative Filtering (chuẩn hóa ma trận, tính Cosine Similarity, đánh giá sai số RMSE) thành mã nguồn cụ thể bằng PHP/MySQL.
- Lập trình viên xây dựng cổng thông tin tuyển dụng: Tham khảo cấu trúc cơ sở dữ liệu chi tiết quản lý hồ sơ ứng viên (kỹ năng, kinh nghiệm, bằng cấp, ngoại ngữ) và luồng xử lý giao dịch tuyển dụng.
Câu hỏi thường gặp
1. Khóa luận sử dụng biến thể nào của hệ thống gợi ý để đề xuất việc làm?
Khóa luận sử dụng phương pháp Lọc cộng tác theo vùng lân cận (Neighborhood-based Collaborative Filtering - NBCF), cụ thể là mô hình Lọc cộng tác dựa trên sản phẩm (Item-Item Based Collaborative Filtering - IICF / IBCF), trong đó vị trí việc làm đóng vai trò là sản phẩm (item) và ứng viên đóng vai trò là người dùng (user).
2. Thuật toán xử lý bài toán ma trận thưa và đo lường độ tương đồng như thế nào?
Để xử lý ma trận thưa, hệ thống trừ điểm đánh giá của mỗi dòng cho điểm đánh giá trung bình của dòng đó để tạo ma trận chuẩn hóa, đồng thời thay thế các vị trí chưa được đánh giá bằng giá trị 0. Độ tương đồng giữa các công việc được tính bằng công thức Cosine Similarity trên các vector đã chuẩn hóa, cho kết quả nằm trong khoảng $[-1, 1]$.
3. Tham số số điểm lân cận ($k$) được xác định bằng phương pháp nào?
Tác giả sử dụng độ đo sai số toàn phương trung bình RMSE (Root Mean Squared Error) và tiến hành chạy thực nghiệm thuật toán 100 lần để tìm ra giá trị $k$ lân cận mang lại sai số RMSE nhỏ nhất trước khi áp dụng vào việc dự đoán trên website.
4. Hệ thống cơ sở dữ liệu quản lý thông tin hồ sơ ứng viên gồm những bảng cụ thể nào?
Cơ sở dữ liệu thiết kế các bảng chuyên biệt gồm: tblapplicant_skill (kỹ năng), tblapplicant_workexp (kinh nghiệm), tblapplicant_level_learn (học vấn, bằng cấp), tblapplicant_foreign_language (trình độ ngoại ngữ), tblapplicant_prefJob (nguyện vọng việc làm), kết hợp với bảng Item_rating (đánh giá) và tbl_recommend_job (kết quả gợi ý).
5. Tech stack chính được sử dụng để xây dựng website là gì?
Website được xây dựng với ngôn ngữ lập trình phía máy chủ là PHP 7, hệ quản trị cơ sở dữ liệu MySQL, và giao diện phía máy khách sử dụng HTML, CSS, JavaScript kết hợp framework Bootstrap 4.
Kết luận
Khóa luận tốt nghiệp của tác giả Nguyễn Thiện Dương và Nguyễn Thị Thu Hiền đã hoàn thành mục tiêu xây dựng website tìm kiếm và tuyển dụng việc làm tích hợp module khuyến nghị việc làm cá nhân hóa. Đề tài đã giải quyết trọn vẹn từ khâu phân tích yêu cầu, thiết kế hệ thống CSDL chuẩn hóa, hiện thực hóa thuật toán Item-Item Based Collaborative Filtering bằng PHP/MySQL đến việc tối ưu tham số $k$ thông qua thực nghiệm RMSE. Công trình cung cấp một mô hình ứng dụng thực tiễn có giá trị tham khảo rõ ràng cho các nghiên cứu và dự án phát triển hệ thống thông tin tuyển dụng.