完整的語音交互,需要經(jīng)過這五個環(huán)節(jié)
本文將從“若琪,幫我設(shè)置明天早上8點(diǎn)的鬧鐘”出發(fā),講解智能音箱的工作流程,以及語音交互設(shè)計流程,同時也會講解各類型AI產(chǎn)品經(jīng)理/Ai運(yùn)營的工作內(nèi)容和考核指標(biāo),Enjoy。
2018年全球智能音箱銷量達(dá)到1.2億臺,其中中國市場銷量達(dá)到2200萬臺。
隨著智能音箱的興起,語音交互開始崛起,語音是最自然的交互形態(tài)之一,有著輸入效率高、門檻低、方便解放雙手以及能有效進(jìn)行情感交流的優(yōu)勢。BBC預(yù)計2020年語音助手市場規(guī)模將達(dá)到近100億美金。
如下圖所示,一次完整的語音交互,包含:喚醒→ASR→NLP→TTS→Skill的流程。
一、喚醒
智能音箱有別于智能手機(jī)的語音交互,需要先激活音箱,激活的辦法有兩類:
傳統(tǒng)的方式是:通過按鍵激活,例如:錘子的大衛(wèi)和希瑞音箱,增加了外設(shè)的按鈕,可以點(diǎn)擊按鈕激活音箱進(jìn)行說話。
業(yè)界的普遍做法是:通過設(shè)置激活詞來喚醒音箱,例如:“天貓精靈”,“小愛同學(xué)”,“若琪”。
為什么喚醒詞普遍是4音節(jié),而不是中國人更習(xí)慣的3音節(jié)或者2音節(jié)?
這是因為音節(jié)越短,誤喚醒的問題就會越嚴(yán)重。
誤喚醒是指:設(shè)備被環(huán)境音錯誤激活。
誤喚醒的壓制是行業(yè)難題,除了模型優(yōu)化,還有幾種普遍的做法:
第一:云端2次校驗——即將用戶的語音上傳到云端進(jìn)行2次確認(rèn),再決定本地是否響應(yīng),但是帶來的弊端就是喚醒響應(yīng)時間被拉長。
一般設(shè)備的喚醒檢測模塊都是放在本地的,這是為了可以快速響應(yīng),本地響應(yīng)可以將響應(yīng)時間控制在300-700ms之間。如果進(jìn)行云端2次確認(rèn),這個識別降低喚醒的響應(yīng)時長,會被延長到900ms~1.2S之間,如果網(wǎng)絡(luò)環(huán)境差,這個時間可能更久。
第二:從產(chǎn)品策略入手,一般白天偶爾的誤喚醒用戶都是可以理解的,或者說習(xí)以為常了。但是,如果是晚上睡覺時發(fā)生誤喚醒,用戶都是零容忍。
因此,一種做法是壓制晚上的誤喚醒,帶來的問題是晚上喚醒的敏感度也同步降低,但是整體來看還是可以接受的。
喚醒詞還承載了另外一個功能那就是聲紋檢測。業(yè)內(nèi)的普遍做法是基于喚醒詞的校對來判斷用戶身份,當(dāng)然也有基于用戶指令語句來是別的。
但是,目前業(yè)內(nèi)普遍聲紋識別的準(zhǔn)確率不是特別高,當(dāng)用戶感冒、變音調(diào),聲紋識別就會失效,因此聲紋在智能音箱的應(yīng)用就非常受限。除了聲紋支付,只能應(yīng)用于對召回率要求不高的應(yīng)用場景。
進(jìn)階知識點(diǎn):
智能仲裁:當(dāng)家庭有多臺設(shè)備時,同時喚醒最好只有一臺設(shè)備應(yīng)答,這時候需要感知用戶所在空間,以及距離設(shè)備的距離,選擇合適的一臺設(shè)備做應(yīng)答并執(zhí)行后續(xù)指令。
算法產(chǎn)品經(jīng)理職責(zé):
核心的職責(zé)是了解當(dāng)前算法的能力和邊界,提出產(chǎn)品側(cè)解決方案去放大算法能力或者規(guī)避算法缺陷,例如:設(shè)置夜間模式壓制誤喚醒,增加用戶自定義喚醒詞提升用戶側(cè)的體驗。
喚醒的衡量指標(biāo):
喚醒率、誤喚醒率、喚醒響應(yīng)時長。
而且,會進(jìn)一步拆分為:安靜環(huán)境下、噪音環(huán)境下、AEC環(huán)境下,用戶端正常喚醒,快讀喚醒,One-shot喚醒,分別去看以上3個指標(biāo)。
二、ASR
ASR——自動語音識別:用于將聲學(xué)語音進(jìn)行分析,并得到對應(yīng)的文字或拼音信息。
語音識別系統(tǒng)一般分為:訓(xùn)練和解碼兩階段。
訓(xùn)練:通過大量標(biāo)注的語音數(shù)據(jù)訓(xùn)練數(shù)學(xué)模型,通過大量標(biāo)注的文本數(shù)據(jù)訓(xùn)練語言模型。
市場上主流的聲學(xué)訓(xùn)練模型有:時序連接分類(CTC)和卷積遞歸神經(jīng)網(wǎng)絡(luò)(CRNN)。
解碼:通過聲學(xué)和語言模型將語音數(shù)據(jù)識別成文字。
聲學(xué)模型可以理解為是對發(fā)生的建模,它能夠把語音輸入轉(zhuǎn)換成聲學(xué)表示的輸入,更準(zhǔn)確的說是給出語音屬于某個聲學(xué)符號的概率。
語言模型的作用可以簡單理解為消解多音字問題,在聲學(xué)模型給出發(fā)音序列之后,從候選的文字序列中找出概率最大的字符串序列。
為了提供特定內(nèi)容的識別率,一般都會提供熱詞服務(wù),配置的熱詞內(nèi)容實(shí)時生效,并且會提升ASR結(jié)果的識別權(quán)重,在一定程度上提高ASR識別的準(zhǔn)確率。
進(jìn)階知識點(diǎn):
- 尋向/聲源定位:一般音箱的設(shè)計都是多麥克風(fēng),例如:4麥、6麥,呈線性或環(huán)形布局。尋向的作用就是判斷用戶方向,然后用用戶方向的麥克風(fēng)采集語音數(shù)據(jù),保證語音的數(shù)據(jù)是最清晰的。
- 降噪:當(dāng)有環(huán)境音時,需要對環(huán)境音進(jìn)行消除,提高算法識別準(zhǔn)確率。
- AEC:回音消除,如果當(dāng)前設(shè)備既在使用Player進(jìn)行播放,同時又使用Mic進(jìn)行拾音,那MIc就會將自己播放出去的聲音給重拾回來。這時為了避免影響算法識別結(jié)果,需要對回音進(jìn)行消除。
- VAD:語音端點(diǎn)檢查,使用音頻特征等進(jìn)行分析,確定人聲的開始和結(jié)束時間點(diǎn)。
算法運(yùn)營崗位職責(zé):
除了算法,負(fù)責(zé)ASR優(yōu)化的一般是運(yùn)營,主要職責(zé)是ASR改寫——即當(dāng)發(fā)現(xiàn)線上一些語音總是識別成錯誤的結(jié)果時,可以強(qiáng)制將錯誤的結(jié)果糾正為正確的,以便在短期滿足用戶訴求。同時糾正的語料也會作為后面算法迭代的素材。
詞錯誤率WER:一般作為語音識別系統(tǒng)中常用的評估標(biāo)準(zhǔn)。
三、NLP
NLP——自然語言處理:用于將用戶的指令轉(zhuǎn)換為結(jié)構(gòu)化的、機(jī)器可以理解的語言。
NLP的工作邏輯是:將用戶的指令進(jìn)行Domain(領(lǐng)域)→Intent(意圖)→Slot(詞槽)三級拆分。
以“幫我設(shè)置一個明天早上8點(diǎn)的鬧鐘”為例:該指令命中的領(lǐng)域是“鬧鐘”,意圖是“新建鬧鐘”,詞槽是“明天8點(diǎn)”。
這樣,就將用戶的意圖拆分成機(jī)器可以處理的語言。
算法運(yùn)營崗位職責(zé):
除了算法,負(fù)責(zé)ASR優(yōu)化的一般是運(yùn)營,主要職責(zé)是NLP說法和詞表擴(kuò)充。
詞錯誤率WER:一般作為語音識別系統(tǒng)中常用的評估標(biāo)準(zhǔn)。
四、TTS
TTS——語音合成:即將從文本轉(zhuǎn)換成語音,讓機(jī)器說話。
TTS業(yè)內(nèi)普遍使用兩種做法:一種是拼接法,一種是參數(shù)法。
1. 拼接法
從事先錄制的大量語音中,選擇所需的基本發(fā)音單位拼接而成。
優(yōu)點(diǎn):語音的自然度很好。
缺點(diǎn):成本太高,費(fèi)用成本要上百萬。
2. 參數(shù)法
使用統(tǒng)計模型來產(chǎn)生語音參數(shù)并轉(zhuǎn)化成波形。
優(yōu)點(diǎn):成本低,一般價格在20萬~60萬不等。
缺點(diǎn):發(fā)音的自然度沒有拼接法好。
但是隨著模型的不斷優(yōu)化,現(xiàn)在參數(shù)法的效果已經(jīng)非常好了,因此業(yè)內(nèi)使用參數(shù)法的越來越多。
五、Skill
Skiil,技能,也即AI時代的APP。
Skill的作用就是:處理NLP界定的用戶意圖,做出符合用戶預(yù)期的反饋。
語音skill的設(shè)計與產(chǎn)品APP差別很大,筆者經(jīng)過一段時間的積累,總結(jié)了一下原則供參考:
1. 設(shè)計原則
原則1:增加回復(fù)的多樣性——高頻的指令盡可能增加多的回復(fù)TTS語句,避免用戶反復(fù)聽到相同的回復(fù)。
原則2:重要信息后置——一般語音回復(fù)尤其是當(dāng)用戶在開車的過程中,需要將重要信息放在后面,因為心理學(xué)上有個“時近效應(yīng)”,聽覺刺激往往排在后面的影響力更大。
原則3:合理的簡潔——用戶可感知時簡潔回復(fù),用戶不可感知時完整回復(fù)。
假如用戶指令“停止播放”,這時候只需一個提示音或者一個簡答的回復(fù)“好的”。
但是,如果用戶的指令是“幫我設(shè)置一個明天早上8點(diǎn)的鬧鐘”,回復(fù)就需要是完整的,例如:“已幫你設(shè)置好明天早上8點(diǎn)的鬧鐘”,否則用戶會沒安全感,不知道你設(shè)置的到底對不對,如果不對,那帶來的風(fēng)險是很大的,所以一定要完整回復(fù)。
2. 建立流程
Skill的建立流程如下:
Step1:定義用戶特征及使用場景。
Step2:定義產(chǎn)品人設(shè)。
Step3:收集用戶意圖并編寫語義協(xié)議,包含Intent、slots的定義。例如建立一個“添加鬧鐘”的意圖,slotes包含“DateTime”,表示的是具體的時間點(diǎn)。
Step4:撰寫TTS文案,也即用戶指令處理之后需要給與用戶適當(dāng)?shù)姆答?,例如:反饋語是“ok,我會再明天早上8點(diǎn)準(zhǔn)時叫你起床”。
Step5:業(yè)務(wù)邏輯設(shè)計,例如:當(dāng)用戶深夜過了12點(diǎn),說“幫我設(shè)置明天12點(diǎn)的鬧鐘”,大概率是想設(shè)置今天上午8點(diǎn)的鬧鐘。因此,可以直接設(shè)置成今天上午8點(diǎn)的鬧鐘,但是要明確告知用戶。
Step6:開發(fā)實(shí)現(xiàn),數(shù)據(jù)觀察。
3. Skill產(chǎn)品經(jīng)理職責(zé)
- Skill的設(shè)計要完善覆蓋用戶所有的可能意圖和說法,然后給出最恰當(dāng)?shù)幕貞?yīng)。
- Skill活躍率或者留存率是Skill產(chǎn)品的核心考核目標(biāo)。
以上。
作者:Jason(微信號Smart_Byte),Rokid AI 產(chǎn)品經(jīng)理,前阿里資深產(chǎn)品經(jīng)理。
本文由 @Jason 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash, 基于CC0協(xié)議
這里寫錯啦?!耙淮瓮暾恼Z音交互,包含:喚醒→ASR→NLP→TTS→Skill的流程?!睉?yīng)該是 喚醒→ASR→NLP→Skill→TTS
在上海找合作伙伴,金海
正好在做這個 用的就是NLP
哎呀,有幾個小小的錯別字哦~
嗷嗷,下次注意
你的微信加不到呢~我是華為小藝的產(chǎn)品助理
是微信公眾號
您好,問下貴司語音識別是自己研發(fā),還是和語音公司合作的(例如科大訊飛),還有大量繁瑣的語音數(shù)據(jù)的標(biāo)注是怎么完成啊
全部自主研發(fā)的
標(biāo)注這一塊有合作機(jī)會么
很好奇,負(fù)責(zé)ASR優(yōu)化的一般是運(yùn)營,主要職責(zé)是ASR改寫。不懂這部分的運(yùn)營工作量會大嗎,前期是不是會很大
除了算法常規(guī)升級,運(yùn)營的主要職責(zé)是通過ASR改寫解決應(yīng)急性的badcase。同時也為后面模型的優(yōu)化提供素材。
寫的很棒,我也是智能音響的產(chǎn)品經(jīng)理,多交流