1. 概念
發音字典(lexicon)包含了從單詞(words)到音素(phones)之間的映射,作用是用來連接聲學模型和語言模型的。
發音字典在語音識別過程中的位置如圖所示:
發音字典包含系統所能處理的單詞的集合,並標明瞭其發音。通過發音字典得到聲學模型的建模單元和語言模型建模單元間的映射關係,從而把聲學模型和語言模型連接起來,組成一個搜索的狀態空間用於解碼器進行解碼工作。
2. 字典生成
以下過程僅適用於中文語音識別的發音字典。
2.1 拼音-音素的映射
首先需要確定的是拼音到音素的轉換規則/映射關係。
可以有不同的映射關係,如漢字一的拼音 “yi1”可以對應 “ii i1”,也可以對應 “y i1”(前者是清華語音識別使用的規則)。
不同的映射關係會產生不同的識別效果。
2.2 中文詞-拼音的映射
需要列出儘可能多的中文詞及其對應的拼音,有多音字的可列出其不同組合。
2.3 g2p工具實現
通過以上兩個步驟即可實現中文詞-音素的轉換,也就是G2P(Grapheme-to-Phoneme Conversion)。
通過腳本可實現輸入中文詞,輸出對應音素的功能。
2.4 收集中文詞
發音字典需要覆蓋儘可能多的詞-音素。
可以通過之前的文章構建語言模型(二):模型訓練與評估 中的方式,將分詞後的文本語料統計各單詞及其詞頻,去掉低頻詞與過長的詞,得到中文詞表。
2.5 生成詞典
將中文詞表作爲輸入,通過g2p工具即可得到詞-音素的映射,也就是發音詞典。