如何使用MLE训练n-gram模型?

时间:2016-07-22 10:13:32

标签: machine-learning nlp n-gram mle

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

1 个答案:

答案 0 :(得分:1)

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

例如,如果您需要单词 y 后面的单词 y 的二元组概率,则将它们的出现次数计算为一对,{{3} }。然后你必须将这个计数除以所有以 x 开头的双字母组合的总和(即: x 后跟每个可能的单词),C(xy) ,因此MLE估计最终介于0和1之间。

因此,可以通过以下表达式估计该二元概率:

sum of C(xz) over all z

请注意,此表达式可以进一步简化,因为以 x 开头的所有bigram计数的总和必须加起来为 x 本身的单字组计数:

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