论文部分内容阅读
GitHub社区是世界上最大的开源社区。其中星标(Star)与派生(Fork)数目是项目受到用户关注与使用的次数,很大程度上体现了开源项目的质量。然而如今存在着为GitHub开发者提供的作弊性推广服务:服务提供者使用一批机器人账号,为特定的项目提供大量有偿的Star与Fork。这些账号会模仿正常账号的行为特征与操作频率,来规避GitHub官方的异常行为检测机制。这种灰色产业链如果不能得到有效的检测,会破坏整个开源社区的良好生态环境。针对GitHub作弊性推广行为的检测问题,本文从数据集的构建和深度学习方法两个方面展开了研究,探索其中的改进方法。目前在GitHub作弊检测领域,还没有可以使用的权威公开数据集。本文从GitHub事件日志归档数据库获取原始数据,构建了GitHub项目网络数据集。第一,根据GitHub网络中存在项目、用户等多种类型节点,以及其间存在多种类型的交互关系的特性,将GitHub社区网络视为异质信息网络,用相关的方法研究了其特性与结构;第二,以项目节点为主要节点,利用项目属性、事件日志的统计学特征等建立了用于描述项目事件日志的28维特征;利用各项目的28维特征结合3种元路径,定义了项目间相似度向量,来从多种语义上评价项目的相似度。第三,以构建数据集阶段时所使用的阈值参数为变量,进行对照实验选出最佳的阈值参数,使数据集在保留了大部分信息的同时尽量缩减了体积。在作弊行为的检测上,本文在构建好的GitHub异质信息网络数据集的基础上,利用异质图卷积网络来解决问题。结合元路径方法引入了注意力机制,并将超图生成方法与之相结合,提出了基于元路径的异质小图卷积网络模型mHMGCN。元路径可以在多种语义下描述节点间的关系,注意力机制可以动态平衡各语义的权重,超图生成方法可以解决数据集中小图多带来的连通性差的问题。随后为了验证本文提出方法的有效性,使用本文提出的模型及其他经典图神经网络模型,进行了两项对照实验:一是以DBLP、Cora等基准数据集为输入,以评价本文提出的模型在基准数据集上的效果。实验验结果表明异质图神经网络模型在这些数据集上的效果略优于其他图神经网络模型。二是以本文所构建的GitHub网络数据集为输入,以评价本文提出的模型在解决GitHub作弊项目检测问题上的效果。实验验结果表明异质图神经网络模型可以有效地检测出存在作弊行为的项目,效果优于其他图神经网络模型:测试集上的准确率提升了约3%。最后将本文提出的模型应用于更多的GitHub项目列表,得到一批作弊项目列表,证明了模型的实际应用价值。