N-gram介绍

本文介绍了N-gram语言模型及其在句子相似度和合理性判断中的应用。针对N-gram的稀疏性问题,文章详细讨论了数据平滑方法,包括+1法、+k法、内插法和回溯法,阐述了各种方法的优缺点和工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、简介

N-gram是一种基于统计的语言模型,常常用来做句子相似度比较,句子合理性判断。(语言模型就是用来计算一个句子的概率的模型,也就是判断一句话是否合理的概率,RNN是神经语言模型)

N-Gram是基于一个假设:第n个词出现的概率与前n-1个词相关,而与其他任何词不相关。因此整个句子出现的概率就等于各个词出现的概率的乘积。各个词的概率可以通过语料中统计得到。假设句子TTT是有词序列w1,w2,w3...wnw_{1},w_{2},w_{3}...w_{n}w1,w2,w3...wn组成,用公式表示N-Gram语言模型如下:
P(T)=P(w1)p(w2)p(w3)p(wn)=p(w1)p(w2∣w1)p(w3∣w1w2)...p(wn∣w1w2w3...)P(T)=P(w1)p(w2)p(w3)p(wn)=p(w1)p(w2|w1)p(w3|w1w2)...p(wn|w1w2w3...)P(T)=P(w1)p(w2)p(w3)p(wn)=p(w1)p(w2w1)p(w3w1w2)...p(wnw1w2w3...)

2、N-gram中的数据平滑方法:

当N变大时,更容易出现这样的状况:某些N-gram从未出现过,这就是稀疏问题。

例如,在bi-gram中,若词库中有20k个词,那么两两组合就有近2亿个组合。其中的很多组合在语料库中都没有出现,从而整个句子的概率就会为0。最后的结果是,我们的模型只能计算零星的几个句子的概率,而大部分的句子算得的概率是0,这显然是不合理的。

2.1 +1法

对所有的频率都加1,因此对于unigram而言有:
Padd1(wi)=C(wi)+1M+∣V∣P_{add1}(w_{i})=\frac{C(w_{i})+1}{M+|V|}Padd1(wi)=M+VC(w

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值