美文网首页
图模型 - EGES

图模型 - EGES

作者: nlpming | 来源:发表于2021-11-11 18:07 被阅读0次

    1. 简介

    • EGES在2018年由阿里巴巴团队提出,其基本思想是在DeepWalk模型的基础上,引入side information来补充商品信息,解决长尾商品的embedding的学习问题。通过side information(比如类别、品牌等)来解决冷启动商品的embedding学习问题;
    • 为了学习得到商品的embedding向量,大致有下面几个步骤:
      (1)首先需要基于用户的session行为(时间窗口为1小时)构建商品图网络;构建的商品图网络为有向图网络,边的权重根据用户序列信息得到。
      (2)然后在商品图网络上进行随机游走生成商品序列;
      (3)之后将商品序列输入到Skip-Gram模型中得到商品的向量。
    • 得到商品向量之后,在推荐系统召回阶段,就可以使用I2I的方式进行商品召回;
    EGES整个流程.png

    2. 模型结构

    2.1 Base Graph Embedding (BGE模型)

    • BGE模型其实就是DeepWalk模型,在随机游走的时候结点之间的跳转概率计算公式如下:其中M_{ij}表示结点v_iv_j之间的权重,N_{+}(v_i)表示v_i结点所有出边的集合;即Deepwalk的跳转概率就是跳转边的权重占所有相关出边权重之和的比值。
      p(v_j | v_i) = \begin{cases} \frac{M_{ij}}{\sum_{j \in N_{+}(v_i)} M_{ij}}, & v_j \in N_{+}(v_i) \\ 0, & e_{ij} \notin \varepsilon \end{cases}

    • 2016年斯坦福大学在DeepWalk基础上进行再一次改进,提出了Node2vec模型;它通过调整随机游走权重的方法使Graph Embedding的结果更倾向于体现网络的同质性或者结构性; 同质性指的是距离相近的结点的embedding应该尽量近似,比如对于下图中的u结点,与其相连接的结点s_1, s_2, s_3, s_4的embedding应该尽量的相似;结构性指的是结构上相似的结点的embedding应该尽量相似,比如对于下图中的结点u和结点s_6都是各自局域网络的中心结点,结构上相似其embedding应该尽量相似。

      Node2vec.png
    • 为了实现同质性和结构性,Node2vec通过改变随机游走的跳转概率,使得游走过程更倾向于BFS或者DFS搜索过程达到目的。 在Node2vec中从结点v随机游走跳转到结点x的概率为(从结点t跳转到结点v,这个是已知的):\pi_{vx} = \alpha_{pq}(t,x) \cdot w_{vx},其中w_{vx}是边vx的权重;d_{tx}表示结点t, x之间的最短路径;参数p, q共同控制着随机游走的倾向性;
      \alpha_{pq}(t, x) = \begin{cases} \frac{1}{p}, & d_{t x} = 0 \\ 1, & d_{t x} = 1 \\ \frac{1}{q}, & d_{t x} = 2 \end{cases}

    Node2vec改变随机游走概率.png
    • 从下图可以看出同质性&结构性的体现;同质性的物品很可能是同品类、同属性、或者经常被一同购买的商品;结构性相同的物品则可能是各品类的爆款、各品类的最佳凑单商品等;
      同质性&结构性.png

    2.2 Graph Embedding with Side Information (GES模型)

    • BGE模型主要的缺点是对于冷启动的商品,不能够很好的学到其商品向量;因此GES引入side information信息,将每一个side information信息都进行embedding编码;假设商品v的向量为W_v^0,其第s个side information信息编码后的向量为W_v^s,假设总共有n中不同类型的side information信息。GES的做法是将这n+1向量进行max-pooling得到商品v融合后的向量:
      H_v = \frac{1}{n+1} \sum_{s=0}^{n} W_v^s

    2.3 Enhanced Graph Embedding with Side Information (EGES模型)

    • GES模型的主要缺点是,对于不同类型的side information其权重是一样的;EGES模型认为不同的side information信息是不一样的,因此提出商品融合后的向量应该是向量加权求和的结果,类似于attention机制。论文中不同embedding的权重是e^{a_v^j},目的是确保权重一定大于0;不同side information向量的权重是通过学习得到的;
      H_v = \frac{\sum_{j=0}^{n} e^{a_v^j} W_v^j}{\sum_{j=0}^{n} e^{a_v^j}}

      EGES模型结构.png
    • 最终EGES的目标函数如下:其中u表示当前结点v的context内的结点,Z_u表示输出层u对应的embedding向量;
      \mathcal{ L}(u, v, y) = - \left[ ylog(\sigma(H_v^TZ_u)) + (1-y)log(1- \sigma(H_v^TZ_u)) \right]

    • EGES模型最终的伪代码如下:


      EGES伪代码.png

    参考论文

    参考资料

    相关文章

      网友评论

          本文标题:图模型 - EGES

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