# 分析FST 指令 --- ``` fstprint --osymbols=data/lang/words.txt --isymbols=data/lang/phones.txt data/lang/L.fst | head ``` 輸出: ``` <start state> <end state> <input symbol> <output symbol> <cost> 0 1 <eps> <eps> 0.693147182 0 2 <eps> <eps> 0.693147182 1 2 SIL <SIL> 0.693147182 1 1 SIL <SIL> 0.693147182 1 1 i:1 一 0.693147182 1 2 i:1 一 0.693147182 1 4 i:1 一一 1 5 i:1 一一九 1 9 i:1 一一二 1 11 i:1 一一二年 ``` 上述指令,其中isymbols 是fst input的符號表, osymbols 是fst output的符號表,fprint 會依照符號表對應替換<input symbol> <output symbol>這兩個欄位 備註 --- 根據 "Chen, Guoguo, et al. "Pronunciation and silence probability modeling for ASR." Sixteenth Annual Conference of the International Speech Communication Association. 2015." 寫道, 我們可以另外算PRONUNCIATION AND SILENCE PROBABILITY, 並導入我們的L.fst中(如果沒有另外算的話, 所有的probability 會視為一樣)。 看到原本L.fst: ``` 0 1 <eps> <eps> 0.693147182 0 2 <eps> <eps> 0.693147182 1 2 SIL <SIL> 0.693147182 1 1 SIL <SIL> 0.693147182 1 1 i:1 一 0.693147182 1 2 i:1 一 0.693147182 1 4 i:1 一一 1 5 i:1 一一九 1 9 i:1 一一二 1 11 i:1 一一二年 ``` 在還有加入PRONUNCIATION AND SILENCE PROBABILITY後的結果 ``` 0 1 <eps> <eps> 1.89712 0 2 SIL <eps> 0.162518933 1 3 SIL <SIL> -0.300104588 1 4 i:1 一 0.210721031 1 5 i:1 一一 0.400477558 1 7 i:1 一一九 1 12 i:1 一一二 1 15 i:1 一一二年 1 22 i:1 一一分 1 27 i:1 一一列舉 ``` 一般來說似乎只需要好的language model就夠了,但是在論文裡面提到在英文(中文其實也有),有coarticulation(協同發音)的存在,比方說「美爽爽水粉底」第二個「爽」跟後面的「粉」都會變成要念二聲,相當於有些字在不同的位置會需要讀不同的音。 另外還有一個utterance中發音停頓的地方, 像是 "Gandalf the White said" 和 "The White House said", 前者的White後面就比較有可能會停頓所以依照這種特性就可以依照你的data設計L.fst 備註2 --- 單就Kaldi 的L.fst本身是看不出什麼端倪的, L.fst 在搭配G.fst後的LG.fst就能夠看出一些有關language model的prior -> L.fst (data/lang) ``` 0 1 <eps> <eps> 0.693147182 0 2 <eps> <eps> 0.693147182 1 2 SIL <SIL> 0.693147182 1 1 SIL <SIL> 0.693147182 1 1 i:1 一 0.693147182 1 2 i:1 一 0.693147182 1 4 i:1 一一 1 5 i:1 一一九 1 9 i:1 一一二 1 11 i:1 一一二年 ``` LG.fst ``` 0 1 SIL <eps> -0.261521399 0 2 #62 <eps> 4.5007782 1 3 A: 安慰 14.7780333 1 56289 A:1 <eps> 5.69342375 1 5 A:2 啊 7.39224339 1 6 A:4 啊 8.82395172 1 7 A:5 啊 6.71484327 1 56290 aI1 <eps> 7.60265541 1 9 aI3 欸 9.12812996 1 56291 aI4 <eps> 11.409029 ```    ###### tags: `kaldi`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up