3 Cơ sở tin học
4.3 Bắt lỗi non-word
4.4.3 Mở rộng lưới từ — Phục hồi lỗi
Sau khi có lưới từ cơ bản. Ta có thể áp dụng mơ hình ngơn ngữ để tìm ra cách tách từ tốt nhất nếu bài toán là tách từ. Tuy nhiên, do câu khơng hồn tồn chính xác, ta cần phải tiến hành phục hồi lỗi — thêm vào những từ có khả năng đúng, sau đó mới có thể tách từ. Phần phục hồi lỗi, thêm từ vào lưới từ để tạo lưới từ mở rộng là nội dung của công đoạn này.
Như đã xét ở phần 4.3.2 ở trang 88, có 4 loại lỗi chủ yếu là lỗi bàn phím, lỗi OCR, lỗi nhận dạng tiếng nói, lỗi phát âm (và các loại lỗi cịn lại). Cả bốn loại lỗi này đều có thể gây ra lỗi real-word. Tuy nhiên, lỗi real-word chủ yếu là lỗi phát âm, lỗi bàn phím chiếm rất ít, phần còn lại là lỗi OCR và lỗi nhận dạng tiếng nói. Phần này chủ yếu tập trung vào lỗi phát âm. Lỗi bàn phím được trình bày trong phần 4.3.2 ở trang 89.
Lỗi phát âm
Lỗi phát âm phụ thuộc vào cách phát âm của từng vùng. [Hoa02] liệt kê các trường hợp lỗi thông dụng nhất. Những quy tắc này được áp dụng để tạo ra những từ gần giống phát âm. Theo [Hoa02], lỗi bao gồm các loại sau:
• Lỗi thanh điệu. Chủ yếu là lỗi nhầm lẫn hai thanh hỏi, ngã.
• Lỗi về âm đầu. Thường lẫn lộn các âm đầu sau: C/K, G/Gh, Ng/Ngh, Ch/Tr, S/X, V/D/Gi/R, W/Hw/Ngw/Qu.
• Lỗi về âm chính. Thường lẫn lộn các âm chính sau: ai/ay/ây, ao/au/âu, ăm/âm, ăp/âp, iu/iêu/êu, im/iêm/em, ip/iêp/êp/ep, oi/ôi/ơi, om/ôm/ơm, op/ôp/ơp, ong/ông, oc/ôc, ui/uôi, um/uôm, up/(uôp), ưi/ươi, ưu/ươu, ưm/ươm, (ưp)/ươp.
KHOA CNTT –
ĐH KHTN
CHƯƠNG 4. MƠ HÌNH 4.4. BẮT LỖI REAL-WORD
• Lỗi về âm cuối. Thường lẫn lộn chữ ghi các âm cuối trong các vần sau: an/ang, at/ac, ăn/ăng, ăt/ăc, ân/âng, ât/âc, en/eng, et/ec, ên/ênh, êt/êch, in/inh, it/ich, iên/iêng, iêt/iêc, ơn/(ơng), ơt/(ơc), un/ung, ut/uc, uôn/uông, uôt/uôc, ưn/ưng, ưt/ưc, ươn/ương, ươt/ươc.
• Sai quy cách viết hoa
Phân tích âm tiết
Để phát sinh từ dựa trên lỗi phát âm, cần phân tích cấu trúc của từng tiếng. Một tiếng bao gồm âm đầu, vần và thanh. Vần gồm âm đệm, âm chính và âm cuối. Trong các thành phần của tiếng, âm chính là bắt buộc phải có. Các thành phần cịn lại có thể khơng có. Ta có thể biểu diễn cấu trúc âm tiếng theo sơ đồ trạng thái như hình 4.5.
Hình 4.5: Sơ đồ trạng thái phân tích cấu trúc tiếng
Ta có thể phân tích tiếng dùng FST. Tuy nhiên, qua hình 4.5 có thể thấy chỉ có tám cách để hình thành tiếng. Cài đặt theo tám cách này đơn giản và hiệu quả hơn dùng FST tổng quát.
Khi phân tích tiếng, có thể có một số nhập nhằng giữa các thành phần của tiếng. Ví dụ, “lúa” bao gồm âm đơi “ua” hay âm đệm “u” và âm chính “a”? Những âm có thể gây nhập nhằng xuất phát từ việc âm ‘u’ và ‘o’ có thể vừa là âm đệm, vừa là âm chính, bao gồm các âm “”, “ua”. Ngồi ra cịn
KHOA CNTT –
ĐH KHTN
CHƯƠNG 4. MƠ HÌNH 4.4. BẮT LỖI REAL-WORD
Kiểm tra mẫu A, bao gồm việc phân tích âm tiết theo mẫu A. Nếu âm tiết có thể phân tích theo mẫu A và khơng vi phạm các quy luật phân bố thì chấp nhận âm tiết, dừng thuật tốn.
1. Kiểm tra mẫu “Âm đầu, âm chính, âm cuối”. 2. Kiểm tra mẫu “Âm chính, âm cuối”.
3. Kiểm tra mẫu “Âm đầu, âm chính”. 4. Kiểm tra mẫu “Âm chính”.
5. Kiểm tra mẫu “Âm đầu, âm đệm, âm chính, âm cuối”. 6. Kiểm tra mẫu “Âm đệm, âm chính, âm cuối”.
7. Kiểm tra mẫu “Âm đầu, âm đệm, âm chính”. 8. Kiểm tra mẫu “Âm đệm, âm chính”.
9. Khơng thể phân tích âm tiết. Dừng.
Thuật tốn 4.14: Phân tích cấu trúc âm tiết
KHOA CNTT –
ĐH KHTN
CHƯƠNG 4. MƠ HÌNH 4.4. BẮT LỖI REAL-WORD
có nhập nhằng giữa âm chính và âm cuối, bao gồm “ui”, “uy”, “oi”. Cuối cùng là trường hợp “qu”. Hầu hết các nhập nhằng này được loại bỏ bằng thứ tự áp dụng các mẫu âm tiết (ưu tiên xét các trường hợp khơng có âm đệm trước). Hai trường hợp cần được xử lý đặc biệt là “uy” và “qu”.
Nếu chỉ sử dụng những luật này, sẽ có nhiều tiếng phân tích được, nhưng thực tế khơng tồn tại. Ví dụ, “cỳ”, “kơng” . . . Tuy nhiên cách phân tích này vẫn chấp nhận được. Những tiếng sai như vậy sẽ được phát hiện và sửa chữa trong phần bắt lỗi non-word.