CMU Sphinx 語音識別入門:構建拼音字典

簡介

??拼音字典(phonetic dictionary,我自己是這么翻譯的,可能不準確,能力所限,勿噴_)為語音識別系統提供了語音音素向詞匯表的映射。大致形式如下:

hello H EH L OW
world W ER L D

??拼音字典可以同時包含多音字,這種情況下,可以用括號中的數字來指定多音字。例如:

the TH IH
the(2) TH AH

??語音拼音有多種表示方式,如:IPA和SAMPA。CMUSphinx 不需要我們去使用任何高級的語音表示方式,它更傾向于單純使用字母而不是特殊字符來表示。這樣可以簡化一下處理算法。
??在語音識別實際應用中,拼音字典應該包含所有我們感興趣的單詞,否則這些單詞將不能被識別出來。當然,僅僅在拼音字典中囊括這些單詞也是不行的,因為識別器會同時從拼音字典和語音模型中進行檢索,如果該單詞不在語音模型中,即使這個單詞在拼音字典中,也不能被識別出來。當然,我們也不需要為了節約存儲空間而將拼音字典中不需要識別的單詞移除,這樣做其實對提升性能沒有任何太大的意義,因為多余的單詞并不影響識別的準確率。

使用現有模型

??CMUSphinx提供了大量可以支持的語言的拼音字典,包括US English, French, German, Russian, Dutch, Italian, Spanish and Mandarin(中文)。除了上述的拼音字典外,CMUSphinx提供了構件新的拼音字典或擴展現有字典的方法。

使用g2p-seq2seq擴展拼音字典

??目前有許多工具可以用于擴展現有的拼音字典或構建新的拼音字典,PhonetisaurusSequitur是其中的兩個,這里推薦使用CMU最新版本的g2p-seq2seq。它是目前轉換精度最好的基于神經網絡實現的tensorflow框架。
??查看G2P工具如何工作的,可以使用交互模式:

g2p-seq2seq --interactive --model model_folder_path

> hello
HH EH L OW

用訓練好的G2P模型生成單詞列表的發音的命令如下:

g2p-seq2seq --decode your_wordlist --model model_folder_path

??單詞列表的格式為每行一個單詞或文字。為了訓練G2P模型,需要一個拼音字典,然后用以下命令進行訓練:

g2p-seq2seq --train train_dictionary.dic --model model_folder_path

??最后,至于拼音字典如何生成,每個語音有不同的生成方式,一般都跟發音方式有關。具體的可以去百度或者維基百科搜索。

參考:https://cmusphinx.github.io/wiki/tutorialdict/

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,132評論 25 708
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,886評論 18 139
  • 長的美也許苦難多,但穿的美一定運氣好。前者傻白甜活不過兩集很容易理解,高智商心機girl修煉為人生贏家也是有科學道...
    天青色Gracy閱讀 511評論 4 5
  • 介紹 在 JSON 出現以前,XML 是互聯網上傳輸結構化數據的標準,不過在 JSON 出現之后這種情況就改變了,...
    ghwaphon閱讀 407評論 0 3
  • 說兩句 先放上花不少功夫做的期末總結圖。我們東北大學老師給了兩年的試卷。。根據兩年的試卷我將題目分布標記在了總結圖...
    梁思宇閱讀 740評論 0 2