科技大廠紛紛投入開發Chatbot技術和應用,Amazon Echo在市場上廣受歡迎,終於在今年4月正式釋出數位助理Alexa背後Chatbot引擎Lex。圖片來源/AWS

去年通訊平臺臉書、Line、Skype,以及企業協作平臺Slack都相繼推出Chatbot開發平臺,提供企業開發自家Chatbot,Chatbo從2016年開始爆紅,帶動企業開發Chatbot的風潮。

市調機構Gartner今年初的一項研究報告中預估,到了2020年,30%的網頁瀏覽工作,將不再需要透過螢幕就能完成,80%的人使用App的數量將會減至現在的一半,消費者與企業之間的互動模式將會由虛擬個人語音助理(Virtual Personal Assistant,VPA)為中心,串聯APP、API、ChatBot等應用,像是Amazon推出的語音個人助理Alexa、Google Assistant等,就不再需要透過螢幕,能夠直接讓使用者透過語音指令與Chatbot互動。

從Chatbot的通路端來看,臉書去年4月釋出Messenger API,才經過3個月就已經有超過1.1萬的Bot,而到了今年4月,每個月在Messenger平臺上的活躍Bot竟然暴增到了10萬個以上,臉書甚至更進一步,在Messenger的智慧搜尋Discover中,開始支援搜尋Bot的功能,讓使用者可以在Messenger上依照類別瀏覽和搜尋企業自家開發的Bot。

另一個在臺灣廣受歡迎的Chatbot通路則是Line,在臺擁有1,800萬用戶,像是玉山銀行的理財機器人和台灣房屋的地產機器人都選擇在Line的通路上,瞄準對話式商務的機會,開創Chatbot與消費者互動。

Line也追隨臉書的腳步,不只作為Chatbot通路,在今年的世界通訊大展(MWC)上宣布,推出自家語音助理Clova(Cloud Virtual Assistant), Clova結合了Line的聊天技術,以及韓國最大入口網站Naver的搜尋與內容技術,首波將提供新聞訊息、天氣資訊、播放音樂等功能。

除此之外,Line也計畫釋出支援Clova語音助理的智慧喇叭Wave,類似Amazon Echo、Google Home等設備,並將與第三方廠商合作,共同開發Clova硬體的相關服務。

從Chatbot的開發平臺端來看,目前較為成熟的為Amazon的Lex、IBM Watson Conversation服務和微軟的Bot Framework,Lex和Conversation服務都已經是正式版,微軟的Bot Framework目前還是預覽版。

AWS挾Alexa氣勢正式推出Lex

AWS今年4月將Alexa核心引擎正式釋出,推出了企業級Chatbot引擎Lex正式版本,Lex能介接到對話介面的通訊平臺,並提供開發人員深度學習的技術,像是自然語言理解技術和自動語音辨識等功能,開發人員使用Lex的服務建立Chatbot的過程中,不需要自行建立機器學習的模型,可直接使用Lex自動產生的機器學習模型。

Lex與Lambda無伺服器運算服務整合,開發人員將程式碼上傳後,AWS即自動調派AWS EC2運算服務,建立Lambda程式執行環境,開發人員能將Chatbot部署到通訊平臺、行動用戶端和IoT裝置。

若開發人員想將Chatbot部署到行動裝置上,Lex也提供開發人員可用iOS和Android的SDK介接。

若是要部署到通訊平臺,Lex整合了Facebook Messenger、Slack和Twilio SMS這3項對話通道,可以在Lex的介面上選擇要部署的通道,在提供Token之後,Lex會給予Callback URL,開發人員即可將Chatbot發布到對話通道上執行。

Lex的介面也提供了監控介面(Monitoring Dashboard),Lex可以顯示遺漏訊息、回應延遲時間和使用流量等相關資訊,也能檢視未被辨識語句。

Lex將Chatbot語意分析分為意圖(Intent)、例句(Utterance)和Slot,與微軟和IBM不一樣的是,Lex將例句設定為意圖的平行項目,也就是,Lex的例句能夠用在不同意圖中,省去在不同意圖下建立一樣例句的步驟。

Slot則是要滿足執行意圖的條件所輸入的參數,與微軟和IBM的Entity不同,Slot能夠記錄此參數觸發程式的狀態(Statement),Lex遇到類似的意圖,像是訂飯店或是訂機票,就會保留Slot的資訊,供不同意圖使用。

其中,Slot又可以依照對應的意圖,分為不同的條件詞彙類別(Slot Type),像是訂機票意圖的條件詞彙又可分為出發地、目的地、時間、班機編號等類別,此外,還提供了一些基本的意圖,像是查詢天氣、電影時刻表等。

開發人員建立完語意分析的資料後,就可以開始建置訊息管理,Lex訊息的管理上,採用提示(Prompt)來獲得足夠的Slot資訊,例如,開發人員可以設定在接收到訂機票的意圖後,建立「請問您要到哪裡?」的提示語句。Lex也有提供對話管理的機制,Lex採用的是Session Timeout與Cross-intent Information Sharing的機制來管理對話。

Session Timeout提供開發人員設定一段時間,讓Lex保留對話的資訊,讓使用者在有效的時間內,可延續對話,不需要每次都重新輸入資訊,若使用者提供了相關的條件詞彙資訊,但尚未完成訂購,Lex會預設將使用者提供的資訊記錄保留5分鐘,若使用者在時效內回到對話,即可繼續訂購的對話,開發人員可以自由設定時效的時間。

Cross-intent Information Sharing則是讓Chatbot在執行不同的意圖時,可以同時使用對話內容的資訊,例如,在訂購機票的Chatbot中,若使用者已完成訂購機票的意圖,想轉移到查詢訂購狀況的意圖,Lex透過詢問訂購編號和日期,將兩項不同意圖資訊串在一起,訂購資訊就可以同時被不同意圖使用,不需要再重新詢問一次使用者,訂購的相關資訊。

Lex還提供意圖鏈(Intent Chain)機制來管理上下文,根據使用者表達的語句,動態地轉移意圖,能夠讓開發人員將對話分成多個元件,這項機制簡化了複雜的對話過程。

另外,Lex還提供2個版本管理的功能,分別是Versioning和Alias,Versioning是在開發人員第一次發布Chatbot後,Lex會自動記錄並產生一個版本,之後每次發布都會產生新版本。

Alias則是提供開發人員指定特定版本的Chatbot,每個開發和執行階段都可以指定不同版本的Chatbot,甚至,開發人員可以在使用者使用Chatbot時更新版本。除此之外,Lex的服務還能提供企業的開發人員一同參與設計Chatbot的過程,能允許多個開發人員在Lex服務中開發、測試。

IBM Chatbot開發平臺Watson Conversation服務

IBM的Watson Conversation服務是另一個已推出正式版本的Chatbot平臺。IBM在Watson Developer Cloud平臺上,提供開發人員許多API和工具,透過簡單的視覺化設計介面,讓開發人員可以不需要撰寫程式,就能打造出企業自家功能型的Chatbot。

Watson Conversation服務設計了Workspace的工作區來存放同一個Chatbot所有的參數設定和資料,必須包含意圖、實體概念、對話(Dialog),此外,開發人員若更新Workspace中的資料,並不需要手動訓練資料,系統將會自動更新內部的參數和資料。

Watson Conversation服務在語意分析上,採用3層式向下包含的語意結構,將每個Entity細分為多個特值(Value),每個Value又可以再細分出許多廣義的同義詞(Synonym),以行事曆機器人為例,Entity若是星期,Value則是Monday、Tuesday、Friday等,而Friday又可以衍生出許多同義詞,像是F、Fri,這樣3層式的語意結構機制可以讓機器人接收到錯字、不完整的表達或是縮寫時,也能正確地辨認詞彙。

在對話管理方面,則是提供開發人員視覺化介面設計對話流程,運用節點樹的概念,讓設計對話的流程更為彈性,開發人員可自由地在原有的對話流程中,增加與根節點(Root Conversation Node)同層的對話節點,也可以加入不同層的子節點(Child Node),來創造分支對話。

微軟Chatbot開發引擎LUIS和開發框架Bot Framework

微軟早在2015年5月就推出自然語言理解服務LUIS(Language Understanding Intelligence Service),去年3月Build大會釋出Chatbot開發框架Bot Framework,提供企業透過LUIS分析語意,再用Bot Framework部署Chatbot,不過目前這兩項服務都還沒推出正式版。

微軟今年Build大會上,更新了Bot Framework多項功能,不但新增了3個能部署Chatbot的對話通道,還提供開發人員打造任何對話場景都適用的通用卡(Adaptive Cards),能夠用單一的架構套用在不同的平臺,另外,LUIS服務也有不少更新。

微軟增加了3個部署Chatbot的對話通道,提供Chatbot開發人員透過Bot Framework,將Chatbot部署到語音助理Cortana、搜尋引擎Bing和商用Skype。微軟為了能創造Cortana的生態圈,還推出Cortana Skills Kit讓開發人員可以為Cortana增加新技能。

微軟提供開發人員打造任何對話場景都適用的通用卡(Adaptive Cards),能夠讓開發人員用JSON的格式設計介面模組、與使用者的互動模式等,透過單一架構就能套用在不同平臺上,例如Microsoft Teams、Skype、Android、iOS等平臺。除此之外,微軟還新增了支付請求(Payment Request)API,讓開發人員可以將自家Chatbot,加上購物付款的功能。

因應許多開發人員要求,LUIS的意圖上限終於從20個變為80個,Entity則是從原本10個增加到30個,支援的語言也新增韓文、荷蘭文和法文、西班牙文語系,並改善內建支援西班牙文、英文和中文的日期和數字Entity,甚至還將這兩個內建Entity開源,讓更多的開發人員可以使用和貢獻功能。

語意的部分,微軟則是新增了一系列的語言特性 (Language Features)功能,例如,清單、混合的Entity、語意建議(Semantic Suggestions)和拼字檢查(Spell Checking)等功能。

除此之外,微軟也在LUIS的系統開發生命週期工具上著墨,像是版本管理(Versioning)、階段Slots (Production/Staging slots)、批次測試(Batch Testing)和程式共享(Application sharing)等功能,其中,程式共享功能改變了以往LUIS不利團隊開發的劣勢,讓開發團隊可以一起開發同一個Chatbot。

另外,LUIS還新增語音辨識功能,Chatbot開發人員可以不用再呼叫外部的語音轉文字API,能夠直接在LUIS內建立語音的語意理解模型,進而提升語音辨識效果,甚至還提供語音辨識自動除錯的功能,使用者現在不只可以透過點選、打字的方式與Chatbot互動,還多了直接用講的對話模式。微軟也藉由Azure Application Insights提供Chatbot開發人員一系列的數據分析服務。

100項 IT人不可不知的AI發展

No.026 臉書Messenger活躍Bot超過10萬個

No.027 1,800萬臺灣人愛用的Line成企業Bot優先平臺

No.028 2020年語音助理將成企業與顧客主要互動型態

No.029+030 Line搶進語音助理大戰推Clova平臺和智慧喇叭Wave

No.031 AWS熱門Alexa終於正式推出核心引擎Lex

No.032 Lex特色是Session基礎的對話管理

No.033 微軟LUIS則新增團隊開發控管

No.034 Watson對話服務主打視覺化Chatbot開發介面

 相關報導  AI 100(上)  AI 100 (下)

熱門新聞

Advertisement