n-gram重探 Q&A

  虽然之前一直用这个最基本的模型,但今天发现自己对这个模型确实不够熟悉,因此,对此参考了不少文献,以问答的形式进行了整理。

1、 n -gram的训练是什么?训练的参数是什么?

  对于模型某条字符串的计算公式是: P(wk1) = P(w1) P(w2|w1) P(wk|wk11) n -gram就是 P(wk|wk11)=P(wk|wk1kn+1) ,忽略了它的历史。
  假设在一个模型里,单词数量为 V 。对于一个1- gram 来说,有 V1 个独立的参数,对于这些参数,我们施加一个约束(参数和为 1 )。对于一个2- gram 来说, P(w2|w1) 的独立参数个数是 V(V1) ,而 P(w) 的个数是 V1 ,因此总的独立参数为 V(V1)+V1=V21 。总之,一个 n -gram的独立参数个数是 Vn1 ,其中对于 P(wn|wn11) 的参数是 Vn1(V1) ,我们叫做 n 阶参数(order-n parameters);加上n1- gram 的总共 Vn11 个参数,和为 Vn11 个参数。
  说完了参数,我们说下训练。对于训练集, 我们对以上参数进行最大似然估计(MLE),估计方法如下: P(wn|wn11)=C(wn11wn)wC(wn11w) ,其中C是count的意思。

2、 n -gram这里的MLE是怎么得出来的?

  统计次数就代表了它的最大似然估计,是因为对于 n -gram模型来说,我们把这个模型的预测,当成了一个多项分布。对于后继出现的词汇的概率,根据其多项分布的概率进行预测。从直观上这么理解多项分布:我们获得一个语料,类似于骰子,这个骰子有 X 面,每一面对应着上面所提到的独立参数。每一面都是互斥的,穷举的状态,其和为1。(这个多项分布的概念,在很多自然语言处理书和论文里都没有提及,以至于MLE结果的得出不容易理解。)
  P(x1,x2,xk)=i=1kpxii,满足 i=1kpi=1
   x1,x2,xk 是指示变量,当输出的状态为 k xk 1 ,否则为0。这里的状态,就是预测的词汇。对于多项分布,其参数,也就是 pi 的最大似然估计是:
   pi^=txtiN
  这也就是刚好是统计次数,count部分。

3、 n -gram既然使用了MLE,那能不能引入最大后验估计(MAP)或者贝叶斯估计?

  答案是可以的。我们问题1里提到的参数,如果看成是一个随机变量,那么我们可以引入先验分布,使用贝叶斯公式。
   p(θ|χ)=p(χ|θ)p(θ)p(χ|θ)p(θ)dθ
  最大后验估计: θMAP=argmaxθΘp(χ|θ)p(θ)
  贝叶斯估计: θB=E[θ|χ]
  正如问题2所说, n -gram使用了多项分布,而我们都知道多项分布的共轭分布是狄利克雷分布,因此,使用狄利克雷分布作为先验分布,是一个很自然而想法。
  在狄利克雷先验下的最大后验估计是:
   θMAP=argmaxθΘΓ(Kk=1αK)Kk=1Γ(αK)k=1Kθnk+αk1k
等价于加m平滑的最大似然估计,先验可以通过大量通用语料训练,然后使用小规模的领域专用数据进行计算贝叶斯最大后验估计。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值