李宏毅:deep learning for language modeling

1、language modeling

李宏毅:deep learning for language modeling

2、n-gram

李宏毅:deep learning for language modeling

3、neural network based language model

李宏毅:deep learning for language modeling

李宏毅:deep learning for language modeling

4、RNN-based LM

李宏毅:deep learning for language modeling

与NN不一样的是:NN是只看当前的input来得出output,RNN是根据之前所有的input来看当前的output。

eg:RNN中,要得到“知道”,它就要知道之前的所有的词汇来决定当前的output。

李宏毅:deep learning for language modeling

5、n-gram的缺陷以及改进方案

李宏毅:deep learning for language modeling

n-gram不好的原因是因为database太小了(data sparsity),它的概率才会变成0,其实它的概率是有可能发生的。

解决方法:加一个平滑(smoothing)

李宏毅:deep learning for language modeling

6、Matrix Factorization

李宏毅:deep learning for language modeling

李宏毅:deep learning for language modeling

Matrix Factorization是和smoothing不一样的,它可以知道history里的词之间的联系,smoothing是不知道的

李宏毅:deep learning for language modeling

将h和v进行inner product(内积),h与每一个vocabulary做一次inner product,输出一共有|V|个节点,每个节点 yi表示下一个词为i的未归一化log概率,最后使用softmax**函数将输出值y归一化成概率。
 

李宏毅:deep learning for language modeling