打造聊天機器人 #1:資料準備

Estelle Huang
YOCTOL.AI
Published in
7 min readAug 22, 2018
圖片來源:YOCTOL

在前文中,我們釐清了企業對 Chatbot 的常見迷思。現在,我們將從零開始介紹 Chatbot 的建置流程。做機器人並不是把技術面搞定就完成了。無論是委託廠商客製,或運用現成的軟體工具,背後的資料準備都是最大的關鍵。

資料準備:給虛擬員工的員工手冊

我們可以將機器人想像成一個虛擬員工。任何員工開始工作前,公司一定會提供員工手冊等教育訓練,讓新人掌握工作 SOP,以及與客人互動的言行規範。

機器人也是一樣。無論何種專案,企業都必須準備「給機器人的員工手冊」,才能打造出一個優良的虛擬員工。要完成這個員工手冊,最關鍵的三步驟包含:

  1. 知識範圍界定:整理出「機器人應該聽懂哪些問題」。
  2. 意圖分類:將可能被問的問題,分類為若干類型。
  3. 腳本設計:針對各個問題類型,設計回答文案或劇情。

以下舉「信用卡機器人」為例,分別說明三個步驟該如何進行。

1) 知識範圍界定

圖片來源:YOCTOL

首先,企業必須清楚地規範出機器人「應該聽懂哪些問題」。我們不會期待信用卡客服人員跟我們聊聊「約會該去哪間餐廳」、「心情低落時該聽什麼音樂」這類問題。我們的虛擬員工也是一樣。整理出「應該聽懂哪些問題」有幾種方式,例如:清整過去的電話客服記錄、蒐集網路客服、社群對話記錄、訪問第一線的客服人員。

而在整理問題時,需要注意,人類在面對電話、線上真人客服時使用的語句會較為完整,而人類在面對機器人時,輸入的語句會較為精練,甚至趨近於命令式的語氣。

圖片來源:YOCTOL

在整理問題項目的同時,對每個問題「模擬出人機對話的短句」也是很重要的,否則容易發生機器人聽得懂一般長句子,卻對短句子沒信心的狀況。建議讀者可以整理一些人機對話的模擬句,以作為後續模型訓練的語料,讓機器人從中學習。

2) 意圖分類

在前一步驟,我們整理出了機器人應該聽懂的問題。然而問題的問法有成千上萬種,我們不可能對所有的發問方式,分別撰寫數萬種答案。因此,目前的 AI Chatbot 建置專案都需要經過一個重要的程序:「意圖分類」,再針對每個意圖類型,各自撰寫回答文案。

所謂「意圖」,便是「使用者輸入的語句,背後想達成的目標」。

圖片來源:YOCTOL

以上圖為例。圖中雖然出現 13 條問題,但我們並不需要真的寫出 13 種回答。這些問題,依照其背後的含義,其實分成 5 種意圖就行了,這樣我們只需要寫 5 個對應的回答。

讀者可能已經察覺,意圖的分類也是一門學問 ── 分得太粗略,意圖太少,回答的彈性會降低;但分得太細又可能造成意圖之間的混淆,造成 Chatbot 回答失誤。例如意圖四(掛失)和意圖五(補發)的意涵十分接近,若使用者問:「卡片掛失之後要怎麼補發?」,便會發生機器人意圖混淆的情況。因此實務上可能會選擇將兩者合併為「掛失補發」。

原則上,一個意圖會對應一個回答。不過,我們可以透過抽換語句中的關鍵詞彙(entity),建立更多種回答。例如對於「卡片申請」這個意圖,使用者可能會說:「我想辦白金卡」。此時我們可以建立「信用卡」這個關鍵詞彙類型,並整理出各款式的信用卡(例如:白金卡、現金回饋卡、響樂卡 ……),進而針對每種信用卡,撰寫不同的回答。

關於意圖和關鍵詞彙的設計,一個簡單的想法是:把「意圖」想像成「句型」,而「關鍵詞彙」則是句型中可抽換的人、事、時、地、物。

一般來說,若我們針對某類型的問題,可以給予統一的回覆,不需因應關鍵詞彙而設計特殊的答案(例如:行李箱、電鍋、機票等禮品,對發卡銀行來說都是相同的寄送流程,只要回答統一的回應即可),則我們可以只建立意圖就好。

圖片來源:YOCTOL

若我們需要針對不同人、事、時、地、物,給予不同回答,則可以對該意圖指定關鍵詞彙的類型,並進一步列出詞彙的各個值,讓機器人提供更細緻的回答。

以下圖為例,我們對於「卡片申請」這個意圖,可以進一步讓機器人聽懂不同的信用卡,以提供不同的答案。例如信用卡之中,可能有白金卡、鑽石卡、現金回饋卡等不同的名稱,而光是白金卡,可能又會有同義字,例如「Platinum Card」等稱呼。這些都是可以教給機器人的細節。

圖片來源:YOCTOL

3) 腳本設計

圖片來源:YOCTOL

Chatbot 的回答文案,相當於員工手冊中對於各種事件的處理 SOP。舉例而言,當客戶說出「我想辦信用卡」時,客服人員應協助客戶找出最符合需求的卡別。同樣的道理,在機器人上也適用。企業若想提供更好的 Chatbot 體驗,便需要針對「卡片申請」這個意圖,設計後續的劇情腳本。

圖片來源:YOCTOL

不同於人與人之間單純以言語溝通,LINE、Messenger 等社群平台的 Chatbot 更提供了按鈕。按鈕在對話情境中,有幾項好處:

  1. 話題引導:讓使用者看到明確的選擇,讓對話維持在主題之內。
  2. 多元互動:按鈕可以開啟網頁、撥打電話,或觸發其他劇情。
  3. 資料蒐集:使用者點選過的選項,都可以儲存在資料庫中,達成類似問卷蒐集的效果。

企業在規劃機器人腳本時,可以多多運用按鈕的特色,設計出優良的使用體驗。

而除了知識範圍內的問題,使用者可能出於好奇,隨意輸入超出知識範圍的語句,測試機器人的回答能力。為了避免機器人硬是從既有文案中選擇答案,而發生雞同鴨講的情況,企業必須設計「超出知識範圍時的預設文案」,讓機器人提供使用者適當的引導,避免話題偏離主題。

圖片來源:YOCTOL

小結

綜合以上三點,企業在建置 AI Chatbot 之前,可以將「機器人要聽懂的問題、意圖分類、腳本設計」這三個項目,整理為如下的格式,以利後續的自然語意訓練。同時,也能讓機器人的知識架構更清晰,提升機器人的可維護性。

圖片來源:YOCTOL

對於使用者的每個意圖,機器人都需要做出對應的回答。由於語句自動生成還是個高度實驗性的技術,因此實務上機器人的回答腳本還是需要人類去撰寫。

下一篇,我們將會介紹 Chatbot 的回答腳本有哪些設計小技巧,讓企業能在對話式商務時代,創造出更好的使用體驗。

優拓資訊 (Yoctol Info Inc.)

At YOCTOL, We AI Your Business by Bot.

優拓為新銳 AI 團隊,利用自行研發的機器人框架、自然語意理解、網路爬蟲、推薦引擎,為企業提供全方位的商務機器人解決方案,不僅可以即時回應顧客的客服需求,也能主動推播個人化商品推薦,提昇企業經營效能。

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

--

--

Estelle Huang
YOCTOL.AI

Babysitting products at KryptoGO. Obsessed with music and stories.