一段聲音的旅程(九)語(yǔ)音的時(shí)間與體驗(yàn)(上篇)

作者:秋半仙,哼哼


童鞋們好,前文我們花大篇幅聊了語(yǔ)音的喚醒與識(shí)別,今天我們另起一個(gè)話題,聊一聊語(yǔ)音的時(shí)間與體驗(yàn)。由于篇幅比較長(zhǎng),這個(gè)話題我們會(huì)分兩期來(lái)聊,今天先聊聊語(yǔ)音的時(shí)間與體驗(yàn)(上篇)。

我個(gè)人認(rèn)為,語(yǔ)音產(chǎn)品和其他產(chǎn)品最大的區(qū)別,在于更加強(qiáng)調(diào)了時(shí)間維度。我們不僅要站在三維空間中去思考產(chǎn)品的表現(xiàn),還需要在時(shí)間維度上去思考產(chǎn)品的邏輯。這些邏輯是根據(jù)時(shí)間的演變?cè)诓粩喟l(fā)生變化的,所以很難用“圖”這種“時(shí)刻態(tài)”的表現(xiàn)形式呈現(xiàn)出來(lái)。做語(yǔ)音產(chǎn)品和語(yǔ)音交互的童鞋,請(qǐng)務(wù)必對(duì)“時(shí)間”保持足夠的敏感度。“時(shí)間”對(duì)人的心理變化影響是非常大的,想做好語(yǔ)音產(chǎn)品的細(xì)節(jié),千萬(wàn)不要忽略“時(shí)間”這把雙刃劍~

Δ?圖片來(lái)自網(wǎng)絡(luò)

“語(yǔ)音識(shí)別”里對(duì)于“時(shí)間”的運(yùn)用是非常多的,其中有一個(gè)知識(shí)點(diǎn),叫“實(shí)時(shí)率”(或“RTF”)。實(shí)時(shí)率是用來(lái)表述當(dāng)前的能力是否能做到實(shí)時(shí),換句話說(shuō),就是一段聲音的時(shí)間和處理它所需要的時(shí)間的比值。比如,10秒的音頻,語(yǔ)音識(shí)別只需要1秒就能處理完畢,那么,實(shí)時(shí)率就是0.1;反之,1秒的音頻需要10秒來(lái)處理,實(shí)時(shí)率就是10。實(shí)時(shí)率小于等于1時(shí),我們都可以稱之為是“實(shí)時(shí)”的?,F(xiàn)在所有語(yǔ)音企業(yè)的語(yǔ)音能力,都能做到實(shí)時(shí)率小于1,而我們關(guān)注這個(gè)點(diǎn)的原因在于它的依賴因素——硬件能力。在不同的硬件能力下,運(yùn)算耗時(shí)是不同的,因此這個(gè)值就不好說(shuō)了。如果你的目標(biāo)硬件是一個(gè)很磕磣的配置,比如不支持浮點(diǎn)運(yùn)算,那建議要評(píng)估一下在目標(biāo)硬件上的這個(gè)值。如果這個(gè)值已經(jīng)很接近1了,那要小心了,可能產(chǎn)品體驗(yàn)的“慢”會(huì)遠(yuǎn)比你想象的要慢很多(這里主要針對(duì)在無(wú)網(wǎng)絡(luò)環(huán)境下,依然對(duì)語(yǔ)音識(shí)別有強(qiáng)需求的語(yǔ)音產(chǎn)品)。

另一個(gè)和時(shí)間有關(guān)的重要知識(shí)點(diǎn),叫“語(yǔ)音端點(diǎn)檢測(cè)”(或“VAD”),顧名思義,就是用來(lái)檢測(cè)“語(yǔ)音端點(diǎn)”。我們這里主要涉及到的語(yǔ)音端點(diǎn),是一段聲音的起始端點(diǎn)和結(jié)束端點(diǎn),簡(jiǎn)稱“前端點(diǎn)”和“后端點(diǎn)”。“前端點(diǎn)”是標(biāo)明用戶開始說(shuō)話的節(jié)點(diǎn),“后端點(diǎn)”是標(biāo)明用戶結(jié)束說(shuō)話的節(jié)點(diǎn)。它們組合在一起,將“語(yǔ)音識(shí)別”需要處理的目標(biāo)音頻切割出來(lái),待語(yǔ)音識(shí)別處理完成之后,進(jìn)入下一個(gè)大環(huán)節(jié)“自然語(yǔ)言處理”。

聽起來(lái)是不是很簡(jiǎn)單?仔細(xì)回憶一下,童鞋們肯定也遇到過(guò)這樣的對(duì)話場(chǎng)景:你和一個(gè)人對(duì)話,你通常會(huì)在等他把話說(shuō)完之后,你才說(shuō)話。當(dāng)你以為他已經(jīng)說(shuō)完了,你剛要發(fā)聲,結(jié)果發(fā)現(xiàn)他又接茬繼續(xù)說(shuō)了,你只好把自己的話再硬生生憋回去……

Δ?圖片來(lái)自網(wǎng)絡(luò)

這個(gè)場(chǎng)景的關(guān)鍵狀態(tài),就是“說(shuō)完了”如何界定。因?yàn)檫@一點(diǎn)對(duì)體驗(yàn)的影響很大,這里我多說(shuō)一些。其實(shí)要通過(guò)VAD技術(shù)是很難準(zhǔn)確判斷“說(shuō)完了”這個(gè)行為的。VAD既然叫端點(diǎn)檢測(cè),自然是負(fù)責(zé)檢測(cè)端點(diǎn)用的,其原理是通過(guò)判斷一個(gè)區(qū)間時(shí)間內(nèi)的音頻是有效語(yǔ)音,還是無(wú)效語(yǔ)音。通過(guò)反復(fù)監(jiān)測(cè),根據(jù)“有效”和“無(wú)效”的變化,就可以來(lái)界定有效音頻的“開始”(從“無(wú)效”變“有效”)和“結(jié)束”(從“有效”變“無(wú)效”,并維持“無(wú)效”一段時(shí)間),從而實(shí)現(xiàn)把“目標(biāo)音頻切割出來(lái)”的效果。從這段描述中,我們需要看清技術(shù)原理中的關(guān)鍵點(diǎn),即判定“說(shuō)完了”的關(guān)鍵在于“一段時(shí)間內(nèi)”是“無(wú)效語(yǔ)音”的。

這里本半仙再給各位童鞋開個(gè)小灶補(bǔ)充個(gè)小知識(shí)點(diǎn)。“一段時(shí)間”一旦結(jié)束,我們稱這個(gè)結(jié)束的時(shí)刻為“Time Out”,即“超時(shí)”。我們一般把判斷后端點(diǎn)的這個(gè)時(shí)長(zhǎng),叫做“后端點(diǎn)VAD的Timeout時(shí)長(zhǎng)”。如果不提“前端點(diǎn)”和“后端點(diǎn)”,一般我們?nèi)粘L峒暗摹癡AD的Timeout時(shí)長(zhǎng)”都是指后端點(diǎn)。大家要清楚這些,平時(shí)溝(zhuang)通(bi)的時(shí)候會(huì)用到~

Δ?圖片來(lái)自網(wǎng)絡(luò)

產(chǎn)品思考的問(wèn)題是“用戶需要什么”,那我們就來(lái)看實(shí)際生活是怎樣的。以導(dǎo)航領(lǐng)域來(lái)舉例,比如你向語(yǔ)音設(shè)備說(shuō)“導(dǎo)航到徐家匯”然后停頓,這個(gè)地方有一個(gè)比較短的時(shí)間“無(wú)效”就能決定“說(shuō)完了”。我假設(shè)這個(gè)時(shí)間是500ms,如果說(shuō)“導(dǎo)航到…”這個(gè)時(shí)候停頓了,想了一秒之后,說(shuō)“徐家匯”,這個(gè)時(shí)候,500ms的判定就顯得有些倉(cāng)促了,就有可能出現(xiàn)語(yǔ)音設(shè)備要插話結(jié)果發(fā)現(xiàn)你還沒說(shuō)完的情況。人在猶豫和思考的時(shí)候是需要時(shí)間的,所以這種情況語(yǔ)音設(shè)備就需要等更多的時(shí)間再給反饋。綜上可知,我們需要一個(gè)可以根據(jù)具體情況來(lái)動(dòng)態(tài)調(diào)整后端點(diǎn)vad時(shí)長(zhǎng)的技術(shù),根據(jù)不同的情況,可自適應(yīng)調(diào)整“短”、“長(zhǎng)”甚至“更長(zhǎng)”的等待時(shí)間。

秋半仙溫馨提示:

這里岔一個(gè)題外話,請(qǐng)做產(chǎn)品的童鞋們特別注意。我以前看到過(guò)產(chǎn)品給研發(fā)的語(yǔ)音需求是類似上一段加粗部分這么寫的(后排那個(gè)童鞋,說(shuō)的就是你,自覺面壁去吧),這是很不專業(yè)的。你以為加上了“自適應(yīng)”、“自學(xué)習(xí)”、“通過(guò)xx深度學(xué)習(xí)”、“通過(guò)xx進(jìn)行機(jī)器學(xué)習(xí)”等等這些牛逼的黑科技的詞感覺很高大上是吧?覺得技術(shù)童鞋會(huì)秒懂然后屁顛兒屁顛兒地去給你落地是吧?

Δ?圖片來(lái)自網(wǎng)絡(luò)

嘖嘖嘖,童鞋們還是too young too simple啊。一方面,技術(shù)同學(xué)不一定能了解這些高新科技,另一方面,就算是要引用“深度學(xué)習(xí)”、“機(jī)器學(xué)習(xí)”、“自學(xué)習(xí)”、“自適應(yīng)”,產(chǎn)品童鞋也得把具體的要求說(shuō)得清清楚楚,甚至是將預(yù)期效果量化到需求中。如果還不了解這些玩意,可以先按“黑箱理論”的方式(不了解黑箱理論的請(qǐng)參考本半仙的文章一段聲音的旅程(二)頭疼的音頻信號(hào)處理),先去了解清楚,再來(lái)寫需求。上面的需求,有三個(gè)關(guān)鍵點(diǎn)是必須要描述清楚的:1. 具體情況,具體有哪些情況?更重要的是,如何界定這些情況?2. 等待時(shí)間,短、長(zhǎng)、更長(zhǎng),具體是多少毫秒?3. 什么情況應(yīng)該等待多長(zhǎng)時(shí)間?需求的定義需要量化、嚴(yán)謹(jǐn)、詳盡,或者簡(jiǎn)而言之三個(gè)字——?jiǎng)e嘚瑟!

咳咳,扯遠(yuǎn)了哈,我們?cè)倩貋?lái)聊聊vad。現(xiàn)在業(yè)內(nèi)最通用的做法是不論什么情況下,后端點(diǎn)等待的時(shí)間是固定的,且這個(gè)固定值客戶可以修改,但這樣相對(duì)來(lái)說(shuō)比較約束。其實(shí)變通一下,在同樣的約束框架下,規(guī)定在多輪對(duì)話的場(chǎng)景里,下一輪的vad時(shí)長(zhǎng)可以根據(jù)上一輪的結(jié)果來(lái)修改,這樣就稍微有點(diǎn)自由度了。比如:在第一輪對(duì)話確定用戶是要求語(yǔ)音設(shè)備進(jìn)入導(dǎo)航領(lǐng)域后,下一輪開始,vad時(shí)長(zhǎng)用500ms,而如果第一輪確定用戶是要進(jìn)入短信或微信領(lǐng)域后,下一輪開始,就使用3s(時(shí)間部分這里只是舉例)。

再來(lái)聊聊時(shí)間這個(gè)部分。這個(gè)時(shí)間多了還是少了,對(duì)于產(chǎn)品會(huì)有什么影響?我們必須對(duì)這一點(diǎn)有一個(gè)很直觀的理解。回到對(duì)話的情境里來(lái),你和別人在對(duì)話溝通時(shí),是期待他盡快回答你的。這個(gè)回答的等待時(shí)間如果很長(zhǎng),比如3秒,你每次說(shuō)完一句話,要等3秒,他才有反應(yīng),如果每次都這樣,你是不是會(huì)很崩潰,想立馬甩臉子走人?

Δ?圖片來(lái)自網(wǎng)絡(luò)

反之,我們將這個(gè)回答等待時(shí)間縮短一點(diǎn),比如100ms,這時(shí)候你會(huì)發(fā)現(xiàn),艾瑪,咋喘口氣兒的功夫你就插話了呢。插話就插話吧關(guān)鍵你還沒整明白我說(shuō)的啥你就亂插話,就會(huì)那一句“你說(shuō)的我聽不懂,請(qǐng)?jiān)僬f(shuō)一次”。再毛線啊再,你媽媽沒教過(guò)你人家說(shuō)話的時(shí)候你老打斷是不禮貌的嗎?真是的,不懂規(guī)矩??????!

Δ?圖片來(lái)自網(wǎng)絡(luò)

這里給出我的建議:如果只能設(shè)定一個(gè)固定值,那么這個(gè)值建議經(jīng)過(guò)大量的體驗(yàn)測(cè)試來(lái)權(quán)衡決定。具體數(shù)值沒有特定的標(biāo)準(zhǔn),更多是靠體驗(yàn)去嘗試。不同場(chǎng)景下的用戶群不一樣,心理狀態(tài)不一樣,使用習(xí)慣不一樣,這個(gè)值都可能是不一樣的。在車上設(shè)置的默認(rèn)值是800ms,僅供參考,請(qǐng)以真實(shí)產(chǎn)品在真實(shí)場(chǎng)景下的體驗(yàn)為準(zhǔn)。

上段所講的部分都是根據(jù)現(xiàn)狀所談?wù)摰募?xì)節(jié),如果我們跳出這個(gè)“現(xiàn)狀”的框,其實(shí)產(chǎn)品最想要的是“在說(shuō)話過(guò)程中,根據(jù)已經(jīng)說(shuō)的內(nèi)容,動(dòng)態(tài)調(diào)整本次說(shuō)話的后端點(diǎn)的等待時(shí)長(zhǎng)”,這個(gè)能做到嗎?要做到肯定是能做到的,但是這個(gè)地方打破了今天很多“現(xiàn)狀”的約束,也會(huì)引出很多很多新的問(wèn)題,所以風(fēng)險(xiǎn)可能會(huì)很大。比如,今天的語(yǔ)音邏輯是激活語(yǔ)音后,在錄音的同時(shí)去做asr。當(dāng)后端點(diǎn)檢測(cè)條件滿足之后,結(jié)束錄音,等待asr處理完畢,再去執(zhí)行nlp。asr和nlp是一個(gè)串行行為,如果要實(shí)現(xiàn)這個(gè)邏輯,就需要在錄音的同時(shí),去做asr,同時(shí)去做nlu,根據(jù)nlu的處理結(jié)果,去動(dòng)態(tài)改變后端點(diǎn)檢測(cè)條件。當(dāng)后端點(diǎn)檢測(cè)條件滿足之后,結(jié)束錄音,等待asr處理完畢,等待nlp處理完畢。這是一個(gè)非常理想的狀態(tài),沒有考慮硬件資源性能消耗,沒有考慮本地引擎和在線引擎的區(qū)別,也沒有考慮網(wǎng)絡(luò)好和網(wǎng)絡(luò)不好的可能性,更沒有考慮各種噪音干擾環(huán)境下的具體表現(xiàn)……這么大的風(fēng)險(xiǎn),能多大程度地提升產(chǎn)品體驗(yàn)?是否值得去冒險(xiǎn)呢?

每個(gè)產(chǎn)品童鞋的心里需要一桿秤,去掂量每一個(gè)細(xì)節(jié)改善,每一次體驗(yàn)提升,詳細(xì)評(píng)估風(fēng)險(xiǎn),仔細(xì)掂量回報(bào)。做就要義無(wú)反顧,不做就要堅(jiān)定不移。你的反反復(fù)復(fù),很可能會(huì)讓整個(gè)team軍心搖擺,甚至最后落得一盤散沙一場(chǎng)空。這個(gè)方案原理上是可行的,在這里之所以展開來(lái)說(shuō),是希望能夠幫助產(chǎn)品童鞋“跳出現(xiàn)狀”思考“產(chǎn)品體驗(yàn)”。各位產(chǎn)品童鞋可以與技術(shù)童鞋詳細(xì)研討之后,自行商定。因?yàn)樯婕懊姹容^廣,還是需要些時(shí)間去努力的,只有持之以恒地對(duì)這些細(xì)節(jié)耐心細(xì)致地打磨,才能把語(yǔ)音的體驗(yàn)越做越好~

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? —THE END—

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容