当前位置:   article > 正文

【srilm语言模型训练】基于srilm的语言模型训练_怎么利用srilm分别训练基于单词和基于字符的ngram的语言模型

怎么利用srilm分别训练基于单词和基于字符的ngram的语言模型

准备

srilm是一个语言模型训练工具,在训练模型之前需要对文本数据进行处理,得到分好词的文本数据。分好词的文本数据大概是下图这样。关于srilm的安装和配置可以在其他博客学习。
在这里插入图片描述
同时,我们还需要准备一个词典lexicon.txt,大家可以自行建立自己的词典或者获取其他已经建立好的词典作为lexicon。词典在这里的作用是我们在训练模型之前需要对文本数据中出现的词进行一个统计。统计每一个词在文本中出现的频率。

然后我们还需要测试数据集,我们需要准备一些测试数据集用于测试我们训练的模型性能。

词频统计

在得到了分好词的文本后,需要对文本中的每个词进行一个词频统计,具体的步骤如下:

  1. 处理输入文本:将输入文本(分好词)中没有出现在lexicon中的词替换成,然后生成文件text.no_oov。生成的文本大概如下图。
    在这里插入图片描述
    实现这一步所需要的shell代码:$text代表我们的文本数据的路径,$lexicon是词典的路径。
cat $text | awk -v lex=$lexicon 'BEGIN{while((getline<lex) >0){ seen[$1]=1; } }
  {for(n=1; n<=NF;n++) {  if (seen[$n]) { printf("%s ", $n); } else {printf("<UNK
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/562362
推荐阅读
相关标签
  

闽ICP备14008679号