分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

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

  关于SRILM的安装,我已经在前面关于moses平台搭建的文章(参见:《Moses相关介绍》和《Ubuntu8-10下moses测试平台搭建全记录》)中介绍过了,这里就不再重复。准确的说,SRILM并不是因机器翻译而诞生的,它主要是为语音识别所开发的,全称为Stanford Research Institute Language Modeling Toolkit。事实上统计机器翻译与语音识别关系千丝万缕,我会在以后的文章中介绍。

  SRILM用来构建和应用统计语言模型,主要用于语音识别,统计标注和切分,以及机器翻译,可运行在UNIX及Windows平台上。它主要包含以下几个部分:

  • 一组实现的语言模型、支持这些模型的数据结构和各种有用的函数的C++类库;

  • 一组建立在这些类库基础上的用于执行标准任务的可执行程序,如训练语言模型,在数据集上对这些语言模型进行测试,对文本进行标注或切分等任务。

  • 一组使相关任务变得容易的各种脚本。

  SRILM的主要目标是支持语言模型的估计和评测。估计是从训练数据(训练集)中得到一个模型,包括最大似然估计及相应的平滑算法;而评测则是从测试集中计算其困惑度(MIT自然语言处理概率语言模型有相关介绍)。其最基础和最核心的模块是n-gram模块,这也是最早实现的模块,包括两个工具:ngram-count和ngram,相应的被用来估计语言模型和计算语言模型的困惑度。一个标准的语言模型(三元语言模型(trigram),使用 Good-Truing打折法和katz回退进行平衡)可以用如下的命令构建:

   ngram-count -text TRAINDATA -lm LM

  其中LM是输出的语言模型文件,可以用如下的命令进行评测:

   ngram -lm LM -ppl TESTDATA -debug 2

  其中具体的参数可参看官方网站的帮助文档,如果你已经在linux下编译好了,可以直接使用man调用帮助文档。事实上,统计机器翻译框架主要用的就是 n-gram这个模块来训练语言模型。下面我们以欧洲语料库的英语语料为例,解析这个工具的作用。语料库下载地址见:欧洲议会平行语料库。本例子使用的是wmt08里面用于英语语言模型训练的europarl-v3b.en,用于机器翻译的预处理过程tokenize和lowercase此处省略,其规模为1412546句:

  1、从语料库中生成n-gram计数文件:

   ngram-count -text europarl-v3b.en -order 3 -write europarl.en.count

  其中参数-text指向输入文件,此处为europarl-v3b.en;-order指向生成几元的n-gram,即n,此处为3元;-write指向输出文件,此处为europarl.en.count,输出内容为:

   …

   sweeteners 66

   sweeteners should 1

   sweeteners should be 1

   …

  分为两列,第一列为n元词,第二列为相应的频率。如一元词sweeteners在语料库中的频率统计为66次;二元词sweeteners shoul在语料库中的频率统计为1次;三元sweeteners should be在语料库中的频率统计为1次。

  2、从上一步生成的计数文件中训练语言模型:

   ngram-count -read europarl.en.count -order 3 -lm europarl.en.lm -interpolate -kndiscount

  其中参数-read指向输入文件,此处为 europarl.en.count;-order与上同;-lm指向训练好的语言模型输出文件,此处为europarl.en.lm;最后两个参数为所采用的平滑方法,-interpolate为插值平滑,-kndiscount为 modified Kneser-Ney 打折法,这两个是联合使用的。需要补充的是,一般我们训练语言模型时,这两步是合二为一的,这里主要是为了介绍清楚n-gram语言模型训练的步骤细节。

  语言模型europarl.en.lm的文件格式如下,为 ARPA文件格式。为了说明方便,文件中的括号是我加上的注释:

 data

 ngram 1=262627 (注:一元词有262627个 )

 ngram 2=3708250 (注:二元词有 3708250个)

 ngram 3=2707112 (注:三元词有 2707112个)

 1-grams:(注:以下为一元词的基本情况)

 -4.891179(注:log(概率),以10为底) ! -1.361815

 -6.482389 !) -0.1282758

 -6.482389 !’ -0.1282758

 -5.254417 “(注:一元词) -0.1470514

 -6.482389 “‘ -0.1282758(注:log(回退权重),以10为底)

 …

 2-grams:

 -0.02140159 !

 -2.266701 ! –

 -0.5719482 !)

 -0.5719482 !’

 -2.023553 ” ‘Biomass’

 -2.023553 ” ‘vertical’

 …

 3-grams:

 -0.01154674 the !

 -0.01154674 urgent !

 -0.01154674 us’ !

 -1.075004 the “.EU” Top

 -0.827616 the “.EU” domain

 -0.9724987 the “.EU” top-level …

3、利用上一步生成的语言模型计算测试集的困惑度:

   ngram -ppl devtest2006.en -order 3 -lm europarl.en.lm > europarl.en.lm.ppl

  其中测试集采用wmt08用于机器翻译的测试集devtest2006.en,2000句;参数-ppl为对测试集句子进行评分(logP(T),其中P(T)为所有句子的概率乘积)和计算测试集困惑度的参数;europarl.en.lm.ppl为输出结果文件;其他参数同上。输出文件结果如下:

 file devtest2006.en: 2000 sentences, 52388 words, 249 OOVs

 0 zeroprobs, logprob= -105980 ppl= 90.6875 ppl1= 107.805

  第一行文件devtest2006.en的基本信息:2000句,52888个单词,249个未登录词;

  第二行为评分的基本情况:无0概率;logP(T)=-105980,ppl==90.6875, ppl1= 107.805,均为困惑度。

附:SRILM主页推荐的书目和文献。

 入门——了解语言模型尤其是n-gram模型的参考书目章节:

  • 《自然语言处理综论》第一版第6章,第二版第4章(Speech and Language Processing by Dan Jurafsky and Jim Martin (chapter 6 in the 1st edition, chapter 4 in the 2nd edition) )

  • 《统计自然语言处理基础》第6章。(Foundations of Statistical Natural Language Processing by Chris Manning and Hinrich Schütze (chapter 6))

 深入学习相关文献:

  • A. Stolcke, SRILM – An Extensible Language Modeling Toolkit, in Proc. Intl. Conf. Spoken Language Processing, Denver, Colorado, September 2002. Gives an overview of SRILM design and functionality.

  • D. Jurafsky, Language Modeling, Lecture 11 of his course on “Speech Recognition and Synthesis” at Stanford. Excellent introduction to the basic concepts in LM.

  • J. Goodman, The State of The Art in Language Modeling, presented at the 6th Conference of the Association for Machine Translation in the Americas (AMTA), Tiburon, CA, October, 2002. Tutorial presentation and overview of current LM techniques (with emphasis on machine translation).

  • K. Kirchhoff, J. Bilmes, and K. Duh, Factored Language Models Tutorial, Tech. Report UWEETR-2007-0003, Dept. of EE, U. Washington, June 2007. This report serves as both a tutorial and reference manual on FLMs.

  • S. F. Chen and J. Goodman, An Empirical Study of Smoothing Techniques for Language Modeling, Tech. Report TR-10-98, Computer Science Group, Harvard U., Cambridge, MA, August 1998 (original postscript document). Excellent overview and comparative study of smoothing methods. Served as a reference for many of the methods implemented in SRILM.

注:原创文章,转载请注明出处“我爱自然语言处理”:www.52nlp.cn

本文链接地址:http://www.52nlp.cn/language-model-training-tools-srilm-details/

相关文章

  • 语言模型训练工具SRILM详解
  • SRILM 的编译
  • Moses相关介绍
  • Ubuntu8-10下moses测试平台搭建全记录
  • Ubuntu 64位系统下SRILM的配置详解
  • srilm 阅读文档1
  • srilm 阅读文档2
  • srilm 阅读文档3
  • srilm 阅读文档4
  • srilm 阅读文档5
  • srilm 阅读文档6
  • srilm 阅读文档7
  • srilm 阅读文档8
  • srilm 阅读文档9
  • srilm 阅读文档10
  • srilm 阅读文档11
  • srilm 阅读文档12
  • srilm 阅读文档13
  • srilm 阅读文档14
  • srilm 阅读文档15
  • srilm 阅读文档15-Version2
  • srilm ngram trie数据结构
取自"http://wiki.52nlp.cn/SRILM"

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

语言模型训练工具SRILM相关推荐

  1. 语言模型训练工具SRILM详解

    语言模型训练工具SRILM详解 SRILM是著名的约翰霍普金斯夏季研讨会(Johns Hopkins Summer Workshop)的产物,诞生于1995年,由SRI实验室的Andreas Stol ...

  2. 【Natural Language Processing】语言模型训练工具Srilm的安装及使用简介

      实习做了一段时间的语言模型,使用到了Srilm这个工具,简单做一下记录,这个是一个统计和分析语言模型的工具,据说年龄很大了,可能比我大?总之它可以很方便的统计语料的n-gram,以及构建语言模型. ...

  3. DeepSpeed超大规模模型训练工具

    DeepSpeed超大规模模型训练工具 2021年 2 月份发布了 DeepSpeed.这是一个开源深度学习训练优化库,包含的一个新的显存优化技术-- ZeRO(零冗余优化器),通过扩大规模,提升速度 ...

  4. [sphinx]中文语言模型训练

    一,不用分词的短词组语言模型训练 参考资源:http://cmusphinx.sourceforge.net/wiki/tutoriallm  sphinx官方教程 1)文本准备 生成文本文件,内含一 ...

  5. 【目标检测】YOLOv5训练工具,简化训练准备过程

    目录 引流 前言 安装步骤 0. 环境配置 1. 下载项目 2. 安装项目 3.下载权重文件 操作步骤 After Training 引流 YOLOX算法的检测性能超过YOLOv5啦,所以推荐大家使用 ...

  6. [深度学习][软件工具]pytorch-unet傻瓜式训练工具使用教程

    unet作实例分割还是很方便的但是有个问题就是,数据集通常都是使用labelme标注的有的情况下被mask图片搞的头昏脑胀,原因是unet很多版本不支持RGB格式mask或者只能为index灰度图,这 ...

  7. 开源公告|分布式深度学习训练工具PatrickStar正式开源

    PatrickStar是一款分布式深度学习训练工具,它的设计目标是支持以GPT.Bert为代表的超大预训练模型训练.在性能表现上远超目前业界DeepSpeed效果.它可以显著降低PTM的使用成本,使我 ...

  8. Chinese-LLaMA-Alpaca:优秀的开源中文语言模型预训练工具

    省时查报告-专业.及时.全面的行研报告库 省时查方案-专业.及时.全面的营销策划方案库 [免费下载]2023年3月份热门报告合集 万字干货:ChatGPT的工作原理 2023年创业(有创业想法)必读手 ...

  9. 利用开源工具搭一套汉英翻译系统(三):语言模型工具SRILM

    语言模型工具选择使用SRILM.存在其他选择KenLM, IRSTLM. 下载地址:http://www.speech.sri.com/projects/srilm/download.html ,需要 ...

最新文章

  1. Tomcat 7 Connector 精读(1)
  2. 水晶报表10 注册码
  3. linux中 jdk 的卸载和安装[转]
  4. SPA (单页应用程序)
  5. 10个问题让你快速避开java中的jdbc常见坑
  6. 一群喵星人把他家包围了。。
  7. Struts12---文件的下载
  8. SQLServer数据库同步准实时解决方案
  9. 账号权限问题导致数据泄露频发,如何破解“万豪们”的安全难题?
  10. python爬取xici的免费代理、并验证(重点、清楚)
  11. 蓝牙BLE测试市面上常用的几种测试设备
  12. CDA数据分析师3个级别的薪资待遇|人才认证标准
  13. 江苏省发布大数据引领推动融合发展专项行动计划
  14. 做每个人的互联网中心
  15. 假设有50瓶饮料,喝完3个空瓶可以换一瓶饮料,依次类推,请问总共喝了多少瓶饮料?
  16. 为什么北京人和上海人都成了“杭漂“?
  17. artset下载_art set
  18. 【计算机网络---自顶向下方法笔记1】计算机网络和因特网概述
  19. 24届近3年安徽大学自动化考研院校分析
  20. 微信小程序 springboot旅游景点门票预订服务系统

热门文章

  1. 评估方法提高深度学习模型泛化能力
  2. 测试公众号开发php,快速接入公众号开发
  3. 金山WPS软件测试笔试题目总结
  4. 鸿蒙时代实力排名,鸿蒙时期神魔不敢进入四大禁区,九天银河上榜,第一堪称黑暗禁地...
  5. 计算机组装从光盘启动,如何用光盘安装电脑系统
  6. IDA反汇编/反编译静态分析iOS模拟器程序(一)话说IDA
  7. 中兴以太网板see服务器地址,中兴传输以太网板数据配置.ppt
  8. 铝板展开插件_钣金件快速绘图与展开程序CAD插件(钣金展开插件工具)Vr2.10 最新版...
  9. 2.什么是JAVA内存模型?
  10. android 基础培训ppt,Android基础之内部培训.ppt