Bên cạnh đó, chúng tôi cũng đề xuất thêm một cải tiễn mới trongthuật toán sửa lỗi chính tả mà chúng tôi sẽ trình bày chỉ tiết hơn trong phần phương pháp thực hiện.. Tuy nhiên, bộ dữ liệu
Trang 1ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH
ĐÀO PHƯỚC BẢN
NGUYÊN THÙY LINH
KHÓA LUẬN TÓT NGHIỆP
SỬA LOI CHÍNH TẢ CHO TỪ DOC HAI TRONG
BINH LUAN TIENG VIET
MALICIOUS SPELLING ERROR CORRECTION FOR
VIETNAMESE COMMENTS
CU NHAN NGANH KHOA HOC MAY TINH
TP HO CHi MINH, 2021
Trang 2ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH
ĐÀO PHƯỚC BẢN - 17520263 NGUYÊN THÙY LINH - 17520689
KHÓA LUẬN TÓT NGHIỆP
SUA LOI CHÍNH TẢ CHO TỪ ĐỘC HAI TRONG
BÌNH LUẬN TIENG VIET
MALICIOUS SPELLING ERROR CORRECTION FOR
VIETNAMESE COMMENTS
CỬ NHÂN NGANH KHOA HOC MAY TÍNH
GIANG VIÊN HƯỚNG DAN
TS NGUYEN LUU THUY NGAN
TP HO CHi MINH, 2021
Trang 3DANH SÁCH HỘI DONG 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ố
.-nảy của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
1 PGS.TS Lê Đình Duy - Chủ tịch.
2 ThS Nguyễn Trọng Chỉnh — Thư ký.
3 TS Nguyễn Vinh Tiệp — Ủy viên.
Trang 4LỜI CẢM ƠN
Chúng em xin được gửi lời cảm ơn chân thành đến TS Nguyễn Lưu Thùy
Ngân, một người giảng viên vừa có tâm vừa có tầm trong sự nghiệp giáo
dục và nghiên cứu khoa học Chúng em thực sự may mắn khi được tham gia vào nhóm nghiên cứu của cô, được cô tận tình hướng dẫn, góp ý, và
dõi theo xuyên suốt quá trình thực hiện luận văn Những kiến thức cũng
như các kỹ năng chuyên môn quan trọng mà cô truyền đạt là một hành trang quý báu giúp chúng em tự tin bước tiếp con đường sự nghiệp trong
tương lai Cảm ơn cô đã luôn sẵn sàng lắng nghe và chia sẻ với chúng em
về những khó khăn mà chúng em gặp phải trong học tập cũng như cuộc sống Chúng em cũng xin được cảm ơn các thầy cô giáo, các anh chị và
các bạn trong nhóm nghiên cứu của cô, đặc biệt là anh Nguyễn Đức Vũ và
anh Đặng Văn Thìn đã nhiệt tình giúp đỡ và cho chúng em những góp ý
quý báu đề có thể hoàn thành luận văn này.
Chúng em xin được gửi lời cảm ơn đến ThS Nguyễn Trọng Chỉnh, người
đầu tiên đã giúp chúng em biết được như thế nào là Xử lý ngôn ngữ tự
nhiên Chính những bài học lý thú trong môn Xử lý ngôn ngữ tự nhiên mà
thầy dạy ở trên lớp đã tạo cảm hứng cho chúng em đi theo con đường Xử
lý ngôn ngữ tự nhiên cho đến bây giờ.
Chúng em cũng xin được cảm ơn các thầy cô trong khoa Khoa học máy
tính nói riêng và toàn thể các thầy cô Trường Đại học Công nghệ Thông
tin, Đại học Quốc Gia Thành phố Hồ Chí Minh nói chung, đã nhiệt tình giảng dạy và truyền đạt kiến thức cho chúng em trong những năm qua.
Cảm ơn các thầy cô đã ngồi xuống chia sẻ với chúng em về những định hướng nghề nghiệp, những câu chuyện đáng suy ngẫm trong cuộc sống,
giúp cho chúng em từng bước chín chắn và trưởng thành hơn.
Trang 5Bên cạnh đó, chúng em cũng xin được cảm ơn ban tổ chức của cuộc thi
VLSP Shared Task 2019 đã tạo ra bộ dữ liệu Hate Speech và cho phép
chúng em được sử dụng trong luận văn này.
Cuối cùng, trong quá trình thực hiện, dù có cố gắng đến đâu, chúng em cũng không thể tránh khỏi những thiếu sót nhất định, rất mong nhận được
sự phản hồi và góp ý quý báu đến từ quý thầy cô.
Một lần nữa, chúng em xin chân thành cảm ơn!
Trang 6Chương 1 MỞ ĐẦU
LL, hố ẽ.ẽ “(AäAHAH, ,HH 2
1.2 Mục tiêu khĩa luan
1.3 Đối tượng và phạm vi nghiên cứu ¿:+++22v+zvevcvvrerrrrsrree 4
143.1 Đốitượng 4
1.3.2 Phạm vi nghiên cứỨu - ¿+ + ++k*k+kE*EEEESkke ng rưưy 5
1.4 Kết qua của dé tài
Chương 2 TONG QUAN 222¿222222222211222221112222111271111221111 2221 re, 7 2.1 Sửa lỗi chính tả - 22v 222111222211 22211122 1 1 eree 7
2.2 Tình hình nghiên CỨU - ¿2+ + SE *E£EEk#EEEEEEEEEkEkekrkerrrkrkrre §
2.2.1 Tình hình nghiên cứu trên các thứ tiếng khác - 8 2.2.2 Tinh hình nghiên cứu trên tiếng Việt -c:zc5sc+2 0
2.3 Nhận Xét 22222222c+E2E22211121222121111112.221111112.0.1.01,E Le 1
Chương 3 KIÊN THUC NEN TẢNG -2 ©222¿+222+E+tEEEESetrtrrkzerrrrreee 4
3.1 Nhúng từ 22222222222 2121222221111 rcerrree 4
3.1.1 _ Nhúng từ dựa trên đếm ccccc5222cvvvrrrrrrrrrrrrrrrrrrrr 4
3.1.2 Nhúng từ dựa trên dự đốn ¿- 6-5 + Sc+Eekekekererrerke 7
3.2 Khoảng cách chỉnh sửa -+- 5+ St S+ 2xx E1 111g grrec 20
Chương 4 PHƯƠNG PHÁP 22222222+2222EE2222tEE222E12ErrEtrrrrkrcree 22 4.1 Mơ hình tổng quát -222:+++22222222++tttEEEEEEErrtrtrrrkkrrrrrrrrrrrrrrree 22
4.2 Tiền xử lý dữ liệu -2.2-+++2222211221122222111222212111112 2212111 ce 23 4.3 Sửa lỗi chính tả 222+2 22v 2211112222111 c.rxee 23
4.3.1 _ Tạo ứng viÊn c-cs St tư 23
Trang 74.3.2 — Sửa lỗi 2 2Q ST HH 1n T HH Hee rey 25 4.4 Tạo dit liệu đánh giá chứa lỗi chính tả độc hại -5- 55s =s+s2 29
Chương 5 THÍ NGHIEM VA KET QUẢ ¿©-2+22+£+£x+£kezkezrzrserxees 33
5.2 KẾt Quả SG-Sc Ct E1 1 1E 1112112112111 011111 1111111110111 11k 37
5.2.1 Sửa lỗi chính tả cho từ độc hại - ¿2-6 +x+x+x‡E+EeEeEeEerererrrs 37
5.2.2 _ Sửa lỗi chính tả cho từ độc hại như một bước tiền xử lý đầu vao 43Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIEN 2-5 sz+sz+se+x+ 46
Trang 8DANH MỤC HÌNH
Hình 1.1 Bad Word Filter PRO khi không có lỗi chính tả độc hại 3
Hình 1.2 Bad Word Filter PRO khi gặp lỗi chính tả độc hại ¿5s scsc+ 3
Hình 3.1 SVD (nguồn: Stanford UniverSity) -2¿5¿©5z+cx+2zxvzxeerxevrsersere 16Hình 3.2 Mô hình word2vec Skip-gram (nguồn: X Rong [15]) . - 18Hình 3.3 Mô hình word2vec CBOW (nguôn: X Rong [15]) -. -: 19Hình 4.1 Mô hình sửa lỗi chính tả tổng quát - - 2 2 + 2+E££E+£++£s+EzEred 22
Hình 4.2 Mô hình hóa công đoạn tạo Ứng VIÊN - 5 «xxx sseeseereeee 24
Hình 4.3 Mô hình hóa công đoạn sửa lỗi chính tả + - 255 2+s£2+x+£zz5+z 25
Hình 4.4 Mô hình hóa công đoạn tạo dữ liệu đánh giá chứa lỗi chính tả độc hại 31
Hình 5.1 Phân phối các lớp nhãn của bộ dữ liệu VLSP Hate Speech gốc 33Hình 5.2 Phân phối các lớp nhãn của bộ dữ liệu VLSP Hate Speech mới 34
Hình 5.3 Quy trình đánh gia mô hình Hate Speech Detection - - ‹ 43
Hình A.1 Giao diện công cụ sửa lỗi chính tả cho từ độc hại - eee 50
Hinh A.2 Két quả công cu sửa lỗi chính tả cho từ độc hại - ¿5 s55s+s+s 51
Trang 9Cac vi du vé 16i real-Word 0N - ÒỎ 8
Vi dụ về thao tác và KCCS với từ “dién” oeccececcccsscseccsscsesesssevsveeessveeeees 20
Các loại KCCS và các thao tác tương Ứng - «- «cssssssseeseeesees 20
Ví dụ về tiền xử lý dit liệu -2¿ 2 ++EE+EE£EEeEEEEEEEEEEEEerkrrkerreee 23Một vài ví dụ về các bình luận thuộc ba nhãn lớp - ««- 35
Phân phối chiều dài của các lỗi chính tả độc hại - - 5+: 36
Phân phối thao tác chỉnh sửa của các lỗi chính tả độc hại 36
Các kết quả sửa lỖi -¿- ¿5c SE SE E21 3E 191121121121 111111 21.11.1111 38Các kết quả sửa lỗi khi không có cải tiến trong công đoạn 39
0100805000177 40
Một số ví dụ sửa từ bình thường thành từ độc hại - 4ICác ví dụ sửa lỗi thành từ đồng nghĩa ¿2-5 2 2+sscxerxsce2 42Thống kê số lượng lỗi được sửa thành từ đồng nghĩa với từ mục tiêu 43Bảng 5.10 Hiệu suất của mô hình sửa lỗi sử dụng word2vec Skip-gram 44Bảng 5.11 Biến động hiệu suất của mô hình Hate Speech Detection 45
Trang 10DANH MỤC TU VIET TAT
Acc Accuracy
CBOW Continuous Bag of Words
DNN Deep Neural Network
FNR False Positive Rate
KCCS Khoang cach chinh sua
XLNNTN Xu lý ngôn ngữ tự nhiên
Trang 11TOM TAT KHÓA LUẬN
Sửa lỗi chính tả là bài toán có đầu vào là dữ liệu văn bản, và đầu ra là các từ sai lỗichính tả (nếu có) đã được sửa lỗi Trong đề tài này, chúng tôi tập trung sửa lỗi chính
tả cho các từ độc hại trong dữ liệu bình luận tiếng Việt Từ độc hại trong phạm vikhóa luận này là những từ ngữ nói tục, chửi thề, mang tính xúc phạm, gây hắn, thù
địch.
Mặc dù đã có công trình nghiên cứu về bài toán này trên dit liệu tiếng Anh, chưa cómột công trình nào nghiên cứu về bài toán này cho dữ liệu tiếng Việt Chính vì vậy,công trình của chúng tôi là công trình đầu tiên thử nghiệm bài toán này trên dữ liệutiếng Việt
Phương pháp sửa lỗi chính tả cho từ độc hại trong khóa luận này dựa trên Word
Embedding được tham khảo từ công trình của nhóm tác giả H Gong [1] đã được
thử nghiệm trên dữ liệu tiếng Anh Tuy nhiên, thay vì sử dụng mô hình word2vecCBOW như các tác giả, chúng tôi đề xuất sử dung mô hình word2vec Skip-gram vì
mô hình này hoạt động tốt hon và cho phép biểu diễn các từ hiếm gặp một cáchchính xác hơn Bên cạnh đó, chúng tôi cũng đề xuất thêm một cải tiễn mới trongthuật toán sửa lỗi chính tả mà chúng tôi sẽ trình bày chỉ tiết hơn trong phần phương
pháp thực hiện.
Dữ liệu mà chúng tôi sử dụng cho bài toán này là bộ dữ liệu Hate Speech của cuộc
thi VLSP Shared Task 2019 Tuy nhiên, bộ dữ liệu này chưa phải là dữ liệu chứa lỗi
chính tả độc hại phù hợp với yêu cầu của bài toán nên chúng tôi cũng đề xuất mộtcách tạo lỗi chính tả mang tính thực tế vào bộ dữ liệu này để có thể đánh giá đượcphương pháp sửa lỗi một cách khách quan và toàn diện hơn Cuối cùng, kết quả thínghiệm cho thấy mô hình sửa lỗi chính tả của chúng tôi cho bài toán này tốt hơncông cụ sửa lỗi chính tả của Google và thư viện Symspell đối với những từ độc hại
Trang 12Chương 1 MỞ ĐẦU
1.1 Đặt vẫn đề
Gần đây, với sự phát triển mạnh mẽ của internet va mạng xã hội, tình trạng một sỐngười dùng có những hành động như cố ý quấy rối, xúc phạm, đe doa, , đếnnhững người dùng khác ngày càng gia tăng và khó kiểm soát Dé khắc phục điều
đó, các nhà phát triển dịch vụ đã cố gang sử dung các bộ lọc để kiểm soát nội dungnhưng với sự tan công của một số người dùng có ý định xấu thì các bộ lọc này dễdàng bị qua mặt bởi các lỗi chính tả mà những người dùng này cố ý tạo ra Nhữnglỗi chính tả này được gọi là lỗi chính tả “độc hại” và đặc điểm chung của chúng là:
nhắm vào các từ khoá nhạy cảm mà bộ lọc sử dụng dé đưa ra quyết định dẫn đến
tình trạng rất nhiều câu qua mặt được bộ lọc Tuy nhiên, các từ sai chính tả này vẫn
truyền đạt được nội dung mà người tạo ra chúng mong muốn [2].
Bad Word Filter PRO!, một công cụ hữu ích có chức năng lọc những từ ngữ chửi
thề và nội dung xấu với 25 ngôn ngữ, cũng dễ dàng bị qua mặt bởi các lỗi chính tảđộc hại Lấy ví dụ với câu bình luận “Thằng chó chết”, nêu một trong hai từ khóanhạy cảm “chớ” hoặc “chế?” không bị viết sai chính ta, Bad Word Fiter có thé dédàng tìm được bad word là “chó chết” và gán câu bình luận này là câu chứa nộidung xấu (xem Hình 1.1) Tuy nhiên, nếu một trong hai từ “chớ” hoặc “chết” bị cốtình viết sai chính tả thành “cho” hoặc “chétt“, Bad Word Filter sẽ không thể tìmđược từ nào là bad word và kết quả là quyết định câu bình luận trên là một câu bình
thường (xem Hình 1.2).
Từ ví dụ ở trên chúng ta có thé thay duoc rang việc tích hợp một công cu sửa lỗichính tả cho các từ độc hại như một bước tiền xử ly đầu vào cho các hệ thống kiểmsoát mạng xã hội hay cụ thể hơn là các bộ lọc, bộ phân lớp, phát hiện nội dung xấu
là một điều thực sự rất cần thiết để ngăn chặn các lỗi chính tả độc hại đó qua mặtcác hệ thông và gây ảnh hưởng xấu đến những người dùng khác
! https://www.crosstales.com/media/data/assets/badwordfilter/webgl/ (ngày truy cập: 01/12/2020)
Trang 13Dé đáp ứng nhu cầu này này, nhóm tác giả H Gong [1] đã đề xuất một phương
pháp sửa lỗi chính tả cho các từ “độc hại” và phương pháp này được thử nghiệm
trên dữ liệu tiếng Anh Tuy nhiên, đối với dit liệu tiếng Việt, chưa có một công trìnhnào nghiên cứu về bài toán này, và đó chính là lí do mà chúng tôi đến với đề tài này.Tóm lại, bài toán mà chúng tôi trình bày trong luận văn này được phát biểu như sau:
e Đầu vào: là một câu tiếng Việt
e Đầu ra: là câu được sửa lỗi chính tả đối với những từ độc hại
Trang 141.2 Mục tiêu khóa luận
Vì chưa có một công trình nào nghiên cứu đề tài này cho tiếng Việt nên mục tiêu
chính của chúng tôi là nghiên cứu, cài đặt và đánh giá phương pháp sửa lỗi chính tả
cho từ độc hại sử dụng Word Embedding trên dữ liệu tiếng Việt
Song song với việc nghiên cứu phương pháp sửa lỗi chính tả cho từ độc hại, chúng
tôi còn đề xuất một cải tiến mới trong thuật toán sửa lỗi chính tả giúp nâng cao hiệusuất của phương pháp này Bên cạnh đó, chúng tôi còn thử nghiệm tính hiệu quả
của ba loại mô hình Word Embedding là fastText CBOW, word2vec CBOW và
word2vec Skip-gram đối với phương pháp sửa lỗi chính tả này
Tiệp theo, đê đánh giá độ hiệu quả của mô hình sửa lỗi chính tả cho từ độc hại,
chúng tôi thực hiện so sánh kết quả sửa lỗi của chúng tôi đôi với hai công cụ sửa lỗi chính tả: Google spell checker? và thư viện Symspell’.
Cuối cùng, dé chứng minh va nhấn mạnh lại mức độ cần thiết của bài toán, chúng
tôi tiễn hành đánh giá mô hình Hate Speech Detection trước và sau khi tích hợp bộ
sửa lỗi chính tả cho từ độc hại của chúng tôi ở công đoạn tiên xử lý dữ liệu.
1.3 Đối tượng và phạm vi nghiên cứu
1.3.1 Đối tượng
Việc nghiên cứu các lỗi chính tả độc hại trên dữ liệu tiếng Việt là một đối tượngquan trọng trong đề tài này, đây là cơ sở để có thể đề xuất các ứng viên sửa lỗichính tả một cách hợp lý, góp phần nâng cao độ chính xác sửa lỗi, giúp phục hồi các
từ độc hại hay còn gọi là các từ khóa mà các bộ lọc và các bộ phân lớp sử dụng dédua ra quyét dinh
Bên cạnh đó, nghiên cứu các lỗi chính tả độc hại cũng góp phan quan trọng trong
việc xác định các dạng lỗi và đê ra cách tạo dữ liệu lôi một cách tự động phục vụ
cho việc huấn luyện và kiểm thử phương pháp
? https://github.com/noahcoad/google-spell-check (rgày truy cập: 01/12/2020)
3 https://github.com/wolfgarbe/SymSpell (ngày truy cập: 01/12/2020)
Trang 151.3.2 Phạm vi nghiên cứu
Dữ liệu mà chúng tôi nghiên cứu trong phạm vi của đề tài này là bộ dữ liệu VLSPHate Speech 2019 Bộ dữ liệu này chứa các bình luận tiếng Việt với ba lop HATE,OFFENSIVE và CLEAN, sẽ được mô tả chỉ tiết trong phần thí nghiệm
Các mô hình Word Embedding được thử nghiệm cho phương pháp sửa lỗi chính tả
độc hại trong đề tài này bao gồm fastText CBOW, word2vec CBOW và word2vec
Skip-gram.
Công cụ được sử dụng đê so sánh với mô hình sửa lỗi chính tả cho từ độc hại của
chúng tôi là Google spell checker và thư viện Symspell.
Trong việc chứng minh độ cần thiết của sửa lỗi chính tả cho từ độc hại như mộtcông cụ tiền xử lý đầu vào, chúng tôi chỉ lay ngữ cảnh là Hate Speech Detection
1.4 Kết quả của đề tài
Nghiên cứu của chúng tôi đạt được các kết quả chính như sau:
e Cải tiến mới mà chúng tôi đề xuất trong phương pháp sửa lỗi chính ta cho từ
độc hại giúp nâng độ chính xác từ 75.0% F1-score lên 76.0% F1-score.
e_ Mô hình Word Embedding hiệu quả nhất cho phương pháp sửa lỗi chính ta
nay là word2vec Skip-gram với 76.0% Fl-score, theo sau là word2vec
CBOW 74.4% F1-score và fastText CBOW 69.6% Fl-score.
e Phương pháp sửa lỗi chính ta cho từ độc hai sử dung mô hình word2vec
Skip-gram kết hợp với cải tiễn của chúng tôi cho độ chính xác cao hon thuviện Symspell và Google spell checker Cụ thé, mô hình mà chúng tôi sử
dụng đạt được độ chính xác là 76.0% Fl-score, thư viện Symspell 72.0%
F1-score, và Google spell checker 52.6% F1-score.
e Sửa lỗi chính ta cho từ độc hại như một công cụ tiền xử ly đầu vào cho các
bộ phân lớp, hệ thống kiểm soát mạng xã hội là một điều thực sự rất cầnthiết Minh chứng với mô hình Hate Speech Detection: ban đầu mô hình này
có hiệu suất là 64.0% Fl-score, sau khi có sự xuất hiện của lỗi chính tả độc
Trang 16hại thì mô hình giảm xuống còn 42.0% Fl-score, và cuối cùng khi sử dụng
phương pháp sửa lỗi chính tả ở trên như một bước tiền xử lý đầu vào thì hiệu suất của mô hình Hate Speech Detection đã tăng lên thành 62.0% FI-score.
Từ những kết quả đạt được trong luận văn này, chúng tôi đã viết và gửi một bài báo
khoa học có tên là “Vietnamese Context-Sensitive Malicious Spelling Error
Correction” tới hội nghị 2020 7“ NAFOSTED Conference on Information and
Computer Schience (NICS) và đã được chấp nhận.
Trang 17Chương2 TONG QUAN
2.1 Sửa lỗi chính tả
Bài toán sửa lỗi chính tả thuần túy đã xuất hiện từ những năm 90 của thế kỷ XX
xuất phát từ những nhu cau cấp thiết của nó Trong các văn bản hành chính, sửa lỗi chính tả đóng vai trò quan trọng hàng dau vì những lỗi chính tả vô tinh có thé gây ra
sự nhằm lẫn và khó hiểu cho người đọc Đặc biệt, trong các email ứng tuyển VIỆC
làm, sai lỗi chính tả gây nên một ấn tượng rất xấu đối với các nhà tuyên dụng Thậm chí ở đời thường, việc nhắn tin qua lại mà viết sai chính tả cũng khiến cho những người cầu toàn (người mắc chứng OCD*) có cảm giác cực kỳ khó chịu Có thé thấy rằng, dù là ở bất kỳ hoàn cảnh nào, trang trọng hay không trang trọng thì nhu cầu sửa lỗi chính tả đều thật sự cần thiết.
Trong XLNNTN, sửa lỗi chính tả không chỉ đóng vai trò như những bài toán riêng
lẻ mà nó còn có chức năng tiền xử lý đầu vào hỗ trợ cho hau hết các bài toán khác
như: phân tích cú pháp, phân tích cảm xúc, dịch máy, Cho dù là bài toán chính
hay chỉ mang tính hỗ trợ, một hệ thống sửa lỗi chính tả thường bao gồm hai công
đoạn là: phát hiện lỗi và sửa lỗi Trong nhiều trường hợp, hệ thống không tự động
sửa lỗi và chỉ trả về kết quả cho người dùng, mà đề xuất ra những ứng viên sửa lỗi
để người dùng được lựa chọn cho đúng với ý định của mình Về các dạng lỗi chính
tả, theo như những nghiên cứu từ trước đến nay thì chúng được gói gọn lại trong hai
loại như sau:
e _ Lỗi non-word: là những từ không xuất hiện trong từ điển Ví dụ với câu văn
“Thằng chó chết, thì từ “chétt” là một lỗi non-word vì nó không xuất hiện trong từ điền, và từ đúng phải là từ “chế” Lỗi non-word thường là những lỗi typo (tức là những lỗi đánh máy) Người viết gây ra lỗi này vẫn nhận thức được đó là những lỗi sai chính tả.
¢ Lỗi real-word: là những từ có xuất hiện trong từ điển, nhưng xét về ngữ
cảnh của câu văn thì từ này bị dùng sai cách Ví dụ với câu văn “Nuôi xào
4 Obsessive Compusive Disorder
Trang 18bò”, thi từ “nuôi” là một lỗi real-word vì nó xuất hiện trong từ điển, nhưng
lai bi dùng sai ngữ cảnh, từ đúng phải là “nui” — một loại thức ăn (danh từ),
chứ không phải “nuôi” — nghĩa là “nuôi dưỡng” (động từ) Lỗi real-word
thường được sinh ra do sự khác biệt trong văn nói theo vùng miền Thườngthì người viết tạo ra những lỗi này một cách vô thức giống như nói sao thìviết vậy Họ không biết răng đó là những lỗi sai chính tả, hoặc thậm chí biếtnhưng không biết phải sửa như thế nào cho đúng Theo như quan sát, lỗireal-word lại được chia thành bốn loại thường gặp như trong Bang 2.1
Bảng 2.1 Các ví dụ về lỗi real-word
STT | Loại lỗi real-word Từ sai chính tả Tw đúng
1 Sai thanh điệu nghĩ ngơi nghỉ ngơi
2 Sai phụ âm đầu chanh giành tranh giành
3 Sai phụ âm cuối tắc điện tắt điện
4 Sai nguyên âm ở giữa thim vào thêm vào
2.2 Tình hình nghiên cứu
2.2.1 Tình hình nghiên cứu trên các thứ tiếng khác
Xuất hiện từ những năm 90 của thế kỷ XX thì tính tới thời điểm bây giờ, bài toánsửa lỗi chính tả nói chung đã đạt được những thành tựu nhất định Trong đó phải kế
đên các công trình sau đây:
e S Ghosh và P O Kristansson, 2017 [3] đã đề xuất sử dụng mô hình
Seq2Seq cho bài toán sửa lỗi và hoàn thành câu tự động trên dữ liệu tiếngAnh Điểm đặc biệt trong mô hình Seq2Seq này là ở phần encoder có sự kếthợp giữa hai mô hình mạng nơ-ron là CNN và GRU Kết quả cao nhất mà
công trình nay thu được là 98% Acc trên bộ dữ liệu Opensubtitles 2009.
Trang 19e P Gupta, 2020 [4] đã đề xuất một hệ thống sửa lỗi chính tả tự động với 24
ngôn ngữ (không bao gồm tiếng Việt) Hệ thống này được thiết kế sử dụngphương pháp N-gram để phát hiện và sửa lỗi chính tả, dùng thuật toánSymmetric Detete dé tôi ưu hóa thời gian thực thông qua các công đoạn tao
từ điển, lưu trữ và truy van Kết quả cao nhất mà công trình này thu được là
98% P@ 10.
e S Zhang và đồng sự, 2020 [5] đã đề xuất sử dụng mô hình Soft-Masked
BERT cho bài toán sửa lỗi chính tả trên tiếng Trung Kết quả cho thấy, Masked BERT hoàn toàn nổi trội hơn so với những mô hình BERT khác với80% Acc cho phần phát hiện lỗi và 77.4% Acc cho phần sửa lỗi trên bộ dữ
eS Hasan và đồng sự, 2015 [6] đã đề xuất phương pháp sửa lỗi chính tả cho
các câu truy vấn của người dùng trên miền dữ liệu thương mại điện tử tiếng
Anh.
e© K Balabaeva và đồng sự, 2020 [7] đã đề xuất phương pháp sửa lỗi chính tả
cho các hồ sơ lâm sàng trên miền dữ liệu y tế tiếng Nga
Trong bối cảnh các nền tảng mạng xã hội phát triển như ngày nay, những sự quấyrỗi, xúc phạm online đang ngày càng gia tăng và khó kiểm soát Mặc dù các nhàphát triển dịch vụ đã cố gắng sử dụng các bộ lọc dé kiểm soát những nội dung đónhưng những bộ lọc này lại dễ dàng bị qua mặt khi có sự xuất hiện của các lỗi chính
tả độc hai [8], [9] Dé giải quyết tinh trạng đó thì nhóm tác giả H Gong [1] đã déxuất một phương pháp sửa lỗi chính tả cho từ độc hại dựa trên Word Embedding vàphương pháp này được áp dụng trên dữ liệu tiếng Anh Kết quả mà công trình này
thu được là 84% Acc trên bộ dữ liệu Perspective và 78.6% Acc trên bộ dữ liệu Ling
Spam Công trình này của tác giả được công bố vào năm 2019 cho nên có lẽ vì vậy
Trang 20mà trên thế giới vẫn chưa có một công trình nào tiếp bước nghiên cứu về bài toán
này.
2.2.2 Tình hình nghiên cứu trên tiêng Việt
Số lượng các công trình nghiên cứu sửa lỗi chính tả nói chung trên tiếng Việt cònkhá khiêm tốn so với các thứ tiếng khác, đặc biệt là tiếng Anh Sau đây là một vài
công trình nghiên cứu mà chúng tôi đã khảo sát được:
e C.D V Hoang và đồng sự, 2012 [10] đã đề xuất một phương pháp sửa lỗi
chính tả cho các văn bản đầu ra của bài toán OCR* Kết quả cao nhất macông trình này thu được là 86% Acc cho phan phát hiện lỗi và 71% Acc chophan sửa lỗi
e H Nguyen và đồng sự, 2015 [11] đã đề xuất sử dụng mô hình N-gram dé sửa
lỗi chính tả cho dữ liệu tiếng Việt Mô hình N-gram này sử dụng một kho dữliệu lớn cho nên các tác giả cũng đề xuất một phương pháp nén dữ liệu hiệuquả giúp tiết kiệm bộ nhớ mà không làm mắt mát dữ liệu Kết quả cuối cùng
mà công trình này thu được là 94% F1-score.
e N.L Pham và đồng sự, 2019 [12] đã đề xuất một phương pháp sửa lỗi chính
tả ngữ pháp sử dụng dịch máy cho dữ liệu tiếng Việt tự thu thập Kết quả caonhất mà công trình nay thu được là 84.32% BLEU score với kiến trúc dịchmáy thống kê và 88.71% BLEU score với kiến trúc dịch máy nơ-ron
Theo như chúng tôi được biết, đối với tiếng Việt vẫn chưa thực sự có một bộ dữ liệunào được công bó dé phục vụ cho các bài toán sửa lỗi chính tả Đây cũng có thể là lí
do tại sao số lượng công trình nghiên cứu về sửa lỗi chính tả ở nước ta còn hạn chếnhư vậy Nói riêng về bài toán sửa lỗi chính tả cho từ độc hại, vẫn chưa có một
công trình nào nghiên cứu về bài toán này trên dữ liệu tiêng Việt.
5 Optical Character Recognition
10
Trang 212.3 Nhận xét
Bài toán sửa lỗi chính tả cho từ độc hại đã đạt được kết quả tốt trên dữ liệu tiếngAnh, tuy nhiên chưa thé kết luận bài toán nay cũng cho ra kết quả tốt trên dữ liệutiếng Việt Lí do là vì đặc thù ngôn ngữ của tiếng Việt khác tiếng Anh ở hai khíacạnh chính: từ ghép và các thanh điệu (dấu câu) Thêm vào đó, nhận thức được tầm
quan trọng của bài toán này, chúng tôi đã tự thôi thúc mình đi tìm lời giải đáp cho
bài toán này trên dữ liệu tiếng Việt
Về mặt dữ liệu, chúng ta có thể thấy rằng không chỉ mỗi tiếng Việt mới thiếu dữ
liệu phục vụ cho bài toán sửa lỗi chính tả (nói riêng là sửa lỗi chính tả cho từ độc
hại), mà tiếng Anh cũng vậy Chính vì sự thiếu dir liệu này mà trong công trìnhnghiên cứu của mình, nhóm tác giả H Gong cũng đã đề xuất một phương pháp tạolỗi chính tả cho từ độc hại bang một trong bốn thao tác chỉnh sửa: thêm, xóa, thaythé, hoán vị Ví dụ như với từ độc hại “điên” thì tác giả sẽ chọn ngẫu nhiên mộttrong các từ: “điênn”, “điể”, “điêm”, “dine”, dé thay thé cho tir do Tuy nhién, ta
có thé nhận thay rằng phương pháp tạo lỗi như vậy không mang tính thực tế Ví dunhư từ sai lỗi chính tả là “dié” hay “diné” thì người đọc nhìn vào sẽ không thể biếtđược nó có nghĩa là “dién’”’, ma nếu như vậy thì đã đi ngược với định nghĩa ban đầu
của bài toán này đó là: mặc dù là các lỗi sai chính tả nhưng người đọc vẫn hoàn
toàn có thé hiểu được, và việc sai chính tả như vậy thì không thé truyén dat duoc
nội dung tiêu cực mà người viết ra mong muốn — cũng là lí do mà người viết phải
cố tình che những từ tiêu cực đó bằng các lỗi chính tả để qua mặt bộ lọc Có thể banđầu chúng ta nhìn sơ qua thì thấy không có vấn đề gì bởi vì đối với máy tính thì lỗithực tế hay không thực tế cũng như nhau, tuy nhiên việc giả định như vậy là hoàntoàn sai lầm Lí do là vì trong thực tế, các lỗi chính tả độc hại thường được tạo rachủ yếu bằng thao tác thêm và thao tác thay thế Việc tạo ra những lỗi chính tảkhông đúng như thực tế sẽ gây ra việc đề xuất các ứng viên dựa theo KCCS mắc saisót, dẫn tới kết qua sửa lỗi có thé bị sai Chính vì li do đó, dé hỗ trợ cho việc thínghiệm và đánh giá phương pháp sửa lỗi chính tả cho từ độc hại trong đề tài này,
chúng tôi sẽ trình bày một phương pháp tạo lỗi chính tả mới cho từ độc hại Những
11
Trang 22lỗi chính tả này được trích xuất từ tập dữ liệu mà chúng tơi thu thập từ Youtube vàFacebook cho nên chúng mang tính thực tế hơn.
Về mặt phương pháp thực hiện, các phương pháp truyền thống chỉ sử dụng thơngtin KCCS như Nạve Bayes vẫn chưa đạt được kết quả khả quan cho bài tốn sửa lỗi
chính tả Lí do là bởi vi Naive Bayes chỉ đơn giản đề xuất ứng viên giống với từ sai
chính tả nhất về mặt hình thức và cĩ xác suất xuất hiện cao nhất trong bộ từ điển mà
khơng xét đến ngữ cảnh của câu N-gram thì cĩ thé tận dụng được thơng tin ngữcảnh nhưng lại địi hỏi chỉ phí lưu trữ và tính tốn rất cao Gần đây, với sự phát triểnmạnh mẽ của các mơ hình DNN, bài tốn sửa lỗi chính tả đã được giải quyết mộtcách rất hiệu quả Mặc dù vay, DNN cũng khơng phủ hợp với bai tốn sửa lỗi chính
tả cho từ độc hại vì dữ liệu các từ độc hại khơng đủ lớn dé mơ hình DNN cĩ théhuấn luyện được Trong khi đĩ, phương pháp sửa lỗi chính tả cho từ độc hại mànhĩm tác giả H Gong đề xuất đã ứng dụng được mơ hình Word Embedding Mơ
hình này tỏ ra hiệu quả khi cĩ thé vừa tận dụng được thơng tin ngữ cảnh của câu,
vừa địi hỏi chi phí lưu trữ và tính tốn thấp, lại vừa cĩ thé dé dàng tinh chỉnh vớilượng dữ liệu độc hại hạn chế
Tuy nhiên, phương pháp sửa lỗi chính tả mà tác giả sử dụng vẫn cịn một điểm hạnchế như sau: mặc dù thuật tốn này được thiết kế đề sửa lỗi chính tả cho từ độc hại,nhưng phần đề xuất ứng viên tác giả lại đề xuất cả những từ khơng độc hại, vậy thì
trong quá trình tính tốn độ phù hợp của ứng viên so với các từ ngữ cảnh xung
quanh, nếu các vector từ chưa được huấn luyện tốt sẽ dẫn đến việc tính tốn sai sĩt
và sửa những từ độc hại thành khơng độc hại Sau khi nghiên cứu một cách kỹ
lưỡng về vấn đề này, chúng tơi phát hiện ra rằng những sai sĩt này cĩ thể được ngănchặn bang cách: trước khi lựa chon ứng viên nào đĩ dé thay thé cho 16i sai chinh ta,chúng tơi sẽ kiểm tra xem nĩ cĩ phải là từ độc hai hay khơng, nếu nĩ là một từ độchại, chúng tơi sẽ tiến hành thay thế, cịn nếu khơng chúng tơi sẽ chỉ trả về câu ban
đâu.
12
Trang 23Cuối cùng, thay vì chỉ sử dụng duy nhất một mô hình Word Embedding làword2vec CBOW như tác giả, chúng tôi cũng muốn thử nghiệm nhiều hơn các môhình Word Embedding để so sánh xem mô hình nào là tốt nhất, là phù hợp nhất với
loại bài toán này.
13
Trang 24Chương 3 KIÊN THỨC NEN TANG
Ở chương này, chúng tôi xin được trình bày các kiến thức nền tảng dé thực hiện đềtài này bao gồm lý thuyết về Word Embedding (nhúng từ), cụ thể là mô hình
word2vec với hai kỹ thuật Skip-gram và CBOW Ngoài ra, chúng tôi cũng xin được
giới thiệu về khái niệm Edit distance (khoảng cách chỉnh sửa) — một khái niệmkhông thể thiếu trong các bài toán sửa lỗi chính tả
3.1 Nhúng từ
Word Embedding (nhúng từ) là tên gọi chung của các mô hình ngôn ngữ có chức
năng anh xạ các từ hoặc cụm từ sang các vector sỐ (thường là số thực) Việc ánh xạ,hay còn gọi là biểu diễn từ thành vector là một công đoạn cực kỳ quan trọng trongcác bài toán XLNNTN tai vì bat kỳ công cụ Machine Learning, Deep Learning naocũng chỉ có thé hiểu được đầu vào ở dang số Trong đó, Word Embedding chủ yếuđược phân thành hai loại: Count-based (dựa trên dém) và Prediction-based (dựa trên
Word-Document Matrix là dang đơn giản nhất của Count-based Embedding Giả sử
ta có D văn bản dụ, dạ, dz, , dp và N từ vựng m4, nạ, nạ, , Ny được trích xuất
từ D văn ban đó, vector v của từ n là một vector số nguyên có số chiều là D, mỗiphan tử i của v là số lần xuất hiện của từ n trong văn bản đ; Kết quả, ma trậnword-document sẽ có kích thước là N x D với mỗi phan tử tương ứng sẽ là vector
của các từ trong từ vựng N Vi dụ ta có hai văn bản d, và đ; như sau:
14
Trang 25d,: “Tom mày”
d,: “Bién di”
Từ hai văn ban này, ta xây dựng được bộ từ vung N là:
N = ["tởm", "mày", "biến", "đi"]
Ta suy ra được 1;z„ = [1,0] vì từ “tom” xuất hiện 1 lần trong d, và không xuất
hiện trong đ; Tương tự cho những từ khác.
Kết quả ta có ma trận word-document kích thước 4 x 2 như sau:
đó, vector v của từ n là một vector số nguyên nhưng bây giờ có số chiều là N và
mỗi phan tử i của v là số lần từ n và từ n; xuất hiện cùng nhau trong một phạm vi
cửa số cho trước Vậy ma trận co-occurrence sẽ là một ma trận vuông đối xứng có
kích thước là N x N, với mỗi phan tử tương ứng sẽ là là vector của các từ trong từ
vựng N Ví dụ với hai văn bản dạ và đ; như sau:
d,: “Xâu qua”
d;: “Công nhận xấu thật”
15
Trang 26Từ hai văn bản này, ta xây dựng được bộ từ vựng N là:
N = ["xau", "qua", "cong", "nhận", "thật" ]
Với kích thước cửa sô window size = 1, ta suy ra được 1xz„ = [0,1,0,1,1] vì từ
“xau” năm cạnh từ “quá”, từ “nhận”, và từ “that” Tương tự cho những từ khác.
Kết quả ta có ma trận word-document kích thước 5 x 5 như sau:
z A
xdau qua công nhận thật
Trong thực tế, số lượng từ vựng rat nhiều cho nên ta thường sử dụng kỹ thuật SVD°
dé cắt giảm kích thước của các vector từ nhằm tiết kiệm bộ nhớ lưu trữ nhưng đồngthời vẫn bảo tồn được mặt ngữ nghĩa của các vector từ đó Đặt ma trận A là ma trậnlưu trữ các vector ban đầu, sau khi áp dụng SVD, ta có thé phan tich duoc A =USVT va lay ma trận U làm ma trận kết quả (xem Hình 3.1)
Hình 3.1 SVD (nguồn: Stanford University)
Trang 273.1.2 Nhúng từ dựa trên dự đoán
Prediction-based Embedding (tạm dịch: nhúng từ dựa trên dự đoán) là phương pháp
xây dựng các vector từ dựa vào các mô hình dự đoán, tiểu biểu nhất chính làword2vec Mô hình này là một mạng no-ron hai lớp với duy nhất một tang an đượcphát triển bởi Tomas Milokov vào năm 2013 [13] [14] Hai kỹ thuật chủ yếu được
sử dụng dé huấn luyện mô hình word2vec là: Skip-gram và CBOW
Kỹ thuật Skip-gram giúp mô hình word2vec dự đoán xác suất của các từ ngữ cảnh
từ một từ trung tâm (xem Hình 3.2) Sau đây là một vài tính chất quan trọng của mô
hình word2vec Skip-gram:
e Input là một one-hot vector Tức là mỗi từ sẽ có dang [X1, xa, , „| với W là
số từ trong bộ từ vựng Phần tử của vector tại ví trí tương ứng với vị trí của
từ đó trong bộ từ vựng V sẽ có giá trị là 1, các phan tử còn lại sẽ bằng 0
e Giá trị N là số chiều đặc trưng của vector từ mà chúng ta mong muốn
e©_ Ma trận trọng số W„„„ là tập hợp các vector có số chiều N đại diện cho mỗi
từ trong bộ từ vựng V Đây cũng chính là bộ vector đích mà chúng ta muốn
học.
e Lớp ân không có hàm kích hoạt Lớp output có hàm kích hoạt là softmax
e Đầu ra của lớp output là một phân bố xác suất của mỗi từ trong bộ từ vựng
có khả năng là từ lân cận với từ đầu vào Nói cách khác, chúng cũng lànhững one-hot vector, nhưng bây giờ phần tử của vector tại ví trí tương ứngvới vị trí của từ đó trong bộ từ vựng V sẽ có giá trị là một xác suất nằm trongđoạn [0; 1] Tổng của các giá tri khác 0 duy nhất của các vector sẽ có giá tribang 1
Tiếp theo đây chúng tôi sé trình bày các bước dé xây dựng một bộ dữ liệu huấn
luyện đơn giản cho một mô hình word2vec Skip-gram Giả sử ta có hai đoạn văn
bản như sau:
d,: “Ngu từ thằng viết”
đ;: “Coi chừng tao”
17
Trang 28Tw hai văn bản này, ta xây dựng được bộ từ vựng V là:
nom, anon
V = ["ngu", "từ", "thang , "viết", "coi", chừng", "tao"]
Với window size = 1, ta xây dựng bộ dữ liệu huấn luyện có dạng (input, output) như
Sau: (“ngu”, “từ”, Œ ừ”, “ngu”), Œ ừ”, “thằng”), (“thang”, “từ”), (“thằng”, “viết, (“viết, “thằng”), (“coi”, “chimg”), (“chừng”, “coi”), (“chừng”, “tao”), (“tao”,
“chừng”).
Sau đó, ta mã hóa những cặp từ này về one-hot vector, ví dụ:
(“ngu”, “từ”) => ([1, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0])
Kết quả ta có được bộ dữ liệu huấn luyện với 10 điểm dữ liệu tương ứng cho 10 cặp
từ (input, output) như trên.
Output layer
y,
Input layer
V-dim
Hình 3.2 Mô hình word2vec Skip-gram (nguồn: X Rong [15])
Về kỹ thuật CBOW, kỹ thuật này ngược lại với Skip-gram, tức là lấy ngữ cảnh của một từ làm đầu vào và cô gắng dự đoán từ tương ứng với ngữ cảnh đó (xem Hình
3.3).
18
Trang 29lì Input layer
\
Output layer
Hình 3.3 Mô hình word2vec CROW (nguồn: X Rong [15])
Theo Mikolov, Skip-gram hoạt động tốt hơn với lượng dữ liệu nhỏ và biểu diễn các
từ hiếm tốt hơn Trong khi đó, CBOW lại cho thấy tốc độ huấn luyện nhanh hơn và biểu diễn tốt hơn với những từ có tần suất xuất hiện nhiều.
Tuy nhiên, word2vec vẫn có một nhược điểm là nó không thể biểu diễn được những
từ chưa xuất hiện trong dữ liệu huấn luyện Để khắc phục điều này, vào năm 2016, Facebook đã phát triển một phiên bản mở rộng của word2vec có tên là fastText
[16] Thay vì huấn luyện ở cấp độ từ giống như word2vec, fastText thực hiện huấn
luyện trên cấp độ ký tự Mỗi một từ sẽ được biểu diễn bằng một túi các n-gram, ví
dụ như từ “thang”, với n=3, biểu diễn fastText của nó sẽ là tổng của ba chuỗi con
<*“thề, “han”, “dng’> Vậy nếu từ “hẳn” là một từ chưa xuất hiện trong bộ từ vung, nó van sẽ được biểu diễn thông qua chuỗi con <“hdn”> của từ “thang” Hay nói cách khác, chỉ cần những từ ngắn chưa xuất hiện trong dữ liệu huấn luyện đó là n-gram của các từ mà đã xuất hiện trong bộ dữ liệu huấn luyện thì fastText đều có thể biểu diễn được.
19
Trang 303.2 Khoảng cách chỉnh sửa
Trong các phần sau chúng tôi sẽ đề cập nhiều đến cụm từ KCCS, vậy đề tránh gây
ra sự mơ hồ hay nhằm lẫn, tiếp theo đây chúng tôi xin được làm rõ khái niệm này.
Trong khoa học máy tính và ngôn ngữ học tính toán, KCCS — khoảng cách chỉnh
sửa (edit distance) là một cách thé hiện sự khác biệt giữa hai chuỗi ký tự, chúng
được định nghĩa là số lượng thao tác tối thiểu dùng dé biến đổi từ chuỗi ký tự này sang chuỗi ký tự khác Các thao tác đó có thê là: thêm, xóa, thay thế, hoặc hoán vị hai ký tự đứng gần nhau Xem một ví dụ minh họa về bốn thao tác trên với từ
“điên” ở Bảng 3.1.
Bảng 3.1 Ví dụ về thao tác và KCCS với từ “điên”
Thao tác thêm xóa thay thế hoán vi
Kết quả điênn điê điêm đinê
Khoảng cách 1 1 1 2
Tuy nhiên, không phải loại KCCS nao cũng bao gồm cả bốn thao tác như ở trên Theo Wikipedia’, có 5 loại KCCS tương ứng với các thao tác như sau:
Bảng 3.2 Các loại KCCS và các thao tác tương ứng
Thêm Xóa Thay thế | Hoán vị
Trang 31Trong luận văn này, KCCS mà chúng tôi đề cập đến là Damerau-Levenshtein
distance Khoảng cách này được đặt theo tên của hai nhà khoa học là Damerau® và
Levenshtein’ Điểm khác biệt giữa khoảng cách Damerau-Levenshtein so với khoảng cách Levenshtein cổ điển là nó bao gồm thêm cả thao tác hoán vị.
Š Frederick J Damerau (1931 — 2009): Nhà khoa học người Mỹ đi đầu trong lĩnh vực xử lý ngôn ngữ tự
nhiên và khai thác dữ liệu.
° Vladimir I Levenshtain (1935 — 2017): Nhà khoa học người Nga nghiên cứu về lý thuyết thông tin, mã sửa lỗi và thiết kế tổ hợp.
21
Trang 32Chương 4 PHƯƠNG PHÁP
Ở trong chương này, chúng tôi trình bày một cách chỉ tiết phương pháp sửa lỗi
chính tả cho từ độc hại mà chúng tôi đã sử dụng cho bài toán này Bên cạnh đó,
chúng tôi cũng trình bay phương pháp tạo lỗi chính tả độc hại một cách tự động cho
bộ dit liệu VLSP Hate Speech dé phục vụ cho các thí nghiệm trong phan sau
——T— Word2vec Lay ứng viên top 1
[Chon từ có ts cao trong lớp HATE và OFFENSIVE
nhưng ts thắp trong lớp CLEAN
Thống kê tan suất
Trang 334.2 Tiền xử lý dữ liệu
Trong các bài toán XLNNTN, một công đoạn không thể thiếu trước khi bắt tay vàophần phương pháp cụ thé đó chính là tiền xử lý dữ liệu Đối với loại đữ liệu bìnhluận trên mạng mã hội, đối tượng người dùng vô cùng đa dạng với vô số các kiểubình luận và chấm câu Do đó, trước khi đi vào sửa lỗi chính tả, chúng tôi phải
thực hiện tiên xử lý dữ liệu với các bước như sau:
e Chuyên tat cả các bình luận sang chữ thường
e Loại bỏ các ký tự trăng đâu và cuôi mỗi bình luận
e© Loại bỏ các ký tự số, ký tự đặc biệt, các khoảng trắng thừa, và các thẻ tag
html, css,
Bảng 4.1 Ví dụ về tiền xử lý đữ liệuSTT Binh luận gốc Bình luận đã qua tiền xử lý
1 "Than là củ cải mà tưởng mình là nhân | thân là củ cải mà tưởng mình là
sâm Sống không có tâm thì đừng rao nhân sâm sống không có tâm thì
giảng dao duc" <URL> \? đừng rao giảng dao đức
2 Nai Tân khốn nạn vl nại tân khốn nạn vl
3 Bồ mày kh xinh bố mày kh xinh
4.3 Sửa lỗi chính tả
Phương pháp sửa lỗi chính tả mà chúng tôi sử dụng được tham khảo từ bài báo gốccủa nhóm tác giả H Gong [1] Phương pháp sửa lỗi chính tả này bao gồm hai côngđoạn chính: tao ứng viên và sửa lỗi Cải tiến mà chúng tôi đề xuất cho phương phápcũng sẽ được trình bày song song trong phần này
4.3.1 Tạo ứng viên
Đầu tiên, chúng tôi xây dựng một tập từ vựng lớn bao gồm các từ độc hại và cảnhững từ bình thường Dé xây dựng được bộ dir liệu này, chúng tôi sử dụng tập dữliệu huấn luyện của bộ VLSP Hate Speech và tập dữ liệu mà chúng tôi thu thập
được từ trang web VnExpress!” trong vòng 5 năm trở lại đây với 12 lĩnh vực: đời
!9 https://vnexpress.net/ (ngày truy cập: 02/09/2020)
23
Trang 34sống, giải trí, khoa học, pháp luật, sức khỏe, thể thao, du lịch, giáo dục, kinh doanh,
số hóa, thé giới, và thời sự
Đối với mỗi câu bình luận trong tập dữ liệu kiểm thử, nếu một từ nào đó không xuất
hiện trong bộ từ vựng lớn này thì khả năng cao đó là từ sai chính tả Với mỗi một từ
sai lỗi chính tả ở trên, chúng tôi tiễn hành đề xuất các ứng viên ở trong bộ từ vựnglớn và các ứng viên này tương tự với từ sai chính tả về mặt hình thức, trong trườnghợp này là KCCS < 3 Tiếp theo chúng tôi trích xuất các từ ngữ cảnh của từ saichính tả để phục vụ cho công đoạn tiếp theo Trong đó, các từ ngữ cảnh là các từ
năm xung quanh từ sai chính tả trong câu.
Câu đầu vào
Hình 4.2 Mô hình hóa công đoạn tạo ứng viên
24