推荐系统实践 0x12 什么是Embedding

作过深度学习的小伙伴,你们应该多多少少都据说过Embedding,这么火的Embedding究竟是什么呢?这篇文章就用来介绍Embedding。另外,基于深度学习的推荐系统方法或者论文尚未结束,我打算穿插进行讲解,毕竟,深度学习出来的推荐框架的算法实在是太相像了,很难有大的不一样。因此,这一篇就聊聊Embedding。算法

初识Embedding

Embedding又被成为向量化,或者向量的映射。Embedding(嵌入)也是拓扑学里面的词,在深度学习领域常常和Manifold(流形)搭配使用。在以前的Embedding的操做,每每都是将稀疏的向量转换成稠密的向量,以便于交给后面的神经网络处理。其实,Embedding还有更多应用场景,以及更多的实现方法,后面会慢慢谈到这些方法。Embedding能够看作是用低维稠密向量表示一个对象,能够是单词,能够是用户,能够是电影,能够是音乐,能够是商品等等。只要这个向量可以包含,或者表达所表示对象的特征,同时可以经过向量之间的距离反应对象之间的关系或者类似性,那么Embedding的做用就体现出来了。网络

Example

以下图所示,就是Embedding在天然语言处理当中,对单词Embedding的一种刻画:
框架

上图中从king到queen,与从man到woman的距离向来那个几乎相同,说明Embedding之间的向量运算可以包含词之间的语义关系信息,同理,图中的词性例子当中,从进行时态到过去时态也是相同的距离。Embedding能够在大量预料的输入前提下,发掘出一些通用的常识,好比首都-国家之间的关系。学习

经过这个例子,咱们能够了解到,在词向量空间当中,即便是彻底不知道一个词向量的含义下,仅依靠语义关系加词向量运算就能够推断出这个词的词向量。Embedding就这样从一个空间表达对象,同时还能够表示对象之间的关系。编码

应用

除了在天然语言处理中对单词进行Embedding以外,咱们能够对物品进行Embedding。好比在影视做品推荐当中,“神探夏洛克”与“华生”在Embedding向量空间当中会比较近,“神探夏洛克”与“海绵宝宝”在向量空间中会比较远。另外,若是在电商推荐领域,“桌子”和“桌布”在向量空间中会比较紧,“桌子”和“滑雪板”在向量空间中会比较远。对象

不一样领域在使用这些语义资料进行训练的时候也会有不一样,好比电影推荐会将用户观看的电影进行Embedding,而电商会对用户购买历史进行Embedding。blog

深度学习推荐系统中的Embedding

通常来讲,推荐系统当中会大量使用Embedding操做:get

  1. 使用one-hot对类别,id等类型进行编码会致使特征向量极其稀疏,使用Embedding能够将高维稀疏的特征向量转化为低维稠密的特征向量。
  2. Embedding具备很强的表达能力,在Graph Embedding提出以后,Embedding能够引入任何信息进行编码,包含大量有价值的信息。
  3. Embedding能够表达对象之间的关系,能够对物品、用户的类似度进行计算,在推荐系统的召回层常常使用,尤为是在局部敏感哈希(Locality-Sensitive Hashing)等快速最近邻搜索提出以后,Embedding被用来对物品进行快速筛选,到几百或几千的量级以后再进行神经网络的精排。

常见方法

  • Word2Vec
  • Item2Vec
  • Node2Vec

等等方法,以及文中提到的局部敏感哈希,也会在后续的系列文章逐步更新介绍。深度学习

参考

深度学习推荐系统 王喆编著
怎么形象理解embedding这个概念? - 刘斯坦的回答 - 知乎it

相关文章
相关标签/搜索