(Bước đầu áp dụng cho các văn bản số tiếng Việt)
1. Tính cấp thiết của các vấn đề
Từ ngày 01/01/2003, theo Quyết định số 72 của Thủ tướng Chính phủ ngày 20/06/2002, bộ mã Unicode TCVN 6909:2001 sẽ được sử dụng làm bộ mã chuẩn trên phạm vi toàn quốc. Trước đó, ngày 15/11/2002, Bộ Khoa học Công nghệ ra Thông tư 07/2002/TT BKHCN, theo đó các tổ chức nhà nước, cơ quan Đảng sẽ thống nhất dùng mã Unicode dựng sẵn trong giao dịch từ 01/01/2003. Có thể nói sự kiện này là một mốc đánh dấu sự kết thúc của cả một giai đoạn khủng hoảng bộ mã kí tự tiếng Việt: 40 bảng mã 8-bit được dùng để biểu diễn tiếng Việt trên máy tính.
Tuy nhiên, bảng mã không phải là vấn đề nhức nhối duy nhất trong việc biểu diễn chữ viết tiếng Việt (chữ quốc ngữ) trên máy tính. Trong một số năm gần đây, một vấn đề khác lại được phát hiện và cũng đang gây cản trở rất nhiều cho việc lưu trữ, tìm kiếm văn bản tiếng Việt trên máy tính, đó là vấn đề chính tả. Trong đó có hai điểm nổi cộm nhất là: vị trí đặt dấu thanh điệu và sự thiếu thống nhất khi sử dụng “y” và “i”…
Trước đây, khái niệm lỗi chính tả thường được hiểu là các lỗi về mặt chữ viết, tức là các lỗi đơn thuần về mặt ngôn ngữ học. Ví dụ:
- Nhầm lẫn các âm đầu có cách phát âm (gần) giống nhau (đặc biệt là với phương ngữ Bắc): s – x; ch – tr; gi – d – r… hoặc có các cách biểu diễn khác nhau: ng – ngh; g – gh.
- Nhầm lẫn về mặt thanh điệu và các nhầm lẫn do cách phát âm địa phương khác
- …
Tuy nhiên, khi tạo lập văn bản bằng máy tính, người ta, ngoài những lỗi mang tính ngôn ngữ học trên còn mắc những lỗi khác mang tính kĩ thuật. Những hiện tượng bị coi là lỗi kĩ thuật này tồn tại là do những hạn chế của máy tính (chủ yếu trong việc tìm kiếm, nhận dạng) trước những hiện tượng chưa thống nhất về mặt chữ viết:
- Vị trí đặt dấu thanh điệu
- “i ngắn” và “y dài”
- Các lỗi do nguyên nhân mang tính vật lí khác (xảy ra khi nhập từ bàn phím)
- …
Trong những lỗi kĩ thuật trên, chúng tôi cho rằng hai loại lỗi đầu chưa hẳn là lỗi mà là hậu quả của sự không thống nhất. Tuy nhiên, để thuận tiện, chúng tôi tạm coi chúng là lỗi. Và khái niệm lỗi chính tả ở đây tạm thời chỉ chủ yếu đề cập đến lỗi mang tính kĩ thuật.
Như chúng ta đã biết, các lĩnh vực sau đây, nếu muốn hoạt động có hiệu quả, đều cần đến một hệ thống chính tả đã được chuẩn hoá:
- Tìm kiếm
- Kiểm tra chính tả
- Tổng hợp tiếng nói
- Nhận dạng văn bản (gồm cả văn bản in và văn bản viết tay)
- Nhận dạng tiếng nói
Bởi vì, xét cho cùng thì các lĩnh vực trên đều hoạt động theo một quá trình như mô hình sau:
Cụ thể là:
Lĩnh vực | Đầu vào | Xử lí | Đầu ra |
---|---|---|---|
Tìm kiếm | Chuỗi cần tìm (nên được chuẩn hoá ngay bằng bộ gõ) | (văn bản có chuỗi cần tìm có thể đã được chuẩn hoá hoặc chưa) – chuyển đổi chuỗi nhập vào (chuỗi cần tìm) thành hai dạng: chuẩn và phi chuẩn – đối chiếu chuỗi |
Văn bản thoả mãn yêu cầu tìm kiếm |
Kiểm tra chính tả | Văn bản được kiểm tra có thể đã được chuẩn hoá hoặc chưa | Chuẩn hoá chính tả | Văn bản đúng chính tả |
Tổng hợp tiếng nói | Văn bản ở dạng text | – Chuẩn hoá văn bản đầu vào (chính xác là chuyển sang dạng phiên âm: công đoạn grapheme2phoneme) – Tổng hợp |
Âm thanh tiếng nói |
Nhận dạng văn bản | Văn bản ở dạng hình ảnh (nhị phân) | – Nhận dạng – Chuẩn hoá chính tả |
Văn bản ở dạng text (đã được chuẩn hoá chính tả) |
Nhận dạng tiếng nói | Âm thanh tiếng nói | Nhận dạng | Văn bản ở dạng text (đã được chuẩn hoá chính tả) |
Bảng 1: Một số lĩnh vực liên quan đến vấn đề chính tả trên máy tính
Để hiểu thêm về hậu quả của sự thiếu thống nhất, chúng ta hãy xem một vài ví dụ sau:
– Về hậu quả của sự thiếu thống nhất trong đặt dấu thanh điệu:
Với âm tiết [hwa2] trong tiếng Việt thì có thể được “viết trên máy tính” theo hai cách: hoà và hòa. Đối với những người bình thường thì, ngoại trừ cảm nhận chủ quan về thẩm mĩ có thể có, giữa hai cách này hầu như không có vấn đề gì, người ta vẫn đọc đúng. Nhưng với máy tính thì đó lại là hai chuỗi kí tự (string) khác nhau. Bởi vì, hiện nay, theo quy định, chúng ta sử dụng bảng mã Unicode với kiểu biểu diễn dựng sẵn. Theo đó, “hoà” là kết hợp của 3 kí tự: h + o + à; còn “hòa” lại là kết hợp của 3 kí tự: h + ò + a.
hòa == h + ò + a
Do đó, khi tìm kiếm, tuỳ theo cách bỏ dấu của từ khoá và của từ có trong tài liệu cần tìm, sẽ có kết quả rất khác nhau. Như khi tìm kiếm trên VnExpress thông qua Google1 lần lượt với hai từ khoá “hoạ” và “họa”, kết quả ngày 28/4/2005 là:
- hoạ site:vnexpress.net → 8.560
- họa site:vnexpress.net → 25.100
hay trên VietNamNet:
- hoạ site:vietnamnet.vn → 3.860
- họa site:vietnamnet.vn → 3.560
Như vậy, để có kết quả chính xác, người tìm kiếm phải tìm cả hai trường hợp. Và nếu không để ý chuyện bỏ dấu này mà lại chỉ tìm với một trong hai trường hợp thì chắc chắn kết quả tìm kiếm sẽ rất không chính xác.
Còn đối với việc sắp xếp, trong trường hợp danh sách cần sắp xếp được viết theo hai kiểu, thì sự phiền phức cũng không kém. Dưới đây là thử nghiệm với hai chương trình sắp xếp tuân thủ tương đối đúng theo chuẩn sắp xếp tiếng Việt (xem phụ lục).
Môi trường thử nghiệm:
- Hệ điều hành: Linux (Fedora Core 2, nhân 2.6.10–1.771_FC2)
- Java: jre1.5.0_02
Chương trình:
- vnutf8cmp (nằm trong gói vnstrproc-0.2)
- VietPad v1.2 (ngày 14 tháng 4 năm 2005)
Kết quả:
Ban đầu | VietPad | vnutf8cmp | Đúng |
---|---|---|---|
hòa | hoa | hoa | hoa |
hoà | hoà | hòa | hoà |
hoa | hoạ | họa | hòa |
họa | hòa | hoà | hoạ |
hoại | họa | hoạ | họa |
hoạ | hoại | hoại | hoại |
hoàng | hoàng | hoàng | hoàng |
Bảng 2: Kết quả sắp xếp của VietPad và vnutf8cmp
– Về hậu quả của sự thiếu thống nhất trong việc sử dụng “y” và “i”
Sự thiếu thống nhất này là ở việc biểu diễn âm chính /i/ theo hai cách: dùng chữ cái “y” hoặc dùng chữ cái “i”. Cũng như trường hợp trên, việc thiếu thống nhất này tuy không ảnh hưởng mấy tới khả năng đọc của con người nhưng cũng vẫn ảnh hưởng nghiêm trọng tới thời gian và kết quả tìm kiếm trên máy tính. Ví dụ, khi tìm kiếm từ “sĩ/sỹ” trên VnExpress thông qua Google:
- sĩ site:vnexpress.net > 92.000
- sỹ site:vnexpress.net > 13.400
và trên VietNamNet (thông qua Google):
- sĩ site:vietnamnet.vn > 18.300
- sỹ site:vietnamnet.vn > 5.780
Đó là với trường hợp khi tìm với từng từ một, còn khi tìm kiếm chính xác nhiều từ, ví dụ tìm từ “hoạ sĩ” thì người dùng sẽ phải tìm 4 lần: “hoạ sĩ”, “họa sĩ”, “hoạ sỹ”, “họa sỹ”. Còn riêng từ “quý” cũng sẽ có 4 kiểu viết khác nhau: quý, qúy, quí, qúi. Và có thể nói, sự hỗn loạn này cũng là một nguyên nhân khiến nhiều thí sinh thiếu kinh nghiệm không thể tìm thấy tên mình trên bảng điểm khi tra cứu qua mạng…
Hiện nay, tốc độ ứng dụng các thành quả của công nghệ thông tin vào đời sống đang ngày càng cao, cả ở bề rộng lẫn chiều sâu. Chúng ta đang có những nỗ lực nhằm xã hội hoá tin học, xây dựng chính phủ điện tử… và nhất là lượng thông tin được số hoá ngày càng ra tăng. Tình trạng thiếu thống nhất vừa nêu là một rào cản lớn cho những quá trình này.
Do đó, việc giải quyết sự thiếu thống nhất này là một nhiệm vụ cấp thiết.
2. Đối tượng và nhiệm vụ nghiên cứu
Nội dung chính mà khoá luận này hướng tới là thống nhất về vị trí đặt dấu thanh điệu và sử dụng “i” ngắn, “y” dài. Do vậy, đối tượng nghiên cứu chính của khoá luận là hệ thống chữ quốc ngữ trong giai đoạn hiện nay.
Như đã trình bày ở trên, vấn đề thiếu thống nhất về vị trí đặt dấu thanh điệu và sử dụng “i” và “y” trong chữ quốc ngữ hiện nay cần phải được giải quyết càng sớm càng tốt. Nhiệm vụ của khoá luận này là:
- Thứ nhất, xác định đâu là giải pháp hợp lí, tối ưu và đỡ tốn kém nhất;
- Thứ hai, đề xuất những phương thức để đưa giải pháp đó vào thực tiễn.
Yêu cầu cho giải pháp đó là không can thiệp, làm biến dạng kết cấu của hệ thống chữ quốc ngữ. Nói cách khác, khoá luận này không bàn tới việc cải tiến chữ quốc ngữ với tư cách là nhiệm vụ nghiên cứu của mình.
Ngoài ra, riêng về vị trí đặt dấu thanh. Khoá luận này cũng không bàn tới vị trí đặt dấu thanh ở bên trái, bên phải hay bên trên dấu phụ của chữ cái biểu diễn âm chính. Vì đó hoàn toàn thuộc về lĩnh vực đồ hoạ và tuỳ thuộc vào ý tưởng nghệ thuật của người thiết kế phông chữ (font).
3. Phương pháp nghiên cứu và các nguồn tư liệu
Phương pháp chủ yếu được sử dụng trong khoá luận này là phương pháp thống kê, thực hiện bằng các chương trình phần mềm nguồn mở:
- `
sed
‘ (GNU sed version 4.0.8) - `
grep
‘ (grep (GNU grep) 2.5.1) - vnstrproc-0.2 (http://xvnkb.sf.net)
- remove-duplicated-lines.pl (D. Gonze, 01/12/2003)
Về tư liệu khảo sát. Chúng tôi sử dụng hai loại tư liệu cho hai mục đích.
Loại thứ nhất dùng để khảo sát về kết cấu chữ quốc ngữ. Chúng tôi sử dụng Từ điển vần của tác giả Hoàng Phê làm tư liệu khảo sát chính. Ngoài ra còn có một số từ điển tiếng Việt khác được sử dụng với tư cách là nguồn tư liệu bổ sung.
Loại thứ hai dùng để khảo sát về tình hình sử dụng chữ quốc ngữ hiện nay: vị trí đặt dấu thanh điệu, viết “i”/“y”. Vì hiện nay chúng ta chưa có một cơ sở ngữ liệu (corpus) tiếng Việt nào được công bố và sử dụng miễn phí nên chúng tôi sử dụng máy tìm kiếm Google để lấy tư liệu khảo sát.
4. Bố cục khoá luận
Khoá luận được chia làm 3 phần: Mở đầu, Nội dung chính và Kết luận.
Phần Mở đầu giới thiệu tính cấp thiết của vấn đề, đối tượng và phương pháp nghiên cứu, và bố cục khoá luận.
Phần Nội dung chính của khoá luận được chia làm hai chương. Trong đó:
- Chương 1 giải quyết vấn đề vị trí đặt dấu thanh điệu;
- Chương 2 giải quyết vấn đề thống nhất việc sử dụng “i” và “y” trong chữ quốc ngữ hiện nay;
Phần Kết luận tổng kết lại những vấn đề đã được đề cập trong khoá luận; thảo luận thêm về việc áp dụng các nguyên tắc (đã xác định ở hai chương trước) vào trong thực tế. Đồng thời, trong phần này, chúng tôi cũng đưa ra những kiến nghị và những vấn đề khác liên quan.
Ngoài ra, khoá luận còn có phần Phụ lục, bao gồm một số mô hình âm tiết tiếng Việt, chữ quốc ngữ (được biểu diễn ở dạng biểu thức chính quy – regular expressions), danh sách các âm tiết tiếng Việt ở dạng chữ viết…