13年 Word2vev 横空出世,开启了基于 word embedding pre-trained 的 NLP 技术浪潮,6年过去了,embedding 技术已经成为了 nn4nlp 的标配,从不同层面得到了提升和改进。今天,我们一起回顾 embedding 的理论基础,发现它的技术演进,考察主流 embedding 的技术细节,最后再学习一些实操案例。
从实战角度而言,现在一般把 fastText 作为 word embedding 的首选,如果需要进一步的上下文信息,可以使用 ELMo 等 contextual embeddings。从18年开始,类似 ULMFiT、Bert 这样基于 pre-trained language model 的新范式越来越流行。
Sentence embedding 方面,从15年的 Skip-Thought 到18年的 Quick-Thought,无监督 pre-trained sentence embedding 在工业界越来越多的得到使用。
词向量模型包括:word2vec、glove、fastText、elmo、GPT和bert、xlnet等。
这里面有些是“一揽子”表示的词向量模型,如word2vec、glove,是用一个固定的向量来表示一个具体的token(单词)。这样的好处是简单且易于使用,预训练完词向量之后可以直接通过查“词典”来使用,但是缺点也很明显,比如一词多义怎么办?一个token只有一个固定的向量。
另一些则是需要在句子中才能将词向量具体化,比如bert和xlnet。这样词向量就不是一个具体的词向量了,在不同的语境中一个单词可以有不同的意思。缺点是比较消耗资源,太贵