词嵌入(英语:Word embedding)是自然语言处理(NLP)中语言模型表征学习技术的统称。概念上而言,它是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数上的向量。

词嵌入的方法包括人工神经网络[1]、对词语同现矩阵英语co-occurrence matrix降维[2][3][4]几率模型[5]以及单词所在上下文的显式表示等。[6]

在底层输入中,使用词嵌入来表示词组的方法极大提升了NLP中语法分析器[7]文本情感分析等的效果。[8]

发展历程

词嵌入技术起源于2000年。约书亚·本希奥等人在一系列论文中使用了神经几率语言模型(Neural probabilistic language models)使机器“习得词语的分布式表示(learning a distributed representation for words)”,从而达到将词语空间降维的目的。[9]罗维斯(Roweis)与索尔(Saul)在科学》上发表了用局部线性嵌入(LLE)来学习高维数据结构的低维表示方法[10]。这个领域开始时稳步发展,在2010年后突飞猛进;一定程度上而言,这是因为这段时间里向量的品质与模型的训练速度有极大的突破。

词嵌入领域的分支繁多,有许多学者致力于其研究。2013年,谷歌一个托马斯·米科洛维(Tomas Mikolov)领导的团队发明了一套工具word2vec来进行词嵌入,训练向量空间模型的速度比以往的方法都快。[11]许多新兴的词嵌入基于人工神经网络,而不是过去的n元语法模型和非监督式学习[12]

生物序列中的应用:BioVectors

阿斯加里(Asgari)和莫夫拉德(Mofrad)提出了生物信息学中生物序列(DNA、RNA和蛋白质等)基于n元语法的词嵌入技术。[13]bio-vectors(BioVec)表示生物序列的统称,protein-vectors(ProtVec)表示蛋白质(氨基酸序列),gene-vectors(GeneVec)表示基因序列。BioVec在蛋白质组学基因组学深度学习中有广泛应用。他们提出的结果表明,BioVectors可描述生物化学生物物理学意义下生物序列的基本模式。[13]

Thought vectors

将词嵌入扩展到对句子或整个文本的嵌入后得到的结果称为Thought vectors。部分研究者期望用Thought vectors来提升机器翻译的质量。[14][15]

软件实现

使用词嵌入技术的训练软件包括托马斯·米科洛维的Word2vec斯坦福大学GloVe英语GloVe (machine learning)[16]Deeplearning4j主成分分析(PCA)和t-分布邻域嵌入算法英语t-distributed stochastic neighbor embedding(t-SNE)也可以用来对词语空间降维,并实现词嵌入的可视化与词义感应英语Word-sense induction[17]

参见

参考文献

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.