点击上方蓝字关注我们
提高软件开发、软件维护的效率和质量的利器
SnowGraph可将知识图谱融入机器对无结构文本的处理过程之中,进而为复用者提供准确、有效的智能问答服务,从而提高软件复用过程的效率与质量。
北京大学的邹艳珍副教授所在团队提出了基于大数据的软件项目知识图谱构造及问答方法,设计并实现了相应的软件项目知识图谱构造及智能问答平台SnowGraph,并在Apache开源社区以及国内著名软件企业成功展开应用实践。该技术成果具有很好的通用性与可扩展性,能够对未来可能出现的新的知识需求、知识来源,以及知识抽取、关联、提炼方法进行适应与支持,有效提高了软件项目理解和软件复用的效率。该研究以“基于大数据的软件项目知识图谱构造及问答方法”为题发表在《大数据》第1期。
01 为什么要构建软件知识图谱?
软件项目在其整个生命周期中形成并积累了大量的数据,如源代码、邮件列表、缺陷报告和问答文档等。这些数据中蕴含了规模庞大、结构复杂、语义关联丰富的软件知识,能够帮助软件开发人员理解软件功能,进行软件复用。然而,组织、利用这些知识面临着以下挑战:(1)软件规模扩大引发的软件知识爆炸问题;(2)软件数据中蕴含的信息在多源异构数据中呈碎片化分散的形态;(3)大量信息是以无结构文本的形式表示的,如代码标识符、代码注释、邮件、用户手册、缺陷描述。因此,亟需构建一个语义关联丰富的软件知识图谱。
02取得了哪些重大突破?
针对上述问题,邹艳珍副教授所在团队设计并实现了相应的软件项目知识图谱构造及智能问答平台SnowGraph,其系统框架如图1所示。
图1 SnowGraph平台的系统框架
具体的,首先针对传统软件项目知识图谱需要开发人员熟悉并掌握Cypher语法,人工将用户意图转化为Cypher查询语句,学习成本较高的问题,邹艳珍副教授所在团队提出了一种基于自然语言的知识库/知识图谱查询方法。该方法能够将用户的自然语言问句自动转化为Cypher形式化查询语句,有效支持了面向软件项目知识图谱的自然语言问答,降低了开发人员的学习成本。然后提出了融合代码知识的智能问答方法,借助软件项目的知识图谱来计算不同单词之间的潜在语义相关度,从而对候选文本集合进行筛选与评估,返回更准确的答案。与现有的基于LDA、Word2Vec等统计学习方法的文档搜索改进策略相比,该方法借助软件项目源代码中的代码实体对自然语言文本的语义进行结构化表示,并利用代码实体之间的结构依赖关系实现了对文本之间的潜在语义关联的更直接、更有效的挖掘与利用,显著提高了文档搜索的效果。
03下一步的工作内容是什么??
未来,基于软件开发过程中的更多数据类型,进一步的工作是进行软件知识图谱知识实体的扩充,以及建立更多的语义关联,并提供更精准的交互式智能问答服务。
研究详情请阅原文:
http://www.infocomm-/bdr/CN/10.11959/j.issn.2096-0271.002
联系我们:
Tel:010-81055448
010-81055490
010-81055534
E-mail:bdr@
http://www.infocomm-/bdr
http://www.j-/
转载、合作:010-81055537
大数据期刊
《大数据(Big Data Research,BDR)》双月刊是由中华人民共和国工业和信息化部主管,人民邮电出版社主办,中国计算机学会大数据专家委员会学术指导,北京信通传媒有限责任公司出版的期刊,已成功入选中国科技核心期刊、中国计算机学会会刊、中国计算机学会推荐中文科技期刊,并被评为、国家哲学社会科学文献中心学术期刊数据库“综合性人文社会科学”学科最受欢迎期刊。
关注《大数据》期刊微信公众号,获取更多内容