APP下载

GitHub以深度学习推荐简单问题,帮助新手做出第一次贡献

消息来源:baojiabao.com 作者: 发布时间:2024-05-06

报价宝综合消息GitHub以深度学习推荐简单问题,帮助新手做出第一次贡献

GitHub更新新手友善问题(Good First Issues)功能,引导贡献者找出自己感兴趣的专案,从入门问题开始做出贡献,贡献者不只能先小试身手,还可以建立自己在该专案的声誉。新手友善问题是GitHub上,第一个使用深度学习技术的功能。

贡献者有几种方法开始处理新手友善问题,为专案做出贡献。开发者可浏览GitHub的主题页面,或是直接进入像是机器学习等特定主题页面,该页面会直接列出主题相关的专案以及新手问题。或当贡献者已经知道要贡献的专案名称,也可以直接连到新手友善问题贡献专页,直接挑选可以处理的问题。

另外,GitHub使用者过去的贡献、星等以及各种活动,系统也会提供个人化的专案建议,用户可以在探索页面看到推荐列表。贡献者可以从以上三种方式找到新手友善问题,也能点击寻找更多新手友善问题,浏览完整的列表。

其实新手友善问题并非一个全新的功能,在2019年5月GitHub就已经推出这个功能,只是之前由专案维护者手动标记新手友善标签,但现在更新版本加入人工智能,能够自动推荐约70%专案储存库中的简单问题。

GitHub提到,以标签的方式标记新手友善问题,储存库中只会有40%的简单问题被推荐,而且也增加了专案维护者分类问题的负担,因此GitHub在上个月发布了更新版本,新的问题推荐功能会同时推荐基于标签与机器学习的问题,因而提升储存库中简单问题的可见度。

与几乎所有的监督式机器学习专案一样,GitHub面临的第一个挑战,便是收集训练资料集,GitHub表示,在他们的案例,手动标记问题是一件很困难的事,因为这包含了领域主题、专案和程式语言等范围的专业知识,因此GitHub转而选用弱监督式的方法,先为上千万个候选样本自动预测标签。

要标记出正候选样本,仍然需要一些样本,官方准备了手上可用的清单,只有约300个标签问题,数量仍然太少,因此又整理了一些可能是新手处理的问题,官方找出那些已由之前未曾做出贡献的新手所解决的问题,以及拉取请求只更动单一档案中,几行程式码或文字的已关闭问题。

而负样本则是未明确标记为正候选样本的其他样本,但官方提到,这样的方法收集了不平衡的资料集,正样本太少,因此他们除了加权之外,又对负样本进行二次采样,也侦测并移除了重复的问题。

为了快速地让分类器立即判断新手友善问题,因此仅使用标题和内文进行训练,而不使用对话或是其他资讯,GitHub以深度学习函式库TensorFlow来建构系统,对公开储存库中未封存的问题进行分类,还对问题上的标签,根据相关性进行评分,这些评分会影响问题在列表中的先后顺序,官方表示,通常标签的可信度,比机器学习侦测出来的结果更高。GitHub每天执行资料撷取、训练和预测工作管线,确保结果的新鲜度与相关性。

2020-01-23 19:49:00

相关文章