这篇主要就是想让大家了解下 Embedding、word embedding、word2vec的一些相关知识。
前世
Embedding
Embedding在数学上表示一个单射的、结构保持的映射 f: X -> Y, 也就是一个function,此处的结构保持的具体含义要依赖于X 和 Y 是哪种数学结构的实例而定。
举个例子:我们可以把整数“嵌入”进有理数之中。显然,整数是一个group,同时它又是有理数的一个subgroup。整数集合中的每个整数,在有理数集合中都能找到一个唯一的对应(其实就是它本身)。同时,整数集合中的每个整数所具有的性质,在有理数中同样得到了保持。同理,我们也可以把有理数“嵌入”到实数中去。
Word embedding
Word Embedding并不是要把单词像贴瓷砖那样镶嵌进什么地方,更专注的是映射关系。word embedding,就是找到一个映射或者函数,生成在一个新的空间上的表达,该表达就是word representation。
最简单的一种Word Embedding方法,就是基于词袋(BOW)的One-Hot表示。在word2vec诞生之前,利用机器学习方法解决自然语言处理问题时,一般都是用one-hot编码(可以翻译成“独热编码”)去表征词语。one-hot编码能够把一个句子转化为向量表示,就是把词汇表中的词排成一列,对于某个单词 A,如果它出现在上述词汇序列中的位置