全面解析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 框架
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)。
在此我向大家推薦一個大資料技術交流圈: 658558542 突破技術瓶頸,提升思維能力 ( ☛點選即可加入群聊 )
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)已經到來,成為掌握趨勢的先行者之一吧。
結語
感謝您的觀看,如有不足之處,歡迎批評指正。
在此我向大家推薦一個大資料開發交流圈:
658558542 ( ☛點選即可加入群聊 )
裡面整理了一大份學習資料,全都是些乾貨,包括大資料技術入門,大資料離線處理、資料實時處理、Hadoop 、Spark、Flink、推薦系統演算法以及原始碼解析等,送給每一位大資料小夥伴,讓自學更輕鬆。這裡不止是小白聚集地,還有大牛線上解答!歡迎初學和進階中的小夥伴一起進群學習交流,共同進步!
最後祝福所有遇到瓶頸的大資料程式設計師們突破自己,祝福大家在往後的工作與面試中一切順利。