VietASI.comVietASI
Dịch máy Anh–Việt ở góc công nghệ

Dữ liệu song ngữ Anh–Việt cho dịch máy: nguồn, căn câu, lọc nhiễu và dịch ngược

Máy học dịch từ hàng triệu cặp câu Anh–Việt. Cặp câu đến từ đâu, căn câu thế nào, lọc cặp lệch nghĩa ra sao và vì sao dịch ngược giúp được khi thiếu dữ liệu.

Top-down view of a long wooden table where several pairs of hands match stacks of blank index cards into two columns, bright co-working space in Saigon, natural light

Dữ liệu song ngữ Anh–Việt là tập các cặp câu, mỗi cặp gồm một câu tiếng Anh và bản dịch tiếng Việt của nó, đã được căn đúng câu với câu. Dịch máy nơ-ron và phần lớn năng lực dịch của mô hình ngôn ngữ lớn học từ những cặp này: càng nhiều cặp sạch, đúng nghĩa, đa dạng lĩnh vực thì máy dịch càng tốt. Phần khó không nằm ở thuật toán mà ở chỗ tìm đủ cặp câu, căn chúng cho khớp, và loại các cặp sai.

Bài này đi qua các nguồn dữ liệu song ngữ hay được dùng cho tiếng Việt, cách máy căn câu giữa hai văn bản, những kiểu nhiễu phổ biến và cách lọc, rồi tới kỹ thuật dịch ngược để tận dụng văn bản đơn ngữ. Đây là góc người làm hệ thống dịch; còn việc người dịch căn bản dịch cũ của khách thành bộ nhớ dịch cho công việc hằng ngày là một chủ đề nghề dịch khác.

Cặp câu song ngữ đến từ đâu

Nguồn lý tưởng là văn bản được dịch cẩn thận bởi người, xuất bản kèm bản gốc: văn bản pháp quy có bản tiếng Anh chính thức, tài liệu của tổ chức quốc tế, tin tức song ngữ, sách và tài liệu kỹ thuật có bản dịch, phụ đề phim, bản dịch các bài nói. Trong nghiên cứu dịch máy Anh–Việt, bộ dữ liệu từ các bài nói TED của chiến dịch đánh giá IWSLT năm 2015 từng là tập chuẩn được dùng rộng rãi, với quy mô khoảng hơn một trăm nghìn cặp câu, nhỏ so với các cặp ngôn ngữ lớn.

Năm 2021, nhóm nghiên cứu của VinAI công bố PhoMT tại hội nghị EMNLP, một kho song ngữ Anh–Việt khoảng ba triệu cặp câu gom từ nhiều nguồn và lĩnh vực, kèm đánh giá các hệ dịch. Ngoài ra có kho tổng hợp OPUS do Jörg Tiedemann khởi xướng, gom văn bản song ngữ công khai của rất nhiều cặp ngôn ngữ, trong đó có tiếng Việt, từ phụ đề, tài liệu phần mềm, văn bản tổ chức quốc tế. Mỗi nguồn trong OPUS có giấy phép và chất lượng khác nhau, cần đọc riêng.

Một nhánh khác là khai thác cặp câu từ web: thu thập trang tiếng Anh và tiếng Việt, rồi dùng mô hình biểu diễn câu đa ngữ tìm các câu có nghĩa tương đương ở hai bên. Các kho như WikiMatrix, CCMatrix (công bố khoảng 2019–2020) làm theo cách này cho hàng trăm cặp ngôn ngữ. Lượng dữ liệu lớn nhưng nhiễu nhiều hơn hẳn, và câu tiếng Việt khai thác từ web có tỷ lệ đáng kể là văn bản vốn đã do máy dịch.

Dùng nguồn nào cũng phải xem giấy phép: có nguồn chỉ cho nghiên cứu, có nguồn cấm dùng thương mại, có nguồn đòi ghi công. Phụ đề phim và sách thường dính bản quyền. Phần đọc giấy phép dữ liệu có bài riêng trong danh mục dữ liệu tiếng Việt của trang.

Căn câu: ghép đúng câu tiếng Anh với câu tiếng Việt

Văn bản song ngữ hiếm khi khớp từng câu. Người dịch gộp hai câu ngắn tiếng Anh thành một câu tiếng Việt, tách một câu dài thành hai, bỏ một câu chú thích, thêm một câu giải thích. Bước căn câu (sentence alignment) tìm cách ghép đúng: câu nào bên này ứng với câu nào bên kia, kể cả dạng một–hai, hai–một hoặc không có cặp.

Phương pháp kinh điển của Gale và Church (1993) dựa vào độ dài: câu dịch thường có độ dài tỷ lệ với câu gốc, nên ghép theo chuỗi độ dài đã cho kết quả khá tốt với văn bản dịch sát. Với tiếng Việt, độ dài tính theo ký tự hay theo âm tiết cho tỷ lệ khác tiếng Anh, cần ước lượng lại từ dữ liệu thật. Các công cụ sau này dùng thêm từ điển song ngữ, rồi tới mô hình biểu diễn câu đa ngữ (các họ như LASER, LaBSE): mỗi câu biến thành một vectơ, câu cùng nghĩa ở hai ngôn ngữ nằm gần nhau, máy ghép theo độ gần.

Với tiếng Việt có vài chỗ hay làm căn câu vấp. Một là tách câu sai ở phía tiếng Việt: dấu chấm trong viết tắt như "TP.", "PGS.TS.", "v.v." bị coi là hết câu. Hai là văn bản có bảng, danh sách gạch đầu dòng bị trích ra thành chuỗi mảnh ngắn. Ba là phụ đề, nơi mỗi dòng chỉ là nửa câu và thời điểm hiện chữ hai ngôn ngữ lệch nhau. Kiểm tra bằng mắt vài trăm cặp ngẫu nhiên sau khi căn là bước rẻ mà bắt được lỗi hệ thống sớm.

Những kiểu nhiễu hay gặp trong kho song ngữ Anh–Việt

Khi mở một kho song ngữ gom từ nhiều nguồn, các kiểu cặp hỏng sau xuất hiện thường xuyên. Mỗi kiểu dạy máy một thói quen xấu nếu không lọc.

  • Cặp lệch nghĩa: căn sai một dòng, câu tiếng Việt thuộc về câu tiếng Anh kế bên. Máy học cách "dịch" thành một câu không liên quan.
  • Bên Việt còn nguyên tiếng Anh: trang chưa dịch, hoặc chỉ dịch tiêu đề. Máy học cách chép nguyên câu nguồn.
  • Bản dịch máy chất lượng thấp: trang tự động dịch đăng lại, văn ngô nghê, sai xưng hô. Máy học lại chính lỗi của máy.
  • Lệch độ dài bất thường: một bên dài gấp nhiều lần bên kia, thường là câu bị gộp sai hoặc có thêm quảng cáo, chú thích.
  • Lỗi mã hoá chữ Việt: chữ dạng mã cũ, dấu tổ hợp lẫn dựng sẵn, ký tự vỡ. Máy thấy hai dạng của cùng một chữ như hai chữ khác nhau.
  • Trùng lặp: cùng một câu chân trang, câu cảnh báo bản quyền lặp hàng nghìn lần, làm máy học thuộc lòng.
  • Dịch phỏng quá xa: phụ đề, quảng cáo, lời bài hát được dịch thoát ý, hợp với người xem nhưng làm nhiễu khi máy học dịch sát.

Không phải mọi cặp "không sát" đều xấu: một ít dịch thoát ý giúp máy học cách nói tự nhiên. Mục tiêu lọc là bỏ cặp sai nghĩa và cặp rác, không phải chỉ giữ cặp dịch từng chữ.

Lọc kho song ngữ: một chuỗi bước thường dùng

Thứ tự dưới đây đi từ bước rẻ đến bước tốn tài nguyên, để bước sau chỉ phải xử lý phần còn lại.

  1. Chuẩn hoá mã chữ: đưa hết chữ Việt về cùng dạng Unicode (thường là dạng dựng sẵn NFC), sửa ký tự vỡ, thống nhất kiểu dấu ngoặc và khoảng trắng.
  2. Bỏ trùng: xoá cặp trùng hoàn toàn và cặp chỉ khác dấu câu; giới hạn số lần một câu được phép lặp.
  3. Lọc theo luật: bỏ cặp quá ngắn, quá dài, tỷ lệ độ dài lệch quá ngưỡng, nhiều số hoặc ký hiệu bất thường, số trong hai câu không khớp.
  4. Nhận diện ngôn ngữ: kiểm câu bên Việt đúng là tiếng Việt, bên Anh đúng là tiếng Anh; bỏ cặp hai bên cùng một thứ tiếng.
  5. Chấm độ tương đương nghĩa: dùng mô hình biểu diễn câu đa ngữ tính độ gần giữa hai câu, bỏ cặp dưới ngưỡng; ngưỡng chọn bằng cách đọc mẫu ở các mức điểm.
  6. Chấm chất lượng bên tiếng Việt: dùng mô hình ngôn ngữ tiếng Việt hoặc bộ phân loại để đẩy xuống các câu nghe như văn dịch máy, câu rác.
  7. Đọc mẫu ngẫu nhiên sau mỗi bước, ghi lại tỷ lệ cặp tốt bị bỏ oan và cặp xấu còn sót, rồi chỉnh ngưỡng.

Các đợt thi lọc dữ liệu song ngữ ở WMT cho thấy lọc kỹ một kho nhiễu có thể cho hệ dịch tốt hơn dùng nguyên kho lớn gấp nhiều lần. Ít mà sạch thường thắng nhiều mà bẩn, nhất là với cặp ngôn ngữ có nhiều văn bản dịch máy trôi nổi trên web như Anh–Việt.

Dịch ngược: tận dụng văn bản tiếng Việt chưa có bản dịch

Văn bản đơn ngữ tiếng Việt dồi dào hơn văn bản song ngữ rất nhiều. Kỹ thuật dịch ngược (back-translation), được Sennrich, Haddow và Birch phổ biến năm 2016, tận dụng nguồn này: muốn dạy máy dịch Anh sang Việt, lấy văn bản tiếng Việt thật, dùng một hệ dịch Việt–Anh có sẵn dịch nó sang tiếng Anh, rồi coi cặp "câu Anh do máy dịch, câu Việt thật" là dữ liệu huấn luyện bổ sung.

Điểm mấu chốt là phía đích, phía máy học cách viết ra, là tiếng Việt thật do người viết. Câu tiếng Anh nguồn có vụng một chút cũng ít hại, vì máy chủ yếu học cách sinh câu tiếng Việt trôi chảy. Kỹ thuật này đặc biệt có ích để đưa hệ dịch vào lĩnh vực mới: muốn dịch tốt tài liệu y khoa tiếng Anh sang tiếng Việt, gom văn bản y khoa tiếng Việt, dịch ngược, trộn vào dữ liệu.

Có vài lưu ý. Nếu dữ liệu dịch ngược quá nhiều so với dữ liệu thật, hệ có thể học các đặc điểm của câu nguồn do máy dịch và kém đi với câu tiếng Anh thật; các nghiên cứu sau đề xuất gắn nhãn đánh dấu phần dữ liệu dịch ngược để hệ phân biệt. Văn bản tiếng Việt dùng làm phía đích phải sạch và đúng giấy phép; dùng văn bản có thông tin cá nhân thì phải che trước. Và cần đánh giá trên tập thử là văn bản tiếng Anh thật, nếu không điểm số có thể đẹp giả.

Dữ liệu song ngữ trong thời mô hình ngôn ngữ lớn

Mô hình ngôn ngữ lớn học phần lớn từ văn bản đơn ngữ khổng lồ, nhưng dữ liệu song ngữ vẫn quan trọng. Các báo cáo kỹ thuật công khai của một số mô hình cho thấy chúng có đưa văn bản song ngữ hoặc cặp dịch vào giai đoạn huấn luyện, và nhiều nghiên cứu cho thấy tinh chỉnh một mô hình đa ngữ trên một lượng nhỏ cặp câu chất lượng cao giúp nó dịch ổn định hơn. Ở đây, chất lượng lại quan trọng hơn số lượng: vài nghìn đến vài chục nghìn cặp dịch kỹ, đúng văn phong, có thể đáng giá hơn hàng triệu cặp khai thác từ web.

Với người làm sản phẩm tiếng Việt, điều này mở ra một cách làm thực tế: thay vì huấn luyện hệ dịch từ đầu, gom bản dịch tốt trong chính lĩnh vực của mình, đã che thông tin khách hàng và có quyền sử dụng, rồi dùng làm ví dụ mẫu trong câu lệnh, làm dữ liệu tinh chỉnh, hoặc làm tập thử để đánh giá. Cùng một bộ cặp câu dùng được cho cả ba việc, chỉ cần tách riêng phần dùng để thử, không cho mô hình thấy khi tinh chỉnh.

Một mối lo mới là ô nhiễm: văn bản tiếng Việt trên web ngày càng nhiều phần do máy sinh hoặc máy dịch. Gom dữ liệu song ngữ từ web năm nay có nguy cơ cao hơn trước là học lại đầu ra của chính các hệ dịch. Ghi rõ nguồn, thời điểm thu thập, và ưu tiên văn bản có người dịch xác định là những thói quen giúp giảm rủi ro này.

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

Cần bao nhiêu cặp câu để huấn luyện một hệ dịch Anh–Việt?

Không có con số cố định. Huấn luyện từ đầu một hệ dịch nơ-ron dùng được cho văn bản chung thường cần cỡ hàng triệu cặp câu sạch. Tinh chỉnh một mô hình đa ngữ có sẵn cho một lĩnh vực hẹp có thể thấy cải thiện từ vài nghìn cặp chất lượng cao. Luôn đánh giá trên tập thử riêng để biết lượng dữ liệu đã đủ chưa.

Dùng phụ đề phim làm dữ liệu song ngữ có được không?

Về kỹ thuật, phụ đề giúp máy học văn nói, hội thoại, xưng hô. Nhưng phụ đề hay dịch thoát ý, cắt ngắn, căn dòng lệch, và thường vướng bản quyền phim lẫn bản quyền bản dịch của người làm phụ đề. Dùng cho nghiên cứu cần xem giấy phép của kho; dùng cho sản phẩm thương mại cần thận trọng hơn.

Có nên dùng ChatGPT hay công cụ dịch để tạo dữ liệu song ngữ không?

Có thể, gọi là dữ liệu tổng hợp, nhưng hệ học từ đó sẽ thừa hưởng lỗi và văn phong của công cụ, đồng thời cần xem điều khoản sử dụng của nhà cung cấp về việc dùng đầu ra để huấn luyện. Cách an toàn hơn là cho máy sinh phía nguồn (như dịch ngược) và giữ phía đích là văn bản người viết.

Làm sao biết một cặp câu là văn bản dịch máy?

Không có cách chắc chắn. Dấu hiệu gợi ý là văn tiếng Việt cứng, lặp cấu trúc bị động, xưng hô "bạn–tôi" trong ngữ cảnh lẽ ra khác, thuật ngữ dịch sát nghĩa đen, và trang nguồn có nhiều ngôn ngữ cùng bố cục giống hệt. Các bộ phân loại tự động giúp xếp hạng nghi ngờ, kết luận vẫn nên đọc mẫu.

Dịch ngược có làm hệ dịch kém đi không?

Có thể, nếu dùng quá nhiều dữ liệu dịch ngược so với dữ liệu thật hoặc dùng hệ dịch ngược quá kém. Hiện tượng thường gặp là hệ quen với câu nguồn kiểu máy và kém với câu người thật viết. Gắn nhãn phần dữ liệu dịch ngược và đánh giá trên câu nguồn thật giúp phát hiện và giảm vấn đề này.

Dữ liệu song ngữ có cần che thông tin cá nhân không?

Cần, nếu văn bản chứa tên người, số điện thoại, địa chỉ, số giấy tờ hay thông tin khách hàng. Mô hình có thể nhớ và tái hiện chuỗi hiếm trong dữ liệu huấn luyện. Thay chúng bằng ký hiệu thống nhất ở cả hai bên của cặp câu, và tra quy định hiện hành về bảo vệ dữ liệu cá nhân trước khi dù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