一种基于异构图注意力网络的众包任务推荐方法

文档序号:26564593发布日期:2021-09-08 01:44阅读:131来源:国知局
一种基于异构图注意力网络的众包任务推荐方法

1.本发明涉及众包任务推荐技术领域,主要涉及一种基于异构图注意力网络的众包任务推荐方法。


背景技术:

2.随着经济的全球化和网络科学技术的发展,众包作为一种基于互联网的分布式问题解决机制,它通过整合计算机和互联网上未知的大众,来完成计算机单独难以完成的任务。由于众包有很多应用背景,例如,海量图像标注,网上商品评价,软件测试等,因此近几年众包在计算机领域的学术界和工业界都得到了非常广泛的关注。
3.众包模式中,如何将任务精准的推荐给更有可能完成任务的参与人员,是有待解决的关键问题之一。任务的精准推荐,直接影响到众包任务的完成效率和完成质量。然而,信息的缺失和推荐方法的限制,使得已有的任务难以精准的推荐给参与人员。因此,针对众包任务推荐问题,如何将任务精准的推荐给更有可能完成该任务的参与人员,面临着巨大的挑战。
4.在进行众包任务推荐时,仅考虑任务与人员属性,往往得到不够精准的推荐结果。由于属性数据是独立的数据结构,而众包参与人员与历史任务的交互信息,人员与人员之间的相似性,以及任务与任务之间的相似性,对于精准的任务推荐同样十分重要。因此,将众包数据建模为异构众包网络,将为推荐任务提供丰富的交互信息。通过学习众包网络中人员与任务的节点表示,进而可以通过计算节点表示相似性来实现精准的任务推荐。然而考虑到网络中节点的异构特性,传统的网络表示学习方法往往无法直接应用于众包任务推荐,需要针对众包数据的特性采取针对性的方法建立模型。
5.图神经网络(graph neural networks,gnns)是一种针对网络结构数据表示学习的神经网络模型。图神经网络通过节点特征的线性变换与邻居特征聚合,结合下游任务迭代学习更新每个节点的特征表示。图注意力网络是一种结合注意力机制的图神经网络,能够学习不同邻居节点特征聚合的权重,实现更有效的节点特征表示学习。


技术实现要素:

6.发明目的:现有图神经网络大多针对同构网络,而众包网络存在任务与人员的节点异构性,需要对现有图神经网络模型进行修改,实现异构语义信息的提取。本发明提供了一种基于异构图注意力网络的众包任务推荐方法,针对众包中已有的任务信息与人员信息,建立众包异构网络。基于元路径进行网络结构属性提取,使用图注意力网络进行众包网络中特征向量的更新,以提升众包任务推荐准确度,提升众包任务的完成效率和完成质量。
7.技术方案:为实现上述目的,本发明采用的技术方案为:
8.一种基于异构图注意力网络的众包任务推荐方法,包括以下步骤:
9.步骤s1、数据采集;
10.采集若干真实应用场景中众包参与方和众包任务对象产生的众包数据;所述众包
数据包括众包参与人员姓名、性别、年龄、优势、历史任务信息、任务id、任务描述、任务所属模块和任务类型;
11.步骤s2、数据预处理;
12.将获取的众包数据依次进行特征清洗、特征筛选、特征补全处理后,分别得到众包参与人员与众包任务的属性特征向量;根据众包参与人员与众包任务建立连接的历史交互信息与,以及众包参与人员与众包任务的特征信息,并结合knn算法,构建众包网络,按照设定元路径进行采样和预训练,分别得到基于结构信息的人员与任务的结构特征向量;最后将所述基于结构信息的人员结构特征向量和任务结构特征向量拼接,获得人员与任务的节点特征表示;
13.步骤s3、模型训练;
14.根据步骤s2所得人员与任务的节点特征表示,计算节点对之间的注意力,根据计算出的注意力系数进行邻居节点信息的传递和聚合,更新人员与任务的节点特征表示;
15.步骤s4、任务推荐;
16.递归更新步骤s3中人员与任务的节点特征表示,根据学习到的节点特征表示,计算人员与任务的相似性得分,按照得分排序进行任务推荐。
17.进一步地,所述步骤s2中根据众包参与人员与众包任务建立连接的历史交互信息,以及众包参与人员与众包任务的特征信息,并结合knn算法构建众包网络,具体包括:
18.步骤s2.1、对所有数据进行特征清洗、特征筛选、特征补全,得到节点属性特征向量h
att

19.步骤s2.2、根据众包参与人员与众包任务建立连接的历史交互信息,选取有历史交互连接的人员与任务,建立人员

任务连边。采用knn算法,分别对每个众包参与人员与其他众包参与人员的特征信息表示计算欧氏距离,得到逐对相似性指标集合s
w
,对每个众包任务与其他众包任务的特征表示计算欧氏距离,得到逐对相似性指标集合s
t
。对每个众包参与人员,选取s
w
中与其相似性指标值最大的前k个同类节点,建立人员

人员连边;对每个众包任务,选取s
t
中与其相似性指标值最大的前k个同类节点,建立任务

任务连边,由此得到众包异构网络g;
20.步骤s2.3、根据设定的元路径集合ρ={ρ1,ρ2,


m
}进行采样,用metapath2vec算法得到节点结构特征向量集合h
st
={h
st1
,h
st2
,

,h
stm
};metapath2vec算法是一种基于元路径的异构图结构特征提取方法,通过预定义的元路径随机游走进行采样,然后用浅层神经网络进行节点特征表示训练,可以有效的保留异构网络中的语义信息与结构信息。
21.步骤s2.4、将得到的属性特征向量与结构特征向量拼接,得到对应的节点特征表示h=[h
att
||h
st1
||h
st2
||

||h
stm
]。
[0022]
进一步地,所述步骤s3中模型训练具体步骤包括:
[0023]
步骤s3.1、基于输入的节点特征h,通过线性层进行线性变换,乘以权重矩阵w,获取变换后的节点特征h’;
[0024]
步骤s3.2、对所述众包网络的每一组边连接的两个节点,逐对计算注意力系数α;具体地,首先将两个节点i、j的特征向量拼接,获取[h’i
||h’j
],然后乘以一个可学习注意力参数向量a,将结果通过leakyrelu输出,最后用softmax函数进行注意力系数归一化操作得到α;
[0025]
步骤s3.3、将计算所得注意力系数α与变换后的节点特征h’对应相乘,对每个节点计算邻居注意力信息的聚合,通过sigmoid激活函数输出,得到聚合后的中心节点特征向量;
[0026]
步骤s3.4、采用多头注意力机制,重复执行步骤s3.1

s3.3,得到多头节点表示h
agg
={h
agg1
,h
agg2
,

,h
aggt
},最后将每个注意力头所计算出的节点表示进行拼接,得到最终节点表示z=[h
agg1
||h
agg2
||

||h
aggt
]。
[0027]
进一步地,所述步骤s4中任务推荐步骤具体包括:
[0028]
步骤s4.1、获取众包网络中人员与任务的节点表示z;
[0029]
步骤s4.2、对每个人员p
i
,获取网络中与该人员不存在连接关系的任务集合t={t1,t2,

,t
n
};
[0030]
步骤s4.3、计算人员p
i
与每项任务t
j
的余弦相似度,得到每个人员对应的待推荐任务的相似性得分s={s1,s2,

,s
n
};
[0031]
步骤s4.4、对每个人员p
i
,根据待推荐任务相似性得分s进行排序,选取排序最高的l个任务进行推荐。
[0032]
有益效果:
[0033]
本发明提供了一种基于异构图注意力网络的众包任务推荐方法,能够有效实现众包场景下的精准任务推荐,提高众包平台工作效率。其采用建立异构众包网络的方法,能够充分利用数据中的交互信息,;又充分利用图神经网络模型的优点,可以有效的学习节点表示用于任务推荐。
附图说明
[0034]
图1为本发明提供的基于异构图注意力网络的众包任务推荐方法流程图;
[0035]
图2为本发明实施例中数据预处理过程的流程图。
[0036]
图3为本发明基于图注意力网络进行模型训练的流程图。
具体实施方式
[0037]
下面结合附图对本发明作更进一步的说明。
[0038]
如图1所示的一种基于异构图注意力网络的众包任务推荐方法,包括以下步骤:
[0039]
步骤s1、数据采集。
[0040]
采集若干真实应用场景中众包参与方和众包任务对象产生的众包数据,包括众包参与人员姓名、性别、年龄、优势、历史任务信息、任务id、任务描述、任务所属模块和任务类型。
[0041]
步骤s2、数据预处理。
[0042]
将获取的数据进行特征清洗、特征筛选、特征补全等处理之后,得到人员与任务的属性特征向量;同时根据历史交互信息与knn算法构建众包网络,根据历史交互信息构建人员

任务连边,根据knn计算属性相似性,构建人员

人员连边与任务

任务连边,以此构建众包网络。然后按照设定元路径进行采样和预训练,得到基于结构信息的人员与任务的结构特征向量;最后将得到的两类向量进行拼接得到人员与任务的节点特征表示。具体地,
[0043]
步骤s2.1、对所有数据进行特征清洗、特征筛选、特征补全,得到节点属性特征向
量h
att

[0044]
步骤s2.2、根据众包参与人员与众包任务建立连接的历史交互信息,选取有历史交互连接的人员与任务,建立人员

任务连边。采用knn算法,分别对每个众包参与人员与其他众包参与人员的特征信息表示计算欧氏距离,得到逐对相似性指标集合s
w
,对每个众包任务与其他众包任务的特征表示计算欧氏距离,得到逐对相似性指标集合s
t
。对每个众包参与人员,选取s
w
中与其相似性指标值最大的前k个同类节点,建立人员

人员连边;对每个众包任务,选取s
t
中与其相似性指标值最大的前k个同类节点,建立任务

任务连边,由此得到众包异构网络g;
[0045]
步骤s2.3、根据设定的元路径集合ρ={ρ1,ρ2,


m
}进行采样,用metapath2vec算法得到节点结构特征向量集合h
st
={h
st1
,h
st2
,

,h
stm
};
[0046]
步骤s2.4、将得到的属性特征向量与结构特征向量拼接,得到对应的节点特征表示h=[h
att
||h
st1
||h
st2
||

||h
stm
]。
[0047]
步骤s3、模型训练。
[0048]
根据步骤s2所得人员与任务的节点特征表示,计算节点对之间的注意力,根据计算出的注意力系数进行邻居节点信息的传递和聚合,更新人员与任务的节点特征表示。具体地,
[0049]
步骤s3.1、基于输入的节点特征h,通过线性层进行线性变换,乘以权重矩阵w,获取变换后的节点特征h’;
[0050]
步骤s3.2、对所述众包网络的每一组边连接的两个节点,逐对计算注意力系数α;具体地,首先将两个节点i、j的特征向量拼接,获取[h’i
||h’j
],然后乘以一个可学习注意力参数向量a,将结果通过leakyrelu输出,最后用softmax函数进行注意力系数归一化操作得到α;
[0051]
步骤s3.3、将计算所得注意力系数α与变换后的节点特征h’对应相乘,对每个节点i,将其邻居节点的注意力相乘后的向量相加,得到聚合后的中心节点特征向量h’i,即h’i=σαij h’j,j∈ni;
[0052]
步骤s3.4、对全部节点的表示h’,将其作为sigmoid激活函数的输入,得到非线性激活后的节点特征向量hagg,即hagg=sigmoid(h’);其中sigmoid(x)=1/(1+e

x);
[0053]
步骤s3.5、采用多头注意力机制,重复执行步骤s3.1

s3.3,得到多头节点表示h
agg
={h
agg1
,h
agg2
,

,h
aggt
},最后将每个注意力头所计算出的节点表示进行拼接,得到最终节点表示z=[h
agg1
||h
agg2
||

||h
aggt
]。
[0054]
步骤s4、任务推荐;
[0055]
递归更新步骤s3中人员与任务的节点特征表示,根据学习到的节点特征表示,计算人员与任务的相似性得分,按照得分排序进行任务推荐。具体地,
[0056]
步骤s4.1、获取众包网络中人员与任务的节点表示z;
[0057]
步骤s4.2、对每个人员p
i
,获取网络中与该人员不存在连接关系的任务集合t={t1,t2,

,t
n
};
[0058]
步骤s4.3、计算人员p
i
与每项任务t
j
的余弦相似度,得到每个人员对应的待推荐任务的相似性得分s={s1,s2,

,s
n
};
[0059]
步骤s4.4、对每个人员p
i
,根据待推荐任务相似性得分s进行排序,选取排序最高
的l个任务进行推荐。
[0060]
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1