CHƯƠNG 1: GIỚI THIỆU CHUNG 1. Giới thiệu chung Hiện nay, chữ Quốc ngữ là phương tiện biểu đạt tư tưởng, tình cảm trong giao tiếp và tư duy của dân tộc Việt Nam. Chữ viết là một hình thức tồn tại của ngôn ngữ, qua chữ viết thể hiện được những nét văn hoá đặc sắc của cá nhân và cộng đồng. Thực trạng vấn đề chính tả trong văn bản tiếng Việt hiện nay là thiếu thống nhất, đặc biệt là trên các phương tiện thông tin truyền thông, trong các văn bản hành chính,.
đã làm mất đi vẻ đẹp trong sáng của tiếng Việt. Một số vấn đề ảnh hưởng tới chữ viết như: ngôn ngữ âm thanh lệch chuẩn ở một số vùng dân cư dẫn đến tình trạng sai chữ viết, một bộ phận giới trẻ sử dụng các ký hiệu riêng kèm theo chữ viết trên mạng xã hội và tin nhắn làm cho sai lệch tiếng Việt, lỗi đánh máy trong các văn bản hành chính,. Khi công nghệ thông tin ngày càng phát triển, lĩnh vực trí tuệ nhân tạo phát triển một cách mạnh mẽ, các bài toán về xử lý ngôn ngữ tự nhiên đã được ứng dụng rộng rãi. Khi ứng dụng cho các bài toán xử lý ngôn ngữ tiếng Việt, vấn đề ảnh hưởng lớn đến độ chính xác của mô hình là dữ liệu.
Hiện nay, bộ dữ liệu cho các bài toán xử lý ngôn ngữ tự nhiên không nhiều hoặc đa số các bộ dữ liệu chưa được chuẩn hoá. Do đó, kết quả của những nghiên cứu về ngôn ngữ tiếng Việt chưa đạt được kết quả tốt nhất. Để giải quyết vấn đề này, các nghiên cứu về sửa lỗi chính tả trong văn bản tiếng Việt sử dụng các phương pháp học máy đang được nhiều nhà khoa học quan tâm và nghiên cứu. Tuy nhiên, do tiếng Việt là ngôn ngữ khó và chưa có những bộ dữ liệu tốt nên hiện tại các nghiên cứu còn hạn chế và chưa đạt được kết quả cao.
Do đó, trong nghiên cứu này, tôi quyết định chọn đề tài “Nghiên cứu thuật toán sửa lỗi chính tả cho văn bản tiếng Việt”. Mô tả bài toán Bài toán được định nghĩa như sau: Cho một câu văn, đoạn văn tiếng Việt. Tìm và sửa các từ sai chính tả trong văn bản. Do ngôn ngữ tiếng Việt phong phú cả về ngữ và nghĩa nên việc kiểm tra lỗi chính tả tổng quát là việc khá khó khăn.
Do vậy đề tài này chỉ giới hạn kiểm tra lỗi chính tả trong các văn bản hành chính, các từ phổ thông và ở mức từ vựng. Về lỗi chính tả trong văn bản tiếng Việt khá đa dạng cả về mặt hình thức và ngữ nghĩa. Có hai loại lỗi chính là: 1 ● Lỗi nhập dữ liệu sai: Lỗi gõ thiếu chữ, gõ thừa chữ, gõ nhầm vị trí các chữ cái, gõ nhầm bằng một chữ cái khác liền kề, sai sót bộ gõ tiếng Việt ● Lỗi sai ngữ nghĩa: Lỗi sai các chữ cái hoặc vần có cùng phát âm, sai từ do dùng từ không phù hợp hoặc từ địa phương. Giả sử, nếu từ bị sai chính tả thì chỉ bị một trong các lỗi được liệt kê ở trên (một từ chỉ sai một lỗi chính tả).
Nghĩa là không xét trường hợp một từ bị sai do có nhiều hơn một lỗi đã nêu và giả định người dùng chỉ sử dụng một cách gõ tiếng Việt là Telex. Phân tích bài toán Kiểm tra lỗi chính tả trong một câu văn, xét từ quan điểm tin học là một bài toán khó. Khó bởi vì ngôn ngữ là một phần quan trọng của đời sống xã hội, ngôn ngữ dùng để diễn đạt suy nghĩ, truyền tải thông tin, nên nó chứa đựng một khối lượng tri thức rất lớn. Để xử lý ngôn ngữ tự nhiên một cách hợp lý, đúng đắn đòi hỏi phải có tri thức nhất định.
Do đó, việc giải quyết bài toán tìm và sửa lỗi chính tả bằng máy tính khá khó khăn. Sửa lỗi chính tả đã được mở rộng để phát hiện những lỗi khác trong văn bản như lỗi cú pháp, lỗi từ vựng,. Thông thường những lỗi từ vựng thường được nhầm với lỗi chính tả, buộc chương trình tìm và sửa lỗi chính tả phải phát hiện cả lỗi từ vựng. Đây là một vấn đề khó vì để bắt lỗi từ vựng, đôi khi cần phải hiểu nội dung ngữ cảnh của câu văn.
Đối với ngôn ngữ tiếng Việt cũng như một số ngôn ngữ châu Á khác, một từ có thể không tương ứng với một tiếng trên văn bản. Đối với ngôn ngữ tiếng Anh, có thể dễ dàng nhận ra một từ do các từ được phân cách nhau bởi khoảng trắng. Điều đó không được áp dụng trong tiếng Việt, chỉ các tiếng được phân tách nhau bởi khoảng trắng và một từ có thể được tạo ra từ hai hoặc nhiều tiếng. Hướng giải quyết Trong sinh hoạt hàng ngày, cử chỉ tay người rất đa dạng và có thể thay đổi trong các ngữ cảnh khác nhau, các kỹ thuật nhận dạng cử chỉ có thể áp dụng thành công trong bài toán này nhưng chưa chắc đã thành công trong trường hợp khác.
Bài toán tìm và sửa lỗi chính tả đã được nghiên cứu, tìm hiểu từ lâu. Tuy nhiên đa số những nghiên cứu đó tập trung vào các ngôn ngữ phổ biến ở châu Âu, đặc biệt là tiếng Anh. Trong khi đó các ngôn ngữ châu Á, đặc biệt là tiếng Việt, có những đặc trưng riêng, đặt ra nhiều thách thức mới. Bài toán sửa lỗi chính tả trong các văn bản có ngôn ngữ châu Á như tiếng Trung Quốc, tiếng Hàn Quốc, tiếng Nhật Bản và tiếng Việt mới bắt đầu được nghiên cứu gần đây.
Đối với ngôn ngữ tiếng Anh, cách giải quyết đơn giản là dựa vào từ điển, nếu một từ trong văn bản không có trong từ điển thì có nghĩa đó là từ sai. Còn đối với 2 các ngôn ngữ châu Á trong đó có tiếng Việt nếu chỉ dựa vào từ điển sẽ không thể giải quyết được bài toán, do có thể từ xuất hiện trong văn bản có trong từ điển tuy nhiên từ đó là lỗi do thiếu dấu. Các giải pháp cho ngôn ngữ châu Á dựa trên ý tưởng áp dụng tập nhầm lẫn để đưa ra các từ gần đúng, sau đó sử dụng mô hình ngôn ngữ để định lượng, xác định xem từ nào là từ đúng nhất. Đề tài này tôi đưa ra một bộ dữ liệu dùng để huấn luyện mô hình và sử dụng mô hình học máy để huấn luyện để có thể sửa lỗi chính tả ngay khi nhập câu đầu vào.
Các kỹ thuật đề xuất Trong luận văn này, tôi muốn đánh giá hiệu suất của mô hình Transformer trong việc sửa lỗi chính tả trong văn bản tiếng Việt với một bộ dữ liệu tự xây dựng. Trong phương pháp có một số đóng góp chính là: ● Bài toán giải quyết đa dạng các lỗi chính tả trong tiếng Việt nên tôi xây dựng một bộ dữ liệu về các lỗi trong tiếng Việt. Hơn nữa, tôi sử dụng các kỹ thuật tiền xử lý để giúp mô hình đạt được kết quả tốt nhất. ● Tôi sử dụng mô hình dịch máy cơ bản (Machine translation-based) [10] để làm kiến trúc cơ sở để giải quyết bài toán sửa lỗi chính tả tiếng Việt.
Tôi sử dụng mô hình Transformer và chứng minh được sự hiệu quả của mô hình Transformer so với mô hình LSTM. Và trong thời điểm này, theo như tôi tìm hiểu thì đây là lần đầu tiên mô hình Transformer được áp dụng cho bài toán sửa lỗi chính tả trong tiếng Việt. Những nghiên cứu liên quan Hiện tại, trên thế giới đã có khá nhiều nghiên cứu liên quan đến các thuật toán sửa lỗi chính tả. Một cách tiếp cận điển hình cho bài toán sửa lỗi chính tả là dựa vào từ điển để tìm kiếm những từ không có trong từ điển là từ lỗi và sửa lỗi bằng cách dựa vào các từ ngữ cảnh bên cạnh.
Trong [1] tác giả thay thế một từ sai chính tả bằng một từ trong từ điển phù hợp nhất với từ bị lỗi chính tả, mức độ phù hợp được tính bằng cách sử dụng hệ số tương tự giữa từ được sửa với 3 từ liền kề. Tác giả trong [2] cũng đã giải quyết sửa lỗi chính tả dựa vào ngữ cảnh. Tác giả đã xây dựng một bộ dữ liệu mới được chia thành 10 chủ đề và tính toán số lần xuất hiện của mỗi từ trong ngữ cảnh để xác định mức độ liên quan của mỗi từ. Nghiên cứu này dựa vào ngữ cảnh để xác định các từ bị lỗi chính tả cho ngôn ngữ tiếng Ả Rập.
Theo nghiên cứu [3] tác giả cũng đã dựa vào ngữ cảnh để sửa lỗi chính tả cho văn bản. Trong bài báo, tác giả đã sử dụng mô hình word2vec CBOW để huấn luyện trong việc chuyển từ một từ thành một vec-tơ bằng việc sử dụng bộ dữ liệu WikiCorpus. Sau đó, mô hình được huấn luyện để sửa lỗi chính tả trong văn bản 3 dựa vào ngữ cảnh, bằng việc tính toán sự phù hợp giữa các từ cạnh nhau. Trong bài báo [4], tác giả sử dụng mô hình học sâu để sửa lỗi chính tả trong văn bản tiếng Anh và tập trung vào các lỗi bị sai có thể xác định bằng mắt.
Trong nghiên cứu, tác giả đã sử dụng các mô hình ngôn ngữ để giải quyết bài toán, tác gỉả sử dụng dữ liệu được pre-trainning của Google Brain và thay đổi các tính xác suất của từ được gán nhãn <MASK>. Trong bài báo [4], tác giả đề xuất giải pháp cho sửa lỗi chính tả tiếng Việt sử dụng mô hình N-grams. Mô hình sử dụng phương pháp thống kê để lựa chọn tiếng đúng nhất trong một tập các từ liên quan (bao gồm các tiếng có thể đúng trong ngữ cảnh). Hạn chế của phương pháp này là chỉ sửa những từ sai bằng cách dựa vào các từ bên cạnh mà không dựa vào nội dung ngữ cảnh của cả câu.
Và yêu cầu thiết yếu của phương pháp này là phải có một bộ từ điển đủ lớn và đa dạng để có thể tạo ra tập các từ liên quan chính xác nhất. Trong những năm gần đây, mô hình Sequence to sequence (Seq2seq) [5] được ứng dụng nhiều trong các mô hình ngôn ngữ, là một mô hình cơ bản của học sâu - một nhánh của học máy và đã đạt được rất nhiều thành tựu ấn tượng trong các lĩnh vực như là: mô hình đối thoại, dịch ngôn ngữ, chú thích hình ảnh, và tóm tắt văn bản,. Trong nghiên cứu [6], tác giả đã nghiên cứu về hai cách tiếp cận dựa vào dịch máy cho vấn đề sửa lỗi dấu phụ trong tiếng Việt. Mô hình Seq2seq đã chứng minh có được hiệu quả tốt trong vấn đề sửa lỗi dấu phụ.
Tuy nhiên, nghiên cứu chỉ tập trung trong việc sửa lỗi dấu phụ, thuật toán không được ứng dụng cho các lỗi khác.