機器人對話設計一定需考慮關鍵8個要點

0 評論 4567 瀏覽 22 收藏 16 分鐘

編輯導讀:隨著人工智能的發展,機器人對話是最為常見的功能之一。筆者作為對話機器人的AI PM,在對話平臺的從0-1產品搭建、對話機器人的從1-100的產品運營上,遇到了諸多坑,也走了不少彎路。深感在對話機器人中,對話設計對于機器人整體效果而言至關重要。本文將重點闡述,在對話設計中重要關鍵的8個點,希望對你的機器人設計有幫助。

一、對話設計的重要性

1. 對話設計是什么?

對話機器人,主要由幾個部分組成:語義識別、信息采集/使用、對話設計、知識庫。

語義識別:

通常由AI算法模型進行(NLU,自然語言理解),這也是對話機器人中,AI技術應用最多的部分。當然,算法也有識別不到位的情況,通常會使用規則做矯正/補充。

信息采集/使用:

即對語義識別的結果做收集、更新、使用。對話的本質是信息的交換,對于機器人來說,獲取訪客的需求信息至關重要。信息決定了后續機器人采取的策略與動作。

知識庫:

知識庫是應用于單輪對話的機器人知識儲備庫,可以為訪客提供答疑服務。由于知識庫的FAQ特性使然,知識庫側重于一問一答的“知識解答”。

對話設計:

對話設計是對話機器人的核心部分,相當于機器人的“大腦”。即:面對什么樣的信息,需要做什么樣的動作,從而讓對話可以順利地進行,并滿足訪客的需求與機器人本身所需達到的目的。對話設計就是機器人對話邏輯處理的設計。

2. 對話設計為什么重要?

可想而知,如果對話機器人沒有了對話設計,那么機器人基本失去了多輪問答的能力。相當于訪客問一個問題,機器人回答一個問題。這在較為簡易的機器人中應用較為常見,但是一旦業務變得復雜一些,機器人就很難處理,應付不來。在人看來,就像“智障”一樣。

那為什么不使用AI算法來解決對話邏輯的問題呢?

因為AI技術發展到現在,還無法做到通過會話級的學習,達到應答自如的對話效果。這就需要AI PM與AI訓練師,通過對話邏輯的設計,讓機器人變得智能,處理業務問題,從而實現預定目標。

二、對話設計關鍵8個要點

對話設計在功能形式上,表現為對話流程。通常流程與對話場景相對應,即一個流程處理一個對話場景。當然如果場景較大,可能一個場景需多個流程處理,流程間會協作配合,分別處理不同的任務。

流程的設計,即機器人“大腦”的設計。一般通過設定流程邏輯規則,讓機器人具有處理不同問題的能力。以下為流程設計的關鍵點,提煉為8個。

1. 流程間執行優先級

一個機器人中,有多個流程,數量可達幾十個。比較通常的情況是在30-40個左右。當然,流程的多少,跟場景劃分顆粒度粗細有關。一般而言,一個流程會對應一個意圖。意圖即為流程的準入條件。

流程間是需要設定執行的優先級順序的。為什么?

因為訪客的同一句表述,可能會同時滿足多個流程進入的條件。此時應該進入哪個流程,就需要人為地劃分優先級。

你可能會說,這樣劃分科學嗎?有效嗎?是的,這樣并不能保證是最客觀最科學的,但是只能在可能的情況下,盡可能考慮訪客的各種情況下做出最優解。

在所有的流程中,我們一般做的設計就是,將所有的流程排優先級。從第一個流程開始匹配,命中則進入流程;未命中則執行下一個流程,直至命中流程為止。若未有流程命中,則不進入流程。

所以,在做對話設計時,做好流程間的執行優先級,就可讓機器人在面對訪客表述識別模棱兩可時,做出優先級選擇,從而進入欲進入的流程。當然,也會出現未考慮到的情況,畢竟語言表達在不同的訪客、不同的場景中,可能千變萬化。故只能說,在已有條件下找到最優解。

2. 流程內執行、流程間跳轉優先級

當進入流程后,機器人可能會面臨,在同一句訪客表述前,是應該在該流程繼續執行,還是應該跳轉到另外一個流程。

這個時候你可能會說,如果訪客說到另一個場景/話題,就跳到那個流程;如果是繼續當前的話題,那就應該繼續原有的流程。思路是這樣的沒錯,但是實際情況往往會比我們預想的復雜。對于場景清晰界限明確的流程間,比如“播放音樂”和“訂火車票”這兩種涇渭分明的場景,就很容易處理。但是當出現場景間的界限較為模糊的情況,就較難通過簡單的準則區分。比如在醫療領域“咨詢牙齒種植”和“咨詢補牙”,由于場景相近,訪客描述的內容可能很相近,機器人做意圖識別時,在一些表述上很難做到區分。

所以,我們一般會制定一套跳轉規則。比如,當流程間界限分明/機器人應答策略更希望流程盡量不做跳轉時,設置當前流程執行有限;當流程間界限不太分明/機器人應答策略更希望在不同流程間跳轉時,設置流程跳轉優先。

再次地,這樣的設置是通過人為地制定一套規則,讓機器人可處理不同的業務問題,從而讓機器人對話“智能”。

3. 流程間跳轉限制

多個流程間,有諸多的流程是并列的關系。但是?也有流程間是“父子”關系、“只進不出”關系。

舉個例子,比如流程A和流程B:

  • 在某些情況下,流程B的準入條件,必須是進入了流程A后,滿足一定條件,如訪客說了某個關鍵字,才可進入流程B。這種關系即“父子”關系,A流程是父流程;B流程是子流程。不進入A流程,就不能進入B流程。
  • 在某些情況下,流程A可跳轉到流程B,但是流程B不可跳轉到流程A。常見的情形是,流程A是“無意圖”流程,流程B是有意圖的流程。一般而言,在識別了訪客意圖后,當訪客當前輪次的表述是無意圖,也不會跳轉回“無意圖”流程。

通常,我們會通過流程關系的設置,來確定流程間的跳轉關系和限制。在Google Dialogflow中,Context的概念,就是為了設置流程間的“父子關系”。不僅是流程間的跳轉關系,流程中傳遞的信息(詞槽信息)也會被傳遞/繼承。故稱之為Context語境。

4. 流程問句重復/不重復發送

行業中有一部分場景,是需要把機器人做成“仿真”的。即:讓訪客無感知/較弱感知到與自己對話的是一個機器人。這些情況下,就需要將機器人做擬人化設計。

流程問句的重復/不重復發送設計,是其中很重要的一步。試想,如果在一個對話中(特別是客服等提供業務服務的對話),對方反復發送同一句話,你會不會很容易質疑對方就是一個機器人,很生氣地結束對話,或者要求轉人工?

那么,如何讓機器人避免流程話術重復發送呢?

我們的處理是,在設計流程的問句時,再配置上該問句要收集的信息。通過對上文該信息的識別、獲取、存儲與判斷,來避免下文重復發送相同/類似的問句。比如:

【流程A】機器人問:“您多大年紀呢?”,配置“年齡”的信息

【流程B】機器人問:“您今年幾歲呢?”,配置“年齡”的信息

當上文執行了流程A的上述問題,并獲取保存了訪客的“年齡”信息,則在下文執行流程B時,再次詢問“年齡”的問句將被跳過,不會再觸發。從而實現避免重復發同類問句的目的。

當然,如果機器人是“非仿真”的機器人,則無需做這一重判斷處理。因為用戶對于對話的認知就是在跟機器人對話,無所謂是否重復話術。但是,AI不就是通過智能讓生活更加便捷美好嗎?仿真化對應的智能,勢必會是以后的大趨勢。

5. 流程重復/不重復執行

執行過的流程,當訪客表述又再次滿足其準入的條件時,流程還可以重復執行嗎?

其實這一點和上面一點的思路有點類似。流程重復執行,意味著發過了的問句/話術再次發送一遍。對于“仿真”的機器人來說,一般是需要做避免重復執行的設計。

比如:

  • 流程A中執行到第3輪話術,由于訪客表述跳轉到了流程B
  • 當流程B執行后,又滿足流程A的條件從而回到流程A
  • 那么此時,應該
  • 從流程A的第4輪繼續執行(接著剛才執行到的第3輪)

同樣的,如果是“非仿真”的機器人,可容忍流程重復執行,則無需做此設計。

6. 流程被打斷后恢復/不恢復

當流程發生跳轉的,一般會伴隨流程的打斷??赡艿那樾问?,在原有流程中聊得挺好,訪客突然說了個與該流程不相干的內容,或是另起一個話題,導致跳轉到了另一個流程。

比如:

  • 流程A中執行到第3輪話術,由于訪客表述跳轉到了流程B
  • 當流程B執行完
  • 此時,由于A流程是被打斷的主要場景,訪客更傾向于繼續將A流程話題繼續至結束。故需恢復至A流程并執行完

這種情況一般是在A流程是主要場景/流程的情況下,在A流程中做的設置。而對于那些較為次要的流程,則較無需做“打斷后恢復”的設置。因為有可能其跳轉的是主要的流程,便無需做恢復動作。

7. 信息采集與追問

對話的本質是對話雙方信息的交流。在對話流程進行中,信息的采集尤為重要。信息不僅可作為機器人話術的組成部分、作為訪客信息記錄/傳遞,還可作為條件判斷的來源、第三方接口的傳遞內容。所以信息采集對于對話流程來說很重要。

所以,一般我們在設計流程的問句時,會設置相應的信息采集內容。還是上面的例子:
機器人問:“您多大年紀呢?”,一般會設置“年齡”的信息采集??赏ㄟ^算法的實體識別(NER)技術,獲取訪客表述的年齡信息。

當信息未獲取時,也可通過“信息追問”的方式,追加詢問,以獲取欲獲得的信息。

當然,信息追問也許根據具體場景來設計,設計過多也會讓訪客覺得反感。一般來說,信息追問的話術連續不應超過2次。

8. 流程與知識庫的協作配合

以上說的都是流程內部的設計點。在流程之外,知識庫是機器人另一重要組成部分。知識庫主要進行單輪一問一答的知識答疑。那么流程和知識庫如何協作配合,對于對話來說也是很重要的一環。

一般而言有以下4種策略:

  • 策略1:針對訪客的表述,先進行知識庫答疑,后執行流程話術;
  • 策略2:針對訪客的表述,先進行流程內判斷,若不滿足流程執行的條件則進行知識庫答疑;若滿足流程執行條件則執行流程話術
  • 策略3:只使用知識庫答疑,不執行流程話術
  • 策略4:只執行流程話術,不使用知識庫答疑

四種策略,側重點不同。

  • 策略1,是種綜合的方式,結合了知識庫與流程話術的優點,在較大限度上限制二者的缺點;
  • 策略2,是側重流程話術的方式。知識庫作為流程的補充使用;
  • 策略3,一般適用于問答機器人,業務較為簡單,無需較復雜的對話邏輯處理
  • 策略4,一般適用于強引導型的機器人,可以基本不做訪客的知識答疑

一般根據客戶的實際場景,去設計不同的協作策略。一句話,可達到業務目標即可,沒有優劣之分,只有側重點之分。

三、總結

對話機器人是一個系統,對話設計作為這個系統的“大腦”,需設定不同功能模塊,來處理應對不同的業務場景訪客問題。其中,對話設計中的這8個關鍵要點,是對話設計的核心。做好了這8個關鍵要點的設計,可以說基本上覆蓋了流程設計的避坑要點。

當然,機器人對話設計,還有很多其他的細節點設計,同時需側重考慮與這8個要點之間的關系與協作模式。希望這些要點闡述與總結,對你的設計有幫助。

 

作者:咖喱魚丸,5年PM經驗,2年AI PM經驗

本文由 @咖喱魚蛋egg 原創發布于人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發揮!