ĐẠI HỌC ĐÀ NẴNG
TRƢỜNG ĐẠI HỌC BÁCH KHOA
TRƢƠNG ĐÌNH THIÊN
ỨNG DỤNG KỸ THUẬT HỌC MÁY ĐỂ DỰ ĐOÁN
KHẢ NĂNG CHUYỂN VIỆC CỦA NHÂN VIÊN TRONG
NGÀNH CÔNG NGHỆ THÔNG TIN
LUẬN VĂN THẠC SĨ
KHOA HỌC MÁY TÍNH
Đà Nẵng, 2022
ĐẠI HỌC ĐÀ NẴNG
TRƢỜNG ĐẠI HỌC BÁCH KHOA
TRƢƠNG ĐÌNH THIÊN
ỨNG DỤNG KỸ THUẬT HỌC MÁY ĐỂ DỰ ĐOÁN
KHẢ NĂNG CHUYỂN VIỆC CỦA NHÂN VIÊN TRONG
NGÀNH CÔNG NGHỆ THÔNG TIN
Chuyên ngành: Khoa học máy tính
Mã số: 8480101
LUẬN VĂN THẠC SĨ
Ngƣời hƣớng dẫn khoa học: TS. Trƣơng Ngọc Châu
Đà Nẵng, 2022
i
LỜI CAM ĐOAN
Tôi xin cam đoan:
1. Nội dung của dự án này được tôi thực hiện theo sự hướng dẫn của thầy
Trương Ngọc Châu.
2. Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai
cơng bố trong bất kỳ cơng trình nào khác.
3. Tất cả các tài liệu tham khảo, được sử dụng trong luận văn dự án này, được
trích dẫn với tên tác giả, tên dự án, thời gian và địa điểm để xuất bản một cách rõ ràng
và trung thực.
4. Tất cả các bản sao không hợp lệ, vi phạm quy chế hoặc gian lận sẽ do chúng
tơi hồn tồn chịu trách nhiệm.
Tác giả luận văn ký và ghi rõ họ tên
Trương Đình Thiên
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
ii
ỨNG DỤNG KỸ THUẬT HỌC MÁY ĐỂ DỰ ĐOÁN KHẢ NĂNG CHUYỂN VIỆC CỦA
NHÂN VIÊN TRONG NGÀNH CÔNG NGHỆ THÔNG TIN
Học viên: Trương Đình Thiên. Chuyên ngành: Khoa học máy tính
Mã số: 8480101 Khóa: K41.KMT (PFIEV) Trường Đại học Bách khoa – ĐHĐN
Trong những năm gần đây, học máy (machine learning) đã trở thành một chủ đề nóng trong
khoa học máy tính. Học sâu (deep learning) là một lĩnh vực của học máy, sử dụng mạng nơ-ron nhân
tạo. Nó nhanh đạt được độ chính xác ở cấp độ cao hơn các phương pháp được tạo ra trước đó bằng
cách dạy máy tính làm những gì mà con người có thể làm được. Học sâu đạt đến hiệu suất tuyệt vời
trong nhiều lĩnh vực như tài chính, trợ lý ảo, nhận dạng khn mặt, dự đốn thị trường, v.v
Nhân viên trong lĩnh vực công nghệ thông tin thường chuyển việc nhiều và đột ngột để phù hợp
với nhu cầu làm việc của mình. Trong trường hợp đó, cơng ty thường phải đối mặt với tình trạng cạn
kiệt nguồn nhân lực. Hiểu được khả năng di chuyển công việc của nhân viên có thể mang lại lợi ích
cho cơng ty theo nhiều cách khác nhau. Trong khi hầu hết các nghiên cứu tập trung vào dự đốn chức
danh cơng việc tiếp theo, vấn đề dự báo thời gian làm việc và tỉ lệ chuyển việc của nhân viên ở cấp độ
cá nhân ít được chú ý. Hơn nữa, các phương pháp trước đây coi các kinh nghiệm khác nhau của nhân
viên là quan trọng như nhau nên các mơ hình trí tuệ nhân tạo không thể tận dụng mối liên hệ tiềm
năng giữa các kinh nghiệm. Để giải quyết các vấn đề trên, chúng tơi xây dựng một mơ hình mới với cơ
chế chú ý (attention mechanism). Cụ thể hơn, cơ chế chú ý mang lại nhiều hiểu biết hơn cho các thông
tin ẩn đã học. Khác với các nghiên cứu trước đây, mơ hình của chúng tơi có thể sử dụng hiệu quả kinh
nghiệm của nhân viên trước đó và linh hoạt thích ứng với các thơng tin có tầm quan trọng khác nhau.
Phương pháp của chúng tôi được áp dụng cho 10.000 hồ sơ ứng viên trong lĩnh vực công nghệ thông
tin ở Việt Nam. Những hồ sơ này được thu thập trong thế giới thực, cụ thể là từ Linkedin. Mơ hình của
chúng tơi cho thấy kết quả đáng kể và vượt trội hơn so với mơ hình trước đó.
Trong luận văn này, chúng tơi đã ứng dụng cơ chế chú ý và nhiều công nghệ khác để dự đốn tỉ
lệ chuyển việc, cơng việc tiếp theo và thời gian làm việc ở vị trí mới của một nhân viên dựa vào kinh
nghiệm làm việc của nhân viên đó. Thông qua phương pháp này, chúng tôi so sánh ưu điểm và nhược
điểm so với các mơ hình đã có.
Từ khóa: Học máy, trí tuệ nhân tạo, dự đốn chức danh, cơ chế chú ý, phân tích sự sống
APPLICATION OF MACHINE LEARNING TECHNIQUES TO FORECAST EMPLOYEE
TRANSFER IN THE INFORMATION TECHNOLOGY INDUSTRY
In recent years, machine learning has become a hot topic in computer science. Deep learning is
an area of machine learning that uses artificial neural networks. It quickly achieves a higher level of
accuracy than previously created methods by teaching computers to do what humans can do. Deep
learning achieves great performance in many areas like finance, virtual assistants, facial recognition,
market prediction, etc.
Employees in the field of information technology often change jobs often and suddenly to match
their working needs. In that case, the company often faces a shortage of human resources. Understanding
employee mobility can benefit a company in a variety of ways. While most studies focus on predicting the
next job title, the issue of forecasting employee time and turnover at the individual level has received little
attention. Furthermore, previous methods considered different employee experiences equally important, so
artificial intelligence models failed to take advantage of potential associations between experiences. To
solve the above problems, we build a new model with an attention mechanism. More specifically, the
attention mechanism brings more insights to learned hidden information. Different from previous studies,
our model can effectively use previous employee experience and flexibly adapt to information of different
importance. Our method is applied to 10,000 candidates in the information technology field in Vietnam.
These profiles are collected in the real world, specifically from Linkedin. Our model shows significant and
superior results compared to the previous model.
In this thesis, we have applied the attention mechanism and many other technologies to predict
an employee's job transfer rate, next job and working time in a new position based on work
experience. of that employee. Through this method, we compare the advantages and disadvantages
compared to the existing models.
Keywords: Machine learning, artificial intelligence, job title prediction, attention mechanism,
life analysis
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
iii
MỤC LỤC
LỜI CAM ĐOAN .......................................................................................................... i
TÓM TẮT .................................................................................................................... ii
MỤC LỤC .................................................................................................................... iii
DANH MỤC CÁC BẢNG.............................................................................................v
DANH MỤC CÁC HÌNH ........................................................................................... vi
MỞ ĐẦU .........................................................................................................................1
1. Lý do chọn đề tài...................................................................................................1
2. Mục đích của dự án ...............................................................................................1
3. Mục tiêu của dự án ................................................................................................1
4. Phạm vi nghiên cứu ..............................................................................................2
5. Phương pháp nghiên cứu ......................................................................................2
6. Ý nghĩa khoa học và thực tiễn của đề tài ..............................................................2
7. Kết cấu của luận văn .............................................................................................3
CHƯƠNG 1. LÝ THUYẾT VÀ CƠNG NGHỆ ..........................................................4
1.1. Dự đốn tuần tự ........................................................................................................4
1.2. Mạng nơ-ron .............................................................................................................4
1.3. Mạng nơ-ron hồi quy ................................................................................................5
1.3.1. Dữ liệu tuần tự (sequence data) ......................................................................5
1.3.2. Mơ hình mạng nơ-ron hồi quy ........................................................................6
1.3.3. Bộ nhớ dài-ngắn hạn .......................................................................................6
1.3.4. Phân loại – Lớp kết nối đầy đủ .......................................................................7
1.4. Mơ hình mã hóa – giải mã ........................................................................................8
1.5. Nhúng từ .................................................................................................................10
1.6. Cơ chế chú ý ...........................................................................................................11
1.7. Phân tích tỷ lệ sống sót ...........................................................................................12
1.7.1. Dữ liệu bị che ................................................................................................12
1.7.2. Mơ hình phân tích tỷ lệ sống sót ...................................................................14
1.7.3. Phương trình sống sót ...................................................................................15
1.7.4. Hàm rủi ro .....................................................................................................16
1.7.5. Mơ hình mối nguy theo tỷ lệ của Cox ..........................................................17
1.8. Huấn luyện và đánh giá mơ hình ............................................................................17
1.8.1. Huấn luyện ....................................................................................................17
1.8.2. Sự quá khớp và chưa khớp............................................................................18
1.8.3. Đánh giá ........................................................................................................19
1.9. Công nghệ ...............................................................................................................24
1.9.1. Tensorflow ....................................................................................................24
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
iv
1.9.2. Scikit-Survival ..............................................................................................24
1.9.3. Selenium .......................................................................................................25
1.9.4. FastText .........................................................................................................26
CHƯƠNG 2. HỆ THỐNG THU THẬP DỮ LIỆU ..................................................27
2.1. Dữ liệu mẫu ............................................................................................................27
2.2. Thu thập đường dẫn hồ sơ ứng viên .......................................................................29
2.3. Thu thập tên ứng viên và thông tin liên lạc ............................................................30
2.4. Thu thập phần thông tin thêm .................................................................................31
2.5. Thu thập phần thông tin về kinh nghiệm làm việc .................................................31
2.6. Thu thập phần thơng tin về trình độ học vấn ..........................................................32
2.7. Thu thập phần thông tin về kỹ năng làm việc ........................................................34
2.8. Nhận xét kết quả .....................................................................................................35
CHƯƠNG 3. PHÂN TÍCH, THIẾT KẾ VÀ XÂY DỰNG MƠ HÌNH...................36
3.1. Các khó khăn ..........................................................................................................36
3.2. Dữ liệu đầu vào.......................................................................................................37
3.3. Tiền xử lý dữ liệu ...................................................................................................40
3.4. Phân tích dữ liệu .....................................................................................................43
3.5. Xây dựng tập dữ liệu huấn luyện............................................................................44
3.6. Xây dựng mơ hình ..................................................................................................45
3.6.1. Xây dựng vấn đề ...........................................................................................45
3.6.2. Thiết kế hệ thống ..........................................................................................46
3.6.3. Nhúng từ .......................................................................................................47
3.6.4. Cơ chế chú ý .................................................................................................51
3.6.5. Mơ-đun dự đốn ............................................................................................51
3.7. Đánh giá mơ hình ...................................................................................................54
3.7.1. Các mơ hình cơ sở.........................................................................................54
3.7.2. Đánh giá mơ-đun dự đốn chức danh cơng việc tiếp theo ............................55
3.7.3. Đánh giá mơ-đun dự đốn thời gian làm việc ở chức danh tiếp theo ...........57
3.7.4. Đánh giá mơ-đun dự đốn tỉ lệ nghỉ việc tại thời điểm hiện tại ...................57
3.7.5. Nhận xét chung .............................................................................................58
KẾT LUẬN ..................................................................................................................60
DANH MỤC TÀI LIỆU THAM KHẢO
QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN (Bản sao)
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
v
DANH MỤC CÁC BẢNG
Số hiệu
bảng
Tên bảng
Trang
3.1:
3.2:
3.3:
Một số từ viết tắt được thay thế
Các ký hiệu được sử dụng trong đề tài.
Đánh giá các mơ hình bằng độ chính xác
Đánh giá các mơ hình bằng đánh giá xếp hạng phần trăm
trung bình
Đánh giá các mơ hình bằng sai số tồn phương trung bình
Đánh giá các mơ hình bằng chỉ số hịa hợp
42
46
56
3.4:
3.5:
3.6:
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
56
57
58
Lưu hành nội bộ
vi
DANH MỤC CÁC HÌNH
Số hiệu
hình
1.1:
1.2:
1.3:
1.4:
1.5:
1.6:
1.7:
1.8:
1.9:
1.10:
1.11:
1.12:
1.13:
1.14:
1.15:
1.16:
1.17:
1.18:
1.19:
1.20:
1.21:
1.22:
1.23:
1.24:
Tên hình
Trang
Mạng Nơ-ron
Kinh nghiệm làm việc của một nhân viên
Mạng nơ-ron hồi quy
Mạng LSTM
Lớp kết nối đầy đủ
Thiết lập kiến trúc bộ mã hóa-giải mã. Mạng mã hóa xử lý chuỗi
đầu vào thành một chuỗi được mã hóa, sau đó được bộ giải mã
sử dụng để tạo đầu ra.
Sử dụng trạng thái tóm tắt trong kiến trúc mơ hình mã hóa-giải
mã
Sử dụng trình tự được mã hóa hồn chỉnh trong mạng giải mã.
Một ví dụ về nhúng từ
Áp dụng cơ chế chú ý để tạo phụ đề cho ảnh. Các vùng màu
trắng cho biết cơ chế chú ý tập trung vào đâu trong quá trình tạo
ra từ được gạch chân
Dữ liệu không che, thời gian kết thúc của tất cả sự kiện được biết
chính xác
Dữ liệu che bên phải, vài sự kiện chưa kết thúc và khơng biết
chính xác thời gian sẽ kết thúc
Dữ liệu che bên trái, vài sự kiện đã kết thúc và không biết chính
xác thời gian đã kết thúc.
Dữ liệu che theo khoảng thời gian, vài sự kiện đã kết thúc và
không biết chính xác thời gian kết thúc nhưng biết được thời
gian kết thúc nằm giữa một khoảng thời gian.
Một ví dụ về phương pháp phân tích sự sống
Phương trình sống sót
Một ví dụ về sự q khớp, sự chưa khớp, và mơ hình đúng
Một dự đốn của mơ hình
Một ví dụ về chỉ số hịa hợp hồn hảo
Một ví dụ về chỉ số hịa hợp hồn hảo
Một ví dụ về chỉ số hịa hợp nhỏ nhất
Một ví dụ về cách tính chỉ số hịa hợp
Một ví dụ về cách tính chỉ số hòa hợp với dữ liệu bị che bên phải
Tensorflow
4
5
6
7
8
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
9
9
10
11
12
13
13
13
14
15
16
18
20
21
21
22
22
23
24
Lưu hành nội bộ
vii
Số hiệu
hình
1.25:
1.25:
1.26:
2.1:
2.2:
2.3:
2.4:
2.5:
2.6:
2.7:
2.8:
2.9:
2.10:
2.11:
2.12:
2.13:
2.14:
2.15:
3.1:
3.2:
3.3:
3.4:
3.5:
3.6:
3.7:
3.8:
3.9:
3.10:
3.11:
3.12:
3.13:
3.14:
Tên hình
Trang
Scikit-learn
Selenium
FastText
Trình tự làm việc của “CVCrawler”
Một hồ sơ ứng viên mẫu trên mạng xã hội
Đường dẫn hồ sơ ứng viên cần thu thập
Mã Selenium để thu thập đường dẫn
Tên ứng viên cần thu thập
Mã Selenium để thu thập tên ứng viên
Phần thông tin thêm cần thu thập
Mã Selenium để thu thập thông tin thêm
Phần thông tin về kinh nghiệm làm việc
Mã Selenium để thu thập kinh nghiệm làm việc
Phần thơng tin về trình độ học vấn
Mã selenium để thu thập trình độ học vấn
Phần thơng tin về kỹ năng làm việc cần thu thập
Mã Selenium để thu thập kỹ năng làm việc
Một kết quả thu thập được bằng “CVCrawler”
Kinh nghiệm làm việc của một ứng viên
Các kỹ năng của một ứng viên
Dữ liệu mẫu của một số ứng viên
Dữ liệu thô của một ứng viên
Chức danh và tần số xuất hiện của một số chức danh
Một số chức danh có tần số xuất hiện thấp
Kỹ năng và tần số xuất hiện của một số kỹ năng
Dữ liệu sau khi trích xuất để phục vụ việc huấn luyện
Biểu diễn đồ họa của mơ hình đề xuất bằng cách sử dụng cơ chế
chú ý trong việc xác định trọng số các trạng thái ẩn từ lớp LSTM
để có được thơng tin tiềm ẩn giữa các trải nghiệm cơng việc
Một ví dụ nhúng từ “java developer” thành vec-tơ 100 chiều
Biểu diễn nhúng từ của một số chức danh trong không gian hai
chiều
Biểu diễn nhúng từ của một số kỹ năng trong khơng gian hai
chiều
Biểu diễn của lớp gộp trung bình
Quy trình dự đốn cơng việc tiếp theo
24
25
26
27
28
29
30
30
30
31
31
31
32
33
33
34
34
35
37
38
39
41
43
43
44
45
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
47
48
49
49
50
52
Lưu hành nội bộ
viii
Số hiệu
hình
3.15:
3.16:
3.17:
3.18:
3.19:
3.20:
Tên hình
Trang
Một kết quả của mơ-đun dự đốn chức danh tiếp theo
Quy trình dự đốn thời gian làm việc ở chức danh tiếp theo
Một số kết quả của mô-đun dự đốn thời gian làm việc
Quy trình dự đốn tỉ lệ nghỉ việc của nhân viên
Phương trình sống sót của một nhân viên
So sánh hàm mất mát của mơ hình trong q trình huấn luyện có
sử dụng cơ chế chú ý và không sử dụng cơ chế chú ý
52
52
53
54
54
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
59
Lưu hành nội bộ
1
MỞ ĐẦU
1. Lý do chọn đề tài
Nhân viên trong lĩnh vực cơng nghệ thơng tin rất tích cực trong sự nghiệp của
họ. Nhân viên thường xuyên chuyển việc một cách đột xuất với mật độ chuyển việc
cao. Trong trường hợp đó, cơng ty thường giải quyết tình trạng cạn kiệt nguồn nhân
lực. Hiểu được khả năng di chuyển công việc của nhân viên có thể mang lại lợi ích cho
cơng ty theo nhiều cách khác nhau.
Trong khi hầu hết các nghiên cứu tập trung vào dự đốn chức danh cơng việc
tiếp theo, vấn đề dự báo thời gian làm việc và tỉ lệ chuyển việc của nhân viên ở cấp độ
cá nhân ít được chú ý. Các phương pháp nghiên cứu trước đây như hệ thống gợi ý
(recommendation system) [1][2], phương pháp khai thác dữ liệu lớn (data mining) [3],
phương pháp dự đốn tuần tự dựa vào xích Markov (Markov chain) [4] hầu hết sử
dụng rất nhiều thông tin từ nhân viên như mức lương, tình trạng gia đình, khoản cách
làm việc, … đây là các thông tin nhạy cảm, khó thu thập nên khơng có tính tổng qt
cao. Hơn nữa, các phương pháp trước đây coi các kinh nghiệm khác nhau của nhân
viên là quan trọng như nhau nên các mơ hình trí tuệ nhân tạo khơng thể tận dụng mối
liên hệ tiềm năng giữa các kinh nghiệm. Để giải quyết các vấn đề trên, chúng tôi xây
dựng một mơ hình mới với cơ chế chú ý (attention mechanism) và phương pháp phân
tích tỷ lệ sống sót (survival analysis).
Cụ thể hơn, cơ chế chú ý mang lại nhiều hiểu biết hơn cho các thông tin ẩn đã
học. Phương pháp phân tích tỷ lệ sống sót dựa vào những sự kiện diễn ra trong quá
khứ dể dự đoán các sự kiện sẽ diễn ra trong tương lai bằng phương pháp tính tốn hàm
sự sống (survival function) của đối tượng. Khác với các nghiên cứu trước đây, mơ
hình của chúng tơi có thể sử dụng hiệu quả kinh nghiệm của nhân viên trước đó và
linh hoạt thích ứng với các thơng tin có tầm quan trọng khác nhau. Phương pháp của
chúng tôi được áp dụng cho 10.000 hồ sơ trong thế giới thực và cho thấy kết quả đáng
kể vượt trội so với mơ hình cơ sở và các mơ hình được xây dựng trước đó.
2. Mục đích của dự án
- Giải quyết vấn đề thiếu hụt nhân lực bằng cách cung cấp thông tin cần thiết
cho bộ phân nhân sự của công ty để đưa ra những quyết định kịp thời.
- Giúp việc tuyển dụng nhân tài, giữ chân nhân tài, phát triển nhân tài dễ dàng
hơn ở góc độ cơng ty.
3. Mục tiêu của dự án
- Dự đốn tỉ lệ chuyển việc của nhân viên bằng kỹ thuật học máy
- Dự đốn chức danh của cơng việc tiếp theo của nhân viên bằng kỹ thuật học
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
2
máy
- Dự đốn thời gian làm việc ở vị trí mới của nhân viên bằng kỹ thuật học máy
- Áp dụng cơ chế chú ý để tăng độ chính xác của mơ hình
- Áp dụng phân tích tỷ lệ sống sót để dự đốn tỉ lệ chuyển việc.
4. Phạm vi nghiên cứu
- Ngơn ngữ lập trình Python
- Học sâu (Deep learning)
- Cơ chế chú ý (Attention mechanism)
- Phân tích tỷ lệ sống sót (Survival analysis)
- Sử dụng Tensorflow, Selenium
5. Phương pháp nghiên cứu
5.1. Phần lý thuyết:
- Lý thuyết về cách áp dụng học sâu để dự đốn cơng việc tiếp theo
- Lý thuyết về phân tích tỷ lệ sống sót (survival analysis)
- Lý thuyết về cơ chế chú ý (attention mechanism)
- Cách đo lường độ chính xác của mơ hình
5.2. Phần lập trình:
- Xây dựng mơ hình dự đốn
- Áp dụng phân tích tỷ lệ sống sót vào mơ hình đề xuất
- Áp dụng cơ chế chú ý vào mô hình đề xuất
6. Ý nghĩa khoa học và thực tiễn của đề tài
6.1. Ý nghĩa khoa học
Xây dựng một mô hình hồn tồn mới để giải quyết bài tốn dự đốn tỉ lệ nghỉ
việc. Khơng chỉ vậy, nghiên cứu cịn góp phần chỉ ra ưu nhược điểm của từng loại
thuật tốn cũng như tìm ra ưu điểm vượt trội của cơ chế chú ý trong xử lý dữ liệu tuần
tự. Từ đó chỉ ra một hướng mới cho các nghiên cứu tương tự trong tương lai.
Áp dụng phương pháp phân tích tỉ lệ sống sót, vốn đã được sử dụng nhiều trong
các nghiên cứu y khoa, vào một lĩnh vực hồn tồn mới. Phương pháp này có rất nhiều
tiềm năng trong việc giải quyết các bài toán dự báo trong tương lai.
6.2. Ý nghĩa thực tiễn
Luận văn nghiên cứu này giúp các doanh nghiệp có thêm nhiều cơ sở trong việc
giải quyết bài toán nhân sự, đặc biệt là trong việc giữ chân nhân tài, chiêu mộ nhân tài
và phát triển nhân tài.
Khơng chỉ vậy, mơ hình đề xuất trong luận văn có thể được ứng dụng rộng rãi
vào các lĩnh vực khác nhau để giải quyết những bài toán tương tự.
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
3
7. Kết cấu của luận văn
• Chương 1: Lý thuyết và công nghệ. Nghiên cứu lý thuyết và công nghệ
được sử dụng trong dự án
• Chương 2: Hệ thống thu thập dữ liệu. Trình bày các cách thu thập thơng
tin từ khuôn mẫu của hồ sơ ứng viên để xây dựng tập huấn luyện.
• Chương 3: Phân tích, thiết kế, xây dựng mơ hình. Trình bày các khó
khăn khi xây dựng đề tài, phương pháp thiết kế, phương pháp xây dựng mơ
hình
• Kết luận. Trình bày các kết quả đạt được, các điểm cần cải thiện và định
hướng của dự án trong tương lai.
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
4
CHƯƠNG 1
LÝ THUYẾT VÀ CƠNG NGHỆ
1.1. Dự đốn tuần tự
Trong phần này, chúng tôi sẽ tập trung giải quyết vấn đề dự đoán dựa vào dữ
liệu chuỗi tuần tự (sequence)
Trong phần đầu tiên, chúng tôi giới thiệu mạng nơ-ron (neural network) là
những phần thiết yếu của việc dự đoán. Phần thứ hai, chúng tơi trình bày lý thuyết về
mạng nơron hồi quy (recurrent neural network) và phân loại đối tượng. Trong phần
cuối cùng, chúng tơi trình bày mơ hình dự đoán dựa vào chuỗi tuần tự
1.2. Mạng nơ-ron
Mạng nơ-ron nhân tạo là một trong những cơng cụ chính được sử dụng trong
học máy. Như phần "thần kinh" trong tên gọi của chúng, chúng là hệ thống lấy cảm
hứng từ não bộ nhằm tái tạo cách con người học hỏi. Mạng nơ-ron bao gồm các lớp
đầu vào và đầu ra, cũng như (trong hầu hết các trường hợp) một lớp ẩn bao gồm các
đơn vị biến đổi đầu vào thành thứ
mà lớp đầu ra có thể sử dụng. Mạng nơ-ron là một cơng cụ tuyệt vời để tìm kiếm và
trích xuất các mẫu (pattern) phức tạp mà con người không thể làm được.
Trong mạng dày đặc bình thường hoặc nhiều lớp, tất cả các nơ-ron trong một
lớp sẽ được kết nối với tất cả các nơ-ron trong lớp tiếp theo. Có nghĩa là các tham số
trọng số của mạng là tích số nhân của số nơ-ron trong các lớp được kết nối và nó địi
hỏi sức mạnh tính tốn cao hơn.
Hình 1.1: Mạng Nơ-ron
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
5
1.3. Mạng nơ-ron hồi quy
1.3.1. Dữ liệu tuần tự (sequence data)
Trong hình là kinh nghiệm làm việc của một nhân viên, gồm 3 kinh nghiệm làm
việc. Dữ liệu có thứ tự và dựa vào thời gian như kinh nghiệm làm việc được gọi là dữ
liệu tuần tự (sequence data) và dữ liệu theo thời gian (time-series data)
Trong bài toán dự đốn chức danh cơng việc tiếp theo của nhân viên. Dữ liệu
vào là chức danh của các công việc trước đó, ví dụ t1 là chức danh ở năm 2018, t2 là
chức danh ở năm 2021, t3 chức danh ở năm 2022. (t1, t2, t3) được gọi là dữ liệu tuần
tự. Mạng nơ-ron hồi quy sẽ học từ dữ liệu đầu vào và dự đoán xem chức danh tiếp
theo của nhân viên là gì.
Kích thước của dữ liệu tuần tự là khơng cố định và có thể thay đổi tùy thuộc vào
độ dài của kinh nghiệm làm việc của mỗi nhân viên. Việc tái định hình (reshape) dữ
liệu để đưa các dữ liệu tuần tự về cùng một hình (shape) là cần thiết khi làm việc với dữ
liệu tuần tự.
Hình 1.2: Kinh nghiệm làm việc của một nhân viên
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
6
1.3.2. Mơ hình mạng nơ-ron hồi quy
Mạng nơ-ron hồi quy (Recurrent neural network hay RNN) [5] là một lớp của
mạng thần kinh nhân tạo, nơi kết nối giữ các nút để tạo thành độ thị có hướng dọc theo
một tình tự thời gian. Điều này cho phép mạng thể hiện hành vi động tạm thời. Có
nguồn gốc từ mạng thần kinh truyền thẳng, RNN có thể dùng trạng thái trong (bộ nhớ)
để xử lý các chuỗi đầu vào co độ dài thay đổi. Điều này làm cho RNN có thể áp dụng
cho các tác vụ như nhận dạng chữ viết tay, nhận dạng tiếng nói, dự đốn thị trường, dự
đốn sự kiện, …
Hình 1.3: Mạng nơ-ron hồi quy
Mạng nơ-ron hồi quy được dùng để xử lý dữ liệu dạng tuần tự x = (x1, x2, …,
xt) với t là chiều dài của chuỗi tuần tự. Mạng RNN được gọi là hồi quy vì chúng thực
hiện cùng một nhiệm vụ cho mọi phần tử của một chuỗi, với đầu ra phụ thuộc vào ác
tính tốn trước đó. Một cách khác để nghĩ về RNN là chúng có một “Bộ nhớ” ghi lại
thơng tin về những gì đã được tính tốn cho đến nay.
Ưu điểm của mạng hồi quy là:
• Mạng nơ-ron hồi quy có thể lập mơ hình chuỗi dữ liệu để mỗi mẫu có thể được
giả định là phụ thuộc vào các mẫu trước đó
• Mạng nơ-ron hồi quy thậm chí cịn được sử dụng với các lớp phức hợp để mở
rộng vùng lân cận pixel hiệu quả.
Nhược điểm của mạng hồi quy là:
• Gradient biến mất (Gradient vanishing) và Gradient bùng nổ (Gradient
exploding).
• Có nhiều khó khăn khi xây dựng một mơ hình mạng nơ-ron hồi quy
• Khơng thể xử lý một dữ liệu tuần tự quá dài
1.3.3. Bộ nhớ dài-ngắn hạn
Bộ nhớ dài-ngắn hạn (Long-short term memory hay LSTM) [6] là một mạng
thần kinh hồi quy (RNN) nhân tạo được sử dụng trong lĩnh vực học sâu. Không giống
như các mạng thần kinh truyền thẳng tiểu chuẩn, LSTM có chứa các kết nối phản hồi.
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
7
Mạng không chỉ xử lý các điểm dữ liệu đơn lẻ (như các hình ảnh) mà cịn xử lý tồn bộ
chuỗi dự liệu (như một video).
Hình 1.4: Mạng LSTM
Trong mạng LSTM có ba cổng:
• Cổng đầu vào - khám phá giá trị nào từ đầu vào nên được sử dụng để sửa
đổi bộ nhớ.
• Cổng quên - khám phá những chi tiết nào sẽ bị loại bỏ khỏi khối.
• Cổng đầu ra - đầu vào và bộ nhớ của khối được sử dụng để quyết định đầu
ra.
Đầu ra tầng ẩn của LSTM bao gồm các trạng thái ẩn và các ô nhớ. Chỉ các trạng
thái ẩn là được truyền tới tầng đầu ra. Các ơ nhớ hồn tồn được sử dụng nội bộ trong
tầng. LSTM có thể đối phó với vấn đề gradient biến mất và gradient bùng nổ.
1.3.4. Phân loại – Lớp kết nối đầy đủ
Lớp kết nối đầy đủ (Fully-connected layer) hay Perceptron nhiều lớp (Multilayer Perceptron) là một cách nhanh nhất để học các tổ hợp phi tuyến tính của các đối
tượng cấp cao như được biểu thị bằng đầu ra của lớp chập. Lớp kết nối đầy đủ là một
hàm phi tuyến tính trong khơng gian và được dùng để chuyển các thuộc tính ẩn đã
được học thành các kết quả đầu ra.Chúng tôi chuyển đổi các thông tin ẩn đã được học
bởi mạng nơ-ron hồi quy thành một lớp phẳng (flatten) và cung cấp cho mạng. Qua
một loạt các kỷ ngun, mơ ình có thể phân biệt giữa các đặc điểm thống trị và một số
đặc điểm cấp thấp nhất định trong chuỗi dữ liệu tuần tự và đưa ra dự đoán.
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
8
Hình 1.5: Lớp kết nối đầy đủ
1.4. Mơ hình mã hóa – giải mã
Để giải quyết các bài tốn với dữ liệu đầu vào là dữ liệu tuần tự có kích thước
khác nhau. Mơ hình mã hóa – giải mã (Encoder-Decoder model) đã được đưa ra để giải
quyết các bài tốn tuần tự (seq2seq).
Mơ hình mã hóa – giải mã bao gồm:
1. Mã hóa các dữ liệu đầu vào thành một số biểu diễn trừu tượng.
2. Thao tác mã hóa chuỗi số.
3. Giải mã chuỗi số thành chuỗi mục tiêu.
Ví dụ áp dụng mơ hình mã hóa – giải mã để dịch ngày tháng từ định dang chữ
sang số.
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
9
Hình 1.6: Thiết lập kiến trúc bộ mã hóa-giải mã. Mạng mã hóa xử lý chuỗi đầu vào
thành một chuỗi được mã hóa, sau đó được bộ giải mã sử dụng để tạo đầu ra.
Hình 1.6 cho thấy một thiết lập bộ mã hóa-giải mã đơn giản. Bước mã hóa
thường tạo ra một chuỗi các vectơ tương ứng với chuỗi các ký tự trong ngày nhập.
Trong bộ mã hóa RNN, mỗi vectơ được tạo ra bằng cách tích hợp thơng tin từ chuỗi
vectơ trong quá khứ.
Trước khi truyền chuỗi vào bộ giải mã, chúng ta có thể chọn thao tác với nó để
chuẩn bị cho bộ giải mã. Ví dụ, chúng ta có thể chọn chỉ sử dụng bảng mã cuối cùng,
như được hiển thị trong Hình 1.7, vì theo lý thuyết, nó là một bản tóm tắt của tồn bộ
chuỗi trước đó.
Hình 1.7: Sử dụng trạng thái tóm tắt trong kiến trúc mơ hình mã hóa-giải mã
Về mặt trực quan, điều này tương tự như việc tóm tắt tồn bộ ngày nhập vào
một biểu diễn duy nhất và sau đó cố gắng giải mã. Mặc dù có thể có đủ thơng tin ở
trạng thái tóm tắt này cho một vấn đề phân loại như phát hiện cảm xúc (Nhiều-một),
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
10
nhưng nó có thể khơng đủ cho một bản dịch hiệu quả giúp xem xét toàn bộ chuỗi trạng
thái ẩn (Hình 1.8).
Hình 1.8: Sử dụng trình tự được mã hóa hoàn chỉnh trong mạng giải mã.
1.5. Nhúng từ
Nhúng từ (word embedding) [7] là một không gian vector dùng để biểu diễn dữ
liệu có khả năng miêu tả được mối liên hệ, sự tương đồng về mặt ngữ nghĩa, ngữ cảnh
(context) của dữ liệu. Không gian này bao gồm nhiều chiều và các từ trong khơng gian
đó mà có cùng văn cảnh hoặc ngữ nghĩa sẽ có vị trí gần nhau. Ví dụ như ta có hai câu:
"Hơm nay ăn táo " và "Hơm nay ăn xồi ". Khi ta thực hiện Word Embedding, "táo"
và "xồi" sẽ có vị trí gần nhau trong không gian chúng ta biễu diễn do chúng có vị trị
giống nhau trong một câu.
Mơ hình nhúng từ thường gặp là phương pháp tính tốn sự tương đồng ngữ
nghĩa giữa các từ để dự đoán từ tiếp theo bằng cách đưa qua một mạng neural network
có một hoặc vài layer dựa trên input là các từ xung quanh (context word). Một context
word có thể là một hoặc nhiều từ.
Có 2 phương pháp tính tốn phổ biến đó chính là:
• Túi từ liên tục (Continuous Bag-of-Words hay CBOW)
• Bỏ qua trọng số (Skip-gram)
Mơ hình CBOW: Phương pháp này lấy đầu vào là một hoặc nhiều từ ngữ nghĩa
(context word) và cố gắng dự đoán từ đầu ra (target word) thông qua một tầng mạng
nơ-ron đơn giản. Nhờ việc đánh giá kết quả đầu ra với từ đầu ra ở dạng one-hot, mơ
hình có thể điều chỉnh trọng số, học được véc-tơ biểu diễn cho từ đầu ra.
Mơ hình Skip-gram sử dụng input là từ đầu ra và cố gắng dự đốn ra các từ hàng xóm
của nó. Chúng định nghĩa các từ là hàng xóm (neightbor word) của nó thơng qua tham
số kích thước cửa sổ (window size). Ví dụ nếu bạn có một câu như sau: "Tơi thích ăn
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
11
cua hoàng đế". Và từ đầu vào ban đầu là từ cua. Với kích thước cửa sổ = 2, ta sẽ có
các từ hàng xóm là (thích, ăn, hồng, đế). Và chúng ta sẽ có 4 cặp đầu vào - đầu ra như
sau: (cua, thích), (cua, hồng), (cua, đế), (cua, ăn). Các từ hàng xóm được coi trọng
như nhau trong q trình huấn luyện.
Hình 1.9: Một ví dụ về nhúng từ
1.6. Cơ chế chú ý
Từ ví dụ về mơ hình mã hóa – giải mã trên, đó khơng phải là cách con người
đọc ngày tháng. Chúng ta khơng đọc tồn bộ văn bản và sau đó viết ra bản dịch một
cách độc lập ở mỗi ký tự. Một cách trực quan, một người sẽ hiểu rằng các ký tự “Jan”
tương ứng với tháng đầu tiên, “5” tương ứng với ngày và “2016” tương ứng với năm.
Cơ chế chú ý (attention mechanism) đã được đưa ra để cải thiện mơ hình mã hóa – giải
mã.
Một ví dụ trực quan hơn một chút về cách hoạt động của cơ chế chú ý trong
việc tạo phụ để cho bức ảnh. Cơ chế chú ý chỉ tập trung vào những vật thể quan trọng
và tạo ra những trọng số cao cho những vật thể đó. Ngược lại, với những phần ít quan
trọng trong bức ảnh sẽ được đánh trọng số thấp hơn và có thể bỏ qua khi tạo phụ đề.
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
12
Hình 1.10: Áp dụng cơ chế chú ý để tạo phụ đề cho ảnh. Các vùng màu trắng cho biết
cơ chế chú ý tập trung vào đâu trong quá trình tạo ra từ được gạch chân
Nói cách khác, thực chất cơ chế chú ý là cơ chế giúp mơ hình có thể tập trung
vào các phần quan trọng trên dữ liệu bằng việc tạo ra một trọng số cho từng chuỗi đầu
ra từ RNN, việc đó giúp mơ hình tập trung hơn vào các phần quan trọng trong chuỗi dữ
liệu đầu vào. Cụ thể hơn những công việc mà nhân viên làm việc trong thời gian dài sẽ
được đánh trọng số cao hơn so với những công việc làm trong thời gian ngắn. Các cơng
việc phổ biến có trọng số cao hơn so với những cơng việc khác.
1.7. Phân tích tỷ lệ sống sót
1.7.1. Dữ liệu bị che
Dữ liệu bị che (censored data) là bất kỳ dữ liệu nào mà chúng ta khơng biết
chính xác thời gian diễn ra sự kiện. Dữ liệu mà thời gian kết thúc của sự kiện được biết
chính xác được gọi là dữ liệu khơng che (uncensored data).
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
13
Hình 1.11: Dữ liệu khơng che, thời gian kết thúc của tất cả sự kiện được biết chính xác
Có 3 loại dữ liệu che:
• Dữ liệu che bên phải (right censored data)
Hình 1.12: Dữ liệu che bên phải, vài sự kiện chưa kết thúc và khơng biết chính xác
thời gian sẽ kết thúc
• Dữ liệu che bên trái (left censored data)
Hình 1.13: Dữ liệu che bên trái, vài sự kiện đã kết thúc và khơng biết chính xác thời
gian đã kết thúc.
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
14
• Dữ liệu che theo khoảng thời gian (interval censored data)
Hình 1.14: Dữ liệu che theo khoảng thời gian, vài sự kiện đã kết thúc và khơng biết
chính xác thời gian kết thúc nhưng biết được thời gian kết thúc nằm giữa một khoảng
thời gian.
Trong bài toán dự đoán tỉ lệ nghỉ việc của nhân viên thì ta phải đối mặt với dữ
liệu che bên phải vì với mỗi nhân viên ta biết được thời gian kết thúc công việc của
nhân viên trong q khứ nhưng khơng biết chính xác thời gian kết thúc của công việc
hiện tại, nhân viên có thể tiếp tục làm việc trong một thời gian dài và ta khơng biết
chính xác thời gian kết thúc cơng việc đó. Ví dụ nhân viên A có 3 kinh nghiệm làm
việc: kinh nghiệm 1 làm trong 2 năm, kinh nghiệm 2 làm trong 3 năm, kinh nghiệm 3
làm được 2 năm và vẫn tiếp tục làm việc tại thời điểm hiện tại. Các kinh nghiệm 1 và 2
đã biết được thời gian kết thúc nhưng không biết thời gian kết thúc của kinh nghiệm 3.
1.7.2. Mơ hình phân tích tỷ lệ sống sót
Phân tích tỷ lệ sống sót (survival analysis) còn là một lĩnh vực thống kê tập
trung vào việc phân tích thời gian dự kiến cho đến khi một sự kiện nào đó xảy ra. Ban
đầu, nhánh thống kê này phát triển xung quanh việc đo lường tác động của điều trị y tế
đối với sự sống còn của bệnh nhân trong các thử nghiệm lâm sàng. Ví dụ, hãy tưởng
tượng một nhóm bệnh nhân ung thư được áp dụng một hình thức điều trị mới nhất
định. Phân tích tỷ lệ sống sót có thể được sử dụng để phân tích kết quả của điều trị đó
về tuổi thọ của bệnh nhân.
Tuy nhiên, phân tích tỷ lệ sống sót khơng bị giới hạn trong việc điều tra các
trường hợp tử vong và cũng có thể được sử dụng để xác định thời gian cho đến khi
máy bị lỗi hoặc, người dùng của một nền tảng nhất định chuyển đổi sang một dịch vụ
cao cấp. Điều đó là có thể bởi vì phân tích sự tồn tại tập trung vào thời gian cho đến
khi một sự kiện xảy ra, mà không thực sự xác định sự kiện là một sự kiện tiêu cực. Các
điều kiện áp dụng cho các phương pháp phân tích tỷ lệ sống sót phổ biến nhất là sự
kiện quan tâm được xác định rõ ràng và cụ thể hóa, vì vậy khơng có sự mơ hồ về việc
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
15
liệu nó có xảy ra hay khơng,
Phân tích tỷ lệ sống sót được sử dụng để lập mơ hình chuỗi thời gian đến sự
kiện hay vòng đời của sự kiện. Chúng ta có thể sử dụng phân tích tỷ lệ sống sót để trả
lời câu hỏi:
- Có bao nhiêu phần trăm bệnh nhân sống sót sau khi bị ung thư
- Có bao nhiêu phần trăm dân số sống sót sau một thời gian nhất định
Tỉ lệ nghỉ việc của nhân viên sau một khoảng thời gian nhất định
Hình 1.15: Một ví dụ về phương pháp phân tích sự sống
1.7.3. Phương trình sống sót
Phương trình sống sót (survival function) là một hàm thời gian (t) và có thể
được biểu diễn dưới dạng:
𝑆 (𝑡 ) = 𝑃 (𝑇 ≥ 𝑡 )
(1)
S(t) là xác suất sống sót hay xác suất nghỉ việc của nhân viên sau thời gian t và
theo tính tổng quát S(0) = 1, S(∞) = 0 và hàm S(t) không tăng.
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ