You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/tw/6-consumer/lessons/4-multiple-language-support
co-op-translator[bot] 2dd42e7b67
🌐 Update translations via Co-op Translator (#537)
4 weeks ago
..
README.md 🌐 Update translations via Co-op Translator (#537) 4 weeks ago
assignment.md 🌐 Update translations via Co-op Translator (#537) 4 weeks ago
pi-translate-speech.md 🌐 Update translations via Co-op Translator (#537) 4 weeks ago
virtual-device-translate-speech.md 🌐 Update translations via Co-op Translator (#537) 4 weeks ago
wio-terminal-translate-speech.md 🌐 Update translations via Co-op Translator (#537) 4 weeks ago

README.md

支援多語言

本課程的手繪筆記概述

手繪筆記由 Nitya Narasimhan 提供。點擊圖片查看更大的版本。

這段影片概述了 Azure 語音服務,涵蓋了之前課程中的語音轉文字和文字轉語音功能,以及本課程中討論的語音翻譯:

使用少量 Python 程式碼進行語音識別(Microsoft Build 2020)

🎥 點擊上方圖片觀看影片

課前測驗

課前測驗

簡介

在過去的三節課中,你學習了如何將語音轉換為文字、語言理解以及將文字轉換為語音,這些功能都由 AI 驅動。AI 還可以幫助人類溝通的另一個領域——語言翻譯,將一種語言轉換為另一種語言,例如從英語翻譯成法語。

在本課程中,你將學習如何使用 AI 進行文字翻譯,使你的智慧計時器能夠與多語言使用者互動。

本課程將涵蓋以下內容:

🗑 這是本專案的最後一課,因此在完成本課程和作業後,別忘了清理你的雲端服務。你需要這些服務來完成作業,因此請確保先完成作業。

如有需要,請參考清理專案指南以獲取相關指示。

翻譯文字

文字翻譯是一個已經研究了超過 70 年的計算機科學問題,直到最近,由於 AI 和計算能力的進步,才接近解決,並達到幾乎與人類翻譯員相媲美的水平。

💁 其起源可以追溯到更早的時期,例如 9 世紀的阿拉伯密碼學家 Al-Kindi,他開發了語言翻譯的技術。

機器翻譯

文字翻譯最初是一種被稱為機器翻譯Machine Translation, MT的技術可以在不同語言對之間進行翻譯。MT 的工作原理是用一種語言的單詞替換另一種語言的單詞,並添加技術來選擇正確的翻譯方式,當簡單的逐字翻譯不合理時,翻譯短語或句子的一部分。

🎓 當翻譯工具支援在一種語言和另一種語言之間進行翻譯時,這些被稱為語言對。不同的工具支援不同的語言對,這些可能並不完整。例如,一個翻譯工具可能支援英語到西班牙語的語言對,以及西班牙語到義大利語的語言對,但不支援英語到義大利語。

例如,將 "Hello world" 從英語翻譯成法語可以通過替換完成——"Bonjour" 替換 "Hello""le monde" 替換 "world",最終得到正確的翻譯 "Bonjour le monde"。

當不同語言使用不同的方式表達相同的意思時,替換方法就不起作用了。例如,英語句子 "My name is Jim" 翻譯成法語是 "Je m'appelle Jim",字面意思是 "我叫自己 Jim"。"Je" 是法語中的 "我""moi" 是 "我自己",但由於動詞以元音開頭,會與動詞結合成 "m'""appelle" 是 "叫",而 "Jim" 不翻譯,因為它是名字,而不是可以翻譯的單詞。單詞順序也成為問題——簡單替換 "Je m'appelle Jim" 會變成 "I myself call Jim",與英語的單詞順序不同。

💁 有些單詞永遠不會被翻譯——我的名字是 Jim無論使用哪種語言介紹我。當翻譯到使用不同字母或不同聲音的語言時單詞可以被音譯,即選擇適當的字母或字符,使其聽起來與原單詞相同。

成語也是翻譯的一個難題。這些是具有特定理解意義的短語,其含義與單詞的直接解釋不同。例如,在英語中,成語 "I've got ants in my pants" 並不是真的指衣服裡有螞蟻,而是指坐立不安。如果你將其翻譯成德語,可能會讓聽者感到困惑,因為德語版本是 "I have bumble bees in the bottom"。

💁 不同的地區會增加不同的複雜性。以成語 "ants in your pants" 為例,在美式英語中 "pants" 指外衣,而在英式英語中,"pants" 指內衣。

如果你會多種語言,想想一些無法直接翻譯的短語。

機器翻譯系統依賴於大型規則數據庫,描述如何翻譯特定短語和成語,並使用統計方法從可能的選項中選擇適當的翻譯。這些統計方法使用由人類翻譯成多種語言的大型數據庫,來選擇最可能的翻譯,這種技術被稱為統計機器翻譯。其中一些使用語言的中間表示,允許一種語言翻譯成中間表示,再從中間表示翻譯成另一種語言。這樣,添加更多語言只需翻譯到和從中間表示,而不是翻譯到和從所有其他語言。

神經翻譯

神經翻譯利用 AI 的力量進行翻譯,通常使用一個模型翻譯整個句子。這些模型基於由人類翻譯的大型數據集進行訓練,例如網頁、書籍和聯合國文件。

神經翻譯模型通常比機器翻譯模型更小,因為不需要大型短語和成語數據庫。現代 AI 翻譯服務通常混合多種技術,結合統計機器翻譯和神經翻譯。

任何語言對之間都沒有 1:1 的翻譯。不同的翻譯模型會根據訓練模型的數據產生略有不同的結果。翻譯並不總是對稱的——即如果你將一個句子從一種語言翻譯成另一種語言,再翻譯回原語言,可能會得到略有不同的句子。

試試不同的線上翻譯工具,例如 Bing 翻譯Google 翻譯 或 Apple 翻譯應用程式。比較幾個句子的翻譯版本。也可以嘗試在一個工具中翻譯,再在另一個工具中翻譯回來。

翻譯服務

有許多 AI 服務可以從你的應用程式中用來翻譯語音和文字。

認知服務語音服務

語音服務標誌

你在過去幾節課中使用的語音服務具有語音識別的翻譯功能。當你識別語音時,可以要求不僅提供相同語言的文字,還可以提供其他語言的文字。

💁 這僅適用於語音 SDKREST API 不內建翻譯功能。

認知服務翻譯服務

翻譯服務標誌

翻譯服務是一個專門的翻譯服務,可以將文字從一種語言翻譯成一種或多種目標語言。除了翻譯,它還支援許多額外功能,包括屏蔽不雅詞語。它還允許你為特定單詞或句子提供特定翻譯,以處理你不希望翻譯的術語或具有特定知名翻譯的術語。

例如,當翻譯句子 "I have a Raspberry Pi"(指的是單板電腦)到另一種語言如法語時,你可能希望保留 "Raspberry Pi" 的名稱不變,而不是翻譯它,得到 "Jai un Raspberry Pi" 而不是 "Jai une pi aux framboises"。

建立翻譯資源

在本課程中,你需要一個翻譯資源。你將使用 REST API 來翻譯文字。

任務 - 建立翻譯資源

  1. 從你的終端或命令提示符執行以下命令,在你的 smart-timer 資源群組中建立翻譯資源。

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

    <location> 替換為你建立資源群組時使用的位置。

  2. 獲取翻譯服務的金鑰:

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

    複製其中一個金鑰。

透過翻譯在應用程式中支援多語言

在理想情況下,你的整個應用程式應該能夠理解盡可能多的不同語言,從語音識別到語言理解,再到語音回應。這需要大量工作,因此翻譯服務可以加速應用程式的交付時間。

智慧計時器架構:將日語翻譯成英語,使用英語處理,再翻譯回日語

假設你正在建立一個智慧計時器,使用英語端到端處理,包括理解英語語音並將其轉換為文字、使用英語進行語言理解、用英語構建回應並以英語語音回應。如果你想添加日語支援,可以先將日語語音翻譯成英語文字,然後保持應用程式的核心部分不變,最後將回應文字翻譯成日語,再用日語語音回應。這樣可以快速添加日語支援,並且你可以稍後擴展到提供完整的端到端日語支援。

💁 依賴機器翻譯的缺點是不同語言和文化有不同的表達方式,因此翻譯可能與你期望的表達不符。

機器翻譯還為應用程式和設備提供了翻譯使用者創建內容的可能性。科幻作品中經常出現 "通用翻譯器",這些設備可以將外星語言翻譯成(通常是)美式英語。如果忽略外星部分,這些設備已經不再是科幻,而是科學事實。已經有應用程式和設備可以實現語音和文字的即時翻譯,結合語音和翻譯服務。

其中一個例子是 Microsoft Translator 手機應用程式,以下影片展示了其功能:

Microsoft Translator 即時功能展示

🎥 點擊上方圖片觀看影片

想像一下擁有這樣的設備,尤其是在旅行或與不懂其語言的人互動時。在機場或醫院中使用自動翻譯設備將提供急需的無障礙改進。

做些研究:是否有任何商業化的翻譯物聯網設備?智慧設備中是否內建翻譯功能?

👽 雖然目前沒有真正的通用翻譯器可以讓我們與外星人交流,但 Microsoft Translator 支援克林貢語。Qapla

使用 AI 服務翻譯文字

你可以使用 AI 服務為你的智慧計時器添加翻譯功能。

任務 - 使用 AI 服務翻譯文字

按照相關指南,將文字翻譯功能添加到你的物聯網設備:


🚀 挑戰

機器翻譯如何在智慧設備以外的其他物聯網應用程式中受益?思考翻譯如何幫助,不僅是語音,還包括文字。

課後測驗

課後測驗

回顧與自學

作業

建立一個通用翻譯器

免責聲明
本文件使用 AI 翻譯服務 Co-op Translator 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原始語言的文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對於因使用此翻譯而引起的任何誤解或誤讀概不負責。