機(jī)器人對話設(shè)計(jì)一定需考慮關(guān)鍵8個(gè)要點(diǎn)
編輯導(dǎo)讀:隨著人工智能的發(fā)展,機(jī)器人對話是最為常見的功能之一。筆者作為對話機(jī)器人的AI PM,在對話平臺的從0-1產(chǎn)品搭建、對話機(jī)器人的從1-100的產(chǎn)品運(yùn)營上,遇到了諸多坑,也走了不少彎路。深感在對話機(jī)器人中,對話設(shè)計(jì)對于機(jī)器人整體效果而言至關(guān)重要。本文將重點(diǎn)闡述,在對話設(shè)計(jì)中重要關(guān)鍵的8個(gè)點(diǎn),希望對你的機(jī)器人設(shè)計(jì)有幫助。
一、對話設(shè)計(jì)的重要性
1. 對話設(shè)計(jì)是什么?
對話機(jī)器人,主要由幾個(gè)部分組成:語義識別、信息采集/使用、對話設(shè)計(jì)、知識庫。
語義識別:
通常由AI算法模型進(jìn)行(NLU,自然語言理解),這也是對話機(jī)器人中,AI技術(shù)應(yīng)用最多的部分。當(dāng)然,算法也有識別不到位的情況,通常會(huì)使用規(guī)則做矯正/補(bǔ)充。
信息采集/使用:
即對語義識別的結(jié)果做收集、更新、使用。對話的本質(zhì)是信息的交換,對于機(jī)器人來說,獲取訪客的需求信息至關(guān)重要。信息決定了后續(xù)機(jī)器人采取的策略與動(dòng)作。
知識庫:
知識庫是應(yīng)用于單輪對話的機(jī)器人知識儲備庫,可以為訪客提供答疑服務(wù)。由于知識庫的FAQ特性使然,知識庫側(cè)重于一問一答的“知識解答”。
對話設(shè)計(jì):
對話設(shè)計(jì)是對話機(jī)器人的核心部分,相當(dāng)于機(jī)器人的“大腦”。即:面對什么樣的信息,需要做什么樣的動(dòng)作,從而讓對話可以順利地進(jìn)行,并滿足訪客的需求與機(jī)器人本身所需達(dá)到的目的。對話設(shè)計(jì)就是機(jī)器人對話邏輯處理的設(shè)計(jì)。
2. 對話設(shè)計(jì)為什么重要?
可想而知,如果對話機(jī)器人沒有了對話設(shè)計(jì),那么機(jī)器人基本失去了多輪問答的能力。相當(dāng)于訪客問一個(gè)問題,機(jī)器人回答一個(gè)問題。這在較為簡易的機(jī)器人中應(yīng)用較為常見,但是一旦業(yè)務(wù)變得復(fù)雜一些,機(jī)器人就很難處理,應(yīng)付不來。在人看來,就像“智障”一樣。
那為什么不使用AI算法來解決對話邏輯的問題呢?
因?yàn)锳I技術(shù)發(fā)展到現(xiàn)在,還無法做到通過會(huì)話級的學(xué)習(xí),達(dá)到應(yīng)答自如的對話效果。這就需要AI PM與AI訓(xùn)練師,通過對話邏輯的設(shè)計(jì),讓機(jī)器人變得智能,處理業(yè)務(wù)問題,從而實(shí)現(xiàn)預(yù)定目標(biāo)。
二、對話設(shè)計(jì)關(guān)鍵8個(gè)要點(diǎn)
對話設(shè)計(jì)在功能形式上,表現(xiàn)為對話流程。通常流程與對話場景相對應(yīng),即一個(gè)流程處理一個(gè)對話場景。當(dāng)然如果場景較大,可能一個(gè)場景需多個(gè)流程處理,流程間會(huì)協(xié)作配合,分別處理不同的任務(wù)。
流程的設(shè)計(jì),即機(jī)器人“大腦”的設(shè)計(jì)。一般通過設(shè)定流程邏輯規(guī)則,讓機(jī)器人具有處理不同問題的能力。以下為流程設(shè)計(jì)的關(guān)鍵點(diǎn),提煉為8個(gè)。
1. 流程間執(zhí)行優(yōu)先級
一個(gè)機(jī)器人中,有多個(gè)流程,數(shù)量可達(dá)幾十個(gè)。比較通常的情況是在30-40個(gè)左右。當(dāng)然,流程的多少,跟場景劃分顆粒度粗細(xì)有關(guān)。一般而言,一個(gè)流程會(huì)對應(yīng)一個(gè)意圖。意圖即為流程的準(zhǔn)入條件。
流程間是需要設(shè)定執(zhí)行的優(yōu)先級順序的。為什么?
因?yàn)樵L客的同一句表述,可能會(huì)同時(shí)滿足多個(gè)流程進(jìn)入的條件。此時(shí)應(yīng)該進(jìn)入哪個(gè)流程,就需要人為地劃分優(yōu)先級。
你可能會(huì)說,這樣劃分科學(xué)嗎?有效嗎?是的,這樣并不能保證是最客觀最科學(xué)的,但是只能在可能的情況下,盡可能考慮訪客的各種情況下做出最優(yōu)解。
在所有的流程中,我們一般做的設(shè)計(jì)就是,將所有的流程排優(yōu)先級。從第一個(gè)流程開始匹配,命中則進(jìn)入流程;未命中則執(zhí)行下一個(gè)流程,直至命中流程為止。若未有流程命中,則不進(jìn)入流程。
所以,在做對話設(shè)計(jì)時(shí),做好流程間的執(zhí)行優(yōu)先級,就可讓機(jī)器人在面對訪客表述識別模棱兩可時(shí),做出優(yōu)先級選擇,從而進(jìn)入欲進(jìn)入的流程。當(dāng)然,也會(huì)出現(xiàn)未考慮到的情況,畢竟語言表達(dá)在不同的訪客、不同的場景中,可能千變?nèi)f化。故只能說,在已有條件下找到最優(yōu)解。
2. 流程內(nèi)執(zhí)行、流程間跳轉(zhuǎn)優(yōu)先級
當(dāng)進(jìn)入流程后,機(jī)器人可能會(huì)面臨,在同一句訪客表述前,是應(yīng)該在該流程繼續(xù)執(zhí)行,還是應(yīng)該跳轉(zhuǎn)到另外一個(gè)流程。
這個(gè)時(shí)候你可能會(huì)說,如果訪客說到另一個(gè)場景/話題,就跳到那個(gè)流程;如果是繼續(xù)當(dāng)前的話題,那就應(yīng)該繼續(xù)原有的流程。思路是這樣的沒錯(cuò),但是實(shí)際情況往往會(huì)比我們預(yù)想的復(fù)雜。對于場景清晰界限明確的流程間,比如“播放音樂”和“訂火車票”這兩種涇渭分明的場景,就很容易處理。但是當(dāng)出現(xiàn)場景間的界限較為模糊的情況,就較難通過簡單的準(zhǔn)則區(qū)分。比如在醫(yī)療領(lǐng)域“咨詢牙齒種植”和“咨詢補(bǔ)牙”,由于場景相近,訪客描述的內(nèi)容可能很相近,機(jī)器人做意圖識別時(shí),在一些表述上很難做到區(qū)分。
所以,我們一般會(huì)制定一套跳轉(zhuǎn)規(guī)則。比如,當(dāng)流程間界限分明/機(jī)器人應(yīng)答策略更希望流程盡量不做跳轉(zhuǎn)時(shí),設(shè)置當(dāng)前流程執(zhí)行有限;當(dāng)流程間界限不太分明/機(jī)器人應(yīng)答策略更希望在不同流程間跳轉(zhuǎn)時(shí),設(shè)置流程跳轉(zhuǎn)優(yōu)先。
再次地,這樣的設(shè)置是通過人為地制定一套規(guī)則,讓機(jī)器人可處理不同的業(yè)務(wù)問題,從而讓機(jī)器人對話“智能”。
3. 流程間跳轉(zhuǎn)限制
多個(gè)流程間,有諸多的流程是并列的關(guān)系。但是?也有流程間是“父子”關(guān)系、“只進(jìn)不出”關(guān)系。
舉個(gè)例子,比如流程A和流程B:
- 在某些情況下,流程B的準(zhǔn)入條件,必須是進(jìn)入了流程A后,滿足一定條件,如訪客說了某個(gè)關(guān)鍵字,才可進(jìn)入流程B。這種關(guān)系即“父子”關(guān)系,A流程是父流程;B流程是子流程。不進(jìn)入A流程,就不能進(jìn)入B流程。
- 在某些情況下,流程A可跳轉(zhuǎn)到流程B,但是流程B不可跳轉(zhuǎn)到流程A。常見的情形是,流程A是“無意圖”流程,流程B是有意圖的流程。一般而言,在識別了訪客意圖后,當(dāng)訪客當(dāng)前輪次的表述是無意圖,也不會(huì)跳轉(zhuǎn)回“無意圖”流程。
通常,我們會(huì)通過流程關(guān)系的設(shè)置,來確定流程間的跳轉(zhuǎn)關(guān)系和限制。在Google Dialogflow中,Context的概念,就是為了設(shè)置流程間的“父子關(guān)系”。不僅是流程間的跳轉(zhuǎn)關(guān)系,流程中傳遞的信息(詞槽信息)也會(huì)被傳遞/繼承。故稱之為Context語境。
4. 流程問句重復(fù)/不重復(fù)發(fā)送
行業(yè)中有一部分場景,是需要把機(jī)器人做成“仿真”的。即:讓訪客無感知/較弱感知到與自己對話的是一個(gè)機(jī)器人。這些情況下,就需要將機(jī)器人做擬人化設(shè)計(jì)。
流程問句的重復(fù)/不重復(fù)發(fā)送設(shè)計(jì),是其中很重要的一步。試想,如果在一個(gè)對話中(特別是客服等提供業(yè)務(wù)服務(wù)的對話),對方反復(fù)發(fā)送同一句話,你會(huì)不會(huì)很容易質(zhì)疑對方就是一個(gè)機(jī)器人,很生氣地結(jié)束對話,或者要求轉(zhuǎn)人工?
那么,如何讓機(jī)器人避免流程話術(shù)重復(fù)發(fā)送呢?
我們的處理是,在設(shè)計(jì)流程的問句時(shí),再配置上該問句要收集的信息。通過對上文該信息的識別、獲取、存儲與判斷,來避免下文重復(fù)發(fā)送相同/類似的問句。比如:
【流程A】機(jī)器人問:“您多大年紀(jì)呢?”,配置“年齡”的信息
【流程B】機(jī)器人問:“您今年幾歲呢?”,配置“年齡”的信息
當(dāng)上文執(zhí)行了流程A的上述問題,并獲取保存了訪客的“年齡”信息,則在下文執(zhí)行流程B時(shí),再次詢問“年齡”的問句將被跳過,不會(huì)再觸發(fā)。從而實(shí)現(xiàn)避免重復(fù)發(fā)同類問句的目的。
當(dāng)然,如果機(jī)器人是“非仿真”的機(jī)器人,則無需做這一重判斷處理。因?yàn)橛脩魧τ趯υ挼恼J(rèn)知就是在跟機(jī)器人對話,無所謂是否重復(fù)話術(shù)。但是,AI不就是通過智能讓生活更加便捷美好嗎?仿真化對應(yīng)的智能,勢必會(huì)是以后的大趨勢。
5. 流程重復(fù)/不重復(fù)執(zhí)行
執(zhí)行過的流程,當(dāng)訪客表述又再次滿足其準(zhǔn)入的條件時(shí),流程還可以重復(fù)執(zhí)行嗎?
其實(shí)這一點(diǎn)和上面一點(diǎn)的思路有點(diǎn)類似。流程重復(fù)執(zhí)行,意味著發(fā)過了的問句/話術(shù)再次發(fā)送一遍。對于“仿真”的機(jī)器人來說,一般是需要做避免重復(fù)執(zhí)行的設(shè)計(jì)。
比如:
- 流程A中執(zhí)行到第3輪話術(shù),由于訪客表述跳轉(zhuǎn)到了流程B
- 當(dāng)流程B執(zhí)行后,又滿足流程A的條件從而回到流程A
- 那么此時(shí),應(yīng)該
- 從流程A的第4輪繼續(xù)執(zhí)行(接著剛才執(zhí)行到的第3輪)
同樣的,如果是“非仿真”的機(jī)器人,可容忍流程重復(fù)執(zhí)行,則無需做此設(shè)計(jì)。
6. 流程被打斷后恢復(fù)/不恢復(fù)
當(dāng)流程發(fā)生跳轉(zhuǎn)的,一般會(huì)伴隨流程的打斷??赡艿那樾问牵谠辛鞒讨辛牡猛?,訪客突然說了個(gè)與該流程不相干的內(nèi)容,或是另起一個(gè)話題,導(dǎo)致跳轉(zhuǎn)到了另一個(gè)流程。
比如:
- 流程A中執(zhí)行到第3輪話術(shù),由于訪客表述跳轉(zhuǎn)到了流程B
- 當(dāng)流程B執(zhí)行完
- 此時(shí),由于A流程是被打斷的主要場景,訪客更傾向于繼續(xù)將A流程話題繼續(xù)至結(jié)束。故需恢復(fù)至A流程并執(zhí)行完
這種情況一般是在A流程是主要場景/流程的情況下,在A流程中做的設(shè)置。而對于那些較為次要的流程,則較無需做“打斷后恢復(fù)”的設(shè)置。因?yàn)橛锌赡芷涮D(zhuǎn)的是主要的流程,便無需做恢復(fù)動(dòng)作。
7. 信息采集與追問
對話的本質(zhì)是對話雙方信息的交流。在對話流程進(jìn)行中,信息的采集尤為重要。信息不僅可作為機(jī)器人話術(shù)的組成部分、作為訪客信息記錄/傳遞,還可作為條件判斷的來源、第三方接口的傳遞內(nèi)容。所以信息采集對于對話流程來說很重要。
所以,一般我們在設(shè)計(jì)流程的問句時(shí),會(huì)設(shè)置相應(yīng)的信息采集內(nèi)容。還是上面的例子:
機(jī)器人問:“您多大年紀(jì)呢?”,一般會(huì)設(shè)置“年齡”的信息采集??赏ㄟ^算法的實(shí)體識別(NER)技術(shù),獲取訪客表述的年齡信息。
當(dāng)信息未獲取時(shí),也可通過“信息追問”的方式,追加詢問,以獲取欲獲得的信息。
當(dāng)然,信息追問也許根據(jù)具體場景來設(shè)計(jì),設(shè)計(jì)過多也會(huì)讓訪客覺得反感。一般來說,信息追問的話術(shù)連續(xù)不應(yīng)超過2次。
8. 流程與知識庫的協(xié)作配合
以上說的都是流程內(nèi)部的設(shè)計(jì)點(diǎn)。在流程之外,知識庫是機(jī)器人另一重要組成部分。知識庫主要進(jìn)行單輪一問一答的知識答疑。那么流程和知識庫如何協(xié)作配合,對于對話來說也是很重要的一環(huán)。
一般而言有以下4種策略:
- 策略1:針對訪客的表述,先進(jìn)行知識庫答疑,后執(zhí)行流程話術(shù);
- 策略2:針對訪客的表述,先進(jìn)行流程內(nèi)判斷,若不滿足流程執(zhí)行的條件則進(jìn)行知識庫答疑;若滿足流程執(zhí)行條件則執(zhí)行流程話術(shù)
- 策略3:只使用知識庫答疑,不執(zhí)行流程話術(shù)
- 策略4:只執(zhí)行流程話術(shù),不使用知識庫答疑
四種策略,側(cè)重點(diǎn)不同。
- 策略1,是種綜合的方式,結(jié)合了知識庫與流程話術(shù)的優(yōu)點(diǎn),在較大限度上限制二者的缺點(diǎn);
- 策略2,是側(cè)重流程話術(shù)的方式。知識庫作為流程的補(bǔ)充使用;
- 策略3,一般適用于問答機(jī)器人,業(yè)務(wù)較為簡單,無需較復(fù)雜的對話邏輯處理
- 策略4,一般適用于強(qiáng)引導(dǎo)型的機(jī)器人,可以基本不做訪客的知識答疑
一般根據(jù)客戶的實(shí)際場景,去設(shè)計(jì)不同的協(xié)作策略。一句話,可達(dá)到業(yè)務(wù)目標(biāo)即可,沒有優(yōu)劣之分,只有側(cè)重點(diǎn)之分。
三、總結(jié)
對話機(jī)器人是一個(gè)系統(tǒng),對話設(shè)計(jì)作為這個(gè)系統(tǒng)的“大腦”,需設(shè)定不同功能模塊,來處理應(yīng)對不同的業(yè)務(wù)場景訪客問題。其中,對話設(shè)計(jì)中的這8個(gè)關(guān)鍵要點(diǎn),是對話設(shè)計(jì)的核心。做好了這8個(gè)關(guān)鍵要點(diǎn)的設(shè)計(jì),可以說基本上覆蓋了流程設(shè)計(jì)的避坑要點(diǎn)。
當(dāng)然,機(jī)器人對話設(shè)計(jì),還有很多其他的細(xì)節(jié)點(diǎn)設(shè)計(jì),同時(shí)需側(cè)重考慮與這8個(gè)要點(diǎn)之間的關(guān)系與協(xié)作模式。希望這些要點(diǎn)闡述與總結(jié),對你的設(shè)計(jì)有幫助。
作者:咖喱魚丸,5年P(guān)M經(jīng)驗(yàn),2年AI PM經(jīng)驗(yàn)
本文由 @咖喱魚蛋egg 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議
- 目前還沒評論,等你發(fā)揮!