【推荐】deepwalk原理,实战以及工程化

【推荐】deepwalk原理,实战以及工程化

💡 原文中文,约4200字,阅读约需10分钟。
📝

内容提要

本文介绍了DeepWalk在推荐算法中的原理、实战和工程化。DeepWalk通过构建用户-物品关系图并进行随机游走生成序列,然后训练item2vec模型得到用户和物品的embedding。文章还介绍了图的概念、随机游走的方法以及item2vec与word2vec的关系。实战部分使用networkx构建图,进行随机游走生成序列,并使用gensim的Word2Vec训练模型得到embedding。工程化部分介绍了预存topN和使用faiss构造embedding索引实现实时查询相似物品的方法。

🎯

关键要点

  • DeepWalk通过构建用户-物品关系图并进行随机游走生成序列,训练item2vec模型得到用户和物品的embedding。
  • 图的概念是由节点和边构成的网状结构,节点代表用户和物品,边代表实体之间的关系。
  • 随机游走是基于图遍历节点,随机获取相邻节点以构成item序列。
  • item2vec与word2vec算法原理相同,item2vec是word2vec在推荐领域的应用。
  • embedding是实体在高维空间的数学表示,可以进行实体之间的计算比较。
  • 实战部分使用networkx构建图,利用随机游走生成序列,并使用Word2Vec训练模型得到embedding。
  • 工程化部分介绍了预存topN和使用faiss构造embedding索引实现实时查询相似物品的方法。
  • 预存topN是预先计算每个item的最相似topN个item,存入数据库供线上调用。
  • faiss是一个高效的相似性聚类和检索库,支持高维空间中的海量数据搜索,适用于实时计算相似topN。
➡️

继续阅读