最简了解

gram指句子中的间断的一小部分。you are my ex-girlfriend. 外面,you are my就可以看做是gram。gram中几个单词就说是几gram,you are my是3-gram。n gram指数量是n的gram。

起源

在statistical language model,统计语言模型中假使要实现这个填词工作you are my ___,前面词填什么才最合适?
转换成统计问题就变成了,一个句子中you are my曾经产生了,前面是什么词才冀望最大。写作$$\argmax_x P(x|w_1,w_2,w_3)$$
$w_1$是you、$w_2$是are、$w_3$是my,x是要填的词。而你的抉择是整个语言中的所有的词。

咱们冀望有个模型能间接帮忙给出最合适的答案w,然而这个模型是有参数的,需要求他的参数:
$$\argmax_\theta P(w|w_1,w_2,w_3)$$
然而假使句子特地长,模型参数的计算量会极其宏大,为了解决计算量宏大的问题,提出假如n-gram:要填的这个词w只和词后面的n个词无关,来加重计算累赘。当然除了n-gram假如,还有bi-gram等其余假如,无非就是假如词与前后n个词相干等等的变体了。

对于下面的问题,假使我应用2-gram,那么参数求解的问题就能够简化到:
$$\argmax_\theta P(w|w_2,w_3)$$
$w_1$就能够不用参加相干计算。

利用

ngram在统计语言模型中利用很宽泛,比方IBM model1/2等。