Tải bản đầy đủ (.docx) (67 trang)

PHÂN TÍCH XU HƯỚNG NGHỀ NGHIỆP dựa TRÊN THÔNG TIN TUYỂN DỤNG TRÊN INTERNET

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.73 MB, 67 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

LƯU ĐỨC PHONG

PHÂN TÍCH XU HƯỚNG NGHỀ NGHIỆP DỰA TRÊN THÔNG TIN
TUYỂN DỤNG TRÊN INTERNET

LUẬN VĂN THẠC SĨ KHOA HỌC
KHOA HỌC VÀ KỸ THUẬT TÍNH TOÁN

Hà Nội – 2019


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

LƯU ĐỨC PHONG

PHÂN TÍCH XU HƯỚNG NGHỀ NGHIỆP DỰA TRÊN THÔNG TIN
TUYỂN DỤNG TRÊN INTERNET
Chuyên ngành: CÔNG NGHỆ THÔNG TIN

LUẬN VĂN THẠC SĨ KHOA HỌC
KHOA HỌC VÀ KỸ THUẬT TÍNH TOÁN

NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS NGUYỄN HỮU ĐỨC


Hà Nội – 2019


Luận văn Thạc sỹ Khoa học

GVHD: Nguyễn Hữu Đức
LỜI CAM ĐOAN

Tôi, Lưu Đức Phong, xin cam đoan luận án là công trình nghiên cứu của bản
thân tôi dưới sự hướng dẫn của TS. Nguyễn Hữu Đức.
Các kết quả nêu trong báo cáo luận án là trung thực, không sao chép của bất kỳ
công trình nào khác.
Hà Nội, ngày

tháng

năm 2019

HỌC VIÊN

LƯU ĐỨC PHONG

Người thực hiện: Lưu Đức Phong

2

Lớp: 2016AKHKTTT.KH


Luận văn Thạc sỹ Khoa học


GVHD: Nguyễn Hữu Đức
LỜI CẢM ƠN

Để hoàn thành luận án này, trước hết tôi xin bày tỏ lòng kính trọng và biết ơn
tới TS. Nguyễn Hữu Đức, người thầy đã trực tiếp hướng dẫn, giúp đỡ tôi trong quá
trình học tập và thực hiện luận án.
Cuối cùng tôi xin cảm ơn gia đình và những người bạn vì sự động viên trong
suốt thời gian thực hiện luận văn.

Người thực hiện: Lưu Đức Phong

3

Lớp: 2016AKHKTTT.KH


Luận văn Thạc sỹ Khoa học

GVHD: Nguyễn Hữu Đức

MỤC LỤC
LỜI CAM ĐOAN......................................................................................................1
LỜI CẢM ƠN...........................................................................................................2
DANH MỤC BẢNG.................................................................................................5
DANH MỤC HÌNH VẼ, BIỂU ĐỒ..........................................................................6
MỞ ĐẦU................................................................................................................... 8
CHƯƠNG 1: TỔNG QUAN VỀ BÀI TOÁN...........................................................9
1.1. Đồng bộ và lưu trữ dữ liệu nhiều định dạng...................................................9
1.2. Tổng hợp thống kê, trực quan số liệu.............................................................9

1.3. Phân tích dự đoán xu hướng...........................................................................9
1.4. Các công cụ, mô hình đáp ứng cho bài toán.................................................10
1.4.1. Hệ thống quản trị và lưu trữ cơ sở dữ liệu NOSQL...............................10
1.4.2. Các công cụ trực quan hóa số liệu.........................................................13
1.4.3. Mạng nơ-ron nhân tạo và mô hình dự đoán..........................................14
Kết luận chương 1...............................................................................................22
CHƯƠNG 2: XÂY DỰNG CHƯƠNG TRÌNH THU THẬP VÀ PHÂN TÍCH XU
HƯỚNG NGHỀ NGHIỆP.......................................................................................24
2.1. Phân tích mục tiêu........................................................................................24
2.2. Giải quyết bài toán.......................................................................................25
2.2.1. Cơ sở dữ liệu.........................................................................................25
2.2.2. Các công cụ giải quyết yêu cầu.............................................................25
Kết luận chương 2...............................................................................................32
CHƯƠNG 3: MÔ PHỎNG THỰC NGHIỆM CHƯƠNG TRÌNH..........................33
3.1. Môi trường cài đặt và công cụ lập trình........................................................33
3.1.1. Cài đặt, thiết lập CSDL MongoDB Sharded Cluster.............................34
3.1.2. Cài đặt Task-Scheduler lập lịch đồng bộ...............................................39
3.1.3. Cài đặt công cụ hiển thị và phân tích dữ liệu TableAU.........................43
3.1.4. Cài đặt các thư viện Python và triển khai mã code cho mô hình dự đoán
LSTM.............................................................................................................44
Người thực hiện: Lưu Đức Phong

4

Lớp: 2016AKHKTTT.KH


Luận văn Thạc sỹ Khoa học

GVHD: Nguyễn Hữu Đức


3.2. Demo chương trình......................................................................................47
3.2.1. Đồng bộ và lưu trữ dữ liệu....................................................................48
3.2.2. Trình diễn dữ liệu..................................................................................51
3.2.3. Phân tích dự đoán xu hướng việc làm...................................................55
Kết luận chương 3:..............................................................................................59
CHƯƠNG 4: KẾT LUẬN VÀ PHƯƠNG HƯỚNG NGHIÊN CỨU, PHÁT TRIỂN....60
4.1. Kết luận........................................................................................................60
4.2. Các mục tiêu đã và chưa đạt được................................................................60
4.3. Nghiên cứu trong tương lai..........................................................................61
TÀI LIỆU THAM KHẢO.......................................................................................62

Người thực hiện: Lưu Đức Phong

5

Lớp: 2016AKHKTTT.KH


Luận văn Thạc sỹ Khoa học

GVHD: Nguyễn Hữu Đức
DANH MỤC BẢNG

Bảng 1.1. Các dạng dữ liệu NoSQL........................................................................10
Bảng 1.2. Nơ-ron nhân tạo ....................................................................................14
Bảng 1.3. Các hàm truyền ......................................................................................15
Bảng 1.4. Mạng nhiều tầng truyền thẳng ................................................................16
Bảng 1.5. Học giám sát............................................................................................17
Bảng 1.6. Học không giám sát.................................................................................17

Bảng 1.7. Học tăng cường.......................................................................................18
Bảng 1.8. Mô hình LSTM bước 1............................................................................21
Bảng 1.9. Mô hình LSTM bước 2............................................................................21
Bảng 1.10. Mô hình LSTM bước 3..........................................................................22
Bảng 1.11. Mô hình LSTM bước 4..........................................................................22
Bảng 2.1. Bảng cấu trúc dữ liệu tuyển dụng............................................................25
Bảng 2.2. Module Phân tích dự báo.........................................................................30
Bảng 2.3. Mô hình CSDL lưu trữ cấu hình phân tích..............................................31
Bảng 2.4. Mô hình mạng nơ-ron dự đoán................................................................31
Bảng 3.1. Bảng đánh hiệu năng truy vấn các mô hình lưu trữ dữ liệu.....................51
Bảng 3.2. Thống kê các nhu cầu tuyển dụng của các Công ty.................................54
Bảng 3.3. Đánh giá tỉ lệ dự đoán nhân sự tuyển dụng ngành IT..............................58
Bảng 3.4. Đánh giá tỉ lệ dự đoán độ tuổi tuyển dụng trung bình.............................58

Người thực hiện: Lưu Đức Phong

6

Lớp: 2016AKHKTTT.KH


Luận văn Thạc sỹ Khoa học

GVHD: Nguyễn Hữu Đức
DANH MỤC HÌNH VẼ, BIỂU

Hình 1.1. Dữ liệu dạng Key-Value...........................................................................11
Hình 1.2. Dữ liệu dạng Document...........................................................................11
Hình 1.3. Dữ liệu dạng Coloumn.............................................................................12
Hình 1.4. Dữ liệu dạng Graph ................................................................................12

Hình 1.5. Đánh giá các công cụ trình diễn dữ liệu ..................................................13
Hình 1.8. Mô hình mạng nơ-ron hồi quy RNN .......................................................20
Hình 1.9. Mô hình mạng LSTM .............................................................................21
Hình 2.1. Kiến trúc tổng thể hệ thống......................................................................24
Hình 2.2. Luồng thu thập dữ liệu.............................................................................25
Hình 2.3. Các bước thu thập dữ liệu........................................................................26
Hình 2.4. Kiến trúc API Gateway............................................................................27
Hình 2.5. Kiến trúc CSDL MongoDB ....................................................................28
Hình 2.6. Kiến trúc công cụ phân tích, trình bày dữ liệu TableAU .........................29
Hình 2.7. Lưu đồ hoạt động của hàm huấn luyện....................................................32
Hình 3.1. Cài đặt hệ điều hành................................................................................33
Hình 3.2. Thiết lập mạng Network..........................................................................34
Hình 3.3 Hệ thống sau cài đặt..................................................................................34
Hình 3.4. Mô hình triển khai cụm CSDL Sharded cluster ......................................35
Hình 3.5. Hệ thống Mongo Ops Manager sau khi cài đặt........................................36
Hình 3.6. Tạo mới Project trên Ops Mangager........................................................36
Hình 3.7. Cấu hình Sharded Cluster........................................................................37
Hình 3.8. Thiết lập key và group cho CSDL...........................................................37
Hình 3.9. Thiết lập shared cluster với các máy........................................................38
Hình 3.10. Thiết lập cấu hình CSDL cho các node..................................................38
Hình 3.11. Thiết lập Sharding..................................................................................39
Hình 3.12. Mô hình CSDL sau cài đặt.....................................................................39
Hình 3.13. Lập lịch thu thập dữ liệu........................................................................40
Hình 3.14. Mô hình triển khai công cụ BI ..............................................................44
Hình 3.15. Thiết lập BI Connector..........................................................................44
Hình 3.16. Dữ liệu thu thập được từ các Crawler....................................................48
Người thực hiện: Lưu Đức Phong

7


Lớp: 2016AKHKTTT.KH


Luận văn Thạc sỹ Khoa học

GVHD: Nguyễn Hữu Đức

Hình 3.17. Tổ chức lưu trữ dữ liệu dưới dạng file...................................................48
Hình 3.18. Tiến trình đồng bộ dữ liệu......................................................................49
Hình 3.19. Kết quả thu thập và phân chia lưu trữ dữ liệu........................................50
Hình 3.20. Báo cáo thống kê nhu cầu tuyển dụng việc làm của Việt Nam từ năm 2014
đến 2018...............................................................................................52
Hình 3.21. Báo cáo phân bố nhóm ngành nghề tuyển dụng năm 2018....................52
Hình 3.22. Phân bố số lượng tuyển dụng theo các Tỉnh..........................................53
Hình 3.23. Phân bố nhu cầu tuyển dụng hiển thị trên bản đồ..................................53
Hình 3.24. Nhu cầu tuyển dụng ngành CNTT tại các Tỉnh từ năm 2014 đến 2018.....54
Hình 3.26. Thống kê các nhu cầu tuyển dụng theo ngành nghề...............................54
Hình 3.27. Thống kê độ tuổi trung bình các ngành..................................................55
Hình 3.28. Thống kê số năm kinh nghiệm cho các ngành nghề...............................55
Hình 3.29. Màn hình thiết lập loại danh mục báo cáo phân tích dự đoán................55
Hình 3.30. Màn hình chạy kết quả phân tích...........................................................56
Hình 3.31. Kết quả phân tích xu hướng tuyển dụng ngành IT tại Hà Nội 03 tháng cuối
năm 2018..............................................................................................57
Hình 3.32. Kết quả dự báo độ tuổi tuyển dụng lao đông trung bình 05 tháng cuối năm
2018.....................................................................................................57
Y

Người thực hiện: Lưu Đức Phong

8


Lớp: 2016AKHKTTT.KH


Luận văn Thạc sỹ Khoa học

GVHD: Nguyễn Hữu Đức
MỞ ĐẦU

Chúng ta đang sống trong thời đại công nghệ, thời đại bùng nổ thông tin với sự
giúp sức và lan tỏa của mạng Internet đã giúp cho con người có thể dễ dàng tiếp cận
với các nguồn thông tin mà không gặp trở ngại về không gian và thời gian. Thông tin
về tuyển dụng việc làm cũng phải là ngoại lệ, hằng ngày có rất nhiều tin đăng tuyển,
ứng tuyển cho các vị trí công việc tại nhiều công ty được đưa lên trên các website
tuyển dụng. Bên cạnh đó, việc tiếp cận và tổng hợp các thông tin trên đã được hỗ trợ
rất nhiều từ các công cụ thu thập dữ liệu (Crawler) được phát triển sẵn có như: Scrapy,
Splash,…Thách thức đặt ra sau khi thu thập được dữ liệu là phải tổ chức lưu trữ, phân
tích và khai thác thông tin có hiệu quả để phục vụ các mục đích xa hơn như: thống kê,
dự đoán xu hướng,...
Xuất phát từ nhu cầu này, trong khuôn khổ luận văn thạc sỹ, học viên đề xuất
thực hiện đề tài "Phân tích xu hướng nghề nghiệp dựa trên thông tin tuyển dụng trên
Internet ", với mục tiêu chính là xây dựng hệ thống đồng bộ, tổ chức lưu trữ dữ liệu,
tổng hợp phân tích cũng như dự báo xu hướng việc làm.
Đối tượng nghiên cứu của đề tài là các công cụ hỗ trợ đồng bộ, lưu trữ và phân
tích dữ liệu cũng như mô hình dự đoán xu hướng theo chuỗi thời gian.
Phạm vi nghiên cứu: Các dữ liệu được thu thập từ các website tuyển dụng việc
làm đã được thu thập từ các chương trình Crawler.
Trong luận văn, tác giả nghiên cứu lý luận và đã xây dựng một hệ thống hoàn
chỉnh từ việc thu thập thông tin tuyển dụng đến báo cáo và phân tích xu hướng.
Nội dung của luận văn được chia làm 4 chương với nội dung như sau:

Chương 1 đưa ra cái nhìn tổng quan về yêu cầu bài toán, các công cụ và mô
hình hỗ trợ lưu trữ, phân tích và dự đoán xu hướng nghề nghiệp.
Chương 2 phân tích bài toán và xây dựng chi tiết các Mô-đun phục vụ đồng bộ,
tổ chức lưu trữ dữ liệu và phân tích xu hướng.
Chương 3 đưa ra những kết quả thực nghiệm.
Chương 4 kết luận và phương hướng nghiên cứu, phát triển.

Người thực hiện: Lưu Đức Phong

9

Lớp: 2016AKHKTTT.KH


Luận văn Thạc sỹ Khoa học

GVHD: Nguyễn Hữu Đức

CHƯƠNG 1: TỔNG QUAN VỀ BÀI TOÁN
1.1. Đồng bộ và lưu trữ dữ liệu nhiều định dạng
Với sự phát triển và bùng nổ CNTT và truyền thông, các tin tức tuyển dụng
được đăng tải và cập nhật thường xuyên trên các website tuyển dụng cũng như mạng
xã hội,… các thông tin thường có các định dạng không đồng nhất về cấu trúc, tùy
thuộc vào mỗi nguồn đăng tải sẽ có cấu trúc dữ liệu khác nhau. Bên cạnh đó, các trình
thu thập dữ liệu mới bước đầu giúp chúng ta thu thập thành các file dữ liệu nguyên gốc
(raw) chưa được đồng bộ và tổ chức lưu trữ tập trung để phục vụ các bài toán tổng
hợp, phân tích và dự đoán xu hướng.
Căn cứ vào yếu tố như trên, việc cần giải quyết đầu tiên là tổ chức đồng bộ và
lưu trữ dữ liệu vào cơ sở dữ liệu tập trung để đảm bảo việc truy vấn và thực hiện các
nghiệp vụ một cách thuận tiện và nhanh nhất.

1.2. Tổng hợp thống kê, trực quan số liệu
Khi dữ liệu đã được thu thập và lưu trữ chúng ta cần có các công cụ để hợp
thống kê và trực quan hóa số liệu thành các dạng bảng, biểu. Tuy nhiên, với nguồn
thông tin dữ liệu rất lớn, thêm vào đó là nhu cầu thống kê, báo cáo rất da dạng, xoay
theo nhiều góc nhìn. Việc này đòi hỏi chúng ta cần các công hỗ trợ báo cáo chuyên
biệt. Trong bài toán này, tác giả đặt mục tiêu cần theo dõi được một số các báo cáo
thống kê như sau:
 Nhu cầu tuyển dụng việc làm của Việt Nam từ năm 2014 đến 2018
 Phân bố nhóm ngành nghề tuyển dụng năm 2018
 Phân bố nhóm ngành nghề tuyển dụng theo Tỉnh
 Nhu cầu tuyển dụng của các Công ty
1.3. Phân tích dự đoán xu hướng
Các công ty, các nhà tuyển dụng lớn trên thế giới bên cạnh việc nhìn các dữ liệu
của quá khứ, hiện tại thì hiện nay thêm nhu cầu dự đoán xu hướng có thể xảy ra trong
tương lai gần cũng rất lớn. Đây sẽ là căn cứ, nền tảng để hỗ trợ các nhà hoạch địch
chiến lược, nhà tuyền dụng,… có thể đưa ra các quyết định cũng như chiến thuật hợp
Người thực hiện: Lưu Đức Phong

10

Lớp: 2016AKHKTTT.KH


Luận văn Thạc sỹ Khoa học

GVHD: Nguyễn Hữu Đức

lý để giảm thiểu được rủi ro nhất có thể. Trong bài toán này, tác giả đặt mục tiêu cần
đưa ra được các dự đoán như sau:
 Dự đoán nhu cầu tuyển dụng ngành IT của Hà Nội.

 Dự đoán độ tuổi tuyển dụng lao động trung bình.
1.4. Các công cụ, mô hình đáp ứng cho bài toán
1.4.1. Hệ thống quản trị và lưu trữ cơ sở dữ liệu NOSQL
Dữ liệu phi cấu trúc (NOSQL) chia ra thành 04 loại phổ biến: Key-value,
Document database, Graph database và Wide column stores.

Bảng 1.1. Các dạng dữ liệu NoSQL
Key-value: là kiểu dữ liệu chung cho các hệ quản trị cơ sở dữ liệu phi cấu trúc
NoSQL và là kiểu dữ liệu đơn giản nhất. Dữ liệu của kiểu Key-value lưu trữ dưới dạng
khóa (key - là một chuỗi duy nhất) liên kết với giá trị (value) có thể ở dạng chuỗi văn
bản đơn giản hoặc các tập, danh sách dữ liệu phức tạp hơn. Quá trình tìm kiếm dữ liệu
thường sẽ được thực hiện thông qua key, điều này dẫn đến sự hạn chế về độ chính xác.
Các công cụ sẵn có: Redis,…

Người thực hiện: Lưu Đức Phong

11

Lớp: 2016AKHKTTT.KH


Luận văn Thạc sỹ Khoa học

GVHD: Nguyễn Hữu Đức

Hình 1.1. Dữ liệu dạng Key-Value
Document: là hệ cơ sở dữ liệu quản lý và lưu các dữ liệu ở dạng văn bản
(Document). Các văn bản (document) sẽ được chuẩn hóa về các dạng chuẩn như JSON
(Javascript Object Notation), XML hoặc BSON (Binary JSON). Giá trị của các cột
trong các cơ sở dữ liệu văn bản chứa dữ liệu bán cấu trúc (Semi-Structured Data), đặc

biệt là cặp thuộc tính key-value. Các cột có thể chưa nhiều thuộc tính, số lượng và loại
thuộc tính đươc lưu trữ có thể khác nhau giữa các dòng. Thêm vào đó các kiểu lưu trữ
dữ liệu dạng Key-value đơn giản là cả key và value đều có thể tìm kiếm trong CSDL
Document. Các công cụ sẵn có: CouchDB (JSON), MongoDB (BSON),…

Hình 1.2. Dữ liệu dạng Document

Người thực hiện: Lưu Đức Phong

12

Lớp: 2016AKHKTTT.KH


Luận văn Thạc sỹ Khoa học

GVHD: Nguyễn Hữu Đức

Column-oriented databases (column-family): Nhìn bề ngoài, chúng khá
giống với CSDL quan hệ nhưng thực tế là hoàn toàn khác. Một số sự khác biệt dễ thấy
nhất là việc lưu trữ dữ liệu theo dòng đối với các HQT CSDL quan hệ với việc lưu trư
dữ liệu theo cột của các HQT CSDL Conlumn Family. Và các tư tưởng của cả hai loại
CSDL này cũng hoàn toàn khác nhau. Chúng ta không thể áp dụng cùng một giải pháp
mà chúng ta đã sử dụng trong CSDL quan hệ vào CSDL Conlumn Family. Bởi vì,
CSDL Column Family là các CSDL phi quan hệ [1]. Các công cụ sẵn có: BigTable,…

Hình 1.3. Dữ liệu dạng Coloumn
Graph databases: Là tập hợp cơ sở dữ liệu có dạng đồ thị trong đó có các nút,
giữa các nút (nodes) có quan hệ (relationships), thuộc tính (attributes) để mô tả và lưu
trữ dữ liệu. Các công cụ sẵn có: Neo4J, Sones, AllegroGraph, Core Data, DEX,

FlockDB, InfoGrid, OpenLink Virtuoso,…

Hình 1.4. Dữ liệu dạng Graph [1]

Người thực hiện: Lưu Đức Phong

13

Lớp: 2016AKHKTTT.KH


Luận văn Thạc sỹ Khoa học

GVHD: Nguyễn Hữu Đức

1.4.2. Các công cụ trực quan hóa số liệu
Trong thời gian trở lại đây giải pháp về báo cáo thống kê trả qua nhiều thay đổi,
hiện nay việc áp dụng các báo cáo BI (Business Intelligence) kết hợp phân tích
(Analytic) đang trở nên phổ biến. Đáng chú ý nhất là là xu hướng self-service, nó cung
cấp cho người dùng thông thường khả năng tự xử lý và phân tích số liệu mà không cần
nhiều kiến thức chuyên môn về lập trình hay phân tích.
Theo báo cáo đánh giá của Gartner về Magic Quadrant 2017, Ở nhóm dẫn dắt
(leaders) các công cụ của TableAU và Microsoft (PowerBI) là những hãng đứng đầu
về khả năng đáp ứng, cung cấp dịch vụ.

Hình 1.5. Đánh giá các công cụ trình diễn dữ liệu [2]
Power BI: Là phần mềm đóng gói của Microsoft, người dùng có thể cài đặt tại
các máy cá nhân, kết nối với nhiều loại CSDL. Điểm mạnh của sản phẩm là chi phí cài
đặt thấp. Tuy nhiên hạn chế của công cụ là khả năng xử lý dữ liệu lớn. Bên cạnh đó
các báo cáo xoay chiều (tương tự như Pivot Table trong excel) vẫn chưa được hỗ trợ.

TableAU: Là một trong những phần mềm mạnh nhất về tích hợp và trình diễn
dữ liệu (visualization) cũng như phân tích trực quan (visual analysis). Công cụ hỗ trợ
tối đa cho người dùng (end-user), giúp người dùng có thể chủ động định nghĩa và điều
chỉnh các báo cáo trong thời gian ngắn. Điểm mạnh của công cụ là khả năng xử lý dữ
liệu lớn, việc thay đổi/cập nhật nhanh chóng với các giao diện kéo thả (drag & drop).

Người thực hiện: Lưu Đức Phong

14

Lớp: 2016AKHKTTT.KH


Luận văn Thạc sỹ Khoa học

GVHD: Nguyễn Hữu Đức

1.4.3. Mạng nơ-ron nhân tạo và mô hình dự đoán
1.4.3.1. Định nghĩa và cấu trúc
Định nghĩa: là một mô hình toán học hay mô hình tính toán được xây dựng dựa
trên các mạng nơ-ron sinh học. Nó gồm có một nhóm các nơ-ron nhân tạo (nút) nối
với nhau, và xử lý thông tin bằng cách truyền theo các kết nối và tính giá trị mới tại
các nút.
Trong thực tế sử dụng, nhiều mạng nơ-ron là các công cụ mô hình hóa dữ liệu thống
kê phi tuyến. Chúng có thể được dùng để mô hình hóa các mối quan hệ phức tạp giữa
dữ liệu vào và kết quả hoặc để tìm kiếm các dạng/mẫu trong dữ liệu [3].
Trong đó, một nơ-ron là một thành phần của mạng nơ-ron nó giúp xử lý các
thông tin, cấu trúc như sau:

Bảng 1.2. Nơ-ron nhân tạo [4]

Các thành phần cơ bản của một nơ-ron nhân tạo bao gồm: đầu vào, trọng số liên
kết, hàm tổng, ngưỡng và đầu ra. Cụ thể:
-

Đầu vào (Input): Là các giá trị đầu vào của nơ-ron, các tín hiệu này thường
được đưa vào dưới dạng một vector N chiều.

-

Trọng số liên kết (weight): Mỗi liên kết đều được gắn với các trọng số ta
thường gọi là trọng số liên kết. Trọng số liên kết thường được khởi tạo ngẫu
nhiên và được cập nhật lại trong quá trình học mạng.

-

Hàm tổng (Summing function): bằng tích của đầu vào với trọng số liên
kết.

Người thực hiện: Lưu Đức Phong

15

Lớp: 2016AKHKTTT.KH


Luận văn Thạc sỹ Khoa học
-

GVHD: Nguyễn Hữu Đức


Ngưỡng (bias): là một thành phần của hàm truyền, và được coi như một
input bổ sung với trọng số luôn bằng 1.

-

Hàm truyền (Transfer function) : là hàm dùng giới hạn đầu ra của mỗi nơron. Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng đã cho. Thông
thường, phạm vi đầu ra của mỗi nơ-ron được giới hạn trong đoạn các
khoảng [0,1] hoặc [-1 ,1]. Các hàm truyền có thể là hàm tuyến tính hoặc phi
tuyến.

Hàm truyền

Đồ thị

Định nghĩa

Symmetrical Hard Limit
(hardlims)

Linear (purelin)

Saturating Linear (satlin)

Log-Sigmoid (logsig)

Bảng 1.3. Các hàm truyền [4]

Người thực hiện: Lưu Đức Phong

16


Lớp: 2016AKHKTTT.KH


Luận văn Thạc sỹ Khoa học
-

GVHD: Nguyễn Hữu Đức

Đầu ra: Là tín hiệu đầu ra của một nơ-ron, với mỗi nơ-ron sẽ có tối đa là
một đầu ra.

1.4.3.2. Mạng nhiều tầng truyền thẳng
Có rất nhiều loại mạng nơ-ron khác nhau [10], [12], [13], [17] trong đó mạng
nơ-ron truyền thẳng nhiều lớp được sử dụng phổ biến nhất (MLP - Multi Layer
Perceptron). Đã có nhiều nghiên cứu sử dụng mạng nơ-ron truyền thẳng nhiều lớp
trong bài toán dự báo [14], [15], [16], [18] và đã chứng tỏ đây là hướng tiếp cận rất
hiệu quả.
Một mạng nơ-ron nhiều tầng truyền thẳng thường sẽ có nhiều hơn 2 tầng (n
>=2 tầng), trong đó số tầng ẩn bằng n-1 và 1 tầng output. Riêng tầng đầu vào (input)
không được tính.

Bảng 1.4. Mạng nhiều tầng truyền thẳng [4]
Kiến trúc của mạng truyền thẳng MLP bao gồm các thành phần:
-

Đầu vào và đầu ra là các vector trong không gian nhiều chiều.

-


Mỗi nơ-ron của các tầng sau liên kết với tất cả các nơ-ron tầng liền trước nó.

-

Đầu ra của nơ-ron tầng trước là đầu vào của nơ-ron thuộc tầng liền sau nó.

1.4.3.3. Huấn luyện mạng nơ-ron
-

Các phương pháp học:
o Học giám sát (supervised learning): Ngay từ đầu mạng sẽ được
cung cấp một tập hợp dữ liệu học cùng với bộ trọng số tự do. Các kết
quả đầu ra thực tế sẽ được so sánh với đầu ra mong muốn. Giá trị sai

Người thực hiện: Lưu Đức Phong

17

Lớp: 2016AKHKTTT.KH


Luận văn Thạc sỹ Khoa học

GVHD: Nguyễn Hữu Đức

khác giữa giá trị thực tế và giá trị đầu ra là cơ sở cho việc hiệu chỉnh
trọng số ccuar mạng. Quá trình huấn luyện liên tục và dừng lại khi
mạng đạt được giá trị sai số như mong muốn. Điển hình cho kỹ thuật
này là mạng nơ-ron lan truyền ngược.


Bảng 1.5. Học giám sát
o Học không giám sát (unsupervised learning): Mạng kiểu này phải
tự tìm ra các đặc tính cũng như quy luật tương quan giữa dữ liệu đầu
vào để tạo ra dữ liệu đầu ra. Trong quá trình tự tìm ra các đặc điểm,
mạng trải qua quá trình tự tổ chức để thay đổi tham số.

Bảng 1.6. Học không giám sát
o Học tăng cường (Reinforcement learning): Đối với học có giám sát,
các giá trị đầu ra được biết chính xác với mỗi đầu vào. Tuy nhiên,

Người thực hiện: Lưu Đức Phong

18

Lớp: 2016AKHKTTT.KH


Luận văn Thạc sỹ Khoa học

GVHD: Nguyễn Hữu Đức

trong thực tế có một số trường hợp chỉ biết ít thông tin chi tiết, chẳng
hạn mạng chỉ biết rằng giá trị đầu ra thực sự quá cao hay có thể mạng
chỉ có được thông tin phản hồi báo rằng đầu ra đúng hay sai. Thuật
học dựa trên thông tin đánh giá này được gọi là thuật học củng cố,
thông tin phản hồi được gọi là tín hiệu tăng cường.

Bảng 1.7. Học tăng cường
-


Thuật toán lan truyền ngược [4]:

Đầu vào
Đầu ra
- Mạng feed-forward với Các vector trọng số

Ký hiệu
- j: nơron thứ j (hay nút

ni đầu vào, nh nút ẩn và no Thuật toán:
thứ j)
đầu ra.
Bước 1: Khởi tạo trọng số - Xj: vector đầu vào của
- Hệ số học η

bởi các giá trị ngẫu nhiên nút thứ j

- Tập dữ liệu huấn luyện nhỏ.

- Wj: vector trọng số của

D = {là vector đầu vào, là Bước 2: Lặp lại cho tới nút thứ j
vector đầu ra mong khi thỏa mãn điều kiện kết - xji: đầu vào của nút thứ j
muốn}.
thúc.
từ nút thứ i
Với mỗi mẫu, thực hiện - wji: trọng số trên xji
các bước sau:

- bj: ngưỡng tại nút thứ j


2.1 Tính đầu ra oj cho mỗi - oj: đầu ra của nút thứ j
nút j:
- t : đầu ra mong muốn của
j

oj = f(d – bj) với d = nút thứ j
Σxjiwji
- Downstream(j): Tập tất
Người thực hiện: Lưu Đức Phong

19

Lớp: 2016AKHKTTT.KH


Luận văn Thạc sỹ Khoa học
Đầu vào

GVHD: Nguyễn Hữu Đức
Đầu ra
Ký hiệu
2.2 Với mỗi nút k thuộc cả các nút nhận đầu ra của
tầng ra, tính δk theo công nút thứ j làm một giá trị
thức:

đầu vào.

δk = (tk – ok)(1 – ok)ok


- η: tốc độ học

2.3 Với mỗi nút h thuộc - f: hàm truyền với f(x) =
tầng ẩn, tính δh theo công 1 / (1 + e-x)
thức:
δh = oh(1 – oh) Σδkwkh với
k ∈ Downstream(j)
2.4 Cập nhật: wji = wji +
Δwji
Trong đó Δwji = ηδkxji

1.4.3.4. Mạng nơ-ron hồi quy (RNN - Recurrent Neural Network)
Đối với mạng nơ-ron thông thường các đầu vào và đầu ra là độc lập và không liên
kết thành chuỗi. Một số bài toán sẽ không phù hợp khi áp dụng mô hình này, ví dụ
đoán từ tiếp theo của một câu, trong đó để đoán được ta cần biết lịch sử xuất hiện các
từ đứng trước đó ở các văn bản để dạy thiết lập cho mạng,… Những bài toán như trên
phù hợp với mạng hồi quy RNN, do mô hình sẽ thực hiện cùng một tác vụ cho tất cả
các phần tử của một chuỗi với đầu ra phụ thuộc vào cả các phép tính trước đó:

Hình 1.6. Mô hình mạng nơ-ron hồi quy RNN [5]

Người thực hiện: Lưu Đức Phong

20

Lớp: 2016AKHKTTT.KH


Luận văn Thạc sỹ Khoa học


GVHD: Nguyễn Hữu Đức

Tuy mạng RNN giúp giải quyết các bài toán có dữ liệu tuần tự nhưng kiến trúc
của mạng khá đơn giản nên khả năng liên kết các thành phần có khoảng cách xa trong
câu không tốt. Nguyên nhân do mạng hồi quy RNN chịu ảnh hưởng bởi gradient (độ
dốc) bị thấp dần trong quá trình học (vanishing gradient). Gradient lại là thành phần
quan trọng bậc nhất trong việc huấn luyện các model. Vì thế khi giá trị của gradient
được tạo bởi các thành phần phía đầu đoạn văn trở nên quá nhỏ, nó sẽ không đóng góp
gì cho việc học của model. Từ hạn chế này ta nhận thấy kiến trúc của mạng hồi quy
RNN không có cơ chế lọc (filter) và bỏ đi các thông tin không cần thiết, điều đó dẫn
đến bộ nhớ sẽ đến ngưỡng và sẽ bỏ đi những dữ liệu trước đó ở xa trong quá khứ.
Để khắc phục các hạn chế của mạng RNN nêu trên, một phiên bản đặc biệt của
mạng RNN là mạng LSTM (Long Short Term Memory) đã được ra đời:
Mạng LSTM là một dạng đặc biệt của mô hình mạng RNN. Điểm chính trong
kiến trúc mạng của LSTM chính là các memory cell với các cổng cho phép lưu trữ
hoặc truy xuất thông tin. Các cổng này cho phép ghi đè (input gate), loại bỏ dư thừa
(forget gate) và truy xuất (output gate) các thông tin được lưu trữ bên trong các
memory cell.

Hình 1.7. Mô hình mạng LSTM [5]

Quá trình hoạt động của mạng LSTM [5]:

Người thực hiện: Lưu Đức Phong

21

Lớp: 2016AKHKTTT.KH



Luận văn Thạc sỹ Khoa học
-

GVHD: Nguyễn Hữu Đức

Bước 1: Quyết định thông tin nào chúng ta cần loại bỏ khỏi cell state. Việc
này được thực hiện thông qua tầng sigmoid (forget gate layer). Đầu vào là
ℎ�−1 và ��, đầu ra là một giá trị nằm trong khoảng [0, 1] cho cell state ��−1.
Nếu giá trị trả ra là 1 thì thông tin được giữ lại, ngược lại bằng 0 thì thông
tin bị loại bỏ.

Bảng 1.8. Mô hình LSTM bước 1
-

Bước 2: Xác định loại thông tin sẽ được lưu vào cell state, có 2 thành phần:
o Tầng sigmoid (input gate layer) quyết định các giá trị sẽ cập nhật
o Tầng tanh tạo ra vector với các giá trị mới có thể đưa vào cellstate.

Bảng 1.9. Mô hình LSTM bước 2
-

Bước 3: Cập nhật cellstate cũ ��−1 vào cell state mới ��

Bảng 1.10. Mô hình LSTM bước 3
-

Bước 4: Quyết định đầu ra là gì. Chạy tín hiệu qua tầng sigmoid để quyết
định phần tử nào sẽ tác động đến đầu ra. Sau đó đưa cellstate đi qua một
hàm tanh (đẩy giá trị vào khoảng -1 và 1) và nhân với một output sigmoid
gate, để giữ lại những phần ta muốn output ra ngoài.


Người thực hiện: Lưu Đức Phong

22

Lớp: 2016AKHKTTT.KH


Luận văn Thạc sỹ Khoa học

GVHD: Nguyễn Hữu Đức

Bảng 1.11. Mô hình LSTM bước 4
Kết luận chương 1:
Sự phát triển không ngừng của CNTT, các dữ liệu, thông tin hiện đã và đang
được số hóa từng ngày. Việc khai thác các thông tin và ứng dụng vào các nhu cầu của
xã hội là điều tất yếu. Tuy nhiên, do thông tin thu thập được từ internet rất đa dạng về
cấu trúc lưu trữ, thêm vào đó việc phân tích xu hướng với tập dữ liệu lớn là điều không
đơn giản.
Sau khi nghiên cứu thực tế, tác giả đề xuất xây dựng một hệ thống hoàn chỉnh
bao gồm các Mô-đun đáp ứng việc đồng bộ, lưu trữ, phân tích và dự báo xu hướng dựa
trên các dữ liệu thu thập được. Đối với hệ thống CSDL phải đảm bảo tính linh hoạt, có
khả năng mở rộng nhanh chóng đồng thời có thể truy suất hiệu năng cao. Đối với Môđun tổng hợp thông tin và phân tích dữ liệu phải đáp ứng được các bài toán về báo cáo
thống kê, phân tích xu thế và dự báo xu hướng trong tương lai. Qua phân tích đã nêu ở
các phần trên, tác giả đề xuất sử dụng hệ CSDL Non-Sql mà cụ thể là hệ thống
MongoDB (triển khai theo mô hình sharded cluster), hệ thống trình bày, hiển thị dữ
liệu sẽ sử dụng là TableAU. Riêng đối với Mô-đun phân tích tác giả đã trình bày tổng
quát về mạng Nơ-ron, cách thức hoạt động và đưa ra các mô hình RNN để phục vụ tốt
cho công tác dự báo, trong đó mô hình LSTM (Long Short Term Memory) được đánh
giá là có nhiều ưu điểm và phù hợp với bài toán hiện tại. Mô hình này sẽ được nghiên

cứu và triển khai lên hệ thống dự báo xu hướng ở Chương 2.

Người thực hiện: Lưu Đức Phong

23

Lớp: 2016AKHKTTT.KH


Luận văn Thạc sỹ Khoa học

GVHD: Nguyễn Hữu Đức

CHƯƠNG 2: XÂY DỰNG CHƯƠNG TRÌNH THU THẬP VÀ PHÂN TÍCH XU
HƯỚNG NGHỀ NGHIỆP
Trong chương này tác giả sẽ phân tích và xây dựng hệ thống đồng bộ thông tin,
tổ chức lưu trữ dữ liệu và phân tích xu thế từ các thông tin tuyển dụng trên internet từ
các mục tiêu đã được lựa chọn trước bao gồm các bước chính như phân tích mục tiêu
cũng như thiết kế hệ thống cơ sở dữ liệu; kiến trúc tổng quát,…
2.1. Phân tích mục tiêu
Chương trình cần xây dựng phải đáp ứng được các nghiệp vụ đầu ra như sau:
 Tự động phát hiện thu thập dữ liệu
 Lưu trữ phân tán cơ sở dữ liệu trên cụm CSDL
 Trực quan dữ liệu
 Mô hình dự báo kết quả LSTM

Hình 2.8. Kiến trúc tổng thể hệ thống

Người thực hiện: Lưu Đức Phong


24

Lớp: 2016AKHKTTT.KH


×