htk網路和解碼原始碼(三 語言模型)

2021-07-02 19:34:17 字數 1150 閱讀 5366

1.      結構體

l  對於所有的1gram

arpa檔案中的每一行的每乙個單詞依次編號,lablist[lmid]和wordlist[lmid]存放標號lmid對應的labid和word。

unigrams 存放乙個單詞(lmid)對應的所有的發音(pronid多個)的一元概率。

l  對於高階gram

word存放所有的word(比如「北京 天氣」這個2gram,word[0]=「北京」,word[1]=」天氣」)。

l  pronid和lmid的對應關係

pronid 對應於詞典裡的一條發音

lmid 對應於語言模型裡的一條word

對應的pronid <=>pronid2lmid<=>對應的lmid=> lablist[lmid]和wordlist[lmid]

2.      函式

l  logfloat lmtransprob_ngram (fslm *lm, lmstate src, pronid pronid,lmstate *dest)

流程:一開始src為0xffffffff,對應的dest為;

如果src為空,說明是一元,直接返回一元得分;

如果src(比如對應於「北京」)不為空,說明是多元:pronid(比如對應於「天氣」)對應的se如果在src中,說明存在src+pronid的詞條,直接返回src中se對應的得分(「北京天氣」這個2gram的得分),返回的dest對應於src+pronid(「北京天氣」);反之(比如pronid對應於「吃飯」),說明不存在,需要使用回退(p(吃飯|北京)=p(吃飯)+bow(北京)),返回的dest對應於pronid不回退的最多的gram(比如返回「吃飯」)。

l  logfloat lmlookahead_2gram (fslm *lm, lmstate src, pronid minpron,pronid maxpron)

流程:遍歷minpron到maxpron,如果在src的se,使用se對應的得分,否則使用回退,找出範圍內最高的得分。

1.      結構體

RTEMS BBB(三) 原始碼和BSP

cd home development rtems export path home development rtems 4.11 bin path 新增工具鏈路徑到環境變數,可以用echo命令檢視一下 git clone git rtems src remote counting objects ...

分布式 DBLE 網路模組原始碼解析(三)

熱愛技術 樂於分享的技術人,目前主要從事資料庫相關技術的研究。在前兩篇文章中,主要講了網路 io 的基礎知識,以及 dble 網路模組的原始碼分析,本篇作為 dble 網路模組原始碼解析的第三篇,也是最後一篇,主要對 dble 網路模組知識作個簡單概括及總結。我們先來看下網路模組涉及到的主要類圖 d...

unix網路程式設計書籍原始碼編譯和測試

我在本人的資源中上傳乙份unix網路程式設計的原始碼,當然也是我從網上就可以找的,放在這裡是為了大家尋找方便點,如下 unix網路程式設計這本書的原始碼類似於很多系統軟體的原始碼組織。首先拿到原始碼之後閱讀原始碼的readme檔案。configure try to figure out all im...