Language modeling

应用:语音识别,文字识别

N-gram

 怎么就算出现的几率,P(w1,w2,w3,w4,w5....wn) = P(w1|Start)P(w2|w1).....P(wn|wn-1)

估算P(beach|nice)from training data:

P(beach|nice) = C(nice beach)/C(nice)#解释为nice beach 出现的次数除以 nice出现的次数

for example:P("wreck a nice beach") = P(wreck|START) * P(a|wreck) * P(nice|a) * P(beach|nice)

NN-based LM

Training:

First,  collect data to train the model

 Like this:

Language modeling


then :  P("wreck a nice beach") = P(wreck|START) * P(a|wreck) * P(nice|a) * P(beach|nice)

但是这些几率来源于network 的output

Language modeling

RNN-based LM

Language modeling

怎么算下一个词出现的几率:

Language modeling



so

Language modeling

那么问题来了,N-gram在算几率的时候,永远是算不准的,因为数据永远是缺乏的

那么我们在保存的时候,可以

Language modeling

里表中很多值为0;

Language modeling

下一节讲,怎么写成NN