1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Khoa học máy tính: Ứng dụng xử lý ngôn ngữ tự nhiên để phát triển hệ thống tư vấn việc làm

62 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng dụng xử lý ngôn ngữ tự nhiên để phát triển hệ thống tư vấn việc làm
Tác giả Trương Lê Quang Pháp
Người hướng dẫn PGS.TS Quản Thành Thơ
Trường học Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Khoa học Máy tính
Thể loại Luận văn thạc sĩ
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 62
Dung lượng 1,68 MB

Nội dung

Qua quá trình nghiên cứu các công trình liên quan đến bàitoán Nhận dạng thực thể trong câu, tôi đã xây dựng được mô hình để nhậndạng được thực thể trong câu tiếng Việt.. Mục tiêu và phạm

Trang 1

ĐẠI HỌC QUỐC GIA TP.HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

——————–

TRƯƠNG LÊ QUANG PHÁP

ỨNG DỤNG XỬ LÝ NGÔN NGỮ TỰ NHIÊN ĐỂ PHÁT TRIỂN HỆ

Trang 2

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG-HCM

Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, họchàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)

1 Chủ tịch: PGS.TS Phạm Trần Vũ

2 Thư ký: TS Nguyễn Lê Duy Lai

3 Phản biện 1: TS Lê Thanh Vân

4 Phản biện 2: PGS.TS Đỗ Văn Nhơn

5 Uỷ viên: TS Mai Hoàng Bảo Ân

Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lýchuyên ngành sau khi luận văn đã được sửa chữa (nếu có)

KỸ THUẬT MÁY TÍNH

PGS.TS Phạm Trần Vũ

HCMngày10tháng07năm2023

Trang 3

ĐẠI HỌC QUỐC GIA TP.HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: Trương Lê Quang Pháp MSHV: 1970516

Ngày, tháng, năm sinh: 20/12/1995 Nơi sinh: Quảng Ngãi

Chuyên ngành: Khoa học Máy tính Mã số : 8480101

I TÊN ĐỀ TÀI: ỨNG DỤNG XỬ LÝ NGÔN NGỮ TỰ NHIÊN ĐỂ PHÁT TRIỂN

HỆ THỐNG TƯ VẤN VIỆC LÀM

( APPLICATION OF NATURAL LANGUAGE PROCESSING TO DEVELOP AN EMPLOYMENT COUNSELING SYSTEM )

II NHIỆM VỤ VÀ NỘI DUNG:

- Nghiên cứu các phương pháp giải quyết bài toán về Nhận dạng thực thể trong tiếng Việt.

- Nghiên cứu và xây dựng mô hình Nhận dạng thực thể trong tiếng Việt.

- Thực nghiệm và đánh giá kết quả

- Phát triển hệ thống tư vấn việc làm

III NGÀY GIAO NHIỆM VỤ : 05/09/2022

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 09/06/2023

V.CÁN BỘ HƯỚNG DẪN: PGS.TS Quản Thành Thơ.

(Họ tên và chữ ký)

Trang 4

LỜI CẢM ƠN

Trước hết, tôi xin gửi lời cảm ơn sâu sắc đến PGS.TS Quản Thành Thơgiảng viên hướng dẫn luận văn tốt nghiệp và là những người Thầy gắn bóvới tôi trong quá trình học tập Chính nhờ những tri thức các Thầy truyềnđạt cùng với sự hướng dẫn tận tình, những góp ý khoa học của Thầy đã giúptôi hoàn thành tốt nhất đề tài luận văn tốt nghiệp này

Tôi cũng xin chân thành gửi lời cảm ơn tới quý Thầy Cô đang côngtác tại Khoa Khoa học và Kỹ thuật Máy tính, Trường Đại Học Bách KhoaTP.HCM, những người đã nhiệt tình truyền đạt kiến thức, kinh nghiệm trongsuốt hai năm học để tôi có được nền tảng kiến thức vững chắc như ngày hômnay

Tôi cũng xin gửi lời cảm ơn đến ban lãnh đạo và đồng nghiệp tại công tyMaple Labs nơi tôi đang làm việc Công ty đã tạo điều kiện thuận lợi, đặcbiệt là việc sắp xếp công việc và thời gian linh động trong thời gian học tập

và cũng như hoàn thành luận văn Đồng thời, tôi cũng đã nhận được sự hỗtrợ và động viên của các đồng nghiệp trong thời gian vừa học tập, vừa làmviệc tại công ty

Cuối cùng, tôi xin gửi lời cảm ơn đến gia đình, bạn bè, những người đãđộng viên, giúp đỡ tôi rất nhiều trong quá trình thực hiện đề tài này

Tp Hồ Chí Minh, tháng 6 năm 2022

Trang 5

TÓM TẮT LUẬN VĂN

Với làn sóng sa thải nhân viên mạnh mẽ trong thời gian gần đây thì nhu cầutìm kiếm một công việc làm là vô cùng cần thiết, không những người tìmviệc và việc tìm người cũng đang là một khía cạnh cụ thể có nhu cầu trongđời sống hiện nay Nhận thấy việc cấp thiết cần xây dựng một hệ thống để

từ đó người tìm việc và việc tìm người có thể giúp nhau, với sự hướng dẫncủa Thầy tôi đã tìm hiểu về bài toán Nhận dạng thực thể trong câu và nhậnthấy Nhận dạng thực thể trong câu cũng là một khía cạnh có giá trị trongviệc nghiên cứu Qua quá trình nghiên cứu các công trình liên quan đến bàitoán Nhận dạng thực thể trong câu, tôi đã xây dựng được mô hình để nhậndạng được thực thể trong câu tiếng Việt Mô hình dựa trên BERT, một môhình khá nổi tiếng trong lĩnh vực Xử lí ngôn ngữ tự nhiên

Từ kết quả đạt được, tôi hy vọng đề tài sẽ cung cấp những thông tin hữuích cho các hệ thống tư vấn việc làm, cũng như đóng góp vào những việc cóích sau này

Trang 6

ABSTRACT OF DISSERTATION

With the recent strong wave of employee layoffs, the need to search for ajob has become extremely crucial Job seekers and job providers alike arespecific aspects that are in demand in today’s life Recognizing the urgency,it’s essential to build a system where job seekers and job providers can helpeach other With the guidance of my mentor, I delved into the problem ofentity recognition in sentences

I also realized that entity recognition within sentences is a valuable pect for research Through studying related works on entity recognition insentences, I developed a model to identify entities in Vietnamese sentences.The model is based on BERT, a well-known model in the field of NaturalLanguage Processing

as-From the achieved results, I hope that this topic will provide useful formation for job advisory systems, as well as contribute to useful endeavors

in-in the future

Trang 7

LỜI CAM ĐOAN

Tôi xin cam đoan rằng, đề tài luận văn tốt nghiệp "Ứng dụng xử lý ngônngữ tự nhiên để phát triển hệ thống tư vấn việc làm" là công trình nghiêncứu của tôi dưới sự hướng dẫn của PGS.TS Quản Thành Thơ, xuất phát từnhu cầu thực tiễn và nguyện vọng tìm hiểu, nghiên cứu của bản thân tôi.Ngoại trừ kết quả tham khảo từ các công trình khác đã ghi rõ trong luậnvăn, các nội dung trình bày trong luận văn này là do chính tôi thực hiện vàkết quả của luận văn chưa từng được công bố trước đây dưới bất kỳ hìnhthức nào

Học viên

Trương Lê Quang Pháp

Trang 8

Mục lục

Danh sách hình vẽ

Danh sách bảng

Chương 1 GIỚI THIỆU ĐỀ TÀI 1

1.1 Giới thiệu bài toán 1

1.2 Mục tiêu và phạm vi đề tài 2

1.3 Cấu trúc luận văn 3

Chương 2 CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN 5

2.1 Phương pháp tiếp cận dựa trên quy tắc (rule-based approach) 6 2.2 Phương pháp mạng nơ-ron học sâu 7

2.2.1 Kiến trúc mạng nơ-ron học sâu cấp độ từ cho bài toán NER 8

2.2.2 Kiến trúc mạng nơ-ron học sâu cấp độ ký tự cho bài toán NER 9 Chương 3 CƠ SỞ KIẾN THỨC 10

3.1 Giới thiệu Word Representation 10

3.2 Word Embedding 11

3.2.1 Biểu diễn từ bằng vectơ one-hot 12

3.2.2 Kỹ thuật Word2vec 12

3.3 Mô hình BERT (Bidirectional Encoder Representations from Transformers) 14

Chương 4 PHƯƠNG PHÁP ĐỀ XUẤT 17

4.1 Mô tả bài toán 17

4.2 Phương pháp tham khảo 18

Chương 5 THÍ NGHIỆM 20

5.1 Tập dữ liệu 20

5.1.1 Nhãn cho các thực thể 20

viii ix

Trang 9

5.1.2 Thu thập và xử lý dữ liệu 22

5.1.3 Làm giàu dữ liệu (data augmentation) 25

5.2 Huấn luyện model 26

5.2.1 Chuẩn bị dữ liệu 26

5.2.2 Huấn luyện model 27

5.2.3 Kết quả 29

5.3 So sánh mô hình với những công trình liên quan 31

5.4 Xây dựng hệ thống tư vấn việc làm 34

5.4.1 Phần Backend thu thập và phân tích dữ liệu 34

5.4.2 Phần ứng dụng di động cho người dùng - nền tảng IOS 37

5.5 Người dùng thử nghiệm và đánh giá hệ thống 40

5.6 Các công cụ và thư viện 43

Chương 6 KẾT LUẬN 45

6.1 Kết quả đạt được 45

6.2 Hạn chế 46

6.3 Hướng phát triển 47

Tài liệu tham khảo 48

Trang 10

Danh sách hình vẽ

2.1 Kiến trúc mạng nơ-ron học sâu cấp độ từ 8

2.2 Kiến trúc mạng nơ-ron học sâu cấp độ ký tự 9

3.1 Mô hình CBOW và Skip-gram 13

3.2 Biểu diễn đầu vào của mô hình BERT 14

3.3 Next Sentence Prediction (NSP) 16

4.1 Toàn bộ tiến trình pre-training và fine-tuning của BERT 18

5.1 Dữ liệu gốc 22

5.2 Làm sạch dữ liệu 23

5.3 Word segmentation 24

5.4 Annotation 24

5.5 Chia tập dữ liệu để huấn luyện 27

5.6 Training 28

5.7 Accuracy 29

5.8 F1-score 31

5.9 Pipeline hệ thống tư vấn việc làm 34

5.10 Phần giao diện hệ thống cào dữ liệu từ các nhóm Facebook 36

5.11 Mô hình phân tầng của một hệ thống API cơ bản 37

5.12 Các API của hệ thống tư vấn việc làm 38

5.13 API nhận dạng các thực thể trong câu do người dùng nhập vào 39 5.14 API trả về kết quả tương ứng với filter 40

5.15 Phần hiển thị biểu tượng ứng dụng trên nền tảng IOS 41

5.16 Phần giao diện người dùng cho ứng dụng Mobile 42

Trang 11

Danh sách bảng

5.1 Định nghĩa các thực thể trong bài toán 215.2 Danh sách số lượng các thực thể 255.3 Danh sách số lượng các thực thể sau khi làm giàu dữ liệu 265.4 Danh sách thông số được lựa chọn huấn luyện mô hình 275.5 Kết quả sau quá trình huấn luyện 305.6 Thống kê bộ dữ liệu Covid-19 325.7 Kết quả của quá trình huấn luyện với bộ dữ liệu Covid-19 335.8 Thống kê bộ dữ liệu về sức khoẻ 33

Trang 12

Chương 1

GIỚI THIỆU ĐỀ TÀI

Với làn sóng sa thải nhân viên, cũng như nhu cầu tìm kiếm công việclàm ngày càng lớn Đi cùng với đó là sự phát triển của công nghệ và Internet,các loại phương tiện truyền thông xã hội như mạng xã hội Internet trở thànhmột nguồn thông tin vô cùng quý giá và quan trọng

Ngày nay, hầu hết mọi người đều dùng mạng xã hội, đặc biệt là book Mọi người trao đổi thông tin, chia sẻ cảm xúc, hoạt động, họ xem đó

Face-là nơi giải trí, Face-làm việc Cùng với đó Facebook cũng Face-là nơi mọi người tìmkiếm công việc làm hoặc là nơi đăng tin tuyển Họ chia sẻ thông tin về côngviệc mong muốn, tìm kiếm công việc mới

Nhận dạng thực thể (Named Entity Recognition — NER) là một bài toán

quan trọng trong xử lý ngôn ngữ tự nhiên Nó nhận dạng được từng thực thểtrong câu đóng vai trò gì từ đó có thể ứng dụng nó Điển hình là giúp xâydựng hệ thống tư vấn việc làm

Trang 13

1.2 Mục tiêu và phạm vi đề tài

Đề tài này hướng đến việc tìm hiểu các phương pháp giải quyết bài toánNhận dạng thực thể trong ngôn ngữ tiếng Việt và xây dựng một mô hình đểnhận dạng được các thực thể trong ngôn ngữ tiếng Việt dựa trên các phươngpháp tìm hiểu được Bên cạnh đó, xây dựng một hệ thống tư vấn việc làmcho người có nhu cầu đăng tin tuyển và người tìm việc

Từ mục tiêu đó tác giả đề ra các mục tiêu cụ thể như sau:

− Tìm hiểu các công trình nghiên cứu liên quan đến bài toán Nhận dạngthực thể trong ngôn ngữ Tiếng Việt

− Tìm hiểu các kiến thức về mạng nơ-ron nhân tạo và xử lý ngôn ngữ tựnhiên phục vụ cho bài toán Nhận dạng thực thể trong ngôn ngữ TiếngViệt

− Tìm hiểu phương pháp ứng dụng mô hình BERT [1] huấn luyện trướccho việc nhận dạng thực thể

− Xây dựng một mô hình Nhận dạng thực thể cho ngôn ngữ Tiếng Việtdựa vào các phương pháp đã tìm hiểu được và phát triển một hệ thống

tư vấn việc làm Các công việc không yêu cầu trình độ cao như bánhàng, phục vụ

Trang 14

1.3 Cấu trúc luận văn

Luận văn được chia làm 7 chương, bao gồm những khái niệm, kiến thứcnền tảng, các công trình nghiên cứu liên quan và mô tả chi tiết phươngpháp đề xuất để giải quyết bài toán "Nhận dạng thực thể" Trong Chương 1(chương hiện tại), tôi giới thiệu khái quát về đề tài luận văn, nêu rõ mục tiêu

và phạm vi đề tài Chương này giúp cho người đọc có cái nhìn toàn cảnh

về luận văn Ở những chương sau, tôi trình bày các kiến thức nền tảng, cáccông trình liên quan đến bài toán và chi tiết về mô hình xề xuất cũng nhưcác thí nghiệm và kết quả đánh giá của mô hình Cụ thể nội dung chính củamỗi chương như sau:

Chương 2: Các công trình nghiên cứu liên quan

Trong Chương 2, tôi trình bày khái quát về một số phương pháp tiếp cậngiải quyết bài toán "Nhận dạng thực thể trong ngôn ngữ Tiếng Việt"

Chương 3: Kiến thức nền tảng

Chương 3 trình bày ngắn gọn các kiến thức, công nghệ nền tảng, cùngmột số thư viện và công cụ được sử dụng trong quá trình nghiên cứu và hiệnthực mô hình

Chương 4: Phương pháp đề xuất

Trong Chương 4, tôi trình bày các yêu cầu của bài toán "Nhận dạng thựcthể", và đề xuất phương pháp giải quyết bài toán này

Chương 5: Hiện thực mô hình và kết quả thực nghiệm

Chương này trình bày chi tiết về hiện thực của mô hình, các công cụ vàthư viện sử dụng, các bước thực hiện, các phương pháp đánh giá và kết quả

Trang 15

thực nghiệm.

Chương 6: Kết luận

Trong chương cuối cùng, tôi tóm tắt kết quả đạt được trong quá trìnhlàm luận văn, trình bày những đóng góp và hạn chế của luận văn, và đề xuấthướng phát triển tiếp theo

Trang 16

Subra-ẩn Theo quá trình tìm hiểu chủ quan của bản thân, bài toán matching giữangười tìm việc và việc tìm người có chung mô hình với bài toán matchingresume [3] Vì vậy để dễ dàng cho việc tìm hiểu chúng ta có thể lọc ra một

số nghiên cứu tiêu biểu về resume, để xem qua những phương pháp tríchthông tin và có cái nhìn tổng quan về quá trình nghiên cứu của đề tài này.Trong phạm vi nghiên cứu, tôi đã tìm hiểu được hai phương pháp:

− Phương pháp tiếp cận dựa trên quy tắc (rule-based approach): Cụ thể

là xài regex để nhận dạng các thực thể dựa trên các bộ quy tắc đãđược định nghĩa trước, gán phần lớn nhãn như email, số điện thoại,mức lương, v.v cho tập dữ liệu huấn luyện và kiểm thử Sau đó, cácnhãn đã được gán sẽ được kiểm tra lại thủ công và sửa lại cho đúng.Nhờ ứng dụng phương pháp này mà thời gian gán nhãn cho tập dữ liệuđược rút ngắn đáng kể và công đoạn gán nhãn trở nên đơn giản hơn

Trang 17

− Phương pháp tiếp cận dựa trên mạng nơ-ron học sâu: sau khi đã có

bộ dữ liệu huấn luyện và kiểm thử hoàn hảo, ba mạng nơ-ron học sâuđược áp dụng để huấn luyện và đánh giá hệ thống nhận dạng thực thể

có tên Đó chính mô hình BERT

(rule-based approach)

Phương pháp tiếp cận dựa trên quy tắc không cần dữ liệu đã được chúthích hay gán nhãn vì chúng dựa trên các quy tắc được tạo thủ công để bắtcác đặc trưng dựa trên các quy luật đã được định nghĩa trước Phương pháptiếp cận dựa trên quy tắc trong nhận dạng thực thể có tên hoạt động như sau:một tập các quy tắc / quy luật được định nghĩa sẵn hay tự động phát sinh.Mỗi token trong văn bản sẽ được biểu diễn dưới dạng tập các đặc trưng Vănbản đầu vào sẽ đem so sánh với tập quy tắc này, nếu quy tắc khớp thì sẽ thựchiện rút trích

Một quy tắc như vậy gồm khuôn mẫu (pattern) + hành động (action).Khuôn mẫu thường là regular expression định nghĩa trên tập đặc trưng củatoken Khi Khuôn mẫu này khớp thì hành động sẽ được kích hoạt Chúng

ta có thể tự lập trình các quy tắc của mình hoặc sử dụng 1 số thư viện hỗtrợ sẵn Một trong những framework/thư viện khá nổi tiếng là Duckling củaFacebook

Với hướng nghiên cứu về rule-based đề cập tới những kĩ thuật trích xuấtthông tin cơ bản như phân tích văn bản (Text Analytics) kết hợp với rule-based và NER Bên cạnh đó những thông tin khi được trích xuất sẽ dùng kĩthuật big data để thông tin đưa qua một lớp map-reduce để phân tách các cặpkey-value liên quan tới các trường dữ liệu muốn trích xuất trong resume Từ

Trang 18

đó đối chiếu với bộ dữ liệu công việc khổng lồ để tìm được công việc phùhợp cho ứng viên.

Đối với cách tiếp cận Rule-based ta có kể đến một số phương pháp chính:

− Dùng biểu thức chính quy

− Các từ gợi ý như: sau các từ ‘tại’ có thể là vị trí nơi làm việc

− Tên phổ biến

− Cách viết tên người

Bên cạnh đó có một số nghiên cứu dựa trên phương pháp ngữ nghĩa(Semantic-based) để trích xuất thông tin từ resume Để có được kết quả tốt

và cho ra một pipeline hoàn thiện Cụ thể phương pháp mà nghiên cứu này

đề xuất tới là dùng các kĩ thuật như phân tích từ vựng (lexical analysis) sau

đó sử dụng phân tích ngữ pháp (syntactic analysis) tận dụng cây phân tích(parse tree) để xác định cú pháp tiếp theo là dùng kĩ thuật phân tích ngữnghĩa để xác định nghĩa của từ và cuối cùng là kết hợp chúng lại (compile)

để xác định từng thực thể trong resume Từ đó có thể rút trích được nhữngthông tin mong muốn

(Collobert, Weston, 2008) đã đề xuất một trong những kiến trúc mạngnơ-ron đầu tiên cho NER, với các vectơ đặc trưng được xây dựng từ cácđặc trưng trực quan (ví dụ: viết hoa của ký tự đầu tiên), từ điển và từ vựng.Không lâu sau đó, (Collobert, et al., 2011) [4] đã thay thế các vectơ đặctrưng được xây dựng theo cách thủ công này bằng các phép nhúng từ, là cácbiểu diễn của các từ trong không gian n chiều, thường được học qua các bộsưu tập dữ liệu lớn không được gắn nhãn thông qua một quy trình không

Trang 19

giám sát như mô hình skip-gram Các nghiên cứu đã chỉ ra tầm quan trọng

to lớn của việc nhúng từ được huấn luyện trước đối với các hệ thống NERdựa trên mạng nơ-ron và tương tự đối với nhúng ký tự được huấn luyện trướctrong các ngôn ngữ dựa trên ký tự như tiếng Trung Quốc Kiến trúc mạngnơ-ron học sâu hiện đại cho NER có thể được phân loại tùy thuộc vào biểudiễn của các từ trong một câu Ví dụ: các biểu diễn có thể dựa trên các từ,

ký tự, các đơn vị từ phụ khác hoặc bất kỳ sự kết hợp nào của những từ này

2.2.1 Kiến trúc mạng nơ-ron học sâu cấp độ từ cho bài

toán NER

Trong kiến trúc này, các từ của một câu được đưa ra làm đầu vào chomạng nơ-ron hồi quy (RNN - Recurrent Neural Network) và mỗi từ đượcbiểu diễn bằng cách nhúng từ của nó

Hình 2.1: Kiến trúc mạng nơ-ron học sâu cấp độ từ

Mô hình mạng nơ-ron cấp độ từ đầu tiên được đề xuất bởi (Collobert, etal., 2011) [4] Kiến trúc tương tự như kiến trúc được thể hiện trong hình ảnhtrên, nhưng một lớp tích chập được sử dụng thay cho lớp Bi-LSTM và đầu

ra của lớp tích chập đã được cấp cho lớp CRF để đưa ra dự đoán cuối cùng.Các tác giả đạt được 89,59 % điểm F1 trên tập dữ liệu CoNLL 2003 bằngtiếng Anh, là một trong những hệ thống NER tốt nhất thời bấy giờ

Trang 20

2.2.2 Kiến trúc mạng nơ-ron học sâu cấp độ ký tự cho bài

Hình 2.2: Kiến trúc mạng nơ-ron học sâu cấp độ ký tự

Trang 21

Chương 3

CƠ SỞ KIẾN THỨC

Khác với các mô hình xử lý ảnh khi các giá trị đầu vào là cường độ màusắc đã được mã hoá thành giá trị số trong khoảng [0, 255] Mô hình xử lýngôn ngữ tự nhiên có đầu vào chỉ là các chữ cái kết hợp với dấu câu Làm saochúng ta có thể mã hoá được những từ ngữ để làm đầu vào cho mạng nơron?Một trong các kĩ thuật để biểu diễn từ là kĩ thuật one-hot vectơ Trước khi đivào phương pháp biểu diễn, chúng ta cần làm rõ một số khái niệm:

− Documents (Văn bản): Là tập hợp các câu trong cùng một đoạn văn

có mối liên hệ với nhau

− Corpus (Bộ văn bản): Là một tập hợp gồm nhiều văn bản thuộc các đềtài khác nhau, tạo thành một nguồn tài nguyên dạng văn bản Một vănbản cũng có thể được coi là corpus của các câu trong văn bản Các bộvăn bản lớn thường có từ vài nghìn đến vài trăm nghìn văn bản trongnó

− Character (kí tự): Là tập hợp gồm các chữ cái (nguyên âm và phụ âm)

và dấu câu Mỗi một ngôn ngữ sẽ có một bộ các kí tự khác nhau

− Word (từ vựng): Là các kết hợp của các kí tự tạo thành những từ biểuthị một nội dung, định nghĩa xác định, chẳng hạn con người có thể coi

là một từ vựng

− Dictionary (từ điển): Là tập hợp các từ vựng xuất hiện trong văn bản

Trang 22

− Vocabulary (từ vựng): Tập hợp các từ được trích xuất trong văn bản.Tương tự như từ điển.

Trước khi biểu diễn từ chúng ta cần xác định từ điển của văn bản Sốlượng từ là hữu hạn và được lặp lại trong các câu Do đó thông qua từ điểngồm tập hợp tất cả các từ có thể xuất hiện, ta có thể mã hoá được các câudưới dạng ma trận mà mỗi dòng của nó là một vectơ one-hot của từ Địnhnghĩa One-hot vectơ của từ: Giả sử chúng ta có từ điển là tập hợp gồm từvựng anh, em, gia đình, bạn bè, Khi đó mỗi từ sẽ được đại diện bởi mộtgiá trị chính là index của nó Từ anh có index = 0, gia đình có index = 2.One-hot vectơ của từ vựng thứ i, i (n-1) sẽ là vectơ e = [0, , 0, 1, 0, , 0] sao cho phần từ thứ i = 1 Lúc đó vectơ e = [0, , 0, 1, 0, , 0] làvectơ biểu diễn của từ thông qua kỹ thuật one-hot vectơ

Word Embedding là một phương pháp hiệu quả trong việc biểu diễn từ

Nó đề xuất rằng một vector biểu diễn từ có thể hàm chứa ngữ nghĩa của các

từ trong các vectơ số, từ đó có thể được xử lý một cách hiệu quả bằng máytính Có nhiều kỹ thuật Word Embedding đã được đề xuất như Word2vec[5], GloVe [6], fastText [7], ELMO [8] và BERT Nói chung, một kỹ thuậtword embedding cần thoả mãn các điều kiện sau:

− Mỗi từ khác nhau được biểu diễn bằng một vector khác nhau, mỗi từ

có một vector

− Hai từ giống nhau về ngữ nghĩa sẽ có khoảng cách gần nhau trongkhông gian vector

Trang 23

3.2.1 Biểu diễn từ bằng vectơ one-hot

Vectơ one-hot một kỹ thuật dùng để mã hoá các mẫu dữ liệu phân loạithành các vectơ số Cơ bản một vectơ one-hot là một vectơ nhị phân chứacác giá trị 0 hoặc 1 Cụ thể, chỉ có một chiều duy nhất của vectơ one- hot cógiá trị là 1, các chiều còn lại có giá trị 0 Dựa trên kỹ thuật này, tất cả các

từ trong một văn bản có thể được biểu diễn thành các vectơ one-hot với sốchiều bằng số lượng từ vựng của ngôn ngữ

Mã hoá one-hot có thể dùng để chuyển đổi mọi từ trong một từ điểnthành một vectơ số nên nó được sử dụng trong nhiều mô hình xử lý ngônngữ tự nhiên và học máy, đặc biệt trong các trường hợp kích thước của tập

từ vựng là tương đối nhỏ Kỹ thuật này thoả mãn yêu cầu rằng các từ khácnhau được biểu diễn bởi các vectơ khác nhau Tuy nhiên kỹ thuật này vẫncòn tồn tại một số nhược điểm:

− Khi làm việc với kích thước từ vựng lớn, kỹ thuật này sinh ra các vectơthưa với số chiều lớn, hầu hết các chiều của vectơ đều có giá trị 0

− Kỹ thuật này không biểu diễn được sự khác nhau về mặt ngữ nghĩacủa các từ Hai vectơ one-hot bất kỳ luôn có khoảng cách

3.2.2 Kỹ thuật Word2vec

Word2vec là một trong những kỹ thuật phổ biến được sử dụng trong lĩnhvực Xử lý ngôn ngữ tự nhiên Nó được công bố công khai vào năm 2013bởi một nhóm các nhà nghiên cứu do Tomas Mikolov dẫn đầu Dựa trênAutoEncoder [9], Word2vec đã giải quyết các vấn đề liên quan đến ỹ nghĩangữ cảnh của mô hình AutoEncoder bằng cách chuyển đổi mỗi từ trong khovăn bản thành một vectơ dựa trên thông tin ngữ cảnh trong kho văn bản đó

Vì thế mô hình này có khả năng học hỏi để sinh ra các vectơ giống nhau cho

Trang 24

những từ chia sẻ cùng một thông tin ngữ cảnh Thông tin ngữ cảnh của một

từ là một cửa sổ bao gồm phần bên trái và phần bên phải của từ đó, được gọi

là các từ ngữ cảnh Kích thước của cửa sổ này ký hiệu là k, biểu diễn k từ bên trái và k từ bên phải của từ đang xét.

Hai kỹ thuật huấn luyện chính của Word2vec là CBOW và Skip-gram

Hình 3.1: Mô hình CBOW và Skip-gram

− CBOW (Continuous Bag of Words) Ý tưởng của CBOW là nó

tiên đoán một từ dựa trên các từ ngữ cảnh xung quanh từ đó Chomột từ wt ở vị trí t trong chuỗi, các từ ngữ cảnh của nó bao gồm(wt−m, , wt−1, wt+1, , wt+m) Mô hình CBOW được biểu diện trongHình 3.1 Trong đó, C là số lượng từ ngữ cảnh, V là kích thước tập từvựng, N là số lượng nút của tầng ẩn, N tương đối nhỏ so với V

Khi được huấn luyện với kho văn bản lớn, ta thu được ma trận W kíchthước V × N, với ma trận này một vectơ one-hot bất kìe với kích thước

1 ×V có thể được biến đổi thành một vectơ kích thước 1 × N

Trang 25

− Mô hình Skip-gram Mô hình này tương tự như CBOW, tuy nhiên

đầu vào và đầu ra đổi chỗ cho nhau Đầu ra của Skip-gram là các từngữ cảnh của một từ đầu vào

Rep-resentations from Transformers)

BERT [1] là một mô hình biểu diễn ngôn ngữ được công bố bởi các nhànghiên cứu tại Google AI Language Mô hình này được sử dụng nhiều tronglĩnh vực Xử lý ngôn ngữ tự nhiên gần đây

BERT sử dụng Transformer [10], một cơ chế attention có khả năng họccác mối quan hệ ngữ cảnh giữa các từ trong văn bản Ở dạng đầy đủ Trans-former bao gồm hai cơ chế tách biệt, một encoder đọc vào các văn bản, mộtdecoder tạo ra các dự đoán BERT chỉ sử dụng cơ chế encoder của Trans-former

Đầu vào của BERT là một chuỗi các token được embed thành các vectơsau đó được xử lý trong mạng nơ-ron Đầu ra là một chuỗi các vectơ có sốchiều H, mỗi vectơ tương ứng với một token đầu vào ở cùng vị trí

Hình 3.2: Biểu diễn đầu vào của mô hình BERT

Có hai kỹ thuật được sử dụng khi huấn luyện BERT:

Trang 26

− Masked LM (MLM)

Trước khi chuỗi các từ được đưa vào BERT, 15% số từ được thay thếbằng token [MASK] Sau đó mô hình BERT sẽ cố gắng phán đoán từban đầu của các token [MASK] dựa vào ngữ cảnh được cung cấp bởicác từ khác trong chuỗi

Hàm lỗi của BERT chỉ quan tâm đến dự đoán về các từ bị thay thế bởitoken [MASK]

− Next Sentence Prediction (NSP)

Trong quá trình huấn luyện BERT, mô hình nhận vào một cặp câu vàhọc các dự đoán xem liệu rằng câu thứ hai trong cặp có phải là câu kếtiếp của câu đầu tiên trong văn bản gốc Trong quá trình huấn luyện,50% các đầu vào là một cặp câu với câu thứ hai là câu tiếp theo củacâu thứ nhất trong văn bản gốc, 50% còn lại là các cặp câu ngẫu nhiênđược lựa chọn từ kho văn bản

Để giúp mô hình phân biệt được hai câu trong quá trình huấn luyện,đầu vào được xử lý như sau trước khi đưa vào mô hình:

+ Một token [CLS] được thêm vào đầu câu thứ nhất và một token[SEP] được thêm và cuối mỗi câu

+ Một sentence embedding nhằm chỉ ra câu thứ nhất và câu thứhai được thêm vào mỗi token

+ Một embedding vị trí được thêm vào mỗi token để chỉ ra vị trícủa token trong câu

Để dự đoán câu thứ hai có phải là câu tiếp theo của câu thứ nhất trongvăn bản gốc không, các bước sau đây được thực hiện:

+ Đưa toàn bộ chuỗi token đầu vào qua mô hình Transformer

Trang 27

Hình 3.3: Next Sentence Prediction (NSP)

+ Kết quả đầu ra của token [CLS] được biến đổi thành vectơ 2 × 1bằng một tầng phân loại

+ Tính toán xác suất với hàm softmax

Khi huấn luyện mô hình BERT, MLM và NSP được huấn luyện cùngmột lúc, với mục tiêu là tối thiểu hoá hàm lỗi kết hợp của cả hai kỹthuật

Trang 28

Chương 4

PHƯƠNG PHÁP ĐỀ XUẤT

Trong bài toán Nhận dạng thực thể, đầu vào của bài toán là một câu.Với mỗi câu đầu vào, một mô hình phân tích cần xác định được các thực thể

có trong câu Sau đó phân loại các thực thể đó vào mỗi loại đã xác định từtrước

Ví dụ, với một câu đưa vào bao gồm {mức lương, địa chỉ, thông tin },chứa rất nhiều thực thể có thể có Chúng ta phải xác định các thực thể tươngứng vào mỗi loại đã định nghĩa từ trước Từ đó, có thể rút trích được cácthực thể mong muốn Để tiến hành xây dựng hệ thống khi người dùng nhậpvào một câu để tìm việc hoặc một câu để tìm người

Trang 29

4.2 Phương pháp tham khảo

Trong quá trình nghiên cứu và thực hiện luận văn, tôi đã tham khảo một

số phương pháp giải quyết bài toán Nhận dạng thực thể trong tiếng Việtkhác nhau Sau thời gian tìm hiểu các phương pháp đó, tôi đã quyết địnhchọn phương pháp dùng mô hình PhoBert

Lý do mà tôi lựa chọn phương pháp này vì BERT, một mô hình ngôn ngữhiện đại và rất nổi tiếng trong lĩnh vực Xử lý ngôn ngữ tự nhiên Ngoài ra,

mô hình phân loại dựa trên BERT mà nhóm tác giả đề xuất cũng rất tườngminh và dễ dàng áp dụng cho các ngôn ngữ khác

Một điểm đặc biệt ở BERT mà các mô hình nhúng từ trước đây chưatừng có đó là kết quả huấn luyện có thể fine-tuning được Nghĩa là chúng ta

có thể thêm vào kiến trúc mô hình một lớp đầu ra để tùy biến theo tác vụhuấn luyện

Hình 4.1: Toàn bộ tiến trình pre-training và fine-tuning của BERTToàn bộ tiến trình pre-training và fine-tuning của BERT:

− Bước 1: Embedding toàn bộ các token của cặp câu bằng các véc-tơ

embedding tiền huấn luyện mô hình Các token embedding bao gồm

cả 2 token là [CLS] và [SEP] để đánh dấu vị trí bắt đầu của câu hỏi

và vị trí ngăn cách giữa 2 câu 2 token này sẽ được dự báo ở output đểxác định các phần Start/End Span của câu output

Trang 30

− Bước 2: Các embedding vectơ sau đó sẽ được truyền vào kiến trúc

multi-head attention với nhiều block code (thường là 6, 12 hoặc 24blocks tùy theo kiến trúc BERT) Ta thu được một vectơ output ởencoder

− Bước 3: Để dự báo phân phối xác suất cho từng vị trí từ ở decoder,

ở mỗi time step chúng ta sẽ truyền vào decoder vectơ output của coder và vectơ embedding input của decoder để tính encoder-decoderattention Sau đó projection qua liner layer và softmax để thu đượcphân phối xác suất cho output tương ứng ở time step t

en-− Bước 4: Trong kết quả trả ra ở output của transformer ta sẽ cố định

kết quả của câu Question sao cho trùng với câu Question ở input Các

vị trí còn lại sẽ là thành phần mở rộng Start/End Span tương ứng vớicâu trả lời tìm được từ câu input

Trang 31

"tuyển", "nhân", "viên", "bán", "hàng", "toàn", "thời", "gian", "ở", "quận",

"1", ",", "tp.hcm"] Đầu ra của model có thể được tương ứng với mảng [O,

O, "chức vụ", "chức vụ", "chức vụ", "chức vụ", O, O, O, O, "địa chỉ", "địachỉ", "địa chỉ", "địa chỉ"] trong đó O nghĩa là không ứng với nhãn nào

Đối với bài toán Named Entity Recognition – NER cho website giớithiệu việc làm ta định nghĩa 10 thực thể (entity) nhằm lấy được thông tinquan trọng có trong các bài đăng tuyển dụng và tìm việc trên mạng xã hội

Để thuận tiện cho quá trình thực hiện gán nhãn và huấn luyện model thì 10thực thể đó được đặt tên bằng tiếng Anh, bao gồm {format, contact, require-ment, task, type, salary, title, time, place, address} và được định nghĩa nhưsau:

Ngày đăng: 30/07/2024, 17:05

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[7] A. Joulin, E. Grave, P. Bojanowski, M. Douze, H. Jégou, and T. Mikolov, “Fasttext.zip: Compressing text classification models,” Sách, tạp chí
Tiêu đề: Fasttext.zip: Compressing text classification models
[10] A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N.Gomez, L. Kaiser, and I. Polosukhin, “Attention is all you need,” Sách, tạp chí
Tiêu đề: Attention is all you need
2017. [Online]. Available: https://arxiv.org/abs/1706.03762Technologies,Volume1(Long Papers). Ne w O rleans, Louisiana Sách, tạp chí
Tiêu đề: Technologies, Volume 1 (Long Papers). Ne"wO
[11] D. Q. Nguyen, T. H. Truong, M. H. Dao, “Covid-19 named entity recognition for vietnamese,” 2021. [Online]. Available: https://arxiv.org/pdf/2104.03879.pdf Sách, tạp chí
Tiêu đề: Covid-19 named entityrecognition for vietnamese
[13] palaksinghal, “Frontend vs backend. [Online]. Available: https://www.geeksforgeeks.org/frontend-vs-backend/, Apr. 18, 2023 [14] J. Williams, “Web data crawling vs web data scraping, https://www Link
[9] I. Goodfellow, Y. Bengio, and A. Courville, Deep learning, MIT press, 2016.pii/article/pii/S1877050921006189 Khác

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w