全面解析Bot框架:從機器人平臺的區別到知名框架

科技巨頭諸如 Facebook 和微軟已經大規模發佈了 Bot 框架,旨在量產聊天機器人。在 Facebook Messenger 上開發了超過 11,000 個聊天機器人,並且有近 23,000 個開發人員註冊了 Facebook 機器人引擎。此外,大量初創公司擁有自屬開發框架和功能性產品。較小的交流平臺,如 Telegram 和 Slack,也推出了「機器人商店」(「Bot Stores」),併成立基金吸引開發人員。

什麼是 Bot 框架?

簡單地解釋,Bot 框架用來製造機器人並定義其行為。作為聊天機器人開發者,開發和定向如此之多的交流平臺與聊天機器人開發 SDKs 常會感到無所適從。Bot 開發框架是這樣一種軟件框架,它能對聊天機器人開發過程中的人工內容做抽象化處理。

然而,儘管很多 Bot 開發框架宣稱「代碼一旦寫好可部署到任何地方」,你還是很可能為你的每一個目標交流平臺開發一個單獨的聊天機器人。Bot 開發框架包括機器人制造者 SDK(Bot Builder SDK)、機器人連接器(Bot Connector)、開發者入口(Developer Portal)、機器人目錄(Bot Directory)以及一個用來測試已開發機器人的模擬器。此外,Bot 框架並不適合初學者用來學習聊天機器人開發。

機器人框架與機器人平臺的差別?

Bot 框架(Bot Framework)有時錯誤地與 Bot 平臺(「Bot Platform」)通用。在開發應用程序時,Bot 平臺的作用是提供部署和運行應用程序的,Bot 框架的作用是開發和綁定各種組件到應用程序。Bot 平臺是在線生態系統,其中聊天機器人可以被部署並與用戶進行交互,代表用戶執行操作,包括與其他平臺交互。

Bot 開發框架是一組預定義函數和開發人員用來加快開發的類,一組可以使你更快更好編碼的工具。簡單來說,初學者或非技術用戶可以用 Bot 平臺來開發不需要寫代碼的機器人,而 Bot 開發框架則被開發人員和碼農藉助編程語言從頭開始構建機器人。

例如 Bot 平臺 Motion.ai 可使用戶無需編碼便能快速創建強大的機器人。原因在於 Motion.ai 提供了一個能創建聊天機器人的工具包,使得機器人可與 APIs 相連並部署到任何一個可用的交流平臺。

全面解析Bot框架:從機器人平臺的區別到知名框架

一些著名的 Bot 框架

Facebook bot 引擎

2016 年 4 月,Facebook 實現了基於 Wit.ai 技術的 Facebook Bot 引擎。Wit.ai 在自己的雲服務器運行,Bot 引擎是一個包裝器,用於在 Facebook Messenger 平臺上部署機器人。Facebook 作為社交巨頭的力量在於海量用戶,因此他們不需要任何其他的 Bot 開發平臺,並且聊天機器人將僅限於 Facebook Messenger(其本身即是一個巨大的空間)。

Facebook 正在為 Facebook Bot 引擎採用一種新策略。如果開發人員獲得框架,Facebook Messenger 用戶將享有各種專業聊天機器人

Facebook Bot 引擎依賴於機器學習。提供 Bot 框架示例對話之後,它可以處理同一問題的很多不同變體。隨著開發人員不斷完善聊天機器人,它們的潛力也會越來越巨大。

Wit.ai 提供一些選項:

1.它能提取出一些預定義的實體,比如時間、日期等等。

2.提取用戶的意圖。

3. 提取情緒。

4. 它可進行自我定義和提取。

微軟 Bot 框架

微軟幾乎與 Facebook 同時宣佈了其 Bot 框架。儘管微軟的哲學和方法有點不同。就像 Facebook 的產品一樣,微軟的 SDK 可以被看作是 2 個彼此獨立的組件。

1. Bot 連接器,集成框架

2. LUIS.ai,自然語言理解組件

微軟 Bot 框架的集成組件適用於 Slack、Facebook Messenger、Telegram、Webchat、GroupMe、SMS、電子郵件和 Skype,令人印象深刻。此外,Azure 上有一個 PaaS 選項,就是用於 Bots。

微軟 Bot 框架是一個全面的產品,用於構建和部署高質量的聊天機器人供用戶享受最喜歡的對話體驗。機器人開發人員都面臨著同樣的問題:機器人需要基本的輸入和輸出;它們必須具備語言和會話能力;機器人必須具有高性能,響應性和可擴展性;並且它們必須能夠向用戶提供理想的對話體驗。微軟 Bot 框架提供了我們構建,連接,管理和發佈智能聊天機器人所需要的一切,無論是通過文字/SMS,還是其他平臺諸如 Slack、Skype、 Facebook Messenger、Kik 等,聊天機器人都可以和用戶自然地交流。微軟 Bot 框架由許多組件組成,包括 Bot 創建者 SDK(Bot Builder SDK)、開發人員門戶(Developer Portal)和 Bot 目錄(Bot Directory)。

API.ai

API.ai 是另一個基於 Web 的 bot 開發框架。API.ai 似乎已經發現了讓用戶通過輸入多個話語來定義實體和意圖的缺陷,並因此提供了一個巨大的領域集(a huge set of domains)。API.ai 為 bot 開發提供的一些 SDK 和庫,包括 Android、iOS、Webkit HTML5、JavaScript、Node.js、Python 等。

API.ai 建立在如下幾個概念上:

1.代理器:代理器對應於應用。一旦我們訓練並測試一個代理器,我們就可以把它集成到我們的 app 或設備中去。

2.實體:實體表示那些通常專用於某一領域的概念,作為將 NLP(自然語言處理)短語映射到捕獲其含義的批准短語的方式。

3.意圖:意圖表示用戶說什麼和軟件需要採取什麼動作之間的映射。

4.動作:動作對應於您的應用在用戶的輸入觸發特定的意圖時所採取的步驟。

5.上下文:上下文是表示用戶表達的當前上下文的字符串。這對於區分可能是不明確的並且因取決於前面的話而具有不同含義的短語是有用的。

API.ai 能被集成在很多流行的交流平臺、物聯網和虛擬個人助理平臺。它們中的一些包括 Actions on Google、Slack、Facebook Messenger、Skype、Kik、Line、Telegram、Amazon Alexa、Twilio SMS 和 Twitter 等。

Aspect CXP 和 Aspect NLU

Aspect 客戶體驗平臺(CXP)是設計,實施和部署多渠道客戶服務應用程序的平臺。Aspect NLU 是一個給出人類語言感覺的組件,其採用的方法與 Wit.ai、API.ai 和微軟 Bot 框架完全不同,並能為 Facebook Messenger 上的自助服務對話帶來人性化的交談口吻。這使它能夠通過自動化以聊天機器人特有的方式進行擴展。Aspect CXP 使得設計、實現和在多種交流渠道(諸如文本、語音、移動網、社交網絡)部署聊天機器人變得容易起來。這很適合那些需要複雜聊天機器人、客服應用和企業軟件的地方;不太適合對簡單機器人、嵌入式應用和物聯網應用的需求。

這些是市場上可用的、開發人員構建機器人的 Bot 框架。如果你的組織要花費大量的金錢和時間與客戶交流,你可以嘗試建立一個機器人來處理這種情況。對話用戶界面的時代(The era of Conversational User Interfaces)已經到來,成為掌握趨勢的先行者之一吧。

結語

感謝您的觀看,如有不足之處,歡迎批評指正。

對大數據感興趣的同學可以關注我,並在後臺私信發送關鍵字:“大數據”即可獲取免費的大數據學習資料。

知識體系已整理好(筆記,PPT,學習視頻),歡迎大家來領取!還有面試題可以免費獲取。


分享到:


相關文章: