SRILM使用之训练无平滑语言模型

原创 2016年08月28日 22:39:09

【语料准备】
训练语料

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

【计数文件生成】 此步在实际应用中不需要

ngram-count -text corpus.txt -order 2 -write1 corpus_1gram.count -write2 corpus_2gram.count

将计数文件分别输出到1-gram文件和2-gram文件

【模型文件生成】

ngram-count -text corpus.txt -debug 2 -order 2 -addsmooth 0 -lm corpus.lm

这里使用-addsmooth 0 参数,使模型不进行平滑处理
对模型文件的分析 此处省略了一些数据,详见excel
第1部分
这里写图片描述

第2部分
这里写图片描述

这里写图片描述
第3部分
这里写图片描述

这里写图片描述

【计算测试文件困惑度】

ngram -lm corpus.lm -ppl test_corpus.txt -debug 2

这里写图片描述

其中:每一行代表可以从lm文件中查到的条件概率,第1列概率表示,第2列说明是几元条件概率,第3列概率值,第4列为概率值取对数。
logprob为整个句子的概率,它是由所有行概率值相加得到的。
ppl为困惑度,它是由公式10^-logprob/(#sen+#words)计算得到的。
以第1句话为例:ppl=10^-(-1.44716)/(1+4)=1.94729。
ppl1为困惑度,它是由公式 10^-logprob/#words计算得到的。
以第1句话为例:ppl1=10^-(-1.44716)/4=2.30033。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

语言模型训练工具SRILM详解

SRILM是著名的约翰霍普金斯夏季研讨会(Johns Hopkins Summer Workshop)的产物,诞生于1995年,由SRI实验室的Andreas Stolcke负责开发维护。 关于SR...

语言模型的评估-困惑度

语言模型评价 语言模型构造完成后,如何确定好坏呢? 目前主要有两种评价方法: 实用方法:通过查看该模型在实际应用(如拼写检查、机器翻译)中的表现来评价,优点是直观、实用,缺点是缺乏针对性、...

语言模型srilm(三) 折扣平滑算法

一、概况在训练语言模型的时候有几个常用词:折扣(discounting)、平滑(smoothing)、插值(interpolate),下面用一个例子简单介绍一下。 我们的训练语料里面有“a、b、c、...
  • xmdxcsj
  • xmdxcsj
  • 2015年12月21日 18:06
  • 2817

Mac OSX下安装配置SRILM语言模型训练工具

OS 下安装配置SRILM语言模型工具的步骤详解
  • codia1
  • codia1
  • 2017年03月14日 16:09
  • 996

语言模型训练工具SRILM详解

SRILM是著名的约翰霍普金斯夏季研讨会(Johns Hopkins Summer Workshop)的产物,诞生于1995年,由SRI实验室的Andreas Stolcke负责开发维护。 关于SR...

srilm建立语言模型

reference:  http://blog.csdn.net/zhoubl668/article/details/8365716 测试数据可以从这个网站下载: http://www.sta...

SRILM语言模型格式解读

先看一下语言模型的格式 [html] view plaincopyprint? \data\  ngram 1=64000  ngram 2=522530  ngram 3=1734...

语言模型srilm(二) prune剪枝

为什么引入剪枝传统的N-gram backoff模型,提升性能的两条主要路径是增加阶数和增加语料,两者带来的共同副作用是增加了模型的大小,进而增加了语音识别解码器的内存占用。为了减少模型的大小,同时保...
  • xmdxcsj
  • xmdxcsj
  • 2015年12月15日 22:29
  • 2416

语言模型srilm(一) 基本用法

一、基本训练基本参数##功能 #读取分词后的text文件或者count文件,然后用来输出最后汇总的count文件或者语言模型 ##参数 #输入文本: # -read 读取count文件 # -te...
  • xmdxcsj
  • xmdxcsj
  • 2015年12月18日 18:30
  • 4342

SRILM语言模型工具

最近学习了一下SRILM的源代码,分享一下学习笔记(最新完整版本),希望能够对大家了解SRI语言模型训练工具有些许帮助。限于本人水平,不足之处,望大家多多指教。 笔记的主要内容使用starUML及其逆...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SRILM使用之训练无平滑语言模型
举报原因:
原因补充:

(最多只允许输入30个字)