2.6 里程碑六:2013词嵌入
稀疏向量对文本进行表示的词袋模型,在自然语言处理领域有很长历史。而用稠密的向量对词语进行描述,也就是词嵌入,则在2001年首次出现。2013年Mikolov等人工作主要创新之处在于,通过去除隐藏层和近似计算目标使词嵌入模型的训练更为高效。
尽管这些改变本质上十分简单,但它们与高效的word2vec(wordto vector用来产生词向量的相关模型)组合在一起,使得大规模的词嵌入模型训练成为可能。
Word2vec有两种不同的实现方法:CBOW(continuousbag-of-words)和skip-gram。它们在预测目标上有所不同:一个是根据周围的词语预测中心词语,另一个则恰恰相反。如图5所示。
△CBOW和skip-gram架构
虽然这些嵌入与使用前馈神经网络学习的嵌入在概念上没有区别,但是在一个非常大语料库上的训练使它们能够获取诸如性别、动词时态和国际事务等单词之间的特定关系。如下图 4 所示。
△word2vec捕获的联系
这些关系和它们背后的意义激起了人们对词嵌入的兴趣,许多研究都在关注这些线性关系的来源。然而,使词嵌入成为目前自然语言处理领域中流砥柱的,是将预训练的词嵌入矩阵用于初始化可以提高大量下游任务性能的事实。
虽然word2vec捕捉到的关系具有直观且几乎不可思议的特性,但后来的研究表明,word2vec本身并没有什么特殊之处:词嵌入也可以通过矩阵分解来学习,经过适当的调试,经典的矩阵分解方法SVD和LSA都可以获得相似的结果。从那时起,大量的工作开始探索词嵌入的不同方面。尽管有很多发展,word2vec仍是目前应用最为广泛的选择。
Word2vec应用范围也超出了词语级别:带有负采样的skip-gram——一个基于上下文学习词嵌入的方便目标,已经被用于学习句子的表征。它甚至超越了自然语言处理的范围,被应用于网络和生物序列等领域。
一个激动人心的研究方向是在同一空间中构建不同语言的词嵌入模型,以达到(零样本)跨语言转换的目的。通过无监督学习构建这样的映射变得越来越有希望(至少对于相似的语言来说),这也为语料资源较少的语言和无监督机器翻译的应用程序创造可能。