2016-07-22 18 views
1

我学习了很多关于使用MLE训练n-gram模型的文档,但是我注意到所有的实现都是通过计算n-grams来计算条件概率,我的问题是与MLE的关系是什么?MLE如何用于训练n-gram模型?

回答

1

直觉上,你将不得不计算世界上所有文本中的所有n-gram来计算它们的概率。由于这是非常不切实际的,MLE提供了一种通过在给定语料库中对它们进行计数来估计这些n元语法概率的方法。

举例来说,如果你需要以下一个字X一个字Ÿ的二元概率,你算他们的出现为一对,C(xy)的数量。然后你必须将这个计数值除以所有从第一个x(即:x后跟每个可能的单词)开始的所有bigram的总和,使得MLE估计最终位于0和1之间。

P(y|x) = C(xy)/sum of C(xz) over all z

注意,因为所有两字组的总和与计数X开始必须相加此表达式可以进一步简化:

因此,该两字组概率可以通过下面的表达式来估计到X本身单字组数:

P(y|x) = C(xy)/(x)