3构建知识图谱可视化_面向开源软件项目的软件知识图谱构建方法

本文提出了一种面向开源软件项目的软件知识图谱构建方法,包括从源代码、缺陷报告、邮件列表和问答文档中提取软件知识实体,建立实体间关联关系,实现形式化和文本检索,并通过图形可视化展现。该工具能帮助软件开发人员更有效地检索和应用软件知识。
摘要由CSDN通过智能技术生成

引用

李文鹏,王建彬,林泽琦,赵俊峰,邹艳珍,谢冰.面向开源软件项目的软件知识图谱构建方法[J].计算机科学与探索,2017,11(06):851-862.

摘要:

软件复用是软件开发中避免重复劳动的解决方案。开源软件的源代码、邮件列表、缺陷报告和问答文 档等软件资源中蕴含了规模庞大、结构复杂、语义关联丰富的软件知识。如何获取知识、组织知识,以及如何 在软件复用过程中方便地检索软件知识是亟待解决的问题。为了解决这些问题,面向开源软件项目,构建了 软件知识图谱,并提供了基于软件知识图谱的软件知识检索。主要工作包括:针对 4 种不同类型的软件资源, 提出了软件知识实体的提取原则与方法;提出了软件知识实体之间关联关系构建的方法;实现了两种软件知 识检索机制,并以文字列表和图形可视化相结合的方式展现检索结果;设计了软件知识图谱构建框架。基于 上述工作,设计并实现了一个面向开源软件项目的软件知识图谱构建工具。实例证明,所构建的软件知识图 谱可以更好地帮助软件开发人员进行软件知识的检索与应用。

关键词:软件复用;开源软件;软件知识图谱;图数据库

1 引言

软件复用是软件开发中避免重复劳动的解决方案。通过软件复用,可以提高软件开发的效率和质量。软件复用成功的基本前提是存在大量可复用的软件构件,并且复用者在复用之前可以方便、有效 地找到合适的可复用构件。开源软件是一种有效 的软件复用模式。开源软件的蓬勃发展,极大地丰富了可复用的软件构件。

为了有效地组织软件资源,更好地进行软件复 用,本文面向开源软件项目构建了软件知识图谱。 软件知识图谱是指由不同类型的软件资源的软件知 识图有机融合构成的用以描述某一软件的知识体 系。软件知识图是指由同一类型软件资源的软件知 识实体及其之间的关联关系所构成的图。软件知识 实体指的是软件资源中可区的、可辨识的且具有一定语义关系的单元体,而软件知识实体之间关联关系指的是两两软件知识实体之间具有某种类型的二元关系。本文工作主要包括:

(1) 提出了软件知识实体的提取原则与方法。分别从软件源码、缺陷报告、邮件列表和问答文档4种软件资源中提取了相应的软件知识实体。

(2) 提出了软件知识实体之间关联关系构建的 方法。分析了同一类型软件资源中的软件知识实体 关联关系的构建方法与不同类型软件资源中软件知 识实体之间的关联关系。

(3) 设计了形式化检索和文本检索两种软件知识检索机制,并以文字列表和图形可视化相结合的 方式展现检索结果。

(4)设计了软件知识图谱构建框架,该框架由软件知识提取块、软件知识融合模块、软件知识图谱 存储管理模块与软件知识检索模块构成。

基于上述工作,本文设计并实现了一个面向开源软件项目的软件知识图谱构建工具,并以 Lucene- Core 为例,通过应用实例展示了本文工作的有效性和合理性。

2 相关工作与技术

DBPedia 从维基百科(Wikipedia)的词条里撷取 出结构化的知识(RDF 格式),并以语义网的形式将 撷取的知识整合在一起。DBPedia 支持用户进行语 义化查询维基百科相关资源的属性和资源之间的关 系。谷歌的知识图谱将谷歌索引的所有事物、人物 和 地 点 ,例 如 地 标 性 建 筑 、名 人 、球 队 、电 影 、艺 术 品 等 ,刻 画 成 实 体 ,并 建 立 这 些 实 体 之 间 的 关 联 关 系 。 早期的知识图谱建立在诸如 Freebase、维基百科、维 基数据以及美国中央情报局出版的《世界概况》等著 名公开数据源上,其包括了 5 亿多个对象实体以及 350 亿条这些对象实体之间的关联关系。近期,谷歌又通过机器学习和数据挖掘方法,从索引的网页 中自动发现新的实体和实体关系,从而扩大并完善 了知识图谱。这些研究主要涉及通用领域,较少涉 及软件相关的知识。本文根据

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值