Dialogflow 支援多種語言。如需完整清單,請參閱語言參考資料頁面。系統會將建立代理程式時選擇的語言設為預設語言,而您可以新增其他語言。
根語言和特定地區語言
語言分為兩種:
- 根語言:即未指定地區的語言,例如「(英文 (en)」。
- 特定地區語言:即指定特定國家/地區的語言,例如「英文 - 美國 (en-US)」。
部分語言同時為根語言和特定地區語言。這些語言在各地區之間有顯著差異,因此各地區間無法共用共同的根語言。範例:
- 中文 - 粵語 (zh-HK)
- 中文 - 簡體 (zh-CN)
- 中文 - 繁體 (zh-TW)
- 葡萄牙文 - 巴西 (pt-BR)
- 葡萄牙文 - 葡萄牙 (pt)
您應該要主要針對根語言設計代理程式,並只視需要針對特定地區語言進行自訂。
新增語言
如要透過 Dialogflow CX 主控台新增語言或地區:
- 開啟 Dialogflow CX 控制台。
- 為代理程式選擇 Google Cloud 專案。
- 在清單中找出代理人。
- 按一下代理人顯示名稱。
- 按一下「服務專員設定」。
- 按一下「語言」分頁標籤。
- 視需要新增或移除語言。
- 按一下 [儲存]。
語言專屬資料
多語言服務專員的大部分資料都適用於所有語言。不過,與使用者互動時使用的文字會因語言而異。建構多語言代理程式時,您必須為每種語言提供這類語言特定資料。在控制台中選取語言或向 API 提供語言時,您可以存取指定語言的語言專屬資料。以下是語言專屬資料的完整清單:
如要透過控制台存取語言專屬資料,請按一下控制台頂端的語言按鈕。
舉例來說,下方的「size」實體類型是用來訂購 T 恤。代理程式原本是以英文設定,因此這個實體含有「S」等項目,其同義詞為「small」(小號)。如果您新增西班牙文做為語言,Dialogflow 會針對新語言建立實體,但您必須以西班牙文提供實體項目。
AI 產生語言專屬資料
您可以使用 Conversational Agents (Dialogflow CX),透過 AI 產生功能快速新增特定語言的資料,而無需手動輸入。這項作業可在意圖、實體和執行層級以預先發布版功能執行。
如果您選擇不使用 AI 產生功能,仍可手動輸入非預設語言的資料。
意圖 AI 生成
自動產生非預設語言的訓練詞組:
- 請依序前往「代理程式設定」>「語言」,確認代理程式已啟用一或多種非預設語言。
- 前往控制台頂端的語言下拉式選單,然後選取所選的非預設語言。
- 前往「管理」分頁,然後按一下「意圖」,並選擇其中一個意圖。請確認「Description」欄位已填入意圖目的說明。說明可以使用預設語言或您目前使用的語言。
- 啟用非預設語言時,Conversational Agents (Dialogflow CX) 不會將任何現有的訓練詞組翻譯成新語言。如要在新語言中建立新的訓練字詞,請按一下「__ 新 LLM 產生的字詞」圓形按鈕。預設值為 3。如要複製並自動翻譯現有的訓練字詞,請選取「由 AI 產生的預設語言的所有訓練字詞」。
- 按一下「+ 新增」。系統會產生您指定的訓練字詞數量,並以您所選語言填入表格。請務必檢查所有產生的訓練詞組是否正確無誤。
(預先發布版) 實體 AI 產生
自動產生並自動翻譯非預設語言的參考值和同義詞:
- 請依序前往「代理程式設定」>「語言」,確認代理程式已啟用一或多種非預設語言。
- 前往控制台頂端的語言下拉式選單,然後選取所選的非預設語言。
- 前往「管理」分頁,然後按一下「實體類型」,並選擇其中一個實體類型。
- 啟用非預設語言時,Conversational Agents (Dialogflow CX) 不會自動翻譯任何現有的參照值和同義詞。如要將這些值自動翻譯成新語言,請按一下「+ 從預設語言複製」。系統會將預設語言實體類型的所有原始資料翻譯成新語言,並填入資料表。請注意,一次翻譯超過 50 個項目可能會導致錯誤。每個參照和同義詞值都會計為一個項目。
- 您也可以按一下「+ 新增項目」,新增參考值。您可以使用預設語言輸入參照值,系統會自動將參照值及其同義詞翻譯成新語言。
(預先發布版) 執行要求 AI 產生
AI 產生功能適用於路由、路由群組和事件處理常式執行類型。如要進一步瞭解這些路由類型,請參閱路由和事件處理常式的說明文件。
只有在使用非預設語言查看服務專員,且使用指定的路由類型時,這項功能才會顯示。前往路徑的「Fulfillment」部分。如要自動將代理人的回覆從預設語言複製並翻譯成你目前使用的語言,請按一下「複製並翻譯」。請注意,一次翻譯超過 50 個回覆可能會導致錯誤。
使用 API 時的語言專屬資料
如要透過 API 存取特定語言的資料,請在取得、建立或更新 EntityType
、Intent
或 Page
類型時提供 languageCode
參數。
選取 EntityType 參照的通訊協定和版本:
通訊協定 | V3 | V3beta1 |
---|---|---|
REST | EntityType 資源 | EntityType 資源 |
RPC | EntityType 介面 | EntityType 介面 |
C++ | EntityTypesClient | 不適用 |
C# | EntityTypesClient | 不適用 |
Go | EntityTypesClient | 不適用 |
Java | EntityTypesClient | EntityTypesClient |
Node.js | EntityTypesClient | EntityTypesClient |
PHP | 不適用 | 不適用 |
Python | EntityTypesClient | EntityTypesClient |
Ruby | 不適用 | 不適用 |
選取意圖參照項目的通訊協定和版本:
通訊協定 | V3 | V3beta1 |
---|---|---|
REST | 意圖資源 | 意圖資源 |
RPC | 意圖介面 | 意圖介面 |
C++ | IntentsClient | 不適用 |
C# | IntentsClient | 不適用 |
Go | IntentsClient | 不適用 |
Java | IntentsClient | IntentsClient |
Node.js | IntentsClient | IntentsClient |
PHP | 不適用 | 不適用 |
Python | IntentsClient | IntentsClient |
Ruby | 不適用 | 不適用 |
選取網頁參照的通訊協定和版本:
通訊協定 | V3 | V3beta1 |
---|---|---|
REST | 網頁資源 | 網頁資源 |
RPC | 網頁介面 | 網頁介面 |
C++ | PagesClient | 不適用 |
C# | PagesClient | 不適用 |
Go | PagesClient | 不適用 |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | 不適用 | 不適用 |
Python | PagesClient | PagesClient |
Ruby | 不適用 | 不適用 |
您必須為每種語言分別發出 API 呼叫,才能存取所有語言專屬資料。如果 API 呼叫更新語言通用資料,則會為所有語言更新該資料。
在模擬工具中測試
使用模擬器時,您可以在代理程式名稱下方選取要使用的語言。
使用 API 提供語言
透過 API 傳送要求時,請設定 detectIntent
方法的 queryInput.languageCode
欄位。詳情請參閱 Sessions
類型。
選取工作階段參照項目的通訊協定和版本:
通訊協定 | V3 | V3beta1 |
---|---|---|
REST | 工作階段資源 | 工作階段資源 |
RPC | 工作階段介面 | 工作階段介面 |
C++ | SessionsClient | 不適用 |
C# | SessionsClient | 不適用 |
Go | SessionsClient | 不適用 |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | 不適用 | 不適用 |
Python | SessionsClient | SessionsClient |
Ruby | 不適用 | 不適用 |
自動偵測語言
如果使用者的查詢語言與要求中指定的語言不同,Dialogflow 可以偵測到,並自動切換為使用者的語言。如要查看這項功能支援的語言清單,請參閱語言參考資料頁面。啟用語言偵測功能時,WebhookRequest
中的 LanguageInfo
欄位會識別輸入語言、解析語言和信心分數。
啟用語言自動偵測功能
您必須在服務專員和流程層級啟用語言自動偵測功能。
前往「代理程式設定」,然後選取「語言」分頁。
勾選「啟用語言自動偵測和切換」旁的方塊,為服務專員啟用這項功能。按一下「儲存」即可儲存變更。
選取流程,然後前往「流程設定」。在流程設定面板中,勾選「啟用語言自動偵測和切換」旁的方塊。
在「語言」下拉式選單中,選取要讓 Dialogflow 回應的語言。請務必只選取語言自動偵測功能支援的語言。
按一下 [儲存] 以儲存變更。
要求未提供代理程式的語言
如果 Dialogflow 收到的要求未提供代理程式支援的語言,則適用下列規則:
- 如果要求未提供語言,Dialogflow 會自動判斷輸入語言,並以該語言回應(如果已啟用自動語言偵測功能)。如果停用自動語言偵測功能,Dialogflow 會使用預設語言處理要求。
- 如果要求提供代理程式不支援的特定地區語言,但代理程式支援相關聯的根語言,則 Dialogflow 會使用根語言處理要求。
- 系統實體擷取作業是例外狀況,不適用上述規則。系統實體擷取作業會使用所提供的特定地區語言,即使代理程式不支援該語言亦然。
整合
透過文字整合與服務專員互動時,只能使用服務專員的預設語言。