image.png
Dual Graph enhanced Embedding Neural Network for CTR Prediction
https://arxiv.org/pdf/2106.00314.pdf
1.背景
1.1 现存的问题
基于特征交互和用户兴趣挖掘的方法已经得到了广泛的应用,比如比较有名的DIN,DIEN等。但是存在以下两个问题:
- 特征稀疏性:基于特征交互方法依赖于不同特征的共现,随着用户和item数量的不断增加,一些稀疏的特征在训练集中出现次数很少。如图1所示,蓝色虚线为特征相关的统计,可以发现很多特征出现的频率都是很低的
- 行为稀疏性:基于用户兴趣挖掘的方法依赖于用户的历史行为,从历史行为中挖掘用户的兴趣。但是从图1中的红色虚线部分,我们可以发现用户行为分布是长尾的,大部分用户的交互行为比较少。
image.png
1.2 解决方法(创新点)
针对上述两个稀疏性问题,本文提出了 Dual Graph enhanced Embedding Neural Network (DG-ENN) 。该方法从两方面解决上述问题:
- attribute graphs:属性图由user(item)的属性构成,包括性别、年龄等(类型,品牌等)。属性图中的高阶邻近度有助于增强稀疏特征的嵌入,因为学习一个节点的嵌入也有助于学习其邻居的嵌入,这样稀疏特征有更多的机会被更新。
- collaborative graph:协作图是由users和items之间的协作信号构建的。在图中的节点就是user和item,当然边的关系就存在user-user,user-item,item-item。user-item表示用户与item有交互,比如点击;user-user基于用户画像和用户行为的相似性定义;item-item基于用户行为中的转换关系来定义。
1.3 在图上学习有效表征的难点
- 在属性图中,不同属性属于不同的field,具有非常不同的特性,这使得在学习过程中聚合他们是非常困难的
- 协作图中存在各种不同的边,边与边之间又存在传递性,如何建模用户和item之间的关系是困难的
1.4 解决方法
- 利用分治法,单独学习每一个field中特征包含的信息,然后进行整合
- 采用类似累积学习的策略,先学习user-user和item-item的边关系,然后学习user-item之间的关系。
2. 符号
User:
item:
含有J fields的User属性:
含有K fields的item属性:
含有R fields的上下文属性(时间戳,展示位置等):
User-Item的交互关系用矩阵表示:
,
表示user如何item有交互
用户行为序列:
,
综上可以得到的特征是:
这里的u,v可以理解为是id,他们对应的特征是在A和B里面
3 DG-ENN
如图所示,主要由两部分组成,分别为属性图卷积和协作图卷积。
3.1 图构造
3.1.1 属性图
一个属性可以在多个用户或项目中,作为改善其表征的桥梁。这里主要构造两个属性图,分别是用户属性图
和item属性图
。
表示属性a属于用户u。
3.1.2 协作图
受协同过滤启发,用协作信号扩展用户的行为序列从而缓解稀疏性问题。item-user交互图可以用二部图表示
,但是这个只能表示item-user之间的关系,没有user-user和item-item之间的关系,因此需要再构建两个图。正如前文所述,user-user的图构建是通过用户之间的相似度,此处相似度的计算方式如下:
其中第一部分是计算用户之间偏好的相似性,Y就是用户交互矩阵中的行;A是用户属性,因此第二部分计算的是用户画像的相似性。当计算好两两用户之间的相似度之后,构建user-user的k-nn graph item-item的图是基于用户的行为序列来构建,如果item被同一个用户连续交互,则这两个item之间存在边。协作图可以构建为
,通过聚合节点的邻域信息可以促进用户表征。
3.2 属性图卷积
正如背景中所述,不同的特征属于不同的field,他们各自有不同的特性和分布,例如价格和类型就属于不同的field,因此本文采用分治的方法,先在field内做信息传播,然后再交叉。
3.2.1 Field-wise Information Propagation
假设h为中心点,
为h对应的邻居,则可以采用已提出的GCN相关方法来做信息传播,本文主要采用了GCN,NGCF和LightGCN三种方法,并试验了三种方法的性能,由于不是创新点,并没有对GCN做改进,这里不做具体方法的介绍。这部分主要是采用现有的GCN的相关方法,对每一个field做信息传播。感兴趣的小伙伴可以阅读相关文献。总体可以表示为:
f表示各种GCN对应的方法,e表示不同层的对应节点的表征。这里的初始输入
是原始embedding,和后面的协作图有所不同。最后经过多层信息传播后,对每一层得到的表征求和得到最终表征:
3.2.2 Cross-field Information Integration
这部分就是要将不同field得到的表征进行整个。这部分整合比较简单,直接将不同field的表征求和。公式如下:
3.3 协作图卷积
协作图这里,作者先学习user-user和item-item的边的保证,然后在进行user-item的学习。user-user和item-item是类似的,因此这里以user-user为例。设u为中心,
为u的邻居集合,则信息传播可以表示为:
,这里的f和属性图中一样采用各种GCN相关的方法进行信息传播,不同的是,这里的原始输入
和
是属性图中得到的表征,而属性图中的原始输入时原始的embedding。这里也和属性图一样,通过求和每一层的输出得到最终的表征,user和item分别为:
在通过user-user和item-item得到新的表征后,进行user-item交互的信息传播,得到最终的表征,公式还是类似的,这里不赘述了。
通过最终得到的表征,我们可以构建用于预测的特征
,这里简单对各个特征做一个解释。前两个p不用多说,就是包含用户和item之间交互信息的用户表征和item表征,这里对应用户兴趣挖掘;中间两个z是属性图中得到的,对应于特征交互问题;
是用户的行为序列,这里包含了交互信息,因此将序列中的item表征用经过协作图信息传播后的
表示;最后的e表示最原始的上下文embedding。
4 实验
从实验结果中可以发现,在三个数据集上,本文所用的方法能够明显提升AUC。
5 总结
这里对本文做一个简单的总结。首先在ctr预估中,我们往往会采用特征交互(FM系列,DCN等)和兴趣挖掘(DIN系列),但是这些方法会遇到两个问题就是特征稀疏性和行为稀疏性,这会使得学习到的表征不好。因此作者提出了两个方案来解决这两个问题,分别构建了属性图和协作图,通过图中节点,边的关系来增强表征。通过图卷积,进行信息的传播,缓解稀疏性问题,提升特征表征。