使用SRILM 工具对n-gram建模实战

#

SRILM对 n-gram建模实战

@(作者:朝天椒)[WeChat:skyloving123||财天椒]


n-gram模型介绍

  • n-gram模型是一种统计语言模型,用于预测给定一个文本序列中下一个词或单词序列的概率。对于一元n-gram模型它基于一种假设:当前词的出现只与之前的n-1个词相关,具体的公式如下所示:
    在这里插入图片描述

  • 二元gram模型的具体公式如下所示:
    在这里插入图片描述

  • 三元gram模型的具体公式如下所示:
    在这里插入图片描述

  • 具体训练实现时,将文本语料中的数据通过上述的办法进行统计计算出相关的条件概率值,具体如下所示:
    在这里插入图片描述

SRILM工具训练n-gram

SRILM工具的下载安装

  • 安装连接:https://github.com/gsayer/SRILM
  • 安装步骤如下所示:
  • .修改Makefile文件
    将makefile文件中的SRILM那行注释打开,并将SRILM安装包解压的目录的绝对路径赋给该值,如下:RRILM=/Users/xxx/git_code/SRILM
  • 编译, 在SRILM目录下,执行 : make , 成功后,会在SRILM根目录下生成bin、lib、include3个目录
  • . 配置环境变量,在macbook下编辑~/.bash_profile
    MACHINE_TYPE=macosx
    SRILM=/Users/xxx/git_code/SRILM
    export PATH=.: S R I L M / b i n / {SRILM}/bin/ SRILM/bin/MACHINE_TYPE: S R I L M / b i n : {SRILM}/bin: SRILM/bin:PATH
    export MANPATH= M A N P A T H : MANPATH: MANPATH:{SRILM}/man
  • 测试编译的可执行文件, make test, 如果各项都出现为IDENTICAL则表示编译成功
  • 执行source ~/.bash_profile,就可以使用srilm工具了

SRILM进行语言模型建模

  • 具体的步骤如下所示:
1. 统计文本中单词的词频矩阵和个数
ngram-count -text ab -order 3 -order 3 -write ab.count
2. 根据词频矩阵和个数训练语言模型
ngram-count -read ab.count -order 3 -lm ab.en.lm -interpolate -kndiscount
3. 对训练好的语言模型进行困惑度的计算
ngram -ppl news.test -order 3 -lm news.train.lm > news.test.ppl
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只红花猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值