srilm 閱讀文件11

2021-05-25 08:37:54 字數 1936 閱讀 7619

lmstats.h lmstats.cc

--------------------------------------

1、概述

--------------------------------------

這兩個檔案主要定義了語言模型中用於對句子,文字

和詞的統計分析的介面。

lmstats類

該類提供了如下函式

a) 建構函式

b) 析構函式

c) 基於詞的countsentence純虛函式

d) 基於詞索引的countsentence純虛函式

e) 基於句子countstring統計函式

f) 基於檔案的countfile統計函式

g) 讀檔案read純虛函式

h) 寫檔案write純虛函式

--------------------------------------

2、函式功能解釋

--------------------------------------

a) 建構函式

0  lmstats::lmstats(vocab &vocab)

1        : vocab(vocab), openvocab(true)

2  功能:建構函式,初始化成員變數值

細解:第1行通過成員初始化列表的方式,對成員變數vocab和openvocab初始化

第3-4行分別將addsentstart和addsentend成員初始化為true。

e) 基於句子countstring統計函式

0  unsigned int

1  lmstats::countstring(char *sentence)

2   else

13 }

細解:第3行在堆上分配了乙個金泰的字串指標buffer,用於儲存分析出的詞

第6行呼叫vocab物件的成員函式parsewords分析出sentence中的每乙個詞並將其

儲存到words中。(注:由於parsewords內部是通過呼叫strtok來分析句子的,

而strtok本身並不會分配記憶體,只是修改了句子中分隔符的內容,同時進行了指標

偏移操作,因此這裡不存在記憶體洩漏問題)

第8-10行判斷howmany是否達到了每一句詞的上限,如果達到了該上限,則返回0。

否則執行第11行。

第11行通過呼叫基於詞的countsentence函式更新相關詞的統計量。

f) 基於檔案的countfile統計函式

0  unsigned int

1  lmstats::countfile(file &file)

2   else  

18    }

19     if (debug(debug_print_textstats))

22     return numwords;

23 }

細解:第6-18行迴圈處理檔案中每一句,並更新分析出的詞的相應統計量

第6行呼叫file物件的成員函式getline從檔案中讀出每一行。

第7行呼叫基於句子的countstring函式分析每一句中的詞,同時更新相應

詞的統計量,並儲存分析出的詞數。

第16行記錄當前檔案中的詞數。

第19-21行根據分析結果輸出當前檔案的狀態資訊,主要是perpelxity值。

--------------------------------------

知識點:

-------------------------------------- 基類

本類是乙個基類,宣告了一些純虛函式,這些純虛函式的實際實現由子

類來定義,同時定義了一些子類公用的函式。該方法很好地體現了物件導向

的程式設計思想。

lmstats基類中定義了vocab成員物件,該物件主要用於後面ngram統計時

的字串到索引的對映。

srilm 閱讀文件13

textstats.h textstats.cc 1 概述 這兩個檔案定義了乙個textstats類,該類主要用於計算句子集 的perplexity值。textstats類 該類提供了如下函式 a 建構函式 b 重置函式 c 疊加函式 d 過載的全域性輸出運算子 2 函式功能解釋 a 建構函式 0 ...

fedora chm 文件 閱讀

感冒了,疼痛的要命,沒法正常幹活,只能看看文件.沒辦法,裝乙個 1.yum 搜尋一下,看看fedora倉庫中有什麼是跟chm相關的 yum search chm 結果挺多,有幾項看著是 kchmviewer qt.x86 64 qt4 based chm viewer chm2pdf.noarch ...

閱讀英文文件

我對這個是沒什麼了解的,而且重要的是,決定採用乙個很新的技術,這意味著,使用者很少,文件不齊全。我了解的渠道就是官方文件,在此期間,我碰到了很多意想不到的問題,在此積累,希望能夠突破。英文單詞積累不足 猜詞能力弱 英語的理解力 想象力 弱 讀的不夠多 不僅如此,不能夠理解問題或bug後面隱藏的問題,...