今年聊天機(jī)器人備受矚目??萍季揞^諸如 Facebook 和微軟已經(jīng)大規(guī)模發(fā)布了 Bot 框架,旨在量產(chǎn)聊天機(jī)器人。在 Facebook Messenger 上開發(fā)了超過 11,000 個聊天機(jī)器人,并且有近 23,000 個開發(fā)人員注冊了 Facebook 機(jī)器人引擎。此外,大量初創(chuàng)公司擁有自屬開發(fā)框架和功能性產(chǎn)品。較小的交流平臺,如 Telegram 和 Slack,也推出了「機(jī)器人商店」(「Bot Stores」),并成立基金吸引開發(fā)人員。
什么是 Bot 框架?
簡單地解釋,Bot 框架用來制造機(jī)器人并定義其行為。作為聊天機(jī)器人開發(fā)者,開發(fā)和定向如此之多的交流平臺與聊天機(jī)器人開發(fā) SDKs 常會感到無所適從。Bot 開發(fā)框架是這樣一種軟件框架,它能對聊天機(jī)器人開發(fā)過程中的人工內(nèi)容做抽象化處理。
然而,盡管很多 Bot 開發(fā)框架宣稱「代碼一旦寫好可部署到任何地方」,你還是很可能為你的每一個目標(biāo)交流平臺開發(fā)一個單獨的聊天機(jī)器人。Bot 開發(fā)框架包括機(jī)器人制造者 SDK(Bot Builder SDK)、機(jī)器人連接器(Bot Connector)、開發(fā)者入口(Developer Portal)、機(jī)器人目錄(Bot Directory)以及一個用來測試已開發(fā)機(jī)器人的模擬器。此外,Bot 框架并不適合初學(xué)者用來學(xué)習(xí)聊天機(jī)器人開發(fā)。
機(jī)器人框架與機(jī)器人平臺的差別?
Bot 框架(Bot Framework)有時錯誤地與 Bot 平臺(「Bot Platform」)通用。在開發(fā)應(yīng)用程序時,Bot 平臺的作用是提供部署和運行應(yīng)用程序的,Bot 框架的作用是開發(fā)和綁定各種組件到應(yīng)用程序。Bot 平臺是在線生態(tài)系統(tǒng),其中聊天機(jī)器人可以被部署并與用戶進(jìn)行交互,代表用戶執(zhí)行操作,包括與其他平臺交互。
Bot 開發(fā)框架是一組預(yù)定義函數(shù)和開發(fā)人員用來加快開發(fā)的類,一組可以使你更快更好編碼的工具。簡單來說,初學(xué)者或非技術(shù)用戶可以用 Bot 平臺來開發(fā)不需要寫代碼的機(jī)器人,而 Bot 開發(fā)框架則被開發(fā)人員和碼農(nóng)借助編程語言從頭開始構(gòu)建機(jī)器人。
例如 Bot 平臺 Motion.a(chǎn)i 可使用戶無需編碼便能快速創(chuàng)建強(qiáng)大的機(jī)器人。原因在于 Motion.a(chǎn)i 提供了一個能創(chuàng)建聊天機(jī)器人的工具包,使得機(jī)器人可與 APIs 相連并部署到任何一個可用的交流平臺。
一些著名的 Bot 框架
Facebook bot 引擎
2016 年 4 月,F(xiàn)acebook 實現(xiàn)了基于 Wit.a(chǎn)i 技術(shù)的 Facebook Bot 引擎。Wit.a(chǎn)i 在自己的云服務(wù)器運行,Bot 引擎是一個包裝器,用于在 Facebook Messenger 平臺上部署機(jī)器人。Facebook 作為社交巨頭的力量在于海量用戶,因此他們不需要任何其他的 Bot 開發(fā)平臺,并且聊天機(jī)器人將僅限于 Facebook Messenger(其本身即是一個巨大的空間)。
Facebook 正在為 Facebook Bot 引擎采用一種新策略。如果開發(fā)人員獲得框架,F(xiàn)acebook Messenger 用戶將享有各種專業(yè)聊天機(jī)器人
Facebook Bot 引擎依賴于機(jī)器學(xué)習(xí)。提供 Bot 框架示例對話之后,它可以處理同一問題的很多不同變體。隨著開發(fā)人員不斷完善聊天機(jī)器人,它們的潛力也會越來越巨大。
Wit.a(chǎn)i 提供一些選項:
1.它能提取出一些預(yù)定義的實體,比如時間、日期等等。
2.提取用戶的意圖。
3. 提取情緒。
4. 它可進(jìn)行自我定義和提取。
微軟 Bot 框架
微軟幾乎與 Facebook 同時宣布了其 Bot 框架。盡管微軟的哲學(xué)和方法有點不同。就像 Facebook 的產(chǎn)品一樣,微軟的 SDK 可以被看作是 2 個彼此獨立的組件。
1. Bot 連接器,集成框架
2. LUIS.a(chǎn)i,自然語言理解組件
微軟 Bot 框架的集成組件適用于 Slack、Facebook Messenger、Telegram、Webchat、GroupMe、SMS、電子郵件和 Skype,令人印象深刻。此外,Azure 上有一個 PaaS 選項,就是用于 Bots。
微軟 Bot 框架是一個全面的產(chǎn)品,用于構(gòu)建和部署高質(zhì)量的聊天機(jī)器人供用戶享受最喜歡的對話體驗。機(jī)器人開發(fā)人員都面臨著同樣的問題:機(jī)器人需要基本的輸入和輸出;它們必須具備語言和會話能力;機(jī)器人必須具有高性能,響應(yīng)性和可擴(kuò)展性;并且它們必須能夠向用戶提供理想的對話體驗。微軟 Bot 框架提供了我們構(gòu)建,連接,管理和發(fā)布智能聊天機(jī)器人所需要的一切,無論是通過文字/SMS,還是其他平臺諸如 Slack、Skype、 Facebook Messenger、Kik 等,聊天機(jī)器人都可以和用戶自然地交流。微軟 Bot 框架由許多組件組成,包括 Bot 創(chuàng)建者 SDK(Bot Builder SDK)、開發(fā)人員門戶(Developer Portal)和 Bot 目錄(Bot Directory)。
API.a(chǎn)i
API.a(chǎn)i 是另一個基于 Web 的 bot 開發(fā)框架。API.a(chǎn)i 似乎已經(jīng)發(fā)現(xiàn)了讓用戶通過輸入多個話語來定義實體和意圖的缺陷,并因此提供了一個巨大的領(lǐng)域集(a huge set of domains)。API.a(chǎn)i 為 bot 開發(fā)提供的一些 SDK 和庫,包括 Android、iOS、Webkit HTML5、Java、Node.js、Python 等。
API.a(chǎn)i 建立在如下幾個概念上:
1.代理器:代理器對應(yīng)于應(yīng)用。一旦我們訓(xùn)練并測試一個代理器,我們就可以把它集成到我們的 app 或設(shè)備中去。
2.實體:實體表示那些通常專用于某一領(lǐng)域的概念,作為將 NLP(自然語言處理)短語映射到捕獲其含義的批準(zhǔn)短語的方式。
3.意圖:意圖表示用戶說什么和軟件需要采取什么動作之間的映射。
4.動作:動作對應(yīng)于您的應(yīng)用在用戶的輸入觸發(fā)特定的意圖時所采取的步驟。
5.上下文:上下文是表示用戶表達(dá)的當(dāng)前上下文的字符串。這對于區(qū)分可能是不明確的并且因取決于前面的話而具有不同含義的短語是有用的。
API.a(chǎn)i 能被集成在很多流行的交流平臺、物聯(lián)網(wǎng)和虛擬個人助理平臺。它們中的一些包括 Actions on Google、Slack、Facebook Messenger、Skype、Kik、Line、Telegram、Amazon Alexa、Twilio SMS 和 Twitter 等。
Aspect CXP 和 Aspect NLU
Aspect 客戶體驗平臺(CXP)是設(shè)計,實施和部署多渠道客戶服務(wù)應(yīng)用程序的平臺。Aspect NLU 是一個給出人類語言感覺的組件,其采用的方法與 Wit.a(chǎn)i、API.a(chǎn)i 和微軟 Bot 框架完全不同,并能為 Facebook Messenger 上的自助服務(wù)對話帶來人性化的交談口吻。這使它能夠通過自動化以聊天機(jī)器人特有的方式進(jìn)行擴(kuò)展。Aspect CXP 使得設(shè)計、實現(xiàn)和在多種交流渠道(諸如文本、語音、移動網(wǎng)、社交網(wǎng)絡(luò))部署聊天機(jī)器人變得容易起來。這很適合那些需要復(fù)雜聊天機(jī)器人、客服應(yīng)用和企業(yè)軟件的地方;不太適合對簡單機(jī)器人、嵌入式應(yīng)用和物聯(lián)網(wǎng)應(yīng)用的需求。
這些是市場上可用的、開發(fā)人員構(gòu)建機(jī)器人的 Bot 框架。如果你的組織要花費大量的金錢和時間與客戶交流,你可以嘗試建立一個機(jī)器人來處理這種情況。對話用戶界面的時代(The era of Conversational User Interfaces)已經(jīng)到來,成為掌握趨勢的先行者之一吧。
(審核編輯: 林靜)
分享