語音識別是目前應(yīng)用最成熟的人機(jī)交互方式,從最初大家體驗(yàn)過的有屏手持設(shè)備這種近場的語音識別,如Siri以及各種語音助手,到現(xiàn)在,語音識別的應(yīng)用已經(jīng)完成了向智能硬件以及機(jī)器人上延伸,不過,新的人機(jī)交互對硬件、算法要求更加苛刻,各企業(yè)正面臨著巨大的挑戰(zhàn)。
那么實(shí)現(xiàn)人機(jī)交互需要解決哪些問題?這其中的關(guān)鍵技術(shù)有哪些?人機(jī)交互的未來趨勢如何?本期硬創(chuàng)公開課邀請了科大訊飛的研發(fā)主管趙艷軍為大家答疑解惑。
分享嘉賓:趙艷軍,AIUI項(xiàng)目負(fù)責(zé)人,科大訊飛云平臺(tái)研發(fā)主管,負(fù)責(zé)訊飛開放平語音識別、語音合成、聲紋、喚醒等多項(xiàng)產(chǎn)品研發(fā),同時(shí)負(fù)責(zé)人機(jī)交互解決方案AIUI的開發(fā),致力于把核心技術(shù)更好的產(chǎn)品化,使人與機(jī)器的交流像人與人之間一樣簡單,自然。
人機(jī)交互的痛點(diǎn)
語音作為目前人機(jī)交互的主要方式,大家如果使用過,應(yīng)該都能舉出一些例子。比如說話要靠近,發(fā)音要標(biāo)準(zhǔn),環(huán)境要安靜,不能持續(xù)對話,不能打斷等。
不只是語音,包括圖像、障礙物檢測等技術(shù),都會(huì)遇到這樣的問題,比如人臉的識別,對光線、角度、距離都有一定的要求。歸結(jié)為一點(diǎn)就是,當(dāng)前人機(jī)交互在復(fù)雜環(huán)境的自適應(yīng)性方面,還有很多問題需要解決。這還只是感知層面,另外還包括認(rèn)知層面,AI目前還不如我們想象的這么聰明,目前不能完全自主學(xué)習(xí),仍然需要人的介入,比如知識庫的導(dǎo)入,機(jī)器行為的糾正等,都需要人的參與。
當(dāng)前的人機(jī)交互產(chǎn)品,在真正面對用戶時(shí),在面對復(fù)雜環(huán)境時(shí),魯棒性還不夠好。今天的分享,我們一起探討如何解決這些問題,不管是通過算法,還是工程,抑或產(chǎn)品,都是我們可以選擇的途徑。
大家首先要有個(gè)共識,人機(jī)交互目前所面臨的問題,不是一朝一夕,一蹴而就能解決的,需要在各個(gè)方向在核心技術(shù)上不斷進(jìn)步。
科大訊飛AIUI是怎么做的?
AIUI作為人機(jī)智能交互界面,旨在實(shí)現(xiàn)人機(jī)之間交互無障礙,使人與機(jī)器之間的交流,像人與人一樣,可以通過語音、圖像、手勢等自然交互的方式,進(jìn)行持續(xù),雙向,自然地溝通。它由一套由云和客戶端相結(jié)合服務(wù)框架構(gòu)成,包括音視頻前端信號處理、云+端相配合交互引擎、內(nèi)容和知識平臺(tái)以及接口、用戶個(gè)性化系統(tǒng)等。平臺(tái)具備開放性,第三方可進(jìn)行靈活配置、業(yè)務(wù)擴(kuò)展、內(nèi)容對接等。
以前的語音交互產(chǎn)品,包括訊飛在內(nèi),大家提供的都是單點(diǎn)的能力,比如語音合成、語音喚醒、語音識別、語義理解,另外還有人臉識別、聲紋識別等。大家拿到這么多產(chǎn)品和能力,需要花很大的工作量,去開發(fā)人機(jī)交互功能。
這種方式問題比較明顯:
一方面是產(chǎn)品集成的工作量太大,造成很多中小開發(fā)者無力去承擔(dān)這部分工作量;
另外就是因?yàn)榻换チ鞒烫L,細(xì)節(jié)不好處理,造成各家產(chǎn)品的交互體驗(yàn)參差不齊。
所以AIUI交互方案首先要解決的就是這個(gè)問題。AIUI是把麥克風(fēng)陣列、前端聲學(xué)處理、語音喚醒、端點(diǎn)檢測、語音識別、語義理解、語音合成等技術(shù)在整個(gè)交互鏈上進(jìn)行深度融合的系統(tǒng)。
而且AIUI還支持了全雙工、多輪交互等新特性,并在單點(diǎn)技術(shù)上進(jìn)行突破和演進(jìn),包括聲源定位與追蹤、持續(xù)在線,有效人聲智能檢測、基于用戶意圖的動(dòng)態(tài)語音端點(diǎn)檢測、支持上下文交互的語義理解、基于對話場景自適應(yīng)的語音識別等。
科普:語音交互的過程
首先,人機(jī)之間的語音交互(這里主要指智能硬件、機(jī)器人等),區(qū)別于傳統(tǒng)的有屏手持設(shè)備,在傳統(tǒng)的語音交互中,因?yàn)槭墙鼒觯Z音信號質(zhì)量相對較高,而且有觸摸屏輔助,所以交互鏈路可以相對簡單。通過點(diǎn)擊屏幕觸發(fā),再通過點(diǎn)擊屏幕或者能量VAD檢測,來結(jié)束語音信號采集,即可完成一次交互,整個(gè)過程通過語音識別、語義理解、語音合成即可完成。
而對于人機(jī)之間的交互,由于涉及到遠(yuǎn)場,環(huán)境比較復(fù)雜,而且無屏交互,如果要像人與人之間的交流一樣自然、持續(xù)、雙向、可打斷,整個(gè)交互過程需要解決的問題更多,AIUI為完成類人的語音交互,是一個(gè)需要軟硬件一體、云+端相互配合的過程。
我們來看下交互的整個(gè)流程,從大的方面來說,還是以語音識別、語義理解、語音合成為主線,只不過每個(gè)過程需要解決更多的問題。
首先來看下語音喚醒,喚醒是人機(jī)交互的主要觸發(fā)方式,就像你要和一個(gè)人說話,就得首先喊一下這個(gè)人的名字,才能開始進(jìn)行交流。而在交流的過程中,如果有其他人喊你呢,你也是需要響應(yīng)的,需要支持持續(xù)喚醒。
機(jī)器被喚醒后,就需要知道說話人的方位,這樣機(jī)器才可以做出更友好的響應(yīng),比如轉(zhuǎn)身,移動(dòng)等。只有明確說話人的方位后,才可以定向的拾音,做降噪處理,同時(shí)對說話人進(jìn)行語音增強(qiáng)。這個(gè)聲源定位和語音增強(qiáng)主要是用麥克風(fēng)陣列的相關(guān)技術(shù),下面會(huì)有詳細(xì)解釋。
在語音識別這個(gè)重要模塊中,首先要解決的就是遠(yuǎn)場識別,通過上面提到的麥克風(fēng)陣列和聲源定位,可以較好的實(shí)現(xiàn)遠(yuǎn)距離拾音,解決噪聲、混響、回聲帶來的影響。作為全雙工交互,持續(xù)的音頻流拾取,就要解決人聲檢測和斷句問題,機(jī)器需要能夠過濾無效語音,做出快速的反饋和響應(yīng)。
人聲和端點(diǎn)的檢測不能只依賴于能量檢測的技術(shù)方案,需要解決更為復(fù)雜的環(huán)境,具體怎么解決呢,下面再展開。
對于識別來說,首先要保障的是遠(yuǎn)場環(huán)境下的識別率,除了前面提到的麥克風(fēng)陣列解決了前端聲學(xué)的問題,還要有專門針對遠(yuǎn)場環(huán)境下,基于大量數(shù)據(jù)訓(xùn)練的聲學(xué)模型,這樣才能保證識別率滿足交互需求。
除了云端的語音識別,端上的識別也是需要做的,需要云+端方式進(jìn)行結(jié)合,這樣才能滿足復(fù)雜網(wǎng)絡(luò)下的使用場景。不過端上主要是去做一些命令式交互,響應(yīng)一些本地操作。比如關(guān)機(jī)、打電話、動(dòng)作指令等。
本地不做成無限制的響應(yīng)呢,因?yàn)閷τ诤芏嗟挠脩粢鈭D來說,是需要基于網(wǎng)絡(luò)去獲取內(nèi)容的,所以本地只做輔助使用,是為了解決一些復(fù)雜網(wǎng)絡(luò)環(huán)境所做的手段。這個(gè)地方的難點(diǎn)是需要做好云和端的PK策略,需要基于置信度、響應(yīng)時(shí)間等信息來綜合決策。作為持續(xù)的語音交互,不可避免要吸收很多無效的語音,拒識成為必須,否則會(huì)造成對話的混亂和無意義的響應(yīng)。
對于支持多輪的交互理解,語義引擎不再是無狀態(tài)的,系統(tǒng)更加復(fù)雜,需要有對話管理、歷史信息存儲(chǔ)等模塊。語義理解不只包含用戶說話意圖,還要包括內(nèi)容的獲取,這樣才能在接下來的端點(diǎn)檢測、語音識別等交互過程中,共享信息,做到場景自適應(yīng),以提高準(zhǔn)確率。
完成語音識別和語義的理解后,機(jī)器需要通過語音合成,把信息傳遞給用戶。合成這一塊沒有太多需要展開的,訊飛提供了幾十種不同的發(fā)音人,而且支持不同情感進(jìn)行朗讀,至于該以何種情境、情感進(jìn)行播報(bào),這是在語義理解中需要給出的信息。相比傳統(tǒng)的交互,現(xiàn)在的流程會(huì)看起來復(fù)雜很多。
功能:遠(yuǎn)場識別、全雙工、多輪交互
遠(yuǎn)場識別
遠(yuǎn)場識別,需要前后端結(jié)合去完成,一方面在前端使用麥克風(fēng)陣列硬件,通過聲源定位及自適應(yīng)波束形成做語音增強(qiáng)。在前端完成遠(yuǎn)場拾音,并解決噪聲、混響、回聲等帶來的影響。
不過這還不夠,因近場、遠(yuǎn)場的語音信號,在聲學(xué)上有一定的規(guī)律差異,所以在后端的語音識別上,還需要結(jié)合基于大數(shù)據(jù)訓(xùn)練、針對遠(yuǎn)場環(huán)境的聲學(xué)模型,這樣才能較好解決識別率的問題。
全雙工
全雙工交互,是一個(gè)全鏈路的貫穿過程,不只是持續(xù)的拾音和網(wǎng)絡(luò)傳輸,更需要包括持續(xù)的語音喚醒、智能有效人聲檢測、動(dòng)態(tài)語音端點(diǎn)檢測、無效語音拒識等各個(gè)模塊相互配合,才能完成。
支持連續(xù)的語音喚醒是必須。在傳統(tǒng)的語音喚醒方案中,是一次喚醒后,進(jìn)行語音識別和交互,交互完成再進(jìn)入待喚醒狀態(tài)。但是在實(shí)際人與人的交流中,人是可以與多人對話的,而且支持被其他人插入和打斷。AIUI中語音喚醒采用BN(Bottle Neck)技術(shù)方案,支持低功耗的待機(jī)。
全雙工交互作為一個(gè)持續(xù)的交互過程,語音識別和語義理解,需要能夠做出快速的響應(yīng)。這就需要人聲檢測和智能斷句。傳統(tǒng)的斷句是基于能量的檢測來判定,但是有兩個(gè)主要缺點(diǎn),一是無法過濾噪音和無效的語音,另外就是對說話人的要求較高,中間不能有停頓。如果后端點(diǎn)設(shè)置的太短,容易造成截?cái);后端點(diǎn)太長,又會(huì)造成響應(yīng)不及時(shí)。
AIUI的做法是,采用基于模型的有效人聲智能檢測和基于用戶意圖的動(dòng)態(tài)語音端點(diǎn)檢測。基于模型的檢測可以有效解決噪音和無效語音。這塊主要是通過采集不同環(huán)境的噪音,基于深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練出對應(yīng)聲學(xué)模型,進(jìn)行過濾,把有效的語音傳送到云端進(jìn)行交互。
動(dòng)態(tài)端點(diǎn)檢測算法實(shí)現(xiàn)從連續(xù)輸入的數(shù)據(jù)流中檢測出包含完整用戶意圖的語音送入語義理解模塊,可以很好的解決用戶的停頓,因?yàn)樵谌藱C(jī)的交流過程中,在一句包含完整意圖語音中,停頓是很常見的現(xiàn)象,這在我們對用戶的行為分析中得到驗(yàn)證。
另外在持續(xù)的語音交互過程中,必然會(huì)有無效的語音和無關(guān)說話內(nèi)容被吸收進(jìn)來,所以拒識是必須。在AIUI系統(tǒng)中,我們針對全雙工交互中的這個(gè)問題,專門構(gòu)建了一套基于深度神經(jīng)網(wǎng)絡(luò)的拒識系統(tǒng),從聲學(xué)信號、語義等多個(gè)方面對接收的語音進(jìn)行拒識判斷。
多輪交互
同樣的,對于多輪交互中的語義理解和對話管理兩個(gè)模塊,我們也采用深度學(xué)習(xí)+海量數(shù)據(jù)的方式,使用用戶的實(shí)際數(shù)據(jù),訓(xùn)練魯棒的語義理解和對話管理模型。
結(jié)合基于LSTM(長短時(shí)記憶)的循環(huán)神經(jīng)網(wǎng)絡(luò),使得模型具有長時(shí)記憶的能力,結(jié)合對話上下文進(jìn)行準(zhǔn)確的語義理解,相信配合科大訊飛深度神經(jīng)網(wǎng)絡(luò)+大數(shù)據(jù)+“漣漪效應(yīng)”的研究思路,我們的多輪交互會(huì)越來越準(zhǔn)確、好用。
關(guān)鍵技術(shù):麥克風(fēng)陣列
大家通過上圖可以看到,現(xiàn)實(shí)環(huán)境中噪音、混響、人聲干擾、回聲等因素,帶來的影響因素還是比較大的,我們一般是通過麥克風(fēng)陣列來解決。
麥克風(fēng)陣列是利用一定數(shù)目,一定空間構(gòu)型的聲學(xué)傳感器(一般是麥克風(fēng))組成,用來對聲場的空間特性進(jìn)行采樣并處理的系統(tǒng)。麥克風(fēng)陣列能做很多事情,對于環(huán)境噪聲,它可以采用自適應(yīng)波束形成做語音增強(qiáng),從含噪語音信號中提取純凈語音;對于說話人說話位置的不確性,它可以通過聲源定位技術(shù)來計(jì)算目標(biāo)說話人的角度,來跟蹤說話人以及后續(xù)的語音定向拾。粚τ谑覂(nèi)聲音反射,導(dǎo)致語音音素交疊,識別率較低的問題,它可以通過去混響技術(shù),減小混響,提高識別率。
線性、環(huán)形、球形麥克風(fēng)在原理上并無太大區(qū)別,只是由于空間構(gòu)型不同,導(dǎo)致它們可分辨的空間范圍也不同。比如,在聲源定位上,線性陣列只有一維信息,只能分辨180度;環(huán)形陣列是平面陣列,有兩維信息,能分辨360度;球性陣列是立體三維空間陣列,有三維信息,能區(qū)分360度方位角和180度俯仰角。
其次麥克風(fēng)的個(gè)數(shù)越多,對說話人的定位精度越高,但是定位精度的差別體現(xiàn)在交互距離的遠(yuǎn)近上,如果交互距離不是很遠(yuǎn),5麥和8麥的定位效果差異不是很大。此外,麥克風(fēng)個(gè)數(shù)越多,波束能區(qū)分的空間越精細(xì),在嘈雜環(huán)境下的拾音質(zhì)量越高,但是在一般室內(nèi)的安靜環(huán)境下,5麥和8麥的識別率相差不是很大。麥克風(fēng)個(gè)數(shù)越多,成本也越高,具體的產(chǎn)品,要綜合考慮應(yīng)用場景和實(shí)際的產(chǎn)品定位,選擇合適的麥克風(fēng)個(gè)數(shù)和陣型。
方案:破解環(huán)境對語音識別的影響
復(fù)雜的環(huán)境,一方面是外在環(huán)境的復(fù)雜,另一方面是方言和口音。外在環(huán)境復(fù)雜包括噪聲、混響、回聲等,而且噪音又分為不同的會(huì)議室、戶外、商場等不同環(huán)境,為了解決這些問題,除了單通道語音增強(qiáng)技術(shù),現(xiàn)在基本是采用上面提到的麥克風(fēng)陣列硬件和相關(guān)算法實(shí)現(xiàn)。
在方言、口音方面,大家都知道,在我們國家,幾十種方言,每個(gè)人都有自己的獨(dú)特口音,一般的解決方法的是基于各種方言數(shù)據(jù),通過深度神經(jīng)網(wǎng)絡(luò),訓(xùn)練各種方言模型,以提高識別率,這是業(yè)內(nèi)的通用做法。
為解決兩方面的問題,訊飛正通過以下的技術(shù)方案,去適應(yīng)各種復(fù)雜環(huán)境的要求。包括以下方面:
1)提供條形、環(huán)形、球形的四麥、五麥、八麥等多種不同的麥克風(fēng)陣列構(gòu)型,以適應(yīng)不同的產(chǎn)品需求,比如叮咚音箱采用的就是環(huán)形8麥的方案。
麥克風(fēng)陣列技術(shù)雖然已經(jīng)可以達(dá)到相當(dāng)?shù)募夹g(shù)水平,但是總體上還是存在一些問題的,比如當(dāng)麥克風(fēng)和信號源距離太遠(yuǎn)時(shí)(比如10m、20m距離),錄制信號的信噪比會(huì)很低,算法處理難度很大;對于便攜設(shè)備來說,受設(shè)備尺寸以及功耗的限制,麥克風(fēng)的個(gè)數(shù)不能太多,陣列尺寸也不能太大。而分布式麥克風(fēng)陣列技術(shù)則是解決當(dāng)前問題的一個(gè)可能途徑。
所謂分布式陣列就是將子陣元或子陣列布局到更大的范圍內(nèi),相互之間通過有線或者無線的方式進(jìn)行數(shù)據(jù)的交換和共享,并在此基礎(chǔ)上進(jìn)行廣義上的聲源定位、波束形成等技術(shù)實(shí)現(xiàn)信號處理。
相對于目前集中式的麥克風(fēng)陣列,分布式陣列的優(yōu)勢也是非常明顯的。首先分布式麥克風(fēng)陣列(尤其無線傳輸)的尺寸的限制就不存在了;另外,陣列的節(jié)點(diǎn)可以覆蓋很大的面積?倳(huì)有一個(gè)陣列的節(jié)點(diǎn)距離聲源很近,錄音信噪比大幅度提升,算法處理難度也會(huì)降低,總體的信號處理的效果也會(huì)有非常顯著的提升,目前科大訊飛已經(jīng)開始了相關(guān)技術(shù)研究的布局工作。
2)不同環(huán)境的語音識別聲學(xué)模型,如上面提到的遠(yuǎn)場拾音,專門針對遠(yuǎn)距離拾音的環(huán)境進(jìn)行訓(xùn)練;
3)在方言方面,訊飛支持普通話、粵語等20多種方言,是目前涵蓋方言范圍最廣的。積累了一定量的多方言資源庫,并基于特殊的深度神經(jīng)網(wǎng)路結(jié)構(gòu)和上線數(shù)據(jù)的半監(jiān)督訓(xùn)練,實(shí)現(xiàn)了多方言數(shù)據(jù)信息的共享和方言的自動(dòng)迭代更新。
另外方言最大的難點(diǎn),在于方言的自適應(yīng),如何能夠根據(jù)用戶的語音,自動(dòng)匹配模型,訊飛已經(jīng)驗(yàn)證完成。
4)在口音的適配方面,訊飛已經(jīng)有一套完整的基于用戶的訓(xùn)練系統(tǒng),可以針對每個(gè)用戶,建立閉環(huán)的優(yōu)化流程,為每個(gè)用戶建立自己的個(gè)性化聲學(xué)模型,目前正在訊飛輸入法試點(diǎn),對于一些注冊用戶進(jìn)行灰度體現(xiàn);
5)基于特定人群的模型訓(xùn)練,目前已經(jīng)為面向兒童的玩具方案,專門訓(xùn)練針對兒童的聲學(xué)匹配模型;
6)為每個(gè)應(yīng)用、每個(gè)用戶,提供個(gè)性化的語言模型;
AIUI的服務(wù)
AIUI對外完全開放,不管是個(gè)人開發(fā)者還是公司,在我們的平臺(tái)上都可使用。因AIUI需要與硬件相結(jié)合,所以現(xiàn)在是以評估板的形式開放。如果評估效果滿足產(chǎn)品需求,我們提供模塊或者軟核的方式支持產(chǎn)品量產(chǎn)。
開放平臺(tái)除了提供整體的方案和幾十個(gè)業(yè)務(wù)場景,還提供產(chǎn)品的個(gè)性化定制能力,主要包括喚醒詞定制、發(fā)音人定制、交互語義理解定制、語音識別資源定制、流程參數(shù)配置等,這些都是在Web平臺(tái)上開放的功能,開發(fā)者可以根據(jù)產(chǎn)品需求,在平臺(tái)上進(jìn)行個(gè)性化的配置和編輯。
如語義開放平臺(tái),提供私有語義編寫、自定義問答導(dǎo)入,這一塊相信是大家最為關(guān)心的,每個(gè)機(jī)器人如何回答用戶的提問,主要就通過這方面來體現(xiàn)。
還有很重要一點(diǎn),AIUI允許第三方系統(tǒng)接入,AIUI作為可擴(kuò)展的伸縮服務(wù),經(jīng)過語音云處理的識別和語義結(jié)果,只要在平臺(tái)上配置,第三方業(yè)務(wù)系統(tǒng)即可通過Http服務(wù)接入,以滿足更為復(fù)雜的個(gè)性化需求。
當(dāng)然訊飛開放平臺(tái)還提供深度的定制服務(wù),包括喚醒詞訓(xùn)練、發(fā)音人訓(xùn)練、語義及內(nèi)容制作等。通過平臺(tái)開放和深度定制兩種方式,可以滿足各個(gè)產(chǎn)品之間的差異化。
未來:人機(jī)交互會(huì)融合?
融合必然是未來人機(jī)交互的趨勢。
以AIUI為例,在定義之初,就沒有把語音作為唯一的交互方式,而是把它設(shè)想為結(jié)合了人臉、人體追蹤、手勢、紅外等多種方式為一體的人機(jī)交互解決方案。
我們也在不斷的嘗試把語音和其他方式相結(jié)合,比如我們現(xiàn)在已經(jīng)上線的人臉、聲紋融合身份驗(yàn)證,即是最直接的例子,通過這種方式將能夠有效解決用戶的身份認(rèn)證問題。
在AIUI中,也有很多的場景需要借助于不同方式來相互配合。舉個(gè)例子,在AIUI中,為解決遠(yuǎn)場的持續(xù)交互,使用了麥克風(fēng)陣列,采用定向拾音的方式來解決這個(gè)問題,但是由于定向拾音的角度有限,造成持續(xù)交互過程中,說話人的移動(dòng)成為問題,這個(gè)時(shí)候,就需要有移動(dòng)的聲源定位和追蹤,簡單依靠聲音的辨識和追蹤,很難有效解決這個(gè)問題,這個(gè)時(shí)候如果能結(jié)合人體的追蹤,比如圖像和紅外手段,將可以進(jìn)一步降低出錯(cuò)概率。其他的場景還有人的年齡、性別等屬性識別,如果采用圖像、聲音相結(jié)合方式,將可以極高提升精準(zhǔn)度,提升機(jī)器的感知能力,AI也將更加智能。