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

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

55 556 3

Đ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

Định dạng
Số trang 55
Dung lượng 3,02 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 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

Trang 1

ĐỀ TÀI NGHIÊN CỨU KHOA HỌC 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

Trang 2

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 :

TP HỒ CHÍ MINH – 11/2010

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

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

Trang 7

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

Trang 8

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

Trang 9

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 gram là dữ liệu quá thưa thớt, dẫn đến các xác suất 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

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

Trang 10

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

Trang 11

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

Trang 12

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ư ý

Trang 13

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

Trang 14

 Chưa đưa ra chương trình áp dụng vào thực tế

Trang 15

Phần 2 Các phương pháp thực hiện chi tiết

2.1 Mục đích của đề tài

Đề xuất một giải pháp sử dụng từ điển trong việc kiểm lỗi chính tả tiếng Việt Xây dựng bộ dữ liệu đủ lớn để phương pháp kiểm lỗi này có thể vận hành tốt

2.2 Phương pháp nghiên cứu

Sử dụng các quy tắc về âm tiết trong tiếng Việt, kết hợp với các trường hợp gây lỗi chính tả được các nhà ngôn ngữ học tổng kết lại trong các tài liệu [2], [6], [7], [9] để từ đó đưa ra giải pháp kiểm lỗi

Đối với các lỗi chính tả trên mức tiếng thì sử dụng mô hình kiểm lỗi sử dụng cấu trúc Finite State Transducer do tác giả Oflazer [8] đã áp dụng thành công trong việc kiểm lỗi chính tả trong tiếng Anh

Đối với các lỗi chính tả ở mức từ ghép, tác giả đề xuất một mô hình kiểm lỗi mới dựa trên các quy tác về âm tiết trong tiếng Việt, từ đó phát sinh ra các dự đoán lỗi chính tả Việc kiểm lỗi chính tả sẽ được dựa trên phương pháp so khớp cụm từ với các cụm từ được dự đoán là lỗi chính tả này, từ đó đưa ra từ gợi ý tương ứng

2.3 Nội dung

2.3.1 Dựa trên luật cấu tạo âm tiết tiếng Việt

Dựa vào đặc điểm của tiếng Việt, nếu ta loại trừ các từ việt hoá từ các ngôn ngữ khác, chúng ta sẽ nhận thấy trong bất kỳ một từ tiếng Việt nào cũng có sự tham gia của

ít nhất 1 nguyên âm (a, â, ă, ô, o, ơ, u, ư, y, i, ê, e) cộng với các phụ âm đầu (c, h, k, l,

m, g, n, r, t, q, p, s, d, x, v, b) và các phụ âm cuối (c, p, t, n, m, ch, ng)

Dựa vào cấu trúc này, ta sẽ liệt kê được tất cả các trường hợp có thể thành lập nên cụm nguyên âm ở giữa một từ bất kỳ, và với mỗi cụm như vậy ta sẽ liệt kê được có bao nhiêu cụm phụ âm đầu có thể ghép vào phía trước nó và bao nhiêu cụm phụ âm đuôi có thể ghép vào phía sau nó Kết quả thu được là một file XML có cấu trúc như sau:

Trang 17

Bảng 2-1 Cấu trúc file XML dựa trên luật cấu tạo âm tiết

Với phương án này, ta sẽ không xử lý được một số trường hợp sai chính tả như: xiêng, Nếu dùng phương pháp liệt kê để loại trừ các trường hợp sai này thì cũng rất

Trang 18

khó vì số lượng từ đơn trong tiếng Việt là rất lớn Hơn nữa, phương án này chỉ có thể áp dụng với từ đơn

Kết luận: phương pháp này không đem lại hiệu quả cho việc kiểm tra và sửa lỗi

chính tả, tuy nhiên nó là tiền đề giúp cho công việc kiểm tra, tách từ, nhân từ về sau trở nên thuận lợi và dễ dàng hơn rất nhiều

2.3.2 Sử dụng thuật toán minimum Edit Distance:

Phương pháp này cũng là một nhánh của phương pháp sử dụng cấu trúc Finite State Transducer phía dưới, tuy nhiên nó là một hướng tiếp cận không tốt và đã không giải quyết được bài toán như mong muốn Tuy nhiên nhóm vẫn trình bày để các nhóm nghiên cứu sau này tránh đi vào hướng tiếp cận này

Phương pháp này lưu trữ các từ đơn theo cấu trúc Finite State Transducer bên dưới, và việc kiểm lỗi vật lý của từ đơn sau đó đưa ra các gợi ý là rất tốt Tuy nhiên, khi nhóm sử dụng để cho khoảng cách của từng từ đơn với từng từ đơn tương ứng trong một từ ghép thì kết quả đưa ra quá nhiều gợi ý sai, và từ đó nhóm đã ngừng việc tiếp cận theo hướng này

2.3.3 Sử dụng cấu trúc Finite State Transducer

2.3.3.1 Xây dựng bộ từ điển

Mỗi từ trong từ điển tiếng Việt sẽ được lưu lại theo dạng một đồ thị có hướng Theo chiều từ đầu từ đến cuối từ sẽ bao gồm các cung nối giữa hai ký tự liền kề nhau Như vậy một từ gồm n ký tự (gồm cả khoảng trắng nếu là từ ghép) sẽ có n+1 cung Nhãn của cung xuất phát một từ bao giờ cũng là 0 và kết thúc là 99

Với phương án này tốc độ kiểm tra một từ sẽ rất cao, công việc chúng ta phải làm là duyệt qua từng ký tự trong từ và tìm cung nối giữa nó và ký tự trước đó Ngược lại nhược điểm của cách làm này là sự tổn phí về bộ nhớ Như vậy nếu với một máy có cấu hình thấp, việc thực thi chương trình sẽ gặp phải khó khăn khi nạp chương trình vào bộ nhớ, nhưng chú ý rằng khi chạy chương trình vẫn đảm bảo đạt tốc độ cao Rất may, vào thời điểm hiện nay tất cả các máy để bàn đều có cấu hình khá cao không những

Trang 19

đáp ứng tốt nhu cầu soạn thảo văn bản mà còn đáp ứng được cả những ứng dụng lớn hơn Do vậy vấn đề về bộ nhớ coi như đã được giải quyết

Tạm coi như vấn đề kiểm tra 1 từ đúng hay sai thông qua bộ từ điển (automat) đã hoàn thành Vấn đề lúc này là với một từ sai ta sẽ đưa ra gợi ý sao cho gần đúng

nhất với ngữ cảnh của văn bản Dựa trên ý tưởng chủ đạo sửa từ dựa trên từ, do vậy ta

sẽ căn cứ trên từ sai để đưa ra từ gần đúng nhất Các trường hợp mà bộ từ điển đưa ra với 1 từ sai đó là :

Trường hợp 1: Sai sót do bộ gõ tiếng Việt như: gõ dư ký tự bỏ dấu,

Trường hợp 2: Sai do người dùng nhầm lẫn giữa các phụ âm đầu, cụm nguyên âm và

các phụ âm cuối

Còn lại, nếu một từ hoàn toàn sai, không nằm trong phạm vi các trường hợp sai trên, chương trình sẽ đưa ra một danh sách các từ gần đúng với từ đó nhất dựa vào thuật toán Minimum Edit Distance

Với trường hợp 1 : sai do người dùng gõ dấu nhờ chương trình hỗ trợ (vietkey hoặc

unikey) lỗi thường gặp nhất là ký tự dùng để bỏ dấu thường được gõ 2 lần, và như vậy dấu đã có sẽ mất đi và thay vào đó là ký tự dùng để bỏ dấu xuất hiện 2 lần trong từ vừa gõ Một số phiên bản cũ của Vietkey và Unikey, dấu có thể còn đặt sai vị trí, thậm chí có thể xuất hiện hai dấu giống nhau trong cùng một từ

Vd : với từ ‚sống‛ sẽ rất dễ được gõ thành ‚soongs‛ hoặc ‚sóngo‛ Cụ thể là trong từ

‚sống‛ hai ký tự dùng để bỏ dấu là ‘s’ và ‘o’ Nếu 1 trong hai ký tự này được gõ sau khi đã có nguyên âm thì dấu sẽ đặt trên nguyên âm phù hợp, xong nếu 1 trong 2 ký tự này được gõ thêm 1 lần nữa thì dấu vừa đặt sẽ mất đi và được thay thế bằng 1 trong 2 ký tự vừa nhập

Như vậy, với 1 từ đơn ta phải tính toán ra tất cả các trường hợp có thể sai do việc gõ dấu gây nên Các trường hợp gõ sai do người dùng sử dụng cách gõ VNI và TELEX là tương tự nhau Bằng cách lấy tất cả các ký tự dùng để hỗ trợ bỏ dấu cho từ

Trang 20

đơn sau đó hoán vị các ký tự này với điều kiện các ký tự này phải nằm sau các ký tự nguyên âm mà nó đặt dấu trên đó

Ví dụ : bò | bo2 | bof

Với từ ‚bò‛ ta có các trường hợp sai khi gõ theo kiểu VNI là ‚bo2‛ và theo TELEX là

‚bof‛

Một vấn đề khác nữa là dấu được đặt sai vị trí Nếu tuân theo quy tắc đặt dấu tiếng Việt thì dấu của từ không phải đặt ở vị trí nào cho đẹp mắt mà bắt buộc phải đặt đúng vị trí đã quy định (ví dụ : không được viết ‘hóa’ mà phải viết là ‘hoá’) Với vấn đề này, nhóm giải quyết bằng cách liệt kê tất cả các vị trí mà dấu có thể đặt tại đó Kết hợp với từ gốc đúng chính tả, danh sách vừa liệt kê sẽ là các trường hợp sai của từ gốc đó

Với trường hợp 2 : do lãnh thổ nước ta trải dài, phong tục tập quán của các vùng miền

cũng khác nhau, tiếng địa phương cũng ăn sâu vào thói quen của người thuộc vùng miền đó Muốn liệt kê được các ‘biến thể’ của một cụm nguyên âm hay một phụ âm đầu, một phụ âm cuối ta phải tiếp xúc với nhiều người thuộc nhiều vùng miền khác nhau Sau khi đã có kết quả tương đối đầy đủ nhóm đã kết hợp giữa các trường hợp sai của từng thành phần trong từ để tạo nên các trường hợp sai cho một từ

Sau khi giải quyết các trường hợp trên, nhóm liệt kê được một danh sách các từ có thể là trường hợp sai của một từ trong từ điển tiếng Việt cụ thể được bố trí như sau:

từ gốc | trường hợp 1 | trường hợp 2 | trường hợp 3 |

Ví dụ :

âm nhạc | âm nhạt | ân nhạc | ân nhạt

áo | a1o | aó | ao1 | aos | aso

Toàn bộ quy trình tạo ra bộ từ điển theo phương pháp trên như sau:

Bước 1 : tách lọc lấy tập hợp tất cả các từ đơn có trong tiếng Việt

ở bước này, đầu vào của chương trình là thư viện từ điển tiếng Việt và kết quả thu được sau khi chạy xong chương trình là tập hợp tất cả các từ đơn có trong

Trang 21

tiếng Việt Chú ý, nhưng từ đơn này có thể có nghĩa hoặc là một chữ trong từ ghép

Bước 2 : phân loại các từ có chiều dài1 khác nhau

Từ thư viện từ điển tiếng Việt, các từ có cùng chiều dài được đưa vào cùng một file sau khi xử lý xong Như vậy, cuối bước này ta sẽ có các file từ đơn, từ ghép có chiều dài 2, 3, 4, 5,

Bước 3 : liệt kê tất cả các trường hợp sai cho tất cả các từ đơn thu được ở bước 1

Các trường hợp sai do : gõ dấu; nhầm lẫn phụ âm đầu, phụ âm cuối, cụm nguyên âm chính; đặt dấu sai vị trí

Kết thúc bước này, ta thu được một file có chứa đầy đủ các trường hợp sai của từng từ đơn cụ thể

Chú ý : các trường hợp sai không được phép có trong từ điển, cũng có nghĩa là từ đơn ngày không thể là trường hợp sai của từ đơn khác

Bước 4 : liệt kê tất cả các trường hợp sai cho tất cả các từ đơn khi tham gia vào từ ghép

Các trường hợp sai do : nhầm lẫn phụ âm đầu, phụ âm cuối, cụm nguyên âm chính

sau bước này ta thu được một file chứa đầy đủ các trường hợp sai của từng từ đơn khi tham gia vào từ ghép

Chú ý : các trường hợp sai ở bước này khác so với bước 3 Một từ đơn có thể là trường hợp sai của một từ đơn khác

Bước 5 : liệt kê tất cả các trường hợp sai cho các từ ghép

Các trường hợp sai của từ ghép là sự kết hợp của từng trường hợp sai của các từ đơn tạo nên nó Kết quả của bước 4 là cơ sở để thực hiện bước 5

Chú ý : Một từ ghép có trong từ điển không thể là trường hợp sai của một từ ghép khác Có thể nhiều từ ghép có cùng chung một trường hợp sai

Bước 6 : loại trừ và thêm vào các trường hợp sai do người dùng định nghĩa thêm

Trang 22

Từ kết quả của bước 5, nếu người dùng cần thêm hoặc bỏ bớt trường hợp nào cần thiết thì chỉ cần liệt kê các trường hợp đó ra Chương trình sẽ thêm vào hoặc loại bỏ theo yêu cầu của người dùng

Bước 7 : liệt kê các trường hợp sai cho từ đơn có nghĩa

Từ đơn được lấy từ kết quả phân loại ở bước 2, các trường hợp sai ở bước này tập trung trên từng thành phần của từ : phụ âm đầu, phụ âm cuối và cụm nguyên âm chính

Chú ý : từ đơn này không thể là trường hợp sai của từ đơn khác, các từ đơn cũng có thể có chung một trường hợp sai nào đó

Bước 8 : chuyển các trường hợp sai đã thực hiện ở các bước trên về cùng một cấu trúc Finite State Transducer

Từ kết quả của bước 3, bước 6, bước 7 cùng với các kết quả phân loại ở bước 2 xây dựng cấu trúc cho từng loại : từ đơn dùng ở giai đoạn đầu, từ ghép, từ đơn có nghĩa

Bộ từ điển được sử dụng trong chương trình như sau :

Chương trình bắt lỗi theo ba giai đoạn

Giai đoạn 1: Duyệt qua tất cả các từ đơn để tìm ra các lỗi cơ bản nhất và gợi ý cho

người dùng Ở giai đoạn này các từ đơn được kiểm tra độc lập với các từ lân cận

Giai đoạn 2: Duyệt qua các cụm từ trong câu Nếu phát hiện cụm từ nào là trường hợp

sai của một từ ghép nào đó trong từ điển tiếng Việt, chương trình sẽ đưa ra gợi ý đúng cho cụm từ nghi ngờ và nhắc người dùng thay thế bằng từ do người dùng nhập hoặc do chương trình gợi ý Trong trường hợp người dùng chấp nhận thay thế từ do chương trình nghi ngờ sai, từ mới sẽ được thay vào vị trí từ (cụm từ) đang xét và con trỏ nhảy qua cụm từ đó Ngược lại cụm từ mới được xét sẽ được lấy bằng cụm từ đang xét giảm đi một chữ ở vị trí cuối cùng và tiếp tục lặp lại giai đoạn này đến khi cụm từ có chiều dài là 1

Giai đoạn 3: ở giai đoạn này cụm từ có chiều dài là một chữ, chương trình sẽ kiểm tra

sự tồn tại của từ này trong từ điển tiếng Việt Nếu không có sự tồn tại này, chương trình

Trang 23

sẽ đưa ra danh sách gợi ý dựa vào thuật toán Minimum Edit Distance Trong trường hợp hai từ dính liền nhau, chương trình sẽ đưa ra gợi ý là 2 từ và đề nghị người dùng thay thế

2.3.3.2 Cài đặt chương trình dựa trên bộ từ điển đã xây dựng

2.3.3.2.1 Biểu diễn đồ thị trên máy tính

Trong bộ nhớ, từ điển được lưu dưới dạng danh sách kề

Biểu diễn đồ thị G=(E,V) theo danh sách kề:

Ke( ) 2 , m là số cạnh

Từ cách biểu diễn trên, ta xây dựng hai lớp Node và CTuDien:

+ Cấu trúc của một Node gồm mã Unicode của ký tự và con trỏ trỏ tới đỉnh kề với nó + Lớp CTuDien bao gồm các phương thức như:

 Nạp từ điển vào danh sách kề

 Tìm kiếm một cung có tồn tại trong đồ thị

 Kiểm tra một từ có tồn tại trong từ điển hay không

 Lấy một từ đúng chính tả

 Hủy từ điển

2.3.3.2.2 Namespace Microsoft.Office.Interop.Word

Để tăng tính tiện dụng, chương trình được tích hợp vào một chương trình soạn thảo văn bản phổ biến là Microsoft Word Để điều khiển các thao tác trong word ta sử dụng các hàm VBA thông qua namespace Microsoft.Office.Interop.Word

Do trong văn bản Word có chứa rất nhiều đối tượng đặc biệt như hình ảnh, table, symbol…nên trước khi kiểm tra chính tả, ta phải loại bỏ các ký tự đặc biệt này

Trang 24

 Đếm số từ có trong câu

 Lấy nội dung của câu

 Thay thế một từ

 Thay thế nguyên một câu

 Xoá một từ tại vị trí trong câu

 Xoá nguyên một câu

2.3.3.2.4 Lớp CWord

Mỗi thể hiện của lớp CWord chứa nội dung một từ trong văn bản word, là một đối tượng có kiểu Microsoft.Office.Interop.Word.Range Trong lớp này ta cũng xây dựng một số phương thức để thuận tiện khi sử dụng, bao gồm:

 Kiểm tra từ này có chứa các ký tự đặc biệt không

 Kiểm tra từ này có phải là một ký tự phân cách câu không Do trong namespace Microsoft.Office.Interop.Word dấu chấm, dấu phẩy, dấu chấm than…cũng được xem như là một từ

 Kiểm tra một từ đang viết hoa, viết thường hay viết hoa đầu câu để sau khi sửa lỗi ta sẽ trả về định dạng cũ của từ đó

2.3.3.2.5 Tách câu

Bước 1: Lấy một vùng văn bản từ văn bản Word

Bước 2: Loại bỏ các ký tự đặc biệt như dấu tab, hình ảnh, dấu enter…

Bước 3: Tách thành các câu nhỏ hơn dựa trên các ký tự phân cách câu Đưa các câu chuẩn vừa tách vào hàng đợi chờ xử lý

Bảng 2-2 Thuật toán tách câu

Trang 25

2.3.3.2.6 Thay thế

Bước 1: Lưu lại định dạng cũ của cụm từ sẽ thay thế như font, size, màu chữ, viết hoa, viết thường

Bước 2: Thay cụm từ cũ bằng cụm từ mới

Bước 3: Phục hồi lại định dạng cũ

Bảng 2-3 Thuật toán thay thế

2.3.3.2.7 Quy trình kiểm tra chính tả

Bước 1:

Kiểm tra hàng đợi có rỗng không

+ Nếu hàng đợi không rỗng thì lấy câu tiếp theo để kiểm tra

+ Nếu hàng đợi rỗng và chưa đến cuối văn bản thì tách các câu tiếp theo đưa vào hàng đợi để xử lý tiếp

Bước 2:

Kiểm tra ở mức từ đơn, gợi ý sửa các lỗi chính tả cơ bản

Bước 3:

Kiểm tra ở mức từ ghép (mặc định là 3 và chiều dài từ ghép có thể lên tới mức 11)

+ Kiểm tra cụm từ này có thuộc danh sách từ nước ngoài hay không

+ Nếu thuộc danh sách này thì ta bỏ qua và tiếp tục kiểm tra cụm từ tiếp theo

+ Nếu không thuộc danh sách này ta đưa vào từ điển tương ứng để kiểm tra nếu đúng chính tả thì ta giảm chiều dài từ ghép xuống 1 từ để tiếp tục kiểm tra

+ Nếu sai chính tả ta đưa ra danh sách các từ gợi ý dựa trên từ điển và kiểm tra từ ghép này có bị dính từ không

Bước 4:

Trang 26

Kiểm tra lại ở mức từ đơn kết hợp với thuật toán Minimum Edit Distance và 36 trường hợp bỏ dấu để gợi ý các từ nghi ngờ sai chính tả

Bảng 2-4 Quy trình kiểm tra chính tả

Trong tiếng Việt có nhiều cách bỏ dấu khác nhau, do đó cùng một chuỗi nếu bỏ dấu khác nhau sẽ cho ra hai chuỗi khác nhau, nên bước đầu tiên khi kiểm tra chính tả ta phải đưa về một kiểu bỏ dấu chuẩn Đồng thời ta cũng phải loại bỏ các trường hợp dễ nhầm lẫn của chính tả tiếng Việt như:

 Lỗi về âm đầu

 Lỗi về âm chính

 Lỗi về âm cuối

Sau khi duyệt xong lần 1, ta đã loại bỏ được một số lỗi chính tả cơ bản Chuỗi văn bản này là đầu vào cho lần duyệt 2 Ta sẽ kiểm tra trên mức từ ghép cao nhất, rồi giảm chiều dài từ ghép xuống một từ, tiếp tục kiểm tra cho tới mức từ ghép 2

Sau khi kiểm tra trên mức từ ghép xong, ta kiểm tra lại trên mức từ đơn kết hợp với thuật toán Minimum Edit Distance và một số giải thuật khác như tách hai từ bị dính nhau, tổ hợp ra các trường hợp đúng có thể có để đưa ra danh sách gợi ý

2.4 Kết quả đạt được

2.4.2 Khả năng triển khai ứng dụng vào thực tế

Đã xây dựng được một chương trình cụ thể, có thể áp dụng ngay vào thực tế

Trang 27

2.4.3 Hiệu quả kinh tế - xã hội

Giải quyết được nhu cầu về kiểm lỗi chính tả của nhiều cá nhân, tổ chức trong xã hội Cả những đơn vị thường xuyên dùng văn bản điện tử như các cơ quan nhà nước, báo chí cho đến các cá nhân thỉnh thoảng có nhu cầu kiểm lỗi khi làm báo cáo, luận văn, đề tài

2.4.4 Sản phẩm

2.4.4.1 Bộ từ điển

Sau khi thực hiện theo quy trình đã đưa ra, nhóm đã xây dựng các bộ từ điển:

Từ điển các từ đơn có trong tiếng Việt

Từ điển cho từ đơn

Từ điển cho từ ghép hai, ba, bốn…

Các từ điển này được xây dựng theo cấu trúc Finite State Transducer

2.4.4.2 Chương trình

Từ bộ từ điển tiếng Việt đã xây dựng được nhóm tiến hành cài đặt chương trình kiểm tra lỗi chính tả tiếng Việt Chương trình được viết bằng ngôn ngữ C#, được nhúng vào Microsoft Word để thuận tiện khi sử dụng

Chương trình đã chạy thành công với MS Word 2007 và MS Word 2003

Đối với MS Word 2003, phải cài đặt bản vá lỗi KB907417 cho Add-In viết bằng NetFramwork 2.0

Chương trình thực hiện được những chức năng sau:

 Kiểm tra và sửa lỗi vật lý của từ đơn

 Kiểm tra và sửa các lỗi sai của từ ghép theo các trường hợp được đánh giá cụ thể trong chương 6

 Đưa ra gợi ý từ gần đúng nhất trong trường hợp phát hiện ra những từ không có trong từ điển

 Bỏ qua những từ nước ngoài hoặc từ viết tắt

 Kiểm tra lỗi chính tả theo:

Ngày đăng: 04/09/2016, 11:54

HÌNH ẢNH LIÊN QUAN

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ừ - 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
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ừ (Trang 10)
Bảng 2-1 Cấu trúc file XML dựa trên luật cấu tạo âm tiết - 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ảng 2 1 Cấu trúc file XML dựa trên luật cấu tạo âm tiết (Trang 17)
Hình 2-2 Cửa sổ tuỳ chọn - 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
Hình 2 2 Cửa sổ tuỳ chọn (Trang 29)
Bảng 2-5 Các nút chức năng trong chương trình - 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ảng 2 5 Các nút chức năng trong chương trình (Trang 29)
Hình 2-3 Cửa sổ danh sách từ nước ngoài - 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
Hình 2 3 Cửa sổ danh sách từ nước ngoài (Trang 30)
Hình 4-1 Cấu trúc Finite State Transducer - 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
Hình 4 1 Cấu trúc Finite State Transducer (Trang 39)
Hình 4-2 Ví dụ cấu trúc Finite State Transducer - 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
Hình 4 2 Ví dụ cấu trúc Finite State Transducer (Trang 40)
Bảng 4-1 Cấu trúc file automat - 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ảng 4 1 Cấu trúc file automat (Trang 41)
Bảng 4-4 Các trường hợp nhầm lẫn cụm nguyên âm và phụ âm - 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ảng 4 4 Các trường hợp nhầm lẫn cụm nguyên âm và phụ âm (Trang 47)
Hình 4-4 Lớp ThuVienXuLyTuDon - 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
Hình 4 4 Lớp ThuVienXuLyTuDon (Trang 49)
Bảng 4-6 Thuật toán DFS - 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ảng 4 6 Thuật toán DFS (Trang 51)
Hình 4-5 Mở cửa sổ Word Options (MS Word 2007) - 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
Hình 4 5 Mở cửa sổ Word Options (MS Word 2007) (Trang 52)
Hình 4-6 Cửa sổ Word Options (MS Word 2007) - 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
Hình 4 6 Cửa sổ Word Options (MS Word 2007) (Trang 53)
Hình 4-10 Các tuỳ chọn trong thẻ Trusted Publishers (MS Word 2003) - 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
Hình 4 10 Các tuỳ chọn trong thẻ Trusted Publishers (MS Word 2003) (Trang 54)
Hình 4-9 Cửa sổ Security (MS Word 2003) - 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
Hình 4 9 Cửa sổ Security (MS Word 2003) (Trang 54)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm