n-gram 语言模型

机器算法验证 可能性 分布 自然语言 语言模型
2022-03-29 11:57:17

在介绍A Neural Probabilistic Language Model (Bengio et al. 2003)的最后,给出了以下示例:

看到The cat is walking in the bedroom训练语料库中的句子应该有助于我们概括以使句子A dog was running in a room几乎尽可能地出现。

我得到了一般的精神,但他们在解释n-gram语言模型给出了给定一些其他先前(上下文)单词的情况下给出了单词出现的概率之后立即提供了这个示例:P[wt(wtn+1,...,wt1)]. 所以切换到没有转换的句子概率有点令人困惑。

既然模型在单词级别上工作,那么“使句子成为可能”是什么意思?

PS:我可以理解,如果我们The cat is walking in the bedroom在训练语料库中看到,我们可以估计p0=P[bedroom(cat,walking)]. 很明显,考虑到词的相似性,在泛化时我们希望P[bedroom(dog,running)]大致等于p0(因为狗和猫,走路和跑步是相似的)。但这仍然与单词概率有关。而且,在这里不起作用的是A dog was running in a roombedroom不会发生,所以我们只处理P[room(dog,running)].

1个回答

语言模型通常用于计算句子的概率。这是通过使用链式法则来完成的。

例如,如果我们想估计观察到句子的概率w1w2w3w4我们可以像这样分解它......

P(w1,w2,w3,w4)=P(w4|w3,w2,w1)P(w3|w2,w1)P(w2|w1)P(w1)

这些术语中的每一个都是可以由语言模型直接计算的东西。