Press "Enter" to skip to content

KDD 2019 Oral论文:中科大 腾讯提出面向社交用户多行为偏好表征的端到端框架

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

链接: https://arxiv.org/pdf/1905.11013.pdf

 

该研究成果由中国科学技术大学大数据分析与应用安徽省重点实验室陈恩红教授团队(博士生王皓为第一作者)和腾讯TEG数据平台部数据应用中心团队合作完成。

 

ACM SIGKDD 知识发现与数据挖掘会议是数据挖掘领域具有最高学术地位的国际性学术会议,位列数据挖掘方向顶级会议之首。 此项研究也是基于“腾讯高校合作犀牛鸟计划”在科研层面取得的新成果,其中刘淇老师,作为此项目的高校合作老师之一,曾在2015年获得“CCF-腾讯犀牛鸟基金”,并在此之后继续通过腾讯高校合作平台的连接,与腾讯研发团队持续进行滚动项目合作,通过高效的校企协作创造共赢价值。

 

面向解决社交平台应用的实际问题

 

随着社交网络的快速发展,网络的规模变得越来越庞大,同时面向社交用户的相关平台服务也变得越来越多样化,传统的复杂网络分析算法在对大规模的网络处理中因为复杂度过高而在实际的应用中变得不可行。近期随着表示学习技术的不断发展,一系列的网络表示学习算法被提出来解决大规模的网络分析问题,通过维持节点之间的网络结构关系将每个节点嵌入到低维的向量表示空间中,并将学习到的低维节点向量表征直接作为节点自身特征来应用到后续的网络分析中,如:用户推荐、、社团挖掘、用户人群分析和相似人群扩展等应用。

 

但在之前的研究工作中,大部分的算法都只为每个节点学习单个的向量表示,从而只能反应节点间的单面相似关系。而在实际的社交网络平台中,用户常常会有多种不同类型的行为记录,如体育,游戏和电商等。 我们通过分析用户的行为数据发现,社交用户在不同行为类别上有着不同的偏好相似关系,因此为每个节点学习单个向量表示无法刻画节点间的多面偏好相似性。而为每个节点在不同的行为偏好上分别学习对应的条件向量表示,我们需要用一套独立的模型参数对每个用户行为建模,从而造成了大量的参数冗余且无法捕捉节点多行为间的偏好相似关系。为了解决上面的问题,我们提出了一个端到端的框架来同时为社交网络用户学习多个条件向量表征,此项研究成果可以总结为以下几个方面:

 

 

    1. 提出了在单个向量空间下为网络节点学习多个条件向量表征的新颖问题,有效地减少了模型参数的冗余。

 

    1. 引入了二值掩码技术将单个向量空间分割成多个条件向量子空间来表示节点之间的多面偏好相似性,并利用

图卷积神经网络

    1. 来捕捉节点间的高阶网络相似性,最终利用多任务学习框架来同时学习多个条件向量表征,有效地缓解数据稀疏性的同时,并提升模型的鲁棒性

 

 

对比最先进的算法,模型在多个任务上取得了显着的性能提升,并有效地应用到实际的业务场景中。

 

 

技术点解析

 

对于此项研究中模型的实现细节,具体的框架图如下所示 图1 端到端的多条件网络表征学习的框架

 

1)生成条件向量表征

 

 

    1. 初始表征层

 

 

与之前大部分研究工作相同,此模型的输入是社交网络结构图 。因此,我们首先将网络中所有的节点投影到一个低维的向量表示空间,并用矩阵 来表示节点初始的向量表征,其中是网络中节点的数量,是节点初始向量表征维度,初始的向量表征表示用户在所有用户行为上的偏好。

 

b. 二值掩码层

 

从初始表征层中此项研究获得了节点的综合向量表示,这个节点向量也可以被看成是 图卷积神经网络 层的向量表示。在基础的 图卷积神经网络 框架上我们对每层的节点表征都关联上一个实值的掩码权重矩阵 ,其中是第k层的节点向量的维度,c是用户行为类别的数量,并额外地增加了一个维度来表示在训练数据集中没有出现的用户行为偏好。之后,将实值的掩码权重矩阵 通过一个硬阈值函数得到二值掩码矩阵 ,具体定义如下所示:

 

通过硬阈值函数得到二值掩码矩阵后,进一步用 来表示掩码矩阵 所对应的第c行,从而用户在第c个用户行为上所对应的条件向量定义如下所示:

 

其中表示用户在 图卷积神经网络 第层的综合向量表示,表示两个向量间点乘运算。

 

c). 多面相似信息发送操作

 

通过二值掩码层获得多个节点条件向量表示后,进一步我们改进了原始 图卷积神经网络 框架中的消息发送和接收操作,通过迭代地聚合网络中节点周围的多面偏好相似性来更新节点的向量表示。具体地,节点向连接边上 发送的多面相似信息定义如下:

 

 

其中 为节点在网络第k层上行为c所对应的条件向量表示, 为在连接边 上行为c所占的权重值,根据权重值将不同用户行为所对应的条件向量加权累加得到边上传递的多面偏好的相似信息 。因为节点在不同行为上的偏好并不是等价的,我们引入了注意力机制网络来计算节点在不同行为偏好上的权重值,其定义如下所示:

 

其中 是模型的参数,进一步地将邻接节点的每个条件向量表示拼接成 作为注意力机制网络的输入,然后通过一个多层神经网络得到对应的权重值,并利用 函数对权重值进行归一化,定义如下所示:

 

 

d). 多面相似信息接收操作

 

得到边上传递的多面相似信息后,通过汇聚节点相邻边上的所有信息来更新得到节点新的向量表示,具体的多面相似信息接受的操作定义如下所示:

 

 

为了保证计算效率,从每个节点周围随机采样固定大小的邻居节点集合 ,并使用平均池化函数 来汇聚节点周围的多面偏好相似性信息到单一向量 。进一步地将当前节点向量表示和汇聚的周围节点向量 拼接起来,并通过一个非线性激活函数 的全连接层来更新得到下一层 的节点向量表示

 

e). 最终多个节点条件向量表征

 

通过叠加使用多层图卷积网络(即迭代使用步骤b)~步骤d)),我们能够有效地捕捉节点多阶邻居间的相似信息,并最终得到网络最后一层的节点综合向量表示 和多个用户行为所对应的条件向量表示集合

 

2)联合学习多个条件向量表示

 

在社交网络中,用户的偏好行为大部分都是隐式反馈数据,因此在这里我们采取广泛使用的贝叶斯个性化排序准则来分别学习用户在每个隐式行为上的偏好关系。对某个具体用户行为c的偏好记录矩阵和对应的用户条件向量表示 ,最终的损失函数定义成下面的形式:

 

 

其中 是在行为c上物品所对应的向量表征,为优化行为上c的所有模型参数,对于每个社交用户我们将用户曾经交互过的物品p作为正样本,并随机采样用户没有交互过的物品n作为负样本。

 

而在实际的社交网络中,用户的多个偏好行为之间常常是有一定的关联性。出于这个目的,我们将每个节点条件向量的学习看成是单个的任务,并利用多任务学习的框架来联合学习多个条件向量,具体的目标函数定义如下所示:

 

 

其中c是用户行为的类别数量,是模型所有的参数。通过将二值掩码层和多任务学习框架的结合,并利用学习到的向量子空间来共享不同行为间的相关维度信息,能够缓解训练数据的稀疏性并有效地增强学习到的条件向量表征的鲁棒性。

 

3)实验的结果

 

为了评估此项研究学习到的多个条件向量表征的好坏,我们分别设计了社交用户多偏好行为推荐,节点条件向量可视化和模型迁移实验。具体来讲,在用户推荐任务中,对每个数据集我们分别选取了三个具有代表性的用户行为,并分别和最先进的方法进行对比,具体的实验结果如下:

 

表1 用户多行为推荐结果   从上表中可以明显观察出,此模型的在多个行为偏好推荐上对比之前的方法都取得了显着的性能提升。

 

进一步地为了有效地观察学习到的多个节点条件向量表征的有效性,我们将节点所有的条件向量表征投影到二维的向量空间中,并用不同的颜色来表示每个节点条件向量表征,具体的可视化结果如下: 图2 多个节点条件向量表征可视化 从上图中,我们可以明显的观察出,多个节点条件向量表征之间具有明显的聚类结构,并有一定的覆盖区域,这能有效地说明用户在不同的行为上偏好相似性不同,且多个用户偏好行为之间有一定的关联性。

 

最后,为了验证此模型能否有效地迁移到未训练的行为偏好数据集上,我们在新的用户行为数据集上进行模型迁移实验,具体结果如下所示:

 

表2 模型迁移结果 从上表中,我们可以明显看到,在未训练的用户行为数据集上,此模型仍然取得了有效的性能提升,这能很好说明此项研究中的模型在新数据集上具有良好的鲁棒性。

 

综述而言,本项研究针对社交网络中用户之间的多面行为偏好相似性不同的问题,提出了基于 图卷积神经网络 和多任务学习的多节点条件表征学习框架,实现了在单个向量空间下表示社交用户的多行为偏好相似性,有效地减少了模型参数的冗余,并在模型实验和具体业务场景中取得了有效的性能提升。

 

回顾此研究项目初期,双方通过“腾讯高校合作犀牛鸟计划”开启合作,先是基于腾讯的社交大数据,提出稀疏属性网络表征算法来有效融合社交用户的多源异构特征,进一步建立并分析社交用户画像,挖掘用户之间不同的行为模式。再此基础上,双方进一步考虑融合社交用户多偏好行为信息来建模多领域的用户画像,设计初步的算法模型,并在离线试验上验证模型的假设和性能表现,此项研究成果已逐步应用到腾讯的实际业务场景中。

Be First to Comment

发表评论

邮箱地址不会被公开。 必填项已用*标注