使用 AI 進行裝置端翻譯

探索實驗性的 Translate API,以提供全球客戶服務。

Maud Nalpas
Maud Nalpas
Kenji Baheux
Kenji Baheux
Alexandra Klepper
Alexandra Klepper

將業務拓展到國際市場可能需要花費高昂的費用。隨著市場的增加,可能需要支援更多語言,而越來越多語言可能會帶來互動式功能和銷售流程 (例如售後支援即時通訊) 帶來的挑戰。如果貴公司只提供英語服務的客服專員,非母語人士可能會難以確切說明他們遇到的問題。

我們應如何運用 AI 技術來改善多種語言的講者體驗,同時將風險降至最低,並確認是否值得投資其他語言的客服專員?

有些使用者會嘗試用瀏覽器的內建網頁翻譯功能或第三方工具克服語言隔閡。但使用者體驗不像售後支援即時通訊等互動功能,

如果即時通訊工具具備整合式翻譯功能,請務必將延遲情形降到最低。只要在裝置端處理語言,即可在使用者提交訊息前即時翻譯。

儘管如此,使用自動化工具來消除語言差距時,保持資訊公開是關鍵。請記得,在對話開始之前,請務必清楚瞭解你是否已導入支援這項功能的 AI 工具。這不僅能實現期待,也有助於在譯文不完美的情況下避免尷尬瞬間。透過政策連結提供更多資訊。

我們正在使用 Chrome 內建的模型開發實驗性 Translate API

示範即時通訊

我們打造了客戶服務即時通訊,讓使用者輸入自己的第一個語言,並為客服專員接收即時翻譯。

使用 Translate API

Chrome 會透過 window.model 物件公開 Translate API。這個物件有兩個重要方法:

  • canTranslate():檢查語言組合的翻譯模型是否已就緒。如果裝置已提供模型,則傳回 "readily";如果瀏覽器必須先下載模型,則傳回 "after-download";如果無法翻譯,則傳回 "no"
  • createTranslator():以非同步方式設定 Translator 物件。如果模型需要下載,系統會等到完成後再進行下載。

Translator 物件只有一個方法:

  • translate():提供來源文字,然後輸出翻譯後的版本。

目前這是實驗性質,且目前僅適用於 Chrome,因此請務必將所有程式碼納入功能偵測中。

const supportsOnDevice = 'model' in window && 'createTranslator' in model;
if (!supportsOnDevice) {
  return;
}

const parameters = { sourceLanguage: 'en', targetLanguage: 'pt' };
const modelState = await model.canTranslate(parameters);
if (modelState === 'no') {
  return;
}
const onDeviceTranslator = await model.createTranslator(parameters);

const result = await onDeviceTranslator.translate(input);
if (!result) {
  throw new Error('Failed to translate');
}
return result;

模型需要時間才能提供給使用者。有兩種方法可以採取這個做法:

  • 模型準備就緒後,等待啟用翻譯技術的 UI 元素。
  • 先從雲端式模型進行翻譯,下載模型之後,再切換至裝置端。

後續步驟

歡迎提供寶貴意見!如要分享對這個方法的意見,請在說明中提出問題,並說明您最感興趣的用途。您可以申請加入搶先體驗搶先體驗計畫,使用本機原型測試這項技術。

你的貢獻可以幫助我們打造功能強大的 AI 技術,造福所有使用者。