新聞中心

        EEPW首頁 > 業界動態 > Nikko Strom揭秘語音識別技術:Alexa是怎樣煉成的?

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

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

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

        本文引用地址:http://www.104case.com/article/201703/345967.htm

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

          

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

         

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

          “錨定嵌入”

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

          

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

         

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

          “雙連音片段”

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

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

          

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

         

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

          

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

         

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


        上一頁 1 2 下一頁

        關鍵詞: Alexa 語音識別

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 会宁县| 大厂| 策勒县| 美姑县| 枣阳市| 读书| 苍梧县| 师宗县| 河津市| 泰州市| 浦江县| 阳西县| 新兴县| 三原县| 曲沃县| 达尔| 镇康县| 陕西省| 新巴尔虎左旗| 桂平市| 温州市| 治多县| 宝丰县| 朝阳县| 岳池县| 依兰县| 祁东县| 永宁县| 中方县| 丰镇市| 屯昌县| 新乐市| 新干县| 安宁市| 山西省| 大余县| 邻水| 盐边县| 雷山县| 佛坪县| 武定县|