System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及开源社区生态系统维护与开源项目推荐,尤其涉及一种融合节点上下文信息的可解释开源项目推荐方法。
技术介绍
1、开源技术虽然在提升软件开发效率与促进经济发展方面有诸多价值,但随着软件社区中软件需求、软件产品以及开发者规模呈爆炸增长的同时,开源项目推荐面临的“信息过载”问题日益突出,此时要从大量的异构信息中快速并准确地为目标项目筛选出合适的开发者或软件项目,并建立它们之间的关联变得极度困难。此外,在开源软件社区中,软件项目的开发、完善和维护主要依赖于全球各地的开发者进行分布式协作,项目间直接关联较少。这就导致大量具有竞争力的开源项目难以在短时间内获得其它开发者的关注与反馈,被迫进入休眠甚至消亡。github上就有高达95.2%的项目并未获得开发者的关注,许多具有潜力的软件项目因为无法得到进一步的开发和改进而被迫消亡。同时,有研究表明超过50%的源代码文件会在多个开源项目中被重用,表明大量的开源项目、开源软件是相似的、可复用的。
技术实现思路
1、专利技术目的:本专利技术的目的是提供了一种融合节点上下文信息的可解释开源项目推荐方法,旨在通过一种新的推荐方法来应对开源社区中信息过载、分布式协作困难、项目休眠及代码复用困难等问题,提升开源项目的发现和推荐效率,促进开源社区的健康发展。
2、技术方案:本专利技术所述的一种融合节点上下文信息的可解释开源项目推荐方法,包括以下步骤:
3、(1)采集github平台开发者行为数据并存储;
4、(2)构建
5、(3)构建基于节点上下文信息与时空特征的关联路径;
6、(4)构建开源项目推荐模型并训练,得到目标节点对间的权重;
7、(5)利用剪枝策略对关联路径进行随机采样。
8、进一步的,步骤(1)具体如下:利用gh archive框架从github平台上爬取全域开发者的日志行为数据,通过结合业务场景和chaoss提供的开源度量指标将采集到的数据归类成不同特征指标的数据流;将归纳后的数据流导入列示数据库clickhouse,在数据库中利用sql 查询所需数据。
9、进一步的,步骤(2)具体如下:首先,从数据库中获取开源项目的issue、 issue_comment、pull_request _comment、fork信息,以及针对开发者的open_issue、issue_comment、open _pull_request、watch和fork多项行为信息;其次,融合技术依赖与社交信息构建关联,计算项目活跃度、项目技术依赖于社交关联度;然后,对上述三个指标进行线性组合,计算目标节点对间存在链接的概率,并依据预设阈值确定网络连边;最终构造出开源项目关联网络,其中,u为项目节点,e为节点链接表示,w为链接权重。
10、进一步的,步骤(3)包括以下步骤:
11、(31)利用深度优先搜索策略挖掘目标节点对的关联路径;其中,目标节点作为中心节点构建一个固定深度的随机张量,在g的每个节点中嵌入每个节点的中心信息和上下文信息;基于latent factor model和signed latent factor、平均路径长度、模块度分析和六度分隔理论找出影响目标节点对链接形成的上下游节点集合;利用深度优先搜索,针对目标节点对构造邻域二叉树,限定深度为k,构造出目标节点对的关联路径和:
12、;
13、;
14、其中,代表在i层节点的叶子结点集合;包括以下四种情况:(a)目标链接{u,v}的关联节点;(b)分别以u和v节点为初始点的关联路径;(c)以u节点为初始点的关联路径深度优先搜索;(d)关联路径上不同位置节点多维嵌入;
15、(32)将g中所有节点的相关路径长度固定,并将目标节点v嵌入为响应的张量:
16、;
17、其中,表示张量深度模拟上下文节点的距离因素;其中,表示节点v作为中心节点之一对链接形成的影响,表示节点v作为关联路径上与中心节点u距离i为时对链接的影响;
18、(33)基于目标节点对的拓扑特征和关联路径集合重新构建目标链接权重的表达形式:
19、;
20、其中,是f-范数表达式,为权重计算架构,,分别是目标节点对所有的关联路径。
21、进一步的,步骤(4)包括以下步骤:
22、(41)构建完整的项目关联网络,之后分别对网络中的节点进行张量嵌入,并利用与原始权重矩阵构造新的误差函数:
23、;
24、其中,是目标链接,是正则项稀疏,有效防止过拟合;e为网络边集合;
25、(42)通过对误差函数进行训练,当达到预设条件时停止训练;最终获得所有确实连边的目标权重,利用权重与阈值进行对比判断是否形成新的链接。
26、进一步的,步骤(5)具体如下:设置固定剪枝率,对目标节点对的关联路径进行等比例采样:
27、;
28、;
29、其中,是针对节点v的采样路径,是针对节点u的采样路径。
30、有益效果:与现有技术相比,本专利技术具有如下显著优点:通过关联网络的结构分析和协作模式研究,结合六度分隔理论,能够有效地限定影响目标链接的上下文节点集;通过将节点嵌入为张量,能够很好地整合路径上节点的上下文信息与对目标链接的时空影响,提供更准确的特征提取和链接预测;通过提出深度张量模型,能够对影响目标节点对链接形成的上下文信息和时空特征偏好进行深入挖掘,有助于提升特征信息提取的精确性,从而更好地理解网络中的动态和演化过程,为项目推荐和社区分析提供更准确的支持。
本文档来自技高网...【技术保护点】
1.一种融合节点上下文信息的可解释开源项目推荐方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种融合节点上下文信息的可解释开源项目推荐方法,其特征在于,步骤(1)具体如下:利用GH Archive框架从GitHub平台上爬取全域开发者的日志行为数据,通过结合业务场景和CHAOSS提供的开源度量指标将采集到的数据归类成不同特征指标的数据流;将归纳后的数据流导入列示数据库ClickHouse,在数据库中利用SQL 查询所需数据。
3.根据权利要求1所述的一种融合节点上下文信息的可解释开源项目推荐方法,其特征在于,步骤(2)具体如下:首先,从数据库中获取开源项目的Issue、 Issue_ Comment、Pull_Request _Comment、Fork信息,以及针对开发者的Open_issue、Issue_Comment、Open_Pull_Request、Watch和Fork多项行为信息;其次,融合技术依赖与社交信息构建关联,计算项目活跃度、项目技术依赖于社交关联度;然后,对上述三个指标进行线性组合,计算目标节点对间存在链接的概率,并依据预设
4.根据权利要求1所述的一种融合节点上下文信息的可解释开源项目推荐方法,其特征在于,步骤(3)包括以下步骤:
5.根据权利要求1所述的一种融合节点上下文信息的可解释开源项目推荐方法,其特征在于,步骤(4)包括以下步骤:
6.根据权利要求1所述的一种融合节点上下文信息的可解释开源项目推荐方法,其特征在于,步骤(5)具体如下:设置固定剪枝率,对目标节点对的关联路径进行等比例采样:
...【技术特征摘要】
1.一种融合节点上下文信息的可解释开源项目推荐方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种融合节点上下文信息的可解释开源项目推荐方法,其特征在于,步骤(1)具体如下:利用gh archive框架从github平台上爬取全域开发者的日志行为数据,通过结合业务场景和chaoss提供的开源度量指标将采集到的数据归类成不同特征指标的数据流;将归纳后的数据流导入列示数据库clickhouse,在数据库中利用sql 查询所需数据。
3.根据权利要求1所述的一种融合节点上下文信息的可解释开源项目推荐方法,其特征在于,步骤(2)具体如下:首先,从数据库中获取开源项目的issue、 issue_ comment、pull_request _comment、fork信息,以及针对开发者的open_issue、issue...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。