Lỗi chính tả xuất hiện trong văn bản đƣợc hình thành trong quá trình soạn thảo và chỉnh sửa văn bản. Việc tồn tại lỗi là hoàn toàn có thể. Cần có một hệ thống thực hiện kiểm tra các từ trong văn bản T đƣợc gõ có lỗi hay không là điều cần
thiết. Để có thể thực hiện điều đó cần phải tìm ra các từ có lỗi và sửa chúng.
Từ lỗi là từ không có trong từ điển hiện hành, là từ không đƣợc định nghĩa trong hệ thống từ điển của ngôn ngữ cụ thể. Dựa vào đặc điểm này tác giả tiến hành xây dựng hệ thống sửa lỗi chính tả trên ý tƣởng giải thuật đối sánh xấp xỉ.
Hệ thống bao gồm các thành phần từ điển dữ liệu, và hệ thống kiểm tra sửa lỗi chính tả. Với thành phần từ điển dữ liệu, tác giả cung cấp và tập hợp các từ bằng tiếng việt (xấp xỉ gần 2000 từ làm dữ liệu mẫu) với dữ liệu từ điển này nếu trong
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
văn bản cần kiểm tra tồn tại một từ không có trong từ điển thì hệ thống tiến hành tìm từ có chỉ số xấp xỉ gần nhất để sửa cho từ bị sai. Thành phần kiểm tra và sửa lỗi sẽ có hai chức năng chính là chức năng kiểm tra một từ có đúng hay không (có xuất hiện từ trong từ điển không) và chức năng sửa từ nếu từ này bị sai.
Bảng danh mục các từ tác giả xây dựng làm từ điển để kiểm tra và làm từ điển gợi ý từ:
* Giải pháp cho kiểm tra từ sai:
Tác giả sử dụng thuật toán asmf-master với các đối truyền vào đƣợc xác định sẵn để trả lời câu hỏi là từ này có bị sai hay không? Giải pháp đƣợc trình bày theo giải thuật sau:
- Bƣớc 1: Chọn các đối số 1 từ trong từ điển gọi là T, tiếp theo là từ cần kiểm tra gọi P, chọn k-mismatch=0;
- Bƣớc 2: Thực hiện hàm example với các đối ở trên - Bƣớc 3: Nhận kết quả trả về của hàm là số lần xuất hiện.
+ Nếu trả về Occ >0 => từ T trùng với P, kết luận T không sai. + Nếu Occ = 0 thực hiện Bƣớc 1 với từ tiếp theo.
+ Nếu thực hiện trong từ điền không tìm ra từ P (từ trong từ điển) nào
đối sánh đúng với T, có thể kết luận T là từ sai.
Trong quá trình áp dụng thuật toán asmf-master, tác giả tận dụng việc kiểm tra các từ tránh cho việc kiểm tra quá nhiều và quá dài dẫn tới hiệu năng của hệ thống không đáp ứng tốt. Tác giả sử dụng thêm một số ký thuật nhỏ bao gồm chỉ tìm với các từ có độ tƣơng tự từ 75% trở lên theo thuật toán similar text đƣợc PHP hỗ trợ sẵn.
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Sau khi đã có kết quả của kiểm tra chính tả và từ cung cấp T cần phải sửa, hệ thống sẽ thực hiện tìm ra từ phù hợp nhất (gần nhất với T) để tiến hành thay thế T. Để thực hiện đƣợc yêu cầu này tác giả xây dựng một giải pháp đơn giản nhƣ sau:
- Dựa trên việc kiểm tra kết quả của từ có tồn tại trong từ điển hay không. Khi đối sánh tác giả thực hiện thêm trả về số xuất hiện và độ xấp xỉ theo thuật toán similar text:
Bƣớc 1: Cung cấp các từ P trong từ điển có độ giống nhau từ 75% trở lên. Bƣớc 2: thực hiện tìm kiếm một từ trong danh mục các từ P ở bƣớc 1 sao
cho có chỉ số similar (giống nhau) lớn nhất (chỉ số thể hiện độ tƣơng tự 0 là không tƣơng tự, 100 là giống nhau hoàn toàn, độ tƣơng tự càng cao thì càng giống nhau).
Bƣớc 3: Cung cấp từ đƣợc trả về ở bƣớc 1.
(Các kết quả giải thuật tìm từ sai và sửa đổi từ đƣợc trình bày trong mục sau) Thực hiện cài đặt các giải pháp trên, tác giả sử dụng ngôn ngữ lập trình PHP để thực hiện giải thuật. Các kết quả đƣợc hiển thị và điều khiển không qua môi trƣờng ứng dụng web. Tác giả cung cấp giao diện thể hiện ứng dụng sửa lỗi chính tả qua hình.
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Giao diện hình 3.1 với chức năng sửa lỗi chính tả cho từ. Ô văn bản thể hiện từ cần đƣợc gõ. Nút nhấn thực hiện cả hai giải pháp với trình tự kiểm tra từ sai, nếu có phát hiện từ sai hệ thống tiến hành sửa và cung cấp từ sửa tƣơng tứng.
Nếu kết quả kiểm tra hiển thị số 1. Từ khóa này đƣợc kiểm tra là đúng và không phải sửa lại. Nếu trả về 0 hệ thống tiến hành cung cấp từ cần sửa.
Hình 3.2: Sửa từ cho từ sai
Trong hình 3.2 thể hiện từ thực nghiệm với từ không có trong hệ thống và hệ thống trả về từ cần sửa. Các kết quả tiếp theo đƣợc thực nghiệm trong phần sau.