zoukankan      html  css  js  c++  java
  • 使用kenlm工具常见错误以及解决方案

    在学习NLP过程当中,语言模型使我们都要学习的一部分知识。常用的N-gram训练工具有SRILM、IRSTLM、BerkeleyLM和KenLM等。

    在使用kenlm的过程中也是遇到了许多问题。

    环境的搭建:

    参照博客:https://www.cnblogs.com/jasmine-Jobs/p/7214758.html

    以上亲测有效,但是要熟悉的知道linux环境下的各种安装命令,因为作者当时给出的某些下载位置已经不存在

    举例详解kenlm的原理:

    参照博客:https://blog.csdn.net/asrgreek/article/details/81979194

    说的非常详细,建议自己手写整个运算过程。

    务必注意的是,按照作者给的命令运行(lmplz -o 2 --text [inputfile] --arpa [outputfile]),会出现如下错误:

    要解决这个问题很简单(实际上kenlm已经说明了解决方法),

    rerun with --discount_fallback

    所以,改写运行命令为:lmplz -o 2 --discount_fallback --text [inputfile] --arpa [outputfile]

    在运行,就能成功(bin/lmplz -o 2 --discount_fallback --text test.txt --arpa test.apra)

    运行结果如下图:

    打开生成的apra文件:

    正确生成与上述作者博客相对应的效果(可能大家会注意到 作者的前两行是:ngram 1=6 ngram 2=7  和我的结果不一样,这是因为我在test.txt中的文本中的第二行 你我 之间没有空格,如果加上空格,就会和博客作者的效果一样,大家也可以自己是试一下)

  • 相关阅读:
    Python交互设计_接口设计
    hibernate注解——@Temporal
    java日期格式处理
    Unknown tag
    个人总结
    学习进度条——第十七周
    学习进度条——第十六周
    学习进度条——第十五周
    第二阶段冲刺——个人总结10
    学习进度条——十四周
  • 原文地址:https://www.cnblogs.com/deeplearning1/p/11412031.html
Copyright © 2011-2022 走看看