一、语言模型

旨在:给一个句子或一组词计算一个联合概率

作用:

  • 机器翻译:用以区分翻译结果的好坏
  • 拼写校正:某一个拼错的单词是这个单词的概率更大,所以校正
  • 语音识别:语音识别出来是这个句子的概率更大
  • 总结或问答系统

相关任务:在原句子的基础上,计算一个新词的条件概率,该概率与P(w1w2w3w4w5)息息相关。

任何一个模型计算以上两个概率的,我们都称之为语言模型LM。

二、如何计算概率

方法:依赖概率的链式规则

从而有:

问题:如何预估这些概率

方法一:计数和细分

但是不可能做到!

原因:句子数量过于庞大;永远不可能有足够的数据来预估这些(语料库永远不可能是完备的)

方法二:马尔可夫假设

或者:

即:

所以:

三、马尔可夫模型

1. Unigram model

其假设词是相互独立的

2. Bigram model

3. N-gram models

但是并不有效,因为语言本身存在长距离依存关系

比如"The computer which ......crashed" 单词crash本身其实是依赖于主语computer的,但是中间隔了一个很长的从句,在马尔可夫模型中就很难找到这样的依存关系

但是在实际应用中,发现N-gram可以一定程度上解决这个问题

四、预估N-gram概率

以bigram为例。

最大似然估计:

,即,

分子表示wi紧跟着wi-1出现的计数,分母表示wi-1出现的计数

举例如下:

语料库:

计算bigram概率:

结果:

更复杂的举例如下:

一语料库中有9222个句子,这里我们只计数其中8个我们想要关注的单词

其中每个单词后面紧跟着的单词计数如下:

接下来我们需要做的是归一化

其中有些为0,是因为偶然性或者结构语法上的原因

在获得每个bigram之后,就可以预估一个句子的概率了

举例如下:

其中<s>是一个句子开始的标记,</s>是一个句子结束的标记

实际中,在计算概率时使用log,如下:

原因:

1. 避免计数下溢,多个小于0的数相乘之后可能得到的数会非常非常小,甚至接近于0

2. 使用log之后可以将乘法转换成加法,计算更快

 其他语言模型:

  • SRILM
  • Google N-Grams
  • Google Book N-Grams

最新文章

  1. js中json对象的深拷贝
  2. 【转】Eclipse中创建并运行Servlet项目
  3. python 拼写检查代码(怎样写一个拼写检查器)
  4. 百度地图API详解之事件机制,function“闭包”解决for循环和监听器冲突的问题:
  5. jumpserver v0.4.0 基于 CenOS7 的安装详解
  6. resteasy上传文件写法
  7. 很详细的Django入门详解
  8. HTML5跳转页面并传值以及localStorage的用法
  9. SoupUI 5.1.2(专业版)下载(含破解文件)
  10. Python自学:第三章 使用del语句删除元素
  11. iOS移动开发CoreDate讲解
  12. 好系统重装助手教你清理win7系统中DNS缓存
  13. 【IDEA&amp;&amp;Eclipse】4、IntelliJ IDEA上操作GitHub
  14. Win10系列:C#应用控件基础1
  15. LOJ 2737 「JOISC 2016 Day 3」电报 ——思路+基环树DP
  16. C/C++ typedef用法详解(真的很详细)
  17. EZ 2018 04 21 NOIP2018 模拟赛(十) -LoliconAutomaton的退役赛
  18. office 2010 正在配置Microsoft Office ...
  19. IOS中的网络编程详解
  20. 原生DOM操作vs框架虚拟DOM比较

热门文章

  1. 【算法笔记】B1028 人口普查
  2. vue脚手架初始化的项目 npm run build 无效,没有反应
  3. 小数据池 is 和 == ,以及再谈编码
  4. Linux误挂载到根目录出现问题!!!!!!!!!!!!!!!
  5. maven的resources插件
  6. my32_ error 1872 Slave failed to initialize relay log info structure from the repository
  7. Java基础21-构造函数之间的调用
  8. AutoFac之 Named and Keyed 方式注入
  9. 数据库~大叔通过脚本生成poco实体
  10. Coursera 机器学习 第9章(下) Recommender Systems 学习笔记