BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC HOA SEN
KHOA KHOA HỌC VÀ CÔNG NGHỆ
BÁO CÁO CÁ NHÂN
PHÂN TÍCH VÀ KHAI THÁC DỮ LIỆU TRONG QUY TRÌNH TUYỂN DỤNG
NHÂN SỰ
Giảng viên hướng dẫn: Nguyễn Kim Long
Sinh viên thực hiện: Trần Thị Kim Huê – 09016L
Tháng 12 năm 2011
LỜI CẢM ƠN
Trong thời gian 3 tháng thực hiện khóa luận tốt nghiệp tại trường Đại học Hoa Sen vừa
qua đã giúp tôi có cơ hội vận dụng những kiến thức đã học, đồng thời tìm hiểu những
kiến thức mới nhằm mục đích ứng dụng vào đề tài và cuối cùng cũng đạt được một số
kết quả nhất định
Để có được kết quả này tôi chân thành cảm ơn thầy Nguyễn Kim Long, người đã tận
tình hướng dẫn cho nhóm trong suốt quá trình thực hiện khoá luận tốt nghiệp. Nhờ thầy
mà nhóm chúng tôi mới có thể hoàn thành khoá luận đúng thời hạn và có thêm kiến
thức về chuyên ngành
Ngoài ra tôi cũng cám ơn các thầy cô của khoa Khoa học và Công nghệ đã truyền đạt
cho tôi những kiến thức quý báu để tôi có thể thực hiện tốt khoá luận này
Và cuối cùng tôi cám ơn những người bạn trong lớp QL092L, những người đã hỗ trợ,
giúp đỡ, động viên tôi trong quá trình thực hiện khoá luận này
Trân trọng
Phân tích và khai thác dữ liệu trong quy trình tuyển dụng Trang 2
MỤC LỤC
Phân tích và khai thác dữ liệu trong quy trình tuyển dụng Trang 4
1. Những đóng góp cá nhân trong khóa luận
1.1. Nghiên cứu công nghệ
1.1.1. Entity Framework
Giới thiệu
ADO.NET Entity Framework là một Object/Relational Mapping (ORM) framework cho
phép các developers làm việc với dữ liệu quan hệ như là các objects, loại bỏ hầu hết các
code cho data access mà các developers phải viết. Sử dụng Entity Framework,
developers có thể sử dụng và khai thác sức mạnh của LINQ trong việc khai thác dữ liệu.
ADO.NET Entity Framework còn cung cấp rất nhiều các tính năng khác như change
tracking, identity resolution, lazy loading, query translation, … tạo điều kiện cho
developers tập trung vào việc phát triển ứng dụng ở mức business logic hơn là phải tốn
thời gian vào data access fundamentals.
Ưu điểm
Việc sử dụng Entity Framework để xây dựng các ứng dụng mang tính data-oriented
mang lại các lợi ích sau
• Rút ngắn được thời gian phát triển ứng dụng khi mà bản thân framework đã cung
cấp sẵn các tính cơ bản cho việc data access và developers có thể tập trung vào
mặt logic của ứng dụng.
• Các developers làm việc với mô hình ứng dụng hướng đối tượng đúng nghĩa bao
gồm việc thừa kế, xây dựng các complex members và các mối quan hệ.
• Các ứng dụng sẽ thoát khỏi việc phụ thuộc quá nhiều vào mô hình lưu trữ khi mà
ADO.NET Entity Framework cung cấp mô hình coceptual model độc lập với mô
hình lưu trữ.
• Việc thay đổi mapping giữa mô hình đối tượng và cấu trúc lưu trữ có thể được
thực hiện dễ dàng mà không cần phải thay đổi code của ứng dụng.
• Hỗ trợ việc sử dụng LINQ (được gọi là LINQ to Entities) mang lại các tính năng
như IntelliSense và kiểm tra tính hợp lệ tại thời điểm biên dịch.
1.1.2. ASP.net MVC
ASP .Net MVC là một nền tảng ứng dụng web được thực hiện dựa trên nền tảng model-
view-controller (MVC). Dựa vào ASP.NET, nó cho phép phần mềm phát triển xây dựng
một ứng dụng web như là một thành phần với ba vai trò: Model, View và Controller.
Một model thể hiện trạng thái của các khía cạnh của ứng dụng. Thông thường, sơ đồ
model là một bảng cơ sở dữ liệu với các mục trong bảng đại diện cho các trạng thái của
ứng dụng. Controller xử lý tương tác và cập nhật model để phản ánh một sự thay đổi
trong trạng thái của ứng dụng, và sau đó chuyển thông tin sang View. Một View chấp
nhận thông tin cần thiết từ controller và hiển thị ra giao diện người dùng.
1.2. Cơ sở lý thuyết của khai thác dữ liệu
• Các kiến thức về khai thác dữ liệu
Khai phá dữ liệu (Data Mining) là một khái niệm ra đời vào những năm cuối của
thập kỷ 1980. Nó là quá trình trích xuất các thông tin có giá trị tiềm ẩn bên trong
lượng lớn dữ liệu được lưu trữ trong các cơ sở dữ liệu, kho dữ liệu Data Mining
là một giai đoạn quan trọng trong quá trình khám phá tri thức trong cơ sở dữ liệu.
Các bước trong quá trình khai thác dữ liệu:
• Các phương pháp khai thác dữ liệu
Kỹ thuật khai phá dữ liệu dự đoán: Nhiệm vụ của khai phá dữ liệu dự đoán là đưa ra
các dự đoán dựa vào các suy diễn trên dữ liệu hiện thời. Nó sử dụng các biến hay các
trường trong cơ sở dữ liệu để dự đoán các giá trị không biết(gọi là nhãn lớp). Bao gồm
các kĩ thuật: phân loại (classification), hồi quy (regression)
a. Kỹ thuật phân loại: Mục tiêu của phương pháp phân loại dữ liệu là dự đoán
nhãn lớp cho các mẫu dữ liệu. Quá trình phân loại dữ liệu thường gồm 2 bước: xây
dựng mô hình và sử dụng mô hình để phân loại dữ liệu.
Xây dựng mô hình: dựa trên việc phân tích các mẫu dữ liệu cho trước gọi là tập huấn
luyện (training set).Mỗi mẫu thuộc về một lớp, được xác định bởi một thuộc tính gọi là
thuộc tính lớp. Các nhãn lớp của tập huấn luyện đều phải được xác định trước khi xây
dựng mô hình, vì vậy phương pháp này còn được gọi là học có giám sát.
Sử dụng mô hình để phân loại dữ liệu: Trước hết chúng ta phải tính độ chính xác của
mô hình.Nếu độ chính xác là chấp nhận được, mô hình sẽ được sử dụng để dự đoán
nhãn lớp cho các mẫu dữ liệu khác trong tương lai.
b. Kỹ thuật hồi qui: Kỹ thuật hồi qui có chức năng tương tự như kỹ thuật phân
loại, tuy nhiên, hồi qui sử dụng cho kiểu dữ liệu liên tục còn phân loại sử dụng cho dữ
liệu.
Kỹ thuật khai phá dữ liệu mô tả
a. Kỹ thuật phân cụm: Mục tiêu chính của phương pháp phân cụm dữ liệu là
nhóm các đối tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng
thuộc cùng một cụm là tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ
không tương đồng.Phân cụm dữ liệu là một ví dụ của phương pháp học không giám
sát.Không giống như phân loại dữ liệu, phân cụm dữ liệu không đòi hỏi phải định nghĩa
trước các mẫu dữ liệu huấn luyện. Vì thế, có thể coi phân cụm dữ liệu là một cách học
bằng quan sát (learning by observation), trong khi phân loại dữ liệu là học bằng ví dụ
(learning by example).
b. Kỹ thuật hồi qui: Mục tiêu của phương pháp này là phát hiện và đưa ra các
mối liên hệ giữa các giá trị dữ liệu trong CSDL.Mẫu đầu ra của giải thuật khai phá dữ
liệu là tập luật kết hợp tìm được.
• Nghiên cứu các thuật toán phân lớp dữ liệu
Cây quyết định K Nearest
Neighbord
Naïve Bayes
Ưu điểm Kết quả từ cây quyết
định dễ dàng hiểu
được
Khả năng thực thi
Thuật toán rất đơn
giản, dễ hiểu, dể
cài đặt,
Độ chính xác rất
cao.
Dễ cài đặt, học
nhanh, kết quả
dễ hiểu
Độ mở rộng của
phương pháp
trên dữ liệu hướng
qui tắc, đối với các
lĩnh vực cần qui tắc
Thể hiện được thuộc
tính nào là quan trọng
nhất trong việc phân
lớp
cao
Thời gian phản
hồi nhanh
Xử lý tốt đối
với dữ liệu
nhiễu
Khuyết
điểm
Cây quyết định được
tạo ra bài toán sẽ
cồng kềnh, lớn rất
phức tạp
Cây quyết định sẽ
gặp khó khăn với
những thuộc tính
được thêm mới vào,
không có trong tập dữ
liệu mẫu
Thời gian chờ đợi
phản hồi càng cao.
K-NN cần nhiều
không gian
Giả thuyết các
thuộc tính
không phụ
thuộc nhau làm
thuật toán giảm
độ chính xác.
1.3. Phát triển các chức năng trong hệ thống:
Hiện thực các chức năng của hệ thống bằng ASP.NET MVC:
- Quản lý phòng ban
- Quản lý người dùng, nhóm người dùng
- Quản lý kế hoạch phỏng vấn, thi tuyển
- Quản lý việc nhập điểm cho bài thi ứng viên
- Quản lý việc chức vụ,vị trí làm việc
1.4. Hiện thực và xây dựng cơ sở dữ liệu
Tôi cùng cả nhóm đã hiện thực và xây dựng cơ sở dữ liệu
1.5. Nghiên cứu và hiện thực bài toán “Xác định độ tin cậy ứng viên dựa trên
thông tin ứng viên”
Các bước để xây dựng công cụ xác định độ tin cậy ứng viên dựa trên thông tin
ứng viên
Chọn nguồn dữ liệu (Data Source)
Nguồn dữ liệu có thể là các bảng, các view Trong một ứng dụng, nguồn dữ liệu rất
nhiều để phục vụ cho nhiều yêu cầu, nhiều nghiệp vụ khác nhau.Tuy nhiên, nhu cầu cần
dự đoán thì chỉ liên quan đến một số nguồn nhất định.
Vì thế nên phải giới hạn lại nguồn dữ liệu phù hợp với nhu cầu cần xử lý.Dựa trên bài
toán xác định độ tin cậy ứng viên thì nguồn dữ liệu là các nguồn thông tin của ứng viên.
Trích lọc thuộc tính
Khi đã chọn được nguồn dữ liệu phù hợp nhưng mỗi nguồn dữ liệu có rất nhiều thuộc
tính và không phải tất cả thuộc tính đều có ý nghĩa để phân tích.Với một tập thuộc tính
không phù hợp sẽ ảnh hưởng đến kết quả dự đoán không chính xác. Nhiều thuộc tính
quá sẽ ảnh hưởng đến hiệu suất xử lý của thuật toán.
Để giải quyết vấn đề này phải thực hiện bước loại bỏ các thuộc tính thừa,các thuộc tính
không có ý nghĩa nhưng không làm mất đi thông tin cần thiết để phục vụ khai phá.Với
nguồn dữ liệu là thông tin ứng viên thì các thuộc tính như thông tin về họ tên, địa chỉ,
số điện thoại, email là những thuộc tính dư thừa, cần loại bỏ trong giai đoạn này
Tạo Data View
Mỗi doanh nghiệp thì có cách lưu trữ thông tin khác nhau, tùy theo người xây dựng cơ
sở dữ liệu và tùy theo từng nghiệp vụ mà có cách lưu trữ tương ứng. Tuy nhiên, các
nguồn dữ liệu có thể rời rạc, không có sự liên kết với nhau.Dữ liệu để sử dụng cho việc
hiện thực thuật toán Naive Bayes phải có các thuộc tính đầu vào và thuộc tính dự đoán
trên cùng một bản ghi.Vì thế, khi không đáp ứng được điều này thì phải thực hiện phép
join các nguồn dữ liệu lại với nhau đề giải quyết vấn đề.
Rời rạc hóa các tập thuộc tính đầu vào
Rời rạc hóa là quá trình biến đổi các tập dữ liệu liên tục thành các tập dữ liệu thoaã mãn
tiêu chuẩn qui định. Rời rạc hóa dữ liệu có tác dụng là làm giảm kích thước dữ liệu,
tăng tốc độ tính toán, tăng độ chính xác và dễ hiểu của kết quả thu được
Khi áp dụng thuật toán Navie Bayes thì thuộc tính dự doán chắc chắn phải là thuộc tính
rời rạc và thuộc tính đầu vào thì có thể liên tục hoặc rời rạc.Với ràng buộc này, nếu
thuộc tính dự đoán là loại thuộc tính liên tục thì phải tiến hành rời rạc hóa nó. Còn đối
với thuộc tính đầu vào, cũng nên rời rạc hóa nếu có thể để cải thiện tốc độ thực thi thuật
toán.
Hiện thực thuật toán Naive Bayes vào bài toán dự đoán độ tin cậy của thông tin ứng
viên
- Định nghĩa nguồn dữ liệu
Dữ liệu về ứng viên bao gồm: dữ liệu về tên, ngày sinh, địa chỉ liên lạc, các bằng cấp,
kết quả học tập, kết quả phỏng vấn, xét tuyển, kết quả kiểm tra sát hạch đều là các dữ
liệu kiểu liên tục và rời rạc.
Để hiện thực thuật toán cần xác định các thuộc tính đầu vào và thuộc tính cần dự
đoán.Quy định của giải thuật Navie Bayes là dữ liệu đầu vào có thể là thuộc tính liên
tục hoặc rời rạc nhưng thuộc tính dự đoán phải là những thuộc tính rời rạc
Khi một mẫu dữ liệu cần dự đoán chưa biết nhãn lớp, thuật toán sẽ tính xác suất mẫu dữ
liệu đó thuộc từng nhãn lớp. Nhãn lớp được gán cho thuộc tính dự đoán là nhãn lớp có
xác suất cao nhất.
- Ví dụ về việc áp dụng giải thuật qua một trường hợp dự đoán cụ thể sau:
Dự đoán nhãn lớp sử dụng thuật toán Naive Bayes.
Mẫu dữ liệu được mô tả bởi các thuộc tính đầu vào {Gender, Age,BirthPlace,
MaritalStatus} và thuộc tính nhãn lớp là Accurate có giá trị {0,1}
Cho C
1
tương đương với Accurate=1 và C
0
tương đương với Accurate=0
Mẫu chưa biết chúng ta sẽ phân loại là X ={Gender=’Female’,Age=23,BirthPlace=
‘HCM’,MaritalStatus=’Single’}
Bước 1: Ta cần tính toán xác suất tiên nghiệm dựa trên mỗi nhãn lớp
P(Ci)=
số mẫudữ liệuCi
tổng số mẫudữ liệu
Bước 2: Để tính P(X|Ci) với i =0,1 ta tính các xác suất có điều kiện sau
- Với i=0
P(Gender=Female|Accurate=0) =
số mẫudữ liệu cóGender=Female và Accurate=0
tổng số mẫu dữ liệu Ci
P(Age=23|Accurate=0) = g (
x
k
, μ
C
,σ
C
) =
(23− μC
i
)
2
2σ
2
C
1
e
¿
1
√
2
∐
σ
C 1
¿
P(BirthPlace=’HCM’|Accurate=0) =
số mẫudữ liệu có BirthPlace ¿
'
HCM ' và Accurate=0
tổng số mẫu dữ liệu Ci
P(MaritalStatus=Single|Accurate=0) =
số mẫudữ liệu có MaritalStatus=SinglevàAccurate=0
tổng số mẫu dữ liệu Ci
- Với i =1 : thực hiện tính toán tương tự như trên
Bước 3
P(X|Accurate=0)= P(Gender=Female|Accurate=0) * P(Age=23|Accurate=0)*
P(BirthPlace=’HCM’|Accurate=0) * P(MaritalStatus=Single|Accurate=0)
P(X|Accurate=1)= P(Gender=Female|Accurate=1) * P(Age=23|Accurate=1)*
P(BirthPlace=’HCM’|Accurate=1) * P(MaritalStatus=Single|Accurate=0)
Bước 4
P(Accurate=0|X)= P(X|Accurate=0) * P(Accurate=0)
P(Accurate=1|X)= P(X|Accurate=1) * P(Accurate=1)
Bước 5
So sánh P(Accurate=0|X) và P(Accurate=1|X) vừa tìm được. Gán mẫu dữ liệu cần dự
đoán X vào Ci có xác suất lớn nhất vừa tìm được.
Công cụ xây dựng độ tin cậy linh động
Giải pháp xây dựng cơ sở dữ liệu để hiện thực thuật toán Naive Bayes
Cấu trúc lưu trữ như sau :
2. Đánh giá kết quả thực hiện và hướng phát triển
2.1. Đánh giá kết quả đạt được
o Thiết lập thành công quy trình tuyển dụng cơ bản, dựa trên việc phân tích
tìm hiểu quy trình của các doanh nghiệp và các phần mềm sẵn có trên thị
trường hiện nay
o Xây dựng thành công công cụ xác định độ tin cậy linh động cho thông tin
ứng viên
2.2. Những hạn chế
o Công cụ dự đoán độ tin cậy linh động chỉ áp dụng cho các dữ liệu rời rạc.
o Chỉ mới xây dựng công cụ lưu trữ hỗ trợ cho việc hiện thực thuật toán
Naive Bayes chứ chưa tạo thành công cụ thực hiện toàn bộ quá trình thực
thi thuật toán, người sử dụng cần phải sử dụng code để hiện thực thuật
toán
2.3. Về Hướng phát triển
o Nghiên cứu giải pháp hiện thực thuật toán với kiểu dữ liệu liện tục
o Xây dựng hoàn tất công cụ thực thi thuật toán Naive Bayes
3. Những kinh nghiệm có được sau khi thực hiện khóa luận
3.1. Về chuyên môn
o Nắm rõ lý thuyết về quy trình tuyển dụng trong thực tế
o Ứng dụng kiến thức về phân tích thiết kế hệ thống và các kiến thức về cơ
sở dữ liệu
o Nắm kiến thức sơ bộ về khai thác dữ liệu và hiện thực thuật toán Naive
Bayes vào thực tế
3.2. Về kĩ năng mềm
o Kĩ năng làm việc nhóm.
o Kĩ năng lập kế hoạch
o Kĩ năng giải quyết vấn đề.
o Kĩ năng viết báo cáo
o
Không có nhận xét nào:
Đăng nhận xét