词向量
本篇论文是2013年发表在ICLR上的论文。在NLP领域拥有里程碑式的意义,以至于后期的ELMo、Bert、GPT都是受词向量的影响而诞生的。同时本篇论文也是受到神经语言模型NNLM的启发而创造了NLP时代的大发展。
Abstract
本文提出了两个创新性的模型架构计算词的连续向量表示,在低计算资源花费的情况下效果有巨大的提升。在语法和语义相似度测试集上有较好的表现。
Introduction
许多NLP系统和技术,将词汇视为原子单元——没有词汇之间相似性的概念,并且被表征为词表中的索引。
N-garm语言模型,是在所有可获得的数据上进行计算的。数据集的质量制约了系统的性能。
近年来的最成功的概念就是词汇的分布式表达
Goals of the Paper
本文的目标在于介绍在大数据集中训练学习高质量词向量以及大词表的技术。
本文采用测试词向量质量的方式不仅是相似的词汇在空间上也相近,而且词汇间有多种方面的相似性。
Previous Work
词汇表示为连续的向量已有很长的历史了,一个非常流行的模型架构就是NNLM。以及后来有许多以此为基础的变种。
Model Architectures
许多不同类型的模型被用来估计单词的连续表示,包括著名的潜在语义分析(LSA)和潜在狄利克雷分配(LDA)。
在本文中,我们重点研究了神经网络学习到的单词的分布式表示,因为之前的研究表明,神经网络在保持单词之间的线性规律方面的表现明显优于LSA ,此外,对于大型数据集,LDA在计算上变得非常昂贵。
对于模型的复杂度的计算本文采用
O = E × T × Q O=E\times T\times Q O=E×T×Q
其中,E为epoch,T为训练集中的词汇的个数,Q是根据模型而定。
Feedforward Neural Net Language Model(NNLM)
NNLM由输入层、投影层、隐藏层、输出层组成。
在输入层N个词汇编码为one-hot形式的向量,V代表词表的大小,投影层P的维度为N*D,隐藏层的维度为H,输出层的维度为V
所以整个模型的复杂项Q为:
Q = N × D + N × D × H + H × V Q=N \times D +N \times D \times H+H\times V Q=N×D+N×D×