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

Xây dựng phương pháp kiểm lỗi chính tả tiếng việt sử dụng mô hình từ điển

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 (2.52 MB, 14 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
ĐỀ TÀI NCKH CẤP TRƯỜNG
XÂY DỰNG PHƯƠNG PHÁP KIỂM LỖI CHÍNH TẢ
TIẾNG VIỆT SỬ DỤNG MÔ HÌNH TỪ ĐIỂN
MÃ SỐ: T2010 - 40
NGƯỜI CHỦ TRÌ: Th.S MAI TUẤN KHÔI
THÀNH PHỐ HỒ CHÍ MINH, THÁNG 11/2010
S K C 0 0 3 0 3 3

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HCM











ĐỀ TÀI NCKH CẤP TRƯỜNG
XÂY DỰNG PHƯƠNG PHÁP KIỂM LỖI CHÍNH TẢ
TIẾNG VIỆT SỬ DỤNG MÔ HÌNH TỪ ĐIỂN







MÃ SỐ: T2010-40







THUỘC NHÓM NGÀNH : KHOA HỌC KỸ THUẬT
NGƯỜI CHỦ TRÌ : THS. MAI TUẤN KHÔI
NGƯỜI THAM GIA :
ĐƠN VỊ : KHOA CÔNG NGHỆ THÔNG TIN










TP. HỒ CHÍ MINH – 11/2010

1
MỤC LỤC

MỤC LỤC 1

TÓM TẮT ĐỀ TÀI 3
Mục tiêu của đề tài 3
Những cơ sở để xây dựng đề tài 3
Phương pháp tiếp cận 3
Những kết quả đạt được 4
Phần 1 ĐẶT VẤN ĐỀ 5
1.1 Đối tượng nghiên cứu 5
1.2 Tổng quan tình hình nghiên cứu 5
1.2.1 Các nghiên cứu của nước ngoài về vấn đề kiểm lỗi chính tả 5
1.2.2 Các nghiên cứu trong nước về vấn đề kiểm lỗi chính tả 10
1.3 Những vấn đề còn tồn tại 11
Phần 2 Các phương pháp thực hiện chi tiết 13
2.1 Mục đích của đề tài 13
2.2 Phương pháp nghiên cứu 13
2.3 Nội dung 13
2.3.1 Dựa trên luật cấu tạo âm tiết tiếng Việt 13
2.3.2 Sử dụng thuật toán minimum Edit Distance: 16
2.3.3 Sử dụng cấu trúc Finite State Transducer 16
2.4 Kết quả đạt được 24
2.4.1 Tính khoa học 24
2.4.2 Khả năng triển khai ứng dụng vào thực tế 24
2.4.3 Hiệu quả kinh tế - xã hội 25
2
2.4.4 Sản phẩm 25
2.5 Đánh giá 28
2.6 Kết luận 32
Phần 3 Tổng kết 33
3.1 Tổng kết 33
3.2 Hướng phát triển 33
TÀI LIỆU THAM KHẢO 35

MỤC LỤC BẢNG BIỂU
Bảng 2-1 Cấu trúc file XML dựa trên luật cấu tạo âm tiết 15
Bảng 2-2 Thuật toán tách câu 22
Bảng 2-3 Thuật toán thay thế 23
Bảng 2-4 Quy trình kiểm tra chính tả 24
Bảng 2-5 Các nút chức năng trong chương trình 27
Bảng 2-6 Đánh giá các chức năng đạt được 28
Bảng 2-7 So sánh với VietSpell 32
MỤC LỤC HÌNH
Hình 1-1 Sơ đồ dò tìm lỗi bằng ma trận tiếng nhầm lẫn 8
Hình 2-1 Giao diện chính 26
Hình 2-2 Cửa sổ tuỳ chọn 27
Hình 2-3 Cửa sổ danh sách từ nước ngoài 28

3
TÓM TẮT ĐỀ TÀI
Mục tiêu của đề tài
Hiện nay đã có một số phần mềm kiểm tra chính tả tiếng Việt đã ra mắt, tuy
nhiên các nhà cung cấp đã không thể trụ được trên thò trường do các sản phẩmù chưa
thực sự đạt được hiệu quả như người dùng mong muốn.
Mục tiêu của tác giả là xây dựng một phần mềm kiểm tra chính tả tiếng Việt có
khả năng phát hiện lỗi chính tả tốt và cung cấp phục vụ cộng đồng.
Những cơ sở để xây dựng đề tài
Ở Việt Nam, trung bình số người sử dụng máy tính và truy cập internet tăng đột
biến trong các năm gần đây. Các văn bản viết tay ngày càng ít đi và thay vào đó là các
tập tin văn bản được lưu trữ trên ổ đóa cứng.
C# là ngôn ngữ lập trình mà tác giả sử dụng để phát triển ứng dụng minh hoạ trên
nền tảng .Net Framework 2.0. Môi trường soạn thảo văn bản được sử dụng là Microsoft
Word 2007. Trong quá trình xây dựng, tác giả cũng nhận được rất nhiều ý kiến đóng
góp cũng như hỗ trợ từ phía những người quan tâm đến vấn đề chính tả tiếng Việt.

Phương pháp tiếp cận
Phương pháp tiếp cận của tác giả là dựa trên tư tưởng vét cạn do tác giả đề xuất.
Tức là từ một từ được xem là đúng chính tả, tác giả sẽ phát sinh và lưu trữ lại tất cả các
trường hợp bò sai chính tả có thể có của từ đó. Sau này khi gặp một từ có dạng sai tương
tự như trường hợp đã lưu trữ, chương trình sẽ báo là có lỗi và đưa ra gợi ý là từ gốc của
từ đó.
Bộ từ điển được tạo ra dựa trên quy trình tạo từ điển do giáo viên hướng dẫn đưa
ra, quy trình đó cụ thể sẽ được trình bày chi tiết ở chương 4 các phương pháp thực hiện
chi tiết.
Chương trình sử dụng một số thư viện có sẵn của bộ Visual Studio.Net 2005 và
thêm vào các xử lý của tác giả để thực hiện các công việc theo quy trình kiểm lỗi chính
tả do tác giả đề xuất, chi tiết cũng được trình bày ở Phần 2 “các phương pháp thực hiện
chi tiết”.
4
Những kết quả đạt được
Tác giả đã xây dựng xong bộ từ điển theo cấu trúc Finite State Recognition dành
cho từ đơn có nghóa, từ đơn tham gia cấu tạo từ ghép, từ ghép có chiều dài hai, ba,
bốn, n chữ. Ngoài ra, bộ từ điển cũng cho biết một từ không có trong từ điển sẽ là
trường hợp sai của từ nào, điều này sẽ giúp cho việc cài đặt thuận lợi hơn trong việc
gợi ý cho người dùng sửa lỗi khi gặp trường hợp sai.
Dựa trên bộ từ điển xây dựng được, nhóm đã xây dựng một ứng dụng có thể nhúng
vào MSWord để kiểm tra lỗi chính tả. Chương trình có những chức năng sau đây:
 Đưa ra gợi ý trên mỗi từ mà chương trình nghi ngờ sai lỗi chính tả, người
dùng có quyền chấp nhận sửa từ hoặc bỏ qua từ đó.
 Nếu gặp một từ nước ngoài hoặc viết tắt, chương trình sẽ vẫn nghi ngờ sai
nếu không có trong thư viện từ nước ngoài, người dùng có quyền thêm từ
này vào thư viện từ nước ngoài để bỏ qua nếu gặp từ này lần tiếp theo.
 Cũng tương tự với các thuật ngữ của các chuyên ngành khác nhau, nếu các
từ không thuộc từ điển (của chương trình), chương trình sẽ làm tương tự như
đối với một từ nước ngoài.

 Chương trình sẽ không phải xây dựng lại khi có thêm các từ mới được bổ
sung vào từ điển. Do vậy sau một thời gian thử nghiệm, chương trình sẽ cập
nhật thêm các từ không có trong từ điển (của chương trình) để chương trình
có thể bắt lỗi tốt hơn.
 Chương trình bắt và sửa được những lỗi về vật lý – những lỗi sai chính tả
hoàn toàn, ví dụ chuwowng – và đưa ra từ gợi ý chính xác hoặc các gần
đúng nhất để người dùng có thể dựa vào đó sửa cho phù hợp.
 Chương trình bắt được các lỗi về logic – lỗi mà nếu xét từng từ đơn thì nó
đúng chính tả, nhưng khi đi chung với nhau lại sai chính tả, ví dụ trương
chình – mà dữ liệu đã được lưu trữ cũng như một số trường hợp gần đúng
mà dữ liệu chưa có lưu trữ.
 Chương trình có thể bổ sung ngữ liệu và thay thế ngữ liệu một cách độc lập
hoàn toàn với chương trình.
 Độ dài của một cụm từ chương trình có thể bắt và sửa lỗi là không giới hạn.
 Sửa được hết toàn bộ các lỗi trên mức từ và các nhập nhằng trong cả 59
trường hợp sai lỗi chính tả trong cuốn từ điển chính tả tiếng Việt của Giáo
sư Nguyễn Như Ý đã đề cập đến và một số lỗi thường gặp khác.
5
Phần 1 ĐẶT VẤN ĐỀ
1.1 Đối tượng nghiên cứu
Máy vi tính đã đem lại những lợi ích to lớn cho xã hội loài người. Ở Việt Nam,
trung bình số người sử dụng máy tính hiện nay rất lớn và các văn bản viết tay ngày
càng ít đi và thay vào đó là các tập tin văn bản được lưu trữ trên ổ đóa cứng. Với việc
bùng nổ văn bản điện tử như vậy, thì vấn đề sai lỗi chính tả trong văn bản là một điều
khó tránh khỏi. Các dạng văn bản bò sai lỗi chính tả và phương pháp để sửa lỗi trong
các dạng văn bản đó chính là đối tượng nghiên cứu của đề tài này.
1.2 Tổng quan tình hình nghiên cứu
1.2.1 Các nghiên cứu của nước ngoài về vấn đề kiểm lỗi chính tả
1.2.1.1 Phương pháp kiểm lỗi dựa trên ngữ cảnh
Một trong những đầu mối để phân biệt một từ với những từ nhập nhằng với nó là

các từ xung quanh nó trong câu. Ví dụ: khi đang xem xét để chọn lựa giữa desert và
dessert, nếu như có các từ như arid, sand, sun, … gần đó, ta sẽ chọn desert, còn nếu như
gặp các từ như chocolate, delicious, … gần đó, ta chọn dessert. Phương pháp kiểm lỗi
dựa trên ngữ cảnh[12] được Golding xây dựng dựa trên nhận xét này. Trong giai đoạn
học, với mỗi từ thường bò viết sai chính tả, hệ thống sẽ ghi nhớ những từ thường xuất
hiện xung quanh nó trong ngữ liệu. Khi chạy thực tế
1.2.1.2 Phương pháp kiểm lỗi dựa trên các phép lai Bayes
Phương pháp kiểm lỗi dựa trên ngữ cảnh[12] rất tốt trong việc phát hiện các
nguyên tắc chung nhất phụ thuộc vào những từ lân cận, nhưng không quan tâm đến trật
tự của chúng. Trong trường hợp đó, các phương pháp đặc trưng lân cận tỏ ra rất thích
hợp để rút ra các quy luật về trật tự.
Một đặc trưng lân cận là một mẫu các yếu tố về cú pháp xung quanh từ đang xét.
Có hai đặc trưng thường được sử dụng trong các phương pháp này, đó là nhãn từ loại và
từ lân cận.
6
Phương pháp lai Bayes[11] được thực hiện theo cách thức tương tự với phương
pháp kiểm lỗi dựa trên ngữ cảnh[12]. Ý tưởng chính ở đây là phân biệt những từ dễ bò
dùng nhầm lẫn với nhau dựa vào các đặc trưng lân cận của chúng. Mỗi đặc trưng lân
cận cung cấp vài dấu hiệu với khả năng quyết đònh khác nhau cho những từ trong tập
nhầm lẫn. Những dấu hiệu này được kết hợp với nhau và tính toán theo một luật quyết
đònh (thường là Bayes). Sau cùng, từ nào có độ hợp lý cao nhất sẽ được chọn.
Tuy nhiên, phương pháp lai Bayes cũng có nhược điểm, đó là khi một từ có các
đặc trưng mâu thuẫn hoặc hàm chứa nhau, gọi là xung đột. Để phương pháp này hoạt
động tốt, các đặc trưng xung đột với nhau cần phải được phát hiện và loại bỏ. Hiện nay,
ngoài heuristic, vẫn chưa có một phương pháp hoàn chỉnh để giải quyết vấn đề này.
1.2.1.3 Phương pháp kiểm lỗi dựa trên sự sàng lọc
Phương pháp sàng lọc[10] là sự kết hợp của hai phương pháp kiểm lỗi dựa trên
ngữ cảnh[12] và lai Bayes[11] để tận dụng ưu điểm của cả hai phương pháp này: kiểm
lỗi dựa trên ngữ cảnh[12] sẽ rút ra các nguyên tắc tốt nhất theo cách độc lập với trật tự
từ, còn lai Bayes[11] được dùng để rút ra các nguyên tắc phụ thuộc vào trật tự.

Phương pháp này đòi hỏi phải xây dựng một danh sách rất lớn các đặc trưng - ở
đây là các đặc tính ngữ cảnh và lai Bayes. Những đặc trưng được sắp xếp theo khả
năng quyết đònh giảm dần, trong đó khả năng quyết đònh của mỗi đặc trưng phản ánh
độ tin cậy của nó trong việc ra quyết đònh. Một từ nhập nhằng sẽ được phân loại bằng
cách duyệt qua danh sách và so khớp từng đặc trưng với ngữ cảnh. Đặc trưng phù hợp
đầu tiên sẽ được dùng để phân loại từ đang xét.
Vì danh sách quyết đònh đưa ra lời giải chỉ dựa vào một đặc trưng mạnh nhất,
hiệu suất của nó phần lớn phụ thuộc vào cách xác đònh khả năng quyết đònh cho những
đặc trưng. Đây chính là nhược điểm của phương pháp này bởi vì việc tìm ra một công
thức đánh giá tổng quát là rất khó.
Do đó, phương pháp sàng lọc[10] có thể được cải tiến bằng cách dùng nhiều đặc
trưng hơn. Theo đó, để lựa chọn các từ tốt nhất, hệ thống sẽ duyệt qua toàn bộ danh
sách đặc trưng, so sánh từng đặc trưng với ngữ cảnh, rồi kết hợp chúng để đưa ra lời
7
giải sau cùng. Việc kết hợp các đặc trưng có thể được thực hiện nhờ vào một bộ phân
loại. Ví dụ như là Bayes.
1.2.1.4 Mô hình CInsunSpell cho tiếng Hoa
Mô hình kiểm lỗi này có tên là CInsunSpell[13] được đề xuất bởi Li Jianhua và
Wang Xiaolong, là sự kết hợp giữa Trigram tiếng, phương pháp ước lượng Bayes và
phân phối trọng tự động, được dùng cho sửa lỗi chính tả tiếng Hoa.
Trigram được dùng trong bước kiểm lỗi. Theo đó, một cửa sổ Trigram kích thước
5 được dùng để đánh giá mối liên kết giữa các tiếng với nhau. Cửa sổ Trigram thực ra
là một chuỗi con, với tiếng cần xét ở trung tâm, và 4 tiếng lân cận ở xung quanh (2
tiếng liền trước và 2 tiếng liền sau). Tiếng trung tâm được xem là sai chính tả khi hai
liên kết trước và sau nó đều yếu. Liên kết này được xem là yếu nếu nó có giá trò nhỏ
hơn một giá trò ngưỡng.
Nhược điểm của mô hình n-gram là dữ liệu quá thưa thớt, dẫn đến các xác suất n-
gram sẽ rất thấp (thường có giá trò bằng 0). Để khắc phục, các tác giả của CInsunSpell
dùng thêm bi-gram cùng với làm mòn bằng cách mở rộng cửa sổ bi-gram từ 3 tiếng
thành 4 tiếng về phía sau để nâng cao hiệu suất phát hiện lỗi.

Bộ phân loại Bayes được dùng trong bước sửa lỗi. Ý tưởng chính là tìm chuỗi
thích hợp nhất (có xác suất cao nhất) từ chuỗi đầu vào để làm phương án sửa lỗi. Để
đánh giá sự phù hợp của chuỗi sửa lỗi, Bayes được kết hợp với phương pháp phân phối
trọng số tự động dựa trên số phép biến đổi ngắn nhất (Minimum Edit Distance[16]) để
biến chuỗi đầu vào thành chuỗi sửa lỗi.
Theo thử nghiệm của tác giả, CInsunSpell có tỷ lệ phát hiện lỗi là khoảng 60%,
tỷ lệ lỗi tích cực khoảng 10%. Hai giá trò này thay đổi tuỳ thuộc vào các ngưỡng được
dùng trong hệ thống.
1.2.1.5 Phương pháp kiểm lỗi dựa trên ngữ cảnh cho tiếng Nhật
Phương pháp của Nagata[15] được áp dụng đầu tiên cho các hệ thống nhận dạng
chữ viết (OCR). Tuy nhiên nó cũng có thể được dùng để sửa các lỗi chính tả do con
người gây ra.
8
Phương pháp này gồm hai giai đoạn: trong giai đoạn thứ nhất, câu nhập vào được
chia thành nhiều chuỗi tiếng, với điều kiện mỗi chuỗi tiếng tạo thành một từ có trong từ
điển hoặc gần giống với ít nhất một từ nào đó có trong từ điển. Trong giai đoạn thứ hai,
bằng các phương pháp thống kê, n chuỗi từ tốt nhất (được tạo thành từ những ‚từ‛ đã
có ở giai đoạn trước) được chọn làm ứng viên sửa lỗi. Dưới đây là ví dụ minh hoạ cho
cách tiếp cận này.
Câu đầu vào:
Tôi lam việc ở hợp tát xả mua bán
Ma trận tiếng nhầm lẫn
lám họp tác sả báng
làm tạt xã
lãm
lạm

Hình 1-1 Sơ đồ dò tìm lỗi bằng ma trận tiếng nhầm lẫn
Để có thể chia chuỗi đầu vào thành các chuỗi con một cách hợp lý, hệ thống dùng
hai phương pháp, đó là mô hình ngôn ngữ thống kê và thuật toán Forward-DB

Backward A* để tách từ.
Ngôn ngữ thống kê được dùng để tính xác suất kết hợp của chỗi con và chuỗi
nhãn từ loại. Xác suất kết hợp này thực ra là tích xác suất xuất hiện của chuỗi con với
xác suất xuất hiện của chuỗi nhãn trong ngữ liệu huấn luyện. Sau cùng, thuật toán
9
Forward-DB Backward A*[14] được dùng để đánh giá các xác suất kết hợp đó, sau
cùng tìm ra cách kết hợp có xác suất lớn nhất làm lời giải cho bài toán tách từ.
Theo đánh giá của tác giả, phương pháp này giúp cải thiện độ chính xác của hệ
OCR từ 90% đến 96%, hiệu suất tách từ là 93%.
1.2.1.6 Đánh giá chung cho các phương pháp trên
Các phương pháp kiểm lỗi dựa trên ngữ cảnh[12], lai Bayes[11] và phương pháp
sàng lọc[10] đã được ứng dụng thành công cho các ngôn ngữ châu Âu như tiếng Anh,
tiếng Pháp, tiếng Tây Ban Nha[2], … Tuy nhiên, để áp dụng các mô hình đó cho tiếng
Việt, văn bản đầu vào cần phải được tách từ bằng một mô hình tách từ mờ. Mô hình
tách từ mờ không tốt sẽ làm giảm đáng kể hiệu suất chung của toàn hệ thống. Cho đến
nay, vẫn chưa có một mô hình tách từ mờ hoàn chỉnh cho tiếng Việt[2]. Ngoài ra, hầu
hết các phương pháp cho tiếng Anh đều đòi hỏi ngữ liệu đã được gán nhãn từ loại,
trong khi cho đến nay vẫn chưa có kho ngữ liệu tiếng Việt thoã mãn yêu cầu này.
Thêm vào đó, các phương pháp như phương pháp sàng lọc[10] và Bayes[11] đòi hỏi hệ
thống phải thực hiện nhiều thao tác xử lý khá phức tạp để nhận ra từ sai chính tả nên
cũng khó được áp dụng vào thực tế. Do đó, chúng tôi chỉ xem những mô hình của
Golding[12], [11], [10] như là nguồn tài liệu tham khảo thêm mà không áp dụng.
Với hệ thống CInsunSpell[13] cho kiểm lỗi tiếng Hoa, các tác giả đã dùng cửa sổ
Bigram và Trigram ở mức tiếng để dò tìm tiếng sai chính tả. Đó là cách tiếp cận rất
phù hợp cho tiếng Việt vì không cần phải tách từ. Bên cạnh đó, mô hình này cũng còn
có những ưu điểm khác. Ưu điểm đầu tiên là tính đơn giản trong cài đặt cũng như trong
quá trình xử lý. Ưu điểm thứ hai cũng là ưu điểm quan trọng nhất, CInsunSpell không
đòi hỏi kho ngữ liệu đã được huấn luyện đã được tách từ hay gán nhãn từ loại mà chỉ
cần một kho ngữ liệu đúng chính tả. Với những đặc điểm đó, việc áp dụng CInsunSpell
cho tiếng Việt là rất khả thi và thực tế đã được áp dụng trong nghiên cứu[2] và cũng đã

thu được những kết quả đáng ghi nhận trong sản phẩm VCLSpell.
Mô hình sửa lỗi chính tả của Nagata cho tiếng Nhật[15], về mặt lý thuyết cũng có
thể áp dụng ngay cho tiếng Việt mà không cần sửa đổi nhiều vì Nhật-Việt đều là các
ngôn ngữ đơn lập. Tuy nhiên, cũng như một số mô hình dùng cho tiếng Anh, mô hình
10
này cần có kho ngữ liệu đã được tách từ và gán nhãn từ loại, đó là điều chưa thể đáp
ứng được. Bên cạnh đó, việc dò tìm phương án sửa lỗi bằng ma trận tiếng nhầm lẫn, khi
áp dụng vào tiếng Việt, sẽ phải đương đầu với một thử thách mới: bùng nổ tổ hợp, nhất
là trong thực tế, các lỗi sai khi nhập liệu rất đa dạng nên tập nhầm lẫn khá lớn. Do đó,
việc áp dụng mô hình này hiện nay là rất khó khăn.
1.2.2 Các nghiên cứu trong nước về vấn đề kiểm lỗi chính tả
Kiểm lỗi chính tả tiếng là một bài toán khó, nhất là kiểm lỗi chính tả cho các
ngôn ngữ đơn lập như tiếng Việt, tiếng Hoa[4].
Trước khi tôi thực hiện đề tài này, đã có một số công trình nghiên cứu về kiểm lỗi
chính tả tiếng Việt với các hướng tiếp cận khác nhau. Tuy nhiên, ngoài Vietspell và
Chính Tả Cú Mèo, thì các kết quả nghiên cứu còn lại chưa đưa ra sản phẩm ứng dụng
vào thực tế.
1.2.2.1 Kiểm lỗi chính tả bằng mô hình lưới từ
Nghiên cứu[3] đã trình bày mô hình lưới từ cho kiểm lỗi chính tả tiếng Việt. Mô
hình này hoạt động dựa trên việc tách từ mờ, sau đó đánh giá các cách tách từ khác
nhau để tìm ra cách tách từ có vẻ hợp lý nhất làm câu sửa lỗi. Trong đó, lưới từ thực
chất là một dạng cấu trúc dữ liệu đặc biệt, giống như một đồ thò thưa có hướng không
chu trình. Cấu trúc dữ liệu này giúp cho việc tách từ mờ và đánh giá các cách tách từ
được dễ dàng và nhanh chóng, bởi vì có thể áp dụng các thuật toán tìm đường đi trên
đồ thò với nó.
Lưới từ là một mô hình mạnh và chặt chẽ. Về lý thuyết, nếu được cài đặt và huấn
luyện hoàn chỉnh thì hiệu suất của nó sẽ rất khả quan.
Tuy nhiên mô hình này có một nhược điểm rất khó khắc phục đó là việc bùng nổ
tổ hợp sẽ khiến cho việc cài đặt và tốc độ xử lý của chương trình gặp khó khăn. Từ đó
làm cho lưu trữ cũng là một vấn đề lớn với phương pháp này.

Mô hình này còn sử dụng N-gram để ước lượng các giá trò cần thiết. Tuy nhiên,
do ngữ liệu huấn luyện chưa thực sự tốt nên việc ước lượng chưa đạt kết quả như ý
11
muốn. Cách tổ chức dữ liệu lưu trữ N-gram cũng chưa tốt làm tốn nhiều không gian lưu
trữ các N-gram. Điều này làm giảm tính thực tế của chương trình.
Như vậy, bên cạnh những ưu điểm, mô hình lưới từ vẫn còn những nhược điểm
nhất đònh. Nếu khắc phục được những nhược điểm đó, lưới từ sẽ trở thành phương pháp
hữu hiệu để giải quyết bài toán kiểm lỗi chính tả.
1.2.2.2 Kiểm lỗi chính tả bằng mô hình N-gram kết hợp với phương pháp ước lượng
Bayes để tính xác suất N-gram và các mô hình tách từ
Phương pháp này áp dụng mô hình CInsunSpell[4] của tiếng Hoa vào tiếng Việt,
là một phương pháp tốt, bắt lỗi với hiệu suất có thể chấp nhận được. Tuy nhiên phương
pháp này còn một số hạn chế sau:
 Không bắt và sửa được các trường hợp sai trên mức chữ do bộ gõ gây ra, vấn đề
lựa chọn và sắp xếp các ứng viên lỗi còn chưa hợp lý[2].
 Bắt lỗi tốt trên Bigram và kết hợp với Trigram nên về bản chất của phương pháp,
nếu n-gram có n>=4 thì dữ liệu để lưu trữ n-gram là vô cùng lớn.
 Thống kê trên kho ngữ liệu thực tế nên sẽ tồn tại: kho dữ liệu dù lớn nhưng vẫn
chưa thực sự đầy đủ, trong kho dữ liệu tồn tại nguy cơ sai lỗi chính tả, v.v…
 Do bản chất của N-gram nên nếu như từ bò sai cả 2 chữ thì khả năng đưa gợi ý
chính xác là không xác nhận được.
1.3 Những vấn đề còn tồn tại
Tóm lại, mỗi phương án giải quyết cho vấn đề kiểm lỗi chính tả trước chúng tôi
đều đã có nhiều đóng góp tích cực cho bài toán kiểm lỗi chính tả, tuy nhiên các nghiên
cứu này chưa đạt được sự hoàn thiện cần thiết và đôi khi quá thiên về lý thuyết mà
chưa đánh giá đến khả năng ứng dụng thực sự nên các nghiên cứu này chưa đưa ra
được sản phẩm cụ thể để ứng dụng vào thực tế được.
Sau đây là những vấn đề mà những nghiên cứu trước chúng tôi hoặc là thiếu hoặc
là chưa đề cập đến:
 Mỗi nghiên cứu đều chưa lường hết được các lỗi trên mức chữ và lỗi trên từ ghép.

 Không đề cập đến việc giải quyết lỗi trên các từ dài.
 Chưa giải quyết được hết các luật về lỗi chính tả do các nhà ngôn ngữ học đưa ra.

×