精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

使用Actions on Google和API.AI構建會話式應用

責任編輯:editor004

作者:Kent Weare

2017-01-03 12:10:01

摘自:INFOQ

Google開發會話行為的目的就是為了應對這些上下文敏感的挑戰,以幫助開發者構建會話App。調用會話行為的方式有三種: 會話API,它提供了與Google Assistant通信所必須使用的請求和響應的格式。

在Amazon re:Invent大會上,Amazon發布了深度學習服務Lex,該服務底層所使用的技術與Alexa應用到Amazon移動藍牙和Wi-Fi Echo揚聲器中的技術一樣。在Amazon發布該服務之后不久,Google就發布了Actions on Google項目,使開發者能夠構建基于Google Assistant的語音交互應用,并與Google Home設備進行集成。

  圖片來源: https://madeby.google.com/home/

Google的高級開發工程師Wayne Piekarsk將Actions on Google平臺描述為一種集成方式:

開發者可以通過它將自己的服務與Google Assistant集成到一起。

該集成的實現方式是:

會話行為(Conversation Action)允許開發者通過一個雙向窗口滿足用戶的請求。當用戶請求一個Action的時候,Google Assistant就會處理該請求,決定由哪個Action處理該請求最好,并調用相關的會話行為。調用之后,開發者開發的會話行為就能掌控剩下的所有事情,包括如何歡迎用戶,如何滿足用戶的請求,以及如何結束會話。

為了闡述Actions on Google的功能,Google使用了一個私人廚師的示例應用,該應用允許最終用戶通過Google Home設備與食譜查找服務交互。首先,最終用戶需要告訴該應用自己現在的情緒以及所擁有的佐料,然后會話應用會解析用戶的情緒,理解可用的佐料有哪些,之后會根據用戶的情緒和食欲為其提供食譜。

編寫這種類型的應用是非常具有挑戰性的,因為很難準確地提取Action的意義。Solvvy的聯合創始人和CTO Mehdi Samadi解釋說:

現在即使利用AI技術,將“告訴我附近便宜的Indian餐館在哪里”這樣的命令/指令轉換成一組可執行的命令集也不是一件容易的任務。我們首先需要理解用戶想要尋找“Indian”風味的餐館,然后需要知道用戶心中的“便宜”到底指什么價位。

Google開發會話行為的目的就是為了應對這些上下文敏感的挑戰,以幫助開發者構建會話App。

圖片來源: (screenshot) https://www.youtube.com/watch?v=HNfE0uaKcfY

會話行為由三個主要的組件組成,包括:

調用觸發器(Invocation Triggers)定義了用戶如何調用和發現Action。一旦被觸發,Action就會展開一個由對話框定義的會話與用戶交互。對話框(Dialogs )定義了用戶如何與Action進行交談,同時它也是Action的用戶界面。它們依靠實現代碼推動會話的前行。實現(Fulfillment)是處理用戶輸入并返回響應的代碼,它是一個REST服務。實現通常還包含一些執行具體行為的邏輯,例如檢索菜譜或者新聞并大聲朗讀。

調用會話行為的方式有三種:

會話API,它提供了與Google Assistant通信所必須使用的請求和響應的格式。Actions SDK,包含一個NodeJS客戶端類庫,行為包(Action Package)定義,CLI和Web模擬器。包含API.AI在內的其他工具。

API.AI是Google最近收購的一家公司,開發者可以通過它來構建會話接口。Google負責工程的副總裁Scott Huffman在2016年9月曾宣稱:

超過60,000名開發者正在使用API.AI在Slack、Facebook Messenger和Kik等環境中構建會話式體驗。

在Actions on Google平臺上,開發者可以將API.AI接入自己的會話界面上以減少會話API通常所需要的文字轉錄量。Piekarsk著重強調了在Actions on Google平臺上使用API.AI的一些好處:

API.AI為會話接口的創建提供了一個直觀的圖形用戶界面,同時它還會處理會話狀態的管理和表單的填充等繁重的任務。

圖片來源:(screenshot) https://www.youtube.com/watch?v=HNfE0uaKcfY

為了處理一個會話,開發者可以使用控制臺來定義Intents。在Google私人廚師食譜的示例中,Intents包括定義需要從用戶那里獲取的信息,例如材料、溫度、菜式和烹飪時間。

接下來,開發者需要提供一些例句。API.AI會使用這些例句訓練機器學習算法,以便于處理其他來自于用戶的句子。開發者不需要為API.AI編寫正則表達式來解析其他的句子。

  圖片來源:https://www.youtube.com/watch?v=HNfE0uaKcfY

開發者可以人工地為每個信息指定可接受的值。一旦提供了這些內容,API.AI就能使用這些信息從用戶所說的句子中提取語義。例如,開發者可以定義一組映射到某種蛋白質的實體。如果私人廚師App想要在食譜中包含蛋白質,那么可以從開發者定義的一組同義詞(例如牛肉、羊肉、豆腐和雞肉等)中選取。

當用戶與應用通信的時候,用戶可以提供自然信息,包括一些無序的、只言片語的信息,如果應用沒有接收到完整的信息,或者接受到的信息不明確,那么它會通過一些跟進的問題來獲取信息。

開發者還可以將Intents連接到后端的webhook,這樣就可以通過連接到IFTTT、Zapier或者Azure Logic Apps等第三方平臺上實現擴展。當一個webhook被調用的時候,所有適合的數據都會以JSON字符串的方式傳送。

開發者在控制臺上配置好了自己的Intents和實體之后,他們就可以在API.AI的Web模擬器上啟動一個測試,在將其提供給所有的Google Home用戶之前首先通過私人的Google Home進行預覽。

查看英文原文:Building Conversational Apps Using Actions on Google and API.AI

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 江陵县| 扶余县| 贺兰县| 乌兰浩特市| 临西县| 寿光市| 资兴市| 上思县| 虎林市| 平南县| 青阳县| 体育| 灌阳县| 霍山县| 壶关县| 梧州市| 大余县| 日土县| 延边| 沈阳市| 德清县| 鄂尔多斯市| 呈贡县| 什邡市| 巫溪县| 昌宁县| 通江县| 台山市| 霞浦县| 柯坪县| 布拖县| 淮北市| 湾仔区| 武城县| 涟水县| 宜城市| 惠东县| 株洲市| 铁力市| 许昌市| 宝丰县|