textstats.h textstats.cc
--------------------------------------
1、概述
--------------------------------------
這兩個檔案定義了乙個textstats類,該類主要用於計算句子集
的perplexity值。
textstats類
該類提供了如下函式
a) 建構函式
b) 重置函式
c) 疊加函式
d) 過載的全域性輸出運算子<<
--------------------------------------
2、函式功能解釋
--------------------------------------
a) 建構函式
0 textstats() : prob(0.0), zeroprobs(0),
1 numsentences(0), numwords(0), numoovs(0)
2
功能:用於初始化剛建立的textstats物件
細解:第0-1行通過成員初始化列表的方式初始化textstats物件
的成員變數。
b) 重置函式
0 void reset()
1 功能:用於將當前物件的成員變數值置為0。
細解:第2-3行充分利用了','運算子和'='運算子的特性,將各成員
變數值置為0。
c) 疊加函式
0 textstats &
1 textstats::increment(const textstats &stats)
2 功能:將傳入的textstats物件的成員變數值疊加到當前物件中
細解:第3-7行將stats中的成員變數值疊加到當前物件中。
第8行返回當前物件的引用。
d) 過載的全域性輸出運算子<<
0 ostream &
1 operator<< (ostream &stream, const textstats &stats)
2 else 19
20 denom -= stats.numsentences; 21
22 if (denom > 0) else 27
28 stream << endl;
29 }
30 return stream;
31 }
功能:用於對當前物件中的成員變數進行perplexity計算,同時輸出計算結果
細解:第4-6行首先輸出當前物件中的各成員變數值。
第7-29行輸出通過對當前物件成員變數呼叫logptoppl進行perplexity計算的結果。
第30行返回輸出流stream的引用。
--------------------------------------
知識點:
--------------------------------------
perplexity 計算
本類通過呼叫logptoppl對已經求好p(w1...wn)^1/n運算的概率計算其倒數來求得
當前分析文字的perplexity。通過運算「stats.prob / denom」可以發現,當前求出的
perplexity是對每個詞來說的,如果使用編碼的方法來表達該概念,即每個詞需要用
幾個位元組來表示,因此每個詞的perplexity越小,其所需的編碼位也越少,這樣也就
說明了當前的語言模型能比較好地表達該文字。
srilm 閱讀文件11
lmstats.h lmstats.cc 1 概述 這兩個檔案主要定義了語言模型中用於對句子,文字 和詞的統計分析的介面。lmstats類 該類提供了如下函式 a 建構函式 b 析構函式 c 基於詞的countsentence純虛函式 d 基於詞索引的countsentence純虛函式 e 基於句子...
fedora chm 文件 閱讀
感冒了,疼痛的要命,沒法正常幹活,只能看看文件.沒辦法,裝乙個 1.yum 搜尋一下,看看fedora倉庫中有什麼是跟chm相關的 yum search chm 結果挺多,有幾項看著是 kchmviewer qt.x86 64 qt4 based chm viewer chm2pdf.noarch ...
架構閱讀筆記13
閱讀筆記 微服務好處 實現跨團隊的解藕,實現更高的併發 目前單機只能實現c10k 不用在拷貝 基礎服務可以公用,更好的支援服務治理,能夠更好的相容雲計算平台。rpc 向呼叫本地方法一樣呼叫遠端函式。客戶端 一般利用動態 生成乙個介面的實現類,在這個實現類裡通過網路把介面名稱,引數,方法序列化後傳出去...