当前位置:   article > 正文

使用SRILM 工具对n-gram建模实战_srilm预测文本

srilm预测文本

#

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/562374
推荐阅读
  

闽ICP备14008679号