[发明专利]一种开源项目知识图谱的建立方法和系统在审
申请号: | 202010643011.7 | 申请日: | 2020-07-06 |
公开(公告)号: | CN111949800A | 公开(公告)日: | 2020-11-17 |
发明(设计)人: | 孙艳春;黄罡;孙志玉 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F16/36 | 分类号: | G06F16/36;G06F8/20 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苟冬梅 |
地址: | 100871*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 项目 知识 图谱 建立 方法 系统 | ||
1.一种开源项目知识图谱的建立方法,其特征在于,所述方法包括:
预先定义开源项目知识图谱的数据模式;
通过静态代码分析方法从开源项目代码中获取程序代码本身的知识信息,所述程序代码本身的知识信息包括:函数、文件以及它们之间的调用、包含关系;
从开源项目所在的开源社区和开源项目的远程仓库中获取与开源项目相关的知识信息,所述与开源项目相关的知识信息包括:项目提交记录、代码合并请求、问题集合以及它们之间的涉及关系;
对所述程序代码本身的知识信息与所述与开源项目相关的知识信息进行分析,抽取出多个三元组,并根据所述三元组中每种数据来源的不同结构化特征,统一所有三元组中每种知识实体的数据格式,并对每个三元组进行消歧,以保证三元组集中,每种有效的知识实体有且仅有一种实体名称与之对应;
基于所述数据模式,利用所述三元组集,构建开源项目的知识图谱;
使用可视化工具Gephi,对所述开源项目知识图谱进行可视化的分析与展示。
2.根据权利要求1所述的方法,其特征在于,预先定义开源项目知识图谱的数据模式,包括:
从开源项目的多个角度抽取出组成知识图谱的知识信息,所述知识信息包括:基本元素关系与实体;其中,所述实体包括:函数、文件、项目提交记录、问题集合、代码合并请求;其中,所述基本元素关系包括:调用关系、包含关系、修改关系、涉及关系。
3.根据权利要求1所述的方法,其特征在于,通过静态代码分析方法从开源项目代码中获取程序代码本身的知识信息,包括:
使用静态分析工具针对开源项目的每个文件、每个项目模块对所述开源项目代码进行分析,分别生成局部的关系子图,所述关系子图以Dot语言进行描述与输出;
所述静态分析工具,包括:Doxygen,CppCheck和FindBugs。
4.根据权利要求1所述的方法,其特征在于,所述多个三元组的类别,包括:
sub函数对obj函数的调用关系三元组、sub文件对obj函数的包含关系三元组、sub提交记录对obj文件的修改关系三元组、sub问题集合对obj项目提交记录的涉及关系三元组、sub问题集合对obj问题集合的涉及关系三元组、sub问题集合对obj合并请求的涉及关系三元组、sub合并请求对obj项目提交记录的涉及关系三元组、sub代码合并请求对obj文件的涉及关系三元组。
5.根据权利要求1所述的方法,其特征在于,构建开源项目的知识图谱的步骤,包括:
基于所述数据模式,针对每个数据源,进行清洗、抽取三元组、消歧,进而分别抽取出代表某一类关系的三元组集,构成三元组集子图,并发地抽取构建所述三元组集子图的数据流水线,最后聚合所有的三元组集子图,构建开源项目的知识图谱。
6.一种开源项目知识图谱的建立系统,其特征在于,所述系统包括:
定义模块,用于预先定义开源项目知识图谱的数据模式;
知识获取模块,用于通过静态代码分析方法从开源项目代码中获取程序代码本身的知识信息,所述程序代码本身的知识信息包括:函数、文件以及它们之间的调用、包含关系;以及,从开源项目所在的开源社区和开源项目的远程仓库中获取与开源项目相关的知识信息,所述与开源项目相关的知识信息包括:项目提交记录、代码合并请求、以及问题集合以及它们之间的涉及关系;
知识分析模块,用于对所述程序代码本身的知识信息与所述与开源项目相关的知识信息进行分析,抽取出多个三元组;并根据所述三元组中每种数据来源的不同结构化特征,统一所述三元组中每种知识实体的数据格式,并对每个三元组进行消歧,以保证三元组集中,每种有效的知识实体有且仅有一种实体名称与之对应;
构建模块,用于基于所述数据模式,利用所述多个三元组,构建开源项目的知识图谱;
展示模块,用于使用可视化工具Gephi,对所述开源项目知识图谱进行可视化的分析与展示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010643011.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种开源项目知识图谱的优化方法和系统
- 下一篇:一种管子注塑模具