引言
本文章主要介绍上篇没有讲完的近似训练(层序softmax)以及窗口共现矩阵词向量表示法,并且最后给大家分享一下作者最近收集的一大波视频资料,千万不要错过哦!!
本文概要
1
近似训练(层序softmax)
2
窗口共现矩阵词向量表示法
3
绝对干货学习资料分享
4
下期预告
5
参考文献
正文开始
1
近似训练(层序softmax)
层序softmax是另一种近似训练法。它使用了二叉树这一数据结构,树的每个叶结点代表词典V中的每个词。
上图中,二叉树的每个叶节点代表着词典的每个词。
假设L(w)为从二叉树的根结点到词w的叶结点的路径(包括根结点和叶结点)上的结点数。假设n(w,j)为路径上第j个节点,并设该节点的背景词向量un(w,j)。以上图所示L(w3)=4。层序softmax将跳字模型中的条件概率近似表示为:
其中σ函数与sigmoid激活函数的定义相同,leftChile(n)是节点n的左子节点:如果判断x为真,[x]=1;反之[x]=-1。如果计算上图中给定词wc生成词w3的条件概率。我们需要将wc的词向量vc和根节点到w3路径上的非叶节点向量一一求内积。由于二叉树中由根节点到叶节点w3的路径上需要向左、向右再向左遍历,那么可以得到:
由于σ(x)+σ(-x)=1,给定中心词wc生成词典V任一词的条件概率之和为1,这一条件也满足:
此外,由于L(w)-1的数量级为
,当词典V很大时,层序softmax在训练中每一步的梯度计算开销相较于未使用近似训练时大幅降低。
层序softmax使用了二叉树,并根据根结点到叶结点的路径来构造损失函数。其训练中每一步的梯度计算开销与词典大小的对数相关。
2
窗口共现矩阵词向量表示法
word2vec将窗口视作训练单位,每个窗口或者几个窗口都要进行一次参数更新。要知道,很多词串出现的频次是很高的。能不能遍历一遍语料,迅速得到结果呢?
早在word2vec之前,就已经出现了很多得到词向量的方法,这些方法是基于统计共现矩阵的方法,并且旨在解决词向量相近关系。如果在窗口级别上统计词性和语义共现,可以得到相似的词。
例如:语料库如下:
• I like deep learning. • I like NLP. • I enjoy flying.
则共现矩阵表示如下:(使用对称的窗函数(左右window length都为1) )
例如:“I like”出现在第1,2句话中,一共出现2次,所以=2。 对称的窗口指的是,“like I”也是2次
将共现矩阵行(列)作为词向量表示后,可以知道like,enjoy都是在I附近且统计数目大约相等,他们意思相近。
根据上面这个方法,的确可以得到简单的共现向量。但是它存在很多的局限性:
针对以上问题,给出的解决方法是采用奇异值分解(SVD)对以上向量进行降维。
采用SVD虽然可以解决维度的问题,但是它也有很大的局限性:
3
绝对干货学习资料分享
图像处理、NLP、TensorFlow、Caffe学习资料。
链接: https://pan.baidu.com/s/14hCNdyi7brSsyGym5vS7yw 提取码b97i 链接: https://pan.baidu.com/s/1M47zf7jeC6la5pdo2tvnpA 提取码h5tp 链接: https://pan.baidu.com/s/1kCWtXUWQUoX7XOY1FJWMgw 提取码9rqz 链接: https://pan.baidu.com/s/1vWVR7Pgw2T6GSROVQA3mAw 提取码uw9f 链接: https://pan.baidu.com/s/1jz7_9Uk3_0J1e0uYmOvLPA 提取码xtbn 链接: https://pan.baidu.com/s/15qaWwn3pBS4Yac5d44eOJQ 提取码h9sg 链接: https://pan.baidu.com/s/1M-d-v00xQiv1zeFAdzg-MQ 提取码: j9ia 链接: https://pan.baidu.com/s/1xsqUEv7DLSt-juP2TdubmQ 提取码: isr5 链接: https://pan.baidu.com/s/1WUA2z4rsjIAKKTJebfkLHA 提取码: ycsf 链接: https://pan.baidu.com/s/1EoXVCeXKLvF7nb7AyLQB2A 提取码: xfqs
4
下期预告
下期将介绍:
1、全局向量的词嵌入(Glove模型)
2、fastText模型
5
参考文献
[1]http://www.hankcs.com/nlp/word-vector-representations-word2vec.html
[2]http://zh.d2l.ai/chapter_natural-language-processing/index.html