0-1语言建模当中会遇到的问题

在对语言建模之前,先来说明一些基本的简单的概念。

我们假设:

有这样一个集合,在这个集合里面,是我们所有的涉及到的单词集,并且这个单词的集合是有限的(finite)。为了表示这个集合,用字母V来表示,例如V={the,a,man,telescopo,Beckham,two…}

有了单词的集合,然后还需要有一个单词串的集合,为了更形象的解释,比如:

the STOP

a STOP

the fan STOP

the fan saw Beckham STOP

the fan saw saw STOP

the fan saw Beckham play for Real Madrid STOP

这个单词串的集合使用V+来表示。

为什么在每个的末尾要加一个STOP呢,这在以后的学习当中会用到,他有利于帮助我们开发一个概率模型。(convenient start to develop a probabilistic model)

现在有了上面的定义,继续探讨自然语言处理建模当中的问题。

现在:

  • 我们有一个有许多句子的样本,叫它训练样本training sample.
  • 我们需要学习一个概率分布p(learn a probability distribution p),p满足下面的条件:

        image

          这个公式向我们表明了,x属于V+当中的元素,所有其中的元素的概率相加结果应该是1.

为了更形象的说明P是什么,可以看下面的例子:

image

那么,整体的流程是怎样的呢?

我们把training sample测试样本当中的句子当作输入input,经过模型的处理,最终的输出便是p(output)。这是我们建立模型的作用。

为什么要做这些事情(这些事情指的是上面的准备测试样本,计算概率、建模等)?

起初,研究这些是为了解决语音识别当中遇到的难题,相关的还有手写识别等。这些技术的发展在NLP的很多领域楼来都证明十分的有用。

这些概率p该怎么计算出来呢?

原始的办法:

  • 假设我们有N个训练用的句子sentences
  • 每一个单词串,用x1 x2 x3…xn来表示,x表示每一个单词。使用c(x1…xn)来表示这个单词串在训练数据training data当中出现的次数。
  • 计算方法为:p(x1…xn)=c(x1…xn)/N

这个办法,刚一看到会觉得没有什么不妥,其实如果细心的话可以发现这个公式是有问题的。如果某一个单词串并没有在训练数据中出现,那么这个概率p的值就会变为0,如果P=0的话,那么就没有能力去生成新的句子(has no ability to generalize to new sentences)。因为,在训练样本中没有出现,并不代表在测试的时候或者在实际生活中p=0的单词串不会出现,所以,必须要解决p=0的问题,在0-4中会提到。

转载于:https://www.cnblogs.com/createMoMo/p/3189892.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值