如何搭建一個智能客服(二):結合業務場景撰寫多輪對話PRD
上一篇講了單多輪對話的概念,這一篇會從更落地的角度寫怎樣結合業務去思考和表現多輪對話的流程設計。
首先我們通過觀察業務場景,來抽取終端用戶需求和明確需要通過AI來實現的對話流程。這一步的重點在于理清大多數用戶的高頻出現的需求,也可以說是正常用戶經常會問的問題和會做的操作。要這樣做是因為AI的開發成本畢竟不算低,所以好鋼用在刀刃上,我們暫時不關注少量用戶奇奇怪怪的想法。
以蘋果專賣店為例,我拿了兩個常見的對話場景:
1號場景——買iphone
店員:歡迎光臨,您要買什么?
消費者:我要一臺iphone
店員:您需要哪一款?
消費者:11
店員:128G還是64G?
消費者:64的
店員:什么顏色?
消費者:黑色
店員:好的,請您付款,謝謝。
2號場景——買Macbook
店員:歡迎光臨,您要買什么?
消費者:我要一臺Macbook pro
店員:什么尺寸呢?
消費者:15.6寸
店員:什么顏色?
消費者:黑色
店員:好的,請您付款,謝謝。
接下來我們把每個環節拆分成不同的用戶意圖,如下:
這樣我們拿到了7個不同的意圖,接下來是準備一些樣本做識別訓練。樣本的概念就是對一個意圖不同的表達方式,比如“我想買個iphone/您好我買個iphone/幫我拿個愛瘋手機”都歸為買iphone的意圖。
樣本的來源可以是實際的業務場景下發生的對話,也可以是靠自己生成,當然最好是前者,這里樣本的豐富度決定了識別的準確性。
注意收集了足量的樣本后,要抽取一部分用來后面作為測試集。當識別率達到我們要求的置信度時,假設閾值是80,就可以著手下面流程的部分了。
首先,我們把上面兩個對話變成兩個AI處理的流程。
關于付款之類的操作,大概率還需要跟其他系統的對接和聯調,因為這篇主要講對話,所以這部分按下不表。到這兒,我們就得到一個基本可以用的小機器人了,它可以完成前面場景里店員要做的工作。
下一步是對流程的完善。因為對話產品不像普通的產品,用戶再怎樣也離不開頁面上有的東西。對話時用戶行為是不受限的,他們講什么都可以,那么也就可以不按照預設流程去走。
比如買iphone到一半,用戶改主意要買MacBook呢?因此在上圖的完美流程外,我們要加一些節外生枝的東西進去。
這里插播一個知識點。在NLP中,人工智能本身是不能夠理解用戶意圖的,它只是根據大量樣本的統計結果做概率預測。比如,如果你在“買iphone”的訓練樣本中加入了大量的“買豆腐”,那么當你去測試買豆腐,它一定會認為你在買iphone。
沒有理解力這個事情導致了什么呢?它既沒有聽得懂的概念,也沒有聽不懂的概念。因此,在實際的訓練中,我們需要準備第8個意圖,叫做“無意圖”,用來把跟實際場景無關的話語與有效話語區分開來,比如“買豆腐”就應該算到無意圖里。
back回來,考慮了非理想流程的可能性后,兩個流程結合到了一起,現在長這樣:
乍一看可能有點眼花,我解釋一下。中間交叉的線表示,當用戶在買iphone的過程中表示了買MacBook的意愿,則轉去MacBook流程;反之亦然,用戶可以買MacBook時切換到買iphone。
為了簡單表示流程,當用戶表達了跟當前場景沒什么關系的話,即我們認為無意圖時,則讓AI再次詢問前一個問題,以便提示用戶走完流程。核心原則依然是收斂而非發散。輪次與AI詢問的內容都不是固定的,屆時根據實際應用場景靈活運用即可。
事實上,在我寫過的PRD中,上圖是一個非常簡化的版本,它一共只有流程*2和意圖*8. 在真實的業務流程中,因為場景的復雜度很高,所以交叉排列出的可能性也非常之多。這一部分就很考驗PM對于用戶行為的觀察和預測,以及對場景的拆解能力。理論上,拆解出的顆粒度越細,設計的場景豐富度越高,那么使用起來的體驗就越舒適越近似人工客服。
我另外做了一個更為復雜的版本,基本框架都沒有變,所以不再多做說明,貼上來以供參考。(歡迎同行一起交流呀)
本文由 @一個圓圈兒 原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自Unsplash,基于CC0協議
不錯,通俗易懂,原理講的很透。
一個對話場景跳轉和詞槽澄清話術,竟然可以說的這么復雜。 ??
你行你上