2. Khái niệm về nhận dạng thực thể và các cách tiếp cận
2.2.1. Tổng quan về GATE
GATE (General Architecture for Text Engineering) được phát triển bởi một nhóm nghiên cứu của Trường Đại học Sheffield, Anh Quốc từ năm 1995. Từ đó đến nay, đã có nhiều phiên bản của GATE được giới thiệu. Hiện nay, GATE đang được sử dụng rộng rãi trong các dự án nghiên cứu và phát triển trong lĩnh vực rút trích thông tin trên nhiều ngôn ngữ như tiếng Anh, Hy Lạp, Tây Ban Nha, Thụy Điển, Đức, Ý, Pháp,... GATE cũng hỗ trợ rất mạnh cho việc phát triển Web có ngữ nghĩa. GATE hỗ trợ các nhà nghiên cứu và phát triển phần mềm theo ba khía cạnh:
- Kiến trúc phần mềm (Software Architecture) - Khung làm việc (Framework)
- Môi trường phát triển (Development Environment)
Là một kiến trúc phần mềm, GATE cũng được chia thành nhiều thành phần khác nhau, mỗi thành phần được gọi là một tài nguyên (Resource). Mỗi tài nguyên thực hiện một chức năng riêng biệt và có khả năng tương tác, hỗ trợ hoạt động với nhau. Trong GATE có ba loại tài nguyên là:
- Tài nguyên ngôn ngữ (Language Resource - LR) - Tài nguyên xử lý (Processing Resource - PR) - Tài nguyên hiển thị (Visual Resource - VR)
Tài nguyên ngôn ngữ tương ứng với phần dữ liệu; tài nguyên xử lý tương ứng với các giải thuật; và tài nguyên hiển thị hỗ trợ cho phần giao diện với người dùng.
Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT 35
Ba loại tài nguyên này được gọi chung là CREOLE (Collection of REusable Object for Language Engineering).
Hình 3.3: Kiến trúc của GATE 2.2.2. Module JAPE của GATE
GATE cung cấp văn phạm Java Annotation Patterns Engine (JAPE) cho phép ta xây dựng các tập luật bằng các biểu thức chính quy để nhận dạng các thực thể. Một văn phạm JAPE bao gồm một tập các đoạn (phases), mỗi đoạn lại bao gồm một tập các luật (rules). Mỗi luật lại gồm hai thành phần:
- Left-hand-side (LHS)(patterns): bao gồm một annotation pattern chứa biểu thức chính quy và các toán tử (ví dụ |, *, ?, +).
« | » : hoặc.
« * » : không hoặc nhiều « ? » : không hoặc một « + » : một hoặc nhiều
Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT 36
- Right-hand-side (RHS)(actions): bao gồm các khai báo cho annotation. Các annotation thỏa mãn LHS của luật có thể tham chiếu đến RHS bởi việc gán nhãn.
Trước mỗi văn phạm JAPE ta phải thiết lập một thuộc tính là “Control” nhằm định nghĩa phương pháp thỏa mãn luật. Có 3 giá trị cho Control là: “brill”, “first” và “appelt” (hay còn được gọi là priority).
- “Brill”: điều này có nghĩa là khi có nhiều hơn một luật được thỏa mãn trên cùng một phân vùng của văn bản thì tất cả các luật đó đều được biểu diễn (fire) ra. Điều này dẫn tới là trên cùng một đoạn text có thể sẽ có nhiều hơn một loại Entity, và không có một thứ tự ưu tiên nào cho các Entity đó.
- “First”: khi chọn giá trị này thì chỉ có luật nào thỏa mãn đầu tiên sẽ được biểu diễn ra.
- “Appelt”: chỉ có một luật được biểu diễn ra nhưng theo một thứ tự ưu tiên sau đây:
1. Nếu có nhiều luật thỏa mãn trên một vùng của văn bản b t đầu từ vị trí X, nhưng luật nào thỏa mãn trên vùng dài nhất sẽ được biểu diễn.
2. Nếu qua bước 1 vẫn còn có nhiều hơn một luật thì luật nào có priority cao nhất sẽ được biểu diễn.
3. Nếu qua bước 2 vẫn còn có nhiều hơn một luật có cùng priority cao nhất thì luật nào được định nghĩa sau c ng trong văn phạm JAPE sẽ được biểu diễn. Các priority là các số nguyên dương, số lớn hơn thì priority lớn hơn. Ở chế độ mặc định thì các luật không khai báo priority, lúc đó luật có priority là -1(priority thấp nhất).
3. Tổng kết chƣơng
Trong chương này tôi đã trình bày tổng quan về trích rút thông tin, đồng thời đi sâu tìm hiểu module nhận dạng thực thể. Để giải quyết bài toán nhận dạng thực thể, chúng ta có hai cách tiếp cận là: sử dụng tập luật thủ công và phương pháp học máy.
Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT 37
Dựa trên nhận định đánh giá về sự khó khăn gặp phải của phương pháp học máy khi áp dụng trích rút các trường lĩnh vực, yêu cầu kinh nghiệm... của mô tả công việc, tôi đã lựa chọn cách tiếp cận thủ công để giải quyết module nhận dạng thực thể của bài toán hệ gợi ý công việc. Nội dung chi tiết của module trích rút này sẽ được tôi trình bày ở chương sau của luận văn.
Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT 38
Chƣơng IV. Mô hình hệ thống và kết quả thực nghiệm
1. Mô hình hệ gợi ý công việc có sử dụng module nhận dạng thực thể
Khi áp dụng nhận dạng thực thể vào hệ gợi ý, thì hệ gợi ý công việc có những thành phần sau:
Hình 4.1: Kiến trúc của hệ gợi ý cộng việc sử dụng nhận dạng thực thể
Cụ thể chức năng các thành phần như sau:
- Thông tin công việc và thông tin ngƣời dùng: là đầu vào của hệ gợi ý công việc.
- Tiền xử lý: Chuẩn hóa lại dữ liệu liên quan đến công việc. Cụ thể: xóa các thẻ html, chuẩn hóa các dòng tr ng...
- Nhận dạng thực thể: sử dụng JAPE của GATE để đưa ra các thực thể mong muốn. Cụ thể là các thông tin: lĩnh vực, chuyên ngành, yêu cầu kinh nghiệm... từ nội dung mô tả công việc.
Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT 39
- Hậu xử lý: với mong muốn đánh giá mức độ cải thiện chất lượng hệ gợi ý khi áp dụng phương pháp nhận dạng thực thể. Tôi đề xuất có bước hậu xử lý nhằm tăng độ chính xác các thông tin đã được trích rút ra, tập hợp lại tập từ khóa đặc trưng (tập từ vựng).
- Sử dụng phƣơng pháp hồi quy chủ đề cộng tác: Thực hiện phương pháp hồi quy chủ đề cộng tác (CTR) để đưa ra danh sách gợi ý cho người dùng.
- Đƣa ra tập gợi ý: đưa ra kết quả danh sách công việc phù hợp với người dùng.
2. Module nhận dạng thực thể trong mô hình kiến trúc 2.1.Các dữ liệu đã có cấu trúc trong mô tả của công việc 2.1.Các dữ liệu đã có cấu trúc trong mô tả của công việc
Như đã trình bày ở phần 1 – Chƣơng II, thông tin của công việc được mô tả như sau:
Hình 4.2: Thông tin công việc
Theo Hình 4.2, các thông tin về phạm vi địa lý đã được mô tả là những dữ liệu có cấu trúc, và chúng ta có thể sử dụng các thông tin về City, State, Country, ZipCode.
Khi ứng tuyển một công việc, yếu tố thời hạn ứng tuyển cũng là yếu tố quan trọng, đặc biệt là các công việc mang tính thời vụ. Người dùng không thể ứng tuyển công việc chưa đến hạn hoặc đã quá hạn. Trong thông tin của công việc, thông tin về ngày b t đầu đăng tuyển (StartDate) và ngày kết thúc đăng tuyển (EndDate) sẽ được sử dụng để lọc và thu gọn phạm vi danh sách công việc đưa ra cho người dùng.
2.2.Trích rút ĩnh vực và chuyên ngành
Theo quan sát của tôi, nhà đăng tuyển có thể đưa thông tin về lĩnh vực và chuyên ngành ở các trường Title, Description và Requirements. Tôi thực hiện việc
Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT 40
trích rút thông tin về lĩnh vực và chuyên ngành của công việc ở các trường này. Tôi xây dựng thủ công một từ điển lĩnh vực công việc (Jobs.lst), và tiến hành so khớp với các từ có trong từ điển.
Ví dụ về mẫu lĩnh vực của công việ có trong Title: In-Home Sales Professionals, SALES CONSULTANTS, Electricians, PROJECT MANAGER, Account Development Executive...
Ví dụ về mẫu lĩnh vực có trường mô tả công việc:
- If you have experience in healthcare, inside sales, outside sales, customer service, management, insurance sales, or financial services, this sales
opportunity may be for you
Jobs.lst Administrator Advisor Agriculture Secretary Ambassador Ambassadors Attorney General C.E.O. C.F.O. CEO CFO Cabinet Member Cabinet Minister Candidate Catholic deacon
Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT 41
Chairman Of The Board Chairman of The Board Chairman of the Board Chancellor of the Exchequer Chief Engineer
Chief Executive
Chief Executive Officer Chief Financial Officer Chief Information Officer Chief Inspector
Chief Operating Officer Chief Scientist Chief Secretary Commerce Secretary Commissar Commissioner Communist ...
2.3.Trích rút yêu cầu về kinh nghiệm
Thông tin về yêu cầu kinh nghiệm được nhà tuyển dụng đặt ở phần mô tả của công việc (Description), hoặc phần yêu cầu (Requirements). Tôi sẽ thực hiện trích rút ở các trường này để lấy ra thông tin về yêu cầu kinh nghiệm.
a. Một số mẫu trích rút yêu cầu kinh nghiệm trong một ĩnh vực cụ thể:
1. experience + with|in + N
Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT 42
- Graduate of an accredited nursing program (LPN or RN) Two+ years of
experience in patient care coordination role in home care ....
- ... experience in implementation management and/or project coordination... - Must Requirements: 5 years Maintenance Management experience in a
Machining, Injection Molding or Die Casting plant
2. experience + V + with|in + N
Ví dụ:
- ... experience working with some technology oriented projects, multiple projects simultaneously, highly detail oriented...
3. N[+] + experience
Ví dụ:
- Additional Knowledge & Skills: SQLserver experience is a plus Disaster Recovery experience - backup recovery, scheduling and configuring SQL backups to disk
- 5+ years of outside sales background B2B sales experience Polished and professional demeanor Networking skills
- Must have Acme/CNC Manufacturing experience
4. N + V + experience
Ví dụ:
- 5+ years of outside sales background B2B sales experience Polished and professional demeanor Networking skills
5. N/N + V + experience
Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT 43
- Requirements: 2 years telemarketing/inside sales experience in an outbound sales environment
6. experience + V + N
Ví dụ:
- Computer skills with experience using Microsoft Office products
7. Các ngoại lệ:
Khi sử dụng tập luật để dò tìm và đối sánh các mẫu trên, có một số ngoại lệ mà các tập luật không thể trích rút được như mong muốn.
Ví dụ:
- Liệt kê nhiều yêu cầu kinh nghiệm: ... Must have solid HTML, XHTML, PHP, JavaScript, CSS and Dreamweaver experience and the ability and desire to expand current technical skill-set....
Chỉ có thể trích rút ra được Dreamweaver experience, nhưng kết quả trích rút mong muốn là HTML, XHTML, PHP, JavaScript, CSS and Dreamweaver experience.
b. Mẫu trích rút số năm kinh nghiệm:
1. number[+|plus] + [year|years|month|months]
Ví dụ:
- 5+ years Telecom construction and installation management...
- Minimum high school diploma, Bachelor’s degree preferred Minimum experience of 4 years in customer service or leadership position...
- Requirements: Accounting or Finance degree 5 plus years of analysis experience with an oil...
2. Text number[+|plus] + [year|years|month|months]
Ví dụ:
- Graduate of an accredited nursing program (LPN or RN) Two+ years of experience in patient care coordination role in home care
Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT 44
- ... plus one year related experience or equivalent combination... 3. Number – number + [year|years|month|months]
Ví dụ:
- Qualifications include: Minimum 3 – 5 years experience in workers compensation and claims...
4. Number to number + [year|years|month|months]
Ví dụ:
- 2 to 5 years of detailed process analysis and/or exposure... 5. Number or more + [year|years|month|months]
Ví dụ:
- Skills and Attributes: 4 or more years experience in corporate office as administrative assistant...
6. Các ngoại lệ:
Trong quá trình viết mô tả cho nội dung công việc, nhà tuyển dụng viết t t, hoặc sử dụng cách viết không chính quy thì các tập luật cũng không thể lấy được thông tin số năm kinh nghiệm.
Ví dụ:
- Sử dụng cách viết t t: ... 1 yr experience in automated medical billing system...
- Sử dụng cách viết không chính quy: Must have a minimum of five (5) years
experience in supervising a network team
2.4.Đánh giá
Trong quá trình thực hiện luận văn, tôi cũng đã thử nghiệm trích rút một số nội dung khác, cụ thể: trích rút đề xuất mức lương của nhà tuyển dụng, trích rút thông tin yêu cầu về trường đại học mà ứng viên đã tốt nghiệp. Nhưng khi áp dụng vào hệ thống thì kết quả không được cao. Vì vậy, trong tôi chỉ trình bày chi tiết về việc
Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT 45
trích rút thông tin về lĩnh vực chuyên ngành, yêu cầu kinh nghiệm như đã trình bày ở trên.
3. Thử nghiệm hệ thống 3.1.Kịch bản thử nghiệm
Để đánh giá hệ thống, luận văn sử dụng bộ tập dữ liệu này được trích rút từ tập dữ liệu mẫu tại https://www.kaggle.com/c/job-recommendation/data
Dữ liệu gồm dữ liệu cá nhân người dùng và tập ứng tuyển của họ, người dùng có một tập các công việc đã từng ứng tuyển trước đây, mỗi công việc thường có thông tin về tiêu đề, yêu cầu kĩ năng, mô tả công việc, ngày b t đầu, kết thúc tuyển dụng.
Dữ liệu mẫu được loại bỏ những người dùng có tập ứng tuyển ít hơn 8, và tiền xử lý để có được tập dữ liệu của 4705 người dùng và 4207 công việc.
Mỗi công việc gồm tên, miêu tả công việc, yêu cầu công việc. Những từ dừng được loại bỏ, sau đó d ng phương pháp tf-idf để chọn danh sách từ có độ quan trọng cao nhất và sử dụng trích rút thông tin để bổ sung thêm vào danh sách này, cuối cùng dùng bộ từ này để làm tập từ vựng cho mô hình CTR.
3.2.Phƣơng pháp đánh giá
Hai chỉ số thường được d ng để đánh giá hiệu quả hoạt động của hệ thống gợi ý là Precision (độ chính xác) và Recall (độ phủ).
Xét:
là bộ dữ liệu học, gồm t ví dụ học xác định cụ thể đánh giá của người d ng đối với một sản phẩm.
là tập dữ liệu kiểm tra. tập dữ liệu kiểm tra.
f tập các sản phẩm hệ thống gợi ý đưa ra cho trường hợp người dùng .
Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT 46 Hay: Độ í á ả ẩ đ á đú ả ẩ đ á đú ả ẩ đ á
Các chỉ số đánh giá độ chính xác (Precision) và độ phủ (Recall) càng cao thì hệ thống gợi ý càng chính xác.
Như đã nêu ở trước, đánh giá là không ch c ch n. Nó chỉ có thể nói lên rằng một người dùng không thích một công việc hoặc không biết về công việc đó. Điều này gây khó khăn cho việc tính toán độ chính xác (P) của danh sách xếp hạng dự đoán. Trong tài liệu “Collaborative Topic Modeling for Recommending Scientific Articles” [18] tác giả Chong Wang và David M. Blei, cũng có nhận định tương tự về khó khăn gặp phải khi tính toán độ chính xác (P). Do đó, trong luận văn này, tôi tập trung đánh giá hệ thống gợi ý công việc đánh giá theo độ phủ (R). Với mỗi người d ng, định nghĩa về độ phủ recall@M là
Độ phủ cho toàn bộ hệ thống có thể được tính bằng độ phủ trung bình từ tất cả người dùng.
Độ phủ trên được xác định theo kiểu hướng người dùng. Chúng ta cũng có thể xem xét độ phủ theo kiểu hướng công việc để kiểm tra hiệu năng dự đoán của hệ thống trên một công việc cụ thể. Đối với công việc j, chúng ta xem xét nhóm người dùng thích công việc và tỷ lệ chủ đề của công việc đối với người dùng mà có công việc đó xuất hiện trong top M những công việc được gợi ý. Cách này đánh giá sức dự đoán của hệ thống trên một tập các công việc được lựa chọn.
Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT 47
3.3.Kết quả thực nghiệm
Như đã trình bày ở phần 1, trong mô hình kiến trúc hệ gợi ý công việc có sử dụng module nhận dạng thực thể, thì kết quả của module nhận dạng thực thể đóng vai trò bổ sung đầu vào cho phương pháp hồi quy chủ đề cộng tác (CTR). Cụ thể sau khi nhận dạng thực thể bằng module JAPE của công cụ GATE, tôi đã thực hiện hậu xử lý bằng tay để có được tập từ vựng cho phương pháp CTR.
Để đánh giá hiệu quả của việc áp dụng trích rút thông tin trong bài toán gợi ý công việc, tôi tiến hành thực nghiệm phương pháp hồi quy chủ đề cộng tác (CTR) với tập từ vựng thông thường (tập từ vựng chỉ xử lý loại bỏ từ dừng), và phương pháp hồi quy chủ đề cộng tác có áp dụng nhận dạng thực thể (CTR + NER) tập từ