基本信息
作者 | TomasMikolov | doi | 10.48550 |
---|---|---|---|
发表时间 | 2013 | 期刊 | ICLR |
网址 | http://arxiv.org/abs/1301.3781 |
研究背景
1. What's known 既往研究已证实
前馈神经网络语言模型(NNLM)
循环神经网络语言模型(RNNLM)
2. What's new 创新点
Word2vec有两种模型:CBOW和Skip-gram,使得计算成本下降并且准确率提升。
Word2vec的向量表示能够自动捕捉到单词之间的语义和语法关系。
3. What's are the implications 意义
加快训练速度。
能够在大规模语料上进行词向量的训练。
衡量词向量之间的相似程度。
研究方法
1. skip-gram
通过中心单词来预测上下文单词。对于给定的一对(中心单词,上下文单词),我们希望最大化它们的共现概率。
用softmax来估计每个上下文单词的概率:
损失函数:
2. cbow(词袋模型bag-of-word)
用周围词预测中心词,求和的时候忽略了每个词的顺序。
损失函数:
最后输出V个概率,复杂度比较高,采用了2重方法降低复杂度,分别是层次softmax和负采样。
3. Hierarchical Softmax
将输出层的单词表示为一个二叉树,其中每个叶子节点都表示一个单词。每个非叶子节点都表示两个子节点的内积,每个叶子节点都表示该单词的条件概率。由于二叉树的形状,我们可以使用 l o g 2 W log_{2}W log2W个节点来表示词汇表大小为W的模型,降低计算量。
4. Negative Sampling
舍弃多分类,把多分类转变成二分类问题(正样本和负样本)。
正样本:用中心词和其中一个周围词做成正样本(jumps over)
负样本:我们随机从词表里面选一个词与over构成负样本(over again)
增大正样本的概率,减小负样本的概率。
损失函数:正样本函数+负样本函数
函数"J neg-sample "越大越好,损失函数需要加个符号让损失越小越好。
https://zhuanlan.zhihu.com/p/419804103
结果与讨论
- 单词向量优于以前的技术状态。
- 使用非常简单的模型架构可以训练高质量的词向量。计算复杂性低,可从更大的数据集中计算非常精确的高维词向量。
- 通过Word2vec训练出的词向量可以用于许多自然语言处理任务,例如词义相似度计算、命名实体识别和情感分析等。
重要图
文献中重要的图记录下来