彭洪松,李洪斌,李 莉,稅國梅
(四川九州電子科技股份有限公司,綿陽 621000)
“機(jī)器能聽懂我們說話嗎?機(jī)器能知道我們想做什么?”,答案是人工智能機(jī)器能。那人工智能是如何聽懂人的語言,這就是遠(yuǎn)場語音識(shí)別技術(shù)。遠(yuǎn)場語音識(shí)別技術(shù)顧名思義即在較遠(yuǎn)或者較寬敞的空間內(nèi),進(jìn)行語音采集和識(shí)別的技術(shù)。依靠遠(yuǎn)場語音識(shí)別技術(shù),人工智能機(jī)器可以聽見人說話,提取有用信息,獲取人的意圖。
顧名思義是指遠(yuǎn)場(5-8m 范圍)語音的采集技術(shù)。5-8m 的遠(yuǎn)場拾音距離基本滿足常見空間場景中的語音交流。主要采用麥克風(fēng)陣列形式,通過2-7顆麥克風(fēng)按照一定位置排布形成陳列,通過軟件算法的支撐,將多路麥克風(fēng)采集的語音信號(hào)進(jìn)行復(fù)用,實(shí)現(xiàn)降噪,方向定位,波束成型等,持續(xù)提升語音體驗(yàn)。
與近場語音采集相比,遠(yuǎn)場拾音技術(shù)中增加了多路信號(hào)和軟件算法。因?yàn)榻鼒銮闆r下音源單一,信噪比(SNR)比較高,信號(hào)清晰。遠(yuǎn)場識(shí)別情況下聲源位置不定,噪聲源比較多,噪聲大,信噪比(SNR)下降劇烈,這種情況下傳統(tǒng)的方法效果不理想。近幾年來,隨著遠(yuǎn)場拾音技術(shù)的發(fā)展,麥克風(fēng)陣列排布和軟件算法越來越豐富,遠(yuǎn)場拾音能力提升明顯。但即便是這樣,仍然有很大的挑戰(zhàn),尤其是背景噪聲很大的環(huán)境里,如家里開空調(diào)、開電扇,或者是在汽車?yán)锩娴龋Ч匀贿€有很大的提升空間。
語音交互是全雙工的過程,即在播放的同時(shí)可以拾音。近場拾音環(huán)境下,播放音樂或是語音播報(bào)的時(shí)候可以通過按鍵停止,但這限制了人工智能的智慧化程度;前面我們介紹了遠(yuǎn)場拾音技術(shù),遠(yuǎn)場拾音技術(shù)的目的盡可能多的采集有用的信息,那無用信息包括哪些呢?包括環(huán)境噪音,這個(gè)主要通過算法解決;但更嚴(yán)重的是人工智能設(shè)備自身發(fā)出聲音,這個(gè)聲音離麥克風(fēng)距離近、音量大,干擾非常嚴(yán)重;要想實(shí)現(xiàn)不受限制的語音控制,必須得實(shí)現(xiàn)回聲消除?;芈曄某R姺桨甘菑娜斯ぶ悄茉O(shè)備喇叭側(cè)拉一組參考信號(hào)給主控,直接告訴主控這個(gè)聲音是我自己的,不是有用信息。這種方案會(huì)有一定的效果?;芈曄碾y點(diǎn)在于功放、喇叭的非線性失真,即參考信號(hào)與實(shí)際聲音會(huì)存在一定的差異。例如音響設(shè)備重低音比較好,結(jié)構(gòu)等就容易形成共振,這樣參考信號(hào)的真實(shí)性就會(huì)大打折扣,此時(shí)就需要軟件回聲消除算法做一定的補(bǔ)償。
喚醒引擎可以理解為喊名字,可以想象成課堂點(diǎn)名。比如蘋果的“嗨Siri”、百度的“小度小度”、Google 的“OK Google”等。喚醒引擎的目的是告訴人工智能機(jī)器,接下來的話是對(duì)你講的哦,認(rèn)真聽好了。喚醒引擎通常工作于本地,通常是遠(yuǎn)場語音采集后,他要判斷人說的話是不是喚醒詞(喚醒詞就是上面的“嗨Siri”、“小度小度”、“OK Google”等),如果是喚醒詞,那么后續(xù)的語音就進(jìn)行上傳識(shí)別,否則后續(xù)的語音不進(jìn)行處理。
喚醒引擎技術(shù)難點(diǎn)體現(xiàn)在以下幾個(gè)方面:
語音采集和喚醒引擎都屬于長時(shí)間的監(jiān)聽過程,需要設(shè)備保持常態(tài)化運(yùn)行。iphone4s 出現(xiàn)“嗨Siri”,但直到iphone6s 之后才允許不接電源的情況下直接喊“嗨Siri”進(jìn)行語音喚醒,在此之前都需要接入電源的情況下進(jìn)行語音喚醒。這是因?yàn)閕phone6s 上有一顆專門進(jìn)行語音激活的低功耗芯片,在未被喚醒前,除低功耗芯片外,主設(shè)備可以進(jìn)入休眠模式,既實(shí)現(xiàn)了設(shè)備超長待機(jī),又保證了設(shè)備的可靠性。當(dāng)然,不是所有人工智能設(shè)備都必須外掛低功耗芯片,部分多核處理器,可以將喚醒引擎運(yùn)行在協(xié)處理器中,實(shí)現(xiàn)其他核的待機(jī),以實(shí)現(xiàn)低功耗的目的。
計(jì)算量小一方面是低功耗芯片或者協(xié)處理器運(yùn)算能力的限制,另一方面是實(shí)時(shí)率的要求。即1s 的語音至少要在1s 之內(nèi)計(jì)算完畢,這樣才能保障可實(shí)用。
理想狀況下的喚醒引擎應(yīng)該是一呼即應(yīng),不喊它的時(shí)候它乖乖的不要插話。古人云:動(dòng)若脫兔,靜若寒蟬。但事與愿違,喊它的時(shí)候它不答應(yīng)這叫做漏喚醒,沒喊它的時(shí)候它跳出來講話叫做誤喚醒。漏喚醒和誤喚醒這倆老兄是此消彼長的關(guān)系:比如喚醒詞很長有10個(gè)字,那么誤喚醒肯定很低,但同時(shí)漏喚醒也就多了,喊了好幾次都不理你是不是很氣人!再比如喚醒詞很短只有一個(gè)字,這個(gè)時(shí)候漏報(bào)是少了,每次喊都很快回應(yīng)你,但是誤報(bào)也多了呀,大半夜突然誤喚醒應(yīng)答也是相當(dāng)驚悚的。因此喚醒引擎需經(jīng)過上百萬次訓(xùn)練,匹配各類聲音信息,保證喚醒和誤喚醒率。
語意解析,不論是遠(yuǎn)場還是近場,基本都是在云端完成的。云平臺(tái)依靠大數(shù)據(jù),多模型和高速率運(yùn)算,將采集到的語音信息進(jìn)行語義檢查和處理,提取關(guān)鍵字,獲取用戶意圖,實(shí)現(xiàn)了語義識(shí)別。你可以把云平臺(tái)理解為人的大腦,大腦聰明程度決定了人工智能的智慧程度。云平臺(tái)的語義解析能力涉及到大數(shù)據(jù)、模型和運(yùn)算速率等各個(gè)方面,這里單獨(dú)介紹下語音分離模型。單個(gè)人說話,云端解析不會(huì)存在干擾;但如果多個(gè)人說話,尤其是幾個(gè)說話人距離較近時(shí),波束成型技術(shù)也無能為力,這就需要云平臺(tái)的語音分離技術(shù)。語音分離是指多人同時(shí)說話,語音有重疊,這種情況下云平臺(tái)根據(jù)每個(gè)個(gè)體聲音的響度、音調(diào)和音色將語音拆分重組,將混合音還原為每個(gè)人的單通道聲音信息。從目前各家云平臺(tái)的實(shí)測結(jié)果來看,性能還有提升的空間。
智能音箱的普及,家庭語音助手作為一個(gè)切入點(diǎn),讓我們體驗(yàn)到了人工智能帶來的優(yōu)質(zhì)生活。語音作為最常用和最便利的交流方式,遠(yuǎn)場語音識(shí)別技術(shù)仍然會(huì)是人工智能中的重要組成部分。