one-hot是什么意思

one-hot是最为简单也是比较常用的文本特征表示方法。在词语特征表示上,其本质直接将词语在词语集合中的下标作为该词的表示。

例如存在词语集合:

【i,you,see,world]

则这几个单词的one-hot表示为:

  • i: [1, 0, 0, 0]
  • you: [0, 1, 0, 0]
  • see: [0, 0, 1, 0]
  • world: [0, 0, 0, 1]

one-hot表示有两个很明显的缺点:

  1. 阵稀疏和维度灾难。one-hot表示是将词语所在下标位置置为1,其他位置置为0,而现实生活中,词语的集合是很大的,达到几千甚至几万,而每个向量的维度是和词语集合中词语的数量是一致的,所以一个词需要用几千甚至几万的维度来表示,如此大的维度在后续计算中需要很大的计算资源。此外,一个向量中只有一个维度是非零的,明显是过于稀疏的。
  2. 语义缺失。在我们的表达中,词语之间是有一定的相似性的,例如“i”和“you”、“apple”和“banana”之间的相似性是比较高的,而“i”和“apple”之间的相似性比比较低的。而词向量作为词语的数字特征表示,理应需要保持词语之间语义上的相似性。但是,one-hot所得出来的每个词语的向量与其他词语的向量都是正交的,即每个词语之间的余弦相似度均为0,每对词语之间的欧式距离也是相同的。所以,这种向量表示失去了词语之间的相似性。

猜你喜欢

转载自blog.csdn.net/weixin_45277161/article/details/131221707