当前位置:   article > 正文

【ubuntu】在Ubuntu上安装SRILM_ubuntu 装srilm

ubuntu 装srilm

在Ubuntu上安装SRILM

下载最新版本的SRILM,官方链接可能已经失效,github上有srilm-1.7.1版本,将下载的文件移至/Home。
打开终端,输入以下命令(默认目录为 /usr/share/srilm,如果要更改,需将其替换为对应的路径):

mkdir /usr/share/srilm
mv srilm-1.7.1.tar.gz /usr/share/srilm/
cd /usr/share/srilm
tar xvf srilm-1.7.1.tar.gz
  • 1
  • 2
  • 3
  • 4

打开Makefile文件

sudo gedit Makefile
  • 1

修改Makefile:在第7行中,查找以下内容

# SRILM = /home/speech/stolcke/project/srilm/devel
  • 1

删除#并替换为此行:

SRILM = /usr/share/srilm
  • 1

保存并关闭文件。返回终端,使用超级用户权限sudo。如果遇到错误tcsh: command not found,请在再次尝试之前键入sudo apt-get install tcsh。如果您使用的是Ubuntu 32位:

sudo tcsh
sudo make NO_TCL=1 MACHINE_TYPE=i686-gcc4 World
sudo ./bin/i686-gcc4/ngram-count -help
  • 1
  • 2
  • 3

或者,如果它是Ubuntu 64位:

sudo tcsh
sudo make NO_TCL=1 MACHINE_TYPE=i686-m64 World
sudo ./bin/i686-m64/ngram-count -help
  • 1
  • 2
  • 3

设置环境变量

vi ~/.bashrc

SRILM=/usr/share/srilm
MACHINE_TYPE=i686-m64
export PATH=.:$PATH:$SRILM/bin/$MACHINE_TYPE:$SRILM/bin
  • 1
  • 2
  • 3

source ~/.bashrc

检查是否安装成功,输出用法信息表示成功安装

ngram-count -help
  • 1

用srilm训练和预测——一个简单的例子

下载并查看训练集和测试集

### 下载训练集和测试集
$ wget http://idiom.ucsd.edu/~rlevy/teaching/2015winter/lign165/lectures/lecture13/toy-example/corpus.txt
$ wget http://idiom.ucsd.edu/~rlevy/teaching/2015winter/lign165/lectures/lecture13/toy-example/test_corpus.txt
### 查看训练集
$ cat corpus.txt 
dogs chase cats
dogs bark
cats meow
dogs chase birds
cats chase birds
dogs chase the cats
the birds chirp
### 查看测试集
$ cat test_corpus.txt 
cats meow
dogs chase the birds
### 统计词典文件并查看
$ ngram-count -text corpus.txt -order 2 -write1 corpus_1gram.count -write2 corpus_2gram.count
$ cat corpus_1gram.count
<s>     7
dogs    4
chase   4
cats    4
</s>    7
bark    1
meow    1
birds   3
the     2
chirp   1
$ cat corpus_2gram.count
<s> dogs        4
<s> cats        2
<s> the 1
dogs chase      3
dogs bark       1
chase cats      1
chase birds     2
chase the       1
cats </s>       2
cats meow       1
cats chase      1
bark </s>       1
meow </s>       1
birds </s>      2
birds chirp     1
the cats        1
the birds       1
chirp </s>      1
### 统计词典文件,输出为模型文件格式
$ ngram-count -text corpus.txt -debug 2 -order 2 -addsmooth 0 -lm corpus.lm
corpus.txt: line 8: 7 sentences, 20 words, 0 OOVs
0 zeroprobs, logprob= 0 ppl= 1 ppl1= 1
using AddSmooth for 1-grams
using AddSmooth for 2-grams
discarded 1 2-gram contexts containing pseudo-events
writing 10 1-grams
writing 18 2-grams
### 计算测试集两个句子的困惑度
$ ngram -lm corpus.lm -ppl test_corpus.txt -debug 2
reading 10 1-grams
reading 18 2-grams
cats meow
        p( cats | <s> )         = [2gram] 0.285714 [ -0.544068 ]
        p( meow | cats ...)     = [2gram] 0.25 [ -0.60206 ]
        p( </s> | meow ...)     = [2gram] 1 [ 0 ]
1 sentences, 2 words, 0 OOVs
0 zeroprobs, logprob= -1.14613 ppl= 2.41014 ppl1= 3.74166

dogs chase the birds
        p( dogs | <s> )         = [2gram] 0.571429 [ -0.243038 ]
        p( chase | dogs ...)    = [2gram] 0.75 [ -0.124939 ]
        p( the | chase ...)     = [2gram] 0.25 [ -0.60206 ]
        p( birds | the ...)     = [2gram] 0.5 [ -0.30103 ]
        p( </s> | birds ...)    = [2gram] 0.666667 [ -0.176091 ]
1 sentences, 4 words, 0 OOVs
0 zeroprobs, logprob= -1.44716 ppl= 1.94729 ppl1= 2.30033

file test_corpus.txt: 2 sentences, 6 words, 0 OOVs
0 zeroprobs, logprob= -2.59329 ppl= 2.10941 ppl1= 2.70529
从训练结果文件你是不是已经看出来,n-gram模型就是数数,以前ZW的领导一听我跟同事说没啥神奇的就是数数,还不爱听,估计是怕我把真话说了,就没法装大尾巴狼了。其实就是那个二锅头兑的那个白开水。预测的时候就是做做四则运算。显然文件corpus_1gram.count保存的是所有1-gram词语的频次,文件corpus_2gram.count保存的是所有2-gram词组的频次。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号