Quá trình tuyển dụng đã phát triển theo thời gian. Các ngành công nghiệp bắt đầu phát triển và nhu cầu tuyển dụng cũng tăng theo. Do đó, các công ty bắt đầu gia công quá trình tuyển dụng của họ. Việc tìm kiếm ứng viên giữa hàng trăm nghìn hồ sơ xin việc là một phần công việc thường ngày của các nhà tuyển dụng. Vấn đề đặt ra là nhà tuyển dụng không thể ngồi đọc từng hồ sơ xin việc của từng ứng viên, việc này tốn rất nhiều thời gian và nhân lực, thậm trí không thể tìm được các ứng viên phù hợp với mong muốn của công ty. Hoặc một sinh viên đang cố gắng làm đẹp bản lý lịch không có cấu trúc của mình và chuyển đổi thành một định dạng pdf đẹp để dễ dàng liên kết với cơ hội việc làm trực tiếp từ hồ sơ xin việc. Chính vì vậy để giải quyết vấn đề này, nhóm nhóm đưa ra giải pháp phân tích thông tin từ sơ yếu lý lịch bằng cách sử dụng xử lý ngôn ngữ tự nhiên, tìm các từ khóa, phân cụm chúng vào các lĩnh vực dựa trên từ khóa của chúng và cuối cùng hiển thị sơ yếu lý lịch phù hợp nhất cho nhà tuyển dụng dựa trên đối sánh từ khóa. Tiết kiệm thời gian và xử lý được nhiều hồ sơ xin việc hơn, trong thời gian ngắn hơn.
Trang 1TRƯỜNG ĐẠI HỌC XÂY DỰNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
o0o BÁO CÁO ĐỒ ÁN
XỬ LÝ NGÔN TỰ NHIÊN
Đề tài:
TÌM HIỂU VỀ TRÍCH RÚT THÔNG TIN VÀ ỨNG DỤNG
TRONG VIỆC TRÍCH RÚT SƠ YẾU LÝ LỊCH
Hà Nội, tháng 3 năm 2022
Trang 22.2 Phương pháp giải quyết bài toán trích rút thông tin cá nhân 8
4.2 Trích rút mối quan hệ trong bài toán trích rút thông tin cá nhân 9
7.3 Ứng dụng biểu thức chính quy để trích rút quan hệ 13
Trang 38.1 Xây dựng mẫu thủ công 13
Trang 4Phụ lục bảng 27
Trang 5CHƯƠNG I: GIỚI THIỆU
1 Lý do chọn đề tài
Quá trình tuyển dụng đã phát triển theo thời gian Các ngành công nghiệp bắt đầu pháttriển và nhu cầu tuyển dụng cũng tăng theo Do đó, các công ty bắt đầu gia công quá trìnhtuyển dụng của họ Việc tìm kiếm ứng viên giữa hàng trăm nghìn hồ sơ xin việc là một phầncông việc thường ngày của các nhà tuyển dụng Vấn đề đặt ra là nhà tuyển dụng không thểngồi đọc từng hồ sơ xin việc của từng ứng viên, việc này tốn rất nhiều thời gian và nhân lực,thậm trí không thể tìm được các ứng viên phù hợp với mong muốn của công ty Hoặc mộtsinh viên đang cố gắng làm đẹp bản lý lịch không có cấu trúc của mình và chuyển đổi thànhmột định dạng pdf đẹp để dễ dàng liên kết với cơ hội việc làm trực tiếp từ hồ sơ xin việc.Chính vì vậy để giải quyết vấn đề này, nhóm nhóm đưa ra giải pháp phân tích thông tin từ sơyếu lý lịch bằng cách sử dụng xử lý ngôn ngữ tự nhiên, tìm các từ khóa, phân cụm chúng vàocác lĩnh vực dựa trên từ khóa của chúng và cuối cùng hiển thị sơ yếu lý lịch phù hợp nhất chonhà tuyển dụng dựa trên đối sánh từ khóa Tiết kiệm thời gian và xử lý được nhiều hồ sơ xinviệc hơn, trong thời gian ngắn hơn
2 Mục đích nghiên cứu và phạm vi nghiên cứu
đến thông tin của một người Hệ thống sẽ trích rút từ văn bản này các thực thể: tên
ng ười, số điện thoại, email, kỹ năng Cuối cùng, hệ thống có thể lưu những dữ liệu vừa
trích xuất dưới dạng các giá trị được phân tách bằng dấu phẩy (csv)
3 Nội dung nghiên cứu
Trong đề tài này, để giải quyết bài toán trích rút thông tin nhóm sử dụng nhận dạng thựcthể, trích xuất dựa trên mẫu, biểu thức chính quy, kỹ thuậttách từ
4 Bố cục
Bố cục của báo cáo gồm 4 chương và phụ lục:
Chương I giới thiệu về động cơ, mục tiêu và phạm vi nghiên cứu, những đóng gópchính và cấu trúc của báo cáo
Chương II giới thiệu tổng quan về bài toán trích rút thông tin, các bài toán liên quan đếntrích rút thực thể
Chương III phân tích và thiết kế kệ thống trích rút thông tin từ sơ yếu lí lịch
Trang 6Chương IV thực nghiệm , nhận xét và đánh giá kết quả từ hệ thống.
5 Ý nghĩa của đề tài
Với kết quả đạt được, đề tài sẽ mang lại một số kết quả nghiên cứu nhất định trongviệc trích rút thông tin, đặc biệt là trích rút thực thể , kết hợp phương pháp biểu thức chínhquy để giải quyết bài toán cụ thể
Đồng thời, đề tài cũng xây dựng một hệ thống trích rút thông tin từ văn bản sơ yếu lýlịch Nguồn thông tin này có thể sử dụng cho các hệ thống lọc sơ yếu lý lịch giúp cho quytrình tuyển dụng tiết kiệm được thời gian và chi phí
Trang 7CHƯƠNG II: CƠ SỞ LÝ THUYẾT SỬ DỤNG TRONG ĐỀ TÀI
1 Bài toán trích rút thông tin
1.1 Định nghĩa bài toán
“Trích rút thông tin” (IE – Information Extraction) là quá trình phát hiện các thực thể/tên,các mối quan hệ và các sự kiện từ văn bản có cấu trúc, bán cấu trúc hay phi cấu trúc; vàchuyển chúng sang dạng thể hiện có cấu trúc
Việc trích rút ra các thông tin có cấu trúc từ các nguồn dữ liệu không có cấu trúc là mộtcông việc nhiều khó khăn và đã thu hút được sự quan tâm của nhiều các nhà nghiên cứu tronghai thập kỉ qua
Có nhiều mức độ trích rút thông tin từ văn bản như: nhận diện thực thể có tên (NamedEntity Recognition – NER), trích rút quan hệ giữa các thực thể (Relation Extraction - RE),phân giải đồng tham chiếu (Co-Reference Resolution)… Các kĩ thuật được sử dụng trong quátrình rút trích thông tin gồm có: Phân đoạn, phân lớp, kết hợp và phân cụm
Kết quả của một hệ thống trích chọn thông tin thường là các mẫu (template) chứa một sốlượng xác định các trường đã được điền thông tin
IE có nhiều ứng dụng rộng rãi và hữu ích Trên thế giới IE được ứng dụng khá nhiều vàoviệc trích chọn thông tin trên internet Các ứng dụng thực tế ví dụ: Hỗ trợ, tư vấn mua hàng;chăm sóc khách hàng; tìm kiếm câu trả lời cho các hệ thống hỏi đáp; theo dõi thông tin dịchbệnh; tham gia vào hệ thống quản lý thông tin cá nhân …
Một số ứng dụng của xử lý ngôn ngữ tự nhiên (Natural Language Processing):
Truy hồi thông tin (IR): Tìm kiếm, lấy các tài liệu để đáp ứng một yêu cầu về thông tinnào đó
Trích rút thông tin (IE): Lấy thông tin trong một văn bản theo một khuôn mẫu, một yêucầu,
1.2 Kiến trúc của hệ thống trích rút thông tin
Theo MUC (Message Understanding Conferences) [1] thì hệ thống trích rút thông tin cócác thao tác chính như sau:
Trang 8Hình 1: Cấu trúc hệ thống trích rút thông tin
Kiến trúc của hệ thống trích rút là cơ sở để xây dựng hệ thống trích rút thông tin cá nhân(từ sở yếu lý lịch) Do đó phần này sẽ giải thích cơ bản về kiến trúc của hệ thống trích rút
c Giải quyết đồng tham chiếu
Giải quyết đồng tham chiếu (Coreference Resolution – CO) là việc nhận dạng các đồngtham chiếu giữa các thực thể bằng cách kết hợp những thông tin mô tả nằm rải rác trên vănbản tới các thực thể mà nó tham chiếu Thao tác này mang tính chất hỗ trợ cho các thao táckhác Nó ít bị ảnh hưởng bởi người dùng, loại văn bản, hay lĩnh vực
d Trích rút mối quan hệ
Trang 9Dò tìm mối quan hệ (Relation detection) là quá trình tìm ra tất cả các mối quan hệ giữacác thực thể trong câu bằng cách xây dựng tập luật để trích rút hoặc cũng có thể dựa trên một
mô hình học máy (như CRFs, HMM,…) Kết quả của quá trình dò tìm mối quan hệ phụ thuộcrất nhiều vào việc xác định các thực thể trong câu cũng như độ phức tạp của mẫu câu
2 Bài toán trích rút thông tin cá nhân
2.1 Định nghĩa bài toán
Bài toán trích rút thông tin cá nhân (Personal Information Extraction) là việc trích rút racác thông tin quan tâm về các nhân từ một nguồn dữ liệu bán cấu trúc hay không có cấu trúc (
ví dụ như: sơ yếu lý lịch, văn bản, trang web, ) và chuyển chúng sang định dạng biểu diễn cócấu trúc (ví dụ: cơ sở dữ liệu) Bài toán trích rút thông tin cá nhân tương tự như bài toán tríchthông tin về tiểu sử (Biographcial Information Extraction) Trích rút thông tin các nhân là mộtbài toán hẹp của trích rút thông tin trong đó các thông tin cần trích rút tập trung vào một cácnhân cụ thể
2.2 Phương pháp giải quyết bài toán trích rút thông tin cá nhân
Để giải quyết bài toán trích rút thông tin cá nhân từ văn bản tiếng Việt áp dụng trên các sơyếu lý lịch, nhóm nhóm đề xuất phương pháp như sau:
● Trích rút các thực thể
● Trích rút quan hệ
● Sử dụng biểu thức chính quy
3 Bài toán trích rút thực thể
3.1 Định nghĩa bài toán
Nhận dạng thực thể có tên (Named-Entity Recognition - NER) là việc tìm kiếm và
phân lớp các từ, cụm từ trong văn bản vào các nhóm thực thể đã được xác định trước như tênngười, địa danh, tổ chức, ngày tháng, tỷ lệ, …
Hội thảo MUC đã phân bài toán NER thành 3 loại:
- Trích rút tên các thực thể bao gồm: tên người, tên tổ chức, tên địa điểm
- Nhận dạng các biểu thức thời gian như “3-7-2001”, “03-07-2001”, “05:45”,
- Trích rút các biểu thức số, như “5%”, “2m”, “15kg”, …
Bài toán trích rút thực thể là bài toán đơn giản nhất trong số các bài toán trích rút thôngtin Tuy nhiên, NER là bước cơ bản, quan trọng trước khi tính đến việc giải quyết các bàitoán phức tạp hơn trong lĩnh vực này Trước khi có thể xác định được các quan hệ giữa cácthực thể ta phải xác định được đâu là các thực thể tham gia vào mối quan hệ đó Lúc đầuNER được coi là một thao tác đơn giản trong IE, nhưng ngày nay nó có một vai trò quantrọng quyết định đến các vấn đề khác có độ phức tạp cao hơn như truy vấn thông tin
(Information Retrieval – IR) hay các quan hệ hỏi đáp (Question Answering Systems - QA)
Trang 10Có nhiều phương pháp được đề xuất để giải quyết cho bài toán này được chia thành 2nhóm: nhóm các phương pháp dựa trên tri thức và nhóm các phương pháp dựa trên kĩ thuậthọc máy.
4 Bài toán trích rút mối quan hệ
4.1 Định nghĩa bài toán
Trích rút mối quan hệ (Relation Extraction -RE) là việc xác định các mối quan hệ
giữa các cặp thực thể trong văn bản
Ví dụ:
Trích rút mối quan hệ tương đối khác so với trích rút thực thể Trong khi trích rút thựcthể quan tâm đến 1 chuỗi các từ và được trình bày như các nhãn thực thể thì trích rút mốiquan hệ nêu ra sự liên kết giữa các thực thể này với nhau
4.2 Trích rút mối quan hệ trong bài toán trích rút thông tin cá nhân
Mục đích của đồ án là trích rút ra thông tin liên quan đến thực thể tên người cần quantâm gồm: Tên, số điện thoại, email, kĩ năng
Trong bài toán này, bước đầu tiên của bài toán trích rút mối quan hệ giữa các thực thể sẽ
là trích rút thực thể tên người mà văn bản tập trung đề cập đến Các bước tiếp theo sẽ là tríchrút các thực thể có mối quan hệ với thực thể tên người này Mối quan hệ ở đây được hiểu là
“điện thoại” (quan hệ giữa tên và số điện thoại), “địa chỉ email” (quan hệ giữa tên và email),
“có kĩ năng” (quan hệ giữa người và kĩ năng)
Sau khi văn bản được nhận dạng thực thể, tác giả sẽ sử dụng các luật, từ điển và biểu thứcchính quy để nhận ra mối quan hệ trên
5 Ứng dụng của bài toán trích rút thông tin cá nhân
Một hệ thống trích rút thông tin cá nhân tốt có thể được ứng dụng trong nhiều lĩnh vựckhác nhau Một số trong các ứng dụng đó bao gồm:
● Hệ thống hỏi đáp : Hệ thống hỏi đáp tự động là hệ thống được xây dựng để
thực hiện việc tự động tìm kiếm chính xác câu trả lời từ một tập lớn các tàiliệu cho câu hỏi thay vì đưa ra danh sách các tài liệu
● Hệ thống tóm tắt: Hệ thống tóm tắt sẽ đưa ra thông tin về tiểu sử của cá nhân
từ một hoặc nhiều văn bản thay vì đưa ra danh sách các văn bản
● Hỗ trợ hệ thống tìm kiếm: Hệ thống tìm kiếm thông tin nhận đầu vào là các
từ khóa và trả về tập tài liệu có chứa các từ khóa đó Số lượng kết quả trả vềcủa các máy tìm kiếm thường là rất lớn có khi lên tới hàng nghìn trang web.Khi tích hợp hệ thống trích rút thông tin cá nhân vào hệ thống tìm kiếm thì vớicác từ khóa là người cùng với các thuộc tính như ngày sinh, công việc Thì hệthống tìm kiếm sẽ trả về kết quả sát với yêu cầu một cách nhanh chóng vàchính xác
Trang 116 Chuyển đổi từ PDF thành văn bản
Hầu hết các tệp PDF trông giống như chúng chứa văn bản có cấu trúc Nhưng thực tế
là một tệp PDF không chứa bất kỳ thứ gì giống như đoạn văn, câu hoặc thậm chí là từ Khinói đến văn bản, tệp PDF chỉ biết đến các ký tự và vị trí của chúng
Điều này làm cho việc trích xuất các đoạn văn bản có ý nghĩa từ các tệp PDF trở nênkhó khăn Các ký tự soạn thảo một đoạn văn không khác gì các ký tự soạn thảo table, footerhay mô tả một hình vẽ Không giống như các định dạng tài liệu khác, như tệp txt hoặc tàiliệu word, định dạng PDF không chứa dòng văn bản
Tài liệu PDF bao gồm một tập hợp các đối tượng cùng mô tả sự xuất hiện của một hoặcnhiều trang, có thể kèm theo các yếu tố tương tác bổ sung và dữ liệu ứng dụng cấp cao hơn.Tệp PDF chứa các đối tượng tạo nên tài liệu PDF cùng với thông tin cấu trúc liên quan, tất
cả được biểu diễn dưới dạng một chuỗi byte độc lập
6.1 Thuật toán phân tích bố cục
PDFMiner cố gắng tái tạo lại một số cấu trúc đó bằng cách sử dụng phương phápphỏng đoán về vị trí của các ký tự Điều này hoạt động tốt cho các câu và đoạn văn vì cóthể tạo các nhóm ký tự gần đó có ý nghĩa
Phân tích bố cục bao gồm ba giai đoạn khác nhau: nó nhóm các ký tự thành các từ vàdòng, sau đó nó nhóm các dòng vào các hộp và cuối cùng nó nhóm các hộp văn bản theothứ bậc Các giai đoạn này được thảo luận trong các phần sau Kết quả đầu ra của phân tích
bố cục là một hệ thống phân cấp có thứ tự của các đối tượng bố cục trên một trang PDF
Hình 2: Đầu ra của phân tích bố cục là một hệ thống phân cấp của các đối tượng bố trí
Đầu ra của phân tích bố cục phụ thuộc rất nhiều vào một vài tham số Tất cả cáctham số này là một phần của lớp LAParams
6.2 Nhóm các kí tự thành các từ và dòng
Bước đầu tiên để chuyển từ ký tự sang văn bản là nhóm các ký tự theo cách có ýnghĩa Mỗi ký tự có một tọa độ x và một tọa độ y cho góc dưới bên trái và góc trên bênphải của nó, tức là hộp giới hạn của nó Pdfminer.six sử dụng các hộp giới hạn này đểquyết định các ký tự thuộc về nhau
Trang 12Các ký tự đóng theo cả chiều ngang và chiều dọc được nhóm vào một dòng Mức độgần của chúng sẽ được xác định bởi tham số char_margin (M trong hình) và tham sốline_overlap (không phải trong hình) Khoảng cách theo chiều ngang giữa các hộp giới hạncủa hai ký tự phải nhỏ hơn char_margin và chồng chéo theo chiều dọc giữa các hộp giớihạn phải nhỏ hơn line_overlap.
Các giá trị của char_margin và line_overlap có liên quan đến kích thước của các hộpgiới hạn của các ký tự Char_margin có liên quan đến chiều rộng tối đa của một trong haihộp giới hạn và line_overlap có liên quan đến chiều cao tối thiểu của một trong hai hộpgiới hạn
Cần phải chèn dấu cách giữa các ký tự vì định dạng PDF không có khái niệm về ký
tự khoảng trắng Một khoảng trắng được chèn nếu các ký tự cách xa nhau hơn so với kýword_margin (W trong hình) Word_margin có liên quan đến chiều rộng hoặc chiều cao tối
đa của ký tự mới Có một word_margin nhỏ hơn sẽ tạo ra các từ nhỏ hơn Lưu ý rằngword_margin ít nhất phải nhỏ hơn char_margin nếu không sẽ không có ký tự nào đượcphân tách bằng dấu cách
Kết quả của giai đoạn này là một danh sách các dòng Mỗi dòng bao gồm một danhsách các ký tự Các ký tự này là các ký tự LTChar gốc bắt nguồn từ tệp PDF hoặc các ký
tự LTAnno được chèn thể hiện khoảng cách giữa các từ hoặc dòng mới ở cuối mỗi dòng
6.3 Nhóm các dòng vào các hộp
Bước thứ hai là nhóm các dòng theo cách có ý nghĩa Mỗi dòng có một hộp giới hạnđược xác định bởi các hộp giới hạn của các ký tự mà nó chứa Giống như nhóm các ký tự,pdfminer.six sử dụng các hộp giới hạn để nhóm các dòng
Các đường chồng chéo theo chiều ngang và đóng theo chiều dọc được nhóm lại.Cách đóng các dòng theo chiều dọc sẽ được xác định bởi line_margin Lề này được chỉđịnh tương ứng với chiều cao của hộp giới hạn Các dòng sẽ gần nhau nếu khoảng cáchgiữa đỉnh (xem L1trong hình) và đáy (xem L2) trong hình) của các hộp giới hạn gần nhauhơn lề dòng tuyệt đối, tức là line_margin nhân với chiều cao của hộp giới hạn
Trang 13Kết quả của giai đoạn này là một danh sách các hộp văn bản Mỗi hộp bao gồm mộtdanh sách các dòng.
6.5 Làm việc với các kí tự được xoay
Thuật toán được mô tả ở trên giả định rằng tất cả các ký tự có cùng hướng Tuynhiên, bất kỳ hướng viết nào cũng có thể thực hiện được trong PDF Để giải quyết vấn đềnày, pdfminer.six cho phép phát hiện viết dọc bằng tham số detector Điều này sẽ áp dụngtất cả các bước nhóm như thể pdf được xoay 90 (hoặc 270) độ
7 Biểu thức chính quy
7.1 Định nghĩa
Biểu thức chính quy (Regular Expression) là một chuỗi miêu tả một bộ các chuỗikhác, theo những quy tắc cú pháp nhất định Biểu thức chính quy thường được dùng trongcác trình biên tập văn bản và các tiện ích tìm kiếm và xử lý văn bản dựa tên các mẫu đượcquy định Một biểu thức chính quy có thể được thực hiện trong một phần mềm bằng cách
sử dụng một automat hữu hạn đơn định (Deterministic Finite Automation – DFA) DFA làmột trạng thái xác định và không sử dụng cơ chế quay lui
Nếu sử dụng tốt những kỹ năng về biểu thức chính quy , chúng ta sẽ đơn giản hơnnhiều trong lập trình và quá trình xử lý văn bản và có những vấn đề sẽ không thể giảiquyết được nếu không sử dụng được biểu thức chính quy Chúng ta có thể sẽ cần đếnhàng trăm thủ tục để trích xuất tất cả các địa chỉ email từ một số tài liệu, đây có thể nói là
Trang 14một việc làm tẻ nhạt và vất vả Nhưng với biểu thức chính qui ta chỉ cần một số dòng lệnhhoặc thậm chí một dòng lệnh để làm việc này.
Tuy nhiên, biểu thức chính quy cũng thường đem đến cho người sử dụng nhữngphiền toái không mong muốn như: sử dụng một biểu thức chính quy không phù hợp vớibiểu thức muốn tìm, hoặc văn bản tìm được bằng biểu thức chính quy không phù hợp vớiyêu cầu
Biểu thức chính quy là một công cụ mạnh mẽ trong việc thao tác và trích xuất vănbản trên máy tính Do đó ứng dụng biểu thức chính quy một cách hợp lý sẽ tiết kiệmnhiều thời gian và công sức
7.2 Các phép toán trong biểu thức chính quy
Các phép toán trong biểu thức chính qui thường xuyên được sử dụng bao gồm:
- Phép “or”: Một thanh dọc sẽ phân tách các thay thế
Ví dụ: “Nam”| “Nguyễn Nam” thì có thể phù hợp “Nam” hoặc “Nguyễn
Nam”
- Phép “Nhóm”: Ngoặc đơn “(“ dùng để xác định phạm vi và thứ tự các phéptoán
Ví dụ: kerim | kerem và ker(i|e)m là tương đương nhau Cả hai đều miêu tả
tập “kerim” và “kerrem”.
- Phép xác định số lượng(quantifier) : Một quantifier sau một token(ví dụ saumột kí tự) hoặc một nhóm đặc tả cách mà các thành liền trước cho phép đượcxảy ra
Các phép xác định số lượng thường được sử dụng bao gồm:
? Biểu thị rỗng hay một thành phần đứng trước Ví dụ : “ab?c” tươngứng với cả “ac” và “abc” nhưng không phải “abbc”
* Biểu thị rỗng hay nhiều thành phần đứng trước.Ví dụ: “ab*c” tươngưng với “ac:, “abc”, “abc”,
+ Biểu thị một hay nhiều thành phần đứng trước Ví dụ: “ab+c” tươngứng với “ac”, “abbc”, “abbbc”… nhưng không phải “ac”
Biểu thị 1 kí tự bất kì, ngoại trừ ký tự newline
7.3 Ứng dụng biểu thức chính quy để trích rút quan hệ
Việc sử dụng biểu thức chính quy để trích rút quan hệ dựa trên các mẫu ngữ cảnh chỉ
ra quan hệ ngữ nghĩa giữa các thực thể
8 Bài toán trích rút dựa trên xây dựng mẫu
Mẫu (pattern) trích rút trong IE còn được gọi là định nghĩa khái niệm Mục đích củabài toán xây dựng mẫu trích rút là để nắm bắt các thông tin trong các lớp tương tự nhau