Phần 23. Hỗ trợ đa ngôn ngữ

0
264

Chúng ta đã được tìm hiểu cách sử dụng AI để chuyển giọng nói thành văn bản, phân tích để hiểu ngôn ngữ và cách chuyển văn bản viết thành âm thanh giọng nói qua 3 bài viết gần đây nhất. Bài viết này sẽ giới thiệu một khả năng hỗ trợ quan trọng nữa của AI trong lĩnh vực giao tiếp là khả năng dịch ngôn ngữ. Đây cũng là bài viết kết thúc series về IoT do công ty AIoT JSC tổng hợp và biên dịch. Để xem lại các bài viết trước, các bạn có thể truy cập tại đây.

Video dưới đây sẽ cung cấp tổng quan các dịch vụ giọng nói Azure:

Bài viết này sẽ hướng dẫn cách dùng AI để dịch văn bản, cho phép bộ hẹn giờ thông minh tương tác với người dùng bằng nhiều ngôn ngữ khác nhau.

Những nội dung chính gồm:

1. Dịch văn bản

2. Dịch vụ dịch thuật

3. Tạo tài nguyên phiên dịch

4. Hỗ trợ đa ngôn ngữ trong các ứng dụng có bản dịch

5. Dịch văn bản bằng dịch vụ AI

1. Dịch văn bản

Việc dịch văn bản là một vấn đề khoa học máy tính đã được nghiên cứu hơn 70 năm qua, đến nay, nhờ vào những tiến bộ của AI và năng lực tính toán, việc dịch văn bản tiến lên tầm mới, đến mức gần tốt như con người dịch.

Nguồn gốc của dịch văn bản gắn với tên tuổi nhà mật mã học Ả Rập ở thế kỷ thứ 9 Al-Kindi– người đã phát triển các kỹ thuật dịch ngôn ngữ.

Bản dịch máy

Dịch văn bản khởi đầu là công nghệ Dịch máy (Machine Translation -MT), có thể dịch giữa các cặp ngôn ngữ khác nhau. MT hoạt động bằng cách thay thế các từ trong ngôn ngữ này bằng ngôn ngữ khác, thêm các kỹ thuật để chọn ra cách dịch phù hợp cho các cụm từ hoặc các phần của câu khi bản dịch từng từ không có ý nghĩa.

Khi máy dịch hỗ trợ dịch giữa ngôn ngữ này sang ngôn ngữ khác, được gọi là các cặp ngôn ngữ. Các công cụ khác nhau hỗ trợ các cặp ngôn ngữ khác nhau, tuy nhiên không phải mọi cặp ngôn ngữ đều được hỗ trợ trực tiếp. Ví dụ: một máy dịch có thể hỗ trợ cặp ngôn ngữ tiếng Anh sang tiếng Tây Ban Nha và cặp ngôn ngữ tiếng Tây Ban Nha sang tiếng Ý, nhưng không hỗ trợ tiếng Anh sang tiếng Ý.

Ví dụ: dịch “Hello world” từ tiếng Anh sang tiếng Pháp bằng cách thay thế “Bonjour” cho “Hello” và “le monde” cho “world” thì sẽ được bản dịch chính xác là “Bonjour le monde”.

Không áp dụng phương pháp dịch thay thế với các ngôn ngữ sử dụng các cách khác nhau để nói cùng một nội dung. Ví dụ, câu tiếng Anh “My name is Jim”, dịch sang tiếng Pháp thành “Je m’appelle Jim”, nghĩa đen là “I call myself Jim”. Trong bản dịch này, một số từ dịch bằng phương pháp thay thế, bên cạnh đó còn sử dụng cách nối với động từ vì từ đó bắt đầu bằng một nguyên âm hoặc tên riêng thì giữ nguyên và thứ tự của từ cũng là một vấn đề cần lưu ý.

Thành ngữ cũng là một vấn đề cần lưu ý trong dịch thuật. Nếu giải thích những câu này theo nghĩa đen thì dẫn đến những cách hiểu khác nhau. Ví dụ trong tiếng Anh, thành ngữ “I’ve got ants in my pants” không ám chỉ đến việc có con kiến ​​trong quần áo, mà chỉ cảm giác bồn chồn.

Mỗi ngôn ngữ có độ phức tạp khác nhau. Với thành ngữ “ants in my pants”, trong tiếng Anh Mỹ “pants” chỉ áo khoác ngoài, trong tiếng Anh Anh lại là đồ lót.

Bên cạnh đó, khi dịch cần chú ý một số cụm từ không dịch trực tiếp, một số câu không bao giờ dịch.

Hệ thống dịch máy dựa trên cơ sở dữ liệu lớn các quy tắc mô tả cách dịch các cụm từ và thành ngữ nhất định, cùng với các phương pháp thống kê để chọn các bản dịch phù hợp nhất. Các phương pháp thống kê này sử dụng cơ sở dữ liệu khổng lồ từ các bản dịch mà con người dịch sang nhiều ngôn ngữ để chọn bản dịch có khả năng xảy ra nhất, đó là kỹ thuật dịch máy thống kê. Trong số đó, có sử dụng các biểu diễn trung gian, cho phép dịch một ngôn ngữ sang ngôn ngữ trung gian, sau đó từ ngôn ngữ trung gian dịch sang ngôn ngữ khác. Bằng cách này, có thể dịch ngược hoặc xuôi sang nhiều ngôn ngữ khác liên quan đến các ngôn ngữ trung gian.

Bản dịch Nơ-ron

Dịch nơ-ron liên quan đến việc sử dụng năng lực của AI để dịch, thường là dùng một mô hình để dịch toàn bộ câu. Các mô hình này được đào tạo dựa trên các tập dữ liệu khổng lồ do con người dịch, như các trang web, sách và tài liệu của Liên hợp quốc.

Các mô hình dịch nơ-ron thường nhỏ hơn các mô hình dịch máy do chúng không cần cơ sở dữ liệu khổng lồ về các cụm từ và thành ngữ. Các dịch vụ AI hiện đại thường kết hợp nhiều kỹ thuật, kết hợp dịch máy thống kê và dịch nơ-ron.

Không có bản dịch 1:1 cho bất kỳ cặp ngôn ngữ nào. Các mô hình dịch khác nhau sẽ tạo ra các kết quả hơi khác nhau tùy thuộc vào dữ liệu được sử dụng để huấn luyện mô hình. Các bản dịch không phải lúc nào cũng đối xứng. Khi dịch một câu từ ngôn ngữ này sang ngôn ngữ khác, sau đó dịch ngược lại ngôn ngữ gốc thì có thể được một câu khác chút ít so với câu ban đầu.

2. Dịch vụ dịch thuật

Nhiều ứng dụng sử dụng dịch vụ AI để dịch giọng nói và văn bản.

Dịch vụ dịch giọng nói

Dịch vụ giọng nói đề cập trong các bài viết trước có khả năng dịch giúp nhận dạng và dịch giọng nói. Khi nhận dạng giọng nói, bạn không chỉ có thể yêu cầu dạng văn bản với cùng ngôn ngữ mà cả bằng các ngôn ngữ khác. Tính năng này chỉ có sẵn ở SDK giọng nói, API REST không tích hợp sẵn bản dịch.

Dịch vụ phiên dịch

Dịch vụ Translator là một dịch vụ dịch thuật chuyên dụng có thể dịch văn bản từ một ngôn ngữ sang một hoặc nhiều ngôn ngữ đích. Dịch vụ này hỗ trợ một loạt các tính năng bổ sung bao gồm che dấu nội dung thô tục đồng thời cho phép cung cấp bản dịch riêng cho một từ hoặc câu cụ thể trong trường hợp gặp các thuật ngữ mà người dùng không muốn dịch hoặc có một bản dịch phổ biến cụ thể.

Ví dụ: khi dịch câu “I have a Raspberry Pi”, đề cập đến máy tính đơn bo, sang tiếng Pháp, người dùng muốn giữ nguyên tên “Raspberry Pi” thì được câu “J’ai un Raspberry Pi” thay vì “J’ai une pi aux framboises”.

3. Tạo tài nguyên phiên dịch

Trong bài này sử dụng REST API để tạo tài nguyên phiên dịch.

* Cách tạo tài nguyên phiên dịch

1. Từ terminal hoặc dấu nhắc lệnh, chạy lệnh sau để tạo tài nguyên phiên dịch trong nhóm smart-timer.

az cognitiveservices account create --name smart-timer-translator \
                                    --resource-group smart-timer \
                                    --kind TextTranslation \
                                    --sku F0 \
                                    --yes \
                                    --location <location>

Thay thế  <location> bằng vị trí đã sử dụng khi tạo Resource Group.

2. Nhận khóa cho dịch vụ phiên dịch

az cognitiveservices account keys list --name smart-timer-translator \
                                       --resource-group smart-timer \
                                       --output table

Tạo bản sao chép khóa

4. Hỗ trợ đa ngôn ngữ trong các ứng dụng có bản dịch

Trong một thế giới lý tưởng, toàn bộ ứng dụng phải hiểu được nhiều ngôn ngữ nhất có thể, từ nghe giọng nói, hiểu ngôn ngữ đến phản hồi bằng giọng nói, vì vậy các dịch vụ dịch thuật có thể đẩy nhanh thời gian cung cấp ứng dụng.

Nếu bạn đang xây dựng một bộ đếm thời gian thông minh sử dụng tiếng Anh từ đầu đến cuối: hiểu giọng nói bằng tiếng Anh, chuyển nó thành văn bản, chạy phần hiểu ngôn ngữ bằng tiếng Anh, xây dựng câu trả lời bằng tiếng Anh và trả lời bằng giọng nói tiếng Anh. Nếu bạn muốn hỗ trợ thêm bằng tiếng Nhật, bạn có thể bắt đầu bằng việc dịch văn bản nói tiếng Nhật sang tiếng Anh, sau đó giữ nguyên cốt lõi của ứng dụng, dịch văn bản phản hồi sang tiếng Nhật trước khi nói câu trả lời. Điều này sẽ cho phép nhanh chóng hỗ trợ thêm tiếng Nhật và có thể mở rộng để cung cấp hỗ trợ tiếng Nhật đầy đủ từ đầu đến cuối.

Nhược điểm của việc dựa vào bản dịch máy là các ngôn ngữ và nền văn hóa khác nhau có những cách nói khác nhau để cùng diễn đạt một nội dung, vì vậy bản dịch có thể không phù hợp với cách diễn đạt mà bạn mong muốn.

Bản dịch máy cũng mở ra khả năng dịch nội dung do người dùng tạo ra cho các ứng dụng và thiết bị. Khoa học viễn tưởng thường có ‘trình dịch phổ thông’, các thiết bị có thể dịch từ các ngôn ngữ ngoài hành tinh sang tiếng Anh Mỹ. Những thiết bị này thực tế khoa học hơn. Một số ứng dụng và thiết bị cung cấp bản dịch theo thời gian thực của giọng nói và văn bản viết, bằng cách sử dụng kết hợp các dịch vụ lời nói và dịch thuật.

Ví dụ như ứng dụng Microsoft Translator trên điện thoại di động, được minh họa trong video dưới đây:

Mặc dù không có trình dịch phổ thông thực sự nào cho phép chúng ta nói chuyện với người ngoài hành tinh, nhưng trình dịch của Microsoft giúp hỗ trợ Klingon.

5. Dịch văn bản bằng dịch vụ AI

Sử dụng dịch vụ AI để bổ sung khả năng dịch này vào bộ hẹn giờ thông minh.

* Cách dịch văn bản bằng dịch vụ AI

Làm theo hướng dẫn trong các link dưới đây để chuyển đổi văn bản dịch trên thiết bị IoT:

Arduino – Wio Terminal

Máy tính đơn bo – Raspberry Pi

Máy tính đơn bo – Virtual device

Biên soạn: Bắc Đặng

Để cập nhật tin tức công nghệ mới nhất và các sản phẩm của công ty AIoT JSC, vui lòng truy cập link: http://aiots.vn hoặc linhkienaiot.com

0 0 Phiếu bầu
Article Rating
Subscribe
Notify of
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả các bình luận