[发明专利]一种开源项目知识图谱的建立方法和系统在审
申请号: | 202010643011.7 | 申请日: | 2020-07-06 |
公开(公告)号: | CN111949800A | 公开(公告)日: | 2020-11-17 |
发明(设计)人: | 孙艳春;黄罡;孙志玉 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F16/36 | 分类号: | G06F16/36;G06F8/20 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苟冬梅 |
地址: | 100871*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 项目 知识 图谱 建立 方法 系统 | ||
本发明实施例提供了一种开源项目知识图谱的建立方法和系统,该建立方法和系统具体为预先定义开源项目知识图谱的数据模式;从开源项目代码中获取程序代码本身的知识信息,从开源项目所在的开源社区和开源项目的远程仓库中获取与开源项目相关的知识信息,对所有不同来源的知识信息进行分析,抽取出多个三元组;对所有三元组统一、消歧,并基于所述数据模式,构建开源项目的知识图谱,最后对知识图谱进行可视化的分析与展示。本发明实施例建立了一种开源项目的知识图谱,用于开发者对需要学习的项目代码进行快速准确的检索,并通过相关的代码知识理解代码,满足新加入的开发者对于开源项目快速学习的需要。
技术领域
本发明涉及开源项目技术领域,特别是涉及一种开源项目知识图谱的建立方法和一种开源项目知识图谱的建立系统。
背景技术
开源项目(open source project),是一种开放源码的软件项目,开发者可以通过开源社区修改开源项目的源码,定制自己的个性化产品。
大型的开源项目通常会由多个开发者共同参与开发,并吸引众多的开发者来学习该开源项目的源代码,这些开发者在不断的学习和技术历练之后,也可能进入到开源项目的主要分支中,为开源项目贡献自己的力量。
大多数的开源项目缺乏项目架构文档,也缺少针对项目代码知识的管理与检索功能,而当前开源社区的主要功能集中于对项目进行版本管理,面向的也只是开源项目现有的开发者与不作开发贡献的用户。因此,目前新加入的开发者在最初接触到一个开源项目的时候,往往只能通过逐步阅读源码来了解项目代码,而很难直接找到和需求相关的代码,学习效率十分低下。
目前对于开源社区代码分析领域的研究,大多数都集中在分析代码本身,分析方法主要使用诸如语法树、静态分析结果之类的信息。而对开发者智慧学习的研究,则多为聚焦于如何帮助开发者智慧地编程,例如推荐代码段,推测开发人员的意图,智能编程工具等。总的来说,没有从开发者的学习需要的角度考虑,为开发者提供针对性的代码相关知识信息,从而帮助开发者快速了解并加入到开源项目中。
因此,对于新加入的开发者而言,不能快速地找到需要的项目代码,也不能快速地获取项目代码的相关知识以对于代码进行理解,最终导致学习效率低下。
发明内容
鉴于上述问题,提出了本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的一种开源项目知识图谱的建立方法和相应的一种开源项目知识图谱的建立系统。
为了解决上述问题,本发明实施例提供了一种开源项目知识图谱的建立方法,所述方法包括:预先定义开源项目知识图谱的数据模式;通过静态代码分析方法从开源项目代码中获取程序代码本身的知识信息,所述程序代码本身的知识信息包括:函数、文件;从开源项目所在的开源社区和开源项目的远程仓库中获取与开源项目相关的知识信息,所述与开源项目相关的知识信息包括:项目提交记录、代码合并请求、以及问题集合;对所述程序代码本身的知识信息与所述与开源项目相关的知识信息进行分析,抽取出多个三元组,并根据所述三元组中每种数据来源的不同结构化特征,统一所有三元组中每种知识实体的数据格式,并对每个三元组进行消歧,以保证三元组集中,每种有效的知识实体有且仅有一种实体名称与之对应;基于所述数据模式,利用所述三元组集,构建开源项目的知识图谱;使用可视化工具Gephi,对所述开源项目知识图谱进行可视化的分析与展示。
可选地,所述预先定义开源项目知识图谱的数据模式的方法,包括:从开源项目的多个角度抽取出组成知识图谱的知识信息,包括:基本元素关系与实体;
可选地,所述实体包括:函数、文件、项目提交记录、问题集合、代码合并请求,所述基本元素关系包括:调用关系、包含关系、修改关系、涉及关系;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010643011.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种开源项目知识图谱的优化方法和系统
- 下一篇:一种管子注塑模具