1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Khoa học máy tính: Nghiên cứu và phát triển hệ thống gợi ý việc làm trực tuyến dựa trên đô thị

74 4 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Nội dung

Trang 2

Cán bộ hướng dẫn khoa học: PGS TS Thoại Nam

Cán bộ chấm nhận xét 1: TS Lê Thanh Vân

Cán bộ chấm nhận xét 2: PGS.TS Nguyễn Thanh Hiên

Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 05 tháng 08 năm 2021

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:

4 PGS TS Nguyễn Thanh Hiên (Giáo viên Phản biện 2)

Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)

VÀ KỸ THUẬT MÁY TÍNH

Trang 3

NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Trần Quang Minh MSHV: 1970126

Ngày, tháng, năm sinh: 30/11/1996 Nơi sinh: TP.HCM

Chuyên ngành: Khoa Học Máy Tính Mã số : 8480101

III NGÀY GIAO NHIỆM VỤ : 22/02/2021

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 13/06/2021

V CÁN BỘ HƯỚNG DẪN: PGS TS Thoại Nam

Trang 4

Lời nói đầu, tôi xin được gửi lời cảm ơn chân thành và sâu sắc đến thầy giảng viên hướng dẫn PGS TS Thoại Nam đã hỗ trợ và có những đóng góp hết sức quý báu để giúp tôi hoàn thành đề cương luận văn thạc sĩ này một cách tốt nhất Trong suốt chặng đường nghiên cứu đề cương luận văn, thầy luôn là người định hướng và đề xuất những kiến thức mới mẻ về mặt khoa học cho đề tài

Bên cạnh đó, tôi cũng muốn thay mặt cho toàn thể học viên, nghiên cứu sinh và sinh viên gửi lời biết ơn đến với quý thầy cô của trường Đại học Bách Khoa TPHCM nói chung, và của Khoa Khoa học và Kỹ thuật Máy Tính nói riêng vì công sức dạy dỗ tận tình và truyền tải nguồn tri thức vô giá đã giúp ích rất nhiều trong việc thực hiện đề tài luận văn Thạc sĩ cũng như trong con đường sự nghiệp sau này

Xin chân thành cảm ơn

Trân trọng

Tp Hồ Chí Minh, ngày 16 tháng 7 năm 2021

Trang 5

Trong thời đại phát triển vượt bậc của công nghệ đi đôi với đời sống và trình độ trí thức càng ngày phát triển của con người như hiện nay, các hệ thống giới thiệu việc làm đã và đang thể hiện được tầm ảnh hưởng lớn đối với người có nhu cầu tìm kiếm việc làm cũng như nhà tuyển dụng Lấy cảm hứng từ vấn đề này, luận văn được tác giả xây dựng với mục đích nghiên cứu và phát triển hệ thống giới thiệu việc làm trực tuyến (online) tập trung vào việc cải thiện độ chính xác trong giới thiệu việc làm dựa trên nền giải thuật Greedy trong bài toán online bipartite matching, nhằm đảm bảo uy tín cho hệ thống thông qua khả năng gợi ý các việc làm mang tính hấp dẫn và có nhiều tiềm năng nhận được sự quan tâm đối với mỗi người tìm việc khác nhau Giải thuật Greedy đã chứng tỏ khả năng đạt được hiệu quả sinh ra lợi nhuận đối với các bài toán online matching dựa trên một độ phức tạp thấp và tiêu tốn ít chi phí tính toán Tuy nhiên, gợi ý việc làm với Greedy đồng nghĩa với việc đánh đổi chất lượng gợi ý khi hệ thống chỉ chú trọng vào các công việc có khả năng sinh lợi nhuận tốt hơn, hay nói cách khác có mức đấu giá cao hơn Điều này có thể phần nào làm cho uy tín của hệ thống sụt giảm Uy tín được công nhận không chỉ bởi người tìm việc mà còn bởi đối tượng người dùng còn lại chính là các nhà tuyển dụng, góp phần lôi kéo người dùng đến với hệ thống Đó là lý do tác giả sẽ chú trọng nghiên cứu hướng về khả năng nâng cao uy tín Và để giải quyết bài toán uy tín này, tác giả đã đóng góp đề xuất hai giải pháp gợi ý ProMat và ProSim dựa trên việc khai thác độ tương tự văn bản của dữ liệu người tìm việc và việc làm, với hai nguồn dữ liệu chính là dựa theo nội dung (content-based) và hành vi (behavioral) Các phương pháp này cũng được tiến hành đánh giá nghiệm thu dựa trên tập dữ liệu ứng tuyển việc làm trong thực tế của CareerBuilder, với kết quả đã phần nào phản ánh lý thuyết đề xuất của tác giả có khả năng áp dụng thực tiễn và cải tiến hiệu quả gợi ý về mặt uy tín của hệ thống cho giải thuật Greedy, vốn đã nổi tiếng trong các bài toán xử lý trực tuyến (online) để thu về lơi nhuận

Trang 6

In the era of ultra-fast technology development coming along with human’s improved knowledge and intelliegence, the job recommendation systems have proved their large influence to job seekers and recruiters Inpsired by this, the thesis is conducted with a view to researching and developing an online job recommendation system which focuses on enhancing job suggestion accuracy based on improved Greedy in online bipartite matching problem This would strengthen the system’s credit through the ability to suggest jobs which are relevant and attractive to the users Greedy algorithm itself has proved the effciency in solving online problems in terms of revenue generation while mainaining low overhead cost and the simplicity to implement However, using pure Greedy might be result in a trade-off of quality of recommendation: it completely concentrates on matching jobs that would bring as much income as possible, ignoring the fact the those jobs might not be suitable for job seekers This might lead to a consequence that job recommendation system might lose its trust to users, both job seekers and recruiters for not suggesting the right job for the right person Therefore, the thesis’ focal point is finding the way to enhance this recommendation quality, by proposing two approaches including ProMat and ProSim which are based on data sources like content-based and behavioral These approaches are also tested with a real dataset provided by CareerBuilder, partly reflecting the effectiveness of my proposal in real-life situations

Trang 7

Tác giả xin cam đoan đề tài “Nghiên cứu và phát triển hệ thống gợi ý việc làm dựa trên đồ

thị” là một công trình nghiên cứu độc lập dưới sự hướng dẫn của giảng viên hướng dẫn: PGS

- TS Thoại Nam Đề tài, nội dung báo cáo Luận văn Thạc sĩ là sản phẩm mà tôi đã nỗ lực thực hiện trong quá trình học tập và nghiên cứu tại trường Các tham khảo của tác giả xuyên suốt luận văn đều được trích dẫn cụ thể và lời văn không có bất cứ sự sao chép nào của người khác Các số liệu, kết quả trình bày trong báo cáo là hoàn toàn trung thực, tôi xin chịu hoàn toàn trách nhiệm, kỷ luật của bộ môn và nhà trường đề ra nếu như có vấn đề xảy ra

Tp Hồ Chí Minh, ngày 16 tháng 7 năm 2021

Trần Quang Minh

Trang 8

LỜI CÁM ƠN III TÓM TẮT LUẬN VĂN IV ABSTRACT V LỜI CAM ĐOAN CỦA TÁC GIẢ VI MỤC LỤC VII DANH MỤC HÌNH, BẢNG BIỂU VÀ GIẢI THUẬT X

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 1

Tổng quan 1

Nhiệm vụ luận văn 2

Mục tiêu, đối tượng, giới hạn nghiên cứu và phương pháp nghiên cứu 2

Hướng giải quyết bài toán 4

CHƯƠNG 2: BÀI TOÁN GIỚI THIỆU VIỆC LÀM 6

Các nghiên cứu liên quan 6

Mô tả bài toán 7

Phân chia giai đoạn giải quyết bài toán 12

Mô hình hoá bài toán 13

CHƯƠNG 3: GIẢI PHÁP GỢI Ý 17

Phương pháp TF-IDF và độ tương tự cosine 18

Phân tích và tổng hợp thông tin dữ liệu của người tìm việc và việc làm 19 Gom cụm người dùng 20

3.3.1 Lựa chọn K-means cho bài toán phân cụm văn bản (text clustering) 20

3.3.2 Giải quyết các vấn đề của K-means 21

Trang 9

3.4.1 Giả định cho tập dữ liệu theo hướng trùng khớp hồ sơ 23

3.4.2 Mô tả giải thuật gợi ý ProMat 25

Giải pháp gợi ý dựa trên tương đồng hồ sơ (Profile-Similar Recommendation Approach) – ProSim 26

3.5.1 Giả định cho tập dữ liệu theo hướng tương đồng hồ sơ 26

3.5.2 Mô tả giải thuật gợi ý ProSim 27

CHƯƠNG 4: QUÁ TRÌNH XỬ LÝ TRỰC TUYẾN (ONLINE) 29

Lựa chọn giải thuật Greedy 29

Đề xuất cải thiện gợi ý dựa trên giải thuật Greedy 29

CHƯƠNG 5: ĐÁNH GIÁ KẾT QUẢ 32

Bộ dữ liệu 32

5.1.1 Nguồn dữ liệu 32

5.1.2 Tổng hợp và lấy mẫu dữ liệu huấn luyện (train) và kiểm thử (test) 33

5.1.3 Tiền xử lý dữ liệu (Data preprocessing) 33

5.3.3 Kết quả với giải pháp sử dụng Simple Greedy 41

5.3.4 Đánh giá giải pháp gợi ý ProMat 42

5.3.5 Giải thuật giải pháp gợi ý ProSim 43

Tổng hợp và bàn luận 45

CHƯƠNG 6: KẾT LUẬN 51

Trang 10

Hướng tiếp cận trong tương lai 52

TÀI LIỆU THAM KHẢO 54

LÝ LỊCH TRÍCH NGANG 62

QUÁ TRÌNH ĐÀO TẠO 62

QUÁ TRÌNH CÔNG TÁC 62

Trang 11

Hình 2.1: Bài toán Adwords trong online bipartite matching 9

Hình 2.2: Bài toán giới thiệu việc làm trực tuyến dựa trên Adwords 10

Hình 2.3: Hình ảnh minh hoạ đồ thị lưỡng phân (bipartite graph) [8] 16

Hình 3.1: Biểu đồ đường trong phương pháp Elbow Method [33] 22

Hình 5.1: 15 dòng đầu trong tập ground truth ở lần thử đầu 38

Hình 5.2: 15 dòng đầu trong tập dữ liệu việc làm ở lần thử đầu 40

Hình 5.3: Kết quả thử của giải thuật Simple Greedy ở lần chạy đầu với tập dữ liệu ngẫu nhiên 42

Hình 5.4: Kết quả thử của giải thuật ProMat ở lần chạy đầu với tập dữ liệu ngẫu nhiên 43

Hình 5.5: Kết quả thử của giải thuật ProSim ở lần chạy đầu với tập dữ liệu ngẫu nhiên 43

Hình 5.6: Các từ khoá nổi bật của một số cụm người tìm việc 44

Giải thuật (3.1): Giải thuật Mini Batch K-means (rút gọn) 23

Giải thuật (3.2): Giải thuật gợi ý ProMat 25

Giải thuật (3.3): Giải thuật gợi ý ProSim 28

Giải thuật (4.1): Giải thuật Greedy Cải Thiện 31

Bảng 5.1: Tổng hợp kết quả đánh giá sau 5 lần đánh giá kiểm thử với tập dữ liệu ngẫu nhiên 45

Bảng 5.2: Tổng hợp kết quả đánh giá sau 5 lần đánh giá kiểm thử với tập dữ liệu match 46

Trang 13

profile-CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI Tổng quan

Với sự bùng nổ của cách mạng Công nghiệp 4.0 và sự phát triển thần tốc của ngành Công nghệ thông tin, các hệ thống gợi ý ngày nay được ứng dụng trong nhiều lĩnh vực khác nhau vì hiệu quả mà nó mang lại Trên các trang web hay ứng dụng di động hằng ngày, không khó để có thể bắt gặp các chức năng gợi ý từ đề xuất phim ảnh trên Netflix, âm nhạc trên Spotify, giới thiệu hàng hoá trên các trang thương mại điện tử như Amazon, Alibaba, đến gợi ý kết bạn mạng xã hội trên Facebook, Twitter, hay gợi ý matching trên ứng dụng hẹn hò Tinder Đây là cách tiếp cận mới mẻ với hiệu quả kinh doanh tốt nhờ vào việc tập trung khai thác đúng tâm lý người dùng dựa trên thói quen hay hành vi của họ

Hiện nay, khi mà trình độ trí thức con người ngày càng gia tăng thì nhu cầu tìm việc và tuyển việc trên các kênh phương tiện chuyên nghiệp cũng ngày một nhiều LinkedIn, CareerBuilder, hay Glassdoor là một trong những công ty kỹ thuật số tiên phong trong lĩnh vực giới thiệu việc làm trực tuyến và được tin dùng bởi hàng triệu người tìm việc cũng như nhà tuyển dụng trên khắp thế giới Tại Việt Nam nước ta nói riêng, tìm kiếm việc làm và tuyển dụng đã, đang và sẽ tiếp tục là một trong những chủ đề được nhiều người quan tâm nhất trong thời kỳ công nghiệp hoá – hiện đại hoá đất nước Đây cũng là động lực để tác giả thực hiện đề tài luận văn Thạc sĩ về xây dựng một hệ thống gợi ý việc làm trực tuyến trên nền giải thuật Greedy và áp dụng với các giải pháp gợi ý dựa trên dữ liệu văn bản để nâng cao uy tín của hệ thống, giúp cho hệ thống trở nên thu hút hơn với người tìm việc và nhà tuyển dụng

Để một hệ thống gợi ý trực tuyến có thể vận hành hiệu quả trong thực tế thì quá trình phân tích dữ liệu phải trải qua các bước từ khâu tiền xử lý dữ liệu đầu vào, phân tích thông tin người dùng, đến việc đưa ra gợi ý và sắp xếp gợi ý Ở giới hạn của luận

Trang 14

văn, tác giả tập trung nghiên cứu và khai thác vào việc cải tiến độ chính xác khi giới thiệu việc làm trong bài toán online bipartite matching sử dụng giải thuật Greedy để đạt được chất lượng gợi ý tốt, nâng cao uy tín cho hệ thống giới thiệu việc làm Đồng thời tác giả cũng tiến hành hiện thực giải thuật thông qua một số công cụ máy tính để đánh giá và bàn luận về kết quả đạt được

Nhiệm vụ luận văn

Luận văn đặt ra nhiệm vụ đề xuất các phương pháp cải tiến dựa theo dữ liệu nội dung (content-based) và dữ liệu hành vi (behavioral) trên nên giải thuật Greedy trong bài toán online bipartite matching để cải thiện hiệu suất gợi ý cho hệ thống giới thiệu việc làm, đảm bảo tiêu chí về mặt uy tín của hệ thống cũng như quá trình xử lý dữ liệu trực tuyến không quá phức tạp Uy tín của hệ thống được ghi nhận từ khả năng tăng cao tính khả thi ứng tuyển cho việc làm khi được gợi ý với người tìm việc Điều này giúp cho hệ thống có sức hấp dẫn đối với cả hai đối tượng người dùng là những người tìm kiếm việc làm và cả những nhà tuyển dụng

Mục tiêu, đối tượng, giới hạn nghiên cứu và phương pháp nghiên cứu

Mục tiêu được đề ra là nghiên cứu và phát triển giải pháp cải thiện chất lượng gợi ý cũng như uy tín cho hệ thống giới thiệu việc làm trực tuyến dựa trên giải thuật Greedy, đảm bảo khả năng gợi ý việc làm với hiệu quả cao, phù hợp với nhu cầu ứng tuyển của người tìm việc Ngoài ra, quá trình gợi ý khi có câu truy vấn từ người dùng phải đủ nhanh để có thể đưa ra danh sách việc làm trong thời gian cho phép Các giải pháp đề xuất trong quá trình nghiên cứu cần có độ phức tạp và đòi hỏi chi phí tính toán không quá lớn, phù hợp với điều kiện nguồn vốn và tài nguyên hạn chế của luận văn

Đối tượng nghiên cứu của luận văn là:

Trang 15

• Hệ thống gợi ý việc làm trực tuyến dựa trên đồ thị • Đánh giá hệ thống thông qua công cụ tự xây dựng

Phạm vi nghiên cứu là việc cải tiến uy tín cho hệ thống gợi ý việc làm trực tuyến dựa trên đồ thị, việc làm sẽ được gợi ý thông qua từ khoá được nhập bởi người tìm việc và họ sẽ nhận được các kết quả các vị trí tuyển dụng tương ứng Các nghiên cứu tập trung vào việc cải thiện khả năng gợi ý việc làm cho người tìm việc, làm sao để người tìm việc có thể nhìn thấy được những việc làm mà họ quan tâm trước Điều này có thể đạt được dựa trên quá trình khai thác các dữ liệu về nội dung và hành vi Ngoài ra, một phần mềm đánh giá cũng được xây dựng dựa trên lý thuyết đã đề xuất để kiểm thử khả năng áp dụng thực tiễn của hệ thống, dựa trên bộ dữ liệu thực nghiệm

Luận văn được thực hiện dựa trên các phương pháp nghiên cứu bao gồm: • Phương pháp phân tích và tổng hợp: bài toán lớn của luận văn được chia

ra từng bài toán nhỏ để tập trung phân tích từng vấn đề một, cụ thể như bài toán gom cụm người tìm việc, bài toán tiền xử lý và so sánh dữ liệu văn bản, bài toán áp dụng giải pháp cải thiện gợi ý phù hợp theo từng giai đoạn Từng bài toán nhỏ sau khi được giải quyết sẽ được tổng hợp lại để trở thành một giải pháp tổng thể cho bài toán lớn

• Phương pháp thực nghiệm: hiện thực lại giải thuật đã đề xuất và các giải thuật cần đối chiếu bằng công cụ đánh giá thực tế để chứng minh giá trị thực tế của luận văn

• Phương pháp so sánh: sử dụng kết quả thực nghiệm thu được để so sánh giữa giải thuật cơ bản và các đề xuất của tác giả với nhau, từ đó đưa ra kết luận và hướng phát triển

Trang 16

• Phương pháp liệt kê: sử dụng phương pháp liệt kê để trình bày các nghiên cứu nổi trội về lĩnh vực gợi ý việc làm đã được giới chuyên môn công bố và chấp thuận

Hướng giải quyết bài toán

Với mục tiêu là cải thiện khả năng gợi ý của hệ thống giới thiêu việc làm trên nền giải thuật Greedy thông qua việc ưu tiên hiển thị các việc làm có tiềm năng được ứng tuyển đến với người tìm việc, tác giả đã đề xuất giải pháp gợi ý dựa trên trùng khớp hồ sơ ProMat (profile-match) và giải pháp gợi ý dựa trên tương tự hồ sơ ProSim (profile-similar) Những giải pháp này được tác giả đề xuất ứng dụng vào các giai đoạn khác nhau của quá trình triển khai hệ thống, phù hợp với nguồn dữ liệu và nguồn vốn, tài nguyên tính toán tại thời điểm tương tương ứng Về cơ bản, các giải thuật dựa trên việc so sánh độ tương tự văn bản của nguồn dữ liệu nội dung (content-based) cũng như hành vi (behavioral) Từ đó, thực hiện giải pháp nâng cao hơn như gom cụm người tìm việc theo hồ sơ sử dụng K-means để gợi ý việc làm Các giải pháp cũng được đánh giá dựa trên bộ dữ liệu thực tế được cung cấp bởi CareerBuilder để minh chứng tính khả thi khi áp dụng thực tiễn cũng như so sánh với giải pháp sử dụng giải thuật Greedy thuần tuý để gợi ý việc làm Qua đó cho thấy đóng góp của tác giả vào vấn đề cải thiện hiệu năng gợi ý cho giải thuật Greedy ở khía cạnh nâng cao uy tín của hệ thống (thông qua việc gợi ý việc làm hấp dẫn hơn cho người tìm việc) khi mà giải thuật Greedy vẫn nổi tiếng ở hiệu quả đem về lợi nhuận trong các giải thuật online Uy tín được gia tăng sẽ giúp cho hệ thống có sức hấp dẫn đối với cả hai đối tượng người dùng là những người tìm kiếm việc làm và cả những nhà tuyển dụng Điều này dẫn đến kết quả tất yếu là người mong muốn việc làm mới hay công ty/doanh nghiệp cần bổ sung vị trí nhân sự đều sẽ tìm đến hệ thống như một giải pháp giới thiệu việc làm hiệu quả

Trang 17

Cần lưu ý là xuyên suốt luận văn, tác giả sẽ tập trung nghiên cứu vào hướng giải quyết vấn đề nâng cao uy tín hơn là lợi nhuận Do đó, giải thuật Greedy cơ bản vẫn được sử dụng như một cách để đảm bảo hơn nguồn tiền thu được thông qua việc phần nào ưu tiên cho các việc làm có mức đấu giá cao được hiển thị trước với điều kiện các việc làm này đã được sắp xếp theo độ ưu tiên về mức hấp dẫn đối với người tìm việc

Ở chương tiếp theo là Chương 2, tác giả sẽ mô tả cụ thể hơn về bài toán giới thiệu việc làm, các nghiên cứu liên quan cũng như mô tả và mô hình hoá bài toán Đồng thời, chương này cũng bao gồm phần đề xuất cách sử dụng hai giải pháp gợi ý ProMat cùng ProSim cho phù hợp với từng giai đoạn triển khai khác nhau của hệ thống, tuỳ theo điều kiện chi phí cũng như tài nguyên khác nhau Sau đó, tác giả tiến hành giới thiệu và phân tích giải pháp cải thiện gợi ý dựa trên trùng khớp hồ sơ ProMat và dựa trên tương tự hồ sơ ProSim kết hợp với giải thuật Greedy ở Chương 3 và Chương 4 để có thể tăng cao độ chính xác gợi ý cho quá trình giới thiệu việc làm Các lý thuyết được nêu ra trong luận văn đều được kiểm thử và nghiệm thu kết quả dựa trên bộ dữ liệu ứng tuyển việc làm thực tế Các kết quả này được tổng hợp và bàn luận ở Chương 5 của luận văn

Trang 18

CHƯƠNG 2: BÀI TOÁN GIỚI THIỆU VIỆC LÀM Các nghiên cứu liên quan

Hệ thống gợi ý (recommender system) không phải là một khái niệm xa lạ đối với ngành Công nghệ thông tin nói chung và Khoa hoc máy tính nói riêng Đã có nhiều nghiên cứu cũng như những ứng dụng thực tế xây dựng các hệ thống gợi ý được ra đời và đem lại lợi nhuận khổng lồ cho các nhà đầu tư Tiêu biểu có thể kể đến hệ thống gợi ý phim ảnh của Netflix [1], gợi ý hàng hoá mua bán của Amazon [2], gợi ý nhạc của Spotify [3] hay thậm chí là gợi ý thức ăn của Uber Eats [4] Mỗi hệ thống gợi ý được dựa trên các cơ chế tổng hợp và xử lý dữ liệu khác nhau, như lọc

cộng tác (collaborative filtering) [3], dựa theo nội dung (content-based) hay các

phương pháp lai (hybrid) sử dụng đồ thị (graph-based) [4] Tuy nhiên, xây dựng các hệ thống gợi ý việc làm vẫn còn tương đối mới mẻ nếu so với các hệ thống nêu trên Một hệ thống gợi ý việc làm cho các trang web tuyển dụng sử dụng giải thuật lai giữa Content-based và PageRank được giới thiệu bởi Yao Lu và các cộng sự vào năm 2013 [5] 3 năm sau, một hệ thống gợi ý việc làm khác được xây dựng bởi một nhóm sinh viên Ấn Độ sử dụng kỹ thuật trùng khớp hồ sơ (profile matching) và thu thập dữ liệu (data crawling) [6]

Vào năm 2018, một nhóm nhà nghiên cứu thuộc đại học North Carolina và Georgia tại Hoa Kỳ cũng đã công bố một bài báo về việc xây dựng một hệ thống gợi ý việc làm sử dụng sử dụng một giải thuật lai của cả 2 giải thuật lọc cộng tác (collaborative filtering) và dựa theo nội dung (content-based), sử dụng đồ thị lưỡng phân (bipartite graph) [7] Hệ thống gợi ý này là sự kết hợp của nhiều bước xử lý dữ liệu khá phức tạp, bao gồm trích xuất thông tin người tìm việc từ hồ sơ xin việc (resume) sử dụng học sâu và xử lý dữ liệu gợi ý bằng đa đồ thị (multigraph) Nhóm tác giả đã hiện thực để tối ưu hoá hệ thống gợi ý việc làm của CareerBuilder.com và

Trang 19

thu được kết quả tương đối tốt Đây có thể xem là bài báo về hệ thống gợi ý việc làm có chất lượng tốt nhất và mới nhất tính đến hiện tại

Đa số các hệ thống kể trên đều có xu hướng cải tiến hoặc kết hợp các giải thuật gợi ý truyền thống, vì vậy chưa hoàn toàn giải quyết tốt bài toán về gợi ý việc làm theo thời gian thực với dữ liệu không được biết trước và liên tục đến Vì vậy, một số mô hình ghép nối trực tuyến (online matching) cũng được nghiên cứu thêm để áp dụng phù hợp cho bài toán của luận văn Tiêu biểu có thể kể đến bài tổng hợp về các vấn đề online bipartite matching của nhà nghiên cứu tại Google là A Mehta [8] hay một số đề xuất cải tiến về Adwords và Online Matching của các nhà khoa học tại Viện nghiên cứu Google và Microsoft [9] [10] Bài toán Adwords trong Online Matching sẽ được áp dụng ở mức cơ bản sử dụng giải thuật Greedy để làm nền tảng cho các giải pháp gợi ý được đề xuất trong luận văn Giải thuật Greedy cho đến thời điểm hiện tại vẫn rất mạnh trong các bài toán online để giải quyết vấn đề tạo ra lợi nhuận từ việc tính phí đấu giá các gợi ý hay quảng cáo Bù lại, giải thuật Greedy đánh đổi về mặt chất lượng gợi ý, vốn có thể ảnh hưởng đáng kể uy đến tín của hệ thống giới thiệu việc làm Rõ ràng là việc tập trung hoàn toàn vào lợi nhuận dẫn đến một hệ quả là có thể các gợi ý không toàn phù hợp hoặc hấp dẫn đối với người dùng Vì vậy, tác giả muốn hướng đến một nghiên cứu tập trung vào cải thiện gợi ý về mặt nâng cao chất lượng gợi ý, làm sao để người tìm việc có thể nhìn thấy được những việc làm họ cần ở ngay những giới thiệu đầu tiên của hệ thống hơn là tập trung vào nghiên cứu nâng cao lợi nhuận

Mô tả bài toán

Trong giới hạn của luận văn, bài toán xây dựng một hệ thống gợi ý việc làm theo thời gian thực với hai đối tượng người dùng chính, bao gồm: nhà tuyển dụng và người tìm việc Hai đối tượng này được mô tả như sau:

Trang 20

Phía người tìm việc: người cần tìm việc làm sử dụng hệ thống có thể

tiến hành tìm kiếm việc làm bằng cách nhập các từ khoá như

“Administrative Assistant” (Trợ lý hành chính), “Receptionist” (Nhân

viên lễ tân), hay “Sales Assistant” (Nhân viên bán hàng), v.v để hệ thống

có thể đưa ra gợi ý các việc làm cần tuyển dụng hiện tại ứng với nhu cầu của người dùng một cách nhanh chóng Người tìm việc được phép tương tác chọn vị trí việc làm thích hợp với mình

Phía nhà tuyển dụng: công ty/cá nhân cần tuyển dụng việc làm sử dụng

hệ thống sau khi đã đăng nhập có thể thực hiện đăng tải các công việc mình cần Người tuyển dụng có thể đưa ra giới hạn hầu bao hằng tháng (monthly budget) mà hệ thống có thể tính phí sau các lần tính phí cho mỗi tương tác việc làm thành công Điều này có thể giúp đảm bảo lượng tiền tính phí hằng tháng không vượt quá nguồn vốn của nhà tuyển dụng Nếu không định sẵn mức hầu bao, nhà tuyển dụng sẽ phải trả tất cả chi phí giới thiệu việc làm cho hệ thống dựa trên số tương tác thành công của các việc làm đối với người tìm việc Với mỗi công việc, nhà tuyển dụng có thể xác định mức tiền đấu giá (bid) mỗi khi công việc được giới thiệu với người tìm việc

Bài toán của luận văn được xây dựng dựa trên bài toán Adwords như mô tả tại Hình 2.1 Adwords đặt ra yêu cầu tối ưu hoá lợi nhuận thu được khi match 𝑢𝑢 và 𝑣𝑣 trong bối cảnh v đến một cách không thể biết trước Sau khi match, kết quả sẽ không thể bị thay đổi, vì vậy bài toán đặt ra là quyết định có bỏ hoặc chọn một hàng xóm 𝑢𝑢 để match với 𝑣𝑣 Hiệu quả của một giải thuật online sẽ được so sánh dựa trên lời giải tối ưu cho bài toán đề ra với tất cả các 𝑣𝑣 đều đã biết trước Đã có rất nhiều nghiên cứu để xây dựng các giải thuật phức tạp cho bái toán online bipartite matching, tuy nhiên theo một nghiên cứu và thử nghiệm thực tế vào năm 2019 [11], tính tham lam (greediness) trong giải thuật Greedy cho bài toán online là cực kỳ quan trọng và thực

Trang 21

tế kiểm nghiệm chỉ ra rằng giải thuật Greedy vẫn cho hiệu quả rất tốt ở các tình huống thực tế so với các giải thuật mới và phức tạp hơn

Hình 2.1: Bài toán Adwords trong online bipartite matching

Dựa trên bài toán matching với Adwords, tác giả mở rộng kết hợp với bài toán hiển thị Ads (display ads) như tại Hình 2.2 Lúc này, một câu tìm kiếm v có thể được match với nhiều việc làm u, và khi giới thiệu thì dựa trên ví trí hiển thị của us mà nhà tuyển dụng sẽ bị trừ khoảng tương ứng (vị trí hiển thị càng ưu tiên thì trọng số trừ phí càng lớn)

Bài toán đặt ra cho hệ thống giới thiệu việc làm thông thường sẽ bao gồm hai nhiệm vụ:

• Làm thế nào có thể đảm bảo nguồn lợi nhuận thu được từ việc tính phí các nhà tuyển dụng khi giới thiệu việc làm? [8]

• Làm thế nào để đảm bảo uy tín (độ chính xác) cho hệ thống tìm việc thông qua việc giới thiệu việc làm phải có tính phù hợp và hấp dẫn đối với người tìm việc? [11]

Trang 22

Hình 2.2: Bài toán giới thiệu việc làm trực tuyến dựa trên Adwords

Giải thuật Greedy cho đến thời điểm hiện tại vẫn rất khó có đối thủ trong các bài toán online matching (xét cả về độ phức tạp thấp lẫn chi phí tính toán) để giải quyết bài toán tối ưu hoá lợi nhuận từ việc tính phí đấu giá các gợi ý hay quảng cáo [11] Tuy nhiên, tập trung hoàn toàn vào lợi nhuận dẫn đến một đánh đổi rằng có thể các gợi ý việc làm có thể không toàn phù hợp hoặc hấp dẫn đối với người dùng Điều này có thể vô tình làm giảm uy tín của hệ thống nếu hệ thống giới thiệu việc làm nhiều nhưng chất lượng gợi ý không tốt dẫn đến tỉ lệ ứng tuyển trên thực tế không cao Uy tín thấp đồng nghĩa với việc người dùng sẽ rời bỏ hệ thống bởi nó không đáp ứng được như cầu tìm kiếm việc làm (người tìm việc) hoặc tìm kiếm ứng viên (nhà tuyển dụng) Do đó, trong giới hạn của luận văn, tác giả tập trung phân tích vào nhiêm vụ thứ hai trong bài toán giới thiệu việc làm, chính là đảm bảo uy tín cho hệ thống,

tiến hành sắp xếp độ ưu tiên việc làm được gợi ý sao cho các việc làm có nhiều khả

Trang 23

năng được ứng tuyển phải được hiển thị trước, qua đó tạo sự hấp dẫn của người tìm việc khi sử dụng hệ thống

Để có thể hiện thực được hệ thống phù hợp với nhu cầu giải quyết nhiệm vụ được đặt ra ở trên, tác giả đề xuất một mô hình lai kết hợp giữa giải pháp trực tuyến (online approach) sử dụng giải thuật Greedy và giải pháp ngoại tuyến (offline approach) sử dụng thuật toán gom cụm K-Means dựa trên tính toán độ tương tự Cosine thông qua véc-tơ TF-IDF Đó chính là cách thức xây dựng của phương pháp ProSim sẽ được tác giả giới thiệu ở Chương 3

Giải thuật Greedy đảm bảo độ ưu tiên nhất định cho các việc làm có mức đấu giá cao, qua đó phần nào giữ ổn định cho nguồn lợi nhuận của hệ thống Trong khi đó, việc gom cụm người dùng thành các nhóm dữ liệu dựa trên thông tin ngoại tuyến (offline data) trong quá khứ như lịch sử ứng tuyển sử dụng K-Means sẽ giúp việc gợi ý có xác suất thành công cao hơn, cụ thể là nhận được nhiều lượt xem cũng như đơn ứng tuyển từ phía người tìm việc hơn

Xuyên suốt quá trình giải quyết các bài toán trong luận văn, tác giả sẽ đề cập đến hai nguồn dữ liệu (data source) chính, bao gồm:

Nguồn dữ liệu dựa trên nội dung (Content-based data source): đây

là nguồn dữ liệu thiên về mô tả đặc trưng của chủ thể và không liên quan đến các tương tác/hành vi trên hệ thống Một vài ví dụ có thể kể đến như lý lịch người tìm việc (nơi sinh sống, chuyên ngành, thâm niên, kinh nghiệm quản lý, v.v…) hoặc mô tả công việc (nơi làm việc, chức danh, yêu cầu công việc, v.v…) [7]

Nguồn dữ liệu hành vi (Behavioral data source): đây là nguồn dữ liệu

liên quan đến tương tác/hành vi của người dùng khi sử dụng hệ thống, ví dụ như số lượt xem một việc làm (job views) của người tìm việc hoặc lịch sử ứng tuyển (application history) của họ [7]

Trang 24

Phân chia giai đoạn giải quyết bài toán

Dựa vào kết quả thực nghiệm ở mục 5.3 trên các giải pháp đề xuất của tác giả tại Chương 3 và Chương 4, tác giả lên kế hoạch triển khai hệ thống chia ra làm ba giai đoạn, cụ thể là:

• Giai đoạn 1 (Khởi động): Khi hệ thống bắt đầu được đưa vào hoạt động, dữ liệu quá khứ (historical data) chưa tồn tại nhiều thì việc gợi ý việc làm sẽ dựa trên giải thuật Greedy kết hợp với giải pháp gợi ý dựa trên trùng khớp hồ sơ (profile-match), tác giả gọi là Giải pháp ProMat Đây là giải

pháp gợi ý có cách hoạt động đơn giản và không tiêu tốn nhiều chi phí tính toán, phù hợp với giai đoạn đầu của hệ thống khi nguồn lực xử lý và kinh phí tương đối hạn hẹp Phương pháp này sẽ sắp xếp độ ưu tiên hiển thị việc làm sẽ dựa trên độ tương đồng văn bản (text similarity) giữa lý lịch người tìm việc (job seeker profile) và mô tả việc làm (job description) Lưu ý rằng lúc này hệ thống chỉ sử dụng nguồn dữ liệu dựa trên nội dung (content-based data source) do nguồn dữ liệu dựa trên hành vi là chưa đủ phong phú để tận dụng Giả định cho phương pháp gợi ý dựa trên nội dung là người dùng có hồ sơ tương đồng với mô tả việc làm sẽ có xu hướng quan tâm việc làm đó hơn Phương pháp này sẽ được phân tích và trình bày cụ thể tại mục 3.4 của luận văn

• Giai đoạn 2 (Duy trì): Khi hệ thống đã có một lượng người dùng nhất định, các thông tin ứng tuyển trong quá khứ cũng như thông tin hồ sơ người tìm việc phong phú và đa dạng hơn, tác giả đề xuất bổ sung thêm nguồn dữ liệu hành vi, cụ thể là lịch sử ứng tuyển của người tìm việc, cho giải pháp ProMat Đây là thời điểm dữ liệu đã có nhưng nguồn kinh phí vẫn còn hạn chế nên chưa thể áp dụng các phương pháp phức tạp hơn

Trang 25

• Giai đoạn 3 (Phát triển): Đây là thời điểm thích hợp để triển khai kết hợp giữa Giải pháp ProMat và thêm Giải pháp ProSim, với khả năng gợi ý dựa trên tương tự hồ sơ (profile-similar), khi mà hệ thống bắt đầu ghi nhận được nhiều dữ liệu ứng tuyển để khai thác cũng như nguồn vốn được mở rộng và bổ sung Phương pháp sẽ tiến hành gom cụm người dùng theo hồ sơ lý lịch của họ (là dữ liệu đã được thu thập trong quá khứ), từ đó độ ưu tiên hiển thị của việc làm sẽ được tính toán dựa trên độ tương đồng từ vựng (lexical similarity) giữa lịch sử ứng tuyển (application history) của cụm dữ liệu mà người tìm việc thuộc vào so với mô tả việc làm (job description) Phương pháp này cũng sẽ được kết hợp với giải thuật Greedy để nâng cao hiệu suất gợi ý việc làm cho hệ thống đối với tập dữ liệu mang tính chất dựa trên giả định là những người dùng có hồ sơ lý lịch tương đồng nhau sẽ có xu hướng quan tâm việc làm tương đối giống nhau Phương pháp này sẽ được phân tích và trình bày cụ thể tại mục 3.5 của luận văn

Sự kết hợp của giải thuật Greedy và hai giải pháp cải thiện gợi ý này sẽ được trình bày cụ thể hơn ở Chương 4 của luận văn Trong đó, hai giải pháp gợi ý đề xuất ở trên sẽ được mô tả và phân tích đầy đủ ở Chương 3.

Mô hình hoá bài toán

Mô hình của hệ thống là một đồ thị lưỡng phân được mô tả như Hình 2.1 Các đỉnh bên trái tương ứng với các việc làm đang mở được các nhà tuyển dụng hiện có trong hệ thống đăng tải (các thông tin về mô tả việc làm hay mức đấu giá cho các việc làm nếu nhận được tương tác từ người tìm việc đều được biết trước) Các đỉnh bên phải tương ứng với những câu truy vấn tìm kiếm (search query) được gửi đến liên tục theo thời gian thực Đồ thị này được ký hiệu là 𝐺𝐺(𝑈𝑈, 𝑉𝑉, 𝐸𝐸) với 𝑈𝑈 là tập các đỉnh 𝑢𝑢 đã biết (tương ứng với các việc làm đang được đăng tuyển) Mỗi việc làm này sẽ thuộc

Trang 26

về một nhà tuyển dụng nào đó Mỗi 𝑢𝑢 có thông tin bao gồm từ khoá tìm kiếm (search keyword) một thông số 𝐵𝐵𝑢𝑢 đại diện cho mức hầu bao (budget) của nhà tuyển dụng Nếu nhà tuyển dụng không quy định giới hạn hầu bao, 𝐵𝐵𝑢𝑢 sẽ được gán giá trị mặc định là -1 𝑉𝑉 là tập các đỉnh chưa biết, chính là các câu truy vấn tìm kiếm (search query) và sẽ được thêm vào đồ thị một cách không thể đoán trước E là tập các cạnh

nối đỉnh thuộc 𝑈𝑈 với đỉnh thuộc V, ký hiệu là (𝑢𝑢, 𝑣𝑣) Mỗi cạnh này có một giá trị đấu

giá 𝑏𝑏𝑏𝑏𝑏𝑏𝑢𝑢𝑢𝑢 tương ứng với số tiền đấu giá đã được quy định trước của nhà tuyển dụng

cho mỗi từ khoá [8]

Khi có một truy vấn tìm kiếm được thực hiện bởi người tìm việc, một đỉnh 𝑣𝑣 ∈

𝑉𝑉 sẽ được thêm vào đồ thị Lúc đó hệ thống sẽ tiến hành kiểm tra và tìm ra các việc

làm láng giềng (neighbor jobs) có có thông tin mô tả (description) khớp với từ khoá của câu truy vấn, tương ứng với việc xét các láng giềng (neighbor) thuộc tập 𝑈𝑈 của 𝑣𝑣 Sau khi xét được các láng giềng 𝑢𝑢 của 𝑣𝑣, cần tiếp tục lọc ra các việc làm còn đủ hầu bao 𝐵𝐵𝑢𝑢 (nếu có) để thực hiện việc gợi ý Cần lưu ý rằng đồ thị lưỡng phân của hệ

thống ở luận văn có khả năng ghép đôi nhiều u với cùng một 𝑣𝑣 Sau khi ghép đôi, tập các việc làm 𝑢𝑢 sẽ được tính toán và sắp xếp theo độ ưu tiên hiển thị 𝑝𝑝𝑢𝑢 dựa vào các giải thuật gợi ý được đề xuất ở mục 3.4 và 3.5 Độ ưu tiên cao hơn đồng nghĩa với việc công việc này có khả năng nhận được sự quan tâm và ứng tuyển từ người tìm việc hơn Dựa vào độ ưu tiên hiển thị này, các việc làm sẽ được gán trang hiển thị 𝑃𝑃𝑢𝑢tương ứng để có thể giới thiệu đến với người tìm việc Các việc làm trong mỗi trang hiển thị sẽ được sắp xếp theo thứ tự giảm dần mức phí đấu giá 𝑏𝑏𝑏𝑏𝑏𝑏𝑢𝑢𝑢𝑢, giúp cho các gợi ý trong từng trang hiển thị sẽ vẫn phần nào đảm bảo độ ưu tiên về mặt lợi nhuận nhất định khi các việc làm được kì vọng đem về nhiều lợi nhuận hơn cho hệ thống sẽ được tiếp cận trước

Sau khi hệ thống giới thiệu các việc làm 𝑢𝑢 tương ứng cho một câu lệnh tìm kiếm 𝑣𝑣, 𝐵𝐵𝑢𝑢sẽ bị trừ một khoảng tương ứng với 𝑐𝑐ℎ𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑢𝑢𝑢𝑢 Xét mỗi việc làm 𝑏𝑏 trong tập 𝐽𝐽 là các việc làm được giới thiệu ứng với từ khoá 𝑣𝑣, công thức tính phí 𝑐𝑐ℎ𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑖𝑖 được

Trang 27

mô tả như tại phương trình (2.1), 𝑏𝑏𝑏𝑏𝑏𝑏𝑖𝑖 là mức đấu giá tương ứng với việc làm 𝑏𝑏 và 𝑝𝑝𝑝𝑝𝑝𝑝𝑖𝑖 là vị trí của việc làm 𝑏𝑏 trong tập 𝐽𝐽

Quá trình ghép đôi (matching) 𝑢𝑢 với 𝑣𝑣 phải diễn ra sao cho việc làm có khả năng được ứng tuyển cao bởi người tìm việc, hay nói cách khác đảm bảo uy tín, bên cạnh việc đảm bảo lợi nhuận thu về cho hệ thống gợi ý việc làm (bài toán lợi nhuận sử dụng giả thuật Greedy thuần tuý)

Lưu ý là trong giới hạn của luận văn theo như các giới thiệu về hướng tiếp cận ở Chương 1 và mục 2.2, tác giả sẽ tập trung nghiên cứu và đánh giá kết quả về độ chính xác của việc gợi ý việc làm dựa trên uy tín, nghĩa là liệu danh sách gợi ý đó có chứa việc làm mà người tìm việc thực sự đã ứng tuyển dựa trên ground-truth hay không Do vậy các ràng buộc về 𝐵𝐵𝑢𝑢 và 𝑏𝑏𝑏𝑏𝑏𝑏𝑢𝑢𝑢𝑢 sẽ được bỏ qua và giả định rằng giá trị 𝐵𝐵𝑢𝑢 là rất lớn so với giá trị đấu giá của mỗi việc làm 𝑏𝑏𝑏𝑏𝑏𝑏𝑢𝑢𝑢𝑢 Khi đó, giải thuật Greedy trở thành giải thuật tối ưu cho bài toán online bipartite matching Điều này sẽ giảm bớt các phức tạp về mặt lý thuyết và hiện thực trong quá trình đề xuất các giải thuật [8] Phần giải thuật mà tác giả đề xuất ở các chương sau cũng tập trung vào việc tính toán các giá trị độ ưu tiên 𝑝𝑝𝑢𝑢, kể cả phần đánh giá giải thuật cũng sẽ tập trung vào hướng cải thiện uy tín cho người tìm việc hơn là tập trung vào phần lợi nhuận

𝑐𝑐ℎ𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑖𝑖 = 𝑏𝑏𝑏𝑏𝑏𝑏𝑖𝑖 ∗ �𝑆𝑆𝑆𝑆𝐽𝐽− 𝑝𝑝𝑝𝑝𝑝𝑝𝑖𝑖�

Trang 28

Hình 2.3: Hình ảnh minh hoạ đồ thị lưỡng phân (bipartite graph) [8]

Trang 29

CHƯƠNG 3: GIẢI PHÁP GỢI Ý

Như đã cập ở mục 2.2, các giải pháp dùng để cải thiện khả năng gợi ý đều cần tính toán sự tương đồng từ vựng (lexical similarity) giữa các mục tiêu đối tượng khác nhau tuỳ theo bài toán, cụ thể là:

• Giữa người tìm việc với nhau (User - User) • Giữa người tìm việc với việc làm (User - Job)

Hệ thống sẽ dựa trên độ tương đồng này kết hợp với các thông số khác (đề cập ở Chương 4) để sắp xếp độ ưu tiên hiển thị khi gợi ý việc làm nhằm tập trung cải thiện tính khả thi ứng tuyển cho việc giới thiệu việc làm đến người cần tìm, đồng thời phần nào đảm bảo một độ ưu tiên hiển thị nhất định cho các việc làm có mức đấu giá cao hơn Việc phân tích độ tương đồng cho các đối tượng khác nhau sẽ được sử dụng cho từng bài toán khác nhau, với tập dữ liệu tương ứng Đặc điểm và tính chất của từng tập dữ liệu sẽ được trình bày cụ thể khi phân tích từng giải pháp gợi ý ở phần sau của chương

Ở mục 3.1 của chương, tác giả sẽ giới thiệu về phương pháp véc-tơ hoá văn bản TF-IDF và tính toán khoảng cách giữa hai véc-tơ TF-IDF sử dụng độ tương tự cosine Đây là phương pháp khai thác văn bản (text mining) đã được kiểm chứng có độ chính xác cao về khả năng đánh giá độ tương quan giữa các tài liệu văn bản và được đề xuất sử dụng tại nhiều bài báo quốc tế [13] [14] [15] Tiếp theo ở mục 3.2 và 3.3, tác giả sẽ trình bày về cách thức phân tích và tổng hợp thông tin dữ liệu văn bản của người tìm việc cũng như việc làm Kỹ thuật phân cụm dữ liệu văn bản để chia nhóm cho người tìm việc sẽ được nói rõ ở mục 3.3 Ở hai mục cuối chương là 3.4 và 3.5, hai giải pháp gợi ý dựa trên dữ liệu văn bản ProMat và ProSim sẽ lần lượt được đề xuất với mục nâng cao hiệu suất gợi ý việc làm cho hệ thống theo từng tình huống giả định khác nhau như đã được giới thiệu ở mục 2.2

Trang 30

Phương pháp TF-IDF và độ tương tự cosine

TF-IDF (Term Frequency – Inverse Document Frequency) là một kỹ thuật

thống kê số học rất phổ biến được sử dụng trong các bài toán xử lý ngôn ngữ tự nhiên, khai phá văn bản nhằm phản ánh tầm quan trọng của một từ đối với văn bản cũng như đánh giá độ tương quan giữa các tài liệu (document relevance) [16] Kỹ thuật này dựa trên việc tính toán thông số về tần suất xuất hiện của một từ trong một văn bản (term frequency) kết hợp với tần số nghịch của một từ trong tập văn bản (inverse document frequency) Công thức tổng quát của TF-IDF được trình bày như phương trình (3.1), với 𝑓𝑓𝑤𝑤,𝑑𝑑 là số lần xuất hiện của từ 𝑤𝑤 trong tài liệu 𝑏𝑏 và 𝑓𝑓𝑤𝑤,𝐷𝐷 là số lần xuất hiện của từ 𝑤𝑤 đó trong tập tài liệu 𝐷𝐷 [17] Một tài liệu trong giới hạn của luận văn có thể được xem là một hồ sơ người tìm việc hoặc thông tin mô tả một việc làm Còn tập tài liệu chính là tập hợp tất cả các người tìm việc đã từng dùng hệ thống hoặc tập hợp các việc làm cần ứng tuyển còn đang mở

Độ tương tự cosine (Cosine Similarity) là một thang đo được sử dụng rộng rãi

trong lĩnh vực truy hồi thông tin (information retrieval), đặc biệt là xử lý văn bản [18] Độ tương tự cosine của hai véc-tơ được tính dựa trên hàm cosine của góc được tạo ra khi chiếu hai véc-tơ này lên một mặt phẳng Xét 2 véc-tơ 𝐴𝐴 và 𝐵𝐵, công thức tổng quát để tính khoảng cách giữa chúng được trình bày như phương trình (3.2) với |𝐴𝐴| và |𝐵𝐵| là độ lớn của 2 vec-tơ [15]

𝑝𝑝𝑏𝑏𝑠𝑠𝑏𝑏𝑙𝑙𝑎𝑎𝑎𝑎𝑏𝑏𝑠𝑠𝑠𝑠 = cos(𝜃𝜃) = |𝐴𝐴||𝐵𝐵|𝐴𝐴 𝐵𝐵 (3.2)

Trang 31

Phân tích và tổng hợp thông tin dữ liệu của người tìm việc và việc làm

Phân tích và tổng hợp thông tin nhằm suy ra độ tương đồng giữa người tìm việc với nhau là một bước quan trọng trong việc gom cụm dữ liệu ở Giải pháp ProSim

Độ tương đồng này được suy ra dựa trên hồ sơ của người tìm việc (job seeker profile) [6], bao gồm các thông tin như: kinh nghiệm làm việc và quản lý, chuyên ngành, nơi sinh sống, học vị, hay lịch sử ứng tuyển trong hệ thống (nếu có) Độ tương đồng giữa người tìm việc được đánh giá bằng cách biến đổi thông tin hồ sơ của họ sang dạng biểu diễn véc-tơ TF-IDF sau đó tính toán khoảng cách giữa các vec-tơ sử dụng phương pháp độ tương tự cosine (cosine similarity)

Để tính toán độ tương đồng cho tài liệu dạng văn bản một cách hiệu quả và giảm thiểu thông tin nhiễu, tiền xử lý dữ liệu (data preprocessing) là một bước hết sức quan trọng Thông tin của người tìm việc sẽ được trích xuất và tổng hợp từ ba tập dữ liệu

users, user_history, apps thuộc bộ dữ liệu CareerBuilder Đây là bộ dữ liệu việc làm

tiếng Anh được phát hành công khai bởi CareerBuilder.com [19], sẽ được trình bày cụ thể ở tiểu mục 5.1.1 Tác giả quyết định thực hiện lược bỏ bớt một số trường không

cần thiết cũng như thực hiện các biến đổi và bổ sung dữ liệu vào tập dữ liệu users

trước khi chuyển đổi dữ liệu văn bản về dạng véc-tơ TF-IDF, quá trình tiền xử lý này sẽ được trình bày cụ thể ở tiểu mục 5.1.3

Có thể thấy, thông tin người tìm việc sau khi được tổng hợp sẽ đến từ hai nguồn dữ liệu:

• Nguồn dữ liệu dựa trên nội dung (content-based data source): các thông tin hồ sơ lý lịch (profile) người tìm việc như lịch sử làm việc, nơi sinh sống, chuyên ngành, kinh nghiệm làm việc, v.v…

• Nguồn dữ liệu hành vi (behavioral data source): thông tin về lịch sử ứng tuyển trên hệ thống của người dùng

Trang 32

Việc tổng hợp từ cả hai nguồn dữ liệu nội dung và hành vi giúp giảm bớt các vấn đề về người dùng mới (cold-start) hay thưa thớt dữ liệu (data sparsity) đồng thời gia tăng độ phong phú dữ liệu phục vụ cho việc gom cụm Đây là cũng là giải pháp được đề xuất bởi Walid Shalaby và các cộng sự vào năm 2017 [7]

Tương tự như việc tổng hợp thông tin người tìm việc, thông tin mô tả việc làm cũng cần được tổng hợp trước khi có thể véc-tơ hoá và tính toán độ tương tự [20]

Thông tin của việc làm sẽ được trích xuất và tổng hợp từ tập dữ liệu jobs thuộc bộ dữ liệu CareerBuilder [19] Các thông tin được tác giả đề xuất tổng hợp để xây dựng

véc-tơ TF-IDF cho việc làm bao gồm các trường: • ‘JobTitle’: chức danh của công việc

‘City’: thành phố nơi đặt văn phòng làm việc

Các trường khác của mô tả việc làm như ‘Requirements’ (yêu cầu công việc) hay ‘Description’ (mô tả cụ thể) sẽ được lược bỏ do giới hạn về thời gian và tài

nguyên của luận văn là có hạn trong khi quá trình phân tích các trường này cần sử dụng các kỹ thuật khai phá văn bản (text mining) nâng cao và tương đối phức tạp [7] [21] [22]

Trang 33

cấp (non-hierarchical clustering) sử dụng kỹ thuật K-means Đây cũng là kỹ thuật phân cụm được sử dụng tại nhiều bài báo nói về các hệ thống gợi ý (bao gồm cả gợi ý việc làm) bởi giải thuật tương đối đơn giản nhưng vẫn đảm bảo hiệu suất tốt với tập dữ liệu lớn và đặc biệt là rất phù hợp với bài toán phân cụm dữ liệu văn bản (text clustering) như phân cụm người tìm việc theo hồ sơ (profile-based clustering) hay phân cụm công việc theo mô tả (job description-based clustering) [23] [24] [25]

Phân cụm văn bản (text clustering) là một trong những bước quan trọng trong quá trình khai phá dữ liệu, giúp gom nhóm các tài liệu văn bản có tính chất tương tự nhau về chung một cụm dữ liệu Và K-means cũng được đề xuất như là một trong những kỹ thuật phù hợp nhất để thực hiện phân cụm văn bản [26] [27] Như đã trình bày ở các mục trên, tác giả sử dụng kỹ thuật TF-IDF để vec tơ hoá dữ liệu văn bản và độ tương tự cosine để tính toán khoảng cách giữa các vec tơ Đây cũng là hai kỹ thuật được sử dụng bởi nhiều nhà khoa học dữ liệu để kết hợp với K-means trong bài toán phân cụm văn bản [27] [28]

K-means là kỹ thuật phân cụm phù hợp dành cho tập dữ liệu lớn và nhiều chiều (multi-dimensional) Tuy nhiên, một trong những điểm yếu lớn nhất khi sử dụng K-means chính là việc chọn số cụm tối ưu trước khi chạy giải thuật [29] Cho đến nay thì việc tìm ra lời giải tốt nhất cho bài toán lựa chọn số cụm K-means vẫn còn là một dấu hỏi đối với nhiều chuyên gia [30]

Trong giới hạn của luận văn, tác giả đề xuất sử dụng phương pháp Khuỷu tay (Elbow method) để tìm ra giá trị k phù hợp cho giải thuật K-means Điểm mạnh của

phương pháp này nằm ở độ phức tạp thấp (về cả không gian và thời gian) đồng thời đảm bảo được hiệu suất đánh giá lựa chọn k ở mức tương đối so với các kỹ thuật khác (như Silhouette, Gap Statistic, hay Canopy) [31] [32] Elbow method cũng là phương pháp đơn giản để hiện thực nhất: thực hiện phân cụm K-means với số 𝑘𝑘 tăng dần, sau

Trang 34

đó tính tổng sai số bình phương (sum squared error - 𝑆𝑆𝑆𝑆𝑆𝑆) cho mỗi 𝑘𝑘 Thông thường thì thuật toán sẽ dừng và giá trị 𝑘𝑘 (𝑘𝑘 hội tụ) được chọn khi 𝑆𝑆𝑆𝑆𝑆𝑆 có sự thay đổi đột ngột, tạo thành một hình dạng như khuỷa tay khi được biểu diễn dưới dạng biểu đồ dạng đường như Hình 3.1 𝑆𝑆𝑆𝑆𝑆𝑆 có công thức tổng quát như ở phương trình (3.3) với 𝑥𝑥𝑗𝑗 là điểm dữ liệu thuộc cụm 𝐶𝐶𝑖𝑖 và 𝜇𝜇𝑖𝑖 là điểm dữ liệu đại diện (centroid) cho cụm 𝐶𝐶𝑖𝑖

[29]

Hình 3.1: Biểu đồ đường trong phương pháp Elbow Method [33]

𝑆𝑆𝑆𝑆𝑆𝑆 = � � �𝑥𝑥𝑗𝑗− 𝜇𝜇𝑖𝑖�

(3.3)

Ngoài ra, để tối ưu thời gian xử lý trong quá trình phân cụm K-means áp dụng cho tập dữ liệu lớn, tác giả cũng đề xuất sử dụng kỹ thuật Mini Batch K-means, một phiên bản của K-means với khả năng phân cụm nhanh và đổi lại một ít giảm sút về chất lượng của các cụm Mini Batch K-means hoạt động dựa trên cơ chế chia tập dữ liệu thành các batch ngẫu nhiên với độ lớn cố định, sau đó tiến hành phân cụm dữ liệu trên từng batch sử dụng tổ hợp lồi (convex combination) của tập dữ liệu trong

Trang 35

mỗi batch Quá trình phân cụm sẽ lặp lại cho đến khi giải thuật hội tụ, là lúc các cụm không còn thay đổi qua các lần lặp khác nhau Với cách này, từng batch có thể được đưa vào xử lý trong bộ nhớ thay vì đĩa cứng, từ đó giúp tăng tốc cho quá trình phân cụm [34] Cách thức hoạt động của giải thuật Mini Batch K-means được trình bày ngắn gọn ở Giải thuật (3.1) [35]

Giải pháp gợi ý dựa trên trùng khớp hồ sơ (Profile-Match Recommendation Approach) – ProMat

Như đã trình bày tại mục 2.2 của luận văn, Giải pháp ProMat sẽ được sử dụng ở cả giai đoạn 1 và giai đoạn 2 của hệ thống Ở giai đoạn 1, khi mà hệ thống chưa có

Giải thuật (3.1): Giải thuật Mini Batch K-means (rút gọn) Đầu vào: 𝑘𝑘, kích thước batch 𝑏𝑏, số lần lặp 𝑡𝑡, tập dữ liệu 𝑋𝑋

Khởi tạo tập cụm 𝐶𝐶 với mỗi centroid 𝑐𝑐 ∈ 𝐶𝐶 là một giá trị 𝑥𝑥 được chọn ngẫu nhiên từ tập 𝑋𝑋

Với mỗi i chạy từ 1 đến 𝑡𝑡:

Chọn ngẫu nhiên từ 𝑋𝑋 ra tập 𝑏𝑏 phần tử, gọi là 𝑀𝑀 Tính tập centroid 𝑑𝑑 cho mỗi điểm dữ liệu 𝑥𝑥 ∈ 𝑀𝑀 Gọi 𝑣𝑣 = 0 là chỉ số kích thước dữ liệu tăng dần Với mỗi 𝑥𝑥 ∈ 𝑀𝑀:

Lấy ra centroid 𝑐𝑐 cho 𝑥𝑥 với c = 𝑑𝑑[𝑥𝑥] 𝑣𝑣 = 𝑣𝑣 + 1

Tính tỉ lệ học (learning rate) theo công thức 𝜂𝜂 =𝑣𝑣1

Cập nhật centroid cho cụm theo công thức 𝑐𝑐 = (1 − 𝜂𝜂)𝑐𝑐 + 𝜂𝜂𝑥𝑥

Trang 36

nhiều người dùng, vì vậy nguồn dữ liệu hành vi (behavioral data source) như lịch sử ứng tuyển là chưa đủ phong phú để có thể khai thác Do đó, tác giả đề xuất sử dụng nguồn dữ liệu dựa trên nội dung (content-based data source) để có thể nâng cao hiệu suất giới thiệu việc làm cho hệ thống [7] Ở giai đoạn 2, nguồn dữ liệu hành vi, cụ thể là lịch sử ứng tuyển sẽ được tận dụng để xây dựng véc-tơ TF-IDF bên cạnh nguồn dữ liệu dựa trên nội dung

Ở giải pháp này, hệ thống sẽ tiến hành tính độ ưu tiên hiển thị cho việc làm khi được giới thiệu dựa trên khoảng cách véc-tơ TF-IDF mô tả công việc của mỗi việc làm với véc-tơ TF-IDF hồ sơ của người dùng Giải pháp ProMat được xây dựng theo cơ sở giả định rằng người tìm việc sẽ có xu hướng tương tác nhiều hơn với việc làm mà chức danh có độ tương đồng văn bản (text similarity) cao với thông tin hồ sơ của họ như: chuyên ngành, các chức vụ mà họ đã từng làm,…Giả định này được tham khảo trên giả thuyết về sự trùng khớp hồ sơ (profile match) trong đề xuất xây dựng sự tương quan dựa trên nội dung (content-based relations) của Yao Lu và các cộng sự [5] Giả thuyết profile-match này cho rằng: nếu nội dung hồ sơ của một ứng viên có sự tương đồng về mặt văn bản so với mô tả của một công việc, ứng viên này sẽ có xu hướng quan tâm việc làm này hơn Một số bài báo khác nói về hệ thống gợi ý việc làm cũng có nhận định tương tự khi phân tích trên bộ dữ liệu lịch sử ứng tuyển (historical application data) khi xây dựng các giải pháp gợi ý dựa trên nội dung [36] [37] Tập dữ liệu có đặc tính ứng với giả định này được tác giả đề xuất gọi là tập dữ liệu hướng trùng khớp hồ sơ (profile-match dataset)

Để làm rõ hơn về giả định này, tác giả đưa ra ví dụ thực tế như sau: khi một

người tìm việc A thực hiện tìm kiếm trên hệ thống với từ khoá ‘Developer’ (lập trình

viên), hệ thống sẽ tiến hành lọc ra các việc làm trùng khớp với từ khoá này Vấn đề nảy sinh khi lập trình viên là một khái niệm rất bao quát và có rất nhiều chức danh cụ

thể hơn dành cho từ khoá lập trình viên, ví dụ như ‘Back-end developer’, ‘Mobile

developer’, ‘Python developer’, v.v…Vì vậy, nếu có được thêm thông tin về hồ sơ

Trang 37

hoặc lĩnh vực làm việc của người tìm việc, hệ thống có thể sắp xếp độ ưu tiên để đưa các việc làm có xác suất được quan tâm nhiều hơn lên các vị trí trước nhất Trong tình huống này, giả sử hệ thống kiểm tra được trong thông tin hồ sơ của người tìm việc A rằng anh ta đã từng đảm nhiệm vai trò lập trình viên ngôn ngữ Java và NodeJs thì các việc làm được giới thiệu sử dụng Giải pháp ProMat có thể được sắp xếp lại

theo độ ưu tiên Các vị trí có chức danh ‘Java Developer’ hoặc ‘NodeJs Developer’

khi đó sẽ được ưu tiên hiển thị trước vì có nhiều khả năng sẽ được quan tâm bởi người tìm việc A

Giải thuật gợi ý ProMat của tác giả được trình bày cụ thể ở Giải thuật (3.2) Giải thuật này sẽ được áp dụng như là một phần của giải pháp ProMat sau bước đầu tiền xử lý và lọc nhiễu cho dữ liệu Kết hợp với Giải thuật (4.1) ở mục 4.2 giúp nâng cao hiệu suất gợi ý cho hệ thống giới thiệu việc làm

Giải thuật (3.2): Giải thuật gợi ý ProMat

Đầu vào: Tập các mô tả việc làm 𝑗𝑗 ∈ 𝐽𝐽 và thông tin hồ sơ người tìm việc 𝑎𝑎 Đầu ra: Tập các mô tả việc làm 𝑗𝑗 ∈ 𝐽𝐽 đã được gán độ ưu tiên hiển thị 𝑝𝑝𝑗𝑗 và sắp theo thứ tự 𝑝𝑝𝑗𝑗 giảm dần

Khi có một tập việc làm 𝑵𝑵 cần sắp xếp độ ưu tiên dựa trên profile-match:

Tiến hành tiền xử lý dữ liệu thông qua tổng hợp và làm sạch thông tin văn bản cho mỗi việc làm trong tập 𝐽𝐽 và hồ sơ 𝑎𝑎

Đối với mỗi việc làm 𝑗𝑗 ∈ 𝐽𝐽:

Tính độ ưu tiên hiển thị 𝑝𝑝𝑗𝑗 ∈ [0, 1] = 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑎𝑎𝑠𝑠𝑠𝑠𝑡𝑡𝑠𝑠 với 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑎𝑎𝑠𝑠𝑠𝑠𝑡𝑡𝑠𝑠 chính là độ tương tự cosine áp dụng theo phương trình (3.1), trong đó 𝐴𝐴 và 𝐵𝐵 lần lượt tương ứng với hai véc-tơ TF-IDF của việc làm 𝑗𝑗 và hồ sơ người tìm việc 𝑎𝑎

Sắp xếp các đỉnh 𝑛𝑛 theo thứ tự giảm dần giá trị 𝑝𝑝𝑗𝑗

Ngày đăng: 02/08/2024, 17:28

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

TÀI LIỆU LIÊN QUAN