[html] view plaincopyprint?
\data\
ngram 1=64000
ngram 2=522530
ngram 3=173445
\1-grams:
-5.24036 'cause -0.2084827
-4.675221 'em -0.221857
-4.989297 'n -0.05809768
-5.365303 'til -0.1855581
-2.111539 0.0
-99 -0.7736475
-1.128404 -0.8049794
-2.271447 a -0.6163939
-5.174762 a's -0.03869072
-3.384722 a. -0.1877073
-5.789208 a.'s 0.0
-6.000091 aachen 0.0
-4.707208 aaron -0.2046838
-5.580914 aaron's -0.06230035
-5.789208 aarons -0.07077657
-5.881973 aaronson -0.2173971
具體說明見 :arpa的n-gram語言模型格式
n-gram的資料結構如下:
typedef struct
arpalmentry ;
words,表示當前的n-gram所涉及的單詞,如果是1-gram,那就只有乙個,如果是2-gram,那麼words就包括這兩個單詞的序號。
log_bo,表示ngram的回退概率。
log_prob,表示ngram的組合概率。
多個項組成的整個n-gram語言模型的資料結構如下:
[cpp] view plaincopyprint?
class arpalm
vocab,用於構建語言模型的詞典指標。詞典定義見:詞典記憶體儲存模型
entries,語言模型的所有ngram項,是arpalmentry型別的乙個二維陣列。entries[0]儲存1-gram,entries[1]儲存2-gram,依此類推。
n_ngrams,整型陣列,依次包含1-gram,2-gram,3-gram,....所包含的ngram項個數。
unk_wrd,詞典中可以不在語言模型中的詞。
unk_id,詞典中可以不在語言模型中的詞的id,這個id指定為詞典的最後乙個詞序號。
n_unk_words,在讀語言模型之後,統計在詞典中,但沒有用來建立語言模型的詞個數,如果沒有指定unk_wrd的話,是不允許的,就表示所有的詞典中的詞都應該用來建語言模型。
unk_words,儲存6中統計的詞序號。
words_in_lm,這個標識詞典中的詞是否在語言模型**現。
資料結構 資料結構的概述
一 概述 什麼是資料結構 資料 由有限的符號 比如,0 和 1 具有其自己的結構 操作 和相應的語義 組成的元素的集合。結構 元素之間的關係的集合。資料結構 資訊的一種組織方式,其目的是為了提高演算法的效率,它通常與一組演算法的集合相對應,通過這組演算法集合可以對資料結構中的資料進行某種操作。它用來...
資料結構 資料結構的三大結構
計算機程式設計 資料結構 演算法 資料結構研究變數的管理方式,演算法研究解決特定問題的方法。資料結構分三個層次 邏輯結構 抽象層 物理結構 結構層 運算結構 實現層 邏輯結構指人對資料之間關係的理解和看法,邏輯結構和計算機無關。邏輯結構 1 集合結構 這種結構表示資料可以合併成乙個整體。這是資料之間...
資料結構 資料結構緒論
資料結構是相互間存在一種或多種特定關係的資料元素的集合。程式設計 資料結構 演算法 資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題的學科。資料元素是組成資料的 有一定意義的基本單位,是計算機中通常作為整體處理,也被稱為記錄。乙個資料元素可以由若干個資料項組...