如要在 Dialogflow 中定義動作,請在 Dialogflow 代理程式中建立意圖,並將其指派為動作的進入點。您可以建立下列類型的動作:
- 預設動作:每個 Dialogflow 代理程式都必須有一個動作,當使用者以名稱提出動作時 (例如:「Ok Google. 與 Google 的資訊交談」或「Ok Google,讓我來向「關於 Google 的資訊」) 吧)。
- 在對話中深層連結的其他意圖:當使用者以名稱叫用動作,「並」指定叫用詞組 (例如「針對歷史資訊談論 Google 的相關資訊」) 時,就會觸發這些動作。
如要進一步瞭解這些叫用模型的運作方式,請參閱「意圖與叫用」一文。
定義預設動作
每個 Dialogflow 代理程式都必須有一個處理 GOOGLE_ASSISTANT_WELCOME 事件的意圖。當使用者以名稱叫用動作 (例如「Ok Google,與 Google 相關的知識」) 時,就會觸發這個意圖。
您可以透過下列方式定義 GOOGLE_ASSISTANT_WELCOME 事件:
從 Dialogflow 控制台的意圖編輯器:
- 按一下導覽選單中的「Intents」。
- 選取要設為歡迎事件的意圖。
- 在意圖的「Events」(事件) 區段中輸入
GOOGLE_ASSISTANT_WELCOME
。 點按「儲存」。
圖 1. Dialogflow 意圖「Events」(事件) 部分的螢幕截圖。
透過 Google 助理整合互動視窗:
- 按一下導覽選單中的「整合」,然後點選「Google 助理」。
- 按一下「X」X,在「明確叫用」X欄位中移除目前的項目。
在「歡迎意圖」方塊中,選取要設為歡迎事件的意圖。
圖 2:Dialogflow 控制台中 Google 助理整合互動視窗的螢幕截圖。
當您查看意圖的「Events」(事件) 區段時,應該會看到意圖現在已設定 GOOGLE_ASSISTANT_WELCOME 事件 (請參閱圖 1)。
啟用執行要求
根據預設,Dialogflow 意圖會傳回靜態回應,該回應會在意圖的「Response」部分指定。這項設定可能足以適用於只需要叫用時以相同訊息回應的簡單動作。然而,如果您希望意圖傳回動態回應,則必須提供可以處理複雜邏輯的執行要求,並為意圖即時撰寫回應。
如要為意圖啟用執行要求,請按照下列指示操作:
- 捲動至意圖編輯器的底部。
按一下「Fulfillment」,然後選取「Enable Webhook Call for this intent」(針對這個意圖啟用 Webhook 呼叫)。
圖 3 Dialogflow 意圖「執行要求」部分的螢幕截圖。
如要瞭解如何在觸發這個意圖時處理這個意圖,請參閱「建構執行要求」。
定義其他動作
您可以提供其他動作做為對話的進入點。這項設定可讓使用者指定更多詳細資料,例如「與 Google 談論有關 Google 的記錄,來尋找歷史文物」。
如要在 Dialogflow 中定義其他動作,請按照下列步驟操作:
- 為您要建立的特定動作建立意圖。
在意圖的「訓練詞組」部分,指定觸發這項動作的模式。舉例來說,如果您希望動作透過「Talk to Facts about Google find me history informations」(找出 Google 歷史事實) 一詞叫用,請提供下列訓練詞組:
- 「尋找歷史知識」
- 「查詢歷史資訊」
- 「取得關於公司歷史的資訊」
- 「唸出一些總部的相關資訊」
- 「告訴我總部的幾項小知識」
建議您每個意圖至少設定 10 個訓練詞組。
如要為意圖啟用執行要求,請捲動至畫面底部,按一下「Fulfillment」,然後選取「Enable Webhook Call for this intent」(針對這個意圖啟用 Webhook 呼叫)。(如要進一步瞭解執行要求,請參閱建構執行要求)。
點按「儲存」。
按一下導覽選單中的「Integrations」(整合),然後點選「Google Assistant」(Google 助理)。(畫面上會顯示 Google 助理互動視窗)。
在「隱式叫用」區段中,新增意圖。
圖 4 Google 助理整合互動視窗上「隱式叫用」部分的螢幕截圖。
定義動作時,請遵循以下限制和規範:
- 請勿在叫用詞組中加入保留字詞。
- 例如,請勿使用「talk to」或「let me talk to」來啟動叫用詞組。
- 請勿指定僅包含
@sys.any
實體的訓練詞組。- 請以更具體的方式說明,例如
find recipes for @sys.any
。
- 請以更具體的方式說明,例如
處理無法辨識的動作
如果使用者嘗試叫用動作無法辨識的動作,Dialogflow 可以觸發意圖處理這些情況。
如要啟用這項行為,請使用 google_assistant_welcome
的輸入背景資訊建立新的意圖,並指定適當的回應給使用者:
- 在導覽選單中,按一下「Intents」(意圖)。
- 按一下「Create Intent」(建立意圖),並為意圖命名。
- 在「Contexts」(背景資訊) 區段中,將
google_assistant_welcome
指定為輸入背景資訊,然後按下 Enter 鍵。(輸入輸入背景資訊後,google_assistant_welcome
會顯示為輸出背景資訊)。 按一下「x」x移除該輸出背景資訊。
在「訓練詞組」中,新增
banana
(或任何其他名詞) 做為使用者運算式。按兩下 banana,然後選取
@sys.any
。(我們會使用@sys.any
實體指示 Dialogflow 將運算式一般化為任何文法,而非只使用 banana)。在「Response」區段,使用
$any
指定回應。例如,請使用以下回應:I'm sorry, I don't know how to help with $any.
點按「儲存」。