Bạn nói 你好, bấm dừng, rồi nửa giây sau app báo âm tiết đầu tiên của bạn được 94 điểm, còn thanh 3 thì "nghe giống thanh 2". Kết luận đó từ đâu ra? Có đáng tin không? Và nếu app nói khác giáo viên của bạn, ai mới đúng?
Đây là phiên bản nói thật, do chính đội ngũ xây dựng TonePerfect và bộ máy chấm phát âm của app viết. Đây cũng là cách chúng tôi giải thích cho các lập trình viên dùng API chấm phát âm của mình, chỉ bỏ phần code. Đọc xong, bạn sẽ hiểu điểm phát âm tiếng Trung thật ra đo điều gì, vì sao mỗi âm tiết được tách thành ba phần, vì sao biến điệu dễ làm các bộ chấm đơn giản mắc lỗi, và những tình huống nào vẫn có thể đánh lừa AI.
Muốn thử bằng chính giọng của bạn trước? Làm bài test miễn phí trong hai phút — không cần tài khoản, ngay trên trình duyệt — rồi quay lại xem những con số đó có nghĩa là gì.
Bước 1: app xác định bạn đáng lẽ phải nói gì
Mọi công cụ kiểm tra phát âm theo văn bản đều bắt đầu từ chữ viết. 你好世界 được tách thành bốn âm tiết, và mỗi âm tiết có ba mục tiêu: một phụ âm đầu (phụ âm, như n hoặc sh), một vần (phần nguyên âm, như i hoặc ao) và một thanh điệu (thanh 1–4, hoặc thanh nhẹ). Đây không chỉ là chuyện tiện cho kỹ thuật; đó là cách tiếng Trung được dạy, và cũng là lý do một bộ chấm tốt sẽ báo riêng ba phần này thay vì gom cả từ vào một con số.
Ngay bước này đã có bẫy. Từ điển lưu thanh điệu gốc: 你 luôn là thanh 3. Nhưng ngoài đời không ai đọc liền hai thanh 3 đầy đủ. 你好 được phát âm là ní hǎo — âm tiết đầu chuyển thành thanh 2. Đây là biến điệu thanh 3, một quy tắc bắt buộc, nên nếu bộ chấm đem bạn so với thanh trong từ điển, nó sẽ đánh dấu cách phát âm đúng của bạn là sai. Phần dưới sẽ nói kỹ hơn, vì đây là cách phổ biến nhất khiến app luyện phát âm làm người học hiểu nhầm.
Bước 2: AI khớp âm thanh của bạn với các mục tiêu đó
Một mô hình âm học nơ-ron — được huấn luyện trên hàng nghìn giờ tiếng Trung — nghe bản ghi của bạn theo từng khung nhỏ (mỗi khung khoảng 20 mili giây) và ước lượng trong từng khung đang có âm nào. Sau đó, một thuật toán tìm kiếm sẽ tìm cách khớp chuỗi dự kiến n-i-3, h-ao-3, sh-i-4, j-ie-4 vào các khung đó sao cho hợp lý nhất. Quá trình này gọi là căn chỉnh cưỡng bức (forced alignment), và nhờ nó app mới có thể nói "âm tiết 世 nằm trong khoảng 1.26 đến 1.64 giây" rồi phát lại đúng đoạn đó cho bạn nghe.
Nếu một âm tiết hoàn toàn không khớp được — vì bạn bỏ qua nó, hoặc bản ghi bị cắt mất — đó là điều mà điểm "độ đầy đủ" (completeness) đo lường.
Bước 3: từng phần được so với người bản xứ
Với phụ âm đầu và vần, mô hình hỏi hai câu về đoạn âm thanh đã được căn chỉnh: đoạn này giống âm cần nói đến mức nào? và nếu nó giống một âm khác, thì giống âm nào? Câu hỏi thứ hai tạo ra giá trị "nghe được" — "kỳ vọng sh, nghe được s" — và đây là phần phản hồi bạn thật sự có thể dùng để sửa. Một con số chỉ cho bạn biết âm tiết bị lệch; âm nghe được mới cho bạn biết lệch kiểu gì.
Với thanh điệu, hệ thống trích cao độ từ âm tiết, rồi một mô hình riêng — được huấn luyện trên một tập lớn âm tiết của người học, có nhãn thanh điệu và được đối chiếu với đánh giá của chuyên gia — sẽ quyết định đường nét thanh điệu nào đã được tạo ra và mức độ chắc chắn ra sao. Việc theo dõi cao độ rất dễ nhiễu — giọng rè, tiếng ồn nền, giọng quá trầm hoặc quá cao đều có thể làm méo kết quả — nên các bộ máy nghiêm túc huấn luyện mô hình trên dữ liệu người học đã gán nhãn, thay vì viết tay những quy tắc kiểu "thanh 4 phải đi xuống".
Điểm quan trọng là điểm số được đặt trên một thang đo đã hiệu chỉnh theo người bản xứ, cho từng âm riêng. Với một số vần, người bản xứ phát âm khá khác nhau; với những vần khác, họ gần như giống nhau. Một người học hơi lệch ở âm mà chính người bản xứ cũng phát âm đa dạng thì không nên bị trừ nặng như khi lệch ở âm mà người bản xứ phát âm rất ổn định. Đây cũng là lý do điểm số không phải phần trăm: 72 không có nghĩa là "đúng 72%", mà là "cách phát âm này cách giọng bản xứ điển hình ở âm này một khoảng như vậy".
Bước 4: quyết định có nên báo cho bạn không
Đây là phần hầu hết app bỏ qua. Điểm số cho biết bạn cách giọng bản xứ bao xa; nó không cho biết khoảng cách đó có đáng để ngắt mạch luyện tập của bạn hay không. Một nguyên âm hơi lệch, được 78 điểm, chưa chắc đã làm giáo viên dừng buổi học. Một bộ máy cứ thấy 78 là báo lỗi sẽ chôn điều bạn thật sự cần sửa dưới cả đống cảnh báo màu vàng.
Tệ hơn là lỗi ngược lại: bảo người học sai khi họ nói đúng. Chúng tôi đo chuyện này rất kỹ. Trước khi bất kỳ mô hình nào được đưa vào app, chúng tôi chạy nó qua hàng nghìn bản ghi của người bản xứ từ các kho ngữ liệu nghiên cứu công khai, rồi đếm xem nó kết luận nhầm họ sai bao nhiêu lần. Con số đó — số lần báo lỗi sai trên giọng người bản xứ — là thứ chúng tôi quan tâm nhất, vì nếu người học bị sửa một lỗi mà họ không hề mắc, họ sẽ mất niềm tin vào app, và điều đó hoàn toàn hợp lý.
Vì vậy, với mỗi thành phần, bộ máy tạo ra hai thứ: một điểm số để hiển thị và theo dõi tiến bộ, và một quyết định — sửa, chưa chắc, bỏ qua — để app biết nên nói gì với bạn. Khi bạn thấy TonePerfect hiện điểm không quá cao nhưng không sửa lỗi, đó không phải bug; đó là bộ máy đang nói "chưa giống bản xứ, nhưng chưa đáng dừng lại để sửa".
Vấn đề biến điệu, nói cho rõ ràng
Quay lại với 你好. Khi chúng tôi đo bộ máy của mình trên các chuỗi thanh-3-cộng-thanh-3 nhưng vẫn chấm theo thanh trong từ điển, khả năng phân biệt thanh đúng và thanh sai trong ngữ cảnh đó không hơn gì tung đồng xu — đúng ở ngữ cảnh mà người học hay mắc lỗi thanh điệu nhất. Cách sửa không phải là huấn luyện lại mô hình (người học chỉ tạo ra biến điệu đúng khoảng một lần trong mười lần, nên nếu gán lại nhãn dữ liệu huấn luyện, mô hình sẽ học rằng hầu hết chuỗi 3-3 là thanh 2, rồi làm hỏng các trường hợp khác). Cách sửa là chấp nhận cả hai cách thể hiện khi chấm điểm — thanh 3 hoặc thanh 2 đều đúng cho âm tiết đầu của 你好 — đồng thời vẫn báo âm nào đã được nghe thấy.
Cách này cũng được áp dụng cho 不 trước thanh 4 (不对 bú duì). Nhưng chúng tôi cố ý không áp dụng cho 一, vì 一 đổi thanh tùy theo từ chứa nó — trong 第一 và khi đếm số, nó vẫn giữ thanh 1 — và việc áp quy tắc máy móc đã được đo là làm kết quả tệ hơn. Nếu bạn là lập trình viên, phần giải thích kỹ thuật nằm trong Tone sandhi in pronunciation scoring.
Điều này có nghĩa là: nếu một app đánh dấu ní hǎo của bạn là sai, thì app đó sai. Nếu app hiện "kỳ vọng thanh 3, nghe được thanh 2" kèm điểm tốt, nó đang cho bạn thấy biến điệu trong thực tế.
Những chỗ AI vẫn chấm sai
Chúng tôi muốn bạn biết trước những điều này hơn là tự phát hiện theo cách bực mình.
Bản ghi quá ngắn hoặc bị cắt. Nếu micro bắt đầu muộn hoặc bạn dừng quá sớm, quá trình căn chỉnh không có gì để bám vào và mô hình thanh điệu phải đoán. Hãy chừa một nhịp im lặng ngắn trước và sau khi nói.
Nói nhanh hoặc chậm hơn nhiều so với mức mô hình quen xử lý. Mô hình thanh điệu khá nhạy với tốc độ. Kéo dài một âm tiết để "làm rõ thanh điệu" có thể đẩy nó ra ngoài phạm vi mô hình từng được huấn luyện, khiến bạn mất điểm oan — ngược hẳn với điều người học thường nghĩ. Hãy nói với tốc độ tự nhiên.
Giọng rè và nói thầm. Theo dõi cao độ cần âm có rung dây thanh. Nếu bạn rơi vào giọng rè ở thanh 3 (nhiều người nói tiếng Anh hay gặp), đường nét thanh điệu sẽ khó đọc và điểm thanh điệu trở nên kém đáng tin.
Giọng địa phương. Chuẩn tham chiếu là tiếng Trung phổ thông chuẩn. Một người nói giọng miền nam Trung Quốc, gộp sh và s làm một, sẽ được báo như vậy — khi đó bộ máy đang làm đúng việc của nó. Nhưng bạn nên biết rằng "bản xứ" ở đây nghĩa là Putonghua, không phải bất kỳ người bản xứ nào ở bất kỳ vùng nào.
Những âm nằm ngoài phạm vi mô hình. Bộ máy nào cũng có danh sách những âm nó chưa đánh giá tốt; bộ máy trung thực sẽ nói rõ. Chúng tôi công bố danh sách này theo từng ngôn ngữ trong tài liệu API và đánh dấu các âm đó là "chưa được đánh giá" thay vì "sai".
Ý nghĩa, trọng âm và cảm xúc. Bộ máy chấm âm. Nó không biết bạn có nói đúng từ hay không, bạn nhấn giọng có hợp ngữ cảnh không, hay giọng bạn nghe có thân thiện không. Giáo viên thì biết. Hãy dùng AI cho việc AI làm tốt — phản hồi bền bỉ, nhất quán, theo từng âm tiết qua hàng trăm lần lặp — và dùng con người cho phần còn lại.
Cách dùng điểm số mà không bị đánh lừa
- Đọc âm nghe được, đừng chỉ nhìn con số. "Kỳ vọng sh, nghe được s" là một bài luyện cụ thể; 68 chỉ là một cảm giác.
- Mỗi lần thử chỉ sửa một thứ. Bộ máy đã chọn lỗi mà nó chắc nhất; những lỗi còn lại cứ tạm bỏ qua.
- So sánh bạn với hôm qua, đừng so với 100. Thang đo được hiệu chỉnh theo từng âm; giọng người bản xứ thật không phải âm tiết nào cũng 100 điểm.
- Khi một biến điệu đúng bị báo sai, hãy nghi ngờ app, đừng nghi ngờ bản thân.
- Ghi âm tự nhiên. Tốc độ bình thường, âm lượng bình thường, chừa một nhịp im lặng ở hai đầu.
Thử bằng chính giọng của bạn
Bài test TonePerfect miễn phí chấm thanh điệu, phụ âm đầu và vần cho từng âm tiết bạn nói, ngay trên trình duyệt, trong khoảng hai phút. Nếu bạn đang xây phần mềm học ngôn ngữ và muốn dùng cùng bộ máy này trong sản phẩm của mình — cho tiếng Trung và sáu ngôn ngữ khác — nó có sẵn dưới dạng API chấm phát âm.