学习笔记411—【词向量基础】:one-hot
【词向量基础】:one-hot
词向量(word vector),也叫词嵌入(word embedding),是一种词表征形式,将词从符号形式映射为向量形式,渐渐演变成了一种知识表示的方法。将词语从符号表示形式转换为了向量表示形式,方便了机器对自然语言的计算,因此,词向量几乎成为了所有自然语言处理和理解的下游任务的基础。
one-hot是最为简单也是比较常用的文本特征表示方法。在词语特征表示上,其本质直接将词语在词语集合中的下标作为改词的表示。
例如存在词语集合:
,则这几个单词的one-hot表示为:
i: [1, 0, 0, 0, 0]
you: [0, 1, 0, 0, 0]
like: [0, 0, 1, 0, 0]
apple: [0, 0, 0, 1, 0]
banana: [0, 0, 0, 0, 1]
one-hot表示有两个很明显的缺点:
1、矩阵稀疏和维度灾难。one-hot表示是将词语所在下标位置置为1,其他位置置为0,而现实生活中,词语的集合是很大的,达到几千甚至几万,而每个向量的维度是和词语集合中词语的数量是一致的,所以一个词需要用几千甚至几万的维度来表示,如此大的维度在后续计算中需要很大的计算资源。此外,一个向量中只有一个维度是非零的,明显是过于稀疏的。
2、语义缺失。在我们的表达中,词语之间是有一定的相似性的,例如“i”和“you”、“apple”和“banana”之间的相似性是比较高的,而“i”和“apple”之间的相似性比比较低的。而词向量作为词语的数字特征表示,理应需要保持词语之间语义上的相似性。但是,one-hot所得出来的每个词语的向量与其他词语的向量都是正交的,即每个词语之间的余弦相似度均为0,每对词语之间的欧式距离也是相同的。所以,这种向量表示失去了词语之间的相似性。
参考链接:https://zhuanlan.zhihu.com/p/149129646