NLP处理的数据都是文字,而文字是无法直接被计算机计算的,于是人们想出了使用独热编码的方式来表示单词。
浙江 [0,0,0,0,0,0,0,1,0,......0,0,0,0,0,0,0]
江苏 [0,0,0,0,1,0,0,0,0,......0,0,0,0,0,0,0]
安徽 [0,0,0,1,0,0,0,0,0,......0,0,0,0,0,0,0]
天津 [0,0,0,0,0,0,0,0,0,......1,0,0,0,0,0,0]
在语料库中采用这样一种方式来表示单词无疑会面临一些问题,例如忽略了单词之间的相关性,当语料库很大的时候,维度太高且矩阵稀疏。随后出现了word2vec词向量这种方式,它可以将独热编码转化为低维度的连续值即稠密向量,并且其中意思相近的词被映射到向量空间中相近的位置。如下图所示经过一个简单的神经网络学习到一个权值矩阵,将独热编码转化为稠密低维度向量。