CHƯƠNG 3: THỰC NGHIỆM VÀ ỨNG DỤNG
3.2 Thực nghiệm, ứng dụng trong bài toán sửa lỗi chính tả
Với các kết quả thực nghiệm hàm exmple ở trên tác giả tiến hành xây dựng hệ thống sửa lỗi chính tả và gợi ý truy vấn từ điển bằng các áp dụng kết quả của thuật toán asmf-master.
Các hệ thống này đƣợc tác giả xây dựng trên nền web với ngôn ngữ PHP. Để thực nghiệm được các hàm trên PHP tác giả tạo môi trường thực thi file C++. Trên môi trường này để cung cấp các dữ liệu đầu vào cho hàm example và tiến hành thực thi để nhận kết quả đầu ra cho ứng của tác giả. Tác giả thực hiện thay đổi lại cấu trúc xuất dữ liệu cho hàm example để hệ thống xử lý thuận tiện hơn.
3.2.1 Giới thiệu về ứng dụng sửa lỗi chính tả
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.
* Giải pháp cho việc sửa đổi từ sai:
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.
Hình 3.1: Giao diện ứng dụng sửa lỗi chính tả
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.
3.2.2 Thực nghiệm ứng dụng
Để thực nghiệm hệ thống tác giả thiết lập và cấu hình hệ thống chạy trên môi trường web cục bộ. Địa chỉ trên máy tính cục bộ:
http://localhost/Hung/asmf/Test.php.
- Kết quả thực nghiệm với trường hợp từ 01:
Hình 3.3: Thực nghiệm với từ khóa
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
- Kết quả thực nghiệm với trường hợp từ 02:
Hình 3.4: Thực nghiệm với từ “Cổng”
- Kết quả thực nghiệm với trường hợp từ 03: thực nghiệm với từ khóa “tỏa”
kết quả xem hình 3.5. Hệ thống tìm ra đƣợc từ thay thế từ “tỏa” bởi từ “Thỏa”
Hình 3.5: Thực nghiệm với từ khóa “Tỏa”