1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tìm hiểu recommendation system trong 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

43 12 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm Hiểu Recommendation System Trong 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
Tác giả Lương Kim Phượng, Đinh Quang Hoàng
Người hướng dẫn Cô Thái Thụy Hàn Uyển
Trường học Đại Học Quốc Gia Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Phần Mềm
Thể loại Báo Cáo Đồ Án
Năm xuất bản 2021
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 43
Dung lượng 1,93 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Một hệ thống việc làm hay thương mại điện tử sẽ được người dùng yêu thích khi hệ thống gợi ý đó gợi ý cho họ những job hay sản phẩm từ các hành vi của họ một cách nhanh chóng và chính xá

Trang 1

Tìm hiểu Recommendation System trong 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 hiện

18521275 - Lương Kim Phượng

18520282 - Đinh Quang Hoàng

Thành phố Hồ Chí Minh, tháng 12 năm 2021

Trang 2

2

NHẬN XÉT CỦA GIẢNG VIÊN

………

…… ………

………… ………

……… ………

……… ………

……… ………

……… ………

……… ………

……… ………

……… ………

……… ………

……… ………

……… ………

……… ………

……… ………

……… ………

……… ………

……… …

………

… ………

… ………

……… ………

……… ………

……… ………

……… ………

……… ………

………

Trang 3

3

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 và hướng

dẫn để chúng em có cơ hội tìm hiểu về đề tài này Chúng em cũng cảm ơn tất cả các bạn cùng lớp đã chia sẻ những tìm hiểu và kinh nghiệm về những 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 và nghiên cứu đã cho chúng em cái nhìn chi tiết về các chủ đề, bài nghiên cứu mới lạ và hấp dẫn Chúng em tin rằng những kiến thức này sẽ hỗ trợ chúng em trên con đường sự nghiệp sắp tới Một lần nữa, cảm ơn cô và các bạn đã đồng hành và hỗ trợ nhóm chúng em trong môn học này

Trang 5

5

A RECOMMENDATION SYSTEM

I Tổng quan về Recommendation System

Tóm tắt chương: trong chương 1, nhóm sẽ trình bày tổng quan về đề tài và lý do

thực hiện đề tài Qua đó làm rõ đối tượng tìm hiểu và phương pháp thực hiện đề tài

● Amazon sử dụng nó để đề 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 nó để đề xuất các video và quyết định video sẽ phát tiếp theo trên chế độ tự động phát

● Facebook sử dụng nó để gợi ý kết bạn, đề xuất các trang để thích và mọi người theo dõi

Như vậy, một trong những yếu tố tiên quyết giúp tăng trưởng doanh số của các hệ thống gợi ý là việc đáp ứng nhu cầu của người dùng Một hệ thống việc làm hay thương mại điện tử sẽ được người dùng yêu thích khi hệ thống gợi ý đó gợi ý cho họ những job hay sản phẩm từ các hành vi của họ một cách nhanh chóng và chính xác nhất Có thể nói đây là một trong những vấn đề được các 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 các yếu tố về thị trường và chất lượng, …

Trang 6

6

Bài toán hệ thống gợi ý được mô tả như sau:

● Input: dữ liệu về item và ratings của người dùng

● Output: Các item liên quan

Trong đề tài này, nhóm sẽ đưa ra các phương pháp xây dựng hệ thống gợi ý, tiến hành so sánh, đánh giá và tiến hành xây dựng một ứng dụng minh họa trên di động

2 Đối tượng tìm hiểu

Để cụ thể hóa được đối tượng tìm hiểu, nhóm sẽ tập trung vào tìm hiểu về lĩnh vực tuyển dụng việc làm, cụ thể là xây dựng hệ thống gợi ý về việc làm, để hiện thực và đánh giá đề tài, nhóm đề ra những mục tiêu sau là: Tổng quan bài toán xây dựng hệ thống gợi ý việc làm dựa trên CV và lịch sử tìm kiếm của người dùng Đánh giá và phân tích các thuật toán

3 Phạm vi tìm hiểu

Trong phạm vi của đề tài, nhóm sẽ tập trung hoàn thành các nội dung sau:

● Tổng quan về kiến thức trong lĩnh vực hệ thống gợi ý: tập trung vào các hướng tiếp cận, phương pháp sử dụng Machine Learning

● Tập trung đánh giá và phân tích các phương pháp đã thực hiện trên bộ dữ liệu Movielens

● Xây dựng và triển khai hệ thống trên thiết bị di động

4 Phương pháp thực hiện

● Trong đề tài này, nhóm sẽ thực hiện bằng các phương pháp:

● Phương pháp lọc dựa trên nội dung (Content-based Filtering)

● Phương pháp lọc công tác (Collaborative Filtering)

Trang 7

7

II Hướng tiếp cận xây dựng Recommendation System

Tóm tắt chương: Nội dung chính của chương này sẽ giới thiệu tổng quan về bài

toán hệ thống gợi ý Nhóm chọn tìm hiểu trong lĩnh vực việc làm ảnh vì lượng tài liệu đầy đủ và phong phú Giới thiệu các phương pháp và các nghiên cứu có thể áp dụng cho bài toán hệ thống gợi ý việc làm

1 Giới thiệu bài toán

Một hệ thống gợi ý việc làm thường được chia thành 3 quá trình chính:

● Bước 1: Tìm các đặc trưng (features) có ảnh hưởng đến việc đánh giá của người dùng, thông qua việc phân tích và thăm dò dữ liệu

● Bước 2: Phân tích và á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 có thể được chia thành 4 loại chính:

Hình 1: Kiến trúc hệ thống gợi ý

Trang 8

8

2 Simple Recommenders

Đưa ra các đề xuất tổng quát cho mọi người dùng, dựa trên mức độ phổ biến và/hoặc các loại công nghệ công việc cần tuyển Ý tưởng cơ bản đằng sau hệ thống này là những công việc nổi tiếng hơn và được nhà tuyển dụng đánh giá cao hơn sẽ có xác suất được người ứng tuyển bình thường thích cao hơn

3 Content-based Recommenders

Content-based filtering trong lĩnh vực hệ thống gợi ý là một giải thuật tập trung vào các đánh giá đặc tính của items Nó sẽ gợi ý các item dựa trên hồ sơ (profiles) của người dùng hoặc dựa vào nội dung, thuộc tính (attributes) của những item tương tự như item

mà người dùng đã chọn trong quá khứ

Cụ thể là trong bài toán hệ thống gợi ý công việc đầu vào là thông tin về công việc (sử dụng công nghệ nào, ngôn ngữ gì, cần tuyển vị trí nào, ) và đầu ra là các công việc liên quan

Content-based filtering chỉ quan tâm đến người dùng hiện tại, ngoài ra không có liên kết mối quan hệ với các người dùng khác Dựa trên những gì người dùng đang xem

mà hệ thống gợi ý ra các công việc khác tương tự

Ví dụ: một người rất thích ăn cam, vậy thì hệ thống gợi ý một loại trái cây tương

tự với cam, ở đây là bưởi để đề xuất Cách tiếp cận này yêu cầu việc sắp xếp các items vào từng nhóm hoặc đi tìm các đặc trưng của từng item

Trang 9

9

Hình 2: Ý tưởng thuật toán Content-based

Giải thuật này sẽ có ít các gợi ý các công việc được cộng đồng tuyển dụng đánh giá cao Tuy nhiên điều này sẽ hoạt động ngay cả khi người dùng có thói quen không đánh giá nhà tuyển dụng Tất nhiên là người dùng sẽ chỉ được gợi ý các công việc có tính chất tương tự mà không có các gợi ý khác đa dạng hơn công việc người dùng đang xem trừ khi họ chủ động xem một công việc khác

Trang 10

10

Hình 3: Một số hạn chế khi áp dụng thuật toán Content-based

Một ví dụ khác, khi người dùng thích ngôn ngữ C#, công nghệ NET, hệ thống sẽ

đề xuất công việc tuyển dụng NET Winform C#, cùng công nghệ với công việc người dùng thích Chính vì vậy, hệ thống chỉ cần biết người dùng xem công việc nào chứ không cần dữ liệu về ratings, giúp nó hoạt động ngay cả khi người dùng không có thói quen đánh giá công việc Và tất nhiên nó chỉ đề xuất các 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ác công việc được cộng đồng tìm việc làm đánh giá cao

4 Collaborative filtering Recommenders

Như Nhóm đã trình bày ở trên, content-based chỉ đề xuất các 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ác công việc được cộng đồng xem

việc làm đánh giá cao Bên cạnh đó, contented-based Recommender System trên có

hai nhược điểm:

Thứ nhất, khi xây dựng mô hình cho một user, các hệ thống Content-based không tận

dụng được thông tin từ các users khác Những thông tin này thường rất hữu ích vì hành vi mua hàng của các users thường được nhóm thành một vài nhóm đơn giản; nếu biết hành vi mua hàng của một vài users trong nhóm, hệ thống sẽ suy luận ra hành vi của những users còn lại

Thứ hai, không phải lúc nào chúng ta cũng có bản mô tả cho mỗi item Việc yêu

cầu users gắn tags còn khó khăn hơn vì không phải ai cũng sẵn sàng làm việc đó; hoặc

có làm nhưng sẽ mang xu hướng cá nhân Các thuật toán NLP cũng phức tạp hơn ở việc phải xử lý các từ gần nghĩa, viết tắt, sai chính tả, hoặc được viết ở các ngôn ngữ khác nhau.

Những nhược điểm phía trên có thể được giải quyết bằng Collaborative Filtering

Ý tưởng thuật toán

Trang 11

Hình 4: Ý tưởng thuật toán Collaborative filtering

Ví dụ: Hai users A, B đều thích các công việc có công nghệ NET C# (tức là đều

đánh giá các công việc thuộc thể loại này 4 -> 5 sao) Dựa vào lịch sử công việc của B, ta

Trang 12

● Bước 2: Tìm một nhóm {N} bao gồm những người đã công việc X và đồng

thời đã cùng xem và chấm điểm những công việc khác nhau với điểm số tương tự A

● Bước 3: Ước lượng điểm số mà người dùng A sẽ chấm cho công việc X dựa

trên điểm số mà nhóm {N} đã chấm cho công việc X

Trang 13

13 Hình 5: Quy trình hoạt động thuật toán Collaborative Filtering

Trang 14

14

Đối với Collaborative filtering, có 2 hướng tiếp cận nhỏ:

● User based filtering: xác định mức độ quan tâm của mỗi user tới một item dựa trên mức độ quan tâm của users gần giống nhau (similar users) tới item đó Mức

độ tương đồng được đánh giá thông qua cosine similarity hoặc Pearson Correlation

● Item based filtering: thay vì xác định user similarities, hệ thống sẽ dựa trên những điểm tương đồng giữa các items với mặt hàng được làm mốc đánh giá

Từ đó, hệ thống gợi ý những items gần giống với những items mà user có mức

độ quan tâm cao Tương tự như user-based filtering, item-based filtering đo lường được đánh giá thông qua cosine similarity hoặc Pearson Correlation

5 Hybrid Recommenders

Hybrid Filtering là sự kết hợp của hai giải thuật Content-based Filtering và Collaborative Filtering: Hybrid Filtering được sử dụng mềm dẻo khi hệ thống Collaborative Filtering không có các hành vi (ratings), khi đó hệ thống sẽ sử dụng Content-based Filtering và ngược lại

Trang 15

15

III Xây dựng hệ thống gợi ý cho bài toán gợi ý công việc

Tóm tắt chương: Nội dung chính của chương này sẽ trình bày cách thức xây dựng

hệ thống gợi ý Các kỹ thuật nhóm sẽ sử dụng là Content based recommender và Collaborative recommender

1 Content-based Recommenders

1.1 Nhắc lại thuật toán

Ý tưởng cơ bản của thuật toán này là dự đoán mức độ yêu thích của một user đối với một item dựa trên các users khác “gần giống” với user đang xét Việc xác định độ

“giống nhau” giữa các users có thể dựa vào mức độ quan tâm (rating) của các users này với các items khác mà hệ thống đã biết trong quá khứ

Hình 6: Ý tưởng thuật toán Content-based

Trang 16

16

1.2 Thiết kế

Hình 7: Các bước thiết kế hệ thống

1.2.1 Khởi tạo dữ liệu

Nhóm clone danh sách công việc kèm bộ kỹ năng yêu cầu từ nhiều website tuyển dụng như TopCV, Vietnamwork, ITvieclam, Sau đó xử lý, lưu vào file csv Sau khi

xử lý, files csv sẽ chứa thông tin về từng job (id job, tên job, skills) Một jobs có thể có thể yêu cầu nhiều skill được ngăn cách bởi “|” hoặc cần skill nào hết

Sử dụng module read_csv của Pandas để đọc file và lưu thành Dataframe

Hình 8: Minh họa dữ liệu

Trang 17

17

1.2.2 Thiết lập ma trận TF – IDF

● Mỗi item là 1 job

● Dựa trên skill của mỗi item, nhóm xây dựng một bộ hồ sơ (profile) cho mỗi item Profile này được biểu diễn dưới dạng toán học là một feature vector Feature vector được trực tiếp trích xuất từ item:

● Sử dụng Class TfIdfVectorizer tạo ra ma trận TF - IDF:

o Nhập module Tfidf bằng scikit-learning

o Thay thế các giá trị not-a-number bằng một chuỗi trống

Trang 18

18

Hình 9: Ma trận dữ liệu job

1.2.3 Tính độ tương đồng giữa các item

● Tiếp theo, ta sử dụng độ tương tự cosine để tính toán một đại lượng số biểu thị

sự giống nhau giữa hai việc làm Chọn điểm tương tự cosine vì nó không phụ thuộc vào độ lớn và tương đối dễ dàng để tính toán (đặc biệt khi được sử dụng kết hợp với điểm TF - IDF)

● Nhóm sử dụng module linear_kernel () của sklearn thay vì cosine_similities () tốc độ xử lý của linear_kernal nhanh hơn Kết quả thu được của Nhóm là ma trận có hình dạng 9743x9743, có nghĩa là điểm tương đồng của mỗi tổng quan

về cosine của mỗi job với mọi tổng quan của job khác Do đó, mỗi job sẽ là một vectơ cột 1x9743 trong đó mỗi cột sẽ là một điểm tương đồng với mỗi job

Hình 10: Độ tương đồng giữa các job

1.2.4 Kết quả

Sau khi đã có ma trận điểm tương đồng của các job, Nhóm lấy ra được top job có điểm tương đồng cao nhất so với job được so sánh với các bước:

Trang 19

19

● Lấy chỉ mục của job với tiêu đề của nó

● Nhận danh sách điểm tương đồng cosine của việc làm cụ thể với các job

● Sắp xếp danh sách các bộ giá trị nói trên dựa trên điểm số tương tự

● Trả về các tiêu đề tương ứng với chỉ số của các phần tử trên cùng

2 Collaborative filtering Recommenders

2.1 Nhắc lại thuật toán

Ý tưởng cơ bản của thuật toán này là dự đoán mức độ yêu thích của một user đối với một item dựa trên các users khác “gần giống” với user đang xét Việc xác định độ “giống nhau” giữa các users có thể dựa vào mức độ quan tâm (rating) của các users này với các items khác mà hệ thống đã biết trong quá khứ

Trang 20

20

Hình 11: Ý tưởng thuật toán Collaborative filtering

2.2 Thiết kế

Hình 12: Các bước thiết kế hệ thống

2.2.1 Khởi tạo dữ liệu

Đối với Collaborative filtering, nhóm sử dụng 3 thành phần dữ liệu là user, movies

và ratings (1), cụ thể:

● Users: là danh sách người dùng

Trang 21

21

● Items: là danh sách các job, mỗi jobs có thể kèm theo thông tin mô tả

● Ratings: là số điểm user đánh giá cho các jobs

Để lưu trữ được 3 thành phần dữ liệu trên, Nhóm tiếp tục sử dụng module read_csv của Pandas để lưu trữ, Nhóm gọi là ma trận user – items Cụ thể, ma trận user - items biểu diễn mức độ quan tâm (rating) của user với mỗi item Ma trận này được xây dựng từ dữ liệu (1)

Hình 13: Khởi tạo ma trận dữ liệu

Ma trận này có rất nhiều các giá trị miss Nhiệm vụ của hệ thống là dựa vào các ô đã

có giá trị trong ma trận trên (dữ liệu thu được từ trong quá khứ), thông qua mô hình đã được xây dựng, dự đoán các ô còn trống (của user hiện hành), sau đó sắp xếp kết quả dự đoán (ví dụ, từ cao xuống thấp) và chọn ra Top-N items theo thứ tự rating giảm dần, từ đó gợi ý chúng cho người dùng

2.2.2 Chuẩn hóa ma trận dữ liệu user – item

Để có thể sử dụng ma trận này vào việc tính toán, nhóm cần thay những dấu ‘?’ bởi một giá trị Đơn giản nhất có thể thay giá trị ‘0’ hay một cách khác là ‘2.5’ – giá trị trung bình giữa 0 và 5 Tuy nhiên, cách tính này có độ chính xác thấp vì những giá trị này sẽ hạn chế với những users dễ hoặc khó tính Thay vào đó, nhóm sử dụng giá trị trung bình

Trang 22

Sau khi chuẩn hóa ma trận Utility, ta tính toán độ tương đồng giữa các users Nhóm

sử dụng hàm cosine similarity (hàm có sẵn của thư viện sklearn của Python):

Trang 23

23

Hình 15: Hàm cosine similarity, tính độ tương đồng giữa 2 vector

Hình 16: Ma trận độ tương đồng giữa các users

2.2.3 Dự đoán ratings user

Nhóm sẽ dự đoán ratings của một user với mỗi item dựa trên k users gần nhất (neighbor users), tương tự như phương pháp K-nearest neighbors (KNN)

Hình 17: Công thức dự đoán ratings

Trong đó, N(u, i) là tập k users gần nhất (có độ tương đồng cao nhất) với user u và

đã từng đánh giá item i.Ví dụ nhóm sẽ dự đoán normalized rating của user u1 cho item i1

với k = 2 là số users gần nhất.

Bước 1: Xác định các users đã rated cho i1, đó là u0, u3, u5

Bước 2: Lấy similarities của u1 với u0, u3, u5 Kết quả lần lượt là: {u0, u3, u5: {0.83,

Trang 24

24

Hình 18: Ví dụ về áp dụng công thức dự đoán ratings

Thực hiện dự đoán cho các trường hợp missing ratings (chưa có dự đoán), ta sẽ thu được ma trận normalized ratings matrix như ví dụ:

Hình 19: Ma trận user-item sau khi đã dự đoán ratings

Cuối cùng, cộng lại các giá trị ratings với ratings trung bình (ở bước chuẩn hóa) theo từng cột Chúng ta sẽ thu được ma trận hoàn thiện

2.2.4 Kết quả

Sau khi chúng ta đã dự đoán được ratings của các job mà người dùng sẽ đánh giá, chúng ta lấy ra được top job mà user sẽ thích theo các bước:

− Lấy id người dùng

− Nhận danh sách rating của người dùng đối với các job chưa xem

− Sắp xếp và trả về danh sách các job theo rating từ cao xuống thấp

Ngày đăng: 08/03/2022, 21:38

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

TÀI LIỆU LIÊN QUAN

w