文 / Google AI 軟體工程師 Alexander Gutkin

這是系列博文的第 4 期,旨在報告我們為資源匱乏的語言構建文字轉語音 (TTS) 系統所做的工作。在

第 1 期

中,我們介紹了通過眾包方式為 Project Unison 項目收集聲學數據所作的努力。在

第 2 期

中,我們介紹瞭如何根據這些數據構建參數語音。在

第 3 期

中,我們介紹了為 TTS 系統編譯發音詞典的過程

[1]

。在本期中,我們會說明如何構建能夠說多種語言的單一 TTS 系統。

[1]:相關鏈接

第一期 

https://ai.googleblog.com/2015/09/crowdsourcing-text-to-speech-voice-for.html

第二期 

https://ai.googleblog.com/2015/12/text-to-speech-for-low-resource.html

第三期 

https://ai.googleblog.com/2016/02/text-to-speech-for-low-resource.html

為任何特定語言開發 TTS 系統都是一項巨大的挑戰,並需要大量高品質錄音和語言註解。正因為如此,這些系統只適用於全球很小一部分語言。在這種情況下,自然會出現一個問題,正如我們在前三期博文中所述,相比使用來自多個語者的單語言數據為單一語言構建高品質語音,我們能否以某種方式將來自使用多種語言的多個語者的有限單語言數據合併,從而構建可以說任何語言的單一多語言語音?

根據我們對創建多語言 TTS 系統(能夠合成來自單一模型的多種語言中的語音)進行的一項初步調查,我們開發出一個

新模型

(https://ai.google/research/pubs/pub46142)

。該模型能夠對所有語言使用統一音系表徵,即國際音標 (IPA)。使用該表徵訓練的模型既可合成訓練數據中發現的語言,也能合成訓練中未觀察到的語言。這有兩大好處:首先,從相關語言匯總訓練數據會擴大音位覆蓋範圍,從而提升訓練中觀察到的語言的合成品質。其次,由於該模型包含許多匯總在一起的語言,所以 「未發現的」 語言在模型中更可能有「相關」語言,如此便可指導和幫助合成過程。  

探索緊密相關的印尼語言

我們首先將這種多語言方法應用於印尼語言,其中標準印尼語是該國的官方語言,有超過 2 億人將其作為母語或第二語言使用。作為使用人數最多的兩種印尼方言,爪哇語大約有 9000 萬母語使用者,而巽他語大約有 4000 萬母語使用者。與多年來受到計算語言學和語音學家密切關注的印尼語不同,由於缺少可用的高品質開放語料庫,目前有關爪哇語和巽他語的資源非常匱乏。我們與印尼的大學合作,通過眾包形式收集有關爪哇語和巽他語的錄音。由於標準印尼語的語料庫更加龐大,而且是在專業工作室中錄製,因此我們作出的假設是,相比使用 「經典」 單語言方法構建的系統,將三種語言結合在一起可能會帶來顯著改善。為了驗證這一假設,我們首先開始分析這三種語言音系之間的相似點和重大差異(如下所示),然後使用相關信息設計音系表徵,從而在保留重大差異的同時,讓這些語言之間實現最大程度的共享。 

以國際音標符號表示的印尼語、爪哇語和巽他語的共同音位清單  

 

將爪哇語和巽他語語音與標準印尼語一起訓練的結果遠勝於通過我們用作基線的單語言多語者語音進行訓練的模型。於是,我們在 Google 翻譯和 Android 等 Google 產品中推出爪哇語和巽他語 TTS 系統。

擴展到更多樣化的南亞語系

接下來,我們重點研究南亞語言,其中包括兩個截然不同的語系:印度雅利安語系和達羅毗荼語系。與上述印尼語言不同,這些語言之間的差別更大,特別是它們的音系之間的重疊之處明顯更小。下表顯示了我們實驗中的語言超集,其中包括所用的各種正字法,以及與表示 「文化」 的梵文單詞相關的現代單詞。這些語言在各組內均有顯著差異,但在這些組別內也有一些相似之處。

表示 「文化」 的梵文單詞在不同語言中的衍生詞

 

在這項研究中,我們使用上文提到的統一音系表徵,以充分利用我們擁有的數據,並消除特定音位數據不足的問題。我們將類似音位合併到多語言音位清單的單一代表音位中,從而實現了這一目的。我們儘可能對音系相近的語言使用相同清單。例如,我們為泰盧固語和卡納達語製作了相同的音位清單,對西孟加拉語和奧裏亞語也是如此。對於類似古吉拉特語和馬拉地語的其他語言對,我們將其中一種語言的清單複製到另一種語言,但作出一些修改,以便在他們的音位清單中反映語言差異。我們為這些實驗中的所有語言保留了一個共同的基礎表徵,以映射不同清單中的類似音位,如此一來,我們仍可使用來自一種語言的數據訓練其他語言。此外,我們還確保根據使用中的音系(而非正字法)確定相關表徵。例如,雖然在馬拉地語中,長母音和短母音有不同的字母,但它們在語感上沒有對比性,因此我們使用單一表徵來表示它們,以增加訓練數據的可靠性。同樣,如果兩種語言使用在歷史上與相同梵文字母相關的一個字元來表示不同的聲音,或使用不同字母來表示類似的聲音,則我們的映射反映出音系的相似性,而不是歷史或正字法表徵。本篇博文並不涵蓋統一音位清單的全部特點,請參閱我們

最近的論文

以瞭解詳情

(https://ai.google/research/pubs/pub47341)

描述多語言文字轉語音方法的圖表。輸入文本查詢會由特定語言的語言前端處理,以便在共享的音位表徵中生成發音,並用作不受語言影響的聲學模型輸入。然後,該模型會為各個查詢生成音頻

我們的實驗重點研究印度孟加拉語、古吉拉特語、卡納達語、馬拉雅拉姆語、馬拉地語、泰米爾語、泰盧固語和烏爾都語。除了孟加拉語和馬拉地語以外,其中大部分語言都是通過眾包方式獲取錄音數據和轉錄內容。對於其中每種語言,我們都構建了使用全部可用數據的多語言聲學模型。此外,該聲學模型還包含之前通過眾包方式收集的尼泊爾語和僧伽羅語數據,以及印地語和孟加拉國的孟加拉語數據。 實驗結果很振奮人心:對於大多數語言,多語言語音的表現超過使用傳統單語言方法構建的語音。我們對奧裏亞語開展了進一步的實驗,由於沒有訓練數據,我們通過使用南亞多語言模型來嘗試合成數據。主觀聽辨測試的結果表明,以奧裏亞語為母語的人士判定所生成的音頻可以接受,而且也能理解。我們使用多語言方法與語音團隊合作構建而成的馬拉地語、泰米爾語、泰盧固語和馬拉雅拉姆語語音已經在最近舉辦的 「Google for India」 活動中發布,且目前正在為 Google 翻譯和其他 Google 產品提供支持。 

從研究角度來看,通過眾包方式收集數據非常有趣,而且推動了我們與母語使用者社區建立有效的合作。我們對馬來-波利尼西亞、印度-雅利安和達羅毗荼語系進行的實驗表明,在大多數情況下,使用深度學習技術並通過單一的多語言聲學模型在多種語言之間分享數據,可以緩解某些困擾資源匱乏語言的嚴重數據稀缺問題,並且能夠生成可用於 Google 產品的高品質語音。

這項 TTS 研究是將語音和語言技術應用於全球更多語言的第一步,我們希望其他人也能加入到這項事業中來。為了幫助研究社區的發展,我們在 SLTU 和 Interspeech 會議上與其他研究者討論此項研究後,開放了尼泊爾語、僧伽羅語、孟加拉語、高棉語、爪哇語和巽他語語料庫的源代碼。我們計劃日後繼續推出我們項目中其他語言的更多數據集。

更多 AI 相關閱讀:

· 不受限對抗樣本挑戰賽介紹

· 概念字幕:圖像字幕製作的新數據集和挑戰

· Dopamine - 靈活、可重複的強化學習研究新框架

推薦閱讀:

相關文章