NLP(二):n元模型

一. 语言建模(Language Modeling)

   s1 = 我  刚  吃  过  早饭      
   s2 = 刚  我  过  早饭   吃

对于上面这两句话,很明显,s1读起来要比s2通顺的多,也就是说P(s1) > P(s2);对于由n个词构成的不同句子(每个句子的基本组成词相同,只是顺序不同),那么它们出现的概率是大大不同的,而这就引出了一个问题——对给定句子如何分配概率?我们需要建立一个模型来完成这件事!

对于给定的自然语言L,P(s)未知;利用给定的语言样本估计P(s)的过程被称作语言建模。

二. 语言模型(Language Model)

根据语料库中的样本估计出的概率分布P称为语言L的语言模型。通俗来讲语言模型就是用来计算句子概率的模型,那么如何对给定句子 s = w1w2…wl,如何计算P(s)?
可以应用链式规则,分解P(s):
在这里插入图片描述其中P(w1)表示第一个出现的概率,P(w2|w1)表示已知第一个词w1的前提下第二词出现的概率,依此类推…,不难看出,词wl出现的概率取决于它前面所有词,这样的话,随着前面出现的词l的增长,参数的规模成指数增长,难以估算。

1. 马尔可夫假设

针对上面难以估算的问题,引入马尔可夫假设——任意一个词wi的出现只与其之前的n-1个词有关,即:
在这里插入图片描述
只需要考虑n个词组成的片段,即n元组(n-gram)
在这里插入图片描述

那么得到n元模型如下:
在这里插入图片描述
当n=1时,有一元模型(unigram):
在这里插入图片描述

当n=2时,有二元模型(bigram):
在这里插入图片描述

当n=3时,有三元模型(trigram):
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值