简介
“i do not love coding”,对于这样一句话,计算机是看不懂的,也不能直接进行输入,所以我们需要对他进行编码,让计算机能够看懂。
那么可能我们会第一时间想到onehot,是的经过onehot之后计算机确实可以进行处理了,但是会存在下面这个问题:
假设我们现在的语料库只有这五个单词,那么vocab_size = 5
下面这张图请大家忽略一些nlp上面的预处理问题,我为了给大家说明白所以举的例子比较直白,另外coding和like是我故意换的位置,我怕和pos_embedding弄混了,如果不懂什么是position emb的也没关系。
上图可以看出,通过one-hot编码之后的每个词。
看着挺好的呀,但是其实缺少了很重要的一点就是相似度问题,similarity(boy, girl)应该是不等于similarity(boy, hippo)的。
但是通过这种编码之后cosine-similarity都是零:
这个问题非常严重,所以才有了word embedding技术。
而其中:
- 2013年提出 Word2Vec<