完整的語音交互,需要經過這五個環節

13 評論 20523 瀏覽 139 收藏 12 分鐘

本文將從“若琪,幫我設置明天早上8點的鬧鐘”出發,講解智能音箱的工作流程,以及語音交互設計流程,同時也會講解各類型AI產品經理/Ai運營的工作內容和考核指標,Enjoy。

2018年全球智能音箱銷量達到1.2億臺,其中中國市場銷量達到2200萬臺。

隨著智能音箱的興起,語音交互開始崛起,語音是最自然的交互形態之一,有著輸入效率高、門檻低、方便解放雙手以及能有效進行情感交流的優勢。BBC預計2020年語音助手市場規模將達到近100億美金。

如下圖所示,一次完整的語音交互,包含:喚醒→ASR→NLP→TTS→Skill的流程。

一、喚醒

智能音箱有別于智能手機的語音交互,需要先激活音箱,激活的辦法有兩類:

傳統的方式是:通過按鍵激活,例如:錘子的大衛和希瑞音箱,增加了外設的按鈕,可以點擊按鈕激活音箱進行說話。

業界的普遍做法是:通過設置激活詞來喚醒音箱,例如:“天貓精靈”,“小愛同學”,“若琪”。

為什么喚醒詞普遍是4音節,而不是中國人更習慣的3音節或者2音節?

這是因為音節越短,誤喚醒的問題就會越嚴重。

誤喚醒是指:設備被環境音錯誤激活。

誤喚醒的壓制是行業難題,除了模型優化,還有幾種普遍的做法:

第一:云端2次校驗——即將用戶的語音上傳到云端進行2次確認,再決定本地是否響應,但是帶來的弊端就是喚醒響應時間被拉長。

一般設備的喚醒檢測模塊都是放在本地的,這是為了可以快速響應,本地響應可以將響應時間控制在300-700ms之間。如果進行云端2次確認,這個識別降低喚醒的響應時長,會被延長到900ms~1.2S之間,如果網絡環境差,這個時間可能更久。

第二:從產品策略入手,一般白天偶爾的誤喚醒用戶都是可以理解的,或者說習以為常了。但是,如果是晚上睡覺時發生誤喚醒,用戶都是零容忍。

因此,一種做法是壓制晚上的誤喚醒,帶來的問題是晚上喚醒的敏感度也同步降低,但是整體來看還是可以接受的。

喚醒詞還承載了另外一個功能那就是聲紋檢測。業內的普遍做法是基于喚醒詞的校對來判斷用戶身份,當然也有基于用戶指令語句來是別的。

但是,目前業內普遍聲紋識別的準確率不是特別高,當用戶感冒、變音調,聲紋識別就會失效,因此聲紋在智能音箱的應用就非常受限。除了聲紋支付,只能應用于對召回率要求不高的應用場景。

進階知識點:

智能仲裁:當家庭有多臺設備時,同時喚醒最好只有一臺設備應答,這時候需要感知用戶所在空間,以及距離設備的距離,選擇合適的一臺設備做應答并執行后續指令。

算法產品經理職責:

核心的職責是了解當前算法的能力和邊界,提出產品側解決方案去放大算法能力或者規避算法缺陷,例如:設置夜間模式壓制誤喚醒,增加用戶自定義喚醒詞提升用戶側的體驗。

喚醒的衡量指標

喚醒率、誤喚醒率、喚醒響應時長。

而且,會進一步拆分為:安靜環境下、噪音環境下、AEC環境下,用戶端正常喚醒,快讀喚醒,One-shot喚醒,分別去看以上3個指標。

二、ASR

ASR——自動語音識別:用于將聲學語音進行分析,并得到對應的文字或拼音信息。

語音識別系統一般分為:訓練和解碼兩階段。

訓練:通過大量標注的語音數據訓練數學模型,通過大量標注的文本數據訓練語言模型。

市場上主流的聲學訓練模型有:時序連接分類(CTC)和卷積遞歸神經網絡(CRNN)。

解碼:通過聲學和語言模型將語音數據識別成文字。

聲學模型可以理解為是對發生的建模,它能夠把語音輸入轉換成聲學表示的輸入,更準確的說是給出語音屬于某個聲學符號的概率。

語言模型的作用可以簡單理解為消解多音字問題,在聲學模型給出發音序列之后,從候選的文字序列中找出概率最大的字符串序列。

為了提供特定內容的識別率,一般都會提供熱詞服務,配置的熱詞內容實時生效,并且會提升ASR結果的識別權重,在一定程度上提高ASR識別的準確率。

進階知識點:

  • 尋向/聲源定位:一般音箱的設計都是多麥克風,例如:4麥、6麥,呈線性或環形布局。尋向的作用就是判斷用戶方向,然后用用戶方向的麥克風采集語音數據,保證語音的數據是最清晰的。
  • 降噪:當有環境音時,需要對環境音進行消除,提高算法識別準確率。
  • AEC:回音消除,如果當前設備既在使用Player進行播放,同時又使用Mic進行拾音,那MIc就會將自己播放出去的聲音給重拾回來。這時為了避免影響算法識別結果,需要對回音進行消除。
  • VAD:語音端點檢查,使用音頻特征等進行分析,確定人聲的開始和結束時間點。

算法運營崗位職責:

除了算法,負責ASR優化的一般是運營,主要職責是ASR改寫——即當發現線上一些語音總是識別成錯誤的結果時,可以強制將錯誤的結果糾正為正確的,以便在短期滿足用戶訴求。同時糾正的語料也會作為后面算法迭代的素材。

詞錯誤率WER:一般作為語音識別系統中常用的評估標準。

三、NLP

NLP——自然語言處理:用于將用戶的指令轉換為結構化的、機器可以理解的語言。

NLP的工作邏輯是:將用戶的指令進行Domain(領域)→Intent(意圖)→Slot(詞槽)三級拆分。

以“幫我設置一個明天早上8點的鬧鐘”為例:該指令命中的領域是“鬧鐘”,意圖是“新建鬧鐘”,詞槽是“明天8點”。

這樣,就將用戶的意圖拆分成機器可以處理的語言。

算法運營崗位職責:

除了算法,負責ASR優化的一般是運營,主要職責是NLP說法和詞表擴充。

詞錯誤率WER:一般作為語音識別系統中常用的評估標準。

四、TTS

TTS——語音合成:即將從文本轉換成語音,讓機器說話。

TTS業內普遍使用兩種做法:一種是拼接法,一種是參數法。

1. 拼接法

從事先錄制的大量語音中,選擇所需的基本發音單位拼接而成。

優點:語音的自然度很好。

缺點:成本太高,費用成本要上百萬。

2. 參數法

使用統計模型來產生語音參數并轉化成波形。

優點:成本低,一般價格在20萬~60萬不等。

缺點:發音的自然度沒有拼接法好。

但是隨著模型的不斷優化,現在參數法的效果已經非常好了,因此業內使用參數法的越來越多。

五、Skill

Skiil,技能,也即AI時代的APP。

Skill的作用就是:處理NLP界定的用戶意圖,做出符合用戶預期的反饋。

語音skill的設計與產品APP差別很大,筆者經過一段時間的積累,總結了一下原則供參考:

1. 設計原則

原則1:增加回復的多樣性——高頻的指令盡可能增加多的回復TTS語句,避免用戶反復聽到相同的回復。

原則2:重要信息后置——一般語音回復尤其是當用戶在開車的過程中,需要將重要信息放在后面,因為心理學上有個“時近效應”,聽覺刺激往往排在后面的影響力更大。

原則3:合理的簡潔——用戶可感知時簡潔回復,用戶不可感知時完整回復。

假如用戶指令“停止播放”,這時候只需一個提示音或者一個簡答的回復“好的”。

但是,如果用戶的指令是“幫我設置一個明天早上8點的鬧鐘”,回復就需要是完整的,例如:“已幫你設置好明天早上8點的鬧鐘”,否則用戶會沒安全感,不知道你設置的到底對不對,如果不對,那帶來的風險是很大的,所以一定要完整回復。

2. 建立流程

Skill的建立流程如下:

Step1:定義用戶特征及使用場景。

Step2:定義產品人設。

Step3:收集用戶意圖并編寫語義協議,包含Intent、slots的定義。例如建立一個“添加鬧鐘”的意圖,slotes包含“DateTime”,表示的是具體的時間點。

Step4:撰寫TTS文案,也即用戶指令處理之后需要給與用戶適當的反饋,例如:反饋語是“ok,我會再明天早上8點準時叫你起床”。

Step5:業務邏輯設計,例如:當用戶深夜過了12點,說“幫我設置明天12點的鬧鐘”,大概率是想設置今天上午8點的鬧鐘。因此,可以直接設置成今天上午8點的鬧鐘,但是要明確告知用戶。

Step6:開發實現,數據觀察。

3. Skill產品經理職責

  • Skill的設計要完善覆蓋用戶所有的可能意圖和說法,然后給出最恰當的回應。
  • Skill活躍率或者留存率是Skill產品的核心考核目標。

以上。

 

作者:Jason(微信號Smart_Byte),Rokid AI 產品經理,前阿里資深產品經理。

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

題圖來自Unsplash, 基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 這里寫錯啦?!耙淮瓮暾恼Z音交互,包含:喚醒→ASR→NLP→TTS→Skill的流程?!睉撌?喚醒→ASR→NLP→Skill→TTS

    來自廣東 回復
  2. 在上海找合作伙伴,金海

    來自柬埔寨 回復
  3. 正好在做這個 用的就是NLP

    來自浙江 回復
  4. 哎呀,有幾個小小的錯別字哦~

    來自北京 回復
    1. 嗷嗷,下次注意

      來自浙江 回復
  5. 你的微信加不到呢~我是華為小藝的產品助理

    來自香港 回復
    1. 是微信公眾號

      來自浙江 回復
  6. 您好,問下貴司語音識別是自己研發,還是和語音公司合作的(例如科大訊飛),還有大量繁瑣的語音數據的標注是怎么完成啊

    來自湖北 回復
    1. 全部自主研發的

      來自浙江 回復
    2. 標注這一塊有合作機會么

      來自湖北 回復
  7. 很好奇,負責ASR優化的一般是運營,主要職責是ASR改寫。不懂這部分的運營工作量會大嗎,前期是不是會很大

    來自福建 回復
    1. 除了算法常規升級,運營的主要職責是通過ASR改寫解決應急性的badcase。同時也為后面模型的優化提供素材。

      回復
  8. 寫的很棒,我也是智能音響的產品經理,多交流

    回復