Tôi Cần Một Bàn Phím Tiếng Trung Như Thế Nào?
Tôi đã không thể chịu nổi các thông báo cập nhật phiền toái của Windows nên cuối cùng quyết định nâng cấp lên Windows 10. Điều khó chịu nhất chính là bộ gõ tiếng Trung mới. Bàn phím ABC thông minh - công cụ tôi đã sử dụng quen thuộc - hoàn toàn không còn dùng được nữa. Nhân tiện, bố tôi vì không dùng được ABC nên không thể gõ được chữ Hán, đành phải cài lại hệ điều hành và quay về Windows 7. Tôi không rành kỹ thuật đến mức đó nên đành nghĩ đến phương pháp khác.
Nhiều năm trước tôi đã từng viết về việc tại sao mình cần bàn phím ABC thông minh, đến tận bây giờ quan điểm này vẫn không thay đổi. Tôi nghe nói QQ Pinyin đã thêm chế độ ABC, thực chất chỉ là bổ sung năm nét bút, nhưng họ không hiểu được lý do tại sao ABC lại được thiết kế như vậy nên làm không tốt.
Không phải ABC hoàn hảo tuyệt đối, nếu tôi tự thiết kế một bàn phím tiếng Trung lý tưởng, chắc chắn sẽ có nhiều điểm khác biệt so với ABC. Tuy nhiên cốt lõi vẫn là: trao cho mỗi chữ Hán nhiều hình thức mã hóa hơn, kết hợp với từ ngữ (không phải câu) để giảm thiểu sự trùng lặp mã.
Xét về âm đọc, chữ Hán có hơn 10 âm tiết thường dùng, hơn 30 âm tiết ít dùng hơn, và hơn 60 âm tiết hiếm gặp. Tổng cộng hơn 100 âm tiết để biểu đạt 3.000 chữ thường dùng, tỷ lệ trùng mã đã lên tới hơn 20 lần. Vì vậy với những âm tiết có nhiều chữ đồng âm, mỗi lần chọn từ phải lật qua vài trang ứng viên. Chỉ dùng âm đọc để gõ chữ đơn thì hiệu suất cực kỳ thấp, đây cũng chính là lý do tại sao trước đây xuất hiện nhiều bàn phím dựa trên hình dạng chữ.
Nếu gõ theo từ ngữ, ngay cả khi chỉ dựa vào âm đọc, tỷ lệ trùng mã cũng giảm đáng kể. Tuy nhiên vấn đề nằm ở chỗ từ mới không ngừng xuất hiện, đặc biệt là các từ đồng âm chơi chữ vốn cố ý trùng âm với từ truyền thống. Khi chúng ta cần sửa đổi chữ đơn trong từ đã có để phù hợp văn cảnh, chỉ dựa vào âm đọc để tra chữ sẽ khiến hiệu suất gõ cực kỳ kém.
Hầu hết mọi người khi cần gõ chữ đơn (thường gặp nhất là tên người không nổi tiếng) sẽ cố ý gõ một từ ghép rồi xóa chữ phụ không cần thiết. Khi chữ cần dùng ở đầu từ, chỉ cần nhấn phím xóa một lần; nhưng khi chữ cần dùng ở cuối từ thì phức tạp hơn nhiều: bạn phải dùng phím mũi tên lùi lại, xóa, rồi di chuyển con trỏ trở lại.
ABC đã sáng tạo ra một phương pháp, dùng dấu [] để trực tiếp trích xuất chữ từ từ ngữ. Cụ thể là bạn có thể nhập một từ, thêm dấu [, chỉ lấy chữ đầu tiên của từ đó. Đây là ý tưởng hay, nhưng chưa giải quyết triệt để, theo tôi chưa chạm đến bản chất vấn đề, phần sau sẽ phân tích kỹ hơn.
Khi gõ theo từ ngữ vẫn chưa giải quyết được hiệu suất do trùng mã, nhiều người nghĩ đến phương pháp gõ cả câu. Vì trong giao tiếp bằng lời, hiếm khi có trường hợp nghe cả câu mà vẫn hiểu sai. Chỉ cần nâng cao độ chính xác của thuật toán phân tách câu, kết hợp với kho từ vựng đám mây khổng lồ, tỷ lệ trùng mã do đồng âm sẽ tiếp tục giảm.
Theo tôi đây là con đường sai lầm. Có thể một số người thấy tiện, nhưng ít nhất với tôi thì không phù hợp.
Tôi hy vọng khi gõ chữ Hán, luôn có thể nhận được chữ đúng ngay lập tức, chứ không phải gõ xong cả câu rồi mới kiểm tra lỗi và quay lại sửa. Con người vốn lười biếng, thường sẽ bỏ qua không sửa. Luôn phải chú ý xem câu đã gõ có chữ sai nào không, chương trình đã tự sửa chưa, đây là gánh nặng cực lớn. Chưa kể, nhu cầu gõ chữ đơn và từ chưa có trong từ điển (đặc biệt là tên người) là không thể tránh khỏi, việc tự động chọn chữ dựa vào phân tách câu là không khả thi.
Quan điểm cá nhân tôi: ngay cả khi gõ cả câu, con người chủ động phân tách từ ngữ là đủ rồi, không cần quá khắt khe với thuật toán. Tốc độ gõ phím của con người vốn đã vượt xa nhu cầu tốc độ lý tưởng khi nhập chữ Hán. Nếu mỗi lần hoàn thành một từ, chúng ta chủ động nhấn phím cách thêm một lần để phân tách từ, cú đánh phím bổ sung này không làm giảm tốc độ, nhưng lại hoàn thành được công việc mà thuật toán khó có thể làm tốt.
Hãy cùng bàn về triết lý cốt lõi của bàn phím ABC theo quan điểm của tôi: mỗi chữ Hán đều có nhiều phương án mã hóa, chứ không chỉ một.
Âm đọc là một dạng mã hóa của chữ Hán. Do sự phổ biến của phiên âm Hán-Việt (Pinyin), đây có thể coi là mã hóa tự nhiên với lượng ghi nhớ bổ sung tối thiểu. Tất nhiên cũng có ngoại lệ, như bố tôi hầu như không học Pinyin, nhưng biết tiếng