Word Embedding
One-hot
每个token表示为一个长向量,每个向量的维度为词表的大小,向量中只有一个维度的值为1,一般为该词在词表中的索引
举例
假设用 one-hot对句子进行表示,对句子分词之后,我们可以得到[‘我‘,’爱‘,’北京‘,’天安门‘],可以用one hot(独热编码)对单词进行编码。具体为:
“我”可以表示为[1,0,0,0]
“爱"可以表示为[0,1,0,0]
‘北京’可以表示为[0,0,1,0]
‘天安门’可以表示为[0,0,0,1]
问题
- one-hot向量之间彼此正交,无法识别每个词之间的关系(无法计算相似度,都为0)
- 维度爆炸。维度和词表有关系,模型训练难度增大
- 向量稀疏,难以捕捉语义关系,因为数据点分布系数,距离度量失效。而且稀疏矩阵存储效率低
词嵌入
词嵌入(Word Embedding)是将人类语言中离散、抽象的文本词汇,通过算法映射为计算机可理解的「连续、稠密的低维实数向量」 的文本表示技术
分布式表示
词嵌入将词表示为一种分布式的形式。分布式表示是将词转化成一个定长、稠密并且存在语义关系的向量,即分布相似的词,是有相似的语义的
