Bộ Gõ Google - nói dối e blog

Bộ Gõ Google

Sáng nay vừa mở máy tính, những tin nhắn từ khắp nơi trên thế giới gửi đến qua ứng dụng nhắn tin tức thời đều chung một nội dung: Google cuối cùng đã ra mắt bộ gõ tiếng Trung! (Bạn có thể tải về tại đây, tập tin này có chữ ký số của Google nên hoàn toàn không lo bị cài phần mềm gián điệp).

Tôi không cảm thấy bất ngờ chút nào. Sản phẩm này sở hữu một tính năng hoàn toàn dễ đoán: thói quen gõ phím của người dùng (có thể bao gồm tần suất từ vựng và từ tự tạo) có thể đồng bộ với tài khoản Gmail. Đây chắc chắn là một trong những điểm hấp dẫn nhất. Một đồng nghiệp của tôi từng say mê Google Reader cũng vì lý do tương tự.

Tôi yêu Google, nhưng không phải kiểu yêu mù quáng. Sau khi trải nghiệm thử, tôi vẫn không thể rời bỏ được Smart ABC. Tuy nhiên tôi rất mong được kết nối với nhóm phát triển bộ gõ Google (vì tôi tin đây không phải sản phẩm của một đội ngũ hùng hậu), để góp ý giúp họ hoàn thiện hơn. Trong ấn tượng của tôi, các kỹ sư Google vừa biết lắng nghe ý kiến, vừa có năng lực biến ý tưởng thành hiện thực rất nhanh. Điều này khác biệt với nhóm phát triển Popo của NetEase mà tôi từng tiếp xúc - họ cũng tiếp thu ý kiến nhưng thường không triển khai.

Smart ABC thực sự là một bộ gõ xuất sắc, chỉ tiếc phần lập trình chưa thực sự tối ưu. Nếu thành thạo sử dụng và triển khai đúng cách, có lẽ chẳng cần đến các bộ gõ nổi tiếng như Microsoft Pinyin, Unihan hay Pinyin++…

Tôi bắt đầu dùng Smart ABC từ thời DOS, phiên bản gốc phong phú hơn nhiều so với phiên bản Windows hiện nay. Đặc biệt phần mã hình học (shape code) đã bị lược bỏ. Thực tế chứng minh việc này không ảnh hưởng nhiều, bởi ngay cả những tính năng độc đáo còn lại cũng ít người thực sự khai thác. Nhiều người dùng ABC chỉ đơn giản vì tiện tạo từ mới hoặc gõ thành ngữ nhanh chóng.

Hôm nay tôi muốn chia sẻ hai tính năng đặc biệt của Smart ABC giúp định vị chữ đơn cực kỳ hiệu quả:

Thứ nhất: Hai phím ngoặc vuông [ và ] cho phép chọn chữ đầu hoặc chữ cuối của từ. Ví dụ khi gõ “衣” (yī) - chữ này có quá nhiều đồng âm, ta có thể gõ “yinfu[” để chọn chính xác chữ đầu tiên của từ “衣服” (yīfu). Nhiều người vẫn thường gõ cả từ rồi xóa bớt, nhưng tôi sẽ chứng minh ứng dụng mở rộng của tính năng này sau.

Thứ hai: Mã nét chữ (stroke code): 1-2-3-4-5 đại diện cho các nét cơ bản ngang, dọc, phẩy, móc, khuyết. Với sự phổ biến của điện thoại di động, quy tắc này đã khá quen thuộc. Tuy nhiên theo tôi đánh giá, việc chỉ dùng 5 mã nét là chưa đủ và gây lãng phí. Smart ABC định nghĩa đến 8 loại hình học đặc biệt: 6 là nét cong ngược chiều kim đồng hồ, 7 là nét giao chéo, 8 là khung vuông. Khi kết hợp mã pinyin với mã nét phía sau, tỷ lệ trùng mã giảm mạnh. Ví dụ với chữ “衣”, gõ “yi41” hoặc “yi4f[” đều rất chính xác.

Ngoài ra Smart ABC còn nhiều tính năng chi tiết khác, bạn có thể tìm hiểu kỹ trong phần trợ giúp (Help) ở menu chuột phải khi chuyển bộ gõ.

Dù hiện nay đa số người dùng thiên về gõ theo từ vựng, nhưng khi thiết kế bộ gõ, độ chính xác khi nhập chữ đơn vẫn cực kỳ quan trọng. Ngoài việc nhập tên riêng, khi tạo từ mới lần đầu tiên, nhu cầu này càng trở nên cấp thiết. Nếu không thể định vị chính xác chữ đơn, người dùng sẽ phải mò mẫm chọn giữa hàng loạt ký tự đồng âm. Lúc này, thao tác gõ từ rồi xóa ngược lại cũng không còn hiệu quả. Phương pháp chọn chữ bằng phím mũi tên đòi hỏi sự phản hồi của mắt thật sự rất bất tiện. Tôi tin bất kỳ ai dùng bộ gõ kiểu âm mã đều từng trải qua cảm giác này. Lúc đó, điều người dùng cần không phải là mã hóa ngắn hơn, mà là hệ thống mã hóa ít trùng lặp và dễ ghi nhớ. Tôi biết Google Pinyin cho phép dùng “u” để nhập mã nét thuần túy, nhưng điều này vẫn chưa đủ.

Hơn nữa, tiếng Trung có rất nhiều chữ đồng âm, thậm chí cả từ đồng âm cũng không hiếm. Các bộ gõ truyền thống thực chất là mối quan hệ một-nhiều (one-to-many). Ví dụ pinyin “yifu” có thể là “衣服” hoặc “依附”. Tôi kỳ vọng một hệ thống lưu trữ dữ liệu thông minh hơn - mối quan hệ nhiều-nhiều (many-to-many), nơi mỗi từ có thể có nhiều mã hóa khác nhau để ghi nhận thói quen người dùng. Ví dụ: “yf” ưu tiên “应付”, “yif” ưu tiên “衣服”, “yifu” ưu tiên “依附”… Đây chính là chiến lược mà bộ gõ “Zhangyi” (掌易) trên điện thoại tôi đang dùng áp dụng. Khi hệ thống càng thích nghi với thói quen, trải nghiệm gõ phím sẽ ngày càng mượt mà.

Nếu công nhận hướng đi này, việc bổ sung mã nét sẽ mở rộng đáng kể không gian mã hóa chữ đơn. Nếu chỉ dựa vào âm đầu và toàn âm (2 phương thức), với từ hai chữ sẽ có 4 tổ hợp. Nhưng khi thêm một mã nét, con số này lập tức tăng lên 8 - hoàn toàn đủ để giải quyết phần lớn vấn đề trùng mã.

0%