Cũng như nhiều ngôn ngữ khác như tiếng Pháp, tiếng Romanian, ... tiếng Việt cũng sử dụng dấu câu. Nhưng vì nhiều lý do như : không có phần mềm gõ tiếng Việt, không có font chữ, hay "lười" gõ tiếng Việt; mà tiếng Việt không dấu chiếm 1 tỉ lệ rất lớn.
Tác dụng của dấu câu là giúp phân biệt cách phát âm, ý nghĩa của 1 từ. Do đó, người đọc rất dễ nhầm lẫn hay thấy khó khăn khi đọc 1 câu tiếng Việt không dấu.
Nghiên cứu này nhằm xây dựng 1 phần mềm tự động thêm dấu cho tiếng Việt. Vì vấn đề không dấu xuất hiện ở nhiều ngôn ngữ, do đó cũng có khá nhiều nghiên cứu về vấn đề này. Nhưng đáng tiếc những nghiên cứu đó đều có những nhược điểm rất lớn và rất khó để ứng dụng cho tiếng Việt. Có 2 hướng chính để giải quyết bài toán này đã được đề ra :
- Dựa vào từ : sử dụng các kĩ thuật như phân tích cú pháp, phân tích từ loại ... để suy đoán dấu của 1 từ. Phương pháp này có độ chính xác rất cao, nhưng lại mất thời gian xử lý, và phụ thuộc rất nhiều vào từng loại ngôn ngữ. Phương pháp này không thể ứng dụng cho tiếng Việt, vì tiếng Việt phải tiến hành phân tích từ, và độ chính xác của quá trình này sẽ rất thấp trên tiếng Việt không dấu. Ngoài ra, phương pháp này còn cần 1 dữ liệu đủ lớn (từ điển) và 1 loạt các quá trình khác. Nên nói chung, không thích hợp với tiếng Việt.
- Dựa vào âm tiết : Sử dụng thống kê ngôn ngữ như n-gram, mô hình ngôn ngữ, ... để suy đoán dấu của 1 từ. Phương pháp này nhanh, đơn giản, không phụ thuộc vào ngôn ngữ nào. Nhưng độ chính xác thấp, và thường chỉ ứng dụng cho những ngôn ngữ đơn giản (ít dấu, ít đồng âm dị nghĩa, ...)
So với các ngôn ngữ khác, dấu trong tiếng Việt phức tạp hơn rất nhiều. Ta sẽ thấy rõ điều đó qua một vài con số thống kê sau :
- Hơn 95% từ tiếng Việt có chứa dấu. Trong khi ở tiếng Pháp là 15%, tiếng Romanian là 35%.
- Hơn 80% âm tiết mất dấu bị trùng lặp và không rõ ràng (ví dụ "cho" có thể hiểu là "chó", "chợ", ... âm tiết rõ ràng ví dụ như "nghieng" chỉ có 1 cách thêm dấu là "nghiêng"). Trong tiếng Pháp là 50%, và tiếng Romanian là 25%.
- Với 1 âm tiết hay 1 từ, sẽ có 1 số cách nhất định để thêm dấu. Tỉ lệ trung bình về số cách thêm dấu của các từ trong tiếng Pháp và tiếng Romanian là khoảng 1.2, trong khi tiếng Việt là >2.
- Ngoài ra, tiếng Việt còn không có dấu phân tách từ.
Với đặc điểm tiếng Việt như thế, chúng tôi đề xuất một phương pháp mới nhằm giải quyết vấn đề này. Phương pháp này tiến hành thêm dấu ở từng
âm tiết một cách
độc lập. Bản chất của phương pháp này là chuyển bài toán thêm dấu về
bài toán gán nhãn chuỗi và sử dụng máy học để thêm dấu. Độ chính xác của phương pháp này lên đến
94.7%.
Dữ liệu được lấy từ các trang báo mạng, các trang đọc sách, ... vì thế vẫn sẽ có 1 số lỗi chính tả hay typing, điều này cũng ảnh hưởng không ít tới kết quả của nghiên cứu.
Để hiểu rõ hơn về phương pháp làm của chúng tôi, bạn có thể tham khảo thêm báo cáo trong hội thảo IALP 2012.
Mã nguồn của nghiên cứu (viết bằng C++) sẽ được công bố trong thời gian sớm nhất.