Tìm Hiểu Web Scraping và Topic Analysis Để Phân Tích Các Thông Báo Tuyển Dụng

Đồ án nghiên cứu hcmute tìm hiểu web scaping và topic analysis để phân tích các thông báo tuyển dụng, áp dụng công nghệ tiên tiến, tối ưu giải pháp kỹ thuật cho bài toán .

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2019

74
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI

1.1. GIỚI THIỆU BÀI TOÁN

1.2. MỤC TIÊU

1.3. BỐ CỤC CỦA BÁO CÁO

2. CHƯƠNG 2: TỔNG QUAN WEB SCRAPING

2.1. KHÁI NIỆM WEB SCRAPING

2.2. CẤU TRÚC TÀI LIỆU HTML

3. CHƯƠNG 3: TỔNG QUAN TOPIC ANALYSIS

3.1. Khái niệm chủ đề

3.2. Khái niệm topic analysis và topic model

3.3. BÀI TOÁN TOPIC ANALYSIS

3.3.1. Đối tượng và dữ liệu quan tâm

3.3.2. Các bước thực hiện

3.4. CÁC THUẬT TOÁN PHÂN TÍCH CHỦ ĐỀ (TOPIC ANALYSIS)

3.4.1. Thuật toán PLSA

3.4.2. Thuật toán LDA

4. CHƯƠNG 4: THỰC HIỆN THU THẬP CÁC THÔNG BÁO TUYỂN DỤNG

4.1. ĐỐI TƯỢNG VÀ DỮ LIỆU QUAN TÂM

4.2. GIỚI THIỆU CÔNG CỤ R VÀ CÁC THƯ VIỆN

4.2.1. Giới thiệu ngôn ngữ R

4.2.2. Các gói thư viện hỗ trợ web scraping

4.3. THỰC HIỆN TẢI XUỐNG DỮ LIỆU VỚI CÔNG CỤ R

5. CHƯƠNG 5: ỨNG DỤNG TOPIC MODEL PHÂN TÍCH THÔNG BÁO TUYỂN DỤNG

5.1. CÁC CÔNG CỤ VÀ THƯ VIỆN CẦN THIẾT

5.1.1. Thư viện Tm

5.1.2. Thư viện Quanteda

5.1.3. Thư viện Topicmodels

5.2. DỮ LIỆU VÀ TIỀN XỬ LÝ

5.2.1. Mô tả dữ liệu

5.2.2. Tiền xử lý dữ liệu

5.2.3. THỰC HIỆN TOPIC ANALYSIS CÁC THÔNG BÁO TUYỂN DỤNG

6. CHƯƠNG 6: ĐÁNH GIÁ KẾT QUẢ PHÂN TÍCH

6.1. BIỂU DIỄN KẾT QUẢ

6.2. GIẢI THÍCH KẾT QUẢ

TÀI LIỆU THAM KHẢO

PHỤ LỤC A

PHỤ LỤC B

PHỤ LỤC C

PHỤ LỤC D

Tóm tắt

I. Tổng quan về Phân tích Tuyển dụng bằng Web Scraping và Topic Analysis

Nghiên cứu này tập trung vào việc ứng dụng web scraping tuyển dụngtopic analysis tuyển dụng để phân tích thông tin tuyển dụng. Việc sử dụng kỹ thuật web scraping tự động hóa quá trình thu thập dữ liệu từ các trang web tuyển dụng, giải quyết bài toán thu thập dữ liệu tuyển dụng một cách hiệu quả. Dữ liệu thu thập được sau đó được xử lý bằng topic analysis, cụ thể là LDA topic modeling, để nhận diện xu hướng tuyển dụng và các nhân tố tuyển dụng quan trọng. Phân tích dữ liệu tuyển dụng này đem lại cái nhìn sâu sắc về thị trường lao động, hỗ trợ tối ưu hóa tuyển dụngđịnh hướng chiến lược tuyển dụng. Phân tích số liệu tuyển dụng giúp đánh giá hiệu quả tuyển dụngchi phí tuyển dụng. Nghiên cứu này góp phần vào việc ứng dụng big data tuyển dụngdata mining tuyển dụng trong lĩnh vực nhân sự.

1.1 Thu thập dữ liệu tuyển dụng bằng Web Scraping

Giai đoạn đầu tiên là thu thập dữ liệu tuyển dụng bằng kỹ thuật web scraping tuyển dụng. Quá trình này bao gồm việc xác định các nguồn dữ liệu, chủ yếu là các trang web tuyển dụng trực tuyến. Tiếp theo, sử dụng các công cụ và thư viện như python web scraping hay R programming tuyển dụng để truy cập và trích xuất dữ liệu từ các trang web. Kỹ thuật web scraping cần được thực hiện cẩn thận để tuân thủ các điều khoản sử dụng của trang web và tránh gây quá tải cho hệ thống. Cấu trúc HTML của các trang web cần được hiểu rõ để xác định chính xác vị trí của thông tin tuyển dụng cần thu thập. Dữ liệu được lưu trữ dưới dạng có cấu trúc, thường là file CSV, dễ dàng sử dụng cho các bước phân tích tiếp theo. Việc lựa chọn công cụ web scraping phù hợp là quan trọng để đảm bảo hiệu quả và độ chính xác của quá trình thu thập. Nguồn tuyển dụng đa dạng, nghiên cứu cần lựa chọn các trang đại diện để đảm bảo tính đại diện của dữ liệu. Chi phí tuyển dụng cho giai đoạn này chủ yếu là thời gian và công sức lập trình và tối ưu hóa quy trình web scraping.

1.2 Phân tích dữ liệu bằng Topic Analysis

Sau khi thu thập dữ liệu, giai đoạn tiếp theo là phân tích dữ liệu tuyển dụng bằng topic analysis tuyển dụng. Kỹ thuật topic modeling như LDA topic modeling hay NMF topic modeling được sử dụng để phân nhóm thông tin tuyển dụng thành các chủ đề khác nhau. Mỗi chủ đề đại diện cho một nhóm yêu cầu công việc, kỹ năng hoặc xu hướng tuyển dụng cụ thể. Phân tích sentiment tuyển dụng có thể được thực hiện song song để đánh giá thái độ tích cực hay tiêu cực của thông tin tuyển dụng. Quá trình này bao gồm các bước tiền xử lý dữ liệu như làm sạch dữ liệu, loại bỏ từ dừng (stop words), và chuyển đổi dữ liệu thành dạng ma trận. Thuật toán topic modeling sau đó được áp dụng để xác định các chủ đề tiềm ẩn trong dữ liệu. Mẫu hình topic được tạo ra cần được diễn giải để hiểu ý nghĩa của các chủ đề. Visualisation dữ liệu tuyển dụngdashboard tuyển dụng giúp thể hiện trực quan kết quả phân tích. Kết quả cho thấy các từ khóa tuyển dụng quan trọng, xu hướng tuyển dụng, và nhu cầu về kỹ năng của nhà tuyển dụng. NLP tuyển dụngNatural Language Processing tuyển dụng hỗ trợ việc hiểu và phân tích ngữ nghĩa trong dữ liệu.

1.3 Ứng dụng và Kết luận

Kết quả của nghiên cứu cung cấp thông tin giá trị cho các nhà tuyển dụng, giúp họ hiểu rõ hơn về nhu cầu nhân lực hiện tại và tương lai. Việc dự đoán xu hướng tuyển dụng giúp các doanh nghiệp có kế hoạch tuyển dụng hiệu quả hơn. Dữ liệu phân tích có thể được dùng để xây dựng chiến lược tuyển dụng tối ưu, bao gồm việc lựa chọn kênh tuyển dụng phù hợp, xác định mức lương cạnh tranh và các chính sách đãi ngộ hấp dẫn. Nghiên cứu cũng giúp các trường đại học và cơ sở đào tạo hiểu rõ hơn về nhu cầu nhân lực của thị trường, từ đó điều chỉnh chương trình đào tạo để đáp ứng nhu cầu xã hội. Tự động hóa tuyển dụngtối ưu hóa tuyển dụng góp phần tiết kiệm thời gian và chi phí. Báo cáo tuyển dụngbảng biểu tuyển dụng giúp trình bày kết quả một cách rõ ràng và dễ hiểu. Đánh giá tuyển dụng trở nên khách quan và dựa trên dữ liệu. Thống kê tuyển dụng cung cấp thông tin định lượng chính xác. Tuy nhiên, nghiên cứu còn một số hạn chế cần được giải quyết trong tương lai như mở rộng nguồn dữ liệu và cải thiện độ chính xác của mô hình phân tích. Thực tiễn tuyển dụng thường phức tạp hơn và cần kết hợp nhiều yếu tố khác.

01/02/2025
Đồ án hcmute tìm hiểu web scaping và topic analysis để phân tích các thông báo tuyển dụng

Trích đoạn nội dung tài liệu

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 GIỚI THIỆU BÀI TOÁN Nghiên cứu tuyển dụng là một trong các hoạt động có ý nghĩa quan trọng đối với doanh nghiệp và xã hội. Việc khảo sát về yêu cầu cho một vị trí công việc, mức lương, chính sách chế độ đãi ngộ,. tốn nhiều nguồn lực, chi phí lớn. Quá trình thu thập và phân tích các khảo sát một cách thủ công cũng mất nhiều thời gian hơn và không bắt kịp xu hướng phát triển của thị trường việc làm trong tương lai.

Vấn đề đặt ra ở đây là làm sao phát hiện được các yêu cầu chung cho một vị trí tuyển dụng, mức lương phổ biến cho vị trí công việc cũng như chế độ đãi ngộ đối với nhân viên như thế nào để vừa nhanh chóng, vừa chính xác và đạt được hiệu quả cao. Một phương án được đề xuất là sử dụng dữ liệu việc làm có sẵn từ Internet, kết hợp các công nghệ hỗ trợ giúp thu thập thông tin trên web tuyển dụng, thông qua thu thập và đánh giá tự động để tìm ra được các quan tâm của ứng viên và nhà tuyển dụng. Việc thu thập tự động giúp giảm thiểu sự sai sót và nhọc nhằng cho con người so với tiến hành khảo sát trực tiếp. Hơn nữa với tốc độ việc làm thay đổi chóng mặt, việc thu thập và phân tích tự động cho độ trễ thời gian thấp hơn, kết quả phù hợp hơn với tình hình hiện tại.

Kết quả cũng mang ý nghĩa quan trọng tác động đến định hướng đào tạo sinh viên tại các trường đại học nhằm đáp ứng nhu cầu nhân lực tại các doanh nghiệp.2 MỤC TIÊU Nhiệm vụ của đề tài là thu thập dữ liệu cho một loại việc làm cụ thể trên trang web tuyển dụng nổi tiếng. Sau đó tiến hành phân tích theo chủ đề để phát hiện các yêu cầu chung, mức lương phổ biến, chính sách đãi ngộ,. tương ứng cho loại việc làm đó, đưa ra các từ khóa phổ biến liên quan đến vị trí công việc đang tìm kiếm, phán đoán được các kỹ năng mới, các xu hướng trong tương lai. Để đạt được điều đó, chúng tôi tập trung tìm hiểu một số vấn đề sau: + Tìm hiểu khái niệm web scarping và cấu trúc HTML + Tìm hiểu khái niệm topic analysis và các kỹ thuật phân tích theo chủ đề + Thực hiện công việc thu thập dữ liệu web tuyển dụng với các thư viện của R + Phân tích theo chủ đề đối với dữ liệu thu thập được để đưa ra các thông tin quan tâm + Đánh giá và giải thích kết quả 19 do an 1.3 BỐ CỤC CỦA BÁO CÁO Các phần còn lại của báo cáo khóa luận được tổ chức như sau: Chương 2: Tổng quan về web scraping Chương 3: Tổng quan topic analysis Chương 4: Thực hiện thu thập các thông báo tuyển dụng Chương 5: Ứng dụng topic model phân tích các thông báo tuyển dụng Chương 6: Đánh giá và giải thích kết quả 20 do an CHƯƠNG 2: TỔNG QUAN WEB SCRAPING 2.1 KHÁI NIỆM WEB SCRAPING Sự ra đời mạng máy tính và môi trường world wide web (www) cung cấp nguồn thông tin và dữ liệu vô cùng phong phú.

Con người có thể khai thác chúng để có được những thông tin giá trị phục vụ cho hoạt động kinh tế, chính sách, giáo dục, y tế,… Với nguồn dữ liệu lớn vượt quá khả năng xử lý của con người, các kỹ thuật thu thập và phân tích dữ liệu web dần được quan tâm, nghiên cứu và phát triển. Web scraping là một kỹ thuật phổ biến để thu thập dữ liệu trên web. Web scraping được hiểu là quá trình thu thập và tải xuống dữ liệu quan tâm có trên web một cách tự động [1]. Quá trình web scraping trải qua các giai đoạn chính:  Xác định nguồn dữ liệu và dữ liệu quan tâm  Sử dụng công cụ để tiến hành trích xuất dữ liệu quan tâm  Tải xuống và lưu trữ dữ liệu theo cấu trúc nhất định Giai đoạn đầu tiên là xác định nguồn dữ liệu và dữ liệu quan tâm.

Chúng ta cần xác định trang web mà ta đang hướng đến, nắm được cấu trúc của chúng và xác định dữ liệu ta quan tâm nằm ở đâu. Dữ liệu web có thể sẵn có để tải xuống như các tài liệu TXT, CSV, PDF, XLS, JPEG nhưng cũng có thể tồn tại ở dạng tài liệu khác như HTML.1: Xác định nguồn dữ liệu và dữ liệu quan tâm Tiếp sau đó chúng ta cần lựa chọn một công cụ phù hợp để tiến hành thu thập dữ liệu. Có rất nhiều công cụ hỗ trợ cung cấp giao diện thân thiện và thao tác đơn giản, phổ biến như: myTrama, import.io, kimonolabs, Tabula, Zamzar, cometDocs, Navigator extensions, Google spreadsheets IMPORTHTML,… Chúng ta cũng có thể sử dụng các ngôn ngữ phổ biến như Java, Python, R, Ruby, Node,… để lập trình công cụ thu thập 21 do an dữ liệu web. Cuối cùng là xác định cấu trúc lưu trữ và thực hiện tải xuống dữ liệu.

Dữ liệu đầu ra có thể cấu trúc như TXT, CSV, JSON, XML, XLS,… Các vấn đề lớn liên quan đến web scraping bao gồm [3]:  Cấu trúc của các web là không giống nhau và thường xuyên thay đổi, đặt ra yêu cầu cần có sự thay đổi về kỹ thuật để tương thích. Vấn đề làm sạch, tổ chức, xử lý dữ liệu cũng gặp nhiều khó khăn hơn do sự khác biệt về cấu trúc.  Thông tin thu thập có thể trùng lặp hoặc không còn phù hợp do có thể một vị trí được đăng tuyển trên nhiều trang khác nhau và nội dung thường xuyên được cập nhật, làm mới.  Vấn đề quyền sử dụng dữ liệu và tính an toàn cũng được đề cập đến trong các dự án về web scraping.

Biện pháp an toàn đưa ra là tách biệt máy chủ lưu trữ dữ liệu tải xuống khỏi hệ thống lưu trữ của doanh nghiệp và thực hiện điều khiển từ xa. Để có thể tiến hành bước thu thập dữ liệu web, trước hết chúng ta cần nắm về cấu trúc web để có các biện pháp kỹ thuật tương ứng. Trong đề tài này, chúng tôi chỉ tập trung vào thu thập dữ liệu web dạng HTML bởi sự phổ biến của loại web này.2 CẤU TRÚC TÀI LIỆU HTML HTML (HyperText Markup Language) là ngôn ngữ đánh dấu siêu văn bản dùng các thẻ (tags) để định dạng dữ liệu và tạo khung hoặc bảng cho trang web. HTML cho phép chúng ta tạo ra các trang phối hợp hài hòa giữa văn bản thông thường với hình ảnh, âm thanh, video, các mối liên kết đến các trang siêu văn bản khác.

Tài liệu HTML được thiết kế để phân phối nội dung trên môi trường web. Tập hợp các tài liệu HTML cùng các tài liệu khác tạo thành website cung cấp thông tin về một tổ chức hoặc cá nhân. Theo quy ước, tất cả các tệp mã nguồn của trang siêu văn bản phải có đuôi là. Chúng ta có thể truy cập đến một tài liệu HTML thông qua URL - một địa chỉ web và là một chuẩn xác định tài liệu web trên Internet.

Một tài liệu HTML được tạo nên từ nhiều thành phần HTML. Một thành phần HTML được đánh dấu bằng một cặp thẻ mở (<keyword>) và thẻ đóng (</keyword>). Các thành phần HTML có thể cấu trúc phân cấp hình cây, trong đó thành phần mẹ chứa nhiều thành phần con lồng bên trong nó. Khung cấu trúc của một tài liệu HTML được thể hiện như hình 2.

22 do an Hình 2.2: Khung cấu trúc chung của một tài liệu HTML Các thẻ dùng để báo cho trình duyệt cách thức trình bày văn bản trên màn hình hoặc dùng để chọn một mối liên kết đến các trang hoặc một đoạn chương trình khác. Lệnh sẽ tác động vào đoạn văn bản nằm giữa hai thẻ. Các nhóm thẻ phổ biến được liệt kê trong bảng 2.1: Các nhóm thẻ thông dụng trong cấu trúc HTML Thẻ Ví dụ điển hình Thẻ định dạng trang <body> Thẻ định dạng văn bản <font>, <p>, <b>, <i>, <u>,. Thẻ tạo siêu liên kết (hyperlink) <a> Thẻ định dạng danh sách <ul>, <ol>, <li> Thẻ chèn hình ảnh <img> Chi tiết một số thẻ trong cấu trúc HTML và ví dụ được thể hiện trong bảng 2.2: Mô tả chi tiết một số thẻ trong cấu trúc HTML Thẻ và thuộc tính Ý nghĩa Ví dụ <sup> Định dạng chỉ số trên ax<sup>2</sup> ax2 <sub> Định dạng chỉ số dưới H<sub>2</sub>O H2O <h1>,.,<h6> Định dạng tiêu đề từ kích thước 1 <h1>Tiêu đề 1</h1> đến 6 (tiêu đề 1 có kích thước lớn Tiêu đề 1 nhất) <pre> Bỏ qua định dạng của các thẻ <pre><b>Xin chao</b> 23 do an HTML bên trong (không bỏ qua ký các bạn</pre> tự khoảng trắng, tab và xuống dòng) <b>Xin chào</b> các bạn <br> Kết thúc dòng hiện tại và chuyển <p>Dòng 1<br>Dòng 2</p> sang dòng mới Dòng 1 Dòng 2 <font Thiết lập font chữ cho văn bản <font face=”Arial” size=”5” face=”fontname” color=”#FF00FF”> size=”fontsize” color=”color”> <b> Định dạng chữ in đậm <b>Đoạn văn bản in đậm</b> <i> hay <em> Định dạng chữ in nghiêng <i>Đoạn văn bản in nghiêng</i> <u> Định dạng chữ in gạch dưới <u>Đoạn văn bản in gạch dưới</u> <strike> Định dạng chữ in gạch ngang chữ <strike>Đoạn văn bản in gạch ngang chữ</strike> Mỗi thẻ có thể có một hoặc nhiều thuộc tính đi kèm.

Ví dụ một số thuộc tính của thẻ body như trong bảng 2.3: Một số thuộc tính của thẻ body Thuộc tính Ý nghĩa Ví dụ bgcolor=”color” Thiết lập màu nền cho trang web <body bgcolor=”#00FF00”> background=”url” Thiết lập ảnh nền cho trang web <body background=”image.jpg”> leftmargin=”num” Thiết lập lề trái và lề trên cho <body leftmargin=”0” topmargin=”num” trang web topmargin=”0”> text=”color” Thiết lập màu chữ của văn bản, kể <body text=”#FF0000”> cả các đề mục alink=”color” Xác định màu sắc cho các siêu <body alink=”#FF0000” vlink=”color” liên kết trong văn bản (active link, vlink = “#00FF00”>link= link=”color” visited link, link) “#0000FF”> 24 do an Các thẻ siêu liên kết (hyperlink) cho phép người dùng duyệt từ trang web này đến trang web khác. Cú pháp tạo thẻ hyperlink: <a HREF=”URL”> Label </a> Trong đó: + URL là địa chỉ của trang liên kết. + Label có thể là text, button, hình ảnh,. Ngoài ra còn một số thẻ khác liên quan đến các loại tài liệu video, âm thanh, hình ảnh,.

mà chúng tôi xin phép không trình bày trong báo cáo này. 25 do an CHƯƠNG 3: TỔNG QUAN TOPIC ANALYSIS 3.1 Khái niệm chủ đề Nguồn dữ liệu hiện có trên thế giới như các bài báo khoa học, các nội dung website, các bình luận trên mạng xã hội,… đều tập trung làm rõ một vấn đề nào đó mà ta gọi là chủ đề. Chủ đề giúp ta có một cái nhìn khái quát hơn về sự vật hoặc hiện tượng. Thông thường chủ đề của một bài báo cũng chính là tiêu đề của nó và cũng có thể được xác định thông qua nội dung.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài viết "Phân Tích Tuyển Dụng Qua Web Scraping và Topic Analysis" cung cấp cái nhìn sâu sắc về cách thức sử dụng web scraping và phân tích chủ đề để tối ưu hóa quy trình tuyển dụng. Tác giả trình bày các phương pháp thu thập dữ liệu từ các trang web tuyển dụng, từ đó phân tích xu hướng và nhu cầu thị trường lao động. Những thông tin này không chỉ giúp các nhà tuyển dụng hiểu rõ hơn về ứng viên mà còn hỗ trợ trong việc xây dựng chiến lược tuyển dụng hiệu quả hơn.

Độc giả có thể tìm hiểu thêm về việc tự động hóa quy trình tuyển dụng qua bài viết Luận văn thạc sĩ hệ thống thông tin quản lý ứng dụng rpa tự động hóa quy trình nghiệp vụ tuyển dụng nhân sự, nơi khám phá cách RPA có thể cải thiện hiệu suất tuyển dụng. Ngoài ra, bài viết Luận văn thạc sĩ vai trò của mạng lưới xã hội với việc làm của sinh viên tốt nghiệp ngành xã hội học nghiên cứu trường hợp sinh viên tốt nghiệp ngành xã hội học cũng sẽ giúp bạn hiểu rõ hơn về ảnh hưởng của mạng xã hội trong việc tìm kiếm việc làm, một yếu tố quan trọng trong bối cảnh hiện đại. Những liên kết này sẽ mở ra cơ hội cho bạn khám phá sâu hơn về các khía cạnh khác nhau của tuyển dụng và thị trường lao động.