本文首发于雷锋网
前言
在NLP领域中,为了能表示人类的语言符号,一般会把这些符号转成一种数学向量形式以方便处理,我们把语言单词嵌入到向量空间中就叫词嵌入(word embedding)。
比如有比较流行的谷歌开源的 word2vec ,它能生成词向量,通过该词向量在一定程度上还可以用来度量词与词之间的相似性。word2vec采用的模型包含了连续词袋模型(CBOW)和Skip-Gram模型,并通过神经网络来训练。
但这篇文章不深入讲 word2vec 的内容,而是看看另外一种词向量生成方式——基于典型相关分析的词向量。
one-hot形式的词向量
说到词向量就必须先看词向量的形式,一般有两类,分别是 one-hot 形式和分布式形式。前面我们说过词向量就是用来表示人类语言的一种数学化的方式,最简单的向量方式即是one-hot形式。
它的处理方式简单粗暴,一般就是统计词库包含的所有V个词,然后将这V个词固定好顺序,然后每个词就可以用一个V维的稀疏向量来表示,向量中只有在该词出现的位置的元素才为1,其它元素全为0。比如下面这几个词,第一个元素为1的表示中国,第六个元素为1的表示美国,第五个元素为1的表示日本。