WFST語(yǔ)言模型表示形式
- arpa語(yǔ)言模型格式如下
\data\
ngram 1=5
ngram 2=3
ngram 3=2
\1-grams:
-1.3683 <s> -2.5372
-1.6684 </s> -2.2373
-1.5682 A -2.8371
-1.4681 B -2.9370
-1.0681 C -2.0370
\2-grams:
-3.4627 A B -0.9884
-3.8627 A C -0.4884
-3.1627 B C -0.5884
\3-grams:
-4.3813 A B C
-4.4782 A C B
\end\
- arpa2fst轉(zhuǎn)換后的WFST如下
狀態(tài)與詞歷史對(duì)應(yīng)關(guān)系如下表:
狀態(tài)編號(hào) | 詞歷史 |
---|---|
0 | - |
4 | A |
5 | B |
6 | C |
7 | AB |
8 | AC |
9 | BC(ABC) |
10 | CB(ACB) |
幾點(diǎn)說(shuō)明
- WFST中每一個(gè)狀態(tài)有兩種身份:作為發(fā)射狀態(tài)時(shí)永部,表示詞歷史屑宠;作為到達(dá)狀態(tài)時(shí),表示語(yǔ)言模型中的一個(gè)文法條目(準(zhǔn)確的說(shuō)是和發(fā)射狀態(tài)一起組成語(yǔ)言模型中的一個(gè)文法條目)
- WFST中沒(méi)有表示最高元文法的狀態(tài)(例如三元文法)扁远,因?yàn)樽罡咴姆ú粫?huì)作為詞歷史出現(xiàn)汽烦,不滿足上一條所說(shuō)的條件悠反。三元文法A B C的狀態(tài)是從AB表示的狀態(tài)到BC表示狀態(tài)的一條發(fā)射邊(見(jiàn)上表)坷衍。
- backoff權(quán)重的理解:若三元文法A B D不存在,此時(shí)詞歷史是A B苫亦,因此要回退到以B為詞歷史的文法毛肋,而回退權(quán)重是現(xiàn)在詞歷史A B所關(guān)聯(lián)的回退權(quán)重,計(jì)算公式如下:
prob(D|A B) = backoff(A B)*prob(D|B) if (A B D) do not exist
因此最高元文法沒(méi)有回退權(quán)重屋剑,因?yàn)樽罡咴姆](méi)有詞歷史的身份润匙。根據(jù)以上的理解,WFST中表示回退是從A B表示的狀態(tài)到B表示的狀態(tài)的一條空邊唉匾,邊上的權(quán)重為backoff-weight
arpa2fst
arpa2fst程序會(huì)將apra語(yǔ)言模型轉(zhuǎn)換為上圖中的fst形式孕讳。
如果添加選項(xiàng)arpa2fst --disambig-symbol=#0指定#0,則會(huì)進(jìn)行以下處理:
- 刪除空邊肄鸽,即一個(gè)狀態(tài)上只發(fā)出空邊也就是回退邊(例如上圖中的狀態(tài)10)卫病,則刪除該邊并狀態(tài)合并。從語(yǔ)義上講典徘,這實(shí)際是刪除了不存在的二元詞歷史所映射的狀態(tài),達(dá)到減小狀態(tài)數(shù)的目的益咬。
- 用特殊符號(hào)#0替換回退邊上的輸入空符號(hào)
- 將開(kāi)始結(jié)束標(biāo)簽<s> </s>替換為空
處理后的G.fst如下: