GIỚI THIỆU ĐỀ TÀI
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
2 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
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à:
• 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
• 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ả
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
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à
7 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
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:
• 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
9 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]
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ả
11 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]
GIẢI PHÁP GỢI Ý
Lựa chọn K-means cho bài toán phân cụm văn bản (text clustering)
Việc phân tách tập người dùng thành các cụm nhỏ giúp cho hệ thống có thể nhanh chóng truy xuất dữ liệu hơn khi cần phải gợi ý việc làm, phù hợp với bài toán trực tuyến (online problem) khi mà việc xử lý và gợi ý dữ liệu cần diễn ra trong một khoảng thời gian cho phép Để xử lý bài toán cải thiện hiệu suất gợi ý của hệ thống giới thiệu việc làm, tác giả đề xuất sử dụng tiếp cận gom cụm theo hướng không phân
21 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].
Giải quyết các vấn đề của K-means
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
22 đó 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]
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
23 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
Giả định cho tập dữ liệu theo hướng trùng khớp hồ sơ
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
Lấy ra centroid 𝑐𝑐 cho 𝑥𝑥 với c = 𝑑𝑑[𝑥𝑥]
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− 𝜂𝜂)𝑐𝑐+𝜂𝜂𝑥𝑥
24 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ơ
25 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.
Mô tả giải thuật gợi ý ProMat
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ị 𝑝𝑝 𝑗𝑗
Giải pháp gợi ý dựa trên tương đồng hồ sơ (Profile-Similar Recommendation Approach) – ProSim
Giả định cho tập dữ liệu theo hướng tương đồng hồ sơ
Như đã trình bày tại mục 2.3 của luận văn, Giải pháp ProSim sẽ được triển khai kết hợp với Giải pháp ProMat ở giai đoạn mà hệ thống bắt đầu có một lượng người dùng nhất định, khi đó hệ thống có thể khai thác thêm nguồn dữ liệu hành vi (behavioral data source) như lịch sử ứng tuyển cũng như tận dụng nguồn dữ liệu hồ sơ phong phú của người tìm việc để giúp nâng cao hiệu suất giới thiệu việc làm cho hệ thống [7] Ở 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 đại diện của các người dùng thuộc cùng nhóm/cụm (cluster) với người tìm việc đang xét Giải pháp ProSim đượ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 so với các việc làm đã được ứng tuyển của những người dùng thuộc cùng một nhóm với người này Giả định này được dựa theo giả thuyết về sự tương tự hồ sơ (profile similar) 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-similar này cho rằng: những người tìm việc có thông tin hồ sơ tương đồng nhau sẽ có xu hướng tìm việc tương đối giống nhau Một số tác giả khác khi nói về hệ thống gợi ý việc làm dựa trên hành vi (behavior) hay tương tác (interaction) cũng đưa ra kết luận tương tự dựa trên thử nghiệm thực tế của họ [38] [21] 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 profile-similar (profile-similar dataset) Để làm rõ hơn về giả định này, tác giả tiếp tục sử dụng lại ví dụ ở tiểu mục 3.4.1: Giả sử lần này hệ thống kiểm tra không tìm thấy thông tin về chức vụ đã đảm
27 nhiệm trong hồ sơ của người tìm việc A, việc áp dụng phương pháp gợi ý dựa trên nội dung để tính độ ưu tiên của các việc làm sẽ không đem lại hiệu quả cao nếu chỉ dùng các thông tin như nơi sinh sống, chuyên ngành, thâm niên, v.v Lúc này, nếu có thể tận dụng dữ liệu lịch sử công việc của các người tìm việc khác có hồ sơ tương đồng với người tìm việc A, hệ thống có thể dựa trên đó để gợi ý việc làm cho anh A Ở tình huống này, chẳng hạn A học chuyên ngành ‘Mobile Development’ (Phát triển ứng dụng di động) và có thâm niên kinh nghiệm trên 10 năm, anh này có thể được đưa về nhóm người dùng tương ứng với hồ sơ Giả sử nhóm này có lịch sử công việc thường liên quan đến các chức vụ như ‘Senior HTML/CSS Developer’ hoặc ‘Front- end Technical Lead’, các việc làm tương tự có thể được ưu tiên giới thiệu đến cho người dùng A trước Đây cũng là một điểm hay trong giải pháp ProSim mà tác giả đề xuất.
Mô tả giải thuật gợi ý ProSim
Giải thuật ProSim sẽ được trình bày cụ thể ở Giải thuật (3.3) Cần lưu ý là tại thời điểm giải thuật này được sử dụng, hệ thống đã xây dựng được bộ thông tin các nhóm người tìm việc được bằng giải thuật Mini Batch K-means được trình bày ở tiểu mục 3.3.2 Mỗi nhóm người tìm việc được phân cụm dựa trên cả nguồn dữ liệu dựa trên nội dung và nguồn dữ liệu hành vi Người tìm việc ở cùng một nhóm sẽ có hồ sơ khá tương đồng nhau, ví dụ như cùng mộtg chuyên ngành, sinh sống cùng thành phố, đã từng làm hoặc ứng tuyển các công việc tương tự nhau hay có thâm niên kinh nghiệm giống nhau sẽ được đưa về cùng một cụm dữ liệu (data cluster) Việc phân cụm cho người tìm việc từ trước sẽ giúp cho thuật toán trực tuyến của hệ thống diễn ra nhanh chóng khi chỉ cần dự đoán xem hồ sơ của người tìm việc thuộc nhóm nào Sau đó tính toán ra các từ khoá phổ biến nhất đại diện cho các việc làm đã từng được ứng tuyển của người tìm việc thuộc nhóm này Sau cùng, độ ưu tiên hiển thị gợi ý sẽ được suy ra từ độ tương tự cosine giữa việc làm đối với các từ khoá đại diện Việc
28 tính toán các từ khoá đại diện sẽ rút ngắn thời gian tính toán (computational time) cho giải thuật trực tuyến thay vì phải tính độ tương tự của từng việc làm đang xét với từng việc làm đã được ứng tuyển bởi nhóm người tìm việc Điều này là phù hợp đối với yêu cầu thời gian có giới hạn của các phương pháp xử lý dữ liệu trực tuyến
Giải thuật (3.3) sẽ được áp dụng như là một phần của 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.3): Giải thuật gợi ý ProSim Đầu vào: Tập các mô tả việc làm 𝑗𝑗 ∈ 𝐽𝐽, thông tin hồ sơ người tìm việc 𝑎𝑎, tập các cụm dữ liệu 𝐶𝐶, số từ khoá đại diện cho mỗi cluster 𝑆𝑆 Đầ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- similar:
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ơ 𝑎𝑎
Gán (Assign) cụm 𝑐𝑐 ∈ 𝐶𝐶 cho véc-tơ TF-IDF của hồ sơ 𝑎𝑎 Đối với mỗi việc làm 𝑗𝑗 ∈ 𝐽𝐽:
Tính 𝑘𝑘 với 𝑘𝑘 là văn bản tổng hợp 𝑆𝑆 từ khoá đại diện cho tất cả việc làm đã từng được ứng tuyển bởi người tìm việc thuộc cụ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à văn bản từ khoá 𝑘𝑘
Sắp xếp các đỉnh 𝑛𝑛 theo thứ tự giảm dần giá trị 𝑝𝑝 𝑗𝑗
QUÁ TRÌNH XỬ LÝ TRỰC TUYẾN (ONLINE)
Lựa chọn giải thuật Greedy
Bài toán ghép cặp lưỡng phân trực tuyến (online bipartite matching) được giới thiệu bởi Karp và các cộng sự vào năm 1990 [39] đã nhận được sự quan tâm của đông đảo nhà chuyên môn Từ đó, các giải thuật nâng cao trong lĩnh vực ghép cặp đồ thị lưỡng phân đã được nghiên cứu phát triển và đăng tải trên các tạp chí khoa học quốc tế [40] [41] [42] [43] [44] Tuy nhiên gần đây vào năm 2020, một bài báo so sánh hiệu năng thực tế của các thuật toán online bipartite matching từ A Borodin và các cộng sự [12] vẫn cho thấy một thuật toán Simple Greedy đã có từ cách đây rất lâu vẫn đem lại hiệu quả lợi nhuận rất tốt, thậm chí trong một vài tình huống thông thường còn vượt trội so với các thuật toán nâng cao vô cùng phức tạp khác Bên cạnh đó, cho dù có nhỉnh hơn thuật toán Greedy trong một vài viễn cảnh cụ thể, các thuật toán khác [42] [43] [44] cũng có độ phức tạp và chi phí tính toán (computation complexity and cost) là lớn hơn rất nhiều so với Greedy Vì vậy, trong giới hạn luận văn với các hạn chế về mặt chi phí và thời gian, tác giả vẫn đề xuất sử dụng giải thuật Simple Greedy cho bài ghép cặp lưỡng phân trực tuyến Như đã đề cập ở mục 2.2, nhiệm vụ uy tín cho hệ thống thông qua cải thiện khả năng gợi ý sẽ được tập trung nghiên cứu và phân tích Do đó bài toán về lợi nhuận sẽ vẫn dựa trên nền giải thuật Greedy cơ bản và không chú trọng phân tích sâu hơn Đề xuất cải thiện gợi ý dựa trên giải thuật Greedy
Bài toán gợi ý việc làm trực tuyến trong luận văn thuộc nhóm bài toán Adwords, là một dạng phát triển của bài toán gốc ghép cặp lưỡng phân trực tuyến [8] Như đã
30 đề cập ở mục 2.4, hệ thống xây dựng một đồ thị lưỡng phân 𝐺𝐺(𝑈𝑈,𝑉𝑉,𝑆𝑆) với 𝑈𝑈 là tập các đỉnh 𝑢𝑢 đã biết Mỗi 𝑢𝑢 bao gồm từ khoá tìm kiếm 𝑞𝑞 và mức hầu bao 𝐵𝐵 𝑢𝑢 𝑉𝑉 là tập các đỉnh 𝑣𝑣 chưa biết và sẽ được thêm vào đồ thị một cách không thể đoán trước 𝑆𝑆 là tập các cạnh nối đỉnh thuộc 𝑈𝑈 với đỉnh thuộc 𝑉𝑉, ký hiệu là (𝑢𝑢,𝑣𝑣) Mỗi cạnh này có một giá trị đấu giá 𝑏𝑏𝑠𝑠𝑑𝑑 𝑢𝑢𝑣𝑣 Như đã đề cập tại mục 1.2 và 2.2, giải thuật Greedy với việc chú trọng vào bài toán lợi nhuận có thể làm ảnh hưởng chất lượng gợi ý việc làm, từ đó kéo theo hệ luỵ về uy tín sụt giảm và sự rời đi của người dùng trong hệ thống Do đó, theo hướng nghiên cứu của mình, tác giả đề xuất Giải thuật Greedy Cải Thiện (Improved Greedy) cho bài toán ghép đôi lưỡng phân của luận văn, được trình bày ở Giải thuật (4.1) bên dưới Giải thuật đề xuất này được tham khảo dựa trên bài báo của A Mehta về Online Matching [8] Cần lưu ý rằng giải thuật đề xuất được xây dựng dựa trên giả định Small Bids, có nghĩa là 𝐵𝐵 𝑈𝑈 ≫ 𝑏𝑏𝑠𝑠𝑑𝑑 𝑢𝑢𝑣𝑣
So với giải thuật Greedy ban đầu [8], giải thuật được đề xuất được cải thiện hơn ở bước sử dụng các giải pháp gợi ý để góp phần nâng cao hiệu suất giới thiệu việc làm Bằng giải pháp ProMat hay ProSim, hệ thống có thể tính toán ra được giá trị ưu tiên hiển thị 𝑝𝑝 𝑛𝑛 , từ đó gán vị trí trang hiển thị cho từng việc làm Vị trí trang càng nhỏ thì độ ưu tiên hiển thị trang càng cao, từ đó giúp nâng cao khả năng tiếp cận của các việc làm có tiềm năng được ứng tuyển hơn đến người tìm việc
Ngoài ra, để phần nào nâng cao hơn phần lợi nhuận từ việc tính phí giới thiệu việc làm, tác giả áp dụng phương pháp Greedy vào từng trang hiển thị thông qua việc sắp xếp lại việc làm trong từng trang theo mức đấu giá giảm dần Với cách sắp xếp ở giải thuật được đề xuất, các việc làm có tiềm năng được ứng tuyển cao đồng thời có mức đấu giá cao sẽ được ưu tiên hiển thị trước Do đó, các việc làm này có nhiều khả năng được tương tác bởi người tìm việc hơn Như vậy, giải thuật được đề xuất có thể đảm bảo được nhiệm vụ đã đề cập ở mục 2.2: uy tín của quá trình giới thiệu việc làm và phần nào cân bằng với lợi nhuận để duy trì hệ thống
Giải thuật (4.1): Giải thuật Greedy Cải Thiện Đầu vào: Một đỉnh 𝑣𝑣 gồm có từ khoá 𝑞𝑞 và thông tin người tìm việc 𝑎𝑎 Đầu ra: Tập các đỉnh 𝑛𝑛 ∈ 𝑁𝑁 đã được gán trang hiển thị 𝑃𝑃 𝑛𝑛 và được sắp xếp theo độ ưu tiên 𝑏𝑏𝑠𝑠𝑑𝑑 𝑢𝑢𝑣𝑣
Khi có một đỉnh 𝒗𝒗 ∈ 𝑽𝑽 đến:
Nếu không tìm được bất kỳ một đỉnh láng giềng (neighbor) 𝑢𝑢 ∈ 𝑈𝑈 của 𝑣𝑣 nào hoặc 𝐵𝐵 𝑢𝑢