1. 程式人生 > >語音對話系統的設計要點與多輪對話的重要性

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

引導關注.jpeg


這是阿拉燈神丁Vicky的第 008 篇文章


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


001.jpg

        

     某銀行內,一位阿姨因等待辦理業務的時間太長,與快寶機器人展開了一場來自靈魂的對話。對於銀行工作人員的不滿,大媽向快寶說道:“你們的工作人員在裡面哄孩子,怎麼不出來辦業務?”;快寶答:“我們櫃檯裡的哥哥姐姐也在很努力的辦業務呢。”聽到這個回答,阿姨試圖將快寶的身體轉向櫃檯方向,說:“你往裡瞅瞅,是不是在哄孩子?”快寶嚶嚶嚶的好委屈:“你不要觸碰我了,跟我說話就可以了”.


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


      隨著人工智慧相關技術的更新迭代,如今,ASR與TTS技術相對來將已經成熟,自然語言的表示和理解已經取得了很大的進展,在行業的競爭壁壘中也逐步削弱,未來智慧對話機器人的核心競爭力在於理解了使用者的意圖之後所提供的差異化服務。下面我就在產品角度聊聊語音對話機器人的喜相關知識點,希望帶給各位一些思考。


1、智慧語音對話系統的組成


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


002.jpg

        

      語音識別將語音轉化文字,讓機器讀取使用者再說什麼,自然語言理解是理解使用者說的話是什麼意思,分析使用者說話的意圖,和對使用者語言中核心詞槽的解析。而對話管理(Dialog Management,DM)就是人機對話中的CPU,控制著整個人機對話的過程。對話管理的任務主要有下四點,對話狀態維護(dialog state tracing,DST)、生成系統決策(dialog policy)、作為介面與後端/任務模型進行互動、提供語義表達的期望值(expections for interpretation)。由對話管理分析出使用者的意圖之後並做出相關行為,自然語言生成對使用者任務的處理結果以文字形式生成,然後語音合成將此結果合成為語音說出來。就形成了人機對話的整個過程。


2、人機對話的分類


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


      最常見的就是任務驅動的多輪對話,使用者是帶著明確的目的如訂餐、訂票、叫車等比較複雜的需求來,而這中間有很多限制條件,使用者並不能一次將任務所需的關鍵資訊一次性說完、說清楚,因此就要分多輪進行QA問答。一方面,使用者在對話過程中,可以不斷修正和完善自己的需求;另一方方面,當用戶在陳述需求不夠具體和明確時,機器人可以通過詢問、澄清和確認來幫助使用者尋找滿意的結果,並且在任務的驅動下與使用者完成日常的互動,以此不斷完善對於使用者需求的滿足。


      而日常撩撥型對話中的關鍵,是要根據使用者喚醒機器人時和喚醒之後第一句話的日期時間和語氣來判斷使用者當前的情緒,比如:週五晚上9點下班回家,而喚醒時語氣中帶著些許匹配疲憊與不開心,此時就需要機器人的安慰和鼓勵,以此滿足使用者的情感需求。當用戶心情愉悅時,對話中還可以偶爾“皮一下”,對話中一定要有讓使用者驚豔的句子和當下比較流行的詞語,有趣和好玩是日常撩撥對話中的剛需,而這需要訓練師不斷更新語料庫,以此來持續性對智慧語音裝置的依戀。


003.png


3、對話管理的重要性


      對話管理對於多輪對話又異常重要,因為單詞對話每次聊天都需要使用者去喚醒語音對話機器人,使用者必須每次將需求完成的說出,否則幾次對話下來使用者將會產生煩躁的情緒,語音對話機器人將會變得雞肋。下面我們來分解下對話管理的大致任務:


1、對話狀態維護(DST)

      維護和更新對話狀態,t+1時刻的對話狀態006.png,依賴於前一時刻t的對話狀態007.png,和之前時刻t的系統行為008.png,以及當前時刻t+1對應的使用者行為009.png。因此整個依賴關係就是010.png


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

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


3、作為介面與後端/任務模型進行互動。

      作為應用程式介面與伺服器端或任務模型進行請求互動,獲取反饋結果,生成文字結果。


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

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

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


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


    1、框架:槽位的集合,定義了需要由使用者提供哪些資訊;

    2、對話狀態:記錄了哪些槽位已經被填充,那些槽位待填充;

    3、行為選擇:下一步該向使用者詢問哪些資訊,填充哪些槽位,進行何種操作,對哪些槽位進行加權填充。


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


4、語音對話系統的設計要點


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

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


004.png

    

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


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

    

     人類的大腦依賴所學的知識進行思考、邏輯推理和語言理解。而機器人則是依賴資料的訓練,網際網路時代積累的大量的資料能為訓練機器人提供的強有力的保障,對話機器人以資料為基礎,利用深度學習模型和演算法,對人類世界進行感知、識別和判斷,並通過知識圖譜對人類的知識進行梳理、整合、推理,變成有智慧的AI。


005.png


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


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

    1、模型描述能力與業務複雜度的權衡;

    2、使用者對話偏離業務涉及的路徑及邊界;

          (如:系統問使用者導航的目的地時,使用者反問了一句某地天氣情況)

    3、多輪對話的容錯性;

          (如:3輪對話的場景,使用者已經完成2輪,第3輪由於ASR或NLU錯誤,導致前功盡棄,如此使用者體驗就非常差。)

    4、多場景的的切換和回覆;

    5、降低互動變更難度,適應業務迅速變化;

    6、跨場景資訊繼承。


6、結束語


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


      對話機器人的目標不一定是解決使用者面臨的所有問題,而是成為使用者的虛擬助理。通過與使用者建立情感連結,理解使用者,長期範圍內幫助他們,與使用者建立多種形式的交流,包括文字、語音和影象以及視訊功能。

        

        011.jpeg