VietASI.comVietASI
Tiếng Việt khó với máy ở đâu

Từ đồng âm tiếng Việt: vì sao AI hiểu nhầm “con ngựa đá con ngựa đá”

Tiếng Việt nhiều từ đồng âm, cả thuần Việt lẫn yếu tố Hán Việt. Máy phân biệt nghĩa thế nào, vì sao vẫn nhầm ở câu ngắn, chơi chữ, tên riêng, và cách viết rõ nghĩa.

Primary school teacher reading aloud to pupils in a bright classroom in Thai Nguyen, children seen from behind at wooden desks, chalkboard wiped clean

Từ đồng âm là những từ viết và đọc giống nhau nhưng nghĩa khác hẳn nhau, và tiếng Việt có rất nhiều: “đường” là chất ngọt hoặc lối đi, “đá” là hòn đá, cú đá hoặc nước đá, “bàn” là cái bàn hoặc bàn bạc. Câu đố quen thuộc “Con ngựa đá con ngựa đá” cho thấy rõ: cùng một chữ “đá” vừa là động từ vừa là tính chất, cùng “con ngựa” vừa là con vật thật vừa là tượng. Người Việt chọn nghĩa dựa vào ngữ cảnh mà không cần nghĩ; máy phải học cách làm việc đó.

Ngoài từ đồng âm thuần Việt, tiếng Việt còn có hàng loạt yếu tố Hán Việt trùng âm: “phi” trong phi công (bay), phi pháp (không phải), phi tần (vợ vua) là ba yếu tố gốc khác nhau. Máy hiện nay phân biệt nghĩa khá tốt trong câu đủ dài, nhưng vẫn nhầm ở câu ngắn, tiêu đề, chơi chữ, tên riêng trùng từ thường và khi giải nghĩa yếu tố Hán Việt. Bài này giải thích cơ chế, chỗ máy sai và cách viết, cách kiểm để tránh bị dẫn sai.

Vì sao tiếng Việt có nhiều từ đồng âm

Nguyên nhân gốc nằm ở cấu trúc âm tiết. Tiếng Việt là ngôn ngữ đơn lập, phần lớn đơn vị mang nghĩa là một âm tiết, và số âm tiết khác nhau có thể tạo ra là hữu hạn (dù đã được nhân lên nhờ sáu thanh điệu). Trong khi đó số khái niệm cần gọi tên lại rất lớn. Khi kho âm tiết có hạn phải gánh nhiều nghĩa, việc một âm tiết mang nhiều nghĩa không liên quan là tất yếu.

Nguyên nhân thứ hai là lớp từ Hán Việt. Qua nhiều thế kỷ, tiếng Việt vay mượn một lượng lớn yếu tố từ tiếng Hán, đọc theo cách đọc Hán Việt. Nhiều chữ Hán khác nhau, vốn phân biệt bằng mặt chữ, khi đọc theo âm Hán Việt lại trùng nhau. “Thủ” trong thủ công (tay), thủ đô (đầu), thủ thành (giữ) là ba chữ Hán khác nhau. “Đồng” trong đồng ý (cùng), đồng thau (kim loại), đồng dao (trẻ em) cũng vậy. Khi chữ Quốc ngữ thay chữ Hán, những phân biệt bằng mặt chữ ấy không còn trên trang giấy.

Nguyên nhân thứ ba là sự chuyển nghĩa và trùng hợp ngẫu nhiên giữa từ thuần Việt và từ Hán Việt: “đồng” là cánh đồng (thuần Việt) trùng với “đồng” Hán Việt; “sao” là ngôi sao, là “vì sao”, là sao chép. Một số trường hợp là đa nghĩa (các nghĩa có liên hệ, như “cổ” là cổ người và cổ chai), một số là đồng âm thật sự (nghĩa không liên quan). Với máy, ranh giới đa nghĩa và đồng âm không quan trọng bằng câu hỏi thực dụng: trong câu này, nghĩa nào đúng.

Ngôn ngữ nào cũng có đồng âm, tiếng Anh có “bank” là ngân hàng và bờ sông. Điểm khác ở tiếng Việt là mật độ: trong một đoạn văn bình thường, số âm tiết có từ hai nghĩa trở lên là rất lớn, nên máy luôn phải chọn nghĩa, không chỉ thỉnh thoảng.

Một số từ đồng âm hay gặp và cặp câu minh hoạ

Bảng dưới gồm vài từ đồng âm quen thuộc. Mỗi cặp câu cho thấy ngữ cảnh quyết định nghĩa thế nào.

TừNghĩa 1 và câuNghĩa 2 và câu
đườngchất ngọt: “Cho thêm thìa đường vào cà phê.”lối đi: “Con đường này mới làm.”
đáhành động: “Cậu bé đá quả bóng.”vật chất: “Bức tượng bằng đá” / nước đá: “Cho thêm đá vào ly.”
bànđồ vật: “Đặt sách lên bàn.”thảo luận: “Cả nhà bàn chuyện sửa nhà.”
câuđơn vị ngôn ngữ: “Viết lại câu này.”hoạt động: “Ông ngồi câu cá.”
lợiphần trong miệng: “Đau lợi răng.”ích lợi: “Việc này có lợi cho cả hai.”
phi (Hán Việt)bay: “phi công”, “phi cơ”không phải: “phi pháp”, “phi lợi nhuận”; và “phi tần” (vợ vua)

Những câu trong bảng đủ ngữ cảnh nên máy hiện đại thường hiểu đúng. Khó khăn thật nằm ở những câu ngắn hơn, không có từ “gợi ý”, hoặc cố tình chơi chữ.

Máy phân biệt nghĩa bằng cách nào

Từ điển nghĩa và luật ngữ cảnh. Cách cổ điển: lập danh sách nghĩa cho mỗi từ, kèm những từ hay đi cùng mỗi nghĩa. “Đường” đi với “thìa”, “ngọt”, “cà phê” thì là chất ngọt; đi với “đi”, “xe”, “ngã tư” thì là lối đi. Bài toán này có tên chuyên môn là phân giải nghĩa từ (word sense disambiguation). Cách luật làm được việc nhưng tốn công lập và bỏ sót nhiều.

Nhúng từ tĩnh. Thế hệ tiếp theo biểu diễn mỗi từ bằng một dãy số (vector) học từ ngữ cảnh xuất hiện của nó. Vấn đề là mỗi từ chỉ có một vector, nên “đường” chất ngọt và “đường” lối đi bị trộn thành một điểm nằm giữa hai nghĩa. Với tiếng Việt nhiều đồng âm, đây là điểm yếu rõ.

Nhúng theo ngữ cảnh. Các mô hình kiểu BERT, trong đó có PhoBERT cho tiếng Việt, và các mô hình ngôn ngữ lớn sau này tạo biểu diễn khác nhau cho cùng một từ tuỳ câu chứa nó. “Đường” trong câu về cà phê và “đường” trong câu về giao thông cho ra hai vector khác nhau. Đây là bước tiến chính giúp máy xử lý đồng âm tốt hơn hẳn.

Kiến thức thế giới của mô hình lớn. Mô hình ngôn ngữ lớn còn dùng hiểu biết chung: biết tượng ngựa thường làm bằng đá, biết ngựa thật có thể đá. Nhờ đó nó giải được câu đố “con ngựa đá” khi được hỏi. Nhưng kiến thức này cũng là con dao hai lưỡi: mô hình có thể chọn nghĩa “hợp lý nhất” theo thống kê thay vì nghĩa đúng trong một tình huống đặc biệt.

Những chỗ máy vẫn hay nhầm

Dù mô hình theo ngữ cảnh đã giảm lỗi đồng âm rất nhiều, một số tình huống vẫn khó. Biết trước giúp người dùng đọc kết quả với sự cảnh giác đúng chỗ.

  • Câu ngắn và tiêu đề. Tiêu đề báo hay dòng trạng thái ngắn thiếu ngữ cảnh: “Giá đường tăng” là giá đường ăn, nhưng “Mở rộng đường” lại là đường giao thông. Một hệ thống phân loại tin tức chỉ nhìn tiêu đề có thể xếp nhầm chuyên mục.
  • Chơi chữ và câu đố. Câu đố dân gian, quảng cáo chơi chữ, nói lái cố tình khai thác đồng âm. Mô hình lớn giải được những câu nổi tiếng vì đã gặp lời giải trong dữ liệu, nhưng với câu chơi chữ mới, nó hay giải thích sai hoặc bịa ra cách hiểu nghe hợp lý.
  • Tên riêng trùng từ thường. Tên người như Hồng, Lan, Đào, Hà, Sơn, Hải đồng thời là danh từ chung. Trong câu không viết hoa (tin nhắn, bình luận), máy dễ hiểu nhầm “hồng” là màu hay hoa thay vì tên người.
  • Giải nghĩa yếu tố Hán Việt. Khi được hỏi “chữ X trong từ Y nghĩa là gì”, chatbot đôi khi chọn nhầm chữ Hán đồng âm và giải thích rất tự tin. Lỗi này khó phát hiện với người không biết chữ Hán.
  • Văn bản không dấu. Bỏ dấu làm số từ đồng dạng tăng vọt: không chỉ “đường” mà còn “dương”, “dường”, “đương” đều thành “duong”. Đồng âm và mất dấu cộng lại khiến máy đoán sai nhiều hơn hẳn.
  • Tìm kiếm theo từ khoá. Hệ thống tìm kiếm truyền thống không phân biệt nghĩa: tìm “đá” ra cả đá xây dựng, đá bóng, nước đá. Tìm kiếm theo nghĩa bằng mô hình nhúng xử lý tốt hơn, nhưng vẫn cần ngữ cảnh trong câu tìm.

Đồng âm Hán Việt: chỗ chatbot hay giải thích sai mà nghe rất thuyết phục

Một tình huống phổ biến: người dùng hỏi chatbot nghĩa của một từ Hán Việt, ví dụ để đặt tên con, đặt tên cửa hàng, hay giải thích một thuật ngữ. Chatbot tách từ thành từng yếu tố và giải nghĩa từng chữ. Nếu một yếu tố có nhiều chữ Hán đồng âm, mô hình phải chọn đúng chữ trong từ đó. Thông tin này không có trên mặt chữ Quốc ngữ, nó phải được nhớ từ dữ liệu.

Với từ thông dụng, mô hình thường chọn đúng. Với từ hiếm, tên riêng, hay từ mà các yếu tố có nhiều chữ đồng âm, mô hình có thể chọn nhầm rồi dựng cả một lời giải thích mạch lạc trên chữ sai. Câu trả lời trông rất có học: có chữ Hán, có nghĩa gốc, có ví dụ. Người đọc không biết chữ Hán gần như không có cách nào nhận ra.

Nguyên nhân sâu xa là dữ liệu song song giữa chữ Quốc ngữ và chữ Hán tương ứng ít hơn nhiều so với văn bản Quốc ngữ thông thường. Mô hình học được rằng “phi công” liên quan đến bay, nhưng việc ánh xạ chính xác từng âm Hán Việt về đúng chữ Hán là một kỹ năng đòi hỏi dữ liệu chuyên biệt.

Cách tự bảo vệ đơn giản: coi phần giải nghĩa Hán Việt của chatbot là gợi ý, rồi đối chiếu với từ điển Hán Việt đáng tin hoặc hỏi người biết chữ Hán. Khi nhờ chatbot, có thể yêu cầu nó ghi chữ Hán kèm theo và nói rõ nếu yếu tố đó có nhiều chữ đồng âm, để biết chỗ nào cần kiểm. Với những việc như đặt tên, nên kiểm kỹ hơn bình thường vì một chữ sai đi theo người cả đời.

Viết và hỏi sao cho máy ít hiểu nhầm

Người dùng không sửa được mô hình, nhưng có thể giảm đáng kể lỗi đồng âm bằng cách viết đầu vào rõ hơn. Các thói quen dưới đây hữu ích cả khi hỏi chatbot lẫn khi soạn văn bản sẽ được máy xử lý.

  1. Gõ có dấu đầy đủ; đây là bước giảm nhập nhằng lớn nhất.
  2. Thêm một từ ngữ cảnh ở những chỗ đồng âm dễ nhầm: “đường ăn”, “đường giao thông”, “nước đá”, “đá xây dựng”.
  3. Viết hoa tên riêng, kể cả trong tin nhắn nhanh, nhất là tên trùng danh từ chung như Hồng, Lan, Sơn.
  4. Với tiêu đề dùng để máy phân loại, tránh tiêu đề quá ngắn, hai ba chữ; thêm một cụm làm rõ chủ đề.
  5. Khi hỏi nghĩa Hán Việt, yêu cầu chatbot ghi chữ Hán và cho biết yếu tố nào có chữ đồng âm, rồi kiểm lại bằng từ điển.
  6. Khi đánh giá một hệ thống phân loại hay tìm kiếm tiếng Việt, đưa vào một bộ câu thử chứa từ đồng âm ở cả hai nghĩa, xem nó xử lý thế nào.

Với những văn bản quan trọng như hợp đồng, thông báo, hướng dẫn an toàn, cách chắc nhất vẫn là viết sao cho người đọc không phải đoán. Văn bản người đọc dễ hiểu thì máy cũng dễ hiểu.

Câu hỏi thường gặp

Đồng âm và đa nghĩa khác nhau thế nào?

Từ đa nghĩa có các nghĩa liên hệ với nhau, thường là nghĩa gốc và nghĩa chuyển, ví dụ “cổ” trong cổ người và cổ chai. Từ đồng âm có các nghĩa không liên quan, chỉ tình cờ trùng âm, ví dụ “đường” ăn và “đường” đi. Ranh giới đôi khi không rõ và các nhà ngôn ngữ học có thể xếp khác nhau.

Mô hình ngôn ngữ lớn đã giải quyết xong chuyện đồng âm chưa?

Chưa hoàn toàn. Mô hình lớn xử lý tốt câu thông thường có đủ ngữ cảnh, nhưng vẫn nhầm ở câu rất ngắn, câu chơi chữ mới, tên riêng không viết hoa, văn bản không dấu và khi giải nghĩa yếu tố Hán Việt hiếm. Mức độ sai giảm nhiều so với trước nhưng chưa về không.

Vì sao chatbot giải được câu đố “con ngựa đá” mà vẫn nhầm câu khác?

Câu đố nổi tiếng đã xuất hiện nhiều lần trong dữ liệu kèm lời giải, nên mô hình nhớ được. Với một câu chơi chữ mới, mô hình phải thật sự suy luận, và nó có thể chọn nghĩa phổ biến hơn hoặc dựng một lời giải thích nghe hợp lý nhưng sai. Giải được câu quen không chứng minh được khả năng với câu lạ.

Có nên tin chatbot khi giải nghĩa tên Hán Việt để đặt tên con không?

Nên coi là gợi ý ban đầu. Nhiều âm Hán Việt ứng với nhiều chữ Hán khác nhau, và chatbot có thể chọn nhầm chữ rồi giải thích rất thuyết phục. Hãy yêu cầu nó ghi chữ Hán, sau đó đối chiếu với từ điển Hán Việt hoặc hỏi người am hiểu chữ Hán trước khi quyết định.

Tìm kiếm theo nghĩa có hết lẫn kết quả đồng âm không?

Giảm đáng kể nhưng không hết. Tìm kiếm theo nghĩa dùng mô hình nhúng theo ngữ cảnh, nên câu tìm đầy đủ như “giá đường ăn tuần này” sẽ ra đúng hơn. Nếu câu tìm chỉ có một hai chữ, hệ thống vẫn phải đoán. Viết câu tìm dài và rõ hơn là cách đơn giản để có kết quả đúng.

Cần tư vấn cụ thể cho trường hợp của bạn?

Chúng tôi sẽ liên hệ trong vòng 24 giờ.

Đăng ký tư vấn ngay

Bài viết liên quan

Bạn cần hỗ trợ thêm?

Để lại thông tin, chúng tôi sẽ liên hệ trong 24 giờ.

hoặc
Gọi ngay 0926 138 138