美文网首页
【Graph Embedding】Deep Walk

【Graph Embedding】Deep Walk

作者: 葡萄肉多 | 来源:发表于2019-07-27 09:04 被阅读0次

    推荐讲解很好的文章
    https://zhuanlan.zhihu.com/p/45167021

    在推荐系统中的应用

    1. 无现成的网络结构,需要自己构建网络图;
      推荐系统中的数据格式为:
    • 二部图数据:左侧为user集合,右侧为item集合;user-item互相连接,user-user之间无连接,item-item之间无连接;
    • 行为序列数据:用户在一段时间内的点击行为(或购买行为)数据;

    实现说明

    (1)原始数据:使用的是一段时间内的购买行为序列(千万量级);

    • 说明:行为序列数据可以直接应用word2vec算法,获得每个item的Embedding向量;

    (2)根据行为时间先后顺序,将行为序列数据拆分为 item ---> next_item 节点对格式。用于:构建item的邻居节点集合【构图过程参考:Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba

    (3)构建item的邻居节点集合,python中的networkx模块无法灵活应用大数据量,选择使用“字典”结构存储 {item_M: [item1, item2,...,], itemN: [item2, item5,...,], ...};

    • 通过节点对数据,构造出每个节点的下游节点集合(有向)
    • 同时考虑对下游节点集合数据进行加权(共同出现次数)处理,防止在随机游走时采样出过多的冷门商品(有权)

    (4)由构造的节点集合数据,从每个节点出发,随机游走M步,生成一条序列数据;

    • 每个节点作为起始节点出发N次;
    • 根据下游节点集合的权重值进行随机采样,达到随机游走的目的,每次最多游走M步,如果遇到无下游节点的节点,提前终止;

    (5)获得一条条的随机游走的序列数据;

    (6)通过python中的gensim模块训练word2vec模型;

    (7)获得每个节点的Embedding向量;

    (8)使用Embedding向量做你想做的事情:)

    相关文章

      网友评论

          本文标题:【Graph Embedding】Deep Walk

          本文链接:https://www.haomeiwen.com/subject/zxwbkctx.html