對話動作將於 2023 年 6 月 13 日淘汰。詳情請參閱對話動作停用

意圖

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

意圖代表 Google 助理需要您執行的工作 (例如需要處理的使用者輸入內容,或是需要處理的系統事件)。您可以使用意圖來建構叫用對話模型。當這些事件發生時,Google 助理執行階段會將其對應至對應的意圖,並將意圖傳送至您的動作進行處理。意圖主要有兩種類型:

  • 使用者意圖可讓您擴充 Google 助理對品牌及服務專屬使用者要求的能力。您可以在意圖中定義自訂訓練詞組,進而產生意圖的語言模型。該語言模型能夠增強 Google 助理 NLU 對其理解能力的能力。

  • 系統意圖具有訓練資料或其他 Google 助理定義的非對話輸入訊號。因此,您不需要為這些意圖定義訓練詞組。Google 助理會在已知的系統事件 (例如主叫用) 或使用者未提供任何輸入內容時,以標準方式比對這些意圖。

圖 1. 常見的意圖比對情境。使用者說的內容與全球意圖相符。對應的情境會啟動,最終會耗用更多使用者輸入內容。系統會比對出另一個意圖,進而轉換並啟用其他情境。

使用者意圖

建構動作時,您可以建立包含訓練詞組的使用者意圖,進而讓 Google 助理更加瞭解相關能力。當 Google 助理將使用者的要求委派到您的「動作」時,Google 會使用您的訓練詞組來增強其 NLU。

發生這種情況時,Google 助理會以使用者和動作之間進行通訊,並將使用者輸入內容對應至具有相符語言模型的意圖。然後,Google 助理會通知相符意圖的動作,以便您在場景中處理該意圖。

建立使用者意圖時,您必須指定下列元素:

  • 「全域意圖指定」會定義 Google 助理執行階段是否能在叫用期間和對話期間比對指定的使用者意圖。根據預設,Google 助理只能在對話期間比對使用者意圖。只有標示為全域的意圖才符合深層連結叫用的資格。

  • 訓練詞組是指使用者可能會如何比對出意圖。Google 助理 NLU (自然語言理解) 引擎可自然擴展這些訓練詞組,以納入其他類似的類似詞組。提供大量的高品質範例可提高意圖品質和比對準確率。

  • 參數是一種您想要從使用者輸入內容中擷取的輸入資料。如要建立參數,可以使用 type 為訓練詞組加上註解,以通知 NLU 引擎您要擷取部分使用者輸入內容。您可以使用系統類型,也可以針對參數建立自訂類型。

當 NLU 引擎在使用者輸入內容中偵測到參數比對時,就會擷取該值,做為型型參數使用,以便您在場景中透過該參數執行邏輯。如果意圖參數的名稱與情境版位的名稱相同,則 Google 助理執行階段會自動為意圖運算單元填入意圖參數的值。詳情請參閱運算單元值對應說明文件。

意圖參數也支援「部分」比對。例如,如果您指定 DateTime 的類型,而使用者只提供日期,NLU 仍會擷取部分值做為參數。

建議您使用自己的 NLU 處理使用者輸入的某個動作。例如,您可能會希望動作在對話期間回應所有不相符的情境。為確保您能擷取所有使用者的輸入內容,請使用任意形式的文字類型建立意圖。然而,請避免使用自訂意圖全域覆寫 Google 助理的預設不相符行為,因為這可能會對使用者在操作間移動的能力造成負面影響。

在操作控制台中建立自訂意圖時,動作建構工具會建議可能符合使用者意圖角色的系統意圖。如要進一步瞭解系統意圖,請參閱以下章節。

系統意圖

Google 助理會根據標準系統事件比對系統意圖。這些事件可能有系統定義的語言模型 (例如使用者說出 "pause" 以暫停媒體播放器),也可能沒有語言模型 (例如使用者未提供任何輸入內容)。由於這些意圖是由 Google 助理提供,因此您不必擔心它們的比對方式,而是只在比對意圖時如何處理。

系統意圖也會取代針對經常需要的動作 (例如 YESNO) 建立使用者意圖的需求。系統意圖會針對所有語言代碼進行訓練,讓您更輕鬆地為多個語言的使用者提供一致的體驗。系統意圖也可設為全域意圖。

系統意圖會經過版本管理。只要 Google 助理支援該版本的系統意圖,即可使用特定版本的系統意圖。如果動作使用不支援的系統意圖版本,系統會自動將該系統意圖更新為支援的版本。

意圖清單

意圖 說明
actions.intent.MAIN 每個動作專案都必須包含這個預設的主要叫用,其與顯示名稱相關。使用者說出「Ok Google,與 <顯示名稱> 交談」等詞組叫用動作。

actions.intent.NO_MATCH_1

actions.intent.NO_MATCH_2

actions.intent.NO_MATCH_FINAL

當使用者說出動作中無法比對出意圖時,系統就會比對出這些意圖。您可以在最終意圖中設定個別重組和結束訊息。

actions.intent.NO_INPUT_1

actions.intent.NO_INPUT_2

actions.intent.NO_INPUT_FINAL

如果 8 秒後未輸入使用者資訊,系統就會比對出這些意圖。您可以為每個意圖設定個別重組設定,並在最終意圖中設定結束訊息。

actions.intent.CANCEL 當使用者在對話期間離開您的動作時,系統就會比對出這項意圖。舉例來說,使用者表示「我想離開」。
actions.intent.MEDIA_STATUS_FINISHED 當使用者完成媒體播放或跳至下一個媒體時,這項意圖就會相符並傳送至您的動作。
actions.intent.MEDIA_STATUS_PAUSED 當使用者暫停媒體回應中的媒體播放時,這項意圖會比對並傳送至您的動作。
actions.intent.MEDIA_STATUS_STOPPED 當使用者停止或結束媒體回應中的媒體播放時,此意圖會比對並傳送至您的動作。
actions.intent.MEDIA_STATUS_FAILED 當媒體回應的播放器無法播放時,系統會將這項意圖配對並傳送至您的動作。
actions.intent.YES

當使用者對你的動作提供肯定回應時,系統就會比對出這項意圖。

actions.intent.NO

當使用者對你的動作提供負面回應時,系統就會比對出這項意圖。

actions.intent.REPEAT

當使用者要求動作重複播放最後一個回應時,系統就會比對出這項意圖。如果代理程式「未啟用」系統意圖,Google 助理會自動處理重複要求。只要啟用這個系統意圖,您就能修改如何處理重複要求和回應。

actions.intent.PLAY_GAME 當使用者要求玩遊戲時,系統就會比對出這項意圖。這項意圖可讓您啟用 Actions on Google 提供的隱含叫用 (無須使用顯示名稱而叫用)。

新增其他語言的支援

某些系統意圖 (例如 YESNONO_MATCH) 僅支援英文。如要新增其他語言的支援,您必須建立符合這些系統意圖的使用者意圖。新的意圖的處理方式,必須與您實作的系統意圖相同。

舉例來說,假設您正在開發新動作,並已實作 YES 系統意圖。YES 系統意圖僅支援英文,但也希望您的應用程式支援德文和日文的互動。如要支援其他語言,您必須建立包含德文和日文訓練詞組的意圖,然後實作用於 YES 系統意圖的處理程序。

進一步瞭解如何建立使用者意圖

進一步瞭解如何本地化使用者意圖

無相符項目

如果使用者的回應與您的其中一個意圖不符,Google 助理會嘗試處理輸入內容。這項行為可協助使用者在對話中變更動作。舉例來說,假設某位使用者問:「這週上映哪些電影?」,然後更改對話期間的情境,「明天天氣如何?」在這個範例中,由於「明天天氣如何?」對於初始提示觸發的對話無效,因此 Google 助理會自動嘗試處理比對作業,並將使用者移到適當的對話中。

如果 Google 助理找不到符合使用者輸入內容的適當動作,則會在動作內繼續執行。

由於 Google 助理可能會中斷你的動作以回應有效的不匹配情境,因此請勿使用 NO_MATCH 系統意圖執行使用者查詢。您應使用 NO_MATCH 意圖來提示使用者。