訓練代理程式時,Dialogflow 會使用訓練資料,專為您的代理程式建構機器學習模型。這類訓練資料主要包含意圖、意圖訓練詞組,以及代理程式中參照的實體,這些資料會有效做為機器學習資料標籤。不過,代理程式模型是使用參數提示回應、代理程式設定,以及與代理程式相關聯的許多其他資料所建構。
每當變更服務專員時,請務必先訓練服務專員,再嘗試使用。視代理程式設定而定,訓練可能會自動或手動進行。
您也可以使用訓練工具分析及匯入實際對話資料,並改善訓練資料。
草稿代理程式自動訓練
根據預設,每次從控制台更新及儲存代理程式時,系統都會自動執行草稿代理程式的代理程式訓練。彈出式對話方塊會顯示這項訓練的狀態。
不過,透過 API 更新代理程式不會觸發自動訓練。
草擬代理程式手動訓練
您可以更新代理程式的機器學習設定,停用暫存代理程式的自動訓練功能。
如果代理程式有超過 780 個意圖,或您已停用自動訓練設定,就必須手動執行訓練。
如要從主控台手動訓練代理程式,請按一下機器學習設定中的「訓練」按鈕。
如要透過 API 手動訓練代理程式,請在 Agent 類型上呼叫 train 方法。
自動訓練代理程式版本
每當建立新的代理程式版本時,系統會自動訓練新版本。
如要透過控制台建立新的代理程式版本,請按一下「環境」分頁中的「發布版本」按鈕。
如要透過 API 建立新的代理程式版本,請呼叫 Version 類型的 create 方法,建立新的代理程式版本。
訓練工具
訓練工具可用於查看傳送至代理程式的使用者輸入內容,並改善訓練資料。這項工具可用來:
- 使用目前的代理程式模型,查看實際使用者的輸入內容,以及每一回合對話相符的意圖。
- 將這些對話中的使用者表達內容,新增至相符意圖、不同意圖或後備意圖的訓練詞組。
- 匯入您準備或擷取自實際對話的使用者表達內容。
這項工具會使用代理記錄資料載入對話,因此必須啟用互動記錄才能使用這項工具。訓練工具只會顯示使用者表達內容。如要查看代理程式和使用者的對話資料,請參閱更完整的代理程式記錄。
如要開啟訓練工具,請按照下列步驟操作:
- 前往 Dialogflow ES 主控台。
- 從左側欄選單中接近頂端的位置選取您的代理程式。
- 按一下左側邊欄選單中的「訓練」。
對話清單
開啟工具時,系統會顯示對話清單。 這份清單會依時間反向排序,列出最近的對話。 清單中的每一列都會提供對話摘要。 下表說明每個 UI 元素:
| UI 元素 | 說明 |
|---|---|
| 對話 | 對話中的第一個使用者表達內容。 |
| 日期 | 對話發生或匯入的日期。 |
| refresh | 如果對話用於更新訓練資料 (如下所述),該列的狀態指標會顯示綠色勾號。 |
訓練檢視畫面
按一下對話清單中的資料列,即可在訓練檢視畫面中開啟對話。訓練檢視畫面會顯示對話輪流清單,並提供控制項,可將這項資料新增至訓練資料。
編輯顯示的資料或點選右側的工作按鈕時,系統會建立訓練資料更新工作,並排入儲存佇列。建立完工作後,請按一下「核准」按鈕,執行所有已排入佇列的工作。獲得核准後,請手動訓練代理程式。

下表說明每個 UI 元素:
| UI 元素 | 說明 |
|---|---|
| 日期 | 對話發生或匯入的日期。 |
| 要求 | 對話的列數。 |
| 不相符 | 沒有相符意圖的資料列數。 |
| 使用者說 | 該列的使用者表達內容。 |
| Intent | 這一列的意圖與目前的代理程式模型相符。您可以點選連結,將相關聯的意圖變更為新的或現有的意圖。 |
| check | 將工作加入佇列,為目前所選意圖新增訓練詞組,也就是該列的使用者表達內容。工作加入佇列後,圖示會變成綠色。 |
| block | 將工作加入佇列,將該列的使用者表達內容新增為預設備用意圖的訓練詞組。這會建立負面範例。工作加入佇列時,圖示會變成橘色。 |
| delete | 將工作加入佇列,以刪除資料列。工作排入佇列時,圖示會變成紅色。 |
| 核准 | 執行所有列的佇列工作。 |
註解
在訓練檢視畫面中查看對話時,使用者表達內容會顯示相符的實體,並以醒目顯示的註解表示。如要新增或編輯註解,請按照下列步驟操作:
- 按一下要編輯的註解,或選取要加註的字詞。
- 從選單中選擇現有實體。

匯入對話
您可以將準備或擷取的對話資料檔案匯入訓練工具。匯入對話內容可改善現有服務專員。 如要上傳對話,請按一下頁面頂端的「上傳」按鈕。 然後,您可以分析這些資料,並如上所述新增至訓練資料。
以下說明檔案內容格式、限制和結果:
- 上傳的每個檔案都會在訓練工具中產生一則對話。
- 要求不會傳送至偵測意圖 API,因此不會啟用任何背景資訊,也不會比對任何意圖。
- 單一文字檔案或 ZIP 封存檔 (最多可含有 10 個文字檔案)。
- 單次上傳的檔案不得超過 3 MB。
- 檔案應只包含以換行符號分隔的使用者表達內容。
- 理想情況下,檔案只應包含適合當做訓練詞組的資料。
- 使用者運算式的順序並不重要。
以下是範例檔案:
I want information about my account. What is my checking account balance? How do I transfer money to my savings account?
限制
- 訓練工具僅適用於
global區域。 - 訓練工具不會將機器學習分類門檻設定納入意圖比對考量。即使代理程式模型沒有變更,您在執行階段和訓練工具中比對的意圖可能也會不同。
- 如果使用者輸入的內容包含必要參數值,訓練工具可能無法比對出預期意圖,但執行階段可以正確比對。可能發生這種情況的原因如下:
- 該意圖中沒有加註的訓練詞組。
- 輸入內容與訓練詞組有顯著差異。
最佳做法
在開發的各個階段使用訓練工具
在代理程式開發的各個階段使用訓練工具,並在每個階段調整訓練資料:
- 在將服務專員發布至正式版之前,請先邀請一小群使用者進行測試。
- 將代理程式發布到正式環境後,請立即檢查實際對話是否如預期運作。
- 每當對代理程式進行重大變更時,請檢查新變更是否如預期運作。
- 定期對正式版代理程式執行這項工具,以便進行例行分析。
匯入品質資料
下列資料來源通常較為實用:
- 與真人客戶服務專員間的對話記錄。
- 線上客戶服務對話 (電子郵件、論壇、常見問題)。
- 客戶透過社交媒體提出的問題。
請避免上傳下列幾種資料:
- 使用者表達內容較長,且不屬於對話。
- 與代理程式中的所有意圖皆無關的使用者表達內容。
- 使用者以外的發言者留下的記錄 (例如客戶服務專員的回應)。