語音對話系統的設計要點與多輪對話的重要性

8 評論 11516 瀏覽 65 收藏 13 分鐘

當今,ASR與TTS技術相對來將已經成熟,自然語言的表示和理解已經取得了很大的進展,在行業的競爭壁壘中也逐步削弱,未來智能對話機器人的核心競爭力在于理解了用戶的意圖之后所提供的差異化服務。

就從最近短視頻平臺的大媽與機器人快寶的聊天說起吧。

001.jpg

某銀行內,一位阿姨因等待辦理業務的時間太長,與快寶機器人展開了一場來自靈魂的對話。對于銀行工作人員的不滿,大媽向快寶說道:“你們的工作人員在里面哄孩子,怎么不出來辦業務?”

快寶答:“我們柜臺里的哥哥姐姐也在很努力的辦業務呢?!甭牭竭@個回答,阿姨試圖將快寶的身體轉向柜臺方向,說:“你往里瞅瞅,是不是在哄孩子?”快寶嚶嚶嚶的好委屈:“你不要觸碰我了,跟我說話就可以了”。

“快寶”說話的語速和聲音非常清晰,邏輯性連貫,跟普通人說話的方式簡直一模一樣,比蘋果的 SIRI強太多,有網友甚至懷疑快寶“背后”是專門的人通過攝像頭在和人對話。

隨著人工智能相關技術的更新迭代,如今,ASR與TTS技術相對來將已經成熟,自然語言的表示和理解已經取得了很大的進展,在行業的競爭壁壘中也逐步削弱,未來智能對話機器人的核心競爭力在于理解了用戶的意圖之后所提供的差異化服務。

下面我就在產品角度聊聊語音對話機器人的相關知識點,希望帶給各位一些思考。

一、智能語音對話系統的組成

智能語音對話系統大致可分為五個基本模塊:語音識別(ASR)、自然語音理解(NLU)、對話管理(DM)、自然語言生成(NLG)、語音合成(TTS)。

002.jpg

語音識別將語音轉化文字,讓機器讀取用戶再說什么,自然語言理解是理解用戶說的話是什么意思,分析用戶說話的意圖,和對用戶語言中核心詞槽的解析。

而對話管理(Dialog Management,DM)就是人機對話中的CPU,控制著整個人機對話的過程。

對話管理的任務主要有下四點:

  1. 對話狀態維護(dialog state tracing,DST)
  2. 生成系統決策(dialog policy)
  3. 作為接口與后端/任務模型進行交互
  4. 提供語義表達的期望值(expections for interpretation)

由對話管理分析出用戶的意圖之后并做出相關行為,自然語言生成對用戶任務的處理結果以文字形式生成,然后語音合成將此結果合成為語音說出來。就形成了人機對話的整個過程。

二、人機對話的分類

個人將常見的人機對話分為日常撩撥型和任務驅動型。

最常見的就是任務驅動的多輪對話,用戶是帶著明確的目的如訂餐、訂票、叫車等比較復雜的需求來,而這中間有很多限制條件,用戶并不能一次將任務所需的關鍵信息一次性說完、說清楚,因此就要分多輪進行QA問答。

一方面,用戶在對話過程中,可以不斷修正和完善自己的需求;另一方方面,當用戶在陳述需求不夠具體和明確時,機器人可以通過詢問、澄清和確認來幫助用戶尋找滿意的結果,并且在任務的驅動下與用戶完成日常的交互,以此不斷完善對于用戶需求的滿足。

而日常撩撥型對話中的關鍵,是要根據用戶喚醒機器人時和喚醒之后第一句話的日期時間和語氣來判斷用戶當前的情緒,比如:周五晚上9點下班回家,而喚醒時語氣中帶著些許匹配疲憊與不開心,此時就需要機器人的安慰和鼓勵,以此滿足用戶的情感需求。

當用戶心情愉悅時,對話中還可以偶爾“皮一下”,對話中一定要有讓用戶驚艷的句子和當下比較流行的詞語,有趣和好玩是日常撩撥對話中的剛需,而這需要訓練師不斷更新語料庫,以此來持續性對智能語音設備的依戀。

003.png

三、對話管理的重要性

對話管理對于多輪對話又異常重要,因為單詞對話每次聊天都需要用戶去喚醒語音對話機器人,用戶必須每次將需求完成的說出,否則幾次對話下來用戶將會產生煩躁的情緒,語音對話機器人將會變得雞肋。

下面我們來分解下對話管理的大致任務:

1. 對話狀態維護(DST)

維護和更新對話狀態,t+1時刻的對話狀態St+1,依賴于前一時刻t的對話狀態St,和之前時刻t的系統行為at,以及當前時刻t+1對應的用戶行為Ot+1。

因此整個依賴關系就是:

010.png

2. 生成系統決策(dialog policy)

根據DST中的對話狀態,產生系統行為,決定下一步做什么可以監測到用戶的輸入,就是NLU的過程,以及系統對于NLU的反饋行為,就是NLG。

3. 作為接口與后端/任務模型進行交互

作為應用程序接口與服務器端或任務模型進行請求交互,獲取反饋結果,生成文字結果。

4. 提供語義表達的期望值

根據用戶輸入的表達,包括語言表達和語義解析,做出滿足用戶期望的語義表達,滿足用戶需求。

多輪對話中為了清晰明確的理解用戶的意圖和需求,將對話建模過程中缺少的信息形成一個填槽的過程,槽就是多輪對話當中將初步用戶意圖轉化為明確用戶指令所需要補全的信息。一個槽與任務處理中所需要獲取的一種信息相對應。槽沒有順序,缺什么槽就向用戶詢問什么信息。

基于框架式的對話管理(Frame-based DM)需要如下要點:

  1. 框架:槽位的集合,定義了需要由用戶提供哪些信息;
  2. 對話狀態:記錄了哪些槽位已經被填充,那些槽位待填充;
  3. 行為選擇:下一步該向用戶詢問哪些信息,填充哪些槽位,進行何種操作,對哪些槽位進行加權填充。

基于框架的系統本質上是一個生成系統,不同類型的輸入觸發不同的生成規則,每個生成靈活的填入相應的模板,這些模型的和框架的設計只為在滿足用戶需求的前提下,盡快的完成必要信息的獲取。

5. 語音對話系統的設計要點

設計語音對話系統需要注意的5個要點:

行為模式的設計、交互過程的設計、知識結構的設計、人格情緒的設計、熟悉過程的設計,我們又可以將這5中設計要點進行情景細分:

004.png

在整體架構設計當中,加入這些細分情景的收集,透過用戶與機器對話的行為細分模式,包括知識結構和人格情緒的收集,來出一個虛擬人格。此模式就相當于某寶或某東商城根據用戶的點擊、搜索和瀏覽行為結合大數據生成的千人千面,通過語音交互的使用過程,了解用戶習慣進而達到更好的體驗。

語音對話體驗可分為三個方向:聲音形象、對話交互模式和對話內容,它們分別對應GUI時代的品牌設計、交互設計、服務設計,產品經理需要把握好機器人與人的平衡點,不要過度人性化,以免某些點不能滿足用戶的過渡預期,而產生的失望。

人類的大腦依賴所學的知識進行思考、邏輯推理和語言理解。而機器人則是依賴數據的訓練,互聯網時代積累的大量的數據能為訓練機器人提供的強有力的保障。

對話機器人以數據為基礎,利用深度學習模型和算法,對人類世界進行感知、識別和判斷,并通過知識圖譜對人類的知識進行梳理、整合、推理,變成有智慧的AI。

005.png

四、對話機器人所面臨的問題

人的復雜性(complex)、隨機性(random)、和非理性化(illogica)的特點導致人機對話在應用場景下面臨者各種各樣的問題,包括但不限于如下問題:

  1. 模型描述能力與業務復雜度的權衡。
  2. 用戶對話偏離業務涉及的路徑及邊界;如:系統問用戶導航的目的地時,用戶反問了一句某地天氣情況。
  3. 多輪對話的容錯性;如:3輪對話的場景,用戶已經完成2輪,第3輪由于ASR或NLU錯誤,導致前功盡棄,如此用戶體驗就非常差。
  4. 多場景的的切換和回復。
  5. 降低交互變更難度,適應業務迅速變化。
  6. 跨場景信息繼承。

五、結束語

未來對話機器人除了被動回復用戶的請求外,主動預測用戶需求并提供即時方案成為必然的發展方向,當用戶沒有給出明確的需求情況下,提醒即將發生的事件或推薦有用的服務,人們會逐漸依靠他們來管理自己的工作生活,提高生活效率及幸福感。

對話機器人的目標不一定是解決用戶面臨的所有問題,而是成為用戶的虛擬助理。通過與用戶建立情感鏈接,理解用戶,長期范圍內幫助他們,與用戶建立多種形式的交流,包括文本、語音和圖像以及視頻功能。

 

作者:阿拉丁大神燈(簡書ID:阿拉丁大神燈)歡迎交流。

本文由 @阿拉丁大神燈 授權發布于人人都是產品經理,未經作者許可,禁止轉載。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 感謝作者的分享,文中圖片看不了哎,求分享 ?

    來自浙江 回復
  2. 我也在做這塊,對話機器人,感覺很多東西還是不清晰

    來自江蘇 回復
  3. 文章寫得很好,邏輯清晰。對于具體概念的解釋也很到位。
    “智能語音對話系統大致可分為五個基本模塊:語音識別(ASR)、自然語音理解(NLU)、對話管理(DM)、自然語言生成(NLG)、語音合成(TTS)?!边@個模塊概括的很到位,對于像我這樣的剛剛接觸智能語音的PM有很大的幫助,可以幫助我們更好的理解產品的底層邏輯。如果作者方便的話,希望有更多的交流。本人微信:alizhangquan

    來自北京 回復
  4. 作者對語音對話還是有很系統性認知的,如果能更好的把用戶畫像描繪出來,智能音箱就有了更多的想象空間。希望與作者有更多交流,本人微信:17600186726

    來自北京 回復
    1. 已加。

      回復
  5. 666

    來自北京 回復
  6. 很有幫助,多謝!

    來自廣東 回復
    1. 你的鼓勵,我的動力 ??

      來自北京 回復