所謂聊天機器人,指的是可以透過(guò)文字或語(yǔ)音通訊軟體介面,與使用者進(jìn)行互動(dòng)對答的自動(dòng)化程式。不論是經(jīng)營(yíng)品牌的企業(yè)、中小企業(yè)、獨立開(kāi)發(fā)者、創(chuàng )業(yè)者等,皆希望嘗試搭上聊天機器人浪潮推展自家應用或服務(wù)。以全臺實(shí)價(jià)登錄網(wǎng)站為例,即是在Facebook Messenger、LINE中建立聊天機器人服務(wù),只要使用者對其客服帳號詢(xún)問(wèn)地段、房間數等關(guān)鍵字,或是傳送目前所在地的位置,可立即回覆該區域附近的成交行情,隨手取得所需的資訊。
匯聚人潮的通訊軟體 掀起聊天機器人熱潮
其實(shí)就聊天機器人的概念而言,Chatbot.tw臺灣聊天機器人開(kāi)發(fā)社群發(fā)起人Clement Tang認為,就如同早期微軟在Office軟體中所設計的回紋針小幫手,若遇到操作問(wèn)題可透過(guò)關(guān)鍵字、問(wèn)題描述來(lái)詢(xún)問(wèn),取得原本可能需翻閱操作手冊才能找到的解答。近兩年之所以受到各行業(yè)關(guān)注,甚至實(shí)作應用,Clement Tang觀(guān)察,首先是大數據加上人工智慧、機器學(xué)習技術(shù),讓聊天機器人的「大腦」較以往更顯聰明;其次是自然語(yǔ)言處理(NLP)能力,隨著(zhù)語(yǔ)言學(xué)與資訊技術(shù)的快速進(jìn)步,自然語(yǔ)言處理與認知發(fā)展也跟著(zhù)進(jìn)化,可精準解析出語(yǔ)意中的Intent(意圖)與Entity(實(shí)體),建立模擬人類(lèi)的對談模式。最重要的關(guān)鍵則是現代人溝通模式已高度仰賴(lài)通訊軟體,在臺灣相當受歡迎的Facebook Messenger、WeChat、LINE、Telegram等,紛紛投入支援聊天機器人,推動(dòng)應用發(fā)展快速成長(cháng)。

▲運用微軟Bot Framework快速打造聊天機器人,只要透過(guò)Bot Connector介接各式通訊軟體即可,毋須逐一建立。圖為微軟MVP董是明在T客邦創(chuàng )客Night講座分享之投影片。
也因此開(kāi)始有人探討聊天機器人或許可取代App,論點(diǎn)包含:聊天機器人服務(wù)感覺(jué)更自然順暢;單一介面,不需再學(xué)習即可上手;有學(xué)習演進(jìn)能力,后端采用認知系統,可不斷地擴充資料并訓練,使聊天機器人更聰明;更重要的是,不需龐大建置費用,即可部署運行。
盡管這些論點(diǎn)不無(wú)道理,Clement Tang仍強調,如同幾年前行動(dòng)化應用推動(dòng)網(wǎng)頁(yè)應用系統App化的浪潮,實(shí)際上,并非不再需要架設網(wǎng)站,而是各有不同應用場(chǎng)景。意思是,手機平臺較適合互動(dòng)模式,若單純執行工作,仍舊需要桌機、平板、筆電,操作瀏覽器介面較為方便。如今聊天機器人興起后引發(fā)的對談式商務(wù),著(zhù)眼點(diǎn)在于新增可接觸人群/客層的通道。因此Clement Tang認為接下來(lái)應該觀(guān)察的方式,在于可能因此產(chǎn)生新的入口網(wǎng),「Kik Messenger創(chuàng )辦人曾經(jīng)提到,通訊軟體會(huì )成為新的瀏覽器、聊天機器人會(huì )成為新的網(wǎng)站,后端皆為接取云端服務(wù)整合運行,這將是新的網(wǎng)際網(wǎng)路時(shí)代開(kāi)端。」
運用PaaS平臺API服務(wù)協(xié)助研究開(kāi)發(fā)
整個(gè)聊天機器人生態(tài)圈,包含前端通訊軟體、Bot Builder、人工智慧與機器學(xué)習、自然語(yǔ)言處理(NLP)、語(yǔ)音辨識等領(lǐng)域,同時(shí),不同技術(shù)的開(kāi)發(fā)平臺供應商,皆有提供開(kāi)發(fā)所需的框架(Framework)與工具,例如IBM Watson、微軟Cognitive Service等。
以IBM Watson為例,在BlueMix云端平臺上的WatsonAPI,只要新帳號注冊過(guò)后,可享有一個(gè)月免費試用。網(wǎng)站上有說(shuō)明文件、SDK、建置套件,在GitHub上亦有開(kāi)放范例程式原始碼可參考,可藉此研究Watson API服務(wù)中,適合于營(yíng)運商務(wù)的應用。此外,在GitHub平臺上亦可取得微軟Cognitive Service旗下的Bot Framework開(kāi)放原始碼范例程式。微軟最有價(jià)值專(zhuān)家(Microsoft MVP)董是明在T客邦創(chuàng )客Night講座中分享提到,Bot Framework是2016年微軟提出的新服務(wù),協(xié)助開(kāi)發(fā)者快速地打造可運行于多平臺的聊天機器人。目前Bot Framework為免費提供,以Azure平臺帳號登入即可試用。
微軟Bot Framework服務(wù)中包含三大元素。首先是Bot開(kāi)發(fā)工具,微軟官方釋出的開(kāi)放原始碼SDK,透過(guò)GitHub來(lái)提供,目前支援的語(yǔ)言,除了微軟自家的。NetC#,亦包含網(wǎng)頁(yè)開(kāi)發(fā)者相當熟悉的Node。js環(huán)境。同時(shí),開(kāi)發(fā)工具本身具備模擬器功能,可協(xié)助測試與偵錯。
其次是Bot Connector,可說(shuō)是整個(gè)開(kāi)發(fā)框架中最核心概念。其實(shí)Bot Framework設計思維,主要是讓開(kāi)發(fā)者盡可能只撰寫(xiě)一次程式碼,就得以串接后端多種技術(shù)平臺的聊天機器人,Bot Connector即扮演很重要的角色;第三是BotDirectory,匯集來(lái)自全球開(kāi)發(fā)者自行打造的聊天機器人,透過(guò)發(fā)布到Bot Framework官方網(wǎng)站上,即可讓用戶(hù)搜尋、直接取用。
微軟Bot Connector介接一次開(kāi)發(fā)多通道運行
對開(kāi)發(fā)人員而言,聊天機器人的應用并非為全新技術(shù),主要運行關(guān)鍵是透過(guò)個(gè)人打造的Web Service介接整合通訊軟體,由API來(lái)決定Request與Response內容。但問(wèn)題是,現代使用者采用的通訊平臺相當多元,例如Facebook、Skype、Slack等,程式運行邏輯皆有各自規則,無(wú)法開(kāi)發(fā)一次即可全數套用。
董是明說(shuō)明,其實(shí)通訊軟體背后的原理都是透過(guò)API傳遞,但問(wèn)題是各家的API格式皆不同,例如發(fā)送訊息的JSON格式中,描述資料結構的物件名稱(chēng)并未統一,因此Messenger JSON Payload無(wú)法直接遞送給Skype辨識。如今微軟推出的Bot Connector,可在Web Service與通訊平臺之間執行轉譯,亦可排除過(guò)去開(kāi)發(fā)Web Service時(shí),直接接取通訊平臺造成綁定原生格式的狀況。
Bot Connector包含在Bot Framework提出的Bot Builder SDK中,可支援.NetC#、Node.js開(kāi)發(fā)環(huán)境,并且提供傳送訊息撰寫(xiě)Payload格式的規則。開(kāi)發(fā)人員只要完成Web Service開(kāi)發(fā)后,在Bot Framework官方網(wǎng)站上設定串接Facebook、Skype等通道,之后即可交由Bot Connector傳送至各個(gè)通訊平臺。如此一來(lái),只要采用共通的SDK建立各項機制,例如基本傳送訊息與回應,根本無(wú)須研究各種不同通道的JSON格式,即可最大化重復使用程式碼,甚至可能只要撰寫(xiě)一次,就有機會(huì )在不同通道上建立聊天機器人。當然,Bot Framework仍有保留特定的屬性,讓開(kāi)發(fā)人員自行定義更符合企業(yè)商業(yè)應用場(chǎng)景,抑或是通訊軟體本身內建特有的功能項目,在Bot Connector的介接協(xié)助下皆可辨識。
至于設定方式,只須在Bot Framework官方網(wǎng)站上設定,點(diǎn)選注冊聊天機器人,之后須取得API Token的位置、提供的設定參數,皆有線(xiàn)上圖文教學(xué),即使以往從未開(kāi)發(fā)過(guò)相關(guān)應用,也可簡(jiǎn)單上手,藉此降低進(jìn)入門(mén)檻。