Tải bản đầy đủ (.pdf) (73 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.41 MB, 73 trang )

ĐẠ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


ĐẠ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


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.


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

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

TRƯỜNG ĐẠI HỌC

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

CÔNG NGHỆ THÔNG TIN
TP. HCM, ngày ... tháng ... năm 20....

NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ HƯỚNG DẪN)
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
Nhóm SV thực hiện:

Cán bộ hướng dẫn:
MSSV:

Ngơ Trung Hiếu

TS. Huỳnh Ngọc Tín

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:
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.


o Bài tố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 tố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ài
tố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)


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

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

TRƯỜNG ĐẠI HỌC

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

CÔNG NGHỆ THÔNG TIN
TP. HCM, ngày ... tháng ... năm 20....

NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ PHẢN BIỆN)

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:
MSSV: 16520396

Ngô Trung Hiếu

Đá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:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------2. Về nội dung nghiên cứu:
----------------------------------------------------------------------------------------------------------


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------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)


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.
Để hồ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 chun 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ể hồ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


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

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

TRƯỜNG ĐẠI HỌC


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

CÔNG NGHỆ THÔNG TIN

ĐỀ CƯƠNG CHI TIẾT
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 tốn NLP khác nói
chung và bản thân bài tố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:
STT

Cơng việc thực hiện


Thời gian thực hiện

1

Tìm hiểu bài tốn, phân tích đề tài

1/10/2020 đến 3/10/2020

2

Tìm hiểu các paper liên quan, kỹ thuật sử dụng 4/10/2020 đến 17/10/2020
trong bài toán


3

Tìm hiểu Text Preprocessing

18/10/2020 đến 1/11/2020

Tìm hiểu kiến thức học sâu
Tìm hiểu mơ hình Transformers, BERT
4

Tìm hiểu thư viện cho DeepLearning (PyTorch)

1/11/2020 đến 15/11/2020

5


Hiện thực paper

15/11/2020 đến 15/12/2020

6

Huấn luyện và đánh giá cải tiến mơ hình

15/12/2020 đến 05/01/2020

Xác nhận của CBHD

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

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

Sinh viên

Ngô Trung Hiếu


DANH MỤC HÌNH VẼ
Hình 2.1. Cơng thức xác suất từ mơ hình N-gram

9

Hình 2.2. Sử dụng mơ hình N-gram trong bài tốn

10


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

11

Hình 2.4. Các trường hợp Cosin của hai vectơ

11

Hình 2.5. Thuật tốn tính điểm dựa trên Cosin

12

Hình 2.6. Mơ hình sửa lỗi dịch máy (LSTM)

13

Hình 3.1. Minh họa về long-range dependencies

17

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.3. Mơ hình Transformers

19

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


20

Hình 3.5. Ví dụ minh họa nhiệm vụ của BERT

21

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

23

Hình 3.7. Mơ hình đề xuất BERT-NMT

29

Hình 4.1. Sơ đồ xử lý của hệ thống

34

Hình 4.2. Màn hình Demo nhập sửa lỗi chính tả

35

Hình 4.3. Màn hình Demo kết quả sửa lỗi chính tả

35

Hình 6.1. Mơ hình Transformers

46


Hình 6.2. Input Embedding trong Transformers

47

Hình 6.3. Positional Encoding trong Transformers

48

Hình 6.4. Self-attention trong Transformers

49

Hình 6.5. Multi-head trong Transformers

50

Hình 6.6. Residuals trong Transformers

51

Hình 6.7. Feed Forward trong Transformers

52

Hình 6.8. Masked trong Decoder Transformers

53

Hình 6.9. Các bước sử dụng BERT


55


DANH MỤC BẢNG
Bảng 5.1. Bảng thống kê tập huấn luyện

38

Bảng 5.2. Kết quả thực nghiệm của các mơ hình

40


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

BERT (Bidirectional Encoder
Representation from Transformer)

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

Candidates

Các ứng viên được sinh ra từ mơ hình
ứ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.

Language Model

Mơ hình ngơn ngữ.

LSTM (Long short-term memory)

Mơ hình NLP cải tiến từ RNN cho vấn
đề phục thuộc xa.

Model

Mô hình.

NLP (Natural Language Processing)


Xử lý ngơn ngữ tự nhiên, một nhánh
của Deep Learning.


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 tốn
chuỗi.

Self-attention

Kỹ thuật trong mơ hình Transformer để
tính tố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.

Transformers

Mơ hình trong bài tốn dịch máy NLP.


Transfer Learning

Học chuyển tiếp - một kỹ thuật trong
học máy.

Word Representation (Word
Embedding)

Biểu diễn của từ (dưới dạng vector)
một kỹ thuật trong NLP.


MỤC LỤC
TÓM TẮT KHÓA LUẬN

1

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

3

1.1. Dẫn nhập

3

1.2. Mục tiêu

3

1.3. Nội dung thực hiện


3

1.4. Phạm vi thực hiện

4

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

4

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

5

1.7. Kết chương

5

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

6

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

6

2.2.1. Thực trạng


6

2.2.2. Phát biểu bài tốn

7

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.3. Tiếp cận dựa trên Word Representation

10

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
Machine Translation

13

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

14

2.5. Kết chương

14

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

16

3.1. Mở đầu

16

3.2. Mơ hình Transformer

16

3.3. Mơ hình BERT

19



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

3.5. Tổng quan về dữ liệu

24

3.6. Gán nhãn dữ liệu

25

3.6.1. Tổng quan về các khía cạnh của dữ liệu

25

3.6.2. Thuật toán sinh lỗi

26

3.7. Tiền xử lý

27

3.7. Mã hóa dữ liệu


28

3.8. Xây dựng mơ hình BERT-NMT

29

3.8.1. Thuật tốn

29

3.8.2. Các siêu tham số của mơ hình (HYPERPARAMETER)

31

3.9. Kết chương
Chương 4. HIỆN THỰC HỆ THỐNG

31
33

4.1. Mở đầu

33

4.2. Thiết kế giao diện

35

4.2.1. Màn hình Demo sửa lỗi chính tả


35

4.2.2. Hiện thực UI

35

4.3. Triển khai hệ thống

36

4.3.1. Cài đặt môi trường Python

36

4.3.2. Cài đặt Django

36

4.3.3. Cài đặt Pytorch

36

4.3.4. Cài đặt Flask

37

4.4. Kết chương
Chương 5. THỰC NGHIỆM VÀ ĐÁNH GIÁ


37
38

5.1. Mở đầu

38

5.2. Dữ liệu thực nghiệm (Dataset)

38

5.3. Thiết lập thực nghiệm

38

5.4. Phương pháp, độ đo, đánh giá.

38


5.5. Kết quả thực nghiệm

39

5.6. Phân tích lỗi

40

5.7. Nhận định


40

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

41

Kết luận

41

Hướng phát triển

41

TÀI LIỆU THAM KHẢO

43

Tiếng Anh

43

Internet

44

PHỤ LỤC 1: MƠ HÌNH TRANSFORMERS

45


PHỤ LỤC 2: MƠ HÌNH BERT

54


TĨM TẮT KHĨA LUẬN
Bài tố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à ngồi giới chun 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ệc
nghiê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 tố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 tốn sửa lỗi chính tả, một số
nghiên cứu trong và ngồi nước mà nhóm đã tìm hiểu như: Spell Corrector của
Peter 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ự, … Ngồi ra cịn có nhiều nghiên cứu khác về bài tố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ên
cứu của nhóm thì chưa có nghiên cứu nào được thực hiện.

Thơng qua q 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:

1


● 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 tố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á.

2


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 tốn chính cho
chính các bài tố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 tốn lớn trong NLP và đồng thời cũng giải quyết chính bài
tố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 tố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.

3


● 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 tố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.

4


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
qt về bài tốn Sửa lỗi chính tả và một số phương pháp xử lý bài tố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 tố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.

5


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 tốn
này là gì, các 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 tốn. Những câu hỏi đó sẽ được trả lời trong chương này.
Ngồ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 tốn S​ ửa lỗi chính tả đã được cơng bố trong và ngồ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 tố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 tố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 tố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 tố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,...

6


2.2.2. Phát biểu bài tốn
Bài tố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 tốn. Có hai loại lỗi chính khi chúng ta xem xét bài tố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 tốn này có thể phát triển hơn nữa dùng học máy và học
sâu.

7


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 tốn cố gắng chọn từ thay thế có khả năng nhất cho từ ​w​. Tuy
nhiên giả định một trường hợp rằng như từ ​"la" chúng ta hồn tồ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:
argmax​c ∈ candidates​ P(​c​|​w)​
Sử dụng định lý Bayes công thức trên ta được:
argmax​c ∈ candidates​ P(​c​) P(​w|​ ​c​) / P(​w)​

Bởi vì P(w) là giống nhau với tất cả các candidate c​, chúng ta có thể loại bỏ.
argmax​c ∈ candidates​ P(​c​) P(​w|​ ​c​)
Lúc này cơng thức sẽ gồm có 4 phần
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​)

8


×