利用 Chatbot Design Canvas 來設計自己的聊天機器人! — Part 2

What is a Chatbot and How to Build One

Grace, Mu-Hui Yu
13 min readDec 11, 2018
閱讀時間:3 min

上一篇文章 利用 Chatbot Design Canvas 來設計自己的機器人 — Part 1 裡面已經介紹了 Design Canvas 的概念,今天這一篇要來談談怎麼實際動手填寫 Chatbot Design Canvas。

好的那我們就開始吧齁齁齁👇

綠色區塊:價值定位 Bot Value Proposition

從這裡開始,我們要問自己一系列的問題:

  • 這個機器人可以帶給給使用者什麼樣的價值?
  • 這個機器人想要解決使用者的哪些痛點?
  • 這個機器人要達到哪些目標?

有可能這是一個天氣機器人(專門回答天氣狀況)、客服機器人(專門讓客戶滿意)、物流機器人(專門告知客戶貨運狀況)等等。我們需要重新完整且清楚的定義到底這個機器人要做什麼,才能抓到目標使用者跟完成之後的設計,考慮目標使用者時,不單只是最終使用者 (End-users),也要考慮過程中會服務到的其他 Power Users(包括管理員、其他組織等等)

以下舉個例子,假設我想要做一個訂飲料的機器人好了,所以我的價值定位就是「幫助使用者簡單快速完成訂購飲料的服務」,我的使用者需要考慮客人、飲料店店員、外送員(如果有的話)等等。

one19810102.blogspot.com

噢上面那個圖沒什麼關係,只是我想放珍珠奶茶的圖而已,我們繼續。

紅色區塊:使用者相關設定 Users Parameters

紅色區塊裡面有四個項目:Users、Devices、Deployment Platform、Modalities,我們接下來會依照這樣的順序分別討論。

使用者 Users

到底誰是你真正的使用者?你的這個 Chatbot 到底是為誰而做的?現在有非常多商家都想跟風來做個 Chatbot(我不是在影射你,不要對號入座),但是他們只是「覺得」可以讓客人更方便,或是「感覺上」可以增加曝光率,所以越來越多品質很糟的 Chatbot 流通市面,然後大家覺得成效不彰就開始說 Chatbot 很沒用(積怨很深)

在這個階段,我們可以試著更仔細定義這些目標使用者,他們的性別、年齡層、地理位置、職業類型、生活型態、教育水平、作息等等,還有一個更重要的是,去找到這群目標使用者的「語言」。我們要設計的是一個對話機器人,所以必然要設計好的「對話」去跟使用者互動。

以下一個例子,假設我的訂飲料機器人主要使用者比較多是 18–22 歲的大學生,那我可能可以放進更多年輕用語、表情符號,或是可以設計很多輕鬆玩笑的語句;但如果我鎖定的是上班族/服務業,甚至年齡層更高一點,我可能就要收斂一點,就不能拿一堆 PTT 上的鄉民梗來寫腳本了(笑)

辛普森家族就是一個完美融入鄉民梗的卡通 XD

除了以上這些,我們也可以嘗試找出這些使用者到底在意的價值是什麼,找出興趣與真實的痛點,才有機會設計出更有效果的對話。這個例子可以看看 2018 高雄市場某候選人言之以情的演講,以北漂青年與家族團聚(?),完美抓住使用者心理,充分打動他的目標族群 XD

最後,千萬不要忘記你的 Power Users。以訂飲料機器人為例,我還是需要考慮到飲料店、物流、金流,並充分瞭解他們跟機器人的互動過程會遇到什麼問題/需求。

使用裝置 Devices

完成使用者定義之後,我們要來討論這些使用者會用什麼樣的裝置來與你的 Chatbot 進行互動,包含桌電、筆電、手機、平板。手機還有分各種尺寸,像我的 iPhone SE 就是一個被遺忘的尺寸,很多 App 都忽略我們的需求,所以畫面各種被切掉嗚嗚 QQ

試著找出你的使用者的幾種常用使用裝置,如果是電腦,那是 Chrome、IE,還是 Safari?如果是手機,那是多大的手機? iOS 還是 Android?

接著要考慮更多細部的問題:如果使用者是老年人,也許手機字體會偏大,這樣子對話機器人的對話字數是不是也需要調整?如果使用者是學生,也許他們用手機的機會會更大,那所有對話機器人裡面的 Web View 是不是都要做成 mobile 版本的?如果使用者是更小的年齡層,也許他們不一定有隨時的網路可以用……。

其他有可能的裝置 for automated chat 像是 Amazon Echo and Google Home,不過這些比較像是智慧房屋之類的設定,他們就會更需要考慮到不同裝備的差異了,但這不在我們今天的考慮範圍內,跳過!

發佈平台 Deployment Platforms

Chatbot 可以被發佈在各種平台或裝置上,在此我們先討論平台。各種平台也有不同優點與限制,包含 Facebook Messenger, Skype, Slack, Line 等等。

首先你要先了解你的目標使用者最常使用的平台會是哪些,以台灣為例,年輕族群多使用 Messenger 跟 LINE,中老年人用 LINE 的頻率更高,但是 twitter 或是 whatsapp 就沒這麼多;至於近年來 Wechat 的市佔率也越來越高,而 Slack 始終就是被定位為工作使用的平台,還有一些更少見的像是 Telegram(不知道為什麼我身邊只有工程師會想用 XD)等等。

當我們找出最適合的前幾名平台後,就可以思考更多符合這些平台的對話設計,像是 Messenger 就支援粗體、斜體、輪播等設計(不過有些裝置不行,這時候又回到前一項「裝置」了,就叫你要好好做功課吧)

大家特別可以注意圖像呈現的部分,包含卡片輪播、清單等等(如下圖),因為現在的使用者都比較喜歡這些東西(笑)建議各位可以查查自己的平台支援哪些功能,看看他們 api 怎麼 call 齁齁。

Facebook Messenger bots can now help you order flowers and shop for clothes — Recode

如果你不是使用以上裝置,而是自己架站,同樣有這些可以思考的問題,包含 RWS 的效果,還有你選用的 JS Library 跟 Database 的限制,不過這不在我們今天的討論範圍內,我想會架站的大大應該可以自己解決吧 O_<

模式 Modalities

最後就是設計使用者與 Chatbot 的互動模式了。大部分簡單的機器人都會使用按鈕來互動,更高端一點的讓使用者可以自由輸入文字/語音,甚至圖片/影片。這些設定就需要考量到技術能力以及使用者習慣,找出比較適合的模式。

按鈕當然是最方便的,文字可以抓關鍵字或是做語意分析,語音需要轉 ASR,圖片就需要接 Computer Vision(抖)如果技術上比較沒有辦法支援的,看來看去還是先做按鈕或關鍵字吧(笑)

藍色區塊:機器人相關設定 Chatbot Parameters

藍色區塊裡面有三個項目:Personality、Conversational tasks、Backend tasks,我們接下來會依照這樣的順序分別討論。

機器人性格 Personality

機器人需要有自己的性格嗎?這個問題的答案取決於你想設計什麼樣的機器人,有可能只是想要按鈕互動,有可能想要模擬真人客服(這很難)。

你可以先想想以下幾個問題:

  • 你想要給機器人一個名字嗎?
  • 機器人會有自己的樣貌嗎?(我指的是臉或是身體設定)
  • 他會是個外向的人?內向的人?謹慎的人?
  • 他會有自己的故事背景設定嗎?(好中二但很有趣 XD)
  • 他講話的調調是正式的,還是輕鬆的?
  • 他會講笑話嗎 XDDDDDD (欸 Google Assistant 講完笑話還會自己笑)

有興趣的可以看這個影片 XD

對話任務 Conversational tasks

這個問題可以從我們的價值定位開始延伸,去思考在這樣的使用者以及平台上,我們可以透過對話,完成什麼樣的任務?好比說訂餐、下單、回答問題。在這個部分,我們需要把本來的價值定位仔細劃分成一個個的任務,並且思考哪些可以做,哪些不能做,完整的定義到底這個機器人的目標會有哪些。

如果有餘力的話,可以做成這樣的表格👇

The UX Process for Information Architecture | Toptal

這是 Information Architecture,是 UI Designer 在設計架構時會參考的東西,透過這張圖清楚明白每個功能下面的子功能,看到整個架構。同理 Chatbot 也可以做出這樣的表格來整理我們的所有對話任務。

後端工作 Backend tasks

Chatbot 不只是完成對話,更多的工作是背後處理使用者輸入的資訊,並且計算的過程。好比說訂飲料,接收完畢訂單後,需要跳到資料庫確認,然後傳送給飲料店,飲料店還要跟外送員通報……,非常多的流程需要處理。

以電商 Chatbot 為例,通常會需要接一個產品管理系統 (Content Management Systems),又或者我們稱為產品資料庫,在這裡可以搜尋庫存或是發單,也可以透過 email 或 SMS 通知管理者/出貨者等等。

現今這些後端工作已有不少方便的平台可以協助管理,像是 Amazon AWS,或是直接接 Mysql、MangoDB 等等也可以,不過這些工作還是需要仰賴技術人員,所以請對我們這些工程師好一點嗚嗚嗚。

黃色區塊:開發與發布 develop & deploy

黃色區塊裡面有四個項目:Third party services、deployment platform、Analytics、Marketing,我們接下來會依照這樣的順序分別討論。

第三方服務 Third party services

現今有很多第三方服務可以被應用在 Chatbot 上面,包含語音辨識、語意分析、情感分析、輿情分析等等,如果你想要做更多這種厲害的 Bot,請務必知道這些好東西!

  • 語意分析:Dialogflow (API.AI), LUIS, IBM Watson, WIT.AI, and LEX (Amazon)
  • 語意分析:Amazon LEX, Google Speech API, etc.

情感分析我還不太知道哪些做的比較好,然後輿情分析我知道我們實驗室的還不錯啦歡迎參考 XD

開發平台 Development platform

思考完對話任務、後端工作、第三方服務後,是不是覺得很麻煩呢(笑)那這樣也許你還可以有另一種選擇 — — 直接使用現有的開發平台!

以下有幾種你可能可以使用的方法:

  1. 願意碰一點程式的你 — — 語意理解平台 NLU based platform

其實中文我不知道怎麼翻 XD 總之就是有支援語意理解的平台或工具,像是 Dialogflow 這類的,如果稍微有一點 NLP 知識的人可以試試看這些工具,可以為你做到更彈性的設計,會架 Server 或是寫 DM 的人也可以自己架 Webhook ,這樣套用 NLU 系統應該會讓 Chatbot 靈活度更高。

如果你都聽不懂我上面在講什麼,那你應該不適合這塊,請往下看。

2. 給不想寫程式的你 — — 視覺化網站平台 Web based visual platforms
英文的像是 Chatfuel, FlowXO, Motion.ai 等等,中文的話歡迎使用我們家的 BotBonnie(撒花)現在全面免費中 👍👍👍

這類型的平台優點是不會寫程式也可以輕易上手,編輯過程多是以拖拉、創建模組等方式製作對話,所以相較之下會比較親民一點,同時也幫你把第三方都接好了,所以要處理後端啊資料啊通通都不用擔心。

缺點是你的資料落入平台手中,而且其實有時候自由度還不是很高,需要花點錢才有辦法客製化。

3. 如果你更有閒情逸致(?) — — 各種 toolkits 或 SDK

現在有很多對話的 toolkits,通常會是 Node.JS, .Net 或 REST based 的,所以你也可以直接透過他們來製作你的 Chatbot,像 Microsoft BotBuilder SDK、BotKit、BotPress 等。

至於 SDK 就是不同平台自己的 SDK 了,這就請自己翻閱說明手冊齁齁齁。

分析報表 Analytics

分析報表會在 Chatbot 上線之後才會出現,通常是想知道這樣的對話設計到底好不好?使用者反映怎麼樣?有些開發平台會有分析報表的服務,而 Facebook 自己也有粉絲頁的流量分析。若要找第三方的 toolkits 也可以參考這些:Dashboard.ioBotAnalyticsDialogAnalyticsChatbase

關於分析這件事不是今天的主軸,所以咻咻跳過。

市場策略 Marketing

最後就是市場策略了,不過說實話身為工程師與設計師的我並不熟這個部分(笑)在這裏你需要考慮的是這個 Chatbot 到底要怎麼被 Marketed,可能是要有更強烈的 Call to Action,可能是要辦一些 Campaigns ,可能是要做各種留言 +1 的活動(?)

大家可以試著了解 Chatbot 到底能夠做到哪些事,再把目前手邊的行銷活動與這些功能結合,試著創造出更多 Marketing 的機會。

一個好的 Chatbot,需要有好的行銷跟 On-boarding,為此大家也可以多參考其他跟行銷有關的 Chatbot ,相信會想做 Chatbot 的各位商家大大們應該都是這方面的專家,我就不獻醜惹。

我是 Mu,目前在 BotBonnie 擔任 UX 實習生。

BotBonnie 是一個聊天機器人製作平台,利用簡單的圖像化介面就可以親手打造出自己的聊天機器人嘍,想了解更多請點選這裡 👇

大家掰掰 🍌🍌🍌🍌

--

--

Grace, Mu-Hui Yu

I’m just a UX Designer & Researcher & iOS Engineer & BBT-holic.