Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 43 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
43
Dung lượng
1,93 MB
Nội dung
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM 🙣🕮🙡 BÁO CÁO ĐỒ ÁN Tìm hiểu Recommendation System lĩnh vực tuyển dụng & Áp dụng xây dựng ứng dụng hỗ trợ tìm kiếm việc làm Giảng viên hướng dẫn: Cô Thái Thụy Hàn Uyển Sinh viên thực 18521275 - Lương Kim Phượng 18520282 - Đinh Quang Hồng Thành phố Hồ Chí Minh, tháng 12 năm 2021 NHẬN XÉT CỦA GIẢNG VIÊN …………………………………………………………………………………………… …… ……………………………………………………………………………………… ………… ………………………………………………………………………………… ……………… …………………………………………………………………………… …………………… ……………………………………………………………………… ………………………… ………………………………………………………………… ……………………………… …………………………………………………………… …………………………………… ……………………………………………………… ………………………………………… ………………………………………………… ……………………………………………… …………………………………………… …………………………………………………… ……………………………………… ………………………………………………………… ………………………………… ……………………………………………………………… …………………………… …………………………………………………………………… ……………………… ………………………………………………………………………… ………………… ……………………………………………………………………………… …………… …………………………………………………………………………………… ……… ………………………………………………………………………………………… … …………………………………………………………………………………………… … ………………………………………………………………………………………… … ………………………………………………………………………………………… ……… …………………………………………………………………………………… …………… ……………………………………………………………………………… ………………… ………………………………………………………………………… ……………………… …………………………………………………………………… …………………………… ……………………………………………………………… …………………………………………………………………………………………… LỜI CẢM ƠN Nhóm em trân trọng cảm ơn cô Thái Thụy Hàn Uyển tạo điều kiện hướng dẫn để chúng em có hội tìm hiểu đề tài Chúng em cảm ơn tất bạn lớp chia sẻ tìm hiểu kinh nghiệm kiến thức bổ ích liên quan đến Cơng nghệ Phần mềm Trải qua 14 tuần tìm hiểu nghiên cứu cho chúng em nhìn chi tiết chủ đề, nghiên cứu lạ hấp dẫn Chúng em tin kiến thức hỗ trợ chúng em đường nghiệp tới Một lần nữa, cảm ơn cô bạn đồng hành hỗ trợ nhóm chúng em mơn học LỜI CẢM ƠN A RECOMMENDATION SYSTEM I Tổng quan Recommendation System Đặt vấn đề Đối tượng tìm hiểu Phạm vi tìm hiểu Phương pháp thực II Hướng tiếp cận xây dựng Recommendation System Giới thiệu toán Simple Recommenders Content-based Recommenders Collaborative filtering Recommenders Hybrid Recommenders III Xây dựng hệ thống gợi ý cho toán gợi ý công việc Content-based Recommenders Collaborative filtering Recommenders 5 6 7 8 10 14 15 15 19 B XÂY DỰNG ỨNG DỤNG HỖ TRỢ TÌM KIẾM VIỆC LÀM I Cơng nghệ sử dụng Flask React Native II Thiết kế cài đặt Giới thiệu ứng dụng Các chức Phân tích thiết kế Giao diện ứng dụng 25 25 25 28 31 31 31 32 33 C KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN I Kết luận II Hướng phát triển 41 41 42 TÀI LIỆU THAM KHẢO 43 A RECOMMENDATION SYSTEM I Tổng quan Recommendation System Tóm tắt chương: chương 1, nhóm trình bày tổng quan đề tài lý thực đề tài Qua làm rõ đối tượng tìm hiểu phương pháp thực đề tài Đặt vấn đề Hiện nay, Recommender System ứng dụng phổ biến khoa học liệu ngày Chúng sử dụng để dự đoán "rating" "preference" mà người dùng dành cho mặt hàng Hầu hết công ty công nghệ lớn áp dụng chúng số hình thức ● Amazon sử dụng để đề xuất sản phẩm cho khách hàng ● Netflix sử dụng gợi ý việc làm cho người dùng ● YouTube sử dụng để đề xuất video định video phát chế độ tự động phát ● Facebook sử dụng để gợi ý kết bạn, đề xuất trang để thích người theo dõi Như vậy, yếu tố tiên giúp tăng trưởng doanh số hệ thống gợi ý việc đáp ứng nhu cầu người dùng Một hệ thống việc làm hay thương mại điện tử người dùng yêu thích hệ thống gợi ý gợi ý cho họ job hay sản phẩm từ hành vi họ cách nhanh chóng xác Có thể nói vấn đề hệ thống việc làm hay thương mại điện tử, mạng xã hội đặt lên hàng đầu sau yếu tố thị trường chất lượng, … Bài toán hệ thống gợi ý mô tả sau: ● Input: liệu item ratings người dùng ● Output: Các item liên quan Trong đề tài này, nhóm đưa phương pháp xây dựng hệ thống gợi ý, tiến hành so sánh, đánh giá tiến hành xây dựng ứng dụng minh họa di động Đối tượng tìm hiểu Để cụ thể hóa đối tượng tìm hiểu, nhóm tập trung vào tìm hiểu lĩnh vực tuyển dụng việc làm, cụ thể xây dựng hệ thống gợi ý việc làm, để thực đánh giá đề tài, nhóm đề mục tiêu sau là: Tổng quan toán xây dựng hệ thống gợi ý việc làm dựa CV lịch sử tìm kiếm người dùng Đánh giá phân tích thuật tốn Phạm vi tìm hiểu Trong phạm vi đề tài, nhóm tập trung hoàn thành nội dung sau: ● Tổng quan kiến thức lĩnh vực hệ thống gợi ý: tập trung vào hướng tiếp cận, phương pháp sử dụng Machine Learning ● Tập trung đánh giá phân tích phương pháp thực liệu Movielens ● Xây dựng triển khai hệ thống thiết bị di động Phương pháp thực ● Trong đề tài này, nhóm thực phương pháp: ● Phương pháp lọc dựa nội dung (Content-based Filtering) ● Phương pháp lọc công tác (Collaborative Filtering) II Hướng tiếp cận xây dựng Recommendation System Tóm tắt chương: Nội dung chương giới thiệu tổng quan toán hệ thống gợi ý Nhóm chọn tìm hiểu lĩnh vực việc làm ảnh lượng tài liệu đầy đủ phong phú Giới thiệu phương pháp nghiên cứu áp dụng cho toán hệ thống gợi ý việc làm Giới thiệu toán Một hệ thống gợi ý việc làm thường chia thành trình chính: ● Bước 1: Tìm đặc trưng (features) có ảnh hưởng đến việc đánh giá người dùng, thông qua việc phân tích thăm dị liệu ● Bước 2: Phân tích áp dụng giải thuật filtering phù hợp ● Bước 3: Tiến hành training mơ hình Nhìn chung, hệ thống Recommender System chia thành loại chính: Hình 1: Kiến trúc hệ thống gợi ý Simple Recommenders Đưa đề xuất tổng quát cho người dùng, dựa mức độ phổ biến và/hoặc loại công nghệ công việc cần tuyển Ý tưởng đằng sau hệ thống công việc tiếng nhà tuyển dụng đánh giá cao có xác suất người ứng tuyển bình thường thích cao Content-based Recommenders Content-based filtering lĩnh vực hệ thống gợi ý giải thuật tập trung vào đánh giá đặc tính items Nó gợi ý item dựa hồ sơ (profiles) người dùng dựa vào nội dung, thuộc tính (attributes) item tương tự item mà người dùng chọn khứ Cụ thể toán hệ thống gợi ý công việc đầu vào thông tin công việc (sử dụng công nghệ nào, ngôn ngữ gì, cần tuyển vị trí nào, ) đầu công việc liên quan Content-based filtering quan tâm đến người dùng tại, ngồi khơng có liên kết mối quan hệ với người dùng khác Dựa người dùng xem mà hệ thống gợi ý công việc khác tương tự Ví dụ: người thích ăn cam, hệ thống gợi ý loại trái tương tự với cam, bưởi để đề xuất Cách tiếp cận yêu cầu việc xếp items vào nhóm tìm đặc trưng item Hình 2: Ý tưởng thuật tốn Content-based Giải thuật có gợi ý công việc cộng đồng tuyển dụng đánh giá cao Tuy nhiên điều hoạt động người dùng có thói quen khơng đánh giá nhà tuyển dụng Tất nhiên người dùng gợi ý cơng việc có tính chất tương tự mà khơng có gợi ý khác đa dạng cơng việc người dùng xem trừ họ chủ động xem cơng việc khác Hình 3: Một số hạn chế áp dụng thuật tốn Content-based Một ví dụ khác, người dùng thích ngơn ngữ C#, cơng nghệ NET, hệ thống đề xuất công việc tuyển dụng NET Winform C#, công nghệ với công việc người dùng thích Chính vậy, hệ thống cần biết người dùng xem công việc không cần liệu ratings, giúp hoạt động người dùng khơng có thói quen đánh giá cơng việc Và tất nhiên đề xuất cơng việc có tính chất tương tự mà khơng đề xuất đa dạng công việc hay công việc cộng đồng tìm việc làm đánh giá cao Collaborative filtering Recommenders Như Nhóm trình bày trên, content-based đề xuất cơng việc có tính chất tương tự mà không đề xuất đa dạng công việc hay công việc cộng đồng xem việc làm đánh giá cao Bên cạnh đó, contented-based Recommender System có hai nhược điểm: ● Thứ nhất, xây dựng mơ hình cho user, hệ thống Content-based không tận dụng thông tin từ users khác Những thông tin thường hữu ích hành vi mua hàng users thường nhóm thành vài nhóm đơn giản; biết hành vi mua hàng vài users nhóm, hệ thống suy luận hành vi users lại ● Thứ hai, khơng phải lúc có mơ tả cho item Việc yêu cầu users gắn tags cịn khó khăn khơng phải sẵn sàng làm việc đó; có làm mang xu hướng cá nhân Các thuật toán NLP phức tạp việc phải xử lý từ gần nghĩa, viết tắt, sai tả, viết ngơn ngữ khác Những nhược điểm phía giải Collaborative Filtering Ý tưởng thuật toán 10 o JS Thread: thực thi xử lý code Javascript ● Hai luồng Main Thread JS Thread hoạt động độc lập với Hai Thread tương tác với nhờ Bridge (cầu nối) Chiếc cầu chuyển đổi liệu qua lại Thread Ưu điểm ● Có thể tái sử dụng code phát triển ứng dụng đa tảng (lên đến 8090% đoạn code), từ đó: o Tiết kiệm thời gian giảm chi phí phát triển ứng dụng o Tận dụng nguồn nhân lực tốt o Duy trì code hơn, bugs o Các tính platforms tương tự o Cộng đồng người dùng lớn ● Cộng đồng người dùng lớn toàn giới, bạn tìm hỗ trợ gặp phải bugs ● Tính ổn định tối ưu ● Được phát triển Facebook, React Native có hiệu ổn định cao ● Mã React Native giúp đơn giản hóa q trình xử lý liệu ● Đội ngũ phát triển ứng dụng không lớn ● Xây dựng ứng dụng native code cho nhiều hệ điều hành khác ● Trải nghiệm người dùng tốt so sánh với ứng dụng Hybrid Nhược điểm 29 ● Yêu cầu Native code ● Hiệu so với Native App ● Bảo mật chưa thật tốt dùng JavaScript Do sử dụng JavaScript, người dùng bị ảnh hưởng đặc điểm JavaScript: dễ làm dễ sai, dẫn đến khó trì sau ● Quản lý nhớ ● Tùy biến chưa thật tốt số module ● Không thích hợp cho app cần lực tính tốn cao (hash, crypto, etc) Hình 24: Kiến trúc React Native 30 II Thiết kế cài đặt Giới thiệu ứng dụng ● JobChop ứng dụng giúp tìm kiếm việc làm thông qua hệ thống liệu uy tín đa dạng trang web hàng đầu lĩnh vực tuyển dụng IT ● Với việc tích hợp hệ thống Recommendation thơng minh, ứng dụng gợi ý phân tích việc làm phù hợp với người dùng, giúp tăng tỉ lệ ứng tuyển thành cơng với chi phí thấp ● Bên cạnh đó, JopChop cho phép người dùng khảo sát mức lương nhu cầu tuyển dụng thị trường, từ giúp người dùng có nhìn sâu rộng giá trị thân lĩnh vực IT Các chức ● Tìm kiếm thơng tin việc làm: + Cung cấp thông tin chi tiết việc làm: mơ tả, u cầu, lợi ích, + Cho phép tìm kiếm với lọc nâng cao gồm: kỹ năng, khu vực, loại cơng ty ● Tìm kiếm nhà tuyển dụng: + Cung cấp thông tin chi tiết nhà tuyển dụng: địa điểm, quốc gia, lịch làm việc + Cho phép tìm kiếm với lọc nâng cao gồm: khu vực, loại hình, kỹ năng, + Cung cấp việc làm mở nhà tuyển dụng ● Gợi ý việc làm phù hợp với người dùng Recommendation System: + Gợi ý việc làm phù hợp với hồ sơ thiết lập người dùng: kỹ năng, khu vực, + Gợi ý việc làm tương tự với việc làm người dùng xem 31 ● Phân tích độ phù hợp việc làm người dùng (Match Score) giúp người dùng cân nhắc việc ứng tuyển ● Cung cấp thông tin thị trường mức lương số lượng việc làm khu vực theo trình độ ứng viên Phân tích thiết kế ● Back end: Sử dụng Flask để xây dựng API tích hợp Recommendation System: + API cung cấp data tất việc làm + API cung cấp data tất công ty + API cung cấp danh sách việc làm gợi ý cho người dùng ● Front end: Sử dụng React Native để xây dựng giao diện ứng dụng di động với hình: + Màn hình Khám phá: cung cấp thông tin thêm cho người dùng: loại công việc, công ty tiềm năng, kiện cơng nghệ, học bổng, + Màn hình Cơng cụ: cung cấp thông tin khảo sát thị trường cơng cụ bên ngồi tạo CV, trắc nghiệm MBJT, + Màn hình Tìm kiếm: cho phép người dùng tìm kiếm việc làm nhà tuyển dụng + Màn hình Thơng báo: cập nhật thơng tin thơng báo cho người dùng việc làm, nhà tuyển dụng + Màn hình Hồ sơ: hiển thị cho phép cập nhật thơng tin người dùng để hệ thống gợi ý việc làm dựa hồ sơ + Màn hình chi tiết việc làm: hiển thị thơng tin việc làm, nhà tuyển dụng, việc làm tương tự 32 + Màn hình chi tiết nhà tuyển dụng: hiển thị thông tin nhà tuyển dụng, công việc mở nhà tuyển dụng Giao diện ứng dụng ● Màn hình Giới thiệu: ● Màn hình Thiết lập hồ sơ: 33 ● Màn hình Khám phá: 34 ● Màn hình Cơng cụ: 35 ● Màn hình Tìm kiếm: 36 ● Màn hình Thơng tin việc làm: 37 ● Màn hình Thơng tin nhà tuyển dụng: 38 ● Màn hình Thơng báo: 39 ● Màn hình User: 40 C KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN I Kết luận 41 Như vậy, qua đề tài này, nhóm đã: ● Trình bày phương thức hoạt động, u cầu hệ thống, cách xử lý ma trận để xây dựng hệ thống Recommender System ● Giải toàn Recommender System với MovieLens dataset theo phương pháp Content-based Collaborative Filtering với input id movies (đối với content-based) id users (đối với collaborative), output danh sách movies đề xuất cho users ● Áp dụng hướng đối tượng, tổ chức project theo module, package vào hệ thống ● Xây dựng Web API service, phục vụ xử lý công việc liên quan đến hệ thống gợi ý gửi liệu có yêu cầu từ phía client ● Ứng dụng hệ thống gợi ý để xây dựng ứng dụng thiết bị di động nhằm minh họa cho hệ thống gợi ý Ứng dụng hiển thị trực quan gợi ý mà hệ thống đưa dựa người dùng II Hướng phát triển Trong tương lai, nhóm mong muốn hoàn thiện tốt đề tài số điểm sau: ● Do toán đề tài làm việc với liệu cố định, nên Nhóm xây dựng thêm chức đánh giá (rating) cho ứng dụng di động từ liệu thay đổi linh hoạt, phù hợp với thực tế ● Nghiên cứu thêm yếu tố làm tăng độ xác giảm thời gian chạy cho hệ thống gợi ý để sử dụng rộng rãi sau 42 TÀI LIỆU THAM KHẢO [1] Ekstrand, Michael D., John T Riedl, and Joseph A Konstan “Collaborative filtering recommender systems” 2011 [2] Jure Leskovec, Anand Rajaraman, Jeffrey David Ullman, Stanford University, California “Recommendation Systems” 2014 [3] F Ricci, L Rokach, and B Shapira, “Recommender systems handbook” 2011 [4] React Native: https://reactnative.dev/ [5] Flask: https://flask.palletsprojects.com/en/2.0.x/ 43 ... trung vào tìm hiểu lĩnh vực tuyển dụng việc làm, cụ thể xây dựng hệ thống gợi ý việc làm, để thực đánh giá đề tài, nhóm đề mục tiêu sau là: Tổng quan toán xây dựng hệ thống gợi ý việc làm dựa CV... thiệu ứng dụng ● JobChop ứng dụng giúp tìm kiếm việc làm thơng qua hệ thống liệu uy tín đa dạng trang web hàng đầu lĩnh vực tuyển dụng IT ● Với việc tích hợp hệ thống Recommendation thơng minh, ứng. .. gợi ý việc làm dựa hồ sơ + Màn hình chi tiết việc làm: hiển thị thông tin việc làm, nhà tuyển dụng, việc làm tương tự 32 + Màn hình chi tiết nhà tuyển dụng: hiển thị thông tin nhà tuyển dụng,