目录
二 Word2Vec--Neural Network(神经网络)
1 基于神经网络的CBOW(Continuous Bag of Words)
3 提高基于神经网络的CBOW和Skip Gram模型训练速度
2 基于Hierarchical Softmax(层级softmax)的CBOW和Skip Gram
5)基于Hierarchical的CBOW和Skip Gram的优缺点
四 Word2Vec--Negative Sampling(负采样)
2 基于Negative Sampling的CBOW和Skip Gram
4)基于Negative Sampling的Skip Gram
一 one-hot编码
1 概念
one-hot编码主要采用N位状态寄存器来对N位状态编码,并且仅有一个状态编码为1,其他状态编码为0
注意:本质上也是Word Embedding
2 缺点
尽管简单,但是当分词数量过于庞大的时候(如百万级别),会带来维度灾难
二 Word2Vec--Neural Network(神经网络)
1 基于神经网络的CBOW(Continuous Bag of Words)
1)模型介绍
- CBOW是一个单隐层的神经网络模型,仅仅只是为了学习隐层的权重
- CBOW是通过特定分词对应上下文分词的one-hot编码预测特定分词的one-hot编码,其中每一个分词都需要作为特定分词
- Skip Gram的训练样本是采用单词组表示(window size表示窗口大小,即特定分词前后各取多少个分词)
2)模型细节
第一点:输入层
假设上下文分词数为,各个分词维度为
,使用one-hot编码表示
第二点:输入层到隐层的连接权重矩阵
是权重共享的权重矩阵,其维度为
注意:一般要求(Word2Vec属于降维操作)
第三点:隐层
第四点:隐层到输出层的连接权重矩阵
是权重共享的权重矩阵,其维度为
第五点:输出层
第六点:损失函数
真实标签采用该词的one-hot编码表示,使用交叉熵损失函数
3)Word2Vec
注意:是所有的分词组成的矩阵(字典/词汇表)
2 基于神经网络的Skip-Gram
1)模型介绍
- Skip Gram是一个单隐层的神经网络模型,仅仅只是为了学习隐层的权重
- Skip Gram是通过特定分词的one-hot编码预测上下文分词的one-hot编码,其中每一个分词都需要作为特定分词
- Skip Gram的训练样本是采用单词对表示(window size表示窗口大小,即特定分词前后各取多少个分词)
2)模型细节
第一点:输入层
假设特定分词数维度为,使用one-hot编码表示
第二点:输入层到隐层的连接权重矩阵
是权重共享的权重矩阵,其维度为
注意:一般要求(Word2Vec属于降维操作)
第三点:隐层
第四点:隐层到输出层的连接权重矩阵
是权重矩阵(权重共享),其维度为
第五点:输出层
第六点:损失函数
真实标签采用该词的one-hot编码表示,使用交叉熵损失函数
3)Word2Vec
注意:是所有的分词组成的矩阵(字典/词汇表)
3 提高基于神经网络的CBOW和Skip Gram模型训练速度
1)将常见的分词组合(或者短语等)作为一个分词
比如:机构名/组织名/地名/成语等等
2)将高频的特定分词进行抽样,以减少训练样本数量
第一点:基本思想
训练原始文本中,每遇到一个特定分词,都有一定概率被删除,被删除的概率与词频有关
第二点:公式(特定分词被删除概率)
:表示特定分词
:表示特定分词在整个语料库中出现的频率
:表示特定分词被删除的概率
3)负采样(Negtive Sampling)
第一点:基本思想
每训练一个样本,仅仅更新一小部分神经元权重,而不是更新全部神经元权重,从而减少SGD中的计算量
第二点:原理
- 第一步:确定Negative words
注意:小规模语料库,Negative w