【Note】Word Embedding

1 Word Embedding 的含义

一般在英语里,我们谈到 embedding,都会翻译成「嵌入」,但在 nlp 领域,明显翻译成「映射」会更好理解一点。

Word Embedding 是 nlp 中一组语言模型(language modeling) 和特征学习技术(feature learning techniques) 的总称,这些技术会把词汇表中的单词或是短语映射成由实数构成的向量上。

2 Word Embedding 的类型

BOW 词袋模型
这是最简单的映射方法,属于 one-hot 类型。向量 size 代表词汇表的长度,向量值是该单词是否出现。那么句子的向量就可以理解为每个单词所映射的向量的加和。
缺点也很明显:没有考虑单词之间的相对位置;以及词向量可能会很长。

n-gram 模型
考虑单词的相对位置关系。考虑对象为当前单词的窗口内的单词。
缺点是,向量长度很长,计算量会急剧增长。

共现矩阵 Cocurrence matrix
根据窗口内的单词的共现关系来生成词向量。最后得到的共现矩阵,可想而知是对成矩阵,值为两个词作为邻居同时出现在窗口的次数。
缺点是,仍然面对维度灾难。虽然可以使用 SVD 或者 PCA 等一些常用的降维方法,但也会带来一些新的问题。比如,词汇表中有新词加入时,很难为它分配一个新的向量。

Word2Vec
Word2Vec 是在深度学习流行起来之后,基于神经网络来完成的 Word Embedding 方法。

能够自动实现:(1)单词语义相似性的度量(2)词汇的语义的类比。语义的类比是指类似下面的这种关系:
“国王” - “王后” ≈ “男” - “女”
“中国” - “北京” ≈ “法国” - “巴黎” ≈ “首都”

Word2Vec 中涉及到了两种算法,一个是 CBOW,一个是 skip-gram。其中 CBOW:Condition on context, and generate centre word;Skip-Gram:Generates each word in context given centre word。

你可能感兴趣的:(【Note】Word Embedding)