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

使用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>
      主站蜘蛛池模板: 灵石县| 双鸭山市| 岑溪市| 开江县| 札达县| 平和县| 新乡县| 远安县| 枣阳市| 临颍县| 旬邑县| 聂荣县| 丽江市| 洛阳市| 武夷山市| 安图县| 六枝特区| 方城县| 修水县| 阳春市| 灵寿县| 余庆县| 丹东市| 比如县| 固阳县| 莆田市| 安福县| 星子县| 六盘水市| 贵南县| 健康| 藁城市| 新宾| 江油市| 岳池县| 界首市| 华亭县| 团风县| 余江县| 南丹县| 藁城市|