CN111914098A - 一种知识图谱构建方法、装置、电子设备和可读存储介质 - Google Patents
一种知识图谱构建方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN111914098A CN111914098A CN202010695185.8A CN202010695185A CN111914098A CN 111914098 A CN111914098 A CN 111914098A CN 202010695185 A CN202010695185 A CN 202010695185A CN 111914098 A CN111914098 A CN 111914098A
- Authority
- CN
- China
- Prior art keywords
- knowledge
- software
- information
- graph
- knowledge graph
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010276 construction Methods 0.000 title claims description 36
- 238000012545 processing Methods 0.000 claims abstract description 42
- 238000000034 method Methods 0.000 claims abstract description 41
- 238000005065 mining Methods 0.000 claims abstract description 18
- 238000007781 pre-processing Methods 0.000 claims abstract description 13
- 230000008569 process Effects 0.000 claims description 8
- 230000002776 aggregation Effects 0.000 claims description 7
- 238000004220 aggregation Methods 0.000 claims description 7
- 238000011161 development Methods 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 230000010365 information processing Effects 0.000 abstract description 2
- 238000012795 verification Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000005034 decoration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/53—Decompilation; Disassembly
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及信息处理技术领域,尤其涉及一种知识图谱的构建方法、装置、电子设备及可读存储介质,所述方法包括:采集样本软件信息并对所述样本软件信息进行预处理,获得预处理数据;根据所述预处理数据和预设规则,确定知识图谱知识库;对样本软件信息进行分析处理挖掘特征数据扩充知识图谱知识库;根据所述扩充的知识图谱知识库构建软件知识图谱。本申请提供了一种在无法获取软件项目信息资源而导致数据稀疏背景下,通过对样本软件进行多样化分析处理构建软件项目知识图谱的方法,能够帮助软件开发人员进行软件的影响评估、依赖检索与代码生成或校验等,提高软件开发效率,降低软件版本冲突等问题。
Description
技术领域
本申请涉及信息处理技术领域,尤其涉及一种知识图谱的构建方法、装置、电子设备及可读存储介质。
背景技术
知识图谱(Knowledge Graph),又称为知识域可视化或知识领域映射地图,是显示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。在软件技术领域,构建软件知识图谱主要依赖于软件项目的源代码、问答文档、需求/设计文档等软件资源,生成的知识图谱主要是面向代码层次,但是在金融等行业中,软件大多是由第三方商业公司开发,无法获取到软件项目的源代码、问答文档、需求/设计文档等软件资源,因此无法提取到包、类、接口、方法、属性、异常、方法参数与返回值以及这些元素之间的关系,因此无法建立软件项目的知识图谱。另外,针对代码层次的知识图谱,无法评估软件版本升级等影响关系。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一。本申请所采用的技术方案如下:
第一方面,本申请实施例提供一种知识图谱构建方法所述方法包括:
采集样本软件信息并对所述样本软件信息进行预处理,获得预处理数据;
根据所述预处理数据和预设规则,确定知识图谱知识库;
对样本软件信息进行分析处理挖掘特征数据扩充知识图谱知识库;
根据所述扩充的知识图谱知识库构建软件知识图谱。
可选地,所述采集样本软件信息包括但不限于:
采集样本软件仓库、软件安装包名称、目录结构信息、构建信息和程序运行信息。
可选地,根据所述预处理数据和预设规则,确定知识图谱知识库包括:
根据预处理数据和软件领域专家知识确定知识图谱的知识库,所述知识库包括样本软件的概念集和属性集;
其中概念集作为构建知识图谱的实体,属性集作为构建知识图谱的实体关联。
可选地,所述对样本软件信息进行分析处理挖掘特征数据扩充知识图谱知识库包括:
对所述样本软件的软件信息进行分析处理扩充所述知识库的概念集和属性集。
可选地,所述对所述样本软件的软件信息进行分析处理扩充所述知识图谱知识库的概念集和属性集包括以下至少之一:
分析样本软件目录结构信息,获取知识图谱概念集元素和属性集元素;或,
解析样本软件文件格式构建信息,获取知识图谱概念集元素和属性集元素;或,
解压特定格式软件包或者反编译软件程序,获取知识图谱概念集元素和属性集元素;
其中,所述概念集元素包括但不限于:样本软件的名称、版本、打包机制、用户描述软件名称、开发团队官方地址、分类等、编译信息、环境信息;
所述属性集元素包括但不限于:所属、包含、插件、继承、聚合、依赖。
可选地,所述方法还包括:
分析样本软件程序运行时态的进程或目录关系;
挖掘样本软件项目的运行态时的关系;
将挖掘的所述运行状态时的关系与所述确定的知识图谱知识库进行知识条目关联;
根据所述关联结果,获取样本软件的热加载、分布式程序部署和调用的依赖关系;
将所述热加载、分布式程序部署和调用的依赖关系扩充进所述知识图谱知识库的属性集。
第二方面,本申请实施例提供一种知识图谱构建装置,所述装置包括:采集模块、处理模块、存储模块和构建模块;其中,
所述采集模块,用于采集样本软件信息;
所述处理模块,用于对所述样本软件信息进行预处理,获得预处理数据;
所述处理模块,还用于根据所述预处理数据和预设规则,确定知识图谱知识库;
所述处理模块,还用于对样本软件信息进行分析处理挖掘特征数据扩充知识图谱知识库;
所述构建模块,用于根据所述扩充的知识图谱知识库构建软件知识图谱;
所述存储模块,用于存储预设规则、预处理数据和知识图谱知识库。
可选地,所述处理模块具体用于,根据预处理数据和软件领域专家知识确定知识图谱的知识库,所述知识库包括样本软件的概念集和属性集;
其中概念集作为构建知识图谱的实体,属性集作为构建知识图谱的实体关联。
可选地,处理模块还用于执行以下至少之一:
分析样本软件目录结构信息,获取知识图谱概念集元素和属性集元素;或,
解析样本软件文件格式构建信息,获取知识图谱概念集元素和属性集元素;或,
解压特定格式软件包或者反编译软件程序,获取知识图谱概念集元素和属性集元素;
其中,所述概念集元素包括但不限于:样本软件的名称、版本、打包机制、用户描述软件名称、开发团队官方地址、分类等、编译信息、环境信息;
所述属性集元素包括但不限于:所属、包含、插件、继承、聚合、依赖。
可选地,所述处理模块还用于:
分析样本软件程序运行时态的进程或目录关系;
挖掘样本软件项目的运行态时的关系;
将挖掘的所述运行状态时的关系与所述确定的知识图谱知识库进行知识条目关联;
根据所述关联结果,获取样本软件的热加载、分布式程序部署和调用的依赖关系;
将所述热加载、分布式程序部署和调用的依赖关系扩充进所述知识图谱知识库的属性集。
第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器;
所述存储器,用于存储操作指令;
所述处理器,用于通过调用所述操作指令,执行上述知识图谱构建方法。
第四方面,一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述知识图谱构建的方法。
本申请实施例提供的技术方案带来的有益效果是:本申请实施例提供的知识图谱构建方法包括:采集样本软件信息并对所述样本软件信息进行预处理,获得预处理数据;根据所述预处理数据和预设规则,确定知识图谱知识库;对样本软件信息进行分析处理挖掘特征数据扩充知识图谱知识库;根据所述扩充的知识图谱知识库构建软件知识图谱。本申请技术方案在由于无法获取软件项目信息资源而导致数据稀疏背景下,通过对样本软件进行多样化分析处理建立知识库实现实体提取和实体关联提取,构建软件项目知识图谱,该知识图谱构建方法适用范围广且可扩展性强,可以更好地帮助软件开发人员进行软件的影响评估、依赖检索与代码生成或校验等,提高软件开发效率,降低软件版本冲突等问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种知识图谱构建方法的流程示意图;
图2为本申请实施例提供的一种知识图谱构建装置的结构示意图;
图3为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本申请实施例涉及软件项目的知识图谱构建技术,基于背景技术中介绍到的软件项目知识图谱构建中存在的困难,本申请提出了一种知识图谱构建方法。下面将结合附图以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
为使本申请的目的、技术方案和优点更加清楚,图1公开了本申请实施例提供的一种知识图谱构建方法的流程图,如图1所示,所述知识图谱构建方法包括:
S101、采集样本软件信息并对所述样本软件信息进行预处理,获得预处理数据;
S102、根据所述预处理数据和预设规则,确定知识图谱知识库;
S103、对样本软件信息进行分析处理挖掘特征数据扩充知识图谱知识库;
S104、根据所述扩充的知识图谱知识库构建软件知识图谱。
进一步地,在本申请实施例中所述采集样本软件信息包括但不限于:
采集样本软件仓库、软件安装包名称、目录结构信息、构建信息和程序运行信息。其中构建信息包括采集pom.xml、build.gradle、build.sbt、build.xml等格式软件文件包括的构建信息。
进一步地,在本申请实施例中,根据所述预处理数据和预设规则,确定知识图谱知识库包括:根据预处理数据,并结合软件领域专家的领域知识知识,建立最顶层和最核心的知识库核心概念集合和属性集合从而确定知识图谱的知识库,所述知识库包括样本软件的概念集和属性集;其中概念集作为构建知识图谱的实体,属性集作为构建知识图谱的实体关联。该步骤应该保证建立的概念和属性的正确性而对完整性可以暂时不做过高要求,建立的知识库为表示核心概念集和属性集定义的RDF/OWL文件,以解决知识库核心本体“冷启动”问题。
进一步地,在本申请实施例中,所述对样本软件信息进行分析处理挖掘特征数据扩充知识图谱知识库包括:对所述样本软件的软件信息进行分析处理扩充所述知识库的概念集和属性集。
可选地,可通过以下步骤对样本软件的软件信息进行分析处理扩充所述知识图谱知识库的概念集和属性集:
1)分析样本软件目录结构信息,获取知识图谱概念集元素和属性集元素;即通过样本软件部署文件结构信息,提取软件项目的名称、版本以及依赖关系等信息。
2)解析样本软件文件格式构建信息,获取知识图谱概念集元素和属性集元素;即通过解析样本软件的软件包的pom.xml、build.gradle、build.sbt、build.xml等构建信息,获取样本软件的项目信息、编译信息、环境信息以及继承、聚合和依赖关系等信息。
3)解压特定格式软件包或者反编译软件程序,获取知识图谱概念集元素和属性集元素;即通过解压包括JAR格式的样本软件包或者反编译软件程序等方式,提取样本软件项目的名称、版本以及依赖关系等信息。
其中,所述概念集元素包括但不限于:样本软件的名称、版本、打包机制、用户描述软件名称、开发团队官方地址、分类等、编译信息、环境信息;所述属性集元素包括但不限于:所属、包含、插件、继承、聚合、依赖。
上述实施例主要是在无法获取软件的源代码、问答文档、需求/设计文档等软件资源的情况下,对样本软件项目文件结构、构建信息和反编译结果等进行一系列的静态和动态分析和处理,抽取特征数据,挖掘发现新的概念和属性,扩充上述实施例中构建的知识库概念集(包括项目或者组织、项目的通用名称、项目的版本、打包机制、用户描述项目的名称、开发团队官方地址、分类等项目信息、编译信息、环境信息等)作为样本软件项目的预构建知识图谱的实体,以及扩充上述知识库的属性集(包括所属、包含、插件、继承、聚合和依赖等关系)作为预构建知识图谱的实体关联。
在可选实施例中,对本申请所述的知识库的属性集进行扩充的方法还可以采用:分析样本软件程序运行时态的进程或目录关系;挖掘样本软件项目的运行态时的关系;将挖掘的所述运行状态时的关系与所述确定的知识图谱知识库进行知识条目关联;根据所述关联结果,获取样本软件的热加载、分布式程序部署和调用的依赖关系;将所述热加载、分布式程序部署和调用的依赖关系扩充进所述知识图谱知识库的属性集。
通过上述实施例,获得了包括概念集和属性集的软件知识库,以概念集元素作为预构建知识图谱的实体,以属性集元素作为预构建知识图谱的实体关联,并进一步地以实体作为节点,以实体关联作为边,完成本申请所公开的软件知识图谱的构建。
基于图1示出的实施例提供的知识图谱构建方法,图2示出了本申请实施例提供了一种知识图谱构建装置,如图2所示,所述装置包括:201采集模块、202处理模块、203存储模块和204构建模块;其中,
所述201采集模块,用于采集样本软件信息;
所述202处理模块,用于对所述样本软件信息进行预处理,获得预处理数据;
所述202处理模块,还用于根据所述预处理数据和预设规则,确定知识图谱知识库;
所述202处理模块,还用于对样本软件信息进行分析处理挖掘特征数据扩充知识图谱知识库;
所述204构建模块,用于根据所述扩充的知识图谱知识库构建软件知识图谱;
所述203存储模块,用于存储预设规则、预处理数据和知识图谱知识库。
在本申请实施例中,所述采集模块用于采集样本软件仓库、软件安装包名称、目录结构信息、构建信息和程序运行信息等信息。
在本申请实施例中,所述处理模块具体用于,根据预处理数据和软件领域专家知识确定知识图谱的知识库,所述知识库包括样本软件的概念集和属性集;
其中概念集作为构建知识图谱的实体,属性集作为构建知识图谱的实体关联。
在本申请实施例中,所述处理模块还用于对所述样本软件的软件信息进行分析处理扩充所述知识库的概念集和属性集。
在本申请实施例中,所述处理模块还用于执行以下至少之一:
分析样本软件目录结构信息,获取知识图谱概念集元素和属性集元素;或,
解析样本软件文件格式构建信息,获取知识图谱概念集元素和属性集元素;或,
解压特定格式软件包或者反编译软件程序,获取知识图谱概念集元素和属性集元素;
其中,所述概念集元素包括但不限于:样本软件的名称、版本、打包机制、用户描述软件名称、开发团队官方地址、分类等、编译信息、环境信息;
所述属性集元素包括但不限于:所属、包含、插件、继承、聚合、依赖。
在本申请实施例中,所述处理模块还用于:分析样本软件程序运行时态的进程或目录关系;挖掘样本软件项目的运行态时的关系;将挖掘的所述运行状态时的关系与所述确定的知识图谱知识库进行知识条目关联;根据所述关联结果,获取样本软件的热加载、分布式程序部署和调用的依赖关系;将所述热加载、分布式程序部署和调用的依赖关系扩充进所述知识图谱知识库的属性集。
可以理解的是,本实施例中的知识图谱构建装置的上述各模块具有实现图1中所示的实施例中的方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述各模块的功能描述具体可以参见图1中所示实施例中的方法的对应描述,在此不再赘述。
本申请实施例提供了一种电子设备,包括处理器和存储器;
存储器,用于存储操作指令;
处理器,用于通过调用操作指令,执行本申请任一实施方式中所提供的知识图谱构建方法。
作为一个示例,图3示出了本申请实施例所适用的一种电子设备的结构示意图,如图3所示,该电子设备2000包括:处理器2001和存储器2003。其中,处理器2001和存储器2003相连,如通过总线2002相连。可选的,电子设备2000还可以包括收发器2004。需要说明的是,实际应用中收发器2004不限于一个,该电子设备2000的结构并不构成对本申请实施例的限定。
其中,处理器2001应用于本申请实施例中,用于实现上述方法实施例所示的方法。收发器2004可以包括接收机和发射机,收发器2004应用于本申请实施例中,用于执行时实现本申请实施例的电子设备与其他设备通信的功能。
处理器2001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线2002可包括一通路,在上述组件之间传送信息。总线2002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线2002可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器2003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
可选的,存储器2003用于存储执行本申请方案的应用程序代码,并由处理器2001来控制执行。处理器2001用于执行存储器2003中存储的应用程序代码,以实现本申请任一实施方式中所提供的知识图谱构建方法。
本申请实施例提供的电子设备,适用于上述方法任一实施例,在此不再赘述。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述方法实施例所示的知识图谱构建方法。
本申请实施例提供的计算机可读存储介质,适用于上述方法任一实施例,在此不再赘述。
本申请实施例提供的知识图谱构建方案,通过采集样本软件信息并对所述样本软件信息进行预处理,获得预处理数据;根据所述预处理数据和预设规则,确定知识图谱知识库;对样本软件信息进行分析处理挖掘特征数据扩充知识图谱知识库;根据所述扩充的知识图谱知识库构建软件知识图谱。本申请技术方案在由于无法获取软件项目信息资源而导致数据稀疏背景下,通过对样本软件进行多样化分析处理建立知识库实现实体提取和实体关联提取,构建软件项目知识图谱,该知识图谱构建方法适用范围广且可扩展性强,可以更好地帮助软件开发人员进行软件的影响评估、依赖检索与代码生成或校验等,提高软件开发效率,降低软件版本冲突等问题。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种知识图谱构建方法,其特征在于,所述方法包括:
采集样本软件信息并对所述样本软件信息进行预处理,获得预处理数据;
根据所述预处理数据和预设规则,确定知识图谱知识库;
对样本软件信息进行分析处理挖掘特征数据扩充知识图谱知识库;
根据所述扩充的知识图谱知识库构建软件知识图谱。
2.根据权1所述的知识图谱构建方法,其特征在于,所述采集样本软件信息包括但不限于:
采集样本软件仓库、软件安装包名称、目录结构信息、构建信息和程序运行信息。
3.根据权2所述的知识图谱构建方法,其特征在于,根据所述预处理数据和预设规则,确定知识图谱知识库包括:
根据预处理数据和软件领域专家知识确定知识图谱的知识库,所述知识库包括样本软件的概念集和属性集;
其中概念集作为构建知识图谱的实体,属性集作为构建知识图谱的实体关联。
4.根据权3所述的知识图谱构建方法,其特征在于,所述对样本软件信息进行分析处理挖掘特征数据扩充知识图谱知识库包括:
对所述样本软件的软件信息进行分析处理扩充所述知识库的概念集和属性集。
5.根据权利要求4所述的知识图谱构建方法,其特征在于,所述对所述样本软件的软件信息进行分析处理扩充所述知识图谱知识库的概念集和属性集包括以下至少之一:
分析样本软件目录结构信息,获取知识图谱概念集元素和属性集元素;或,
解析样本软件文件格式构建信息,获取知识图谱概念集元素和属性集元素;或,
解压特定格式软件包或者反编译软件程序,获取知识图谱概念集元素和属性集元素;
其中,所述概念集元素包括但不限于:样本软件的名称、版本、打包机制、用户描述软件名称、开发团队官方地址、分类等、编译信息、环境信息;
所述属性集元素包括但不限于:所属、包含、插件、继承、聚合、依赖。
6.根据权3-5任一项所述的知识图谱构建方法,其特征在于,所述方法还包括:
分析样本软件程序运行时态的进程或目录关系;
挖掘样本软件项目的运行态时的关系;
将挖掘的所述运行状态时的关系与所述确定的知识图谱知识库进行知识条目关联;
根据所述关联结果,获取样本软件的热加载、分布式程序部署和调用的依赖关系;
将所述热加载、分布式程序部署和调用的依赖关系扩充进所述知识图谱知识库的属性集。
7.一种知识图谱构建装置,其特征在于,所述装置包括:采集模块、处理模块、存储模块和构建模块;其中,
所述采集模块,用于采集样本软件信息;
所述处理模块,用于对所述样本软件信息进行预处理,获得预处理数据;
所述处理模块,还用于根据所述预处理数据和预设规则,确定知识图谱知识库;
所述处理模块,还用于对样本软件信息进行分析处理挖掘特征数据扩充知识图谱知识库;
所述构建模块,用于根据所述扩充的知识图谱知识库构建软件知识图谱;
所述存储模块,用于存储预设规则、预处理数据和知识图谱知识库。
8.根据权7所述的知识图谱构建装置,其特征在于,所述处理模块具体用于,根据预处理数据和软件领域专家知识确定知识图谱的知识库,所述知识库包括样本软件的概念集和属性集;
其中概念集作为构建知识图谱的实体,属性集作为构建知识图谱的实体关联。
9.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储操作指令;
所述处理器,用于通过调用所述操作指令,执行权利要求1-6中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010695185.8A CN111914098A (zh) | 2020-07-19 | 2020-07-19 | 一种知识图谱构建方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010695185.8A CN111914098A (zh) | 2020-07-19 | 2020-07-19 | 一种知识图谱构建方法、装置、电子设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111914098A true CN111914098A (zh) | 2020-11-10 |
Family
ID=73281659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010695185.8A Pending CN111914098A (zh) | 2020-07-19 | 2020-07-19 | 一种知识图谱构建方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111914098A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112486494A (zh) * | 2020-11-16 | 2021-03-12 | 中信银行股份有限公司 | 文件生成方法、装置、电子设备及计算机可读存储介质 |
CN112632336A (zh) * | 2020-12-16 | 2021-04-09 | 恩亿科(北京)数据科技有限公司 | 实时流式图关系的处理方法及系统 |
CN113504972A (zh) * | 2021-07-26 | 2021-10-15 | 京东科技控股股份有限公司 | 一种服务部署方法及装置、电子设备和存储介质 |
CN116661768A (zh) * | 2023-07-25 | 2023-08-29 | 苏州浮木云科技有限公司 | 基于知识图谱的页面代码生成方法、系统、装置和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760495A (zh) * | 2016-02-17 | 2016-07-13 | 扬州大学 | 一种基于知识图谱针对bug问题进行探索性搜索方法 |
CN107943874A (zh) * | 2017-11-13 | 2018-04-20 | 平安科技(深圳)有限公司 | 知识图谱处理方法、装置、计算机设备及存储介质 |
CN108196880A (zh) * | 2017-12-11 | 2018-06-22 | 北京大学 | 软件项目知识图谱自动构造方法与系统 |
CN108959433A (zh) * | 2018-06-11 | 2018-12-07 | 北京大学 | 一种从软件项目数据中提取知识图谱并问答的方法与系统 |
CN110287704A (zh) * | 2019-06-25 | 2019-09-27 | 北京中科微澜科技有限公司 | 一种基于漏洞图谱的漏洞软件依赖关系构建方法 |
-
2020
- 2020-07-19 CN CN202010695185.8A patent/CN111914098A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760495A (zh) * | 2016-02-17 | 2016-07-13 | 扬州大学 | 一种基于知识图谱针对bug问题进行探索性搜索方法 |
CN107943874A (zh) * | 2017-11-13 | 2018-04-20 | 平安科技(深圳)有限公司 | 知识图谱处理方法、装置、计算机设备及存储介质 |
CN108196880A (zh) * | 2017-12-11 | 2018-06-22 | 北京大学 | 软件项目知识图谱自动构造方法与系统 |
CN108959433A (zh) * | 2018-06-11 | 2018-12-07 | 北京大学 | 一种从软件项目数据中提取知识图谱并问答的方法与系统 |
CN110287704A (zh) * | 2019-06-25 | 2019-09-27 | 北京中科微澜科技有限公司 | 一种基于漏洞图谱的漏洞软件依赖关系构建方法 |
Non-Patent Citations (2)
Title |
---|
李文鹏等: "面向开源软件项目的软件知识图谱构建方法", 计算机科学与探索, 31 October 2016 (2016-10-31), pages 851 - 862 * |
王飞等: "代码知识图谱构建及智能化软件开发方法研究", 软件学报, 6 November 2019 (2019-11-06) * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112486494A (zh) * | 2020-11-16 | 2021-03-12 | 中信银行股份有限公司 | 文件生成方法、装置、电子设备及计算机可读存储介质 |
CN112632336A (zh) * | 2020-12-16 | 2021-04-09 | 恩亿科(北京)数据科技有限公司 | 实时流式图关系的处理方法及系统 |
CN113504972A (zh) * | 2021-07-26 | 2021-10-15 | 京东科技控股股份有限公司 | 一种服务部署方法及装置、电子设备和存储介质 |
CN116661768A (zh) * | 2023-07-25 | 2023-08-29 | 苏州浮木云科技有限公司 | 基于知识图谱的页面代码生成方法、系统、装置和介质 |
CN116661768B (zh) * | 2023-07-25 | 2023-12-29 | 苏州浮木云科技有限公司 | 基于知识图谱的页面代码生成方法、系统、装置和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111914098A (zh) | 一种知识图谱构建方法、装置、电子设备和可读存储介质 | |
CN108270629B (zh) | 网站访客行为监测方法及装置 | |
CN110704064B (zh) | 编译和执行智能合约的方法及装置 | |
WO2008156969A1 (en) | Discoscript: a simplified distributed computing scripting language | |
CN103778373A (zh) | 病毒检测方法及装置 | |
US11074079B2 (en) | Event handling instruction processing | |
CN112579146A (zh) | 接口变化的检测方法及装置 | |
Groth et al. | A model of process documentation to determine provenance in mash-ups | |
CN105630656A (zh) | 基于日志模型的系统健壮性分析方法及装置 | |
CN105824647A (zh) | 一种表单页面生成方法和装置 | |
CN113495728A (zh) | 依赖关系确定方法、装置、电子设备及介质 | |
CN111258905A (zh) | 缺陷定位方法、装置和电子设备及计算机可读存储介质 | |
CN113434582A (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN113901169A (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN112181479A (zh) | 代码文件版本间差异的确定方法、装置及电子设备 | |
CN116483888A (zh) | 程序评估方法及装置、电子设备和计算机可读存储介质 | |
CN104408198A (zh) | 网页页面内容的获取方法和装置 | |
CN113656044B (zh) | 安卓安装包压缩方法、装置、计算机设备及存储介质 | |
CN113296834B (zh) | 一种基于逆向工程的安卓闭源服务类型信息提取方法 | |
CN113282541B (zh) | 文件调用方法、装置和电子设备 | |
CN116578282A (zh) | 代码生成方法、装置、电子设备及介质 | |
CN113934405A (zh) | 插件处理方法、装置、设备、存储介质及计算机程序产品 | |
CN112199080A (zh) | vuejs项目webpack构建方法及设备 | |
CN112181825A (zh) | 测试案例库构建方法、装置、电子设备及介质 | |
CN116700840B (zh) | 文件执行方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |