本文是个人笔记,lz才疏学浅,有什么理解不到位的地方欢迎各种拍 .
理解简述:
其本身是语言模型,为了验证或者说是预测一句话最可能的表达,在预测的过程中产生word embedding 矩阵,在输入层中将词映射为一个m列的向量,也即词的向量表示,NPLM模型结构一共分为3层,输入 映射-隐含-输出
模型结构图
模型训练过程
- 图中最低的是输入 映射层
输入是当前词w_t的前n个词 (w_t-n+1~w_t-1) 经过C matrix 映射后到了映射层,模型训练的开始C matrix可以随机初始化,在论文的原文是这样的they could be initialized using prior knowledgeof semantic features. 最终模型train后C matrix也更新。
- 词向量concat成矩阵
- 词向量concat成矩阵
- 图中最低的是输入 映射层
隐含层
由映射层到隐含层函数,y_t表示词w_t出现的概率
输出层
由隐含层到输出层归一化指数函数softmax,
参数:
参数迭代:
似然求参数
备注:公式中字母代表的意义请参考原论文
- 参考:
A Neural Probabilistic Language Model
Deep Learning in NLP (一)词向量和语言模型