最简理解

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等。


Yonggie
95 声望4 粉丝