圖片來源:MOBILE APP-什麼是CHATBOT? ( https://chinetekintel.com/blog/2019/02/12/chatbot-mobile-app/)

 

這幾年自然語言處理(NLP)的發展非常快,應用也越來越廣泛,好比說聊天機器人(ChatBot),幾乎每一家企業都有這方面的需求,包括售前支援(Pre-sale)、銷售(Sales)到售後服務(Post Services)等方面,用途十分多元,既要能解析對話、理解問題,回答又要得體、幽默、周全,同時,必須結合硬體,包括語音輸出、或提供機器人服務,範圍整合了軟硬體各項技術。

 

ChatBot依照應用的類型可分為:

  1. 不限話題的機器人:可以與人自由自在的閒聊,包括公開資訊的查詢與應答,比如溫度、股市、撥放音樂等,也包含日常寒暄,不需要精準的答案,只要有趣味性、即時回覆。
  2. 任務型機器人:例如專家系統,具備特定領域的專業知識,服務範圍像是醫療、駕駛、航行、加密文件的解密等,著重在複雜的演算法或規則式(Rule based)的推理,需給予精準的答案,但不求即時的回覆。
  3. 常見問答集(Frequently Asked Questions, FAQ):客服中心將長年累積的客戶疑問集結成知識庫,當客戶詢問時,可快速搜尋,找出相似的問題,並將對應的處理方式回覆給客戶,答覆除了要求正確性與話術之外,也講究內容是否淺顯易懂和詳實週延,避免重複而空泛的回答,引發客戶不耐與不滿。
  4. 資訊檢索:利用全文檢索的功能,搜尋關鍵字的相關資訊,比如Google搜尋,不需要完全精準的資訊,也不要單一的答案,而是提供所有可能的答案,由使用者自行作進一步判斷。
  5. 資料庫應用:藉由SQL指令來查詢、篩選或統計資料,例如,旅館訂房、餐廳訂位、航班查詢/訂位、報價等,這是最傳統的需求,但如果能結合NLP,讓輸出入介面更友善,例如語音輸入/輸出,可以引爆新一波的商機。

 

以上這五種類別的ChatBot各有不同的訴求,功能設計方向也因而有所差異,所以,在開工之前,務必要先搞清楚老闆要的機器人是哪一種,免得到時候開發出來,老闆才跟你說『這不是我要的』,那就欲哭無淚了。

 

ChatBot的規劃要點如下:

  • 訂定目標:根據規劃的目標,選擇適合的ChatBot類別,可以是多種類別的混合體。
  • 收集應用案例(Use Case):收集應用的各種狀況和場景,整理成案例,以航空機票的銷售來舉例,就包括了每日空位查詢、旅程推薦、訂票、付款、退換票、…等等,分析每個案例的現況與導入ChatBot後的場景與優點。
  • 提供的內容:現在行銷是內容為王(Content is king)的時代,有內容的資訊才能吸引人潮並帶來錢潮,這就是大家常聽到的內容行銷(Content Marketing)。因此,要評估哪些資訊是有效的、又該如何生產、並以何種方式呈現(Video、PodCast、部落文…等)。
  • 挑選開發平台,有下列四種方式供選擇:
    • 套裝軟體:現在已有許多廠商提供某些行業別的解決方案,像是金融、保險…等各行各業,技術也從傳統的IVR順勢轉為ChatBot,提供更便利的使用介面。
    • ChatBot平台:許多大型系統廠商都有提供ChatBot平台,他們利用獨有的NLP技術以及大量的NER資訊,整合各種社群軟體,使用者只要直接設定,就可以在雲端使用ChatBot並享有相關的服務。廠商包括Google DialogFlow、微軟的QnA Maker…。
    • 開發工具:許多廠商提供開發工具,方便工程師快速完成一個ChatBot,例如Microsoft Bot Framework、ai…等,可參閱『10 Best Chatbot Development Frameworks to Build Powerful Bots,另外Google、Amazon智慧音箱也都有提供SDK。
    • 自行構建:可以利用套件加速開發,像是TextBlob、Gemsim、SpaCy、Transforms…等NLP函數庫,或是Rasa、ChatterBot、…等ChatBot Open Source。
  • 佈署平台:可選擇雲端或本地端,雲端可享有全球服務、或以微服務的方式運作,以使用次數計費,可節省初期的高資本支出,因此,若ChatBot不是資料庫交易類別的話,有越來越多企業採用雲端方案。
  • 用戶偏好(Preference)與面貌(Profile):考量要儲存哪些與業務相關的用戶資訊。

 

對話設計有些注意事項如下:

  • 對話管理:有兩種處理方式,有限狀態機(Finite-State Machine, FSM)和槽位填充(Slot Filling)。
  • 整合社群媒體,譬如Line、Facebook Messager、Twitter等,使用者不需額外安裝軟體,且不用教學,直接在對話群組加入官方帳號,即可開始與ChatBot對話。

 

  • 人機整合:ChatBot設計千萬不能原地打轉,重複問相同的問題,必須設定跳脫條件,一旦察覺對話不合理,就應停止或轉由客服人員處理,避免引起使用者不快,造成反效果,使用有限狀態機設計方式,常會發生這種錯誤,若狀態已重複兩次以上,就可能是bug。幾年前,微軟聊天機器人Tay,推出後不到24小時,就因為學會罵人、講髒話,導致微軟緊急將她下架,就是一個血淋淋的案例。

 

除了技術層面之外,ChatBot也稱為『Conversational AI』,因此對話的過程,需注意使用者的個資保護,包含像是對話檔案的存取權、對話中敏感資訊的保全,並且讓使用者清楚知道ChatBot的能力與應用範圍。

 

相關實作可參閱『深度學習-最佳入門邁向AI專題實戰』一書說明。