«上一篇 下一篇»
  计算机工程  2022, Vol. 48 Issue (3): 60-68  DOI: 10.19678/j.issn.1000-3428.0060895
0

引用本文  

赵越, 武志昊, 赵苡积. 基于特征与域感知的点击率预估方法[J]. 计算机工程, 2022, 48(3), 60-68. DOI: 10.19678/j.issn.1000-3428.0060895.
ZHAO Yue, WU Zhihao, ZHAO Yiji. CTR Prediction Method Based on Feature and Domain Perception[J]. Computer Engineering, 2022, 48(3), 60-68. DOI: 10.19678/j.issn.1000-3428.0060895.

基金项目

国家自然科学基金(61603028)

作者简介

赵越(1996-), 女, 硕士研究生, 主研方向为深度学习、推荐系统;
武志昊, 副教授、博士生导师;
赵苡积, 博士研究生

文章历史

收稿日期:2021-02-23
修回日期:2021-04-18
基于特征与域感知的点击率预估方法
赵越1,2 , 武志昊1,2 , 赵苡积1,2     
1. 北京交通大学 计算机信息与技术学院, 北京 100044;
2. 交通数据分析与挖掘北京市重点实验室, 北京 100044
摘要:点击率预估是推荐系统中的核心任务,其关键是学习有效的特征交互,但现有基于深度神经网络的点击率预估方法未考虑冷启动问题,导致准确率降低。结合特征信息和域信息的嵌入,提出一种特征交互的点击率预估方法FF-GNN。利用基于图神经网络的交互模块分别提取特征嵌入和域嵌入的结构信息,建模细粒度的特征交互和粗粒度的域交互过程。同时通过设计图神经网络的权重计算模块,交叉引用特征图神经网络和域图神经网络的低阶特征信息,实现特征交互和个性化建模域交互。在此基础上,采用注意力机制融合特征交互和域交互模块的结果预测点击率。在Criteo和Frappe公开数据集上的实验结果验证了FF-GNN方法的有效性,其AUC指标相较于同类型Fi-GNN方法分别提高0.57和0.85个百分点,能够同时关注特征和域信息,提高点击率预估的准确度。
关键词点击率预估    图神经网络    特征交互    域交互    个性化建模    
CTR Prediction Method Based on Feature and Domain Perception
ZHAO Yue1,2 , WU Zhihao1,2 , ZHAO Yiji1,2     
1. School of Computer and Information Technology, Beijing Jiaotong University, Beijing 100044, China;
2. Beijing Key Lab of Traffic Data Analysis and Mining, Beijing 100044, China
Abstract: CTR prediction, as the core task in the field of recommendation systems, is key to learning effective feature interaction.The existing CTR prediction method based on deep neural network do not consider the cold start problem, resulting in the low accuracy.For feature interaction, this paper proposes the CTR prediction method FF-GNN which combines the embeddings of feature and domain information.The interaction module based on Graph Neural Network(GNN) is used to extract the structural information of feature and domain embeddings to model the fine-grained feature interaction as well as the coarse-grained domain interaction.In addition, a weight calculation module is designed for the GNN.This module cross references the low-order feature information of the feature GNN and domain GNN to realize feature interaction and personalized modeling domain interaction.The attention mechanism is then used to fuse the results of feature interaction module and domain interaction module to predict CTR.Experimental results on the Criteo and Frappe datasets verify the effectiveness of the FF-GNN method.Compared with the Fi-GNN method, the AUC of FF-GNN is improved by 0.57 and 0.85 percentage points respectively.The method by focusing on the feature and domain information, improves the accuracy of CTR prediction.
Key words: CTR prediction    Graph Neural Network(GNN)    feature interaction    domain interaction    personalized modeling    

开放科学(资源服务)标志码(OSID):

0 概述

点击率预估被广泛应用于搜索广告[1-2]和推荐系统[3-4]等领域,有助于企业精准营销和提高投资回报率[5]。点击率预估模型构建的关键在于学习能有效反映用户行为的交互特征。例如,在软件商店中,用户1偏好下载热门的软件,可构造一阶特征[软件名称],用户2经常在吃饭时间下载外卖软件,可构造二阶交互特征[软件名称、时间],男青年3偏好射击游戏,可构造高阶交互特征[用户性别、用户年龄、软件名称]。

低阶和高阶的交互特征对于点击率预估具有重要意义,但是原始数据只能获取一阶特征。通常依据专家经验手动设计新特征,以获取有效的高阶交互特征。然而,这种方式需要大量的人工成本和丰富的专家经验。随着因子分解机(Factorization Machine,FM)[6]等机器学习算法的发展,自动获取交互特征成为可能,但是该方法需要遍历所有特征组合,受计算资源的限制,通常只能截取二阶的交互特征。基于深度学习的算法[7-9]因其优异的性能受到了广泛关注,将高维稀疏的特征按照特征类别组织为多个域,经过嵌入层得到每个域内的特征嵌入,最终通过深度神经网络来建模高阶特征交互。尽管这类模型具有优异的性能,但是其未考虑冷启动问题。在推荐系统领域中,冷启动问题通常指包含某特征(如用户或产品)的样本极少,导致模型无法对这部分样本进行准确推荐,该样本分为新特征和“小”特征样本两种。在实际应用中,产品的快速迭代会产生包含“小”特征的样本,例如,在软件商店中,某用户下载了小众软件,从而产生一条点击样本,小众软件即为“小”特征,该样本即为包含“小”特征的样本。“小”特征在模型训练阶段出现次数较少而没有得到充分学习,导致模型对这类样本点击率预估不准确。虽然“小”特征在训练阶段出现次数少,但是数量较庞大,如果能准确预估该类样本将产生较高的经济效益[10]

在点击率预估的实际场景中(如搜索广告、推荐系统),冷启动问题面临诸多挑战[11]。常见的解决方法是通过设计粗粒度的特征交互,获得在极少数样本中更丰富的“小”特征信息。域是特征按照类别划分形成的粗粒度概念,研究人员[12-14]通过引入域交互以更准确地建模特征交互,他们指出,在不同域下的特征交互通常存在差异问题,例如,性别域的特征与软件类型域的特征有强的交互,然而与设备类型域的特征交互相对较弱,显然特征交互的强度受域的影响,所以引入粗粒度的域是通过域嵌入的内积建模域交互,并进一步将域嵌入的内积作为特征交互的系数以体现交互的强度。然而在该类引入粗粒度交互的方法中,因每个样本的域嵌入以及域交互的操作均相同,导致域交互均相同,从而无法捕获样本对域的独特偏好。例如,用户小明喜欢看视频,那么小明偏好[软件类型]域;用户小红喜欢评分高的软件,则小红偏好[软件评分]域;用户小兰喜欢免费软件,那么小兰偏好[是否免费]域,因此粗粒度的域交互需要进行个性化建模。

本文提出一种基于特征与域感知的点击率预估方法FF-GNN。该方法分别通过基于图神经网络的交互模块建模细粒度的特征交互和粗粒度的域交互,利用图神经网络的权重计算模块交叉引用低阶信息,并通过注意力机制融合两个交互模块的结果,从而提升点击率预估的准确度。

1 相关工作

研究人员采用机器学习算法逻辑回归(Logistics Regression,LR)进行点击率预估,该方法不仅无法交互特征且没有泛化能力,从而难以满足实际应用需求。为解决该问题,研究人员[6]开发了基于嵌入的方法,将高维稀疏的输入嵌入成低维稠密的隐向量,提高模型的泛化能力。基于嵌入的方法分为基于FM的方法和基于神经网络的方法。

1.1 基于FM的方法

FM[6]方法是通过构建特征隐因子,并将其内积作为交叉特征权重,以有效建模成对的特征交互,但是其计算复杂度高[15]。研究人员对FM进行改进[12-14],引入域信息建模特征交互的差异性,例如FFM[12]为特征构建多个隐因子,其与不同域内的特征交互时,使用不同的嵌入计算交叉特征的权重,强调域对特征交互产生的影响,IFM[13]通过构建域交互来计算特征交互的权重,然而该方法中每个样本得到的域交互均相同,无法进行个性化建模。也有研究人员[16]认为交叉特征并非同等重要,因此提出了一些模型。例如AFM[16]引入注意力网络来学习交叉特征的重要性,忽略不重要甚至无用的特征。然而,这些方法只能建模二阶交叉特征,其性能难以满足点击率预估任务的需求。

1.2 基于神经网络的方法

由于神经网络能建模更复杂的特征交互,而特征交互是点击率预估算法的核心,因此基于深度神经网络的点击率预估算法成为研究热点[7]。FNN[8]通过FM预训练得到特征嵌入后,并将其输入到深度神经网络(Deep Neural Network,DNN)以建模高阶交叉特征。PNN[9]引入新的特征交互操作——乘法层。NFM[17]首先通过双线性层建模二阶交互,然后通过全连接神经网络建模高阶交互。尽管上述方法能成功地对高阶交叉特征进行建模,但是对低阶交叉特征的表达受到限制,从而降低了点击率预估的性能。针对该问题,研究人员提出能够同时建模低阶和高阶交叉特征的方法。Wide & Deep[18]并行组合了FM和DNN,同时对低阶和高阶交叉特征进行建模。DeepFM[19]两大模块FM和DNN共享输入,不依赖特征工程。这些方法通过DNN隐式的方式建模高阶交叉特征,缺乏良好的解释性。因此,通过设计特殊的网络结构,尝试对交叉特征进行显式建模,使其更具可解释性。DCN[20]构建交叉网络,xDeepFM[21]构建压缩交互网络结构,InterHAT[22]通过构建层次注意力以显式建模交叉特征。这类方法需要根据专家经验指定交叉特征的阶数。随后AFN[23]方法被提出,其核心是对数变换层,不同于之前的方法,它能够从数据中自适应学习表现最佳的不定阶交叉特征。此外,还有一些模型在特征交互之前,通过计算特征重要性筛选特征。例如FiBiNET[24]通过压缩和激励网络(Squeeze-Excitation Network,SENET)学习特征重要性,并对特征进行筛选。FGCNN[25]通过卷积神经网络(Convolutional Neural Network,CNN)过滤不重要的特征,生成新的特征以进行交互。随着图神经网络(Graph Neural Network,GNN)在许多领域的成功应用,Fi-GNN[26]首次将多特征域表示为图结构,并使用GNN学习复杂的交叉特征。尽管基于神经网络的方法具有良好的性能,但是仍存在一定不足。该方法首先将高维稀疏的特征按照特征类别组织为多个域,然后经过嵌入层得到域特征嵌入,最后通过网络结构建模特征交互。然而这类方法在样本数较少的场景中难以取得理想效果,点击率预估的精度较低。

2 FF-GNN方法

为了便于形式化描述,本文给定输入特征的域为F,域特征为f,特征值为v。点击率预估问题定义$ X=\{{F}_{1}:{f}_{1}:{v}_{1}, {F}_{2}:{f}_{2}:{v}_{2}, \cdots , {F}_{n}:{f}_{n}:{v}_{n}\} $,其中$ {F}_{i}\mathrm{、}{f}_{i}\mathrm{、}{v}_{i} $分别为样本第$ i $个域及该域对应的特征和特征值,预估用户点击商品的概率$ \widehat{y}\in [0,1] $

本文提出一种使用GNN感知特征和域的点击率预估方法FF-GNN,图 1所示为该模型的结构。模型包括嵌入模块、交互模块、融合模块、点击率预估模块4个部分。首先,嵌入模块将输入的特征与域编号映射为稠密的特征嵌入$ {E}_{f} $与域嵌入$ {E}_{F} $。其次,交互模块通过GNN建模特征和域的交互。特征GNN和域GNN节点状态分别初始化为$ {E}_{f} $$ {E}_{F} $,并通过交叉引用彼此信息计算特征图和域图邻接矩阵,随后聚集更新多次迭代以得到高阶交叉特征$ {H}_{1}\mathrm{、}{H}_{2} $。最后,融合模块将高阶交叉特征$ {H}_{1}\mathrm{、}{H}_{2} $和低阶的嵌入$ {H}_{0}\mathrm{、}{H}_{3} $通过注意力机制融合,并利用点击率预估模块得到点击率。

Download:
图 1 FF-GNN模型结构 Fig. 1 Structure of FF-GNN model
2.1 嵌入模块

嵌入模块包括特征嵌入层和域嵌入层2个部分。假设给定样本$ X $={设备:平板;年龄:18;性别:男;待下载应用:音乐播放器}。其中,冒号(:)前面的信息代表域,冒号后的信息代表该域下的具体特征。

特征嵌入层将样本中的特征转换成低维稠密的特征嵌入。特征嵌入层对$ X $中的特征进行one-hot编码,并转换为二值向量,如:

$ \underbrace {\left[ {{\rm{1}},{\rm{0}}, \cdots ,0} \right]}_{设备},\underbrace {\left[ {{\rm{0}},{\rm{1}}, \cdots ,0} \right]}_{年龄},\underbrace {\left[ {1,0} \right]}_{性别},\underbrace {\left[ {{\rm{0}},{\rm{1}}, \cdots ,0} \right]}_{待下载应用} $

因特征总数($ \left|f\right| $)较大,导致二值向量高维稀疏,从而计算效率低。本文通过特征嵌入层将二值向量转换为稠密的低维向量,获得特征嵌入$ {E}_{f}=[{e}_{{f}_{1}}, {e}_{{f}_{2}}, \cdots , {e}_{{f}_{n}}] $,其中n是样本中的特征数量,$ {e}_{{f}_{i}}\in {\mathbb{R}}^{d} $是样本的第$ i $个特征对应的嵌入。类似地,域嵌入层将样本中的域$ [\mathrm{1, 2}, \cdots , n] $(n=4)转换为域嵌入$ {E}_{F}=[{e}_{{F}_{1}}, {e}_{{F}_{2}}, \cdots , {e}_{{F}_{n}}] $$ {e}_{{F}_{i}}\in {\mathbb{R}}^{d} $

2.2 交互模块

交互模块是模型的核心组件,包括特征交互和域交互两个部分。特征交互与域交互均与GNN中的节点交互具有对应关系。特征交互可以转化为图中的节点交互,特征交互的强度可以转化为图中节点间的边权。因此,本文采用GNN中的门控图神经网络(Gated Graph Neural Network,GGNN)[27]构造交互模块,以捕获特征之间或域之间的结构信息。GNN是一种直接作用于图结构上的神经网络,首先将特征信息和域信息转换为图结构,然后将其输入到GNN中进行交互。

2.2.1 特征图与域图的构建

特征图和域图的构建步骤如下。

1)特征图。首先将样本中的特征构建成特征图$ {G}_{f}=\left({V}_{f}, \mathrm{E}\mathrm{d}\mathrm{g}{\mathrm{e}}_{f}\right) $,其中节点$ {v}_{i}\in {V}_{f} $对应样本中的第$ i $个特征,节点数量$ \left|{V}_{f}\right|=n $,边代表特征节点之间具有联系。由于每对特征之间都存在隐藏关系,因此$ {G}_{f} $是全连接图。与标准的神经网络不同,GNN中的每个节点保留一个状态信息,节点聚合邻居的状态并更新自身状态,经过多次迭代后,节点能够收集任意跳的邻居信息。此时,特征交互转化为节点之间的交互,通过边交互及边的权重反映特征交互的作用强度。给定第$ i $个节点的初始状态$ {h}_{f}{}_{i}^{1}={e}_{{f}_{i}} $$ {h}_{f}{}_{i}^{1}\in {\mathbb{R}}^{d} $,所有节点的初始状态集合为$ {H}_{f}^{1}\in {\mathbb{R}}^{n\times d} $

2)域图。为了挖掘域之间的隐藏关系,本文构建单独的域嵌入,并用GNN建模域之间的交互。将输入中的域表示为图结构,构建域图$ {G}_{F}=\left({V}_{F}, \mathrm{E}\mathrm{d}\mathrm{g}{\mathrm{e}}_{F}\right) $,其中节点$ {v}_{i}\in {V}_{F} $对应样本的第$ i $个域,节点数量$ \left|{V}_{F}\right|=n $。由于每对域之间的隐藏关系均不能忽略,因此$ {G}_{F} $是全连接图。此时域交互转化为节点之间的边交互,边的权重反映域交互的作用强度。同样地,给定第$ i $个节点的初始状态$ {h}_{F}{}_{i}^{1}={e}_{{F}_{i}} $$ {h}_{F}{}_{i}^{1}\in {\mathbb{R}}^{d} $,所有节点的初始状态集合为$ {H}_{F}^{1}\in {\mathbb{R}}^{n\times d} $

图神经网络迭代t层后,特征GNN和域GNN分别得到高阶交互特征$ {H}_{f}^{t}=[{h}_{f}{}_{1}^{t}, {h}_{f}{}_{2}^{t}, \cdots , {h}_{f}{}_{n}^{t}] $$ {H}_{F}^{t}=[{h}_{F}{}_{1}^{t}, {h}_{F}{}_{2}^{t}, \cdots , {h}_{F}{}_{n}^{t}] $

2.2.2 聚集(交互)过程

GNN的节点状态经过初始化后,开始迭代聚集邻居节点状态并更新自身状态,具体过程如图 2所示。

Download:
图 2t层GNN节点$ {\mathit{v}}_{4} $更新过程 Fig. 2 The node $ {\mathit{v}}_{4} $ updating process in the t-th step of GNN

首先当前节点$ {v}_{4} $通过不同的权重和转换方式将邻居节点的信息聚集到一起,然后将聚集结果及t-1层自身信息输入到GGNN,更新$ {v}_{4} $的信息,以得到第t层节点状态$ {h}_{4}^{t} $。假设已经求得第t-1层节点的状态信息,并进行第t层的操作。当前节点$ {v}_{i} $的聚集结果$ {a}_{i}^{t} $表示为邻居节点的状态信息之和,如式(1)所示:

$ a_i^t = \sum\limits_{{v_j} \to {v_i} \in {\rm{Edg}}{{\rm{e}}_f}} {{\mathit{\boldsymbol{A}}_{ji}}} \mathit{\boldsymbol{W}}{h_j}^{t - 1} $ (1)

其中:$ {v}_{j} $$ {v}_{i} $的邻居节点;$ \mathit{\boldsymbol{W}} $为将节点的状态信息转换到另一空间的转换函数;$ \mathit{\boldsymbol{A}}\in {\mathbb{R}}^{n\times n} $为特征图的邻接矩阵。邻接矩阵和转换函数决定特征交互的方式。

1)邻接矩阵

(1)特征图。GGNN的邻接矩阵是二值(0-1)邻接矩阵,仅反映特征之间是否有关系,而无法体现作用强度,从而难以满足特征个性化交互的需求。为区别刻画特征之间的作用强度且反映不同域内特征交互的差异性,本文根据特征对应域的嵌入计算得到特征之间的交互强度,如式(2)所示:

$ w_{ji}^f = \frac{{{\rm{exp}}({\rm{LeaklyRelu}}({\mathit{\boldsymbol{W}}_{wf}}[{e_{{F_q}}}||{e_{{F_p}}}]))}}{{\sum\limits_{{v_k} \to {v_i} \in {\rm{Edg}}{{\rm{e}}_f}} {\rm{e}} {\rm{xp}}({\rm{LeaklyRelu}}({\mathit{\boldsymbol{W}}_{wf}}[{e_{{F_r}}}||{e_{{F_p}}}]))}}$ (2)

其中:$ {w}_{ji}^{f} $为节点$ {v}_{j}\mathrm{、}{v}_{i} $之间的边权;$ {F}_{q}\mathrm{、}{F}_{p}\mathrm{、}{F}_{r} $分别为节点$ {v}_{j}\mathrm{、}{v}_{i}\mathrm{、}{v}_{k} $对应的特征所属的域;LeaklyRelu为激活函数;$ \mathit{\boldsymbol{W}}_{wf} $为转换矩阵。相应地,特征图的加权邻接矩阵如式(3)所示:

$ \mathit{\boldsymbol{A}}_{ji}^f = \left\{ {\begin{array}{*{20}{c}} {w_{ji}^f, j \ne i}\\ {0, j = i} \end{array}} \right. $ (3)

其中:$ \mathit{\boldsymbol{A}}_{ji}^{f} $为节点$ {v}_{j} $$ {v}_{i} $之间的边的权重,节点通过边交互时根据不同的作用强度聚集邻居节点状态信息,以建模复杂的特征交互。

(2)域图。通过注意力机制计算域图的邻接矩阵,这样不仅实现域交互的个性化建模,还获得了粗粒度的高阶交互,如式(4)所示,域图的邻接矩阵如式(5)所示:

$ w_{ji}^F = \frac{{{\rm{exp}}({\rm{LeaklyRelu}}({\mathit{\boldsymbol{W}}_{wF}}[{e_{{f_q}}}||{e_{{f_p}}}]))}}{{\sum\limits_{{v_k} \to {v_i} \in {\rm{Edg}}{{\rm{e}}_F}} {\rm{e}} {\rm{xp}}({\rm{LeaklyRelu}}({\mathit{\boldsymbol{W}}_{wF}}[{e_{{f_r}}}||{e_{{f_p}}}]))}} $ (4)
$ \mathit{\boldsymbol{A}}_{ji}^F = \left\{ {\begin{array}{*{20}{c}} {w_{ji}^F, j \ne i}\\ {0, j = i} \end{array}} \right. $ (5)

其中:$ {w}_{ji}^{F} $为节点$ {v}_{j}\mathrm{、}{v}_{i} $之间的边权;$ {f}_{q}\mathrm{、}{f}_{p}\mathrm{、}{f}_{r} $分别为节点$ {v}_{j}\mathrm{、}{v}_{i}\mathrm{、}{v}_{k} $对应的特征;LeaklyRelu为激活函数;$ \mathit{\boldsymbol{W}}_{wF} $为转换矩阵。

2)转换函数

由于交互过程复杂,除了区别设计每对节点间的边权以外,还需要为每条边分配独特的转换函数。该操作导致模型的参数量与特征图的边数量成正比。为减小空间和时间复杂度,本文参考文献[26]提出一种边分配转换函数方法。从图 2可以看出,通过为每个节点$ {v}_{i} $分配输出转换矩阵$ \mathit{\boldsymbol{W}}_{\mathrm{o}\mathrm{u}\mathrm{t}}^{i} $和输入转换矩阵$ \mathit{\boldsymbol{W}}_{\mathrm{i}\mathrm{n}}^{i} $,使得转换函数的参数量与图的节点成正比,既保证了每条边转换函数的独特性,又降低了参数量。特征图和域图的转换函数形式一致,从节点$ {v}_{j} $$ {v}_{i} $的边和从节点$ {v}_{i} $$ {v}_{j} $的边的转换函数如式(6)、式(7)所示:

$ {\mathit{\boldsymbol{W}}^{{v_j} \to {v_i}}} = \mathit{\boldsymbol{W}}_{{\rm{out}}}^j\mathit{\boldsymbol{W}}_{{\rm{in}}}^i $ (6)
$ {\mathit{\boldsymbol{W}}^{{v_i} \to {v_j}}} = \mathit{\boldsymbol{W}}_{{\rm{out}}}^i\mathit{\boldsymbol{W}}_{{\rm{in}}}^j $ (7)

相应地,特征图和域图的邻接矩阵如式(8)、式(9)所示:

${a_f}_i^t = \sum\limits_{{v_j} \to {v_i} \in {\rm{Edg}}{{\rm{e}}_f}} {A_{ji}^f} \mathit{\boldsymbol{W}}_f^{{v_j} \to {v_i}}{h_f}{_j^{t - 1}} $ (8)
$ {a_F}_i^t = \sum\limits_{{v_j} \to {v_i} \in {\rm{Edg}}{{\rm{e}}_F}} {A_{ji}^F} \mathit{\boldsymbol{W}}_F^{{v_j} \to {v_i}}{h_F}{_j^{t - 1}} $ (9)

其中:$ \mathit{\boldsymbol{W}}_{f}^{{v}_{j}\to {v}_{i}}\mathrm{、}\mathit{\boldsymbol{W}}_{F}^{{v}_{j}\to {v}_{i}} $分别为特征图和域图的转换函数。节点$ {v}_{i} $以不同的方式聚集了不同邻居节点的状态,完成了复杂的交互过程。

2.2.3 更新过程

当前节点$ {v}_{i} $得到第t层聚集结果$ {a}_{i}^{t} $后,还需更新自身状态信息。GGNN的节点将第t层聚集结果及第t-1层的自身状态作为门控循环单元(Gated Recurrent Unit,GRU)的输入,通过更新得到第t层节点状态,特征图和域图的更新过程分别如式(10)和式(11)所示:

$ {h}_{f}{}_{i}^{t}={G}_{\mathrm{G}\mathrm{R}\mathrm{U}}({a}_{f}{}_{i}^{t}, {h}_{f}{}_{i}^{t-1}) $ (10)
$ {h}_{F}{}_{i}^{t}={G}_{\mathrm{G}\mathrm{R}\mathrm{U}}({a}_{F}{}_{i}^{t}, {h}_{F}{}_{i}^{t-1}) $ (11)

为了使网络中的信息前后传播更加顺畅以及网络训练更有效,通常会引入残差连接,即加入第1层的节点自身状态,因此,式(10)和式(11)分别可写为式(12)和式(13):

$ {h}_{f}{}_{i}^{t}={G}_{\mathrm{G}\mathrm{R}\mathrm{U}}({a}_{f}{}_{i}^{t}, {h}_{f}{}_{i}^{t-1})+{h}_{f}{}_{i}^{1} $ (12)
$ {h}_{F}{}_{i}^{t}={G}_{\mathrm{G}\mathrm{R}\mathrm{U}}({a}_{F}{}_{i}^{t}, {h}_{F}{}_{i}^{t-1})+{h}_{F}{}_{i}^{1} $ (13)

GNN迭代更新至T层后,可以获得图的最终状态信息$ {H}_{f}^{T}\mathrm{、}{H}_{F}^{T} $,每个节点的最终状态都可以看作高阶交叉特征。节点与各个邻居节点完成交互,并更新了自身的状态信息,从而实现了特征级别复杂的交互,捕获特征之间的隐藏关系。

2.3 融合模块

融合模块是通过注意力机制将同类型的交叉特征相融合,并作为点击率预估层的输入。在特征GNN和域GNN迭代T层后,图产生的高阶交叉特征分别表示为:$ {{H}_{f}}^{T}=\left[{h}_{f1}^{T}, {h}_{f2}^{T}, \cdots , {h}_{fn}^{T}\right], $$ {H}_{F}^{T}=\left[{h}_{F1}^{T}, {h}_{F2}^{T}, \cdots , {h}_{Fn}^{T}\right] $。每个高阶交叉特征对最终预测结果的贡献不同,其权重系数通过注意力机制自适应学习。以特征GNN的特征$ {H}_{f}^{T} $为例,第$ i $个高阶交叉特征$ {h}_{f}{}_{i}^{T} $的权重系数如式(14)所示,高阶交叉特征的融合结果如式(15)所示:

$ {\alpha }_{i}=\frac{\mathrm{e}\mathrm{x}\mathrm{p}\left({w}_{c}\sigma \left({w}_{w}{h}_{f}{}_{i}^{T}\right)\right)}{\sum\limits _{k=1}^{n}\mathrm{e}\mathrm{x}\mathrm{p}\left({w}_{c}\sigma \left({w}_{w}{h}_{f}{}_{k}^{T}\right)\right)} $ (14)
$ {H}_{1}=\sum\limits _{i=1}^{n}{\alpha }_{i}{h}_{f}{}_{i}^{T} $ (15)

其中:$ {w}_{c}\in {\mathbb{R}}^{1\times d} $$ {w}_{w}\in {\mathbb{R}}^{d\times d} $是转换函数;$ \sigma $为Relu激活函数。类似地,域GNN网络中高阶交叉特征的融合结果记为$ {H}_{2}\in {\mathbb{R}}^{d} $

为了挖掘低阶特征中的隐藏信息,本文通过注意力机制分别获得特征嵌入$ {E}_{f} $与域嵌入$ {E}_{F} $的融合特征,记为$ {H}_{0}\in {\mathbb{R}}^{d},{H}_{3}\in {\mathbb{R}}^{d} $。因此注意力融合层最终输出为$ {H}_{\mathrm{r}\mathrm{e}\mathrm{s}}=[{H}_{0};{H}_{1};{H}_{2};{H}_{3}] $$ {H}_{\mathrm{r}\mathrm{e}\mathrm{s}}\in {\mathbb{R}}^{4d} $

2.4 点击率预估模块

点击率预估层由2个多层感知机(Multi-Layer Perceptron,MLP)组成,分别用于计算$ {H}_{\mathrm{r}\mathrm{e}\mathrm{s}} $中每项的得分及其贡献,然后将其相加得到预估分数,具体的计算过程如式(16)、式(17)所示:

$ {o}_{i}^{\mathrm{o}\mathrm{u}\mathrm{t}\mathrm{p}\mathrm{u}\mathrm{t}}={M}_{1}^{\mathrm{M}\mathrm{L}\mathrm{P}}\left({H}_{i}\right) $ (16)
$ {\beta }_{i}={M}_{2}^{\mathrm{M}\mathrm{L}\mathrm{P}}\left({H}_{i}\right) $ (17)
$ \widehat{y}=\sigma \left(\sum\limits _{i=1}^{4}{\beta }_{i}{o}_{i}^{\mathrm{o}\mathrm{u}\mathrm{t}\mathrm{p}\mathrm{u}\mathrm{t}}{}_{}\right) $ (18)

其中:$ {o}_{i}^{\mathrm{o}\mathrm{u}\mathrm{t}\mathrm{p}\mathrm{u}\mathrm{t}}\mathrm{、}{\beta }_{i} $分别为交叉特征$ {H}_{i} $对应的得分及权重系数;$ \sigma $为sigmoid激活函数;$ \widehat{y} $为预估分数。

2.5 训练

模型的损失函数是点击率预估任务中常用的对数损失(Logloss),如式(19)所示:

$ L=-\frac{1}{N}\sum\limits _{i=1}^{N}\left({y}_{i}\mathrm{l}\mathrm{n}\left({\widehat{y}}_{i}\right)+(1-{y}_{i})\mathrm{l}\mathrm{n}(1-{\widehat{y}}_{i})\right) $ (19)

其中:$ N $为训练样本的数量;$ {y}_{i}\mathrm{、}{\widehat{y}}_{i} $分别为索引$ i $样本的真实标签和预测标签。模型的最优参数通过均方根反向传播法(RMSProp)对最小化损失函数进行求解。

3 实验与结果分析

在公开数据集Criteo和Frappe上,本文通过特征和域感知的GNN方法FF-GNN与其他方法进行对比,以验证其可行性与有效性。通过消融实验和参数敏感性实验分别探究FF-GNN中各模块的作用及重要参数对结果产生的影响。

3.1 数据集

实验采用Criteo和Frappe两个公开的数据集来评估FF-GNN的性能。Criteo数据集广泛用于点击率预测行业,它包含1×106用户在展示广告上的点击记录,72 998个特征和39个不同的域(13个连续特征域和26个类别特征域)。Frappe数据集是移动应用程序检索的上下文相关应用程序使用日志,包含2.88×105条日志记录,5 382个特征和10个类别特征域,数据集的具体信息如表 1所示。

下载CSV 表 1 数据集描述 Table 1 Datasets description

本文统计了2个数据集中包含特征最多的域的特征分布,用于解决冷启动中“小”特征样本的问题。以Frappe数据集为例,每个域包含的特征数量分别为{957,4 082,7,7,2,3,2,9,80,233},由于特征数量最多的域有可能包含“小”特征,因此取第2个域(应用软件编号,记作APP ID)做进一步分析。本文统计Frappe数据集包含不同比例APP ID的样本数量及样本比例,如图 3(a)所示。约80%的样本总共包含APP比例仅为10%,而剩余约20%的样本总共包含的APP比例为90%,即只有10%的APP较热门。虽然90%的APP不热门,但是数量庞大。类似地,在Criteo数据集上特征最多的域内包含不同比例特征的样本数量以及样本比例,如图 3(b)所示,超过80%的样本总共包含20%的特征,而不足20%的样本总共包含80%的特征。

Download:
图 3 不同比例APP和特征的样本数量及样本比例 Fig. 3 Samples quality and sample proportion of different proportiona of APP and features
3.2 评价指标

本文选用点击率预估任务中常用的两个评价指标交叉熵对数损失(Logloss)和AUC。Logloss衡量预测值与真实值之间的距离,值越小表示模型性能越好。而AUC被定义为ROC曲线下坐标轴包围的面积,衡量模型对正负样本的排序能力,值越大表示模型性能越好。

3.3 基准方法

本文对FF-GNN与以下10种模型进行对比。

LR:通过对原始特征线性组合进行点击率预估,通常被用作点击率预估任务的基线。

FM:经典的点击率预估方法,将特征隐因子的内积作为二阶交叉特征的权重系数。

FFM:在FM的基础上,建模二阶交叉特征时关注了特征域的影响。

Wide & Deep:首个结合低阶特征和高阶交叉特征的模型。

DeepFM:基于Wide & Deep架构,共享了低阶模型和高阶模型的输入。

DCN[20]:构建特殊的交叉网络显式建模特征交互。

xDeepFM[21]:构建压缩交互网络显式建模特征交互。

FiBiNET[24]:使用压缩-激励网络(SENET)机制学习特征重要性,且利用双线性函数学习特征之间的交互。

AFN[23]:核心是对数变换层,从数据中自适应学习任意阶数的交叉特征。

Fi-GNN[26]:首个通过GNN建模特征交互的模型。

3.4 实验设置

所有的实验均通过Tesla K80的GPU、TensorFlow框架实现,实验分别通过验证集和RMSProp优化器对最佳超参数和最佳模型参数求解。在Criteo数据集上,特征和域嵌入的维数$ d $=10,批尺寸为128,特征图和域GNN的迭代层数$ T $=3,学习率为0.000 5。在Frappe数据集上,特征和域嵌入的维数$ d $=64,批尺寸为128,特征图和域GNN的迭代层数$ T $=3,学习率为0.001,L2正则化系数为0.001。

3.5 实验结果分析

在Criteo和Frappe数据集上不同模型的评价指标对比如表 2所示。

下载CSV 表 2 不同模型的评价指标对比 Table 2 Evaluation indexs comparison among different models

传统模型LR表现最差,无法满足点击率预估任务的需求,需要挖掘交叉特征。因此基于FM模型的评价指标普遍优于LR模型,且成功地对特征的二阶交互进行建模,从而提高点击率预估任务的准确度。此外,在基于FM的模型中,FFM的性能指标较FM大幅提升。这是因为FFM为特征建立多个隐因子,能够捕获域对特征交互的影响。

基于DNN模型的整体性能优于上述两类模型。神经网络具有强大的特征提取能力,能够挖掘特征之间复杂的关系,从而发现有效的交叉特征,大幅提升了模型性能。此外,基于神经网络的模型通常结合低阶和高阶的交互特征,捕获更丰富的信息,因此效果较好。在基于DNN的模型中,Wide & Deep和DeepFM模型性能较其他模型差,其通过全连接神经网络建模高阶交叉特征,网络结构较为简单且缺乏解释性。其他模型均构建较复杂的特殊网络结构,结果具有可解释性且更可靠。

基于GNN的模型将特征转换为图结构后,通过GNN建模复杂的交互,以提高模型的预测能力。尽管Fi-GNN的性能比AFN差,但是优于LR、基于FM的模型以及基于DNN的模型。实验结果验证了GNN结构在点击率预估任务中的可行性和有效性。

在Criteo和Frappe数据集上,本文所提模型FF-GNN的AUC指标较同类型方法Fi-GNN分别提升0.52和0.85个百分点,较所有对比模型中的次优模型AFN和FiBiNET在两个数据集上分别提升了0.43和0.24个百分点,FF-GNN的Logloss指标在所有对比模型中分别达到最优和次优。FF-GNN使用GNN建模特征交互,重点添加了域的交互模块和边权计算模块,从而提升模型的性能。

3.6 模块重要性分析

本文提出的模型主要有2个优点:1)同时建模特征级别的交互(记为FG)和域级别的交互(记为IG);2)构建边权计算模块以交叉引用彼此信息(记为CI)。本文通过消融实验确定促使性能显著提高的模块,去掉FG、IG和CI模块分别记为FF-GNN-FG、FF-GNN-IG、FF-GNN-CI,其中FF-GNN-CI中特征交互模块和域交互模块分别用特征嵌入和域嵌入计算交互强度。实验结果如表 3所示。

下载CSV 表 3 模块消融实验结果 Table 3 Experiment results of module ablation

表 3可以看出,在两个数据集上去掉任意一个模块,模型的性能均会下降。FF-GNN-FG模型的性能下降幅度最大,说明特征级别的交互模块包含的有效信息较多。FF-GNN-CI在边权计算模块中用自身的嵌入计算而不是彼此的信息,其性能下降的原因主要有:1)域交互模块对于所有样本来说都是相同的,无法实现个性化建模;2)特征交互模块中特征交互的重要性用特征嵌入计算而非域嵌入计算,无法建模不同域下特征交互的重要性。本文提出的模型FF-GNN在两个数据集上性能均最优,验证了在模型中增加域级别的交互模块以及GNN的边权计算模块的有效性。

此外,本文还进行了其他实验,以研究点击率预估层的4个输入对模型性能的影响。点击率预估层的4个输入分别是特征嵌入(H0)、特征GNN输出(H1)、域嵌入(H2)、域GNN输出(H3),实验结果如表 4所示。

下载CSV 表 4 点击率预估层模块消融实验结果 Table 4 Experiment results of module ablation on CTR prediction layer

表 4可以看出,在两个数据集上去掉点击率预估层中的任意一个输入后,模型性能较FF-GNN模型都有不同程度的下降,说明每个输入均对最终预估产生影响。除FF-GNN模型外,FF-GNN-H0在Criteo数据集上表现最差,而在Frappe数据集表现最佳,其原因可能是由数据集的原始特征造成,Criteo数据集的低阶特征包含大量有效信息,而Frappe数据集的低阶特征设计的不是十分恰当,因此对最终预估的影响不大。FF-GNN-H1、FF-GNN-H2、FF-GNN-H3在两个数据集上较FF-GNN性能下降幅度也不一致,其原因可能是由数据本身造成的。

3.7 超参数研究

FF-GNN模型包含2个重要参数,分别是嵌入模块中特征/域嵌入维度和交互模块中图神经网络的迭代步数(GNN step),因此进一步研究这两个超参数对预估结果的影响。

嵌入维度对模型性能的影响如图 4所示。当模型在Criteo数据集上的嵌入维度为10时,AUC和Logloss均达到最优。随着嵌入维度不断增大,AUC值逐渐下降,当Logloss值逐渐上升时,模型的性能逐渐下降。在Frappe数据集上,当嵌入维度为64时,AUC达到最优效果,虽然Logloss仍继续下降,但也在可接受的范围内。因此,为了节省计算资源和存储空间,本文选择64作为最佳超参数。

Download:
图 4 嵌入维度对评价指标的影响 Fig. 4 Influence of embedding dimensions on evaluation indexs

图神经网络迭代步数对模型评价指标的影响如图 5所示。在两个数据集上,当迭代步数为1时,模型性能最差,说明GNN聚合一次邻居状态捕获到的信息有限;当迭代步数为3时,GNN聚合3次邻居状态后,成功地捕获到了有效信息,因此模型性能最优;当GNN迭代步数取4时,GNN在迭代多层之后,易出现过渡平滑现象,导致所有节点的特征值均趋于一致,节点之间的差异性缩小,不利于进行点击率预估任务。因此,在两个数据集上最优的GNN迭代步数超参数取3。

Download:
图 5 图神经网络迭代步数对性能的影响 Fig. 5 Influence of the iteration steps of GNN on performance
4 结束语

针对现有点击率预估方法存在的局限性问题,本文提出一种同时关注特征级别和域级别的特征交互方法。通过嵌入层得到特征嵌入和域嵌入,基于图神经网络的交互模块提取特征嵌入和域嵌入的结构信息,以获取特征级别和域级别的交叉特征。在此基础上,通过设计图神经网络的权重计算模块交叉引用低阶特征信息,利用基于注意力的融合层将两个交互模块的结果相融合,以预测点击率。实验结果验证了该方法的有效性,相比Fi-GNN方法,该方法同时考虑了特征信息和域信息,并利用图神经网络构建复杂的高阶交互。后续将对图的连接进行研究,自动过滤不相关的特征,进一步节省计算时间和存储空间。

参考文献
[1]
GAI K, ZHU X Q, LI H, et al. Learning piece-wise linear models from large scale data for ad click prediction[EB/OL]. [2021-01-20]. https://arxiv.org/pdf/1704.05194.pdf.
[2]
HE X R, PAN J F, JIN O, et al. Practical lessons from predicting clicks on ads at facebook[C]//Proceedings of the 8th International Workshop on Data Mining for Online Advertising. New York, USA: ACM Press, 2014: 1-9.
[3]
ZHOU G R, MOU N, FAN Y, et al. Deep interest evolution network for click-through rate prediction[EB/OL]. [2021-01-20]. https://arxiv.org/pdf/1809.03672.pdf.
[4]
ZHOU G R, ZHU X Q, SONG C R, et al. Deep interest network for click-through rate prediction[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. New York, USA: ACM Press, 2018: 1059-1068.
[5]
周傲英, 周敏奇, 宫学庆. 计算广告: 以数据为核心的Web综合应用[J]. 计算机学报, 2011, 34(10): 1805-1819.
ZHOU A Y, ZHOU M Q, GONG X Q. Computational advertising: a data-centric comprehensive Web application[J]. Chinese Journal of Computers, 2011, 34(10): 1805-1819. (in Chinese)
[6]
STEFFEN R. Factorization machines[C]//Proceedings of the 10th IEEE International Conference on Data Mining. Washington D.C., USA: IEEE Press, 2010: 995-1000.
[7]
SONG W P, SHI C C, XIAO Z P, et al. AutoInt: automatic feature interaction learning via self-attentive neural networks[C]//Proceedings of the 28th ACM International Conference on Information and Knowledge Management. New York, USA: ACM Press, 2019: 1161-1170.
[8]
ZHANG W N, DU T M, WANG J. Deep learning over multi-field categorical data: a case study on user response prediction[EB/OL]. [2021-01-20]. https://arxiv.org/pdf/1601.02376.pdf.
[9]
QU Y R, CAI H, REN K, et al. Product-based neural networks for user response prediction[C]//Proceedings of the 16th IEEE International Conference on Data Mining. Washington D.C., USA: IEEE Press, 2016: 1149-1154.
[10]
项亮. 推荐系统实战[M]. 北京: 人民邮电出版社, 2012.
XIANG L. Recommendation system practice[M]. Beijing: Post and Telecom Press, 2012. (in Chinese)
[11]
PAN F Y, LI S K, AO X, et al. Warm up cold-start advertisements: improving CTR predictions via learning to learn ID embeeding[C]//Proceedings of the 42th International ACM SIGIR Conference on Research and Development in Information Retrieval. New York, USA: ACM Press, 2019: 1-10.
[12]
JUAN Y C, ZHUANG Y, CHIN W S, et al. Field-aware factorization machines for CTR prediction[C]//Proceedings of the 10th ACM Conference on Recommender Systems. New York, USA: ACM Press, 2016: 43-50.
[13]
HONG F X, HUANG D B, CHEN G. Interaction-aware factorization machines for recommender systems[C]//Proceedings of the 33th AAAI Conference on Artificial Intelligence. [S. l. ]: AAAI Press, 2019: 3804-3811.
[14]
PAN J W, XU J, RUIZ A L, et al. Field-weighted factorization machines for click-through rate prediction in display advertising[EB/OL]. [2021-01-20]. https://arxiv.org/pdf/1806.03514.pdf.
[15]
MATHIEU B, AKINORI F, NAONORI U, et al. Higher-order factorization machines[C]//Proceedings of the 30th International Conference on Neural Information Processing System. New York, USA: ACM Press, 2016: 3351-3359.
[16]
XIAO J, HE X G, ZHANG H W, et al. Attentional factorization machines: learning the weight of feature interactions via attention networks[C]//Proceedings of the 26th International Joint Conference on Artificial Intelligence. New York, USA: ACM Press, 2017: 3119-3125.
[17]
HE X N, CHUA T S. Neural factorization machines for sparse predictive analytics[C]//Proceedings of International ACM SIGIR Conference on Research and Development in Information Retrieval. New York, USA: ACM Press, 2017: 335-364.
[18]
CHENG H T, LEVENT K, JEREMIAH H, et al. Wide & deep learning forrecommender systems[C]//Proceedings of the 1st Workshop on Deep Learning for Recommender Systems. New York, USA: ACM Press, 2016: 7-10.
[19]
GUO H F, TANG R M, YE Y M, et al. DeepFM: a factorization-machine based neural network for CTR prediction[C]//Proceedings of the 26th International Joint Conference on Artificial Intelligence. New York, USA: ACM Press, 2017: 1725-1731.
[20]
WANG R X, FU B, FU G, et al. Deep & cross network for ad click predictions[EB/OL]. [2021-01-20]. https://arxiv.org/pdf/1708.05123.pdf.
[21]
LIAN J X, ZHOU X H, ZHANG F Z, et al. xDeepFM: combining explicit and implicit feature interactions for recommender systems[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. New York, USA: ACM Press, 2018: 1754-1763.
[22]
LI Z Y, CHENG W, CHEN Y, et al. Interpretable click-through rate prediction through hierarchical attention[C]//Proceedings of the 13th ACM International Conference on Web Search and Data Mining. New York, USA: ACM Press, 2020: 313-321.
[23]
CHENG W Y, SHEN Y Y, HUANG L P. Adaptive factorization network: learning adaptive-order feature interactions[C]//Proceedings of the 34th AAAI Conference on Artificial Intelligence. [S. l. ]: AAAI Press, 2020: 3609-3616.
[24]
HUANG T W, ZHANG Z Q, ZHANG J L. FiBiNET: combining feature importance and bilinear feature interaction for click-through rate prediction[C]//Proceedings of the 13th ACM Conference on Recommender Systems. New York, USA: ACM Press, 2019: 169-177.
[25]
LIN B, TANG R M, CH EN Y Z, et al. Feature generation by convolutional neural network for click-through rate prediction[EB/OL]. [2021-01-20]. https://arxiv.org/pdf/1904.04447.pdf.
[26]
LI Z K, CUI Z Y, WU S, et al. Fi-GNN: modeling feature interactions via graph neural networks for CTR prediction[C]//Proceedings of the 28th ACM International Conference on Information and Knowledge Management. New York, USA: ACM Press, 2019: 539-548.
[27]
LI Y J, DANIEL T, MARC B, et al. Gated graph sequence neural networks[EB/OL]. [2021-01-20]. https://arxiv.org/pdf/1511.05493.pdf.