【APMIC OpenTalk 使用教學】對話訓練篇

Arthur
APMIC
Published in
7 min readAug 17, 2020

透過本篇文章你將可以了解到如何使用 OpenTalk 設計出聊天機器人的對話流程,以下為本篇文章的大綱:

一、什麼是對話訓練?
二、對話訓練的流程
三、如何設計對話流程?
四、結語

一、什麼是對話訓練?

「對話訓練」是傳授知識給機器人的過程,當機器人所知道的知識越多,就可以回答更多客戶的問題。

說起對話訓練就必須先解釋一下「關鍵字 (Keyword or Rule Based)」和「自然語言理解 (Natural Language Understanding, NLU)」的差別。

關鍵字的意思是當使用者的問句提到某個字時,機器人就會回覆相對應的答案。例如:設定當使用者提到「天氣」時機器人就回覆「晴時多雲偶陣雨」,使用者的問句若為「可以告訴我台北的天氣嗎?」、「今天天氣如何?」或是「陽明山上的天氣好不好?」時,機器人就會回覆「晴時多雲偶陣雨」;使用者的問句若為「今天台北會不會下雨?」、「今天溫度幾度?」或是「陽明山上會不會很熱?」時,機器人則不會給予回覆。

自然語言理解則是透過 AI 模型的計算,會判別使用者問這句話的意圖 (Intent)為何,來自動辨識相似句、倒裝句或是錯別字,像是「可以告訴我台北的天氣嗎?」、「今天天氣如何?」和「陽明山上的天氣好不好?」的意圖都是在「問天氣」,而「今天台北會不會下雨?」、「今天溫度幾度?」或是「陽明山上會不會很熱?」同樣也都是在問天氣,所以在自然語言理解的引擎上都會回覆天氣資訊。

自然語言理解引擎

有些人或許會說多設一點關鍵字就好了,為什麼還需要自然語言理解,一來需要窮舉關鍵字,二來是關鍵字在數量越來越多時容易出現打架的情況,我們以上面設定「天氣」為關鍵字為例,當使用者問「今天天氣之子的場次」時,機器人同樣會回答「晴時多雲偶陣雨」,自然語言理解引擎則會知道「今天天氣之子的場次」這句話的意圖為「問電影」,而不是「問天氣」,所以透過自然語言理解來進行對話訓練是讓機器人更人性化的最佳途徑。

OpenTalk 的對話訓練

自然語言理解需要懂很多 AI 的知識?建立對話訓練會不會很麻煩?OpenTalk 直接把 AI 的模型整合到平台內,只需要輸入機器人「接收到的訊息」和「要回覆的訊息」就可以,不用任何的程式基礎就可以自由訓練對話。

OpenTalk 的情境訓練

除了一問一答式的對話訓練外,OpenTalk 亦提供流程式的對話訓練,我們稱為情境訓練,許多時候對話不是一問一答可以結束的,會必須根據上下文的談話內容才能知道要給予什麼樣的答案,像是使用者問機器人:「最近有什麼推薦的電影嗎?」,機器人就可以反問使用者「請問您有什麼比較偏好的電影種類嗎?喜劇、愛情片或是動作片?」,這時使用者回答「愛情片」,若是只判斷愛情片三個字,則這三個字對機器人來說不具任何意義,必須判斷完上下文後才能知道使用者真正的意圖是「最近有什麼推薦的愛情電影?」。善用情境訓練可以設計出對話模式更多元的聊天機器人。

二、對話訓練的流程

對話訓練流程圖

對話訓練中最重要的事情為「知道客戶會問什麼問題」,根據統計過去客服在處理問題時,有超過七成的問題是重覆性的問題 (FAQ),但是每個客戶的問法會千奇百怪,而過去的客服機制並沒有把這些千奇百怪的問題記錄下來,也就不會有足夠的資料來讓機器人學習知識。在使用 OpenTalk 後,所有的對話都能夠被記錄下來,也就是進行問句搜集,在問句搜集到一定的量時,就可以進入知識分類的步驟。

知識分類目的在整理客戶所問的問題,例如:A 客戶問說「請問你們今天有沒有營業?」,B 客戶問說「請問你們今天有營業嗎?」,兩句問句的重覆性非常高,就可以同樣歸類在「問營業時間」這個意圖。知識分類將問句整理出來後,再針對這些問題去設計答案,而統整出一整套的專業問答集。

有了專業問答集後,就可以把問答集的內容放進 OpenTalk 裡,此時 Chatbot 即具有智慧問答的能力,透過此流程不斷的執行來讓 Chatbot 的對話能力越來越強。

三、如何設計對話流程?

想必看完了前兩章後對對話訓練流程已經有一定的認識,那麼究竟應該怎麼樣設計聊天機器人的對話流程?本章中整理出幾個基本的重點給大家。

關鍵一:給予適度的對話引導

關鍵一:給予適度的引導

對於第一次使用聊天機器人的人來說,引導使用者問問題非常重要,適度的引導可以讓使用者朝對的方向去問問題,否則使用者容易漫無目的的「聊天」。

關鍵二:重覆問題,讓回答更明確

關鍵二:重覆問題,讓回答更明確

一方面是確認機器人回覆的訊息是正確的,另一方便是讓使用者再次確認問題,像是如果使用者是問「維他命有什麼功效?」,但是對話訓練裡目前沒有針對「維他命有什麼功效?」這句話設計回覆,自然語言引擎在搜尋最適答案時自然會將維他命C 的答案回傳,此時就必須明確的告訴使用者回答是針對「維他命C」而非「維他命」。

關鍵三:回應的內容不宜過長,重點式回答

關鍵三:回應的內容不宜過長,重點式回答

在回覆時一次回覆大量的文字是大忌,不管是在文字介面上( LINE、Messenger 和 Telegram 等)或是語音介面上( Google Assistant、Siri 和機器人等),對於大量的文字使用者體驗都是非常差的,文字介面的通訊軟體上本身 UI 的呈現就是以短訊息為主,過長的訊息量會非常不易閱讀,容易造成使用者的反感;在語音介面上光是要等機器人把這麼一大段文字唸完恐怕使用者早就把 App 關閉或是拔插頭了。簡短而精確的回覆在對話流程的設計上非常重要。

相關案例

20200817 LINE@ 防疫機器人

四、結語

對話訓練的過程並不輕鬆,就好像必須從 0 到有訓練出一位客服人員一樣,沒有經過一定時數的教育訓練是無法答成的,訓練機器人也是一樣的道理,必須明確知道使用者會問什麼樣的問題,以及知道使用者喜歡看到什麼樣的問題,才能訓練出最適用的聊天機器人。

僅管訓練的過程困難,但一當聊天機器人能獨當一面後,它可以同時處理數萬個客戶的問題,並且 365 天 24 小時無時無刻都可以上工,後續可以達成的效益不容小覷,馬上來建立自己的對話訓練吧

--

--