新时代地图的机遇与挑战

融合特征交叉与用户历史行为序列的微地图推荐

  • 杨军 , 1, 2, * ,
  • 王琛锡 1 ,
  • 闫浩文 2
展开
  • 1.兰州交通大学电子与信息工程学院, 兰州 730070
  • 2.兰州交通大学测绘与地理信息学院, 兰州 730070

杨 军(1973— ),男,宁夏吴忠人,博士,教授,主要从事深度学习、三维模型空间分析、遥感大数据智能解译、地理信息系统等研究。E-mail:

Copy editor: 蒋树芳

收稿日期: 2023-03-11

  修回日期: 2023-06-12

  网络出版日期: 2024-03-26

基金资助

国家自然科学基金项目(42261067)

2021年度中央引导地方科技发展资金(2021-51)

兰州市人才创新创业项目(2020-RC-22)

兰州交通大学天佑创新团队(TY202002)

甘肃省教育厅优秀研究生“创新之星”项目(2023CXZX-548)

Integration of Feature Interaction and User Historical Behavior Sequence for WeMaps Recommendation

  • YANG Jun , 1, 2, * ,
  • WANG Chenxi 1 ,
  • YAN Haowen 2
Expand
  • 1. Electronic and Information Engineering, Lanzhou Jiaotong University, Lanzhou 730070, China
  • 2. Faculty of Geomatics, Lanzhou Jiaotong University, Lanzhou 730070, China
* YANG Jun, E-mail:

Received date: 2023-03-11

  Revised date: 2023-06-12

  Online published: 2024-03-26

Supported by

National Natural Science Foundation of China(42261067)

2021 Central Government Funds for Guiding Local Science and Technology Development(2021-51)

Talent Innovation and Entrepreneurship Project of Lanzhou City(2020-RC-22)

Tianyou Innovation Team of Lanzhou Jiaotong University(TY202002)

Gansu Provincial Department of Education Excellent Graduate "Innovation Star" Project(2023CXZX-548)

摘要

针对现有微地图(WeMaps)推荐算法未充分挖掘用户与微地图特征,推荐结果准确率较低的问题,提出融合特征交叉与用户历史行为序列的微地图推荐算法。首先,在用户与地图特征交叉过程中通过引入跳跃连接和多头自注意力机制,让不同特征组合能够自动获得权重,并通过在多个子空间下进行特征交叉获得了更丰富的特征组合信息。其次,在用户历史行为序列中引入了交叉注意力机制,捕捉与候选地图相关的兴趣点。最后,融合特征交叉和用户行为序列模块的输出,获得了综合多个维度的推荐结果。在公开数据集Criteo和自制微地图(WeMaps)数据集上的对数损失值分别为0.446 1、0.379 7,受试者操作特征曲线下面积值(Area Under the ROC Curve, AUC)分别为0.805 2、0.788 3。相较于本文对比实验中的二阶特征交叉模型,损失值分别降低了1.7%、14.2%,AUC值提高了0.8%、0.4%。相较于本文对比实验中的高阶特征交叉模型,损失值平均降低了1.3%、2.6%, AUC值平均提高了0.6%,0.2%。较低的损失值和较高的AUC值说明模型进行预测时具有较高的准确性和较好的分类能力。实验结果表明,本文算法不但能为用户提供更为准确的推荐结果,也能使推荐结果具备良好的可解释性。

本文引用格式

杨军 , 王琛锡 , 闫浩文 . 融合特征交叉与用户历史行为序列的微地图推荐[J]. 地球信息科学学报, 2024 , 26(1) : 158 -169 . DOI: 10.12082/dqxxkx.2024.20230119

Abstract

The existing WeMaps recommendation algorithm cannot fully exploit the features of users and maps, resulting in a low recommendation accuracy. In this study, a WeMaps recommendation algorithm is proposed which combines feature interaction and user history behavior sequence. To begin with, a multi-head attention mechanism and skip connections are introduced in the process of feature interaction between the user and the map. The multi-head attention mechanism allows for interactions between different features in multiple subspaces, resulting in richer feature combinations. The skip connections combine low-level and high-level feature interactions, ensuring model effectiveness and avoiding the occurrence of model degradation. Additionally, a cross-attention mechanism is incorporated into the user's historical behavior sequence to identify the points of interest related to the candidate map. This mechanism effectively captures points of interest within the user's historical behavior sequence that align with the recommended map. It assigns greater attention to the recommended map that corresponds to the user's short-term dynamic interests. Finally, by utilizing a deep neural network, the output results from the feature interaction module and the user's historical behavior sequence module are fused together, resulting in a more accurate recommendation that takes multiple dimensions into consideration. The values of log loss on the public datasets Criteo and WeMaps datasets are 0.446 1, and 0.379 7, respectively, and the values of area under the receiver operating characteristic curve are 0.805 2, and 0.788 3, respectively. For convenience of expression, the area under the receiver operating characteristic curve will be referred to as AUC in the following text. Compared to the second-order feature interaction model in the experimental study of this paper, the loss values decreases by 1.7% and 14.2%, respectively, while the AUC values increases by 0.8% and 0.4%, respectively. Compared to the high-order feature interaction model in the experimental study of this paper, the average decrease in loss values is 1.3% and 2.6%, respectively, while the average increase in AUC values is 0.6% and 0.2%, respectively. When the model has a low loss value and a high AUC value, it indicates that the model has a small discrepancy between its predicted results on the training data and the actual labels, and the model is capable of effectively distinguishing between positive and negative examples at different thresholds. This is generally considered as a good indicator of model performance, indicating that the model has higher accuracy and better classification ability. Experimental results show that the model proposed in this paper can not only provide users with more accurate recommendation results but also make the recommendation results have good explainability.

1 引言

微地图[1]是面向大众的“草根”地图,在传播上具有及时、方便、快捷的特性,其投入使用后势必产生海量数据,可能产生因信息量过载,用户无法准确挑选与运用有效信息的问题。为解决此问题且充分挖掘微地图数据中潜藏的社会经济价值,在微地图传播过程中个性化推荐就很有必要。
已有的微地图推荐算法[2]通过基于矩阵分解的协同过滤进行推荐,在推荐过程中仅利用了用户的身份标识号和对地图的评分,未充分利用其他特征。因此,推荐结果的准确率有待提高。如何利用用户和地图的其他特征提升准确率是当前微地图推荐中一个亟待解决的问题。
近年来基于深度学习的推荐方法已成为主流。目前应用较多的深度学习算法主要包括基于特征交叉的推荐方法和基于用户历史行为序列的推荐方法。其中,基于特征交叉的推荐方法主要有Wide&Deep模型[3]、DeepCrossing模型[4]、AFM(Attentional Factorization Machine)模型[5]、NFM(Neural Factorization Machine)模型[6]、FINT模型(Field-aware INTeraction)[7]、DCN-V2(Deep & Cross Version 2)模型[8]。Cheng等[3]提出的Wide&Deep模型包含Wide和Deep两部分,Wide是广义上的线性模型,能增强记忆能力但依赖于特征工程;Deep聚焦挖掘特征间深层次关系,具有强泛化能力。Shan等[4]提出的DeepCrossing模型引入“嵌入(Embedding)+多层神经网络”实现特征间深度交叉,避免了人工参与特征工程。Xiao等[5]提出的AFM模型将注意力机制和因子分解机的思想进行了结合,通过将特征进行交叉组合,有效地处理了稀疏特征,提升了模型的泛化能力。He等[6]提出的NFM模型是一种基于神经网络的因子分解机模型,其通过引入神经网络结构来改进传统的因子分解机,能够捕捉到更复杂的特征交互,提升了模型的表达能力,但其多层的前向传播计算增加了模型的计算复杂度,在处理大规模数据时,模型训练和推理的时间成本较高。Zhao等[7]提出的FINT模型通过引入特征域感知交叉层实现了特征间的高阶交叉组合,但模型通过堆叠多个交叉层进行预测的方式使得模型可解释性变弱,在对推荐结果进行解释分析时存在一定的局限性。Wang等[8]提出的DCN-V2模型是对已存在的Deep&Cross模型的改进,该模型可以有效地学习特征间的显式交叉和隐式交叉,但其通过混合低秩矩阵在多个子空间进行近似特征交叉的方式进一步加剧了计算开销。以上方法虽然能实现更高阶的显性和隐性特征组合,但往往无法自动习得各特征组合的权重,模型泛化能力增强的同时记忆能力变差。此外,基于特征交叉的推荐算法挖掘出的用户兴趣往往是静态的,忽略了用户动态兴趣对推荐结果的影响。
基于用户历史行为序列的推荐方法主要有DIN(Deep Interest Network)模型[9]、DIEN(Deep Interest Evolution Network)模型[10]、CAN(Co-Action Network)模型[11]、DMR(Deep Match to Rank)模型[12]。其中,Zhou等[9]提出的DIN模型通过引入注意力机制并提出小批量感知正则化方法及自适应激活函数来辅助训练,保证了模型参数和计算复杂度可控。Zhou等[10]提出的DIEN模型通过对用户历史行为序列建模来模拟兴趣进化的过程,并使用辅助损失强化门循环单元[13]隐藏状态的内部表示。Bian等[11]提出的CAN模型将物品的特征嵌入向量作为网络的权重和偏置,用户历史行为序列特征的嵌入向量作为网络的输入,相比于传统笛卡尔积的特征交叉方式显著地减少了模型的参数量,但该模型在用户历史行为数据较为稀疏的场景下表现不佳。Lyu等[12]提出的DMR模型利用用户历史行为数据来捕捉用户与物品的相关性,将协同过滤的思想引入辅助任务帮助训练网络,能够有效捕捉用户近期的动态兴趣。然而以上方法在挖掘用户长期兴趣方面能力不足。
综上所述,本文为充分挖掘用户及微地图特征,生成更准确的推荐结果,提出了融合特征交叉与用户行为序列的微地图推荐模型。具体解决的问题及对应方法为:
(1)针对现有微地图推荐算法未充分利用用户及微地图特征,推荐结果准确率较低的问题,提出基于多头自注意力机制的特征交叉模块,深度融合用户、微地图特征,不同特征组合自动习得权重,挖掘用户静态兴趣。
(2)特征组合的推荐方法普遍存在挖掘用户动态兴趣能力不足的现象,为解决此问题,本文在用户历史行为序列中引入交叉注意力机制,捕获序列中与待推荐地图相匹配的兴趣点。
(3)为解决现有方法在推荐过程中未综合考虑用户长短期兴趣的问题,本文设计了使用深度神经网络融合特征交叉与用户行为序列模块的结构,获得了更全面准确的推荐结果。

2 微地图推荐方法

2.1 数据预处理

为准确预测用户可能感兴趣的微地图,推荐算法需要从地图和用户特征以及用户行为序列中提取出有价值信息。因此,合理定义数据集格式,并对用户和微地图特征预处理至关重要。
以旅游微地图为例,WeMaps数据集的原始数据结构如表1所示,其中用户年龄为连续数值型特征,其余为离散特征。使用独热编码及多热编码[3,4,6]将离散特征转换为高维稀疏二进制形式,用 t i R K i表示编码之后的特征向量,其中,Ki表示第i个特征的维度值。ti[j]是向量ti的第j个元素值且 t i j 0,1 j = 1 K i t i [ j ] = k,当k = 1时指该特征使用独热编码,k > 1时使用多热编码。一个样本实例可以表示为 x = [ t 1 T ,   t 2 T ,   ,   t M T ] T,其中M为样本特征数量, i M K i = K是整个样本空间的维度。
表1 旅游微地图数据集的数据结构

Tab. 1 Data structure of tourism WeMaps dataset

实体类别 特征名称 特征值
用户 用户id 1 118
年龄 26
性别
职业 学生
所处省/市 甘肃,兰州
历史点击序列(每个数字代表一个地图id) 36, 56, 69, 39, 74, 7, 66, 52
地图 地图id 32
地图所属省/市/区 四川,阿坝藏族羌族自治州,若尔盖县
地图作者id 369
地图内容 若尔盖花湖生态旅游区,河它温泉谷,格尔底寺,白龙江大峡谷,湿地保护区……
预测目标(用户是否点击,0-未点击,1-点击) 1
本文实验数据中的样本编码后可以类似表示为:
编码中用户历史点击序列和地图内容特征使用了多热编码,其余使用了独热编码。

2.2 融合特征交叉与用户历史行为序列模型

本文模型主要由嵌入层、特征交叉模块、用户历史行为序列模块和深度神经网络模块组成,网络结构如图1所示。嵌入层将输入的高维稀疏特征向量压缩为稠密向量;特征交叉模块通过多头自注意力机制为不同的特征组合赋予不同的关注度;历史行为序列模块通过交叉注意力机制捕捉序列中与候选地图相似的兴趣点;深度神经网络模块将特征交叉模块和历史行为序列模块的输出结果进行深度融后通过Sigmoid激活函数输出,获得用户对候选地图点击的概率值。
图1 融合特征交叉与用户历史行为序列的微地图推荐模型结构

Fig. 1 Model structure diagram of Integration of feature interaction and user historical behavior sequence for WeMaps recommendation

2.2.1 嵌入层

嵌入层将编码后的高维稀疏特征向量压缩为低维稠密向量。对于用户或地图的第i个特征编码后对应的特征向量ti存在相对应的词典矩阵 W i = ( w 1 i , , w j i , , w k i i ) R D × K iKi为第i个特征的维度值,D为嵌入向量的维度。将ti通过词典矩阵嵌入为ei,嵌入原理为:
e i = w j i = W i t i
式中:i表示用户或地图的第i个特征。Wi为词典矩阵,其与网络中的其他参数同时进行优化。ti为编码后的特征向量。 w j iW i中的第j个向量,eiti对应的DD << K)维嵌入向量。图2展示了特征向量ti的嵌入过程,其中ti的第j个元素取值为1,其余元素取值为0。
图2 用户及地图特征向量通过词典矩阵嵌入的过程

注: Wi是词典矩阵; D是用户、地图特征嵌人向量的维度; Ki是第i个特征的维度值,wilwij等是矩阵中的一列元素; ti是经过独热、多热编码后的特征向量; ei为特征向量嵌入后的结果。

Fig. 2 The process of Embedding user and map feature vectors using a dictionary matrix

2.2.2 特征交叉模块

本文针对单头注意力机制无法从多角度、多层面考量用户、地图特征交互重要程度的问题,在特征交叉过程中引入多头自注意力机制[14],使模型自动为不同特征组合赋予不同关注度。此外,通过跳跃连接组合低阶显性和高阶显、隐性特征交叉,增强了模型对隐藏信息的挖掘能力。如图3所示,此模块主要由特征交叉层、前向传播层组成。
图3 特征交叉模块的细部结构

注: em为地图第m个特征的嵌入向量, $\boldsymbol{E}_{m \times D}$为多个特征嵌入向量拼接后得到的矩阵; QKV为$\boldsymbol{E}_{m \times D}$经不同线性变换后得到的结果,$Q^{(k)}$$K^{(k)}$$K^{(k)}$为Q、K、V映射到多个注意力头下的矩阵,$[H\times M\times\frac DH]$是其维度, H为注意力头数,M为地图的特征数,D为特征嵌人向量的维度; $\tilde{\boldsymbol{e}}_{m}$为所有注意力头空间下自注意力机制计算结果的组合。

Fig. 3 Detailed architecture diagram of the feature interaction module

将嵌入层输出向量(e1, , e2, , eM)拼接为矩阵 E M × D后输入包含键、值多头自注意力机制[15]的特征交互层。
以下以微地图第m个、用户第k个特征为例描述特征交互层中高阶特征交叉的过程。
首先,通过式(2)计算这2个特征在某个具体注意力头h下组合的重要程度 α m , k ( h )
α m , k ( h ) = e x p ( ψ ( h ) ( e m , e k ) ) l = 1 M e x p ( ψ ( h ) ( e m , e l ) )
式中:mk分别代表微地图第m个、用户第k个特征; h表示第h个注意力头;l表示用户与地图特征中的第l个特征; el为其对应的嵌入向量; α m , k ( h )为注意力相关性系数; ψ ( h )为计算注意力权重的方法, ψ ( h ) ( e m , e k ) = < Q ( h ) e m ,   K ( h ) e k >emek分别为微地图第m个、用户第k个特征的嵌入向量。 Q ( h ) ,     K ( h ) R d ' × d为将 E M × D从原始向量空间 R d投影到多个注意力头空间 R d '下得到的新的矩阵。M为地图总的特征个数。 D H = d '表示在注意力头h下第m个特征其对应向量的维度,H为总的注意力头数。
其次,在注意力头空间h下更新第m个特征相关线性组合:
e ˜ m ( h ) = k = 1 M α m , k ( h ) ( V ( h ) e m )
式中: α m , k ( h )为注意力相关性系数; V ( h ) R d ' × d,为 E M × D映射到新空间下得到的矩阵; e ˜ m ( h )为注意力头h下,em和其他特征嵌入向量通过自注意力机制计算得到的结果向量。将em在所有注意力头空间下得到的向量 e ˜ m ( h )进行组合得到 e m
e ˜ m = e ˜ ( 1 ) m e ˜ m ( 2 ) e ˜ m ( H )
式中:⊕为拼接操作; e ˜ ( 1 ) e ˜ ( 2 ) e ˜ ( H )等为em映射到不同的注意力头空间下得到的向量; e ˜ m e ˜ ( 1 ) e ˜ ( 2 ) e ˜ ( H )拼接后的结果向量。
再次,跳跃连接将各阶特征交叉项(包括原始一阶特征)组合得到 e ˜ m R e s,保留不同阶特征交叉效果的同时防止模型过深可能引起的梯度消失问题。
e ˜ m R e s = R e L U ( e ˜ m + P R e s e ˜ m )
式中: P R e s R D × d '是为匹配 e ˜ m e ˜m维度引入的投影矩阵[16] R e L U ( z ) = m a x ( 0 , z )为非线性激活函数。 e ˜ m R e s是组合各阶特征交叉项得到的结果。对 E M × D中的每个向量通过(5)式得到的集合 e ˜ m R e s m = 1 M进行层归一化(Layer Normalization, LN)[17]处理,使之后输入前向传播层的数据拥有同样的均值和方差,加快模型训练时的收敛。归一化过程为:
e m L N m = 1 M = N e m R e s m = 1 M
式中: e m R e s m = 1 M为每个特征嵌入向量经过(5)式计算得到结果的集合。 e m L N m = 1 M e m R e s m = 1 M进行层归一化后的结果。N代表归一化操作。
最后,将 e m L N m = 1 M通过由D×128的全连接层、ReLU激活函数和128×64的全连接层组成的前向传播层得到 e m F e e d m = 1 M e m F e e d m = 1 M进行展平(Flatten)后得到特征交叉模块最终的输出结果向量 V 1 × 64 M F I

2.2.3 用户历史行为序列模块

该模块通过用户近期与地图的交互序列来捕捉用户的兴趣变化情况。如用户关于微地图的点击序列中有90%的旅游类地图都与甘肃省有关,10%的地图与其他省份有关,则此时推荐一张包含甘肃省内多个著名景点的旅游微地图被用户点击的可能性较高。
图4展示了该模块中交叉注意力机制捕捉用户序列与候选地图相匹配兴趣点的过程。
图4 用户历史行为序列模块的细部结构

注: $E_{L_{h^{\times D}}}$为用户历史行为序列中的地图经嵌人后的矩阵,其中Lh为历史行为序列长度,D为嵌入向量的维度;ecm为候选地图的嵌入向量; $\{e_{\mathrm{cm}}\}^{L_h}$ecm复制Lh,次后拼接得到的矩阵; $e_{\mathfrak{cm},i}$$\{e_{\mathrm{cm}}\}^{L_h}$$E_{L_{h^{\times D}}}$多种交叉方式后的交叉结果; $\beta_{\mathfrak{cm},i}$$E_{L_{h^{\times D}}}$中的向量ei,与$\{e_{\mathrm{cm}}\}^{L_h}$计算得到的相关性值;$ V_{_{1}\times L_{h}D}^{\mathrm{UHBS}}$为用户历史行为序列模块最终的输出结果。

Fig. 4 Detailed architecture diagram of the user historical behavior sequence module

首先,候选地图与序列中地图通过嵌入层得到候选地图嵌入向量ecm和序列地图嵌入矩阵 E L h × DLh为用户历史行为序列长度。
其次,通过式(7)计算ecm与序列矩阵 E L h × D中嵌入向量ei的相关性 β c m , i :
β c m , i = e x p ( φ ( e c m , e i ) ) l = 1 L h e x p ( φ ( e c m , e l ) )
式中: Lh为用户历史行为序列长度; ecmei分别是候选地图和历史行为序列中第i个地图的特征嵌入向量; φ是计算eiecm注意力权重的方法,该方法主要包括:
(1)ecmei通过三类交叉方式进行对应维度元素的交互:
e c m   ,   i = ( e c m + e i ) ( e c m - e i ) ( e c m e i )
式中:☉为哈达玛积,ecm,i为通过不同交叉方式获得的结果向量。使用不同交叉方式的目的是为获得对应特征向量空间下更丰富的特征交叉信息。
(2)上一步的输出结果ecm,i顺序通过3D×128、128×64、64×DD×1全连接层(Fully Connected Layer, FC)的浅层前馈神经网络,得到φ的输出结果。
通过此方法计算注意力权重可以充分利用不同交叉方式的优点,提高模型的表达能力,同时为模型提供更丰富的信息,显式地建模序列中每个地图的权重。更新用户序列中地图嵌入向量ei为:
e ˜ i = β c m , i   e i
式中:βcm,i为候选地图向量与用户行为序列中的地图向量计算得到的相关性值。 e ˜ i为经过交叉注意力计算得到的更新后的结果向量。
最后,拼接(Concatenate)所有 e ˜ i,通过下式得到用户历史行为序列模块最终输出:
V 1 × L h D U H B S = F l a t t e n ( C o n c a t e n a t e ( e ˜ i ) )     i = 0,1 , 2 , , L h )
式中:Concatenate为对向量进行拼接的操作;Flatten为将矩阵展平成一个向量的操作; V 1 × L h D U H B S为用户历史行为序列模块输出的结果向量。

2.2.4 深度神经网络模块

此模块将特征交叉和用户行为序列模块的输出结果整合,计算用户对候选地图可能点击的概率。
首先,对特征交叉和用户行为序列模块的输出结果拼接:
V 1 × ( 64 M + L h D ) = V 1 × 64 M F I V 1 × L h D U H B S
式中: V 1 × 64 M F I为特征交叉模块输出的结果向量; V 1 × L h D U H B S为用户历史行为序列模块输出的结果向量; V 1 × ( 64 M + L h D ) 为此二者拼接后的向量;Lh为用户历史行为序列的长度;D为嵌入向量的维度。
其次,对 V 1 × ( 64 M + L h D ) 进行层归一化处理后顺序送入(64M + LhD)×128、128×64、64×32、32×16、16×1共5个全连接层,各全连接层之间加入ReLU激活函数。
最后,将全连接层输出结果输入Sigmoid函数得到用户对候选地图可能点击的概率p
          p = S i g m o i d ( F C ( L a y e r N o r m ( V 1 × ( 64 M + L h D ) ) ) )
式中:LayerNorm表示层归一化处理;FC表示全连接层。

3 实验结果与分析

3.1 数据集及实验设置

本文实验使用公开数据集Criteo[18]和自制微地图数据集WeMaps。Criteo为推荐任务的基准数据集[19-21]之一,包含4 500万用户点击商品广告的记录,26个类别型特征和13个数值型特征。WeMaps数据集包含了21万用户与地图的交互记录,6类用户特征和5类地图特征,其中用户年龄特征为数值型特征,其余为类别型特征。
本文用到的所有方法均基于Pytorch1.10实现。实验中设置嵌入向量的维度为256,多头注意力机制注意力头数为8。使用适应性矩估计(Adaptive Moment Estimation, Adam)算法作为优化算法,实验训练阶段批尺寸为32,验证阶段批尺寸为16。

3.2 评估指标

使用受试者操作特征曲线(Receiver Operating Characteristic Curve, ROC)下的面积(Area Under the ROC Curve, AUC)和对数损失函数2个指标评估本文实验所有方法。

3.2.1 AUC指标

AUC综合考虑了以下2类指标:
(1)真阳性率(True Positive Rate,TPR) = TP/(TP+FN),即所有正类样本中被正确分为正类的比例。其中TP(True Positive)为真正例,FN(False Negative)为伪负例。
(2)假阳性率(False Positive Rate,FPR) = FP/(FP+TN),即所有负类样本中被错误分为正类的比例。其中FP(False Positive)为伪正例,TN(True Negative)为真负例。
二分类问题中,通常用0代表负类,1代表正类。模型输出结果大于设定的阈值归类为1,小于阈值归类为0。将阈值从0到1变化时得到的多对(FPR,TPR)值绘制在以TPR为纵坐标、FPR为横坐标的坐标系中即可生成ROC曲线,AUC值为ROC曲线下面积。综合考虑TPR和FPR的AUC在衡量模型时不依赖于分类阈值的选取,泛化性和鲁棒性更强,可以更全面地评估模型性能。

3.2.2 对数损失函数

对数损失(或交叉熵损失)函数是分类问题中常用损失函数,用来衡量2个概率分布之间的差异。交叉熵越大,2个分布差异越大;交叉熵越小,两个分布越相似,实验越符合预期。
L o g l o s s = - 1 N j = 1 N ( y j l o g ( y ^ j ) + ( 1 - y j ) l o g ( 1 - y ^ j ) )
式中:N为输入模型的样本数量;yj为真实值; y ^ j为预测值,Logloss为损失值。

3.3 不同算法性能对比

在Criteo和WeMaps数据集上将本文算法与AFM、Wide&Deep、DeepCrossing、NFM等主流算法进行了实验对比,结果如表2所示。分析可得,高阶特征交叉模型在2个数据集上整体效果优于二阶特征交叉模型。在Criteo上,NFM模型AUC值低于二阶特征交叉模型AFM,主要由于NFM通过深度神经网络组合特征时过度关注隐式组合,弱化显式组合导致记忆能力较低。本文算法在2个数据集上均取得了优于其他算法的效果。原因有三,首先,多头自注意力机制能区分不同特征交叉的重要性,且多注意力头下的特征交叉可挖掘出更丰富的特征组合信息;其次,跳跃连接组合高低阶特征交叉,算法性能得到保证。再者,本文算法额外引入了对用户行为序列的分析,通过在序列中使用交叉注意力机制捕捉用户动态兴趣。综上,从多维度、多场景进行考量的本算法,推荐结果更全面也更准确。
表2 不同算法在Criteo和WeMaps数据集上实验得到的损失值及AUC值结果比较

Tab. 2 Comparison of Logloss values and AUC values obtained from experiments on the Criteo and WeMaps datasets using different algorithms

模型类别 算法名称 Criteo WeMaps
Logloss AUC LogLoss AUC
二阶交叉 AFM 0.453 7 0.798 5 0.442 4 0.785 2
高阶交叉 Wide&Deep 0.452 4 0.801 4 0.399 8 0.785 6
DeepCrossing 0.452 6 0.803 3 0.381 4 0.788 1
NFM 0.451 3 0.797 3 0.388 3 0.786 9
本文算法 0.446 1 0.805 2 0.379 7 0.788 3
图5为上述5种算法在Criteo和WeMaps数据集上训练时的Logloss和AUC变化情况。分析可得,Wide&Deep收敛速度最快,分别在Criteo上70次迭代、WeMaps上50次迭代后趋于收敛,其余算法分别约100次、80次迭代后开始收敛。原因在于此算法模型结构简单,特征交叉依赖人工设计,避免了无差别交叉对计算资源的浪费。DeepCrossing模型在高阶特征组合模型中收敛速度较慢,这与其堆叠了多个全连接层进行隐式特征交叉有关。本文算法在高阶特征交叉模型中也取得了优异表现,在2个数据集上分别约100次、65次迭代后收敛,在WeMaps数据集中效果尤为显著,仅次于Wide&Deep,获得了最低Logloss和最高AUC。
图5 不同算法在Criteo和WeMaps数据集上训练时损失值及AUC值随迭代次数的变化情况

Fig. 5 The variation of Logloss values and AUC values with iterations for different algorithms trained on the Criteo and WeMaps datasets

3.4 消融实验

为探讨本文算法特征交叉与用户行为序列模块对推荐结果的影响,分别构建了不同的网络进行实验,结果如表3所示。
表3 特征交叉模块与用户历史行为序列模块对文本算法的影响对比

Tab. 3 Comparison of the impact of the feature interaction module and the user history behavior sequence module on the proposed algorithms in this paper

数据集 模型名称 Logloss AUC
Criteo 模型A 0.450 7 0.798 1
模型B 0.451 4 0.801 7
WeMaps 模型A 0.385 6 0.787 3
模型B 0.384 2 0.787 6
模型A丢弃了行为序列模块,只考量特征交叉模块对推荐结果的影响;模型B丢弃了特征交叉模块,只考量行为序列模块对推荐结果的影响。分析可知,使用单一模块比组合2个模块的Logloss均高,AUC均低。原因在于只关注特征交叉,算法挖掘出的信息更偏向用户静态信息,如性格特征、长期爱好等;只关注行为序列,算法为序列中与待推荐相似性较高的物品给予更大权重,导致推荐结果严重相似于序列中物品,新颖性[22]和惊喜度[23-24]降低。

3.5 推荐结果的可解释性分析

一个好的推荐算法必须具备良好的可解释性,本节中将对本文算法的推荐结果进行可解释性分析。
为研究微地图数据中特征相关性对推荐结果的影响,笔者获得了本文算法对全部样本不同特征组合的注意力权重均值,结果如图6(a)所示。其中“年龄、性别、职业……”等为样本特征,每一个小方块的颜色深浅代表了不同特征组合的相关性,分析可得:<性别,地图内容>、<性别,地图名>、<用户地理位置,地图名>、<性别,年龄,地图内容>等组合(图中的橙色虚线方框)呈强相关性,相关性取值约在0.16~0.22之间,以上组合在产生推荐结果时占据了主导作用。为进一步验证该结论,图6(b)图6(c)图6(d)展示了本文推荐算法对微地图数据集中随机选取的3条样本X1X2X3特征相关性的计算结果,其中X1X3为正样本,X2为负样本。
图6 特征交叉模块中不同特征组合重要性的可视化结果

注:蓝色框表示特征组合相关性,颜色深浅表示相关性的强弱,红色虚线框表示强特征相关性的特征组合。

Fig. 6 The visualization results of different feature combinations importance in the feature interaction module

可以看出,X1中<女,“来兰州必吃的十大美食”>、<女,牛肉面、牛奶鸡蛋醪糟 >、<兰州,“来兰州必吃的十大美食”>权重分别约为0.40、0.35、0.35;X2中<男,“海南自驾旅游地图”>、<男,海口、澄迈、儋州、昌江>、<兰州,“海南自驾旅游地图”>权重分别约为0.17、0.20、0.15;X3中<女,“西安旅游手绘地图”>、<女,大唐芙蓉园、大唐不夜城…… >、 <汉中,“西安旅游手绘地图”>权重分别约为0.30、0.40、0.35。分析可知,正样本X1X3<性别,地图名>、<性别,地图内容>、<用户地理位置,地图名>等特征组合的权重明显高于负样本X2的,验证了强相关性组合确实在产生推荐结果时占据主导作用,样本中用户与微地图对应的强相关性特征组合获得的权重越高,微地图被用户点击的可能性越大。上述分析也验证了本文特征交叉模块的的有效性。
此外,为验证行为序列交叉注意力机制捕捉用户多样化动态兴趣的有效性,对通过本文算法习得的微地图向量使用t-分布式随机邻域嵌入(t-SNE, t-distributed Stochastic Neighbor Embedding)[25]算法进行了可视化展示,以为某旅游爱好者U推荐微地图为例,笔者随机选择了4类(旅游、自驾、美食、校园)微地图,每类包含100张,将400张微地图作为候选地图输入算法预测U对不同地图可能点击的概率,图7为候选微地图向量可视化结果。图中一簇形状相同的点对应一批相同类别的地图,颜色的深浅对应概率的大小。观察可得旅游、校园、自驾、美食微地图经模型训练得到的向量在可视化后分别对应图中的一个簇,其中旅游微地图对应的颜色最深,说明其可能被用户U点击的概率最大,约在0.7~0.9之间;自驾、美食微地图次之,约在0.55~0.7及0.35~0.55之间,校园微地图可能被点击的概率最小,在0.35以下。分析可知,该用户对旅游类微地图兴趣最为强烈,但同时也对自驾和美食微地图抱有一定兴趣,对校园微地图兴趣最弱。且用户对其中一个类别下具体每张地图的兴趣也有强弱之分,如旅游微地图对应的簇下不同小方块颜色深浅不尽相同。该图反映了用户U在对应向量空间下对不同地图兴趣强烈程度的分布情况,同时,验证了本文算法确实能够捕获用户多样化动态兴趣。
图7 不同微地图嵌入向量的可视化结果

Fig. 7 The visualization results of different WeMaps Embedding

4 结语

本文提出了一种融合特征交叉与用户历史行为序列的微地图推荐模型。通过在特征交叉过程中引入多头自注意力机制使模型自动地学习用户与地图特征交叉的权重,从多角度考量了不同特征组合对推荐结果的影响。同时在此过程中加入跳跃连接以组合不同阶的特征交叉,避免了模型退化问题的产生。此外,模型使用了交叉注意力机制捕捉用户历史行为序列中与待推荐地图相匹配的兴趣点,对与用户短期内动态兴趣较符合的待推荐地图赋予更高的关注度。最后,通过深度神经网络对特征交叉和用户历史行为序列模块的输出结果进行融合,从而获得更为全面准确的推荐。本文算法在公开数据集Criteo和课题组自制数据集WeMaps上进行试验得到的损失值分别为0.446 1、0.379 7,AUC值分别为0.805 2、0.788 3。相较于本文对比实验中的二阶特征交叉模型,损失值分别降低了1.7%、14.2%,AUC值提高了0.8%、0.4%。相较于本文对比实验中的高阶特征交叉模型,损失值平均降低了1.3%、2.6%,AUC值平均提高了0.6%,0.2%。在数据集Criteo和WeMaps上的实验结果证明了本文模型在捕获用户长短期兴趣方面的有效性。下一步工作将考虑对用户动态兴趣的演变规律进行建模,通过预测微地图用户兴趣变化形成推荐结果。
[1]
闫浩文, 张黎明, 杜萍, 等. 自媒体时代的地图:微地图[J]. 测绘科学技术学报, 2016, 33(5):520-523.

[Yan H W, Zhang L M, Du P, et al. We-map: A new type of map in the era of we media[J]. Journal of Geomatics Science and Technology, 2016, 33(5):520-523.] DOI:10.3969/j.issn.1673-6338.2016.05.015

[2]
牛雪磊, 杨军, 闫浩文. 融合知识图谱与协同过滤的微地图推荐[J/OL]. 地球信息科学学报. https://link.cnki.net/urlid/11.5809.P.20230830.1132.002.

[Niu X L, Yang J, YAN H W. WeMap recommendation by fusion of knowledge graph and collaborative filtering. Journal of Geo-information Science. https://link.cnki.net/urlid/11.5809.P.20230830.1132.002.]

[3]
Cheng H T, Koc L, Harmsen J, et al. Wide & deep learning for recommender systems[C]// Proceedings of the 1st Workshop on Deep Learning for Recommender Systems. New York: ACM, 2016:7-10. DOI: 10.1145/2988450.2988454

[4]
Shan Y, Hoens T R, Jiao J, et al. Deep crossing: Web-scale modeling without manually crafted combinatorial features[C]// Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: ACM, 2016:255-262. DOI:10.1145/2939672.2939704

[5]
Xiao J, Ye H, He X N, 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: ACM, 2017:3119-3125. DOI:10.5555/3172077.3172324

[6]
He X N, Chua T S. Neural factorization machines for sparse predictive analytics[C]// Proceedings of the 40th International ACM SIGIR Conference on Research and Development in Information Retrieval. New York: ACM, 2017:355-364. DOI:10.1145/3077136.3080777

[7]
Zhao Z S, Yang S, Liu G H, et al. FINT: field-aware interaction neural network for click-through rate prediction[C]// ICASSP 2022-2022 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2022:3913-3917. DOI:10.1109/ICASSP43922.2022.9747247

[8]
Wang R X, Shivanna R, Cheng D, et al. DCN V2: Improved deep & cross network and practical lessons for web-scale learning to rank systems[C]// Proceedings of the Web Conference 2021. New York: ACM, 2021:1785-1797. DOI:10.1145/3442381.3450078

[9]
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: ACM, 2018:1059-1068. DOI: 10.1145/3219819.3219823

[10]
Zhou G R, Mou N, Fan Y, et al. Deep interest evolution network for click-through rate prediction[J]. Proceedings of the AAAI Conference on Artificial Intelligence, 2019, 33(1):5941-5948. DOI:10.1609/aaai.v33i01.33015941

[11]
Bian W J, Wu K L, Ren L J, et al. CAN: Feature co-action network for click-through rate prediction[C]// Proceedings of the Fifteenth ACM International Conference on Web Search and Data Mining. New York: ACM, 2022:57-65. DOI:10.1145/3488560.3498435

[12]
Lyu Z, Dong Y, Huo C F, et al. Deep match to rank model for personalized click-through rate prediction[J]. Proceedings of the AAAI Conference on Artificial Intelligence, 2020, 34(1):156-163. DOI:10.1609/aaai.v34i01.5346

[13]
Cho K, van Merrienboer B, Gulcehre C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[C]// Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). Stroudsburg, PA, USA: Association for Computational Linguistics, 2014:1724-1734. DOI:10.3115/v1/d14-1179

[14]
Subakan C, Ravanelli M, Cornell S, et al. Attention is all You need in speech separation[C]// ICASSP 2021-2021 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2021:21-25. DOI:10.1109/ICASSP39728.2021.9413901

[15]
Miller A, Fisch A, Dodge J, et al. Key-value memory networks for directly reading documents[C]// Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, PA, USA: Association for Computational Linguistics, 2016:1400-1409. DOI:10.18653/v1/d16-1147

[16]
He K M, Zhang X Y, Ren S Q, et al. Deep residual learning for image recognition[C]// 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2016:770-778. DOI:10.1109/CVPR.2016.90

[17]
Ziaee A, ÇAno E. Batch Layer Normalization A new normalization layer for CNNs and RNNs[C]// Proceedings of the 6th International Conference on Advances in Artificial Intelligence. New York: ACM, 2022:40-49. DOI:10.1145/3571560.3571566

[18]
Diemert E, Meynet J, Galland P, et al. Attribution modeling increases efficiency of bidding in display advertising[C]// Proceedings of the ADKDD’17. New York:ACM, 2017:1-6. DOI: 10.1145/3124749.3124752

[19]
He R N, McAuley J. Ups and Downs: Modeling the visual evolution of fashion trends with one-class collaborative filtering[C]// Proceedings of the 25th International Conference on World Wide Web. New York: ACM, 2016:507-517. DOI:10.1145/2872427.2883037

[20]
McAuley J, Targett C, Shi Q F, et al. Image-based recommendations on styles and substitutes[C]// Proceedings of the 38th International ACM SIGIR Conference on Research and Development in Information Retrieval. New York: ACM, 2015:43-52. DOI:10.1145/2766462.2767755

[21]
Veit A, Kovacs B, Bell S, et al. Learning visual clothing style with heterogeneous dyadic co-occurrences[C]// 2015 IEEE International Conference on Computer Vision (ICCV). IEEE, 2016:4642-4650. DOI:10.1109/ICCV.2015.527

[22]
Kaminskas M, Bridge D. Diversity, serendipity, novelty, and coverage: A survey and empirical analysis of beyond-accuracy objectives in recommender systems[J]. ACM Transactions on Interactive Intelligent Systems, 7(1)Article No. 2, DOI:10.1145/2926720

[23]
Zhang Y C, Séaghdha D Ó, Quercia D, et al. Auralist: Introducing serendipity into music recommendation[C]// Proceedings of the Fifth ACM International Conference on Web Search and Data Mining. New York: ACM, 2012:13-22. DOI:10.1145/2124295.2124300

[24]
Murakami T, Mori K, Orihara R. Metrics for evaluating the serendipity of recommendation lists[C]// Annual Conference of the Japanese Society for Artificial Intelligence. Berlin, Heidelberg: Springer, 2008:40-46. 10.1007/978-3-540-78197-4_5

[25]
Wong K Y, Chung F L. Visualizing time series data with temporal matching based t-SNE[C]// 2019 International Joint Conference on Neural Networks (IJCNN). IEEE, 2019:1-8. DOI:10.1109/IJCNN.2019.8851847

文章导航

/