Traditional Language Model
Traditional Language Model通常用于回答下述问题:
How likely is a string of English words good English ?
\(p_{LM}(\)the house is small\()\ge p_{LM}(\) small the is house\()\)
\(p_{LM}(\)I am going home\()\ge p_{LM}(\)I am going house\()\)
生成该句子 \(W=w_1, w_2, w_3, w_4...w_n\) 的概率为\(p(W)\) 如何计算?
我们可以使用 chain rule 将该句子分解(decompose):
\[\begin{split}p(w_1, w_2, w_3...w_n) &=p(w_1) * p(w_2|w_1)*p(w_3|w_1,w_2)\cdots* p(w_n| w_1, w_2\cdots w_{n-1})\end{split}\]
我们发现 \(p(w_n| w_1, w_2\cdots w_{n-1})\)需要很多前置项\(w_1, w_2\cdots w_{n-1}\),在数据集中很难计算,十分稀疏(sparse)。
Markov 假设
- 当前词只和前面的词相关;
- 只和前面的\(k\)个单词相关
这样表示就相对简便。
uni-gram model
\[P(w_i|w_0\cdots w_{i−1})\approx P(w_i)\]
Bi-gram model
\[P(w_i|w_0\cdots w_{i−1})\approx P(w_i|w_{i-1})\]
Tri-gram model
\[P(w_i|w_0\cdots w_{i−1})\approx P(w_i|w_{i-1},w_{i-2})\]
例如,2-gram的 language model:
\[p(w_1, w_2, w_3,\cdots w_n)\approx p(w_1) * p(w_2|w_1) * p(w_3|w_2) \cdots p(w_n|w_{n-1})\]
n-gram probability estimation
2-gram概率估计
\[p(w_2|w_1)=\frac{count(w_1,w_2)}{count(w_1)}\]
所以我们只需要找一个大词库,然后统计\(w_1\)出现的次数和\(w_1,w_2\)共同出现的次数,即可。
Linear interpolation
Bigram: \(P(w_i∣w_{i−1})=\lambda_2 P(w_i∣w_{i−1})+ (1−λ_2) P(w_i)\)
Unigram: \(P(w_i)=\lambda_1 P(w_i)+(1-\lambda_1)\frac{1}{N}\)
Traditional Language Model的更多相关文章
- [IR] Tolerant Retrieval & Spelling Correction & Language Model
Dictionary不一定是个list,它可以是多种形式. 放弃Hash的原因: 通常,tree是比较适合的结构. From: http://www.cnblogs.com/v-July-v/arch ...
- 用CNTK搞深度学习 (二) 训练基于RNN的自然语言模型 ( language model )
前一篇文章 用 CNTK 搞深度学习 (一) 入门 介绍了用CNTK构建简单前向神经网络的例子.现在假设读者已经懂得了使用CNTK的基本方法.现在我们做一个稍微复杂一点,也是自然语言挖掘中很火 ...
- A Neural Probabilistic Language Model
A Neural Probabilistic Language Model,这篇论文是Begio等人在2003年发表的,可以说是词表示的鼻祖.在这里给出简要的译文 A Neural Probabili ...
- tensorflow world language model
上文提到了pytorch里的world language model,那么怎么能不说tensorflow的实现呢,还是以tensorflow ptb的代码为例说说. 地址: https://githu ...
- 论文分享|《Universal Language Model Fine-tuning for Text Classificatio》
https://www.sohu.com/a/233269391_395209 本周我们要分享的论文是<Universal Language Model Fine-tuning for Text ...
- language model ——tensorflow 之RNN
代码结构 tf的代码看多了之后就知道其实官方代码的这个结构并不好: graph的构建和训练部分放在了一个文件中,至少也应该分开成model.py和train.py两个文件,model.py中只有一个P ...
- NLP问题特征表达基础 - 语言模型(Language Model)发展演化历程讨论
1. NLP问题简介 0x1:NLP问题都包括哪些内涵 人们对真实世界的感知被成为感知世界,而人们用语言表达出自己的感知视为文本数据.那么反过来,NLP,或者更精确地表达为文本挖掘,则是从文本数据出发 ...
- 将迁移学习用于文本分类 《 Universal Language Model Fine-tuning for Text Classification》
将迁移学习用于文本分类 < Universal Language Model Fine-tuning for Text Classification> 2018-07-27 20:07:4 ...
- #论文阅读# Universial language model fine-tuing for text classification
论文链接:https://aclweb.org/anthology/P18-1031 对文章内容的总结 文章研究了一些在general corous上pretrain LM,然后把得到的model t ...
随机推荐
- Microsoft IoT Starter Kit 开发初体验
1. 引子 今年6月底,在上海举办的中国国际物联网大会上,微软中国面向中国物联网社区推出了Microsoft IoT Starter Kit ,并且免费开放1000套的申请.申请地址为:http:// ...
- ORACLE查看补丁出现“OPatch failed with error code 1”
案例场景: 在Oracle Linux Server release 5.7上安装完ORACLE 10g后,顺便将PSR(Patch Set Release)p681018 ...
- 0025 Java学习笔记-面向对象-final修饰符、不可变类
final关键字可以用于何处 修饰类:该类不可被继承 修饰变量:该变量一经初始化就不能被重新赋值,即使该值跟初始化的值相同或者指向同一个对象,也不可以 类变量: 实例变量: 形参: 注意可以修饰形参 ...
- 解决: DeprecationWarning: Passing 1d arrays as data is deprecated in 0.17 and will raise ValueError in 0.19
错误信息:C:\Python27\lib\site-packages\sklearn\utils\validation.py:395: DeprecationWarning: Passing 1d a ...
- faster_rcnn c++版本的 caffe 封装(1)
转载请注明出处,楼燚(yì)航的blog,http://www.cnblogs.com/louyihang-loves-baiyan/ 由于需要把FasterRCNN做的工程化,因此这里需要对Caff ...
- 【Python网络编程】利用Python进行TCP、UDP套接字编程
之前实现了Java版本的TCP和UDP套接字编程的例子,于是决定结合Python的学习做一个Python版本的套接字编程实验. 流程如下: 1.一台客户机从其标准输入(键盘)读入一行字符,并通过其套接 ...
- 自动装配[@Autowired]的歧义性
在使用@Autowired自动装配时,如果一个接口有多个实现类,那么自动装配就会出现错误,因为Spring无法判断到底要装配哪个实现类实例(bean). 1.可以使用@Qualifier(" ...
- Winform布局方式
一.默认布局 ★可以加panel,也可以不加: ★通过鼠标拖动控件的方式,根据自己的想法布局.拖动控件的过程中,会有对齐的线,方便操作: ★也可选中要布局的控件,在工具栏中有对齐工具可供选择,也有调整 ...
- Nmap参数详解
转自:http://blog.csdn.net/huangwwu11/article/details/20230795 Nmap--networkmapper,网络探测工具和安全/端口扫描器 nmap ...
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 角色成员功能的改进支持公司加入到角色
我们公司有1万多个网点,每个网点都可以看成是一个公司,公司对不同的网点有不同的策略,商业逻辑,每个网点的人员也都是在不断变化,全国有接近10万从业人员,当我们设计好业务逻辑程序后,不可能因为这些人员的 ...