天天看點

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

雷鋒網按:本文來源公衆号“極限元”,作者溫正棋,極限元技術副總裁、中國科學院自動化研究所副研究員,中科院—極限元“智能互動聯合實驗室”主任。雷鋒網(公衆号:雷鋒網)授權轉載。

語音作為網際網路的一種入口方式,正在侵入我們的生活,人機互動的核心——對話系統,對互動的應用至關重要,人腦與機器智能的結合,能夠突破現有技術瓶頸嗎?這裡就有必要重點介紹下人機互動相關的核心技術。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

從整個互動系統接入使用者的輸入資訊開始,包括語音、人臉、多模态情感相關的資訊,我們在對話系統裡面對輸入的資訊進行了解,通過這個對話部分以後産生輸出,最後用文字也可以用語音合成展現出來,這就是整個流程,其中我們關注的最主要的是語音部分以及對話系統部分,其他的多模态今天的分享不會涉及太多。

國内研究語音相關的團隊主要包括科研院所、語音技術公司以及網際網路公司三部分:

科研院所主要包括高校和科學院,比如科學院裡有聲學所、自動化所,高校裡面研究比較多的清華、北大、西工大、科大、上海交大等,這些都是在語音圈裡占有較高位置的老牌隊伍。

語音技術公司包括我們比較熟悉的科大訊飛、雲知聲、思必馳、極限元等。

網際網路公司包括bat、搜狗等擁有強大的語音技術團隊來支撐着其本身的很多業務。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

在應用對話系統時,首先從語音輸入開始要有一些前端處理,包括硬體和軟體的前期處理;接下來是語音内容,說話人識别等相關的内容進行判别,對話系統根據輸入資訊來進行對話邏輯的分析,以及對應語言的産生,最後由語音合成系統來合成語音,在這裡重點介紹一下前端處理、語音識别、說話人識别語音合成等相關技術。

前端處理技術的研究進展

前端處理包括回升消除、噪聲抑制、混響抑制等技術,剛開始時研究前端處理的人員并不多。近年來特别是echo的推出,把一些遠場的問題融入到語音識别等系統中,是以這部分的研究在這幾年興起比較快。語音識别的研究從一些簡單的資料如手機的錄音擴充到遠場的語音識别,這些促進了前端處理技術的發展,在語音圈裡做前端處理比較牛的應該是陳景東老師。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

回聲消除

回聲消除在遠場語音識别中是比較典型功能,最典型的應用是在智能終端播放音樂的時候,遠場揚聲器播放的音樂會回傳給近端麥克風,此時就需要有效的回聲消除算法來抑制遠端信号的幹擾,這是在智能裝置如音響、智能家居當中都需要考慮的問題。比較複雜的回聲消除系統,近端通過麥克風陣列采集信号,遠端是雙聲道揚聲器輸出,是以近端需要考慮如何将播出形成算法跟回聲消除算法對接,遠端需要考慮如何對立體聲信号相關。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

噪聲抑制

噪聲抑制可以有多通道的也可以有單通道的,今天主要介紹單通道噪聲抑制,單通道語音增強通過dnn的方法進行增強,語音信号是有一個諧波結構的,通過加入噪聲這個諧波結構會被破壞掉,語音增強的主要目的就是擡高波峰,降低波谷,這個訓練對dnn來說是比較容易的。但是也有實驗研究表明,基于dnn的語音增強對濁音段效果會比較好,但對輕音段效果并不是很好,語音的濁音段有顯著諧波結構,是以要有目的去訓練這個模型。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

混響抑制

聲音在房間傳輸過程中經過牆壁或者其他障礙物的反射後到達麥克風,進而生成混響語音,混響的語音會受到房間大小、聲源麥克風的位置、室内障礙物等因素的影響,大多數的房間内混響時間大概在200--1000毫秒範圍内,如果混響時間過短,聲音會發幹,枯燥無味,不具備清晰感,混響時間過長會使聲音含混不清,需要合适的聲音才能圓潤動聽。

前端處理涉及的内容比較多,除了前面提到的還包括多說話人分離、說話人移動過程中的聲音采集、不同的麥克風陣列結構、各種噪聲和房間模型如何更好的模組化等。

音識别技術的研究進展

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

有了前端處理以後,回報回來的資訊會加到訓練語音識别模型,語音識别主要是建立一個聲學參數到發音單元的映射模型或者叫判别模型,現在的方法從傳統的gmm-hmm模型到dnn-hmm混合模型,再到最新的端到端的ctc相關的。語音信号經過特征提取得到聲學特征,再通過聲學特征訓練得到聲學模型,聲學模型結合語言模型以及發音辭典建構聲碼器以後,最終識别出文本。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

gmm用來對每個狀态進行模組化,hmm描述每個狀态之間的轉移機率,這樣就建構了一個音素或三因子的hmm模型模組化單元,gmm訓練速度相對較快,而且gmm聲學模型可以做得比較小,可以移植到嵌入式平台上,其缺點是gmm沒有利用真的上下文資訊,同時gmm不能學習深層的非線性特征變換,模組化能力有限。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

随着深度神經網絡的興起,深度神經網絡也應用到了語音識别裡面聲學模組化,主要是替換了gmm-hmm模型裡的gmm模型,上端仍然是hmm模型加狀态轉移,在gmm模型裡面可能有500至1萬個狀态,這個狀态可以通過dnn模型預測出每個的機率,輸出的就是一個三因子,我們兩者結合起來建構基于dnn-hmm的聲學模型。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

dnn能利用的上下文系統在輸入端進行擴幀,同時又非線性變換可以學習到,但dnn不能利用曆史資訊捕捉目前的任務,因為擴幀是有限的,不可能無限擴下去,是以他輸入的曆史資訊還是有限的。是以,自然而然的有了基于rnn的混合聲學模型,将dnn子產品替換成rnn子產品,rnn能夠有效的對曆史資訊進行模組化,并且能夠将更多的曆史資訊儲存下來,可于将來的預測。但是在rnn訓練過程中會存在梯度消失和梯度膨脹的問題,梯度膨脹可以在訓練過程中加一些限制來實作,當梯度超過一定值以後設定一個固定值,但是梯度消失很難去把握,是以有很多方法解決這種問題,比較簡單的一個方法是将裡面的rnn單元變成長短時記憶模型lstm,這樣長短時記憶模型能夠将記憶消失問題給很好的解決,但這樣會使計算量顯著增加,這也是在建構聲學模型中需要考慮的問題。

cnn用于聲學模型的模組化有一個比較老的方法,在dnn的前端加兩層的cnn變換,這樣隻對參數做了一定的非線性變換,變化完以後輸入dnn和lstm裡面,但是随着非常深的cnn在圖象識别裡面成功應用,這些也被運用到了聲學模型中,比如說谷歌、微軟、ibm均在2016年發表成果證明非常深的cnn模型已經超越其他深度神經網絡的模型,其詞錯率是最低的。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

ctc本身是一個訓練準則并不算聲學模型,在dnn輸出中,每個phone他占用的幀數可能有十幀二十幀。因為它不是一個尖峰,但ctc會把它變成一個尖峰,ctc可以将每一幀變成一個senones或者對應一個因數,但每個因數隻需幾幀就可以了,在解碼的時候可以把一些blank幀給去掉,這樣可以顯著的增加解碼速度。減少解碼幀有兩種方法,一種是通過減幀、跳幀的方法,另一種在解碼過程中有一個beam,特别是遇到beam的時候把并值減少,我們的實驗結果跳幀會比較好。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

在nlp中應用較多的attention端對端的聲學模型能夠從rnn曆史資訊中挑選出比較重要的資訊對詞學進行模組化,目前的準确率比較低,這應該是一種趨勢,至少在nlp中證明了它是比較成功的。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

在聲學模型中還有tdnn和chain模型,在聲學模型中幀及運算過程中會有一些重疊,它有效的去除了資訊備援,嵌入模型也是一個訓練準則,采用單狀态模型,融入了mmi區分資訊鍊準則,在訓練過程中可以實作跳幀,這也加快了解碼速度。總結起來現在的語音識别模型更新特别快,最重要的核心内容就是資料,如果資料量足夠大的話,做出一個好的結果還是比較容易的,而且我們現在語音識别核心子產品主要是在一些解碼子產品上調優上,這相當于是一種藝術。

語音合成技術的研究進展

語音合成是建立文本參數到聲學參數的影射模型,目前的方法有拼接合成、參數合成還有端對端的語音合成。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

基于hmm統計參數的語音合成是在訓練過程中建立文本參數,如韻律參數、普參數和基頻參數的映射模型,通過決策數聚類的方法對每一個上下文相關的文本特征建構gmm模型,訓練其gmm模型,在合成時對輸入文本預測出它的gmm以後,通過參數生成算法,生成語音參數然後再輸出語音。在這個過程中,有三個地方會産生語音音質的下降,第一是決策樹的聚類,第二是聲碼器,第三是參數生成算法,針對這三個問題,我們接下來看看各位研究者提出的解決方法。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

針對決策樹聚類的問題,我們可以将裡面的hmm決策樹據類變成一個dnn模型,文本參數到語音參數的一個映射可以很容易通過dnn來實作,而且在實驗效果會比決策樹好一點,但是并沒有達到我們理想中的那種很驚豔的一些結果。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

除了dnn,rnn也用到了統計參數語音合成中,而且rnn裡面單元采用lstm模型,我們可以把參數生成算法這個子產品從統計參數語音合成中去掉,這樣在基于lstm-rnn中直接預測出語音參數,通過聲碼器就可以合成語音,跟rnn-lstm預測出一階二階統計量以後,采用參數生成算法,生成語音參數合成語音的話效果差不多,是以rnn-lstm可以把裡面的參數生成算法給去掉。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

最近幾年大家在這方面聲碼器問題上做了很多工作,比如wavenet其實也屬于聲碼器的模型,建立一個現今預測的模型,通過前面采樣點預測出後面的采樣點,但是存在幾個問題:比如剛開始速度比較慢,這個問題後期被很多公司都解決了,而且它并不是一個傳統的vocoder,需要文本參數作為它的輸入。它有好處是在輸入過程中,可以很容易的在後端控制說話人的特征,比如不同說話人情感特征這些屬于外部特征我們都可以進行很好的加入。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

還有一個比較成功的是百度的deep voice,它将裡面的很多子產品用深度神經網絡去實作,而且做到了極緻,這樣我們在最後通過類似wavenet的合成器來合成,效果也是比較理想的。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

下面兩個端對端的語音合成:

第一個是char2wav,這個模型是直接對輸入的文本他進行編碼,采用的模型。對輸入的直接對輸入的叫字母進行編碼,然後生成中間的一個編碼資訊放到解碼器裡進行最後的合成,合成采用simplernn的合成器來合成語音,效果也是比較理想的,而且是純粹的end-to-end的一個語音合成模型。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

再一個是谷歌提出的端對端的語音合成系統,它跟char2wav比較類似,輸入的也是embeddings,合成更加直接比rnn更好。

語音合成前期工作主要放在前端文本分析上,因為我們在聽感上可能更關注,但是如果有一些很好的end-to-end的模型出來以後,文本分析的工作并不是很重要,我們也可以在後端中加入一些文本分析的結果進行預測,這即是一種嘗試,也是一種很好的辦法。現有的合成器的音質不再首先考慮我們采用哪種聲碼器,我們采用直接生成的方法在實域上直接進行合成。

語音合成更重要的是一些音庫,我們不能忽略音庫在語音合成中所占據的位置,以及它的重要性。目前,極限元智能科技語音合成定制化支援錄音人選型、錄音采集、語料标注,還能實作模型疊代訓練、合成引擎優化,支援線上、離線模式,适用多種平台

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

說話人識别也就是聲紋識别,簡單介紹一下現有的i-vector的系統以及如何将dnn應用到對應的i-vector系統,同時我們也跟蹤了最近end

to

end的一種方法。基于ivector的系統,通過ubm模型來訓練資料,然後訓練得到混合高斯模型,通過統計量的提取,比如零階一階二階我們來訓練它的差異空間t,進而提取出它的ivector,最後考慮到不同的補償方式進行信道補償,使性能更加完善,同時我們在合成端、最後識别端也可以考慮不同系統的融合提高最終的準确率。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

将dnn用到說話人識别,主要是針對ivector的系統,ubm訓練是一個無監督的訓練方式。不考慮音速相關的資訊,是以就不考慮每個人說話音速在聲學空間上法人不同,我們可以将這部分資訊運用到說話人識别中,将前面提到的ivector需要提到的臨界統計量,通過dnn模型的輸出把臨界統計量來進行替換,在訓練ivector的過程中,考慮了每個人音速,發音音速相關的不同特征,這樣會更好的對說話人進行識别。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

dnn還有一種應用形式,采用bottleneck特征替換掉原來的mfcc,plp相關的特征,這也是從音速區分性,每個人發音音速不一樣來考慮的。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

百度前段時間提到的一個deep

speaker,這部分最主要的優點是采用了triple

loss這種方法,能很好的用于訓練中。原來如果要訓練一個說話人可能是輸出是一個one-hot,但是speaker的訓練語并不是很多,是以訓練效果并不是很好,如果我們采用這種訓練誤差的,可以建構很多對訓練參數來進行訓練,這樣模型會更加棒。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

以一個簡單的智能客服平台技術原理說明它采用了基于狀态轉移圖的結構來控制對話的進行,在這個狀态轉移圖中,表示了所有對話片斷與使用者意圖之間的關系,系統根據使用者的意圖和目前知識庫中的對話片斷轉到下一個對話片斷,并根據每個狀态的定義對使用者做出應答,整個對話的過程是在狀态轉移中實作的。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

智能客服平台訓練階段主要針對本身已有的系統進行簡單的數,包括兩個虛拟人,在運作過程中對虛拟人的提問,通過關鍵詞抽取對關鍵詞進行比對,然後找到對應的它的狀态相關的資訊,得到最優問題解答再進行傳回。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

pomdp是一個六元組,包括狀态集合、觀察集合、行動集合、回報函數、轉移函數和觀測函數,根據使用者輸入語句來得到意圖分類,然後根據意圖分類得到觀測值,再通過對立面pomdp裡面的訓練分布進行更新,訓練分布與pomdp結合得到動作,分析各個子動作得到回報後再接收新的資料。比如我要去上海,它會問你從哪裡出發,用什麼交通工具,對應一些資訊,比如說查天氣,因為查天氣的時候你需要回報到是上海的天氣還是北京的天氣,這些都會根據上面的語句進行提問。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

除了前面提到語音作為主要接口的一種對話形式,我們也會考慮一些多模态相關的資訊,比如對于使用者和機器人,當中有一個人機交換屬于人機協同,但是需要處理的資訊會比較多,比如機器人會根據使用者輸出個性化聲音,同時融合多元情感融合的處理,機器人會根據你輸入的資訊進行自主學習以及智能生長,這些都是将來人機互動這塊需要考慮的問題。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

基于互動學習的知識問答和智能生長,目前最主要基于短時工作記憶,未來主要工作可能轉換到長時記憶的轉換,同時我們也能對新知識進行快速的學習和更新。

語音對話系統的技術突破點在哪?深度解讀人機互動的技術核心

我們考慮的資訊除了聽覺資訊還有視覺資訊,通過多模态融合的方法,我們也會研究在腦部這些腦區功能的一些主要關注點,這些都會成為将來的研究點。對話平台有了前面的多模态的資訊輸入,我們希望把這些都融合起來做成一個多模态融合的一個對話系統。

語音作為網際網路的重要入口,功能得到了大家越來越多的重視,當然語音産業也需要更多的人才去發展,目前對話系統的功能在體驗上有些不理想,這也是行業從業者需要考慮的問題,同時我們在将來會研究采用多模态智能生長等相關互動技術,促進人機互動的發展。

<a href="https://www.leiphone.com/news/201707/rd8swyq5qyluanx7.html">一文讀懂智能語音前端進行中的關鍵問題</a>

繼續閱讀