Microsoft Cognitive Service Facebook Messenger Bot Framework Bot Connector Bot Directory IBM Watson Telegram WhatsApp Chatbot 創客Night BlueMix GitHub 聊天機器人 Azure Slack Skype LINE 人工智慧 T客邦 Kik

通訊平台介接雲端服務 徒手打造聊天機器人

2017-04-05
自從行動化應用普及後,通訊軟體已成為工作與生活上必備的溝通工具。近兩年,全球知名的通訊軟體,包含Telegram、Slack、Skype、Kik、LINE、Facebook Messenger、WhatsApp等,皆開始陸續釋出聊天機器人(Chatbot)開發所需的軟體開發套件(SDK)或應用程式介面(API),讓更多商業行為可藉此平台拓展應用。
所謂聊天機器人,指的是可以透過文字或語音通訊軟體介面,與使用者進行互動對答的自動化程式。不論是經營品牌的企業、中小企業、獨立開發者、創業者等,皆希望嘗試搭上聊天機器人浪潮推展自家應用或服務。以全台實價登錄網站為例,即是在Facebook Messenger、LINE中建立聊天機器人服務,只要使用者對其客服帳號詢問地段、房間數等關鍵字,或是傳送目前所在地的位置,可立即回覆該區域附近的成交行情,隨手取得所需的資訊。

匯聚人潮的通訊軟體 掀起聊天機器人熱潮

其實就聊天機器人的概念而言,Chatbot.tw台灣聊天機器人開發社群發起人Clement Tang認為,就如同早期微軟在Office軟體中所設計的迴紋針小幫手,若遇到操作問題可透過關鍵字、問題描述來詢問,取得原本可能需翻閱操作手冊才能找到的解答。 近兩年之所以受到各行業關注,甚至實作應用,Clement Tang觀察,首先是大數據加上人工智慧、機器學習技術,讓聊天機器人的「大腦」較以往更顯聰明;其次是自然語言處理(NLP)能力,隨著語言學與資訊技術的快速進步,自然語言處理與認知發展也跟著進化,可精準解析出語意中的Intent(意圖)與Entity(實體),建立模擬人類的對談模式。最重要的關鍵則是現代人溝通模式已高度仰賴通訊軟體,在台灣相當受歡迎的Facebook Messenger、WeChat、LINE、Telegram等,紛紛投入支援聊天機器人,推動應用發展快速成長。

▲ 運用微軟Bot Framework快速打造聊天機器人,只要透過Bot Connector介接各式通訊軟體即可,毋須逐一建立。圖為微軟MVP董是明在T客邦創客Night講座分享之投影片。

也因此開始有人探討聊天機器人或許可取代App,論點包含:聊天機器人服務感覺更自然順暢;單一介面,不需再學習即可上手;有學習演進能力,後端採用認知系統,可不斷地擴充資料並訓練,使聊天機器人更聰明;更重要的是,不需龐大建置費用,即可部署運行。

儘管這些論點不無道理,Clement Tang仍強調,如同幾年前行動化應用推動網頁應用系統App化的浪潮,實際上,並非不再需要架設網站,而是各有不同應用場景。意思是,手機平台較適合互動模式,若單純執行工作,仍舊需要桌機、平板、筆電,操作瀏覽器介面較為方便。如今聊天機器人興起後引發的對談式商務,著眼點在於新增可接觸人群/客層的通道。因此Clement Tang認為接下來應該觀察的方式,在於可能因此產生新的入口網,「Kik Messenger創辦人曾經提到,通訊軟體會成為新的瀏覽器、聊天機器人會成為新的網站,後端皆為接取雲端服務整合運行,這將是新的網際網路時代開端。」

運用PaaS平台API服務 協助研究開發

整個聊天機器人生態圈,包含前端通訊軟體、Bot Builder、人工智慧與機器學習、自然語言處理(NLP)、語音辨識等領域,同時,不同技術的開發平台供應商,皆有提供開發所需的框架(Framework)與工具,例如IBM Watson、微軟Cognitive Service等。

以IBM Watson為例,在BlueMix雲端平台上的Watson API,只要新帳號註冊過後,可享有一個月免費試用。網站上有說明文件、SDK、建置套件,在GitHub上亦有開放範例程式原始碼可參考,可藉此研究Watson API服務中,適合於營運商務的應用。 此外,在GitHub平台上亦可取得微軟Cognitive Service旗下的Bot Framework開放原始碼範例程式。微軟最有價值專家(Microsoft MVP)董是明在T客邦創客Night講座中分享提到,Bot Framework是2016年微軟提出的新服務,協助開發者快速地打造可運行於多平台的聊天機器人。目前Bot Framework為免費提供,以Azure平台帳號登入即可試用。

微軟Bot Framework服務中包含三大元素。首先是Bot開發工具,微軟官方釋出的開放原始碼SDK,透過GitHub來提供,目前支援的語言,除了微軟自家的.Net C#,亦包含網頁開發者相當熟悉的Node.js環境。同時,開發工具本身具備模擬器功能,可協助測試與偵錯。

其次是Bot Connector,可說是整個開發框架中最核心概念。其實Bot Framework設計思維,主要是讓開發者盡可能只撰寫一次程式碼,就得以串接後端多種技術平台的聊天機器人,Bot Connector即扮演很重要的角色;第三是Bot Directory,匯集來自全球開發者自行打造的聊天機器人,透過發佈到Bot Framework官方網站上,即可讓用戶搜尋、直接取用。

微軟Bot Connector介接 一次開發多通道運行

對開發人員而言,聊天機器人的應用並非為全新技術,主要運行關鍵是透過個人打造的Web Service介接整合通訊軟體,由API來決定Request與Response內容。但問題是,現代使用者採用的通訊平台相當多元,例如Facebook、Skype、Slack等,程式運行邏輯皆有各自規則,無法開發一次即可全數套用。

董是明說明,其實通訊軟體背後的原理都是透過API傳遞,但問題是各家的API格式皆不同,例如發送訊息的JSON格式中,描述資料結構的物件名稱並未統一,因此Messenger JSON Payload無法直接遞送給Skype辨識。如今微軟推出的Bot Connector,可在Web Service與通訊平台之間執行轉譯,亦可排除過去開發Web Service時,直接接取通訊平台造成綁定原生格式的狀況。

Bot Connector包含在Bot Framework提出的Bot Builder SDK中,可支援.Net C#、Node.js開發環境,並且提供傳送訊息撰寫Payload格式的規則。開發人員只要完成Web Service開發後,在Bot Framework官方網站上設定串接Facebook、Skype等通道,之後即可交由Bot Connector傳送至各個通訊平台。如此一來,只要採用共通的SDK建立各項機制,例如基本傳送訊息與回應,根本無須研究各種不同通道的JSON格式,即可最大化重複使用程式碼,甚至可能只要撰寫一次,就有機會在不同通道上建立聊天機器人。當然,Bot Framework仍有保留特定的屬性,讓開發人員自行定義更符合企業商業應用場景,抑或是通訊軟體本身內建特有的功能項目,在Bot Connector的介接協助下皆可辨識。

至於設定方式,只須在Bot Framework官方網站上設定,點選註冊聊天機器人,之後須取得API Token的位置、提供的設定參數,皆有線上圖文教學,即使以往從未開發過相關應用,也可簡單上手,藉此降低進入門檻。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!