词嵌入是自然语言处理(NLP)中语言模型与表征学习技术的统称。概念上而言,它是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量。
词嵌入的方法包括人工神经网络、对词语同现矩阵(英语:co-occurrence matrix)降维、概率模型以及单词所在上下文的显式表示等。
在底层输入中,使用词嵌入来表示词组的方法极大提升了NLP中语法分析器和文本情感分析等的效果。
词嵌入技术起源于2000年。约书亚·本希奥等人在一系列论文中使用了神经概率语言模型(Neural probabilistic language models)使机器“习得词语的分布式表示(learning a distributed representation for words)”,从而达到将词语空间降维的目的。罗维斯(Roweis)与索尔(Saul)在《科学》上发表了用局部线性嵌入(LLE)来学习高维数据结构的低维表示方法。这个领域开始时稳步发展,在2010年后突飞猛进;一定程度上而言,这是因为这段时间里向量的质量与模型的训练速度有极大的突破。
词嵌入领域的分支繁多,有许多学者致力于其研究。2013年,谷歌一个托马斯·米科洛维(Tomas Mikolov)领导的团队发明了一套工具word2vec来进行词嵌入,训练向量空间模型的速度比以往的方法都快。许多新兴的词嵌入基于人工神经网络,而不是过去的n元语法模型和非监督式学习。
阿斯加里(Asgari)和莫夫拉德(Mofrad)提出了生物信息学中生物序列(DNA、RNA和蛋白质等)基于n元语法的词嵌入技术。bio-vectors(BioVec)表示生物序列的统称,protein-vectors(ProtVec)表示蛋白质(氨基酸序列),gene-vectors(GeneVec)表示基因序列。BioVec在蛋白质组学与基因组学的深度学习中有广泛应用。他们提出的结果表明,BioVectors可描述生物化学与生物物理学意义下生物序列的基本模式。
将词嵌入扩展到对句子或整个文本的嵌入后得到的结果称为Thought vectors。部分研究者期望用Thought vectors来提升机器翻译的质量。
使用词嵌入技术的训练软件包括托马斯·米科洛维的Word2vec、斯坦福大学的GloVe(英语:GloVe (machine learning))和Deeplearning4j。主成分分析(PCA)和t-分布邻域嵌入算法(英语:t-distributed stochastic neighbor embedding)(t-SNE)也可以用来对词语空间降维,并实现词嵌入的可视化与词义感应(英语:Word-sense induction)。