基于图卷积神经网络的在线社区行为预测

2021-05-06 09:38郝宇辰
计算机技术与发展 2021年4期
关键词:卷积协作节点

刘 臣,李 秋,郝宇辰

(上海理工大学,上海 200093)

0 引 言

随着信息技术的发展,特别是互联网的发展,知识以“爆炸式”地增长,越来越多的人参与到知识的生产和传播过程中。其中,社会化问答是近年来兴起的一种在线知识社区。它是一种为用户提供信息的网络社区,所提供的信息是用户生成内容和用户评价内容[1]。因此,社区上的用户既可以是知识的接收者也可以是知识的传播者或生产者,如:用户A在社区提出问题,并通过他人回答而获取知识充当知识接收者;再者用户A也可回答他人问题充当知识生产者或传播者。这类社区是围绕信息需求所建立的社区,并引入人与人之间在互联网上的社交性,从而达到直接帮助提问者获取信息的目的。

目前社会化问答社区的研究主要分为以下几个方面,首先,是基于传统知识管理的研究。从知识管理的角度,传统的知识管理更多的是应用在企业组织管理中。但是随着互联网和社交媒体逐渐成熟,在线知识社区也成了知识管理系统的一个著名示例[2]。其中M. M .Wasko等人[3]通过对知识贡献模型进行实证研究,发现知识可以提高工作者的职业声誉,当从组织结构上嵌入到社交网络中时,通过分享工作者的经验,可以贡献他们的知识。Pi等人[4]将知识共享视为社区中的个人行为决策,来探索哪种分享行为可以帮助个人参与者在在线社区中获得更好的地位,进而提高社会地位、声誉以及提升工作者对其他社交网络兴趣。J. S. Kowk等人[5]提出了一个基于分散式P2P技术的虚拟知识共享社区的构想。在社区中,每个成员都扮演着平等的知识生产、接受和协调的角色。通过相关研究,表明社区用户扮演的知识生产角色对知识共享起到了积极作用。对于这一方面的研究,在线知识社区的研究还只是基于传统的企业管理中,没有涉及到用户社交网络这个层次。针对这个局限,有学者从用户信息行为角度研究了在线知识社区中用户的一些知识互动行为。

其次,基于用户信息行为角度的研究。具体来说,包括知识获取、知识贡献、知识共享等行为来研究在线知识社区中用户的知识互动行为[6-8]。Suh和Wagner[9]发现员工通过游戏化地使用企业协作系统,对于员工的知识贡献是有利的。Ardichvili等人[10]研究表明,信任可以消除知识贡献的障碍。Fadel和Durcikova[11]认为验证的过程中公平感会对用户的贡献知识质量和贡献行为产生正向影响。基于用户信息行为的研究,虽然涉及了用户,但没有涉及用户与用户之间的社交行为。

最后,部分学者结合传统社会理论和计算机信息技术来研究用户行为影响因素。基于传统社会理论,张宝生等人[12]运用经典扎根理论方法,研究用户知识贡献行为意向的影响因素。徐扬等人[13]从社会化影响理论的视角研究声誉系统与知识分享的关系,并探究社会化影响的两种机制,来研究用户的知识分享行为的影响因素。Jin等人[14]以知识共享理论和知识自我效能感知理论为基础,利用问卷调查的方式探索用户在Yahoo!Answers上持续贡献知识的原因。樊彩锋等[15]从社会资本理论和主观规范视角探索用户愿意回答其他用户提出问题的动因,结果显示影响用户贡献答案的关键原因是为了互惠。基于计算机信息技术,Furtado等人[16]对用户在社会化问答网站上的行为数据(如回答问题的个数、提问的个数、评论的个数等)进行聚类分析,进而找出在不同主题领域下的专家和具有高动机性的积极贡献者,这有助于分配新问题给潜在的回答者。Yang M等人[17]基于自然语言的方法处理问题和潜在答案的关系,将问题和潜在的答案在嵌入空间中表示。根据给定问题的语义相似性对可能的答案进行排序,实现了自然语言问题的语义转化。Chen L等人[18]通过基于文本和元数据特征的方法建立了一个预测模型来识别用户对于新问题的回答意图。Liu Y等人[19]通过预测一个提问的作者是否会对社区参与者回答作者问题感到满意的角度,提出了一个预测模型,这个模型加入了社区内容,社区结构和社区中心性特性。Xiang S 等人[20]提出了一种基于多维标度的数据重组方法来预测提问者的意图,并根据提问意图提供相应的答案,以帮助用户找到有用的信息。总的来说,基于计算机信息技术方面的研究是涉及到了回答者和提问者,但是还是存在一定的问题,没有涉及提问者和回答者在社交网络中存在的潜在结构关系。

基于以上研究,在线知识社区方面的研究已经取得了一定的成果,但是同时也存在一些问题值得继续探索。目前,在线知识社区领域侧重知识管理和信息行为的研究很少涉及用户,即使涉及也过于笼统地将社区的用户看作一个整体而不区分用户的属性。而涉及用户的研究主要从社区平台的知识贡献角度出发,更多是强调了社区用户对于社区知识的贡献。因此针对以上问题,该文从在线社区平台的社交属性和问答属性两方面进行更加全面的分析,提出了有效的用户协作行为预测模型。并且,跳脱出传统方法局限,采用基于图卷积神经网络的方法。这种方法不仅能够利用用户自身属性信息,还能够更加深层地挖掘用户在网络中的潜在的结构信息。从而可以更全面地捕获用户在社区中的信息,使得预测更加接近事实。

并且针对在线知识社区用户协作行为研究数据集的缺失问题,新建了一个专门针对此项问题研究的数据集。其中“知乎”是目前中国影响力较大的知识社区,因此该文以“知乎”为例。从用户的角度出发,结合知识社区社交属性和问答属性两方面的特征,探究知识社区中用户协作行为。

贡献在于:

(1)实现在线知识社区用户协作行为的预测与链路预测相关联,提出基于图卷积的用户协作行为预测的神经网络模型。

(2)采集了基于知乎的新的数据集,可用于在线知识社区用户协作行为预测的研究。

(3)提出的方案在数据上超过以前方法。

1 问题描述

预测在线知识社区中用户的协作行为可以用于领域专家推荐。对于用户角度而言,用户在社区提出问题,该模型会预测出最有可能来回答这个问题的其他用户,进而来解决提问用户的问题。对于管理平台而言,领域专家有利于促进社区的知识再创造,保持社区的持续发展。因此预测用户的协作行为不仅有益于个人也有益于社区长远利益的发展。

1.1 在线知识社区用户协作行为的概念

在线知识社区融合了社交平台和问答平台二者的属性,因此具有社交特性和问答特性。以“知乎”网站为例,“知乎”是目前中国影响力较大的知识社区,该社区的问答主要是以“话题”的形式划分。在线知识社区用户协作行为在问答社区中发生的,是用户在知识社区中协作解决问题的一个过程,是用户协作行为(两个或者两个以上的人协调合作,一起解决问题的过程)的一种特殊情形。在这种行为中,一个用户在多个话题下提问和回答是很普遍的现象。其中假设社区中一个用户u1提出问题,其他用户U={u1,u2,…,un}作答,用户从提问到产生答案的过程见图1。

图1 用户提问和产生答案

用户u1提出问题到邀请其他用户作答,最后产生答案。其他用户之间协调合作解决了用户u1提出的问题,因此产生了协作行为。其他用户作答的过程本质上是回答者用户之间的交互过程,他们回答同一个问题就会在社区中产生交际,以此种方式交互的回答者用户就构成了庞大的社交关系网络。

1.2 在线知识社区用户协作网络

在线知识社区具有社交属性,社区中用户之间并不是孤立存在的,而是存在一定的关系,多个用户之间的关系必然会构成网络。传统的网络构建方法主要是基于用户之间的关注与被关注关系,用户只要是根据关注列表来构建网络,因此只能聚焦某一个话题,紧密链接一小部分用户,这样的样本来反映社区的情况不具有代表性。该文是根据抓取“知乎”一个大的话题及其子话题下的主页,通过话题下用户之间的提问和回答构建网络。相比根据用户关注关系抓取的的内容更丰富,也更具代表性。

此外,该文选取用户作为网络中的节点,根据用户的答题行为构建协作网络。社区中用户通过回答同一个提问的方式在知识社区中就构成了一个相互协作的社交网络。因此构建网络的具体方式如图2所示。

图2 用户协作网络

假设用户U1和用户U2为社区中的两个用户,如果他们都回答了问题q1,说明他们对同样的话题感兴趣或者具有这个话题的相关领域的知识背景,就产生了协作回答问题的行为。其他用户同理如此,协作回答了q1,q2,…,q8,因此他们之间相互链接,形成了更大更密集的协作网络。

1.3 在线知识社区用户协作行为预测

在线知识社区用户协作行为预测,就是根据用户的答题行为构建的协作网络来预测节点之间是否存在边。如图3所示,表示通过构建的社交网络结构信息,预测未来一段时间内社交用户u和用户v之间可能会产生新的链接关系。而有无这种链接关系代表当一个新的问题出现,用户u和用户v未来是否会产生协作。用公式化表达,给定一个用户协作网络A=(V,E)表示无权无向网络,其中V={v1,v2,…,vn}表示网络中所有节点的集合,对应为用户的集合,给定目标链接节点对(vx,vy),vx和vy之间的链接可能性定义为p,其值越高,链接可能性越大。该模型通过构建端到端模型,将网络A输入到模型中,模型学习一个函数f(·),最后得到链接预测的值。公式表达为:

A→f(·)→p

(1)

图3 用户协作行为预测

2 用户协作行为预测模型

协作行为预测是基于深度图卷积神经网络设计的。给定一个网络A,目标是自动学习一种能够很好地解释链接信息。具体来说,通过GCN来预测某两个节点x,y之间是否存在链接时,需要将x节点和y节点的邻接节点并集以及节点之间的边形成的封闭子图作为模型的输入。因此将庞大的网络随机采样一些节点对,并抽取它们的封闭子图,其中60%样本作为训练集,20%作为验证集,其余为测试集。为了使得模型的效果更加精确,对每个封闭子图构建信息矩阵Χ,其中Χ的每一行代表着对应节点的特征。

2.1 构建节点信息矩阵Χ

Χ主要由标签信息以及其他特征组成,值得注意的是这里的标签并不是最后用来计算损失函数的分类标签,而是代表着某个节点与两个目标节点x,y的相对位置特征。依照Zhang等人[21]提出的方法,添加标签的过程是利用函数fl:V→,为封闭子图中的节点i分配一个整数标签fl(i)。目的是利用不同的标记来区别封闭子图中的节点的不同地位:

(1)中心节点x与y为目标节点;

(2)与中心节点相对应位置的节点对链接是否存在具有不同的结构重要性。

恰当的节点标签应当标出这种重要性的区别。如果不将这种区别标记出来,GCN就不能分辨出需要预测的链接,并且会造成结构信息丢失。

标签方法源自如下准则:

(1)两个目标节点x和y具有特殊标签“1”;

(2)如果d(i,x)=d(j,x)且d(i,y)=d(j,y),则节点i和j具有相同的标签。

第2条准则的想法是,直觉上节点i在封闭子图中的拓扑位置可以由其与两个目标节点的距离确定,即(d(i,x),d(j,y))。因此,令处于相同拓扑结构的节点具有相同的标签,节点的标签是信息矩阵的一部分,反映了节点在封闭子图中的相对位置和结构重要性。

基于上述两个准则,根据DRNL(double-radius node labeling)节点标签方法,fl(i)与(d(i,x),d(j,y))的关系满足:

如果d(i,x)+d(i,y)≠d(j,x)+d(j,y),则d(i,x)+d(i,y)

如果d(i,x)+d(i,y)=d(j,x)+d(j,y),则d(i,x)d(i,y)

DNRL(double-radius node labeling)节点标签方法的优势在于拥有完美的hash函数。

fl(i)=1+min(dx,dy)+

(2)

节点标签后,利用one-hot编码来构建Χ。

2.2 图卷积层

在线知识社区具有社交网络的结构特性,因此学习网络的潜在特征对于用户协作行为的预测十分重要。Muhan Zhang等人[22]提出了端到端的学习,如给定一个用户行为图为A和它的节点信息矩阵Χ,将图卷积定义为:

(3)

为了提取多尺度的子结构特征,将多个图卷积层(3)叠加如下:

(4)

其中,Z0=X,Zt∈n×ct是第t个图卷积层的输出,ct是第t层的输出通道数。经过多个图卷积层后,添加一个层来连接输出Zt,t=1,2,…,h形成一连串输出,写成Z1:h=[Z1,Z2,…,Zh],这里h是图卷积层数。在连接输出Z1:h中,每一行都可以看作是一个节点的“特征描述符”,编码用户的多尺度局部子结构信息。

2.3 The SortPooling 层

可以根据用户在图中的结构角色来排序,The SortPooling层作为图卷积层与传统层之间的桥梁,它可以通过记住输入的排序顺序将梯度传递回之前的层,使得之前层参数的训练成为可能。

2.4 模型整体架构

模型整体的架构如图4所示,将构建的用户协作网络抽取一个以链接周围(如A,B和C,D)的封闭子图为输入,输出一个链接存在的可能性函数。为了学习该函数,在抽取的封闭子图上训练一个图神经网络。训练好的函数最后得到预测结果p。

图4 用户协作行为预测模型

3 实 验

3.1 数据介绍与预处理

该文采用python爬取知乎社区一个话题下的数据作为实验数据,该数据是在2019年5月爬取的“机器学习”整个话题的数据,数据包括讨论区和精华区,总共爬取34 514条数据。将原始数据整理到数据库中,数据内容包括回答者的id、提问者的id、回答者文本、提问者文本、点赞数、转发数等等。

首先筛选出作者提问者的id和回答者的id,由于构建网络是以用户作为节点,问题作为边,如果两个用户id不同,但是回答同样一个问题,则二者构成一条边,以这种方式构建成社交网络,从中选取最大联通子图(节点3 264个)作为用户协作网络输入到模型中,如图5所示。

图5 最大联通子图

3.2 评价指标

3.2.1 准确率

准确率是分类正确的样本占总样本个数的比例,即:

(5)

其中,ncorrect为被正确分类的样本个数,ntotal为总样本个数。

3.2.2 AUC指标

采用ROC曲线下的面积AUC值指标作为评价该模型的优劣的衡量标准。可以理解为通过抽样计算时,AUC分别从测试集随机选择有链接的得分和随机抽取无链接的得分,测试集中样本预测存在链接和不存在链接的预测分值的概率,AUC计算方式如下:

(6)

其中,n表示总的采样次数,n1表示n次采样中测试集中存在链接比不存在链接分值大的次数,n2表示n次采样中两者分值相等的次数。AUC值越高,算法效果越好。

3.3 实验介绍

为了评价提出的模型在在线知识社区协作行为预测的有效性,选择了经典的预测方法作为对比,选择Accuracy、AUC作为衡量指标。其中选择的经典预测方法包括共同邻居数(common neighbors,CN)、余弦相似度(Salton)、Sorensen系数、HPI系数、HDI系数、邻居贡献(adamic-adar,AA)、局部路程(local path,LP)等作为对比。文中用户协作网络节点数量是3 264个,边的数量是9 601个。模型的主要参数设置见表1。其中模型训练设置是batchsize为32,优化器使用Adam优化器,学习率为0.01,训练15个epoch,损失函数是用分类损失函数交叉熵,公式如下:

L=-[Ylogp+(1-Y)log(1-p)]

(7)

表1 主要参数设置

3.4 实验结果

将文中模型和其他经典预测方法在爬取的“知乎”数据集上进行实验。为了方便说明,将文中提出的模型命名为DGCNN模型。为了更直观地观察DGCNN模型的效果,分别计算Accuracy、AUC值。与其他模型比较后的实验结果见表2。

表2 不同模型的Accuracy 、AUC值比较

3.5 结果分析

如表2所示,DGCNN模型较其他的经典模型CN和LP等具有更好的效果。与其他经典的预测方法相比较,DGCNN使用了图卷积神经网络来训练模型,能够更加全面地利用用户协作网络中的结构信息,从而使得模型训练的信息更加丰富,进而预测结果更加准确。存在一点不足,就是模型的运行效率比其他的预测模型要低一点。但是DGCCN模型在“知乎”数据上得到了最好的效果,说明在线知识社区用户之间的协作行为预测是有实际意义的。

4 结束语

针对在线知识社区用户协作行为预测问题,解释了在线知识社区用户协作行为的概念并探讨了用户协作网络如何构建。由于在线知识社区存在社交属性和问答属性,用户可以在社区中提出问题和回答其他用户的问题以及参与社区中其他用户的话题讨论,形成了广泛的人际社交关系。与通过用户关注关系构造的常见用户社交网络不同,该文是通过用户回答同一问题而形成的协作网络。以此方式构建的网络,更有利于领域专家的推荐。

以预测在线知识社区用户协作行为为目标,构建用户为节点,用户回答为边的知识社区用户社交网络,将在线知识社区用户协作行为的预测转化为社区用户之间在用户协作网络中链接的预测,进而提出了基于图卷积神经网络的模型。该模型学习出一个以链接周围得封闭子图为输入,以链接存在的可能性为输出的函数。为了学习该函数,在抽取的封闭子图上训练一个图卷积神经网络。与其他链接预测方法进行实验比较发现,提出的方法预测结果更好。

由于本研究的局限之处,笔者认为可以从以下两个方面展开进一步的研究:一方面,除了学习社交网络的结构特征,可以稍微改动模型并且加入用户文本内容做进一步研究;另一方面,除了研究用户内容方面之外,还可以从用户与用户协作次数来考虑网络中边的权重问题。

猜你喜欢
卷积协作节点
基于全卷积神经网络的猪背膘厚快速准确测定
基于RSSI测距的最大似然估计的节点定位算法
基于图像处理与卷积神经网络的零件识别
分区域的树型多链的无线传感器网络路由算法
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种基于能量和区域密度的LEACH算法的改进
鲁渝扶贫协作进行曲
扶贫协作中的山东力量
监督桥 沟通桥 协作桥