對話動作已於 2023 年 6 月 13 日淘汰。詳情請參閱「
對話動作已淘汰 」。
Conversational Actions
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
對話動作可讓您為 Google 助理使用者建立自訂體驗或對話,藉此擴充 Google 助理的功能。在對話中,對話動作會處理 Google 助理提出的要求,並傳回含有音訊和視覺元件的回應。對話動作也可透過 Webhook 與外部網路服務通訊,以便在傳回回應前加入對話或商業邏輯。
圖 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 取得所有範例,開始實驗。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權 ,程式碼範例則為阿帕契 2.0 授權 。詳情請參閱《Google Developers 網站政策 》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2023-12-01 (世界標準時間)。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"缺少我需要的資訊"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"過於複雜/步驟過多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"過時"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻譯問題"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/程式碼問題"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"容易理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"確實解決了我的問題"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u4e0a\u6b21\u66f4\u65b0\u6642\u9593\uff1a2023-12-01 (\u4e16\u754c\u6a19\u6e96\u6642\u9593)\u3002"}
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2023-12-01 (世界標準時間)。"]]