词嵌入的主要思想就是将文本转换为数字。
因为一些机器学习算法(如深度网络)需要的输入是数字形式的,所以当碰到文本时,必须将文本转为数字向量形式输入到算法中。
使用向量数字形式表示词有两个好处:
- 维度缩减-可以使用较少维度表示 one-hot 向量
- 上下文相似度-向量表示包含上下文语义信息
词可以用 one-hot 编码方式表示,词嵌入就是创建一个更低维度的向量,名叫词向量 Word Vectors。
Word2Vec 介绍
word2vec 有两种方法:
CBOW (Continuous Bag-Of-Words) 和 Skip-gram
Skip-gram方法就是取句子中固定单词数量(如 5),使用中间单词去预测周围 4 个单词。
输入是 one-hot 向量,经过隐层线性层,随后经过softmax层(结果值为正,加起来为 1)输出预测结果。中间的隐藏层权重即为嵌入矩阵embedding matrix,也即查找表。嵌入矩阵的大小为单词总数词向量维度,假如单词总数为 10000,并且隐藏神经元为 300。那么权重矩阵的大小为 10000300。
一个例子:假如单词总数为 5, 最终词向量维度为 3。那么权重矩阵大小就为 5*3。
每一个单词在权重矩阵中都有一个相关联的向量,所以叫做 word2vec。
原文地址
Glossary of Deep Learning: Word Embedding
推荐阅读
The amazing power of word vectors