前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CIKM'21「eBay」推荐系统--利用超图对商品的多模态信息建模

CIKM'21「eBay」推荐系统--利用超图对商品的多模态信息建模

作者头像
秋枫学习笔记
发布2022-09-19 11:29:44
6170
发布2022-09-19 11:29:44
举报
文章被收录于专栏:秋枫学习笔记

Click-Through Rate Prediction with Multi-Modal Hypergraphs https://dl.acm.org/doi/pdf/10.1145/3459637.3482327 CIKM 2021

  1. 本文涉及到超图的概念,在此处先做简单解释,超图相对于普通图的区别在于,超图通常由一个三元组来表示G=<V,E,W>,w为权重,V为节点的集合,E为超边的集合。普通图的边只包含两个节点,而超边是包含多个顶点。具体其他内容大家可以参考:https://blog.csdn.net/qq_32797059/article/details/93031052

在后面的“超图生成”小节中也将进行介绍。

  1. 对于同构图,异构图可以简单理解为同构图是节点和边都只有一种种类的,而异构图是节点和边存在多种种类的,具体可以参考:https://zhuanlan.zhihu.com/p/350900048

总体流程

多模态信息可以更有助于模型对点击率进行预估,本文针对商品中的多模态信息进行建模。流程如下:

  • 时序信息挖掘,在用户的历史交互序列中挖掘时序信息,通过不同的embedding方式,结合自注意力机制挖掘长短期依赖
  • 构建用户,商品和多模态属性之间的超图,在超图的基础上学习用户的组感知表征和商品的表征
  • 将组感知表征和时序表征融合后得到最终的用户表征,将超图上学习得到的商品表征和原始商品表征结合后得到最终的商品表征。
  • 最后通过MLP计算分数。

方法

定义

用U表示用户集合,I表示商品集合,商品包含多模态特性(视觉,语音,文字)。将用户的历史交互行为构成超图

\mathcal{G}=(u,i)

,超边

\mathcal{E}=(u,i_1,...,i_m)

表示用户u和多个商品i之间的交互,并且边上有权重w。多模态的三元组为

M=\{v,a,x\}

,v,a,x分别表示视觉,语音,文字特征。一个用户组

y

与一个用户集

C_y \in U

相关联,它可以用来表示一个𝑁维的组感知embedding,并且组的成员会随着时间发生变化。对于每一个用户u,用户在当前时间c的时序行为表示为

B_u^c

;用户在时间段的序列用户行为表示为

B^s_u

。用

K(B_u^s),K(B_u^c)

表示对应的商品集合。下面定义几个概念:

  • 定义1Temporal User-item Interaction Representation,在一个时间段中
t_n

,用户u交互序列为

S(u,i_1,i_2,...)

,令

E_I=[e_1,e_2,...]

表示商品的静态潜在embedding,并且这些商品都与多模态特征

M_{i_n}

相关联,对于商品

i_n

,关联

v_{i_n},a_{i_n},x_{i_n}

  • 定义2Group-aware Multi-Modal Hypergraph,用
\mathcal{G}_g^{t_n}=\{V_g^{t_n},\mathcal{E}_g^{t_n},W^{t_n}_g,H^{t_n}_g\}

表示在时间段

t_n

中,与第i个item相关的超图。图中符号分别表示节点集合,超边集合,对应的权重矩阵以及w的关联矩阵。

  • 定义3Item Homogeneous Hypergraph,在定义2中定义的超图中存在三种超边(v,a,x)。令
\mathcal{G}_{i}^{t_{n}}\left(\mathcal{G}_{i}^{t_{n}} \supseteq\left\{\mathrm{g}_{v}^{t_{n}}, \mathrm{~g}_{a}^{t_{n}}, \mathrm{~g}_{x}^{t_{n}}\right\}\right)

表示每个用户组的一系列的商品同质超图。

\mathcal{G}_{i}^{t_{n}}=\left\{V_{i}^{t_{n}}, \mathcal{E}_{i}^{t_{n}}, \mathbf{W}_{i}^{t_{n}}, \mathbf{H}_{i}^{t_{n}}\right\}

表示在一个时间段

t_n

中和一个用户交互的商品的集合。

HYPERCTR 框架

如图所示为HYPERCTR的框架图,主要包含四个部分:时序用户行为注意力模块,基于兴趣的用户超图生成模块,商品超图构造和预测模块。

时序用户行为注意力模块

根据上面的流程,作者通过注意力机制从历史序列中挖掘时序信息,捕获长期和短期依赖。

Embedding Layer

长期依赖可以用时间段

t_n

中的与用户u交互过的所有商品来表示,时间段可以具体看上图红色区域。通过embedding层将用户

E_U

,商品

M_I \in \mathbb{R}^{|I| \times d}

和多模态信息

M_A \in \mathbb{R}^{|A| \times d}

转换为对应的embedding。用时间窗口将原始序列划分为

l

段,然后进行embedding得到

E_I^{t_n} \in \mathbb{R}^{l \times d}

,对于窗口中的每一个商品计算其多模态信息的embedding

E_A^{t_n} \in \mathbb{R}^{k\times d}

,其中k为商品的模式数目。序列表征为

E^{t_n} \in \mathbb{R}^{n\times d}

,

\mathbf{E}^{t_{n}}=\mathbf{E}_{U}+\mathbf{E}_{I}^{t_{n}}+\mathbf{E}_{A}^{t_{n}}
Attention Layer

利用多头自注意力机制对得到的embedding进一步编码,发掘内部依赖关系。公式如下,其中w为可学习参数,对于自注意力机制这里就不赘述了。

\begin{array}{c} \text { MultiHead } \left.(Q, K, V)=\text { Concat ( head }_{1}, \ldots, \text { head }_{\mathrm{h}}\right) W^{O} \\ \text { head }{ }_{\mathrm{i}}=\text { Attention }\left(Q W_{i}^{Q}, K W_{i}^{K}, V W_{i}^{V}\right) \\ \text { Attention }(Q, K, V)=\operatorname{softmax}\left(\frac{Q K^{T}}{\sqrt{d_{k}}}\right) V \\ FFN(x) = ReLU(0,xW_1+b_1)W_2+b_2 \end{array}

HGCN

在超图上进行GCN,公式如下,其中H为关联矩阵(相当于普通图的邻接矩阵),

D_v,D_e

表示顶点和超边的阶。整体形式上是和GCN类似的。

\mathbf{X}^{(l+1)}=\sigma\left(\mathbf{D}_{v}^{-1 / 2} \mathbf{H W D}_{e}^{-1} \mathbf{H}^{\top} \mathbf{D}_{v}^{-1 / 2} \mathbf{X}^{(l)} \Theta^{(l)}\right)

在HCGN这部分,需要对两类超图分别进行,从而得到组感知的用户保证和商品的表征。

预测层

对于得到的用户序列的embedding和组感知的超图embedding,拼接附加特征,为常数1,表示为

E=(E,1)^T

。用户和组级别的交互通过外积进行计算从而将两个表征进行融合,然后通过W可学习参数变换到高维潜在空间的表征,

\mathcal{T}_{U}=\mathbf{W}^{T} \cdot\left(\mathbf{E}^{t_{n}} \otimes \mathbf{E}_{g}^{t_{n}}\right)

。然后计算分数为

\hat{y}=f(e_u,e_i;\theta)

,e表示用户和商品的embedding,f为MLP,前面用ReLU,最后用sigmoid激活函数计算得分。最终的损失函数为:

L\left(\boldsymbol{e}_{u}, \boldsymbol{e}_{i}\right)=y \log \sigma\left(f\left(\boldsymbol{e}_{u}, \boldsymbol{e}_{i}\right)\right)+(1-y) \log \left(1-\sigma\left(f\left(\boldsymbol{e}_{u}, \boldsymbol{e}_{i}\right)\right)\right)

超图生成模块

基于兴趣的用户超图生成

文中有较多公式,这里笔者直接根据框架图中超图进行解释,方便大家理解。可以发现这里组感知超图是将三种模态的属性和与当前商品i相关的用户关联起来,彩色阴影部分是超边。为时间段中的每一个商品都构建相关的超图。

详细内容可以看论文正文。

商品超图构建

从用户交互序列中构建一系列同质的商品超图对于节点集合

I

构建为下式,这个集合中的超图都共享相公的节点集合。对于一个节点

i \in I

,超边

\mathcal{E}_{I,j}

定义为

\left\{i \mid i \in I,(u, i) \in \mathcal{E}_{T_{n}}\right\}

,在时间T中与当前节点集合中与用户u直接相连。

\mathcal{G}_I=\{\mathcal{G}_{I,group},\mathcal{G}_{I,1},...,\mathcal{G}_{I,Q}\}

如下图所示,在多模态属性层面上,将用户和不同的item进行关联,阴影部分为超边。详细公式和内容可以看论文正文。

信息增强

针对数据稀疏的问题,现有的方法都是针对单一模态的数据的,无法处理多模态的场景。本节作者提出两种增强方法,使用用户行为信息和商品多模态信息来学习子图embedding。分别从用户和商品的角度将初始的user-item异构超图转化为两个同构超图。

  • 用户行为信息增强策略:利用上面自监督学到的用户兴趣矩阵F来构建包含多个超边的user-user同构图,将其表示为定义2中的
\mathcal{G}_g^{t_n}

  • 商品的多模态信息增广策略:如果两个用户都和相同的模态有链接,那么在
\mathcal{G}_g^{t_n}

中可以给他们加上一条边;如果一些商品和相同的用户集有边,则在

\mathcal{G}_i^{t_n}

中给它们添加超边。

结果

image.png

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 秋枫学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 定义
    • 时序用户行为注意力模块
      • Embedding Layer
      • Attention Layer
    • HGCN
      • 预测层
      • 超图生成模块
        • 基于兴趣的用户超图生成
          • 商品超图构建
            • 信息增强
            相关产品与服务
            访问管理
            访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档