建構對話模型

對話模型定義了使用者可對「動作」的對話內容及 系統會回應使用者的動作。對話模型的主要構成元素 是意圖類型場景提示。叫用其中一項動作後,Google 助理就會啟動 Google 助理 由使用者執行該動作,而該動作會展開與 (根據對話模型選擇)

  • 有效的使用者要求:如要定義使用者可對動作說的內容,您可以 建立一組意圖來增強 Google 助理 NLU 瞭解你「動作」的特定要求。每個意圖都會定義 描述使用者可在比對意圖時說的內容 Google 助理 NLU 擴充這些訓練詞組並加入類似的詞組。 這些詞組的匯總會產生意圖的語言模型。

  • 動作邏輯和回應:場景處理意圖、執行必要的邏輯,以及產生要傳回給使用者的提示。

圖 1. 對話模型包含意圖、類型 定義使用者體驗和定義使用者體驗的提示符合的意圖 也可用於對話。

定義有效的使用者要求

如要定義使用者可以對動作說的內容,請使用兩種意圖的組合 和型別您可以運用使用者意圖和類型,增加 Google 助理自然語言模型的 導入自己的語言模型系統意圖和類型可讓您充分運用內建 和事件偵測,例如使用者想退出動作,或是 Google 助理未偵測到任何輸入來源。

建立使用者意圖

使用者意圖可讓您定義自己的訓練詞組,藉此定義使用者的內容 可能會跟你的動作說Google 助理 NLU 會使用這些詞組訓練自己 掌握使用者評論內容當使用者說的內容符合 Google 助理會比對意圖並通知使用者意圖 以便執行邏輯並回應使用者動作。

圖 1.使用者意圖範例

如何建立使用者意圖:

  1. 在「開發」「開發」分頁中,按一下「使用者意圖」⊕(新意圖) 指定名稱,然後按下 Enter 鍵建立意圖。
  2. 在左側選單中,按一下新建立的意圖。意圖編輯器 出現。
  3. 在意圖中新增訓練詞組。您應加入大量的訓練詞組 盡可能訓練「Google 助理」NLU
  4. 選用:為訓練詞組加上註解,指示 Google 助理 NLU 剖析 ,然後從符合指定類型的使用者輸入內容中擷取輸入參數:
    1. 在「新增參數」欄位中輸入參數的名稱。
    2. 從下拉式選單中選取系統類型,或建立自訂類型
    3. 指定參數是否為清單。這樣一來,參數就能收集 相同類型的多個值
    4. 在「新增訓練詞組」部分中,選取要新增的文字。 套用類型這會告訴 Google 助理 NLU 以處理醒目顯示 輸入文字做為參數如果使用者說的內容符合類型,NLU 會將該值擷取為參數。

建立系統意圖

系統意圖可讓您利用具有預先定義語言的意圖 為常見事件建立模型,例如使用者想退出動作或 逾時。建立系統意圖:

  1. 在「Develop」(開發) 分頁中,按一下「System intents」(系統意圖)。一組系統意圖 例如 NO_MATCHNO_INPUTCANCEL
  2. 每個系統意圖都含有自己的處理常式,您可以自訂 每種系統意圖舉例來說,系統意圖允許您觸發 Webhook 事件,並在事件發生時傳送靜態提示。

建立自訂類型

您可以運用自訂類型自行建立類型規格來訓練 NLU 瞭解一組應對應至單一鍵的值。

圖 2.自訂類型範例

如要建立自訂類型,請按照下列步驟操作:

  1. 在「開發」分頁中,依序點選「類型」>「>」⊕(新類型)
  2. 在「這個項目的值種類」 類型 support? 部分:

    • 字詞和同義詞可讓您將多個值對應至單一鍵。 這稱為項目類型可以包含一或多個項目。如果發生以下情況: 選擇此選項,您也可以啟用下列 NLU 設定:
      • 啟用模糊比對功能:允許含有多個字詞的項目 來進行比對。
      • 接受不明的值:如果無法指定所有可能的值, 模型會根據您在周圍輸入的內容,接受未知的字詞或片語, 意圖訓練資料,例如可能新增至雜貨的商品 請參考閱讀清單,進一步瞭解 如何選擇 Kubeflow Pipelines SDK 或 TFX
    • 規則運算式可讓類型符合規則運算式模式 採用 Google 的 RE2 標準
    • 任意形式文字可讓類型比對使用者說的任何內容。
  3. 在「Add entries」(新增項目) 區段指定類型值。如果您選擇「任意形式」 ,您的類型符合任何文字,所以不需要提供任何項目。

建構動作邏輯和回應

Google 助理 NLU 會比對使用者的要求和意圖,這樣你的動作就能 實際演練。場景是強大的邏輯執行工具,可讓您 處理對話期間的事件。

圖 3.自訂場景範例

建立場景

以下各節說明如何建立場景及定義功能 為每個場景的生命週期階段 設定明確且實用的指標

如要建立場景,請按照下列步驟操作:

  1. 在「開發」分頁中,依序點選「Scenes」>⊕(新場景), 指定名稱,然後按下 Enter 鍵建立場景。
  2. 在左選單中點選新建立的場景。場景編輯器 出現。

定義一次性設定

第一次進入場景時,您可以在 進入階段。「進入」階段只會執行一次,且 不是在場景執行迴圈中執行的階段。

  1. 在場景中按一下「進入」階段,即可指定這項功能。 在這個階段,您可以指定下列功能:

    • 呼叫 Webhook:觸發 Webhook。請參閱 Webhook
    • 傳送提示:指定靜態提示給使用者,讓他們瞭解如何: 延續對話請參閱提示說明文件 進一步瞭解如何指定提示
    ,瞭解如何調查及移除這項存取權。
    圖 4.進入舞台的場景範例

檢查條件

條件可讓您檢查運算單元填充、工作階段儲存空間、使用者儲存空間,以及 用於控制場景執行流程。

  1. 在場景中,按一下「Condition」階段的「+」圖示。 右側會顯示條件編輯器。您可以指定以下項目: 功能的運作方式

    • 條件 - 指定要使用基本邏輯關閉的實際條件陳述式 。如需語法相關資訊,請參閱條件說明文件 可能不準確或不適當
    ,瞭解如何調查及移除這項存取權。
    • 呼叫 Webhook:觸發 Webhook。請參閱 Webhook
    • 傳送提示:指定要傳送給使用者的靜態提示, 瞭解如何繼續對話請參閱提示 說明文件。
    • Transition:指定條件式時要轉換至哪個場景 陳述式為 true
,瞭解如何調查及移除這項存取權。
圖 5.場景狀況階段範例
,瞭解如何調查及移除這項存取權。

定義運算單元填充

運算單元可讓您從使用者輸入內容中擷取輸入的參數。

在場景編輯器中,按一下「運算單元填充」階段的 + 圖示。 右側就會顯示該版位的編輯器您可以指定以下項目: 版位屬性:

  • 版位名稱:指定版位名稱。如果想利用 版位值對應,請使用與 對應的意圖參數
  • 版位類型:使用任一系統指定時段的類型 類型或自訂類型
  • 必須提供這個時段:將這個時段標示為必要。如果已啟用 否則系統不會完成廣告填充作業。
  • 為這個版位指派預設值:指定版位的預設值 從指定工作階段參數讀取資料
  • 自訂運算單元值寫回:指定要保留的工作階段參數 版位值。
  • 運算單元驗證:在版位填入結果時觸發 Webhook。這項設定 會套用至所有版位
  • 呼叫 Webhook (需要時段時啟用):觸發 Webhook。 詳情請參閱 Webhook 說明文件。 Webhook
  • 傳送提示 (在需要運算單元時啟用):指定靜態提示 並傳送給使用者,讓他們知道如何繼續對話。詳情請見 提示說明文件中的指示 提示

針對特定版位類型 (例如與交易或使用者參與度相關的版位類型), 系統隨即會顯示一個額外區段,讓你設定該版位。版位 可以根據下列目標設定改變使用者的對話體驗: 提供的資源

如要設定運算單元,請以 JSON 物件提供屬性: 執行要求 (參照為工作階段參數) 或在內嵌 JSON 編輯器中。 您可以在 動作建構工具 JSON 參考資料。例如:actions.type.DeliveryAddressValue 版位類型會對應至 DeliveryAddressValue

圖 6.情境的運算單元填充設定範例

運算單元值對應

在許多情況下,先前的意圖比對可以包含部分或 填滿對應場景的運算單元值。在這些情況下 由意圖參數填入的意圖參數會對應至場景的運算單元填充 (如果運算單元名稱) 就會比對意圖參數名稱

例如,如果使用者符合訂購飲料的意圖,就會說出 「訂購大香咖啡」,也就是供應大尺碼、口味和飲品的現成時段 如果場景定義相同類型,就會視為已填滿的類型 版位。

處理輸入內容

在這個階段,您可以讓 Google 助理 NLU 將使用者的輸入內容與意圖進行比對。 您可以新增所需意圖,將意圖比對的範圍限制在特定情境 加入場景這麼做可讓你向 Google 助理下達指令,控管對話流程 在特定場景啟用時比對特定意圖

  1. 在場景中,按一下「使用者意圖處理」的「+」圖示,或 系統意圖處理階段。意圖處理常式的編輯器隨即顯示 符合條件後,系統會傳送自訂電子郵件 當中包含畫面右側「說明文件」區的內容您可以指定下列意圖功能 處理常式:

    • Intent:指定要在這個場景中比對的意圖。
    • 呼叫 Webhook:觸發 Webhook。請參閱 Webhook
    • 傳送提示:指定靜態提示給使用者,讓他們瞭解如何: 回應。如要進一步瞭解相關資訊,請參閱提示說明文件 指定提示
    • 轉場效果 (如適用):指定要在何時轉換畫面 指定的意圖相符項目
,瞭解如何調查及移除這項存取權。
圖 7.情境的使用者意圖處理常式範例
圖 8.情境的系統意圖處理常式範例