打造聊天機器人 #2:腳本設計

Estelle Huang
YOCTOL.AI
Published in
7 min readOct 3, 2018

建置機器人需要準備哪些資料一文中,我們提到知識範圍界定、意圖分類、腳本設計這三大步驟。現在,我們要深入探討腳本設計的方式。

腳本設計是聊天機器人互動體驗的一大關鍵。對於某個意圖,如果回答腳本寫得不好,則機器人即使聽懂了這個意圖,也無法產出令人滿意的對話流程,十分可惜。以下圖為例。

同樣都是處理「點飲料」這個意圖,左圖的機器人並沒有在答覆中給予適當引導,且沒有將網址等額外資訊包覆在按鈕中。此外,在點餐完畢時,沒有做資訊統整,因此使用者在操作過程中,容易產生困惑,甚至有被機器人「句點」的感覺。而右圖的機器人則在回答腳本中適時採用按鈕,且隨時告知目前的操作狀態,達成較好的互動體驗。

而我們在設計腳本時,可以掌握幾個重要的工作項目:

#1 文案清整:針對機器人要聽懂的意圖,列舉出可能的問法,進而編寫出能涵蓋各種問法的答案。

#2 劇情引導:開宗明義講清楚這個機器人可以處理哪些意圖,且過程中適時透過按鈕或指令等方式,給予使用者互動提示。

#3 例外處理:對於使用者超出劇情的操作、不符規格的輸入,設計相關的應對機制。

以下將分別探討這三個工作項目。

#1:文案清整

(1) 將是非題改寫成開放式問題:編寫腳本時,務必編寫精簡但是完整的回答文案。請避免將機器人的回應寫成「是 / 否。」「沒錯!」「沒有喔~」這類的肯定或否定句。因為:

  • 任何意圖都會有很多種問法,是非題只是其中一種。萬一對方問的是開放式問題,這樣回答就會顯得怪異。如下圖。
  • 若真的採用是非題的方式回答,則對於「有沒有?」應該要回答「有 / 沒有」;「對不對?」應該回答「對 / 不對」,……。這樣一來,我們要寫非常多種對應的答案,而且還要判斷肯定 / 否定的邏輯,複雜度非常高,徒增麻煩。

(2) 合併答案:我們在前篇文章有詳細解釋到,為避免彼此混淆,可以將兩個知識合併成一種意圖。在設計腳本時,便要記得將原本 FAQ 中兩條不同題目的答案,合併且適度改寫,才能確保機器人完整回答到使用者的問題。

另外,若答案文案太長,建議先以一句精練的句子當作引言,再利用按鈕展開細節。

(3)資訊統整:對於資訊查詢相關的問題,建議將資訊條列式呈現,以提升閱讀體驗。

除此之外,即使使用者沒有直接問到,也可以將相關資訊一併整理在回答中,提升互動的完整度。

#2:劇情引導

使用者輸入的語句可能千奇百怪,然而機器人能處理的意圖數量畢竟有限,且不像人類可以急中生智,自創對話內容。為了避免讓使用者不知道該輸入什麼語句,以下有幾個環節,可以多加注意:

(1) 登陸主選單:服務導向的機器人,可以在歡迎語直接表明自己可以做什麼,同時提供主選單,並在按鈕列出重要功能,讓使用者對功能一目瞭然。各平台也提供了常駐選單的功能,例如 Facebook Messenger 的 Persistent Menu、LINE 的 Rich Menu。且 Messenger 的輪播模組(Carousel of Generic Templates)可以上傳圖片,很適合作為圖文並茂的主選單。

不過,若你的機器人是趣味導向、需要維持神秘感,或是功能非常單一、不至於讓使用者搞不清楚現在該做什麼,則登陸主選單就不是必須的。

(2) 劇情引導:在每段對話後面,機器人可以透過按鈕來引導使用者達成以下目的 :

  • 操作後續動作:撥打訂位電話、前往報名網頁、檢視地圖、傳送地理位置等。
  • 繼續閱讀:若該段回答文案太長,或是出現劇情轉折,可以置入有著「繼續閱讀」等字樣的提示按鈕,讓使用者喘口氣。
  • 提示相關問題:對於經常被連帶提起的問題,可以直接做成按鈕,接續在對話後面,免除使用者打字的麻煩。舉例而言,我們可以在「托運行李重量」的回答文案底下,附帶「如何加購行李重量?」的按鈕。
  • 限制輸入格式:當機器人詢問使用者問題時,可以透過按鈕來給予使用者明確選項,且按鈕上的字樣,也能限縮使用者的想像力,避免出現天馬行空無法處理的內容。值得注意的是,按鈕通常會有數量上限,因此若該則問題的可能選項太多,便不適合用此方法。適合做成選項的問題,包含 Yes / No、飲料甜度、冰度、服飾尺寸、訂位的時段區間等種類有限的類型。

#3:例外處理

使用者可能會輸入超出知識範圍的語句,或在機器人發問時,輸入格式錯誤的資訊。針對這兩種情況,需要避免對話內容繼續偏離主題:

(1) 超出知識範圍:

  • 轉真人與主選單:機器人除了回答「我聽不懂」之外,建議附帶「轉真人」和「回主選單」的按鈕。
  • 互動指南:可以訓練機器人聽懂「你會什麼 / help / 互動指南 / 怎麼用」等語句,讓機器人說明自己的功能與職責。

(2) 不符規格的資訊:

若機器人詢問手機號碼,使用者卻輸入意味不明的字串,或是機器人提供了選項按鈕,使用者卻故意打字,都會造成流程出現問題。這時候我們可以透過程式另外建立應對機制:

  • 錯誤的輸入格式:撰寫偵測 email 或電話號碼格式的邏輯。若偵測到文字輸入格式錯誤,請對方再次輸入,並在文案中提示正確格式的寫法。
  • 不按按鈕:有兩種常見做法,一種是直接對他輸入的文字進行新的判斷,另一種是將使用者鎖在反問狀態中,不斷提供原本的反問選項,不理會他輸入的語句。

值得注意的是,無論何種作法,都建議在文案結尾附帶「跳出」或是「回主選單」的按鈕,避免使用者一直操作錯誤,卻困在狀態中出不去。

小結

腳本設計可說是打造聊天機器人最關鍵的步驟。如何撰寫足夠貼心的文案、有效運用按鈕引導使用者,都是營造出良好體驗不可或缺的環節。

下一篇,我們將詳細介紹 Facebook 和 LINE 的各種互動元件,並說明各種情境下適用的元件項目。

優拓資訊 (Yoctol Info Inc.)

At YOCTOL, We AI Your Business by Bot.

優拓相信,每個企業都需要對話式 AI 系統作為溝通渠道,提升經營效能。我們協助企業導入 YOCTOL.AI 系統,並提供從顧問諮詢到營運管理,完整的企業服務方案。

若您有相關業務需求或是任何建議、疑問,都歡迎寄信至 service@yoctol.com,我們將盡速與您聯繫,期待您的來信!

--

--

Estelle Huang
YOCTOL.AI

Babysitting products at KryptoGO. Obsessed with music and stories.