NLP学习笔记13-语言模型(上)

本文介绍了噪声信道模型在自然语言处理(NLP)中的作用,该模型用于从有噪声的输出中恢复原始信息。接着讲解了语言模型,它是计算序列概率的关键,用于判断句子的语法通顺性。文章通过实例阐述了马尔科夫假设在语言模型中的应用,以解决句子概率计算中的稀疏性问题。此外,还探讨了语言模型在机器翻译等实际场景的应用。
摘要由CSDN通过智能技术生成

一 序

  本文属于贪心NLP学习笔记系列。

二 Noise Channel Model(噪声信道模型)

  老师在接下来将语言模型之前,先介绍了噪声信道模型。

噪声信道试图通过有噪声的输出信号恢复输入信号。对于某一输入信号,此信号通过会产生噪声的转换信道得到输出信号,
现在假设我们已知道输出信号,求解它的输入信号,那么就会用到此模型。

假设用户想传递的信息是m1 经过有噪声信道传递之后接受到的数据source .并且m1到mn是语料库。必有如下等式成立

也就是说,在不知道原有信息是内容的情况下,使得p(mi|source)取得最大值的mi,最有可能是原有信息,由上面的贝叶斯公式可得:

又由于P(source)是常量,不会影响概率值,所以原式可化简为:等比  Proportional(并非等价)

 

直接看公式可能不好理解,老师给讲了贝叶斯进行推导的过程。

为了更好地理解这个噪声信道模型,老师结合应用场景来解释。

其中:机器翻译 等比 翻译(之前讲到的词典)*语言模型。

三 语言模型

  语言模型是NLP的非常重要的知识点。

  • 标准定义:对于语言序列 w1,w2,...,wn,语言模型就是计算该序列的概率,即  P\left ( w_{1},w_{2},...,w_{n} \right )
  • 从机器学习的角度来看:语言模型是对语句的概率分布的建模。

   老师给出了通俗的解释:语言模型用来判断,是否一句话从语法上通顺。

  

数学基础

chain rule  链式法则

  

2个事件同时发生的概率:

P(a, b) = P(a | b) * P(b)

其中:P(a, b)表示 a和b事件同时发生的概率, P(a | b)是一个条件概率,表示在b事件发生的条件下,a发生的概率.推广为

P(X1, X2, ... Xn) = P(X1 | X2, X3 ... Xn) * P(X2 | X3, X4 ... Xn) ... P(Xn-1 | Xn) * P(Xn)

示例:今天是春节我们都休息

提前都计算好每个单词的概率,这样计算句子的概率就是把这些概率相乘。(就是语言模型训练好之后,遇到新的句子就可以计算)。

说明chain rule所得的条件概率项是通过统计所给文档中出现今天、是、春节、我们、都的次数(图中出现2次)和出现今天、是、春节、我们、都之后再出现休息的次数(图中出现一次)

所以概率是1/2,而红字的运动在(今天是春节)概率为0

问题是:句子很难完全一致,大部分句子再文章或者语料库很少出现,导致稀疏性。比如:10^5 出现几条。

马尔科夫假设(markov assumption)

即假设当前词出现的概率只依赖于前 n 个词,可以得到

非常重要的概念,后面的HMM,CRF都在使用了马尔科夫假设。

利用1st order markov assumption的例题:

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值