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

Khóa luận tốt nghiệp Khoa học máy tính: Sửa lỗi chính tả cho từ độc hại trong bình luận tiếng Việt

68 1 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 đề Sửa lỗi chính tả cho từ độc hại trong bình luận tiếng Việt
Tác giả Đào Phước Bản, Nguyên Thùy Linh
Người hướng dẫn TS. Nguyễn Lưu Thùy Ngân
Trường học Trường Đại học Công nghệ Thông tin, Đạ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 Khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 68
Dung lượng 40,2 MB

Nội dung

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 3

DANH 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 4

LỜ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 5

Bê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 6

Chươ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 7

4.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 8

DANH 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 9

Cac 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 10

DANH 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 11

TOM 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 12

Chươ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 13

Dé đá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 14

1.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 15

1.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 16

hạ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 17

Chươ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 18

bò”, 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 19

e 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 20

mà 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 21

2.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 22

lỗ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 23

Cuố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 24

Chươ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 25

d,: “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 26

Từ 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 27

3.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 28

Tw 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 29

lì 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 30

3.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 31

Trong 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 32

Chươ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 33

4.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 34

số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

Ngày đăng: 02/10/2024, 04:40

TỪ KHÓA LIÊN QUAN