SRILM 語言模型訓練工具

2021-06-18 07:09:14 字數 875 閱讀 8688

2,安裝

make srilm=$pwd
3,配置

將bin和bin/i686-m64新增到path環境變數中

4,測試

./ngram-count -help

5,海量語料訓練

由於對於大規模語料進行語言模型的訓練,經常會導致記憶體問題。

經過測試,用srilm處理乙個3g的語料,訓練3元語言模型,32g記憶體根本就不夠用。

解決方案:把檔案給分開了,然後分別算詞頻並merge起來,做成乙個語言模型,具體參見

。操作步驟:

1 把檔案給分割開,放在乙個目錄下,然後生成乙個檔名列表檔案,如filelist ,一般使用按行分割的形式,split -l100 test.txt out

2  使用make-batch-counts分別統計各個檔案中的詞頻make-batch-countsfilelist 5 cat counts -order3,其中filelist為需要統計的檔名列表,5為檔案batch的個數,就是5個小檔案分成一組進行處理。catlmcount 表示輸出到counts,後續則是提交給ngram-count的引數,需要什麼寫什麼就行了。

3 使用merge-batch-counts合併統計檔案merge-batch-countscounts,然後在counts下把檔案都合成了乙個檔案*.gz

4 使用make-big-lm生成模型,make-big-lm -readcounts/??.gz -order 3 -lm test.lm,和ngram-count 的用法一致

參考文件:srilm 語言模型的記憶體問題

語言模型訓練工具SRILM

srilm的全稱是stanford research institute language modeling toolkit 他被用來構建和應用統計語言模型,主要用於語音識別,統計標註和切分,以及機器翻譯等工作。一 windows下編譯 ubuntu編譯,可以再52nlp中去找。vc編譯,可以再下面...

用srilm生成語言模型

srilm的主要目標是支援語言模型的估計和評測。估計是從訓練資料 訓練集 中得到乙個模型,包括最大似然估計及相應的平滑演算法 而評測則是從測試集中計算其困惑度。其最基礎和最核心的模組是n gram模組,這也是最早實現的模組,包括兩個工 具 ngram count和ngram,相應的被用來估計語言模型...

語言模型訓練

模型訓練 nohup ngram count text tieba.word.merged order 4 vocab words.txt kndiscount interpolate lm tieba.word.4gram.lm 結果測試 ngram lm tieba.word.4gram.lm ...