作过深度学习的小伙伴,你们应该多多少少都据说过Embedding,这么火的Embedding究竟是什么呢?这篇文章就用来介绍Embedding。另外,基于深度学习的推荐系统方法或者论文尚未结束,我打算穿插进行讲解,毕竟,深度学习出来的推荐框架的算法实在是太相像了,很难有大的不一样。因此,这一篇就聊聊Embedding。算法
Embedding又被成为向量化,或者向量的映射。Embedding(嵌入)也是拓扑学里面的词,在深度学习领域常常和Manifold(流形)搭配使用。在以前的Embedding的操做,每每都是将稀疏的向量转换成稠密的向量,以便于交给后面的神经网络处理。其实,Embedding还有更多应用场景,以及更多的实现方法,后面会慢慢谈到这些方法。Embedding能够看作是用低维稠密向量表示一个对象,能够是单词,能够是用户,能够是电影,能够是音乐,能够是商品等等。只要这个向量可以包含,或者表达所表示对象的特征,同时可以经过向量之间的距离反应对象之间的关系或者类似性,那么Embedding的做用就体现出来了。网络
以下图所示,就是Embedding在天然语言处理当中,对单词Embedding的一种刻画:
框架
上图中从king到queen,与从man到woman的距离向来那个几乎相同,说明Embedding之间的向量运算可以包含词之间的语义关系信息,同理,图中的词性例子当中,从进行时态到过去时态也是相同的距离。Embedding能够在大量预料的输入前提下,发掘出一些通用的常识,好比首都-国家之间的关系。学习
经过这个例子,咱们能够了解到,在词向量空间当中,即便是彻底不知道一个词向量的含义下,仅依靠语义关系加词向量运算就能够推断出这个词的词向量。Embedding就这样从一个空间表达对象,同时还能够表示对象之间的关系。编码
除了在天然语言处理中对单词进行Embedding以外,咱们能够对物品进行Embedding。好比在影视做品推荐当中,“神探夏洛克”与“华生”在Embedding向量空间当中会比较近,“神探夏洛克”与“海绵宝宝”在向量空间中会比较远。另外,若是在电商推荐领域,“桌子”和“桌布”在向量空间中会比较紧,“桌子”和“滑雪板”在向量空间中会比较远。对象
不一样领域在使用这些语义资料进行训练的时候也会有不一样,好比电影推荐会将用户观看的电影进行Embedding,而电商会对用户购买历史进行Embedding。blog
通常来讲,推荐系统当中会大量使用Embedding操做:get
等等方法,以及文中提到的局部敏感哈希,也会在后续的系列文章逐步更新介绍。深度学习