.. _I2I: I2I召回 ======= 前面介绍的矩阵分解已经暗示了一个方向:把物品映射成向量,让向量空间中的距离反映相似性。I2I(Item-to-Item)召回沿着这个方向走得更远——给定一个物品,如何快速找出与之最相似的其他物品? 这里的“相似性”并非由物品的内在属性决定,而是由用户行为共同定义的。如果两个商品经常被同一批用户购买,两部电影被同一群观众喜欢,那么它们之间就存在关联。这种思想的灵感来自NLP领域的分布假说 :cite:p:`philological1957studies` :“You shall know a word by the company it keeps”(观其伴,知其义)。Word2Vec正是基于这一思想,通过分析文本中词语的共现关系,学习出了能够捕捉语义相似性的词向量。 所有I2I召回方法的本质都在回答同一个问题:如何更好地定义和利用“序列”来学习物品之间的相似性。本章沿着这条线索展开,从Word2Vec的理论基础出发,依次介绍四个模型: **Word2Vec:序列建模的理论基础**\ 。先介绍NLP中的Skip-Gram模型,它通过预测词语的上下文来学习词向量,为后续所有I2I方法奠定了理论基础。 **Item2Vec:最直接的迁移**\ 。把Word2Vec的思路直接搬到推荐场景——把用户的交互历史当作“句子”,物品当作“词”,用同样的方式学习物品向量。 **EGES:用属性信息增强序列**\ 。Item2Vec忽略了时序信息,对新物品也无能为力。EGES通过基于会话构建商品关系图,并融合商品的辅助属性信息来解决冷启动问题。 **Airbnb:将业务目标融入序列**\ 。Airbnb面临的问题和电商不同:房源不是标准化商品,预订行为远比点击稀疏,地理位置是关键因素。这个案例展示了如何根据业务特点重新设计序列的构建方式。 .. toctree:: :maxdepth: 2 1.word2vec.md 2.item2vec.md 3.eges.md 4.airbnb.md