新聞中心

EEPW首頁 > 業(yè)界動態(tài) > Nikko Strom揭秘語音識別技術:Alexa是怎樣煉成的?

Nikko Strom揭秘語音識別技術:Alexa是怎樣煉成的?

作者: 時間:2017-03-30 來源:雷鋒網 收藏

  聲學模型就是一個分類器(classifier),輸入的是向量,輸出的是語音類別的概率。這是一個典型的神經網絡。底部是輸入的信息,隱藏層將向量轉化到最后一層里的音素概率。

本文引用地址:http://m.butianyuan.cn/article/201703/345967.htm

  這里是一個美式英語的 系統(tǒng),所以就會輸出美式英語中的各個音素。在 Echo 初始發(fā)布的時候,我們錄了幾千個小時的美式英語語音來訓練神經網絡模型,這個成本是很高的。當然,世界上還有很多其它的語言,比如我們在2016年9月發(fā)行了德語版的Echo,如果再重頭來一遍用幾千個小時的德語語音來訓練,成本是很高的。所以,這個神經網絡模型一個有趣的地方就是可以“遷移學習”,你可以保持原有網絡中其它層不變,只把最后的一層換成德語。

  

Nikko Strom揭秘語音識別技術:Alexa是怎樣煉成的?

 

  兩種不同的語言,音素有很多是不一樣的,但仍然有很多相同的部分。所以,你可以只使用少量的德語的訓練數據,在稍作改變的模型上就可以最終得到不錯的德語結果。

  “錨定嵌入”

  在一個充滿很多人的空間里, 需要弄清楚到底誰在說話。開始的部分比較簡單,用戶說一句喚醒詞“”,Echo上的對應方向的麥克風就會開啟,但接下來的部分就比較困難了。比如,在一個雞尾酒派對中,一個人說“Alexa,來一點爵士樂”,但如果他/她的旁邊緊挨著同伴一起交談,在很短的時間里都說話,那么要弄清楚到底是誰在發(fā)出指令就比較困難了。

  

Nikko Strom揭秘語音識別技術:Alexa是怎樣煉成的?

 

  這個問題的解決方案來自于2016年的一份論文《錨定語音檢測》(Anchored Speech Detection)。一開始,我們得到喚醒詞“Alexa”,我們使用一個RNN從中提取一個“錨定嵌入”(Anchor embedding),這代表了喚醒詞里包含語音特征。接下來,我們用了另一個不同的RNN,從后續(xù)的請求語句中提取語音特征,基于此得出一個端點決策。這就是我們解決雞尾酒派對難題的方法。

  “雙連音片段”

  Alexa里的語音合成技術,也用在了Polly里。語音合成的步驟一般包括:

  第一步,將文本規(guī)范化。如果你還記得的話,這一步驟恰是對“”里的最后一個步驟的逆向操作。 第二步,把字素轉換成音素,由此得到音素串。 第三步是關鍵的一步,也是最難的一步,就是將音素生成波形,也就是真正的聲音。 最后,就可以把音頻播放出來了。

  

Nikko Strom揭秘語音識別技術:Alexa是怎樣煉成的?

 

  Alexa擁有連續(xù)的語音合成。我們錄下了數小時人的自然發(fā)音的音頻,然后將其切割成非常小的片段,由此組成一個數據庫。這些被切割的片段被稱為“雙連音片段”(Di-phone segment),雙連音由一個音素的后半段和另一個音素的前半段組成,當最終把語音整合起來時,聲音聽起來的效果就比較好。

  

Nikko Strom揭秘語音識別技術:Alexa是怎樣煉成的?

 

  創(chuàng)建這個數據庫時,要高度細致,保證整個數據庫里片段的一致性。另外一個重要環(huán)節(jié)是算法方面的,如何選擇最佳片段序列結合在一起形成最終的波形。首先要弄清楚目標函數是什么,來確保得到最合適的“雙連音片段”,以及如何從龐大的數據庫里搜索到這些片段。比如,我們會把這些片段標簽上屬性,我今天會談到三個屬性,分別是音高(pitch)、時長(duration)和密度(intensity),我們也要用RNN為這些特征找到目標值。之后,我們在數據庫中,搜索到最佳片段組合序列,然后播放出來。


上一頁 1 2 下一頁

關鍵詞: Alexa 語音識別

評論


相關推薦

技術專區(qū)

關閉