那么如何将字词转化为数据呢,在刚开始时人们采用的是one-hot 向量
什么是one-hot向量
(例子介绍)
one-hot向量的缺点
这个时候人们想到了,相似意义的字词在一个足够大的文章中,所在的上下文位置往往是一样的:
中国的首都是北京
美国的首都是华盛顿
美国的首府是华盛顿
那么基于这种上下文信息能否挖掘到字词的数据化表示呢,答案肯定是可以的
谷歌的研究员在2013年先后提出了word2vec模型用来获取词向量,也叫词嵌入,就是把字词嵌入进向量空间中,在向量空间中我们至少可以看出,有相同含义的字词在向量空间中的位置是非常接近的。而且他们甚至可以做加减法
(case 1:向量空间)
(case 2:queen=king-man+woman)
1.所有这些不同的单词都有一条直的红色列。 它们在这个维度上是相似的(虽然我们不知道每个维度是什么)
2.你可以看到“woman”和“girl”在很多地方是相似的,“man”和“boy”也是一样
3.“boy”和“girl”也有彼此相似的地方,但这些地方却与“woman”或“man”不同。这些是否可以总结出一个模糊的“youth”概念?可能吧。
4.除了最后一个单词,所有单词都是代表人。 我添加了一个对象“water”来显示类别之间的差异。你可以看到蓝色列一直向下并在 “water”的词嵌入之前停下了。
5.“king”和“queen”彼此之间相似,但它们与其它单词都不同。这些是否可以总结出一个模糊的“royalty”概念?
那么这种数据是如何获得的呢?在word2vec中有两种方法,一种是cbow(连续词袋模型),另一种是skip-gram(跳字模型)
外文作者的内容(这部分有点和ann-手写数字识别重复了,包括训练方法和过程)
网友评论