Conversational Actions

對話動作可讓您為 Google 助理使用者建立自訂體驗或對話,藉此擴充 Google 助理的功能。在對話中,對話動作會處理 Google 助理提出的要求,並傳回含有音訊和視覺元件的回應。對話動作也可透過 Webhook 與外部網路服務通訊,以便在傳回回應前加入對話或商業邏輯。

在與 Google 助理的往來對話中,使用者詢問有關會議場次時,系統會回答問題。
圖 1. 對話動作範例

建構原因

一般電腦介面需要結構化且可預測的輸入內容才能正常運作,導致這些介面使用起來不自然,且有時很難使用。如果使用者無法輕易辨識這類結構化輸入內容,就會難以判斷該怎麼做。

例如,不妨以「今天幾度天氣預報?」這類簡單的使用者要求為例,其他使用者可能也會詢問「現在天氣如何?」或「舊金山明天的溫度是幾度?」就算是這個簡單的問題,也能發現對話體驗不易實作,因為解讀及處理自然語言需要非常穩固的語言剖析器,才能理解語言細微的細微差異。您的程式碼必須處理所有不同類型的要求 (甚至更多要求),才能執行相同的邏輯:查詢特定時間和位置的預測資訊。因此,傳統電腦介面需要已知的標準輸入要求,才能對使用者體驗造成負面影響,因為這樣比較易於處理高度結構的輸入內容。

不過,當您建構對話動作時,Google 助理會為您處理自然語言理解 (NLU) 作業,因此您可以輕鬆建構開放式對話介面。這些介面工具可讓您瞭解人類語言的各種細微差異,並將其轉譯成標準和結構化的意義,以利您的應用程式和服務理解。我們來看看動作如何處理上述的天氣預報要求。

圖 1. NLU 意圖比對

如要查詢天氣預報,您可能需要一些資訊,例如使用者想取得天氣預報的時間和位置。不過,如我們前所述,不同使用者可能會透過不同的方式提出預測要求。Google 助理可以瞭解這些差異,並將其轉譯成標準的使用者意圖,以便取得預測資訊。接著,比對服務會剖析使用者要求,提供執行要求所需的適當資料。在這個案例中,也就是使用者希望天氣預報的時間和地點。最後,您可以透過公開 REST API 使用這項資料來查詢天氣,並以提示的形式將天氣回傳給使用者。

建構時機

對話動作最適合用於簡單的用途,讓使用者可以快速完成工作,也可以用語音引導式用途來創造沉浸式體驗。良好的對話動作通常可分為下列一般類別:

  • 方便回答的問題可透過熟悉的輸入 (例如時間或日期) 完成的動作,例如預訂航班。
  • 快速卻實用的動作。使用者只要花一點時間就能立即享有優勢,例如找出最喜歡的球隊下一場比賽的時間。
  • 本質上更適合語音的操作。通常您會想要免持操作,例如瑜珈或輕度運動期間接受指導,或專為語音優先互動所設計的遊戲。

建構方式

Actions on Google 可讓您以 Actions SDK、Actions Builder 或兩者交替建立對話動作。這項功能可讓您根據自身需求選擇最合適的開發工作流程,並在需要時靈活切換。

Actions SDK 提供標準化的檔案型結構定義來建構動作、與 Google 助理互動的程式庫,以及用於部署及管理動作專案的 CLI。Actions Builder 是以與 Actions SDK 相同的技術為基礎建構而成,並可透過簡單易用且功能強大的 IDE 進行建構。

詳情請參閱建構總覽

後續步驟

歡迎參考下列資源,立即開始建構:

  • 快速入門指南:快速說明如何設定環境,並開始使用 Actions SDK 和 Builder 進行開發。
  • 程式碼研究室:程式碼研究室提供詳盡的逐步操作說明,協助您瞭解如何為 Google 助理建構動作。
  • 範例 - 立即前往 GitHub 取得所有範例,開始實驗。