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的更多相关文章

  1. [IR] Tolerant Retrieval & Spelling Correction & Language Model

    Dictionary不一定是个list,它可以是多种形式. 放弃Hash的原因: 通常,tree是比较适合的结构. From: http://www.cnblogs.com/v-July-v/arch ...

  2. 用CNTK搞深度学习 (二) 训练基于RNN的自然语言模型 ( language model )

    前一篇文章  用 CNTK 搞深度学习 (一) 入门    介绍了用CNTK构建简单前向神经网络的例子.现在假设读者已经懂得了使用CNTK的基本方法.现在我们做一个稍微复杂一点,也是自然语言挖掘中很火 ...

  3. A Neural Probabilistic Language Model

    A Neural Probabilistic Language Model,这篇论文是Begio等人在2003年发表的,可以说是词表示的鼻祖.在这里给出简要的译文 A Neural Probabili ...

  4. tensorflow world language model

    上文提到了pytorch里的world language model,那么怎么能不说tensorflow的实现呢,还是以tensorflow ptb的代码为例说说. 地址: https://githu ...

  5. 论文分享|《Universal Language Model Fine-tuning for Text Classificatio》

    https://www.sohu.com/a/233269391_395209 本周我们要分享的论文是<Universal Language Model Fine-tuning for Text ...

  6. language model ——tensorflow 之RNN

    代码结构 tf的代码看多了之后就知道其实官方代码的这个结构并不好: graph的构建和训练部分放在了一个文件中,至少也应该分开成model.py和train.py两个文件,model.py中只有一个P ...

  7. NLP问题特征表达基础 - 语言模型(Language Model)发展演化历程讨论

    1. NLP问题简介 0x1:NLP问题都包括哪些内涵 人们对真实世界的感知被成为感知世界,而人们用语言表达出自己的感知视为文本数据.那么反过来,NLP,或者更精确地表达为文本挖掘,则是从文本数据出发 ...

  8. 将迁移学习用于文本分类 《 Universal Language Model Fine-tuning for Text Classification》

    将迁移学习用于文本分类 < Universal Language Model Fine-tuning for Text Classification> 2018-07-27 20:07:4 ...

  9. #论文阅读# Universial language model fine-tuing for text classification

    论文链接:https://aclweb.org/anthology/P18-1031 对文章内容的总结 文章研究了一些在general corous上pretrain LM,然后把得到的model t ...

随机推荐

  1. windows下用QTwebkit解析html

    环境 windows7 + VS2010 + QT5.2_opengl 配置开发环境 1.安装VS2010 2.安装QT 5.2 QT网站:http://qt-project.org/download ...

  2. ansible使用文档

    假设A机器上安装ansible yum install ansible vim /etc/ansible/hosts 对每个主机加key认证ssh-copy-id -i ~/.ssh/id_rsa.p ...

  3. SSIS 2010 BUG 一例

    Sample data :abc|"edfg|xyz Test 1: Text Qualified is  set to nothing. the result is in good for ...

  4. SQL SERVER导出特殊格式的平面文件

    有时候我们需要将SQL SERVER的数据一次性导入到ORACLE中,对于数据量大的表.我一般习惯先从SQL SERVER导出特殊格式的平面文件(CSV或TXT),然后用SQL*Loader装载数据到 ...

  5. MapRedue开发实例

    一些例子,所用版本为hadoop 2.6.5 1.统计字数 数据格式如下(单词,频数,以tab分开): A 100 B 97 C 98A 98 package com.mr.test; import ...

  6. wordpress-4.4.1 数据库表结构解析

    wordpress-4.4.1.zip 安装包  SQL结构 : wp_commentmeta  :文章评论额外信息表. CREATE TABLE IF NOT EXISTS `wp_commentm ...

  7. thrift的lua实现

    最近要进行系统升级,后台的数据是根据城市区分的.担心新系统的稳定性及新数据的准确性,计划部分城市采用新接口.接口的入参里没有城市信息,只有经纬度坐标,需要调用一个thrift接口来根据坐标获取城市信息 ...

  8. BI领导驾驶舱的功能特点

    随着企业的信息化能力越来越强,商业智能(BI)对他们而言已不仅仅是数据展现的工具.商业智能必须能够与企业的业务流程相联系,做企业随需随用的“战略军师”.“BI领导驾驶舱”的出现无疑顺应了BI的发展趋势 ...

  9. Microsoft Azure Point to Site VPN替代方案

    Microsoft Azure提供了Point to Site VPN,但有时候这并不能满足我们的需求,例如:Point to Site VPN是SSTP VPN,只能支持Window客户端拨入,而且 ...

  10. JustWeTools - 自定义控件集

    JustWeTools - Some useful tools 项目地址 JustWe 现在有哪些模块? View自定义控件 PaintView画图工具(包含重构压感新版) CodeView代码编辑 ...