1. Trang chủ
  2. » Cao đẳng - Đại học

Khóa luận tốt nghiệp sửa lỗi chính tả tiếng việt dựa trên tiếp cận học sâu

73 11 0

Đ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

Định dạng
Số trang 73
Dung lượng 1,41 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Huỳnh Ngọc Tín Thời gian thực hiện: Từ ngày 01/10/2020 đến ngày 05/01/2021 Sinh viên thực hiện: Ngô Trung Hiếu - 16520396 Nội dung đề tài Mục tiêu: Xây dựng một model NLP dựa trên

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHẦN MỀM

NGÔ TRUNG HIẾU

KHÓA LUẬN TỐT NGHIỆP SỬA LỖI CHÍNH TẢ DỰA TRÊN TIẾP CẬN HỌC SÂU Vietnamese Text Correction Using Deep Learning Approach

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

TP HỒ CHÍ MINH, 2020

Trang 2

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHẦN MỀM

NGÔ TRUNG HIẾU – 16520396

KHÓA LUẬN TỐT NGHIỆP SỬA LỖI CHÍNH TẢ DỰA TRÊN TIẾP CẬN HỌC SÂU Vietnamese Text Correction Using Deep Learning Approach

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

GIẢNG VIÊN HƯỚNG DẪN

TS HUỲNH NGỌC TÍN

TP HỒ CHÍ MINH, 2020

Trang 3

DANH SÁCH HỘI ĐỒNG BẢO VỆ KHÓA LUẬN

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ……… ngày ……… của Hiệu trưởng Trường Đại học Công nghệ Thông tin

1 ……… – Chủ tịch

2 ……… – Thư ký

3 ……… – Ủy viên

4 ……… – Ủy viên

Trang 4

NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP

(CỦA CÁN BỘ HƯỚNG DẪN)

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

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

Độc Lập - Tự Do - Hạnh Phúc

TP HCM, ngày tháng năm 20

Tên khóa luận:

SỬA LỖI CHÍNH TẢ DỰA TRÊN TIẾP CẬN HỌC SÂU

16520396

TS Huỳnh Ngọc Tín

Đánh giá Khóa luận

1 Về cuốn báo cáo:

Một số nhận xét về hình thức cuốn báo cáo:

Cuốn báo cáo được trình bày ngắn gọn, rõ ràng, mạch lạc, sạch sẽ, hình thức hài hòa

2 Về nội dung nghiên cứu:

o Bước đầu hiểu được công việc nghiên cứu khoa học Có khả năng tìm kiếm tài liệu, tự đọc, phân tích, tổng hợp thông tin

Trang 5

o Bài toán sửa lỗi chính tả cũng khá cổ điển Tuy nhiên, học viên tập trung vào sử dụng những phương pháp tiện cận hiện đại, mới nhất để tạo ra kết quả tốt nhất có thể

3 Về chương trình ứng dụng:

Có khả năng ứng dụng cho việc sửa lỗi chính tả cho các dữ liệu đầu vào của các bài toán khác

4 Về thái độ làm việc của sinh viên:

Có tinh thần học hỏi, cầu tiến Có liên hệ báo cáo công việc với giảng viên hướng dẫn

Đánh giá chung:

● Khóa luận với chủ đề và phương pháp tiếp cận mới mẻ

● Khả năng làm việc cũng như nghiên cứu tốt Áp dụng những công nghệ mới nhất vào bàitoán

Điểm sinh viên:

Ngô Trung Hiếu :……… /10

Người nhận xét

(Ký tên và ghi rõ họ tên)

Trang 6

NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP

(CỦA CÁN BỘ PHẢN BIỆN)

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

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

Độc Lập - Tự Do - Hạnh Phúc

TP HCM, ngày tháng năm 20

Tên khóa luận: SỬA LỖI CHÍNH TẢ DỰA TRÊN TIẾP CẬN HỌC SÂU SV thực hiện: Cán bộ phản biện: Ngô Trung Hiếu MSSV: 16520396 Đánh giá Khóa luận 1 Về cuốn báo cáo: Số trang 73 Số chương 6 Số bảng số liệu 2 Số hình vẽ 25 Số tài liệu tham khảo 19 Sản phẩm 1 Một số nhận xét về hình thức cuốn báo cáo: -

-

-

-

Trang 7

-

-

-

3 Về chương trình ứng dụng: -

-

-

-

4 Về thái độ làm việc của sinh viên: -

-

-

-

Đánh giá chung: -

-

-

-

Điểm sinh viên: Ngô Trung Hiếu: ……… /10

Người nhận xét

(Ký tên và ghi rõ họ tên)

Trang 8

LỜI CẢM ƠN

Khoảng thời gian thực hiện khóa luận là một khoảng thời gian đầy thử thách đối với em

Để hoàn thành khóa luận này, em xin gửi lời cảm ơn sâu sắc đến TS Huỳnh Ngọc Tín, thầy đã tận tình giúp đỡ cả về tài liệu chuyên môn lẫn những lời khuyên và góp ý kịp thời

để tạo nhiều điều kiện để em có thể hoàn thành khóa luận một cách tốt nhất

Ngoài ra, em cũng xin chân thành cảm ơn đến tất cả các thầy cô ở trường Đại học Công nghệ Thông tin nói chung và thầy cô ở khoa Công nghệ Phần mềm nói riêng đã dạy dỗ

và truyền đạt cho em những kiến thức và kinh nghiệm trong suốt quá trình em học tập tại trường để em có thể vận dụng vào trong việc thực hiện khóa luận

Một lần nữa em xin chân thành cảm ơn và chúc quý thầy cô và anh chị sức khỏe và thành công trong cuộc sống

Tp Hồ Chí Minh, ngày tháng năm 20

Sinh viên thực hiện đề tài

Ngô Trung Hiếu

Trang 9

ĐỀ CƯƠNG CHI TIẾT

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

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

Độc Lập - Tự Do - Hạnh Phúc

TÊN ĐỀ TÀI: Sửa lỗi chính tả Tiếng Việt dựa trên tiếp cận học sâu

Cán bộ hướng dẫn: TS Huỳnh Ngọc Tín

Thời gian thực hiện: Từ ngày 01/10/2020 đến ngày 05/01/2021

Sinh viên thực hiện:

Ngô Trung Hiếu - 16520396

Nội dung đề tài

Mục tiêu:

Xây dựng một model NLP dựa trên phương pháp học sâu có khả năng sửa lỗi chính tả

cho Tiếng Việt cụ thể là ứng dụng mô hình Transformers và pretrained BERT với độ

chính xác cao nhằm trở thành một thành phần cốt lõi cho các bài toán NLP khác nói

chung và bản thân bài toán sửa lỗi nói riêng

Phương pháp thực hiện:

_ Phân tích đề tài

_ Nghiên cứu, tìm hiểu về các bài báo, kiến thức trước đây

_ Nghiên cứu công nghệ, thư viện để áp dụng

_ Phát triển và hoàn thiện sản phẩm

Kết quả mong đợi:

Hoàn thiện được một mô hình hoạt động tốt với độ chính xác cao đồng thời tối ưu tốc độ

của phần mềm

Kế hoạch thực hiện :

Trang 10

Xác nhận của CBHD

(Ký tên và ghi rõ họ tên)

TP HCM, ngày 1 tháng 10 năm 2020

Sinh viên

Ngô Trung Hiếu

3 Tìm hiểu Text Preprocessing

Tìm hiểu kiến thức học sâu

Tìm hiểu mô hình Transformers, BERT

Trang 11

DANH MỤC HÌNH VẼ

Hình 3.2 Cơ chế self-attention giúp từ nhìn được các từ cần thiết 18

Hình 3.4 Giai đoạn pre-training và Fine-Tuning của BERT 20

Hình 3.6 Đặc trưng được rút trích từ mô hình BERT 23

Trang 12

DANH MỤC BẢNG

Trang 13

DANH MỤC MỘT SỐ THUẬT NGỮ

BERT (Bidirectional Encoder

Representation from Transformer)

Mô hình ngôn ngữ trong NLP

ứng viên

Deep Learning Học sâu (một kỹ thuật trong Machine

Learning)

Fine-tuning Kỹ thuật nhằm để huấn luyện tiếp tục

mô hình trên nhiệm vụ khác từ nhiệm

vụ gốc

GRU (Gated Recurrent Unit) Mô hình NLP cải tiến từ RNN cho vấn

đề phục thuộc xa

NLP (Natural Language Processing) Xử lý ngôn ngữ tự nhiên, một nhánh

của Deep Learning

LSTM (Long short-term memory) Mô hình NLP cải tiến từ RNN cho vấn

đề phục thuộc xa

NLP (Natural Language Processing) Xử lý ngôn ngữ tự nhiên, một nhánh

của Deep Learning

Trang 14

Pretrained (Model) Mô hình đã được huấn luyện trên một

nhiệm vụ khác để tái sử dụng

RNN (Recurrent Neural Network) Mạng nơron hồi quy - mô hình trong

NLP nhằm để giải quyết các bài toán chuỗi

Self-attention Kỹ thuật trong mô hình Transformer để

tính toán sự liên quan giữa các từ

SOTA (state-of-the-art) Phương pháp mới nhất và đạt độ chính

xác cao

Transfer Learning Học chuyển tiếp - một kỹ thuật trong

Trang 15

2.3 Một số hướng tiếp cận và các nghiên cứu liên quan 7 2.3.1 Tiếp cận dựa trên xác suất thống kê - định lý Bayes 8 2.3.2 Nghiên cứu Using Large N-gram Language Model 9

2.3.4 Nghiên cứu Unsupervised Context-Sensitive Spelling Correction 11 2.3.5 Tiếp cận dựa trên Neural Machine Translation 13 2.3.6 Nghiên cứu Grammatical Error Correction for Vietnamese Using

Trang 16

3.4 Đánh giá và so sánh Transformer, BERT với các hướng nghiên cứu trước 21 3.4.1 So sánh Transformer và mô hình sử dụng LSTM trong dịch máy 21 3.4.2 Mô hình BERT và học chuyển tiếp trong NLP 22

Trang 18

TÓM TẮT KHÓA LUẬN

Bài toán Sửa lỗi chính tả (Text Correction) đúng như tên gọi của nó nhằm để chuyển từ một câu sai chính tả "Hôm lay trời thật ddejp" thành "Hôm nay trời thật đẹp" là một đề tài được nhiều quan tâm cả trong và ngoài giới chuyên môn vốn dĩ vì

độ phức tạp, đa nghĩa, ngôn ngữ mang tính vùng miền của tiếng Việt nên việcnghiên cứu và thực nghiệm trên ngôn ngữ tiếng Việt chưa được quan tâm cũng như mang lại hiệu quả

Đối với các bài toán Natural Language Processing, dữ liệu text đóng góp lớn trong quá trình thành công của bài toán Tuy nhiên các dữ liệu đã thu thập đều tồn tại một số lỗi do thu thập từ nhiều nguồn (Mạng xã hội, Wikipedia, ) Chính vì lý

do đó, sửa lỗi chính tả cho dữ liệu đã trở thành một phần không thể thiếu của các nhà nghiên cứu NLP

Tính đến hiện tại đã có nhiều nghiên cứu về bài toán sửa lỗi chính tả, một số nghiên cứu trong và ngoài nước mà nhóm đã tìm hiểu như: Spell Corrector củaPeter Norvig; Sử dụng mô hình N-gram cho sửa lỗi chính tả của Nguyễn Thị Hương

và các cộng sự, … Ngoài ra còn có nhiều nghiên cứu khác về bài toán này mà nhóm chưa bao hàm trong phạm vi khóa luận này Các cách tiếp cận này đa số đều mắc phải một trong hai vấn đề: tốc độ xử lý và độ chính xác

Dựa vào những lý do trên, hệ thống ​Sửa lỗi chính tả sử dựa trên tiếp cận học sâu ra đời nhằm giúp các nhà nghiên cứu NLP và đồng thời bản thân những bài toán liên quan cần một phương thức làm sạch dữ liệu, không nhiễu Với việc bùng nổ của phương pháp học sâu, cụ thể hơn là áp dụng phương pháp dịch máy và tận dụng

mô hình được huấn luyện sẵn BERT, việc kết hợp hai phương pháp này theo nghiêncứu của nhóm thì chưa có nghiên cứu nào được thực hiện

Thông qua quá trình thực hiện khóa luận, các kiến thức cần thiết đề cập bên dưới cần được nắm rõ trong quá trình thực hiện:

Trang 19

● Kiến thức và các kỹ thuật của học máy, học sâu

● Kiến thức về tiền xử lý dữ liệu

● Kiến thức về bài toán Sửa lỗi chính tả

● Kiến thức về học máy giám sát và mô hình Transformers

● Kiến thức về mô hình BERT

Với các kiến thức như trên, khóa luận đã đóng góp và đạt kết quả như sau:

● Hiện thực hệ thống Sửa lỗi chính tả

● Đạt được độ chính xác cao

● Phương pháp tích hợp mới giữa các mô hình

● Tạo ra các tập dữ liệu để đánh giá

Trang 20

Chương 1 ​.​ TỔNG QUAN ĐỀ TÀI

1.1 Dẫn nhập

Đối với nhánh NLP khi làm việc với Text, lượng dữ liệu chúng ta có được là

vô kể, khổng lồ chẳng hạn như được crawl từ Wikipedia, từ các trang mạng xã hội như Facebook, Twitter, Tuy nhiên việc lấy dữ liệu như vậy tồn tại rất nhiều các lỗi, cụ thể hơn là lỗi được nhập từ người dùng, lỗi chính tả, lỗi ngữ pháp, Với việc

sử dụng các dữ liệu như vậy, những bài toán cần một phương pháp để tiền xử lý các loại lỗi để khiến cho tập dữ liệu không còn nhiễu Sửa lỗi chính tả mặc định trở thành một chủ đề đáng quan tâm và động thời lại trở thành một bài toán chính cho chính các bài toán khác trong NLP Với mô hình có khả năng chuyển câu sai chính

tả "Hôm lay trời thật ddejp" thành "Hôm nay trời thật đẹp" đã tạo nên lý do cùng với thực trạng trên đã thôi thúc nhóm chúng em chọn đề tài này, với mong muốn đóng góp cho các bài toán lớn trong NLP và đồng thời cũng giải quyết chính bài toán này

1.2 Mục tiêu

● Tìm hiểu kiến thức cơ bản trong lĩnh vực học máy, cụ thể và sâu hơn nữa chính là học sâu ứng dụng trong NLP

● Tìm hiểu các nghiên cứu liên quan

● Tìm hiểu về mô hình Transformer trong dịch máy

● Tìm hiểu về mô hình BERT trong việc ứng dụng

● Xây dựng mô hình kết hợp giữa mô hình Transformer và mô hình BERT

● Đạt được kết quả và độ chính xác cao nhất

1.3 Nội dung thực hiện

● Tìm hiểu về bài toán Sửa lỗi chính tả và các nghiên cứu liên quan trong và ngoài nước về lĩnh vực

Trang 21

● Tìm hiểu các kiến thức cần thiết và liên quan trong các lĩnh vực để phục vụ quá trình nghiên cứu đề tài và xây dựng hệ thống

● Xây dựng hệ thống sửa lỗi chính tả phục vụ cho hệ thống công ty VCCorp

● Xây dựng kiến trúc hệ thống nền tảng qua các công cụ lập trình

● Thu thập các dữ liệu cần thiết cho các quá trình huấn luyện, kiểm thử

● Xây dựng giao diện dành cho người dùng cuối

● Triển khai và vận hành hệ thống

● Đánh giá và đo đạc các thông số và kết quả của mô hình

1.4 Phạm vi thực hiện

● Nguồn dữ liệu: tập dữ liệu của Vo Quoc Binh [16]

● Đối tượng sử dụng: công ty VCCorp

● Ngôn ngữ hỗ trợ: tiếng Việt

1.5 Kết quả đạt được

● Nắm bắt kiến thức cơ bản trong lĩnh vực xử lý văn bản, các bước thực hiện

và triển khai của bài toán sửa lỗi chính tả, tiến hành thực hành các thuật toán học sâu vào các mô hình trên

● Nắm bắt kiến thức cơ bản và thực hiện hệ thống theo hướng tiếp cận về xử lý

dữ liệu khối lượng lớn

● Tạo ra dữ liệu huấn luyện hơn 4.000.000 cặp dữ liệu câu sai và đúng từ thuật toán sinh lỗi Câu đúng từ tập dữ liệu được chia sẻ [16]

● Hoàn thành hệ thống sửa lỗi chính tả Hệ thống đáp ứng được các yêu cầu sau:

○ Sửa lỗi chính tả với độ chính xác cao lên khoảng 90%

○ Sửa lỗi chính tả cho đoạn văn bản

○ Xử lý song song, tận dụng GPU nâng cao hiệu quả phần mềm

Trang 22

1.6 Cấu trúc báo cáo

Bố cục báo cáo gồm có 6 chương:

● Chương 1: Tổng quan đề tài Giới thiệu tổng quan về đề tài, mục tiêu đề tài

và phạm vi, kiến trúc hệ thống

● Chương 2: Sửa lỗi chính tả và một số nghiên cứu liên quan Giới thiệu khái quát về bài toán Sửa lỗi chính tả và một số phương pháp xử lý bài toán; một

số công trình nghiên cứu liên quan trong và ngoài nước

● Chương 3: Sửa lỗi chính tả tiếp cận học sâu Các giai đoạn hiện thực bài toán Sửa lỗi chính tả, công cụ và cách hiện thực từng giai đoạn

● Chương 4: Hiện thực hệ thống Hiện thực hệ thống dựa trên các hướng tiếp cận đã tìm hiểu ở Chương 3; hiện thực giao diện

● Chương 5: Thực nghiệm và đánh giá Đánh giá và bàn luận về các kết quả đã đạt được khi hiện thực hệ thống với những số liệu cụ thể ghi nhận được (tập

dữ liệu huấn luyện, xác suất kết quả dự đoán sau khi được huấn luyện)

● Kết luận và hướng phát triển Tóm tắt kết quả thực hiện được và đề xuất hướng phát triển mới trong tương lai

1.7 Kết chương

Trên đây là vài nét tổng quan về hệ thống ​Sửa lỗi chính tả ​từ mục tiêu, nội

dung, phạm vi thực hiện đến kế hoạch và kết quả dự kiến của đề tài

Nội dung chi tiết về hệ thống và quá trình thực hiện cùng với kết quả đạt được sẽ được trình bày cụ thể trong các chương sau

Trang 23

Chương 2 SỬA LỖI CHÍNH TẢ VÀ MỘT SỐ NGHIÊN CỨU LIÊN QUAN

2.1 Mở đầu

Để giải quyết được bài toán ​Sửa lỗi chính tả chúng ta cần nắm rõ bài toán này là gì, các yêu cầu của nó như thế nào, có những hướng tiếp cận nào để giải quyết bài toán Những câu hỏi đó sẽ được trả lời trong chương này

Ngoài ra, chương này còn trình bày tổng quan về một số công trình nghiên cứu hiện có liên quan đến bài toán ​Sửa lỗi chính tả đã được công bố trong và ngoài nước Từ đó xác định được các yêu cầu cần thiết cho quá trình thực hiện đề tài

2.2 Bài toán Sửa lỗi chính tả

2.2.1 Thực trạng

Sửa lỗi chính tả (Text Correction) là một vấn đề không mới trong giới công nghệ thông tin cũng như lĩnh vực liên quan tới Text Đây là một bài toán có lịch sử nghiên cứu rất lâu đời, cụ thể hơn vào năm 2007, Peter Norvig một nghiên cứu sinh của Google đã cho ra đời một phần mềm sửa đơn giản chỉ với vài chục dòng code Python, được hiện thực dựa trên định lý Bayes Kết quả đưa ra rất thuyết phục cũng như không hề kém độ chính xác Cái mà bài toán còn thiếu ở thời đó chính là lượng

dữ liệu ít ỏi vào những năm thời kì Internet chưa được phát triển Những vấn đề đó liên tục được cải thiện mãi cho tới thời gian gần đây, với việc phát triển mạnh mẽcủa các mô hình NLP khiến cho bài toán vẫn có thể cải tiến như sử dụng các kỹ thuật học máy, học sâu,

Trang 24

2.2.2 Phát biểu bài toán

Bài toán Sửa lỗi chính tả là một bài toán với các cách tiếp cận như áp dụng xác suất thống kê, xây dựng một mô hình nhận diện và sửa lỗi

- Input: một câu tiếng Việt có thể tồn tại lỗi sai

- Output: một câu đã được sửa đúng chính tả

2.3 ​Một số hướng tiếp cận và các nghiên cứu liên quan

Đối với mục tiêu sửa lỗi, bài toán sẽ đi qua các bước như phát hiện lỗi, sinh

ra ứng viên thay thế, sửa lỗi Trong hướng tiếp cận của nhóm và các nghiên cứu liên quan mà nhóm tìm hiểu, bước phát hiện lỗi và sửa lỗi sẽ được gộp chung với nhau trong một thuật toán Có hai loại lỗi chính khi chúng ta xem xét bài toán này, đó là lỗi non-word và lỗi real-word

Lỗi ​non-word thông thường là những loại lỗi được gõ nhầm từ bàn phím khiến cho từ đó không có trong từ điển

Ví dụ : Xin chafo buổi sáng (lỗi telex phổ biến của người dùng Việt Nam,

chữ chafo​ không có trong từ điển)

Real-word thì ngược lại, đa số lỗi real-word bắt dùng từ nhầm lẫn của người dùng về cách đánh vần của người dùng

Ví dụ : chiến chanh thế giới (từ ​chanh tuy có trong từ điển nhưng lại sai chính tả ở trong ngữ cảnh này)

Đối với real-word không thể xử lý kiểm tra từ điển nên chúng ta phải sử dụng các cặp từ xác suất thống kê từ đó xác định được xác suất của từ hiện tại xuất hiện là bao nhiêu Từ đó xác định được từ này có sai hay không Áp dụng xác suất thống kê thông thường, bài toán này có thể phát triển hơn nữa dùng học máy và học sâu

Trang 25

Với nhiều hướng tiếp cận đối với bài toán, mỗi phương pháp đều có những

ưu điểm và nhược điểm riêng, tùy vào nhu cầu cụ thể mà có thể lựa chọn phương pháp phù hợp với nhu cầu

2.3.1.​Tiếp cận dựa trên xác suất thống kê - định lý Bayes

Thuật toán sửa lỗi chính tả với phương thức ​correction(w) ​sẽ nhận input ​w là

một từ Khi đó thuật toán cố gắng chọn từ thay thế có khả năng nhất cho từ ​w​ Tuynhiên giả định một trường hợp rằng như từ ​"la" chúng ta hoàn toàn có thể sửa thành

"là" hay ​"lá"​, chúng ta không biết nên chọn từ nào, xác suất thống kê sẽ giúp chúng

ta trong trường hợp này

Mục tiêu của chúng ta cố gắng tìm từ đúng ​c (correction)​, từ tập hợp các từ

có thể xảy ra mà trong đó từ đúng ​c có xác suất cao nhất khi được cho trước từ ​w ​,được biểu diễn bởi công thức sau:

1 Cơ chế lựa chọn : argmax

Chúng ta chọn ra ứng viên với xác suất cao nhất

2 Mô hình ứng cử viên : ​c candidates

Mô hình này sẽ sinh ra các ứng viên c

3 Mô hình ngôn ngữ : P(​c​)

Trang 26

2.3.2 Nghiên cứu Using Large N-gram Language Model

Áp dụng nguyên lý trên, trong nghiên cứu này Nguyen Thi Xuan Huong và các cộng sự ​[1] đã cải thiện thành phần ​Mô Hình Ngôn Ngữ dựa trên các cặp

N-gram (cụ thể là 3) ở cả hai phía bên trái và bên phải Sau quá trình huấn luyện trên tập dữ liệu rất lớn Mô hình ngôn ngữ N-gram lúc này đã có khả năng cho ra xác suất của các cặp N-gram Lúc này xác suất của từ đang xét ​w0được cho trước 2 cặp từ trái và phải theo công thức xác suất có điều kiện như sau:

Hình 2.1 Công thức xác suất từ mô hình N-gram

Nhận định:

● Cải tiến Mô Hình Ngôn Ngữ việc mở rộng ngữ cảnh sang 2 trái và 2 phải từ

đó khiến việc tính xác suất của từ đang xét dựa vào ngữ cảnh tốt hơn

● Tính toán nhanh

Nhược điểm:

Với việc áp dụng xác suất thống kê, các trường hợp mà mô hình chưa từng gặp trong quá trình huấn luyện sẽ khiến việc kết quả không tốt (xác suất sửa bằng 0), hiếm khi bao quát hết tất cả mọi trường hợp

Xác suất mà c sẽ xuất hiện trong văn bản huấn luyện Ví dụ, tần suất của chữ "và" trong văn bản chiếm khoảng 7% Suy ra P(và) = 0.07

4 ​Mô hình lỗi : P(​w​|​c​)

Xác suất mà w sẽ được gõ khi người dùng muốn c​ Ví dụ P(làm|lafm) thì cao hơn so với P(lun|lafm)

Trang 27

Hình 2.2 Sử dụng mô hình N-gram trong bài toán

2.3.3 ​Tiếp cận dựa trên Word Representation

Với việc phát triển của học sâu, bây giờ các từ sẽ được biểu diễn dưới dạng vector, quá trình học được các vector này gọi là Word Representation, ở phương pháp này có hai dạng phổ biến đó chính là Word2Vec ​[11] và GloVe, hiện nay có rất nhiều các pretrained Word2Vec trên nhiều ngôn ngữ khác nhau, Việt Nam cũngkhông là ngoại lệ Bài toán tính xác suất của ​w đang được xét với các từ lân cận được chuyển thành tính cosin giữa hai vectơ thông qua công thức:

Trang 28

Hình 2.3 Công thức Cosin giữa hai vectơ

Trong đó:

Vectơ A : Vectơ của từ đang xét

Vectơ B: Vectơ ngữ cảnh của từ đang xét

Hình 2.4 Các trường hợp Cosin của hai vectơ - nguồn Internet

Nếu cosin của từ đang xét (vectơ A) có thí sinh (vector A') có cosin cao hơn

so cùng với một ngữ cảnh (vectơ B) thì khả năng thay thế là cao hơn

2.3.4 Nghiên cứu Unsupervised Context-Sensitive Spelling Correction

Pieter và các cộng sự ​[2] đã áp dụng nguyên lý trên, thuật toán sẽ được trình bày theo sơ đồ như sau đối với mỗi thí sinh:

Trang 29

Hình 2.5 Thuật toán tính điểm dựa trên Cosin - nguồn [2]

● Chưa áp dụng tốt nhất so với các phương pháp hiện nay như Contextual

Word Embedding (Word Embedding có xét tới ngữ cảnh)

Trang 30

2.3.5 ​Tiếp cận dựa trên Neural Machine Translation

Chuyển bài toán từ sửa lỗi chính tả sang dịch máy, áp dụng học sâu, thay vì chỉ tận dụng lớp pretrained Embedding của mô hình trước thì bây giờ đã có hẳn một

mô hình để làm việc sửa lỗi Chuyển thành bài toán học sâu có giám sát

2.3.6 Nghiên cứu Grammatical Error Correction for Vietnamese Using Machine Translation

Ở phương pháp này, Ha Thanh Nguyen [3]​ và các cộng sự đã xem việc phát hiện lỗi và sửa lỗi thành bài toán dịch máy Cụ thể hơn câu sai và câu đúng lần lượt được xem là câu gốc và câu đích trong dịch máy Lúc này mô hình dịch máy LSTM

sử dụng trong bài báo dùng để phát hiện và sửa lỗi

Hình 2.6 Mô hình sửa lỗi dịch máy (LSTM) - nguồn [17]

Đánh giá:

Có thể cải tiến bằng việc tận dụng các mô hình pretrained có sẵn tốt như Multilingual BERT (Google), PhoBERT (Vinai) Đây chính là xu hướng học sâu gần đây, tái sử dụng các mô hình có sẵn

Trang 31

2.4 Nhận định về các nghiên cứu và phương pháp sửa lỗi chính tả

Việc giải quyết bài toán cho từng lĩnh vực cụ thể theo những hướng tiếp cận khác nhau để đạt được kết quả tối ưu nhất là một vấn đề được giới chuyên môn quan tâm Các nghiên cứu, phương pháp, nhìn chung hoặc là đang tập trung ở một phần phụ, cụ thể ở bài báo thì chỉ tập trung thêm dấu vào câu, hay chỉ sửa lỗi vùng miền Các phương pháp giải quyết chung hơn thì không có hiệu suất tốt với các trường hợp mới Vì thế, một mô hình State-of-the-art (SOTA) là cần thiết và luôn nhận được sự quan tâm của cộng đồng chuyên môn nói riêng và xã hội nói chung

Trong luận văn này, nhóm thực hiện đi sâu vào phương pháp tiếp cận học sâu cho Sửa lỗi chính tả Phương pháp này có nhiều ưu điểm là có nhiều mô hình học máy có thể được áp dụng trong quá trình hiện thực như kiến trúc Transformers, pretrained mô hình ngôn ngữ BERT Khuyết điểm là đòi hỏi kiến thức chuyên môn nhất định về lĩnh vực học máy nói chung và NLP nói riêng và dữ liệu huấn luyện cũng như thời gian để triển khai, huấn luyện và kiểm thử các kết quả, tham số

Trong quá trình tìm hiểu các phương pháp, nhóm nghiên cứu quyết địnhchọn sử dụng kiến trúc Transformers và tận dụng pretrained BERT Cụ thể ưu điểm của mô hình này và từng bước phân tích Sửa lỗi chính tả như thế nào sẽ được trình

bày trong Chương 3 qua các bước áp dụng thực tế vào hệ thống Sửa lỗi chính tả

2.5 Kết chương

Mỗi nghiên cứu, phương pháp phân tích đều có những ưu điểm và thế mạnh riêng Các nghiên cứu phân tích với ngôn ngữ nước ngoài mặc dù phổ biến và có độ chính xác cao trong cộng đồng nghiên cứu quốc tế nhưng không phù hợp để triển khai với ngôn ngữ tiếng Việt bởi vì sự khác biệt ngôn ngữ cộng với việc bài toán này ở Việt Nam vẫn chưa có một bộ dữ liệu công khai để đánh giá khiến phần thực hiện thêm khó khăn Các phương pháp sửa lỗi chính tả tiếng Việt có kết quả tốt

Trang 32

phương pháp truyền thống như xác suất thống kê cho tốc độ tương đối nhưng chưa

đủ đáp ứng với các trường hợp khó khăn đối với ngôn ngữ hiện nay Phương pháphọc tiếp cận sâu áp dụng với Transfer Learning được đánh giá cao và sẽ được ứng dụng trong đề tài, vì phù hợp với nhiều đặc tính của phát biểu bài toán về khả năng triển khai, ứng dụng, tiềm năng cải thiện độ chính xác và tính mở rộng nâng cao

Trang 33

Chương 3 SỬA LỖI CHÍNH TẢ DÙNG MÔ HÌNH BERT-NMT

3.1 Mở đầu

Việc lựa chọn một hướng tiếp cận xử lý bài toán ​Sửa lỗi chính tả để đạt được

kết quả tối ưu nhất là vấn đề cần cân nhắc đầu tiên của bất cứ nhà nghiên cứu nào Hướng tiếp cận đóng một vai trò quan trọng trong việc quyết định thành bại của mộtnghiên cứu nhất định Như đã được trình bày ở mục ​2.3​, chúng ta thấy có nhiều cách để tiếp cận bài toán ​Sửa lỗi chính tả Tuy nhiên trong phạm vi giới hạn của khóa luận này, nhóm sẽ tập trung vào hướng tiếp cận học máy sử dụng pre-trained

mô hình ngôn ngữ BERT và mô hình Transformers

Nội dung chính của chương sẽ trình bày về mô hình và các ứng dụng của Transformer, BERT cũng như các đặc điểm và sự hiệu quả so với các mô hình, phương pháp trước Đồng thời, các bước hiện thực bài toán Sửa lỗi chính tả từ giai đoạn thu thập dữ liệu đến xử lý dữ liệu, xây dựng mô hình và đánh giá kết quả cũng

sẽ được đề cập cụ thể trong chương này

Trang 34

Hình 3.1 Minh họa về long-range dependencies - nguồn Andrew Ng RNN course

Để làm được điều đó Transformer phụ thuộc hoàn toàn vào một cơ chế Tự chú ý (Self-attention) để tính toán các biểu diễn (representations) của đầu vào và đầu ra mà không cần dùng tới các mô hình dạng chuỗi như RNN

Trang 35

Hình 3.2 Cơ chế self-attention giúp từ nhìn được các từ cần thiết - nguồn Internet

Trang 36

Mô hình Transformer gồm hai phần Mã hóa (Encoder) và Giải mã (Decoder)

Hình 3.3 Mô hình Transformers - nguồn [5]

3.3 Mô hình BERT

B ​idirectional ​E​ncoder ​R​epresentations from ​T​ransformers ​[6] là mô hìnhhọc sâu đã cho kết quả state-of-the-art trên một số nhiệm vụ lớn của NLP Mô hình

đã được pre-trained trên Wikipedia và Books Corpus và có thể fine-tuning trên một

số tác vụ cụ thể ​BERT được pre-trained trên hai nhiệm vụ chính: Mô hình che

Ngày đăng: 05/09/2021, 20:51

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[9] Sepp Horchreiter, Jurgen Schimidhuber (1997). ​ Long Short-Term Memory [10] Mike Schuster, Kaisuke Nakajima (2012). ​ Japanese and Korean Voice Search [11] Tomas Mikolov (2013). ​ Efficient Estimation of Word Representation in Vector Space Sách, tạp chí
Tiêu đề: Long Short-Term Memory "[10] Mike Schuster, Kaisuke Nakajima (2012). ​"Japanese and Korean Voice Search "[11] Tomas Mikolov (2013). ​
Tác giả: Sepp Horchreiter, Jurgen Schimidhuber (1997). ​ Long Short-Term Memory [10] Mike Schuster, Kaisuke Nakajima (2012). ​ Japanese and Korean Voice Search [11] Tomas Mikolov
Năm: 2013
[14] Peter Norvig (2017). How to Write a Spelling Corrector, https://norvig.com/spell-correct.html Link
[15] Transformers, người máy biến hình biến đổi thế giới NLP https://viblo.asia/p/transformers-nguoi-may-bien-hinh-bien-doi-the-gioi-nlp-924lJPOXKPM Link
[20] OpenNMT-py: Open Source Neural Machine Translation https://github.com/OpenNMT/OpenNMT-py Link
[1] Nguyen Thi Xuan Huong, Thai Dang, Cuong Anh Le (2015). ​ Using Large N-gram for Vietnamese Spell Checking Khác
[2] Pieter Fivez, Simon Suster, Walter Daelemans (2017). ​ Unsupervised Context-Sensitive Spelling Correction of Clinical Free-Text with Word and Character N-Gram Embeddings Khác
[3] Ha Thanh Nguyen, Tran Binh Dang, Le Minh Nguyen (2019). ​ Deep Learning Approach for Vietnamese Consonant Misspell Correction Khác
[4] Jinhua Zu, Yingce Xia, Lijun Wu, Di He, Tao Quin, Wengang Zhou, Houquiang Li, Tie-Yan Liu (2020). ​ Incorporating BERT into Machine Translation Khác
[5] Ashish Vaswani, Noam Shazeer, Nikki Parmar, Jakob Uszokerit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, ILLia Polosukhin (2017). ​ Attention Is All You Need Khác
[6] Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova (2018). ​ BERT Khác
[8] ​ Rumelhart, David E; Hinton, Geoffrey E, and Williams, Ronald J ​ ​ (1985). Learning internal representations by error propagation Khác
[12] Junyoung Chung, Caglar Gulcehre, KyungHyun Cho, Yoshua Bengio (2014) Khác

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w