Giai đoạn tiền xử lý

Một phần của tài liệu Tìm kiếm CVs tương ứng với yêu cầu tuyển dụng (Trang 42)

5. Bố cục luận văn

4.2Giai đoạn tiền xử lý

4.2.1 Xây dựng bộ từ điển

Trong tập các mẫu đơn xin việc , dưới đây là ví dụ về một mẫu đơn xin việc cơ bản gồm các thông tin cá nhân, công việc mong muốn, học vấn và kinh nghiệm làm việc.

Sau khi sử dụng bộ thư viện Apache Tika để đưa dữ liệu trong các đơn xin việc về một chuẩn dữ liệu chung, với từng đơn xin việc, nội dung sẽ được chia tách thành nhiều từ đơn dựa trên khoảng trắng giữa các từ.

Với mẫu đơn xin việc trong hình 4.3, sau khi thực hiện việc đọc dữ liệu và loại bỏ các kí tự không mang ý nghĩa (dấu chấm, dấu hỏi), dữ liệu thu được gồm 522 từ đơn như sau:

Hình 4.3 Thông tin đơn xin việc đã được trích rút

Sau đó, các từ này sẽ được tập hợp và xây dựng thành một từ điển chung cho toàn bộ các đơn xin việc đã thu thập được. Với số lượng 100 đơn xin việc, từ điển thu được gồm 4848 từ. Sau đây là hình ảnh của một đoạn dữ liệu trong từ điển.

Hình 4.4 Một đoạn dữ liệu trong từđiển

4.2.2 Mô hình hoá véc tơ

Trong bước này, bằng cách áp dụng 4 phương pháp mô hình hoá véc tơ đã trình bày trong chương 2 để thu được các véc tơ đặc trưng cho mỗi đơn xin việc. Với mỗi phương pháp trích chọn đặc trưng, kết quả thu được là 100 véc tơ đặc trừng cho 100 đơn xin việc đầu vào.

Ø Mô hình hoá theo sự xuất hiện của từ

Trọng số từ của véc tơ sẽ chi có hai giá trị là 1 hoặc 0. Giá trị 1 thể hiện từ đó có xuất hiện trong đơn xin việc đang kiểm tra và ngược lại sẽ nhận giá trị 0 tương ứng nếu từ đó không xuất hiện.

Với đơn xin việc trong hình 4.2 ở phía trên, véc tơ đặc trưng thu được sẽ gồm 522 chiều có giá trị là 1 trong tổng số 4848 chiều.

Ø Mô hình hoá theo tần suất xuất hiện của từ (TF):

Hình 4.5 Minh hoạ véc tơđặc trưng theo tần số xuất hiện của từ

Trong hình 4.5, trục hoành biểu diễn chiều véc tơ và trục tung biểu diễn giá trị trọng số khác không của mỗi chiều véc tơ. Bằng việc mô hình hoá véc tơ theo tuần suất xuất hiện, véc tơ được biểu diên trong hình 4.5 có phần lớn các chiều có giá trị trọng số nằm trong khoảng từ 1 đến 5. Ngoài ra cũng có một số các chiều có giá trị trọng số nằm trong khoảng từ 12 đến 27. Số lượng các chiều có giá trị trọng số trên 30 chiếm một tỷ lệ nhỏ.

Đơn xin việc có véc tơ đặc trưng được biểu diễn trong hình 4.5 gồm phần lớn các từ có số lần xuất hiện ít ( từ 2 đến 5 lần). Tuy nhiên, cũng có một số lượng từ xuất hiện với tần số lớn ( trên 30 lần) nhưng tỉ lệ của các từ đó trong đơn xin việc chiếm một phần nhỏ.

Ø Mô hình hoá theo TFIDF

Hình 4.6 Minh hoạ véc tơđặc trưng theo công thức TFIDF

Trong hình 4.6, véc tơ đặc trưng có 460 chiều với giá trị trọng số được biểu diễn từ 0.5 đến 13.8. Các từ có trọng số TFIDF[9] cao là các từ xuất hiện nhiều trong đơn xin việc này và xuất hiện ít trong các đơn xin việc khác.

Hình 4.7 Minh hoạ véc tơđặc trưng theo Okapi BM25

Trong hình 4.7, véc tơ đặc trưng được biểu diễn gồm 460 chiều và có giá trị trọng số Okapi BM25[11] từ -113 đến 12.5. Một số chiều của véc tơ có trọng số mang giá trị âm biểu thị các từ tương ứng với các chiều đó xuất hiện nhiều trong tập các đơn xin việc.

4.3 Giai đoạn phân loại

Bài toàn phân loại đơn xin việc trong luận văn này dựa trên hai thuộc tính:

- Kinh nghiệm : có hoặc không

- Trình độ học vấn: đại học, cao đẳng hoặc trình độ khác

Từ đó, chúng ta sẽ phân chia thành 6 lớp tương ứng với 6 nhãn khác nhau có giá trị từ 1 đến 6 theo bảng sau :

Kinh nghiệm Trình độ học vấn Nhãn Không Khác 1 Không Cao đẳng 2 Không Đại học 3 Có Khác 4 Có Cao đẳng 5 Có Đại học 6

Bảng 4.1 Đặt tên nhãn theo thuộc tính

Quá trình gán nhãn cho mỗi đơn xin việc sẽ được thực hiện thủ công và dựa trên cảm quan của người tuyển dụng trong công ty để xác định đơn xin việc đó sẽ có tương ứng với nhãn gì. Sau đây là bảng gán nhãn cho 100 đơn xin việc được thử nghiệm :

Bảng 4.2 Ví dụ về việc gán nhãn cho từng CV

4.4 Kết quả phân loại 4.4.1 Kết quả thực nghiệm 4.4.1 Kết quả thực nghiệm (adsbygoogle = window.adsbygoogle || []).push({});

Chương trình đã thực hiện phân loại theo 2 tỉ lệ số lượng đơn xin việc dùng cho huấn luyện và kiểm thử :

- Tỉ lệ thứ nhất: 75 đơn xin việc cho huấn luyện và 25 đơn xin việc cho kiểm thử

- Tỉ lệ thứ hai: 80 đơn xin việc cho huấn luyện và 20 đơn xin việc cho kiểm thử

Trong quá trình sử dụng thư viện LibSVM, tác giả đã chạy thử nghiệm chương trình với 4 loại nhân phân loại:

- Tuyến tính

- Đa thức

- RBF

- Sigmoid

Kết hợp với dữ liệu tiền xử lý được mô hình hoá theo 4 loại ở phần trước, tác giả đã thu được bảng kết quả chạy thử nghiệm sau đây:

Bảng 4.3 Kết quả phân loại

Theo bảng kết quả phân loại phía trên, việc phân loại sử dụng tỉ lệ đơn xin việc thứ hai (80 đơn xin việc cho quá trình huấn luyện và 20 đơn xin việc để kiểm thử) đều cho kết quả phân loại tốt hơn khi phân loại sử dụng tỉ lệ đơn xin việc thứ nhất.

Trong 4 phương pháp biểu diễn véc tơ không gian, phương pháp biểu diễn bằng công thức TFIDF cho kết quả tốt hơn 3 phương pháp còn lại.

Trong hình 4.2, ta thấy được kết quả phân loại sử dụng thư viện LibSVM với 4 nhân (tuyến tính, đa thức, RBF, Sigmoid) đều đạt trên 50% . Đặc biệt khi sử dụng nhân Sigmoid cùng với phương pháp biểu diễn véc tơ bằng TFIDF, kết quả thu được là 70%. Đây là một kết quả phân loại rất cao và tốt cho bài toán phân loại tự động

4.4.2 Đánh giá một trường hợp phân lớp sai

Tuy nhiên, kết quả phân loại cũng cho thấy rằng tại một số trường hợp, máy học sẽ cho kết quả phân lớp bị sai so với thực tế kiểm tra. Sau đây, chúng ta sẽ xét đến một trường hợp đơn xin việc bị phân lớp sai.

Sau quá trình tiền xử lý, đơn xin việc trong hình 4.8 sẽ được phân tách thành các từ đơn như hình sau đây

Hình 4.9 Dữ liệu sau tiền xử lý của đơn xin việc bị phân loại sai

Trong đơn xin việc bị phân loại sai tại hình 4.8, ta thấy được các thông tin của người tìm việc đó như sau:

- Trình độ học vấn : đại học

- Kinh nghiệm làm việc: chưa có kinh nghiệm, sinh viên mới ra trường Theo bảng 4.1 về quy định đánh nhãn và với các thông tin như trên, đơn xin việc trong hình 4.8 sẽ được đánh nhãn là 3. Tuy nhiên trong quá trình phân lớp, đơn xin việc này được xếp vào lớp mang nhãn là 6 ( trình độ học vấn là đại học và có kinh nghiệm làm việc).

Theo hình 4.9, chúng ta có thể thấy được các thông tin về trường mà người tìm việc đã học. Cụ thể ở đây là đại học Thuỷ lợi. Từ đó có thể phán định là người tìm việc có trình độ học vấn bậc đại học. Với kĩ năng chuyên môn, người tìm việc cũng có các thông tin về ngôn ngữ lập trình, các công nghệ sử dụng. Các thông tin này gần giống với các thông tin của một người tìm việc có kinh nghiệm làm việc thực tế. Vì thế, trong quá trình học máy, máy học sẽ có sự nhầm lẫn và xếp người tìm việc này vào lớp có trình độ kinh nghiệm làm việc.

Ngoài ra, sự phân lớp bị sai trong trường hợp này có thể do việc tạo siêu phẳng phân lớp không chính xác. Do trong số 100 đơn xin việc đầu vào chương trình, số lượng đơn xin việc được đánh nhãn là 6 chiếm một số lượng lớn, khoảng 60% trên tổng số lượng các đơn xin việc. Vì vậy, khi xây dựng các siêu phẳng để phân lớp,

Do đó, khi phân lớp, các đơn xin việc thường được xếp vào lớp có số lượng đơn xin việc chiếm đa số. Đây là hiện tượng mất cân bằng về tập mẫu của quá trình học máy sử dụng SVM để phân lớp.

KT LUN VÀ HƯỚNG PHÁT TRIN

A. Kết luận

Luận văn tốt nghiệp của tác giả với đề tài: “Tìm kiếm CVs tương ứng với yêu cầu tuyển dụng” đã cơ bản hoàn thành. Đề tài đã giải quyết được các vấn đề sau:

1. Tìm hiểu về định nghĩa bài toán phân lớp tự động đơn xin việc và xây dựng mô hình bài toán phân lớp áp dụng lý thuyết học máy

2. Tìm hiểu về các phương pháp tiền xử lý đơn xin việc và mô hình hoá đơn xin việc sang dạng không gian véc tơ số có chiều tương ứng với các từ. 3. Giải quyết bài toán phân lớp đa lớp các đơn xin việc bằng việc áp dụng

phương pháp phân lớp SVM và thư viện LibSVM Các kết quả chính đạt được trong luận văn:

1. Tác giả đã sưu tầm khoảng 100 đơn xin việc các đơn xin việc của các ứng cử viên trong lĩnh vực phần mềm thuộc nhiều định dạng, có nội dung và biểu mẫu đa dạng. (adsbygoogle = window.adsbygoogle || []).push({});

2. Tác giả đã sử dụng thư viện Apache Tika để lập trình tự động tách từ và tạo từ điển dựa trên tập các từ thuộc các đơn xin việc trên. Sau đó, tác giả đã mô hình hoá các đơn xin việc thành các véc tơ số có trọng số theo các công thức TF, TFIDF và Okapi.

3. Luận văn tiếp tục với phương pháp học máy thông kê SVM để phân lớp tự động các đơn xin việc trong không gian véc tơ số này.

4. Trong phần thực nghiệm, luận văn đưa ra bảng tỉ lệ phân lớp đúng theo các phương pháp tiền xử lý cũng như nhân SVM khác nhau. Ngoài ra, tác giả cũng giải thích được một phần lý do trong những trường hợp bị dự đoán sai.

Những khó khăn và hướng giải quyết

Những khó khăn gặp phải trong quá trình thực hiện đề tài:

- Các đơn xin có nhiều định dạng và biểu mẫu khác nhau nên gặp khó khăn trong việc trích rút thông tin chính xác, loại bỏ được các thông tin không cần thiết cho quá trình phân lớp

- Tỉ lệ số lượng các đơn xin việc giữa các lớp khác nhau không đồng đều. Vì thế kết quả phân lớp chưa đạt độ chính xác cao nhất.

Hướng giải quyết:

- Bổ sung thêm các thuật toán để có thể trích rút thông tin hiệu quả và chính xác hơn.

- Tăng số lượng đơn xin việc thực nghiệm và tỉ lệ số lượng các đơn xin việc theo các lớp khác nhau có sự tương đồng hơn. Từ đó giúp việc xây dựng các siêu phẳng để phân lớp có độ chính xác cao hơn.

Các kết quả nghiên cứu lí luận và thực tiễn đã cho thấy việc áp dụng phương pháp học máy để giải bài toán phân lớp tự động đơn xin việc đã bước đầu đạt được những tín hiệu tích cực. Kết quả phân lớp đạt độ chính xác cao nhất khoảng 70% với số lượng 100 đơn xin việc.

B. Hướng phát triển của đề tài.

Do điều kiện cá nhân còn những hạn chế, nên vấn đề nghiên cứu về bài toán phân lớp tự động đơn xin việc theo nhu cầu tuyển dụng trong khuôn khổ của luận văn này chỉ dừng lại ở những nghiên cứu ban đầu. Vì vậy, những nghiên cứu tiếp theo về vấn đề này có thể tập trung triển khai theo các hướng như sau:

- Nghiên cứu giải bài toán phân lớp tự động đơn xin việc có nội dung bao gồm cả hình ảnh.

- Nghiên cứu về các phương pháp để mô hình hoá dữ liệu sang không gian véc tơ số.

- Nghiên cứu về vấn đề mất cân bằng phân lớp khi sử dụng phương pháp phân lớp bằng SVM.

TÀI LIU THAM KHO

1. Phan Thị Thu Hồng, Đoàn Thị Thu Hà, Nguyễn Thị Thuỷ(2013), “Ứng dụng phân lớp ảnh chụp lá cây bằng phương pháp máy véc tơ hỗ trợ”, Tạp chí khoa học và Phát triển, 11(7), 1045-1052.

2. Trần Cao Đệ, Phạm Nguyên Khang(2012), “Phân loại văn bản với máy học véc tơ hỗ trợ và cây quyết định”, Tạp chí Khoa học, (21a), 52-63.

3. Alberto Tellaechea, Xavier P . Burgos-Artizzub, Gonzalo Pajaresa, Angela Ribeirob(2008), “Avision-basedmethod forweeds identification through the Bayesian decision theory”, Pattern Recognition, 41, 521-530.

4. Chang C, C-J.Lin(2011), “LIBSVM: A library for support vector machines”, ACM Transactions on Intelligent Systems and Technology, 2(27), 1-27.

5. Chris Mattmann, Jukka L. Zitting(2011), Tika in Action, Manning Publications, USA.

6. Christopher M.Bishop(2006), Pattern Recognition and Machine Learning, Springer-Verlag, New York, USA.

7. Cristianini Nello, Shawe-Taylor John(2000), An Introduction to Support Vector Machines and other nhân-based learning method,. Cambridge University Press. 8. John Shafer, Rakesh Agrawal, Manish Mehta(1996), SPRINT- A Scalable Paralllel Classifier for Data mining, In Predeeings of the 22nd International Conference on Very Large Database, India.

9. Gerard Salton, Michael J.McGill(1986), Introduction to Modern Information Retrieval, Mc Graw-Hill, Inc. New York, NY, USA.

10. Liao K., Paulsen M. R., Reid J. F., et al(1994), “Corn nhân breakage classification by machine vision using a neutral network classifier”, Transactions of the ASAE, 36(6), 1949-1953.

11. Stephen E. Robertson, Steve Walker, Susan Jones, Micheline Hancock- Beaulieu, and Mike Gatford(1994), Okapi at TREC-3, Proceedings of the Third Text REtrieval Conference, Gaithersburg, USA.

12. Vladimir N.Vapnik (1995) The nature of statistical learning theory, Springer- Verlag, New York, USA.

Một phần của tài liệu Tìm kiếm CVs tương ứng với yêu cầu tuyển dụng (Trang 42)