AutoML Translation 新手指南

相較於預設 Google 神經機器翻譯 (NMT) 模型,AutoML Translation 可讓您建構專為特定領域內容量身打造的自訂模型 (無須編寫程式碼)。

想像一下,假設您正在執行財務報表服務,這服務有機會擴展至新國家/地區,而這些市場需要您即時翻譯這些有時效性的財務文件。與其僱用雙語財務人員或與專業譯者簽約 (這兩者都因其領域專業知識和需要快速完成工作而價格高昂),不如使用自訂模型,以可擴充的方式協助將翻譯工作自動化。

翻譯

歡迎試用

如果您未曾使用過 Google Cloud,歡迎建立帳戶,親自體驗實際使用 Cloud Translation 平台的成效。新客戶還能獲得價值 $300 美元的免費抵免額,用於執行、測試及部署工作負載。

免費試用 Cloud Translation

為何機器學習 (ML) 是適合解決這個問題的工具?

傳統程式設計需要程式設計師為電腦指定要遵循的逐步說明。不過這種規則式方法在面對翻譯時,很快就行不通了。自然語言相當複雜,要翻譯自然語言也是如此。機器翻譯幾乎完全採用統計方法來完成,系統會以大量平行語料庫取代語言專家手動微調的專用規則組合。

您需要的系統,必須要能夠廣泛用於各種翻譯情境,但也必須要能非常著重在您的用途上,以及您重視的語言配對在特定任務方面的語言領域。在這種一連串特定規則必定會急速擴展的情境中,您需要的是能夠透過樣本進行學習的系統,而機器學習系統恰好非常適合用來解決這個問題。

我應該選用預設 NMT 模型還是自訂模型?

神經機器翻譯 (NMT) 模型涵蓋大量語言組合,並能順利處理一般用途文字。而自訂模型真正厲害的地方,是在將一般的翻譯工作與合適的特定詞彙結合時,提供最關鍵的步驟。AutoML Translation 先使用一般 NMT 模型,然後根據訓練資料調整模型,提供您最重視的特定領域內容正確翻譯。

機器學習的功能為何?

機器學習是指使用資料訓練演算法,從而達到理想的結果。演算法及訓練方法的具體細節因問題空間而異。機器學習有許多不同的子類別,分別用來解決不同的問題,同時也必須遵守不同的限制。AutoML Translation 能讓您執行監督式學習,也就是訓練電腦利用已翻譯的語句組合來辨識其中的模式。我們可以利用監督式學習,訓練自訂模型來翻譯您重視的特定領域內容。

資料準備

為訓練自訂模型,您必須提供以原文語言與譯文語言來呈現的語句組合,也就是在您需要翻譯的語言與想要翻出的語言中,都代表相同意義的語句組合。語句組合的意義越相近,模型的效果就會越好。

評估用途

統整資料集時,請務必從用途著手。您可以從下列問題著手:

  • 您想要達到什麼樣的成果?
  • 您需要翻譯哪些類型的語句,才能達到這個成果?這是 NMT 模型本身就能完成的工作嗎?
  • 人類有可能把這些語句翻譯成令您滿意的成果嗎?如果這個翻譯工作本質上就是模稜兩可,就連精通原文語言與譯文語言的人員都難以提供令您滿意的成果,那麼您可能會發現 NMT 模型和自訂模型在效能方面不相上下。
  • 哪種樣本最能反映出您的系統將要翻譯的資料類型與範圍?

Google 機器學習產品的核心原則,就是以人為本的機器學習,這種方法強調負責任的 AI 做法,包括公平性。而機器學習的公平性目標,就是在演算系統或演算輔助的決策程序中出現與種族、收入、性傾向、宗教、性別,以及在歷史上與歧視和排斥相關的其他特徵等議題時,能夠瞭解這些議題,並避免讓與這些議題相關的人們受到不公平或有偏見的待遇。如需詳細資訊,請參閱我們的指南,以及下方準則中註明注意公平性」✽部分。逐一參閱說明統整資料集準則時,建議您根據自己的用途思考機器學習的公平性。

取得資料

確認所需資料後,需要設法找到資料來源。您可以先考慮貴機構收集的所有資料,或許您會發現,您早就在收集需要用來訓練模型的資料。如果您沒有所需資料,可以手動取得資料或委外由第三方供應商負責。

根據問題領域提供適當資料

您需要適用於特定語言領域的模型,因此必須訓練自訂翻譯模型。請盡可能確保您的語句組合涵蓋所屬產業或重點領域的詞彙、用法和特殊文法。請尋找包含待完成翻譯工作典型用法的文件,同時確保平行詞組比對的意思要盡可能接近。當然,不同的語言在詞彙或語法上有時是無法完美對應的,但請盡量涵蓋您預期會遇到的所有語意多元性。做為您建構基礎的模型已經能妥善處理一般用途的翻譯,而您的樣本就是讓自訂模型能適用於您用途的最後關鍵,因此請確保這些樣本與您期望看到的語言用法有高度的相關性及代表性。

涵蓋語言空間的多元性

大家很容易會假設,在特定領域中人們的內容撰寫方式通常是相當一致的,因此由少數譯者翻譯的少量文字樣本應該就足以訓練模型,讓該模型能順利讓其他撰寫該領域內容的人們使用。然而每個人都是不同的個體,因此撰寫出的內容都會有自己的風格。如果訓練資料集的語句組合可以來自大量不同的作者和譯者,您訓練出的模型就比較可能適用於翻譯多元化機構所產生的內容。此外,請把各種語句長度和結構的差異列入考量;如果資料集中所有語句的長度都相同,或擁有類似的文法結構,那麼 Cloud Translation 就無法獲得足夠的資訊來建構涵蓋所有可能性的良好模型。

讓人類參與驗證工作

如有可能,請讓精通原文語言與譯文語言的人員來驗證語句組合否對應正確,且語句的翻譯是否精確易懂。像是訓練資料試算表中的資料列沒有正確對齊的簡單錯誤,就會讓系統產生令人無法理解的翻譯。要取得適用於您企業的模型,提供高品質資料給 AutoML Translation 是最重要的一件事。

清理雜亂的資料

預先處理資料時很容易出錯,而部分錯誤會嚴重混淆自訂模型,請特別留意下列可修正的資料問題:

  • 移除重複原文語句,尤其原文語句有不同的譯文翻譯。AutoML Translation 只會使用第一個範例,並在匯入時捨棄所有其他組合。移除重複項目後,AutoML Translation 就會使用您偏好的翻譯。
  • 將原文語句對應至正確的譯文語句。
  • 讓語句與指定語言相符,例如在中文資料集中只加入中文語句。
  • 如果譯文語句包含多種語言,請確認未翻譯的字詞是否為刻意保留,例如產品或機構名稱。如果譯文語句誤用未翻譯的字詞,訓練資料就會出現雜訊,導致模型品質降低。
  • 修正有錯別字或文法錯誤的語句,避免模型學到這些錯誤。
  • 移除不可翻譯的內容,例如預留位置標記和 HTML 標記。不可翻譯的內容可能會導致標點符號錯誤。
  • 請勿加入將一般實體替換為特定名詞的譯文。舉例來說,您可能有一個範例,將「總統」變更為特定總統的姓名,例如「JFK」或「John F Kennedy」。模型可能會學到將所有「president」實例變更為「JFK」。請移除這些翻譯,或將特定名詞改為常用名詞。
  • 移除訓練集和測試集中重複的語句。(進一步瞭解訓練集和測試集)
  • 將多個語句分割成不同的語句組合。如果資料集中有許多項目包含超過 50 個符記 (字詞),會訓練出品質低落的模型。請盡可能將每個項目分割為單一句子。
  • 使用一致的大小寫。大小寫會影響模型學習方式,例如區分標題和內文。
  • 從 TSV 檔案匯入資料時,請移除 TMX 標記。在某些情況下,您可能會將現有翻譯記憶庫匯出為 TSV 檔案,其中可能包含 TMX 標記。不過,只有從 TMX 檔案匯入時,AutoML Translation 才會清除翻譯單元標記 (不適用於 TSV 檔案)。

AutoML Translation 如何預先處理資料

AutoML Translation 會在下列情況停止剖析您的資料輸入檔案:

  • 有無效的格式
  • 有不合理過長的語句組合 (10 MB)
  • 檔案使用非 UTF-8 的編碼

AutoML Translation 會忽略無法偵測問題的錯誤,例如:

  • TMX 檔案中的 <tu> 元素沒有原文語言或譯文語言。
  • 其中一個輸入語句組合為空白。

如果是自動分割資料,AutoML Translation 會在以下情況執行其他處理:

  • 上傳資料集後,移除與原文語句相同的語句組合。
  • 訓練前,將資料以 8:1:1 (訓練:驗證:測試) 的比例隨機分成三組。

想想 AutoML Translation 如何運用資料集建立自訂模型

您的資料集包含訓練集、驗證集和測試集。如果您沒有指定資料的分割方式 (請參閱「準備訓練資料」),且資料集的語句組合不到 100,000 個,AutoML Translation 就會自動把 80% 的內容文件用於訓練、10% 用於驗證,最後的 10% 用於測試。如果您的資料量大於上述數字,則需要自行分割資料。

訓練集

絕大多數的資料都應包含在訓練集中。這是您的模型在訓練階段會「看見」的資料:訓練集用於學習模型的參數,也就是神經網路節點之間的連結權重。

驗證集

驗證集又稱為「dev」集,也會在訓練過程中派上用場。在模型學習期間,框架會使用訓練集來訓練一組候選模型,然後根據模型處理驗證集的效能來選擇已產生的最佳模型。框架會利用模型處理驗證集的效能來微調模型的超參數,也就是指定模型結構的變數。如果您使用訓練集來微調超參數,可能會導致模型過度偏重在訓練資料上。使用稍微新穎的資料集微調模型結構可以提升模型的歸納效能。

測試集

在訓練過程中不會用到測試集。當模型完成整個訓練之後,測試集就是模型要面對的全新挑戰。模型處理測試集的效能可以讓您充分瞭解模型處理實際資料時的表現如何。

手動分割

AutoML Translation 可將您的資料分割成訓練集、驗證集和測試集。但如果您想要加強對整個模型訓練程序的控管、偏好使用不同的分割百分比,或是您一定要將特定樣本納入模型訓練生命週期中的某個部分,那麼您可以選擇手動分割資料。

 

準備您要匯入的資料

決定好要手動或自動進行資料分組後,可以透過兩種方式新增資料:

  • 您可以用以定位點分隔值 (TSV) 檔案匯入資料,其中包含原文語句和譯文語句,一個語句組合就是一行。
  • 您可以用 TMX 檔案匯入資料,這是提供語句組合給自動翻譯模型工具的標準格式 (深入瞭解支援的 TMX 格式)。如果 TMX 檔案包含無效的 XML 標記,AutoML 會忽略這些標記。如果 TMX 檔案不符合正確的 XML 與 TMX 格式 (例如缺少結束標記或 <tmx> 元素),AutoML 會取消處理作業。Cloud Translation 如果略過超過 1024 個無效 <tu> 元素,也會結束處理作業並傳回錯誤。

評估

模型訓練完成後,會收到一份模型效能匯總資料。按一下「Train」(訓練) 分頁標籤即可瀏覽詳細分析。

開始評估模型之前該注意哪些事項?

為模型偵錯的重點在於針對資料偵錯,而非針對模型。當您在評估將模型推送至實際工作環境前後的效能時,如果模型開始出現異常行為,請回頭檢查資料,看看資料是否有改進之處。

BLEU 分數

BLEU 分數是衡量機器翻譯品質的標準方法。AutoML Translation 會根據您提供的測試資料來計算 BLEU 分數,做為主要的評估指標。(進一步瞭解 BLEU 分數)。

Cloud Translation API 採用的 Google NMT 模型是針對一般用途所設計。如果您需要的是自身領域的專業翻譯,這可能不是最佳解決方案。就與您訓練集相關的領域而言,經過訓練的自訂模型通常會比 NMT 模型表現更好。

利用自己的資料集訓練自訂模型之後,自訂模型和 Google NMT 模型的 BLEU 分數會顯示在「Train」(訓練) 分頁中。「Train」(訓練) 分頁中也有提供自訂模型 BLEU 分數的表現提升程度。BLEU 分數越高,表示模型對類似於訓練資料的語句翻譯得越好。如果 BLEU 分數落在 30-40 的範圍內,就可以將模型視為足以提供良好的翻譯。

請注意,我們不建議使用 BLEU 分數比較不同語料庫和語言。例如,英文到德文的 BLEU 分數 50,與日文到英文的 BLEU 分數 50 無法比較。許多翻譯專家已改用以模型為基礎的指標方法,這類方法與人工評分的相關性較高,且能更精細識別錯誤情境。

AutoML Translation 僅支援 BLEU 分數。如要使用以模型為基礎的指標評估翻譯模型,請參閱「Vertex AI 的 Gen AI Evaluation Service」。

測試模型

即使 BLEU 分數看起來還不錯,我們仍建議您自行檢查模型,以確保模型的效能符合您的期望。如果您的訓練和測試資料都來自同一組錯誤的樣本,即使翻譯的成果令人無法理解,分數也可能會非常高。在「Predict」(預測) 分頁中新增一些範例做為輸入內容,然後比較自訂模型與 Google NMT 基礎模型的結果。您可能會注意到,模型的預測結果與基礎模型的預測結果相同,尤其是針對短語句,或是在訓練集的規模較小時。這種結果並不令人意外,畢竟基礎模型已經可以應用至各種用途。請嘗試一些較長或較複雜的語句。不過,如果所有語句都和基礎模型產出的預測結果相同,可能表示資料出現問題。

如果您很在意模型所犯的特定錯誤 (例如,您選擇的語言組合中有容易混淆的部分,就連人類譯者都會經常犯錯,或是特定的翻譯錯誤特別容易有損於金錢或名譽),請確保您的測試集或程序能適當涵蓋這類案例,讓您能放心將模型使用於日常工作。

後續步驟

  • 如要建立自己的資料集和自訂模型,請參閱「準備訓練資料」,瞭解如何準備資料的操作說明。