N
N-gram是根据先验知识(已有语料库)预计或者评估一个句子是否合理的语言模型。比如下例,猜测下一个字可能是什么
我今天要去上...
根据我们的先验知识,下一个子可能会是“课”,“学”,或者是“班”,而不太可能是“盘”,“房”之类的字。如何量化并预测这种可能性就是N-gram语言模型需要做的事情。
算法推导
首先有假设,第n个字的决定与第前n-1个字有关。这个假设应该很好理解,因为刚刚的例子我们就通过“我今天要上”这5个字大致能推出第6个字是什么。用数学语言表示就是
(1)
表示历史即第前n-1个字,表示第n个字,则式(1)表示在n-1个字确定的情况下,第n个字为的概率
换算成刚刚的例子就是
p(""班"|"我今天要上") (2)
发布评论