完整的語音交互,需要經過這五個環節
本文將從“若琪,幫我設置明天早上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協議
這里寫錯啦?!耙淮瓮暾恼Z音交互,包含:喚醒→ASR→NLP→TTS→Skill的流程?!睉撌?喚醒→ASR→NLP→Skill→TTS
在上海找合作伙伴,金海
正好在做這個 用的就是NLP
哎呀,有幾個小小的錯別字哦~
嗷嗷,下次注意
你的微信加不到呢~我是華為小藝的產品助理
是微信公眾號
您好,問下貴司語音識別是自己研發,還是和語音公司合作的(例如科大訊飛),還有大量繁瑣的語音數據的標注是怎么完成啊
全部自主研發的
標注這一塊有合作機會么
很好奇,負責ASR優化的一般是運營,主要職責是ASR改寫。不懂這部分的運營工作量會大嗎,前期是不是會很大
除了算法常規升級,運營的主要職責是通過ASR改寫解決應急性的badcase。同時也為后面模型的優化提供素材。
寫的很棒,我也是智能音響的產品經理,多交流