NLP学习记录二:语言模型

目录

一、语言模型是做什么的?

二、思路实现

三、代码实现


一、语言模型是做什么的?

给定一个文本序列,x1,x2,...,xt,语言模型的目标是估计联合概率p(x1,x2,...,xt)。

理解:例如,短语“to recognize speech”和“to wreck a nice beach”读音上听起来非常相似。 这种相似性会导致语音识别中的歧义,但是这很容易通过语言模型来解决, 因为第二句的语义很奇怪。 同样,在文档摘要生成算法中, “狗咬人”比“人咬狗”出现的频率要高得多。

二、思路实现

模型的输入是有限的,当序列变得太长而不能被模型一次性全部处理时, 我们可能希望拆分这样的序列方便模型读取,接下来说明应该如何提取特定时间步数的批量序列作为数据集训练语言模型。

假设网络一次只处理具有n个时间步的子序列。当我们需要从一个很长的文本中提取特定长度的子序列时,往往需要先随机生成一个初始偏移量,只要将这个偏移量的随机生成范围取值在[0, n),那么我们就可能从给定长文本中提取得到所有组合的子序列。如下图所示,分割文本时,不同的偏移量会导致不同的子序列。

那么我们应该从上图中选择哪一个呢? 事实上,他们都一样的好。 然而,如果我们只选择一个偏移量, 那么用于训练网络的、所有可能的子序列的覆盖范围将是有限的。 因此,我们可以从随机偏移量开始划分序列, 以同时获得覆盖性(coverage)和随机性(randomness)。 下面,我们将描述如何实现随机采样(random sampling)和 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值