CN111949307B - 一种开源项目知识图谱的优化方法和系统 - Google Patents

一种开源项目知识图谱的优化方法和系统 Download PDF

Info

Publication number
CN111949307B
CN111949307B CN202010643010.2A CN202010643010A CN111949307B CN 111949307 B CN111949307 B CN 111949307B CN 202010643010 A CN202010643010 A CN 202010643010A CN 111949307 B CN111949307 B CN 111949307B
Authority
CN
China
Prior art keywords
knowledge
knowledge graph
version
graph
target
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.)
Active
Application number
CN202010643010.2A
Other languages
English (en)
Other versions
CN111949307A (zh
Inventor
孙艳春
黄罡
孙志玉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University
Original Assignee
Peking University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Peking University filed Critical Peking University
Priority to CN202010643010.2A priority Critical patent/CN111949307B/zh
Publication of CN111949307A publication Critical patent/CN111949307A/zh
Application granted granted Critical
Publication of CN111949307B publication Critical patent/CN111949307B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Computational Linguistics (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例提供了一种开源项目知识图谱的优化方法和系统,该方法和系统具体为:分别构建开源项目的各个发行版本的原始知识图谱;将多个原始知识图谱的知识进行链接,生成多版本知识融合的知识图谱;对所述多版本知识融合的知识图谱进行剪枝,生成目标知识图谱;使用OpenKE框架设计知识嵌入模型TransE,并对所述模型TransE进行训练;通过所述模型TransE,生成所述目标知识图谱的嵌入表示。本发明实施例提供的方法和系统,生成开源项目多版本知识融合的知识图谱,并对所述知识图谱进行剪枝并生成嵌入表示,从多个角度对开源项目的知识图谱进行优化,以更好地帮助开发者对项目代码的学习。

Description

一种开源项目知识图谱的优化方法和系统
技术领域
本发明涉及开源项目技术领域,特别是涉及一种开源项目知识图谱的优化方法和一种开源项目知识图谱的优化系统。
背景技术
开源项目(open source project),是一种开放源码的软件项目,开发者可以通过开源社区修改开源项目的源码,定制自己的个性化产品。
大型的开源项目通常会由多个开发者共同参与开发,并吸引众多的开发者来学习该开源项目的源代码,这些开发者在不断的学习和技术历练之后,也可能进入到开源项目的主要分支中,为开源项目贡献自己的力量。
为了帮助新加入的开发者快速地找到他们需要的项目代码,并为其获取项目代码的相关知识和注释,进而高效地学习,有人提出根据多源数据为开源项目建立一种内部多维特征关联的知识图谱,以此表示开源项目代码的组织结构,方便新加入的开发者对源代码和相关的注释知识进行快速的检索,进而提高学习效率。
但是,上述开源项目的知识图谱,仍然存在缺陷:1、项目代码的迭代可能会使不同版本的程序之间存在信息的变化,即,数据格式、表现形式等不一致,从而导致知识链接的中断,开发者缺乏历史版本代码的知识信息,产生阅读的资料和实际使用的项目版本无法对应等问题;2、广泛的数据来源导致整个知识图谱过于冗杂,影响后续算法的时间开销,而大部分知识信息的有效性不高,也不利于开发者高效地学习。
发明内容
鉴于上述问题,提出了本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的开源项目知识图谱的优化方法和相应的开源项目知识图谱的优化系统。
为了解决上述问题,本发明实施例提供了一种开源项目知识图谱的优化方法,所述方法包括:针对开源项目的历史发行版本和当前版本,分别构建所述开源项目的原始知识图谱;将所述历史发行版本的原始知识图谱的知识,链接到所述当前版本的原始知识图谱的知识上,生成多版本知识融合的知识图谱;对所述多版本知识融合的知识图谱进行剪枝,生成目标知识图谱,包括:清洗所述多版本知识融合的知识图谱的边缘子图和非核心子图,并保留最大连通子图作为知识图谱的主体部分,进而得到所述目标知识图谱;使用OpenKE框架设计知识嵌入模型TransE,并对所述模型TransE进行训练,通过所述模型TransE,生成所述目标知识图谱的嵌入表示。
可选地,针对开源项目的历史发行版本和当前版本,分别构建所述开源项目的原始知识图谱,包括:若监测到所述开源项目的版本提交记录有更新,则利用所述开源项目的开发期间在版本提交记录中使用的版本控制系统中的Tag功能,查找所述开源项目每个发行版本所处的提交位置,以此将项目回滚到各历史发行版本和当前版本,并分别抽取各历史发行版本和当前版本的项目代码知识信息,分别生成所述开源项目各历史发行版本和当前版本的原始知识图谱。
可选地,对所述多版本知识融合的知识图谱进行剪枝,生成目标知识图谱,包括:基于知识图谱的图属性,对所有出度或入度小于等于1的知识图谱节点进行至少一轮清洗,以此清洗所述多版本知识融合的知识图谱中的边缘子图和非核心子图,进而保留最大连通子图作为知识图谱的主体部分,生成所述目标知识图谱。
可选地,通过所述模型TransE,生成所述目标知识图谱的嵌入表示,包括:通过所述模型TransE,嵌入所述目标知识图谱的组件,包括将实体和关系转化为连续的向量空间,将所述实体和关系表示在同一空间中,针对所述目标知识图谱中的每个节点,生成图谱节点的嵌入向量,以此生成所述目标知识图谱的嵌入表示;所述嵌入向量可以表示实体在嵌入空间中相对于所述目标知识图谱的位置,在所述目标知识图谱的应用中,能够基于所述嵌入向量在空间中的位置,计算实体间关系的距离权重。
可选地,生成多版本知识融合的知识图谱之前,还包括:针对每个版本的所述原始知识图谱独有的知识实体与关系,添加gVersion属性,以表明所述知识实体与关系的开源项目版本来源,通过使用可视化工具Gephi,对所述原始知识图谱和所述目标知识图谱进行可视化的分析与展示,供学习者区分各版本知识信息,进而实现针对性地学习。
相应地,本发明实施例还提供了一种开源项目知识图谱的优化系统,所述系统包括:构建模块一,用于针对开源项目的历史发行版本和当前版本,分别构建所述开源项目的原始知识图谱;融合模块一,用于将所述历史发行版本的原始知识图谱的知识,链接到所述当前版本的原始知识图谱的知识上,生成多版本知识融合的知识图谱;剪枝模块一,用于对所述多版本知识融合的知识图谱进行剪枝,生成目标知识图谱,包括:清洗所述多版本知识融合的知识图谱的边缘子图和非核心子图,并保留最大连通子图作为知识图谱的主体部分,进而得到所述目标知识图谱;嵌入模块一,用于使用OpenKE框架设计知识嵌入模型TransE,并对所述模型TransE进行训练,通过所述模型TransE,生成所述目标知识图谱的嵌入表示。
本发明实施例还提供了一种开源项目知识图谱的优化方法,所述方法包括:针对开源项目的历史发行版本和当前版本,分别构建所述开源项目的原始知识图谱;对所述多版本知识融合的知识图谱进行剪枝,生成目标知识图谱,包括:清洗所述多版本知识融合的知识图谱的边缘子图和非核心子图,并保留最大连通子图作为知识图谱的主体部分,进而得到所述目标知识图谱;使用OpenKE框架设计知识嵌入模型TransE,并对所述模型TransE进行训练,通过所述模型TransE,生成所述目标原始知识图谱的嵌入表示;将旧版本的所述目标原始知识图谱的嵌入表示知识,链接到最高版本的所述目标原始知识图谱的嵌入表示知识上,完成多版本嵌入表示知识的融合,生成目标知识图谱的嵌入表示。
相应地,本发明实施例还提供了一种开源项目知识图谱的优化系统,所述系统包括:构建模块二,用于针对开源项目的历史发行版本和当前版本,分别构建所述开源项目的原始知识图谱;剪枝模块二,用于对所述多版本知识融合的知识图谱进行剪枝,生成目标知识图谱,包括:清洗所述多版本知识融合的知识图谱的边缘子图和非核心子图,并保留最大连通子图作为知识图谱的主体部分,进而得到所述目标知识图谱;嵌入模块二,用于使用OpenKE框架设计知识嵌入模型TransE,并对所述模型TransE进行训练,通过所述模型TransE,生成所述目标原始知识图谱的嵌入表示;融合模块二,用于将旧版本的所述目标原始知识图谱的嵌入表示知识,链接到最高版本的所述目标原始知识图谱的嵌入表示知识上,完成多版本嵌入表示知识的融合,生成目标知识图谱的嵌入表示。
本发明实施例还提供了一种开源项目知识图谱的优化方法,所述方法包括:构建所述开源项目当前版本的原始知识图谱,同时获取存储于系统中的所述开源项目上一发行版本的目标知识图谱;将所述上一发行版本的目标知识图谱的知识,链接到所述当前版本的原始知识图谱的知识上,生成所述多版本知识融合的知识图谱;对所述多版本知识融合的知识图谱进行剪枝,生成当前版本的目标知识图谱,包括:清洗所述多版本知识融合的知识图谱的边缘子图和非核心子图,并保留最大连通子图作为知识图谱的主体部分,进而得到并存储所述当前版本的目标知识图谱;使用OpenKE框架设计知识嵌入模型TransE,并对所述模型TransE进行训练,通过所述模型TransE,生成所述当前版本的目标知识图谱的嵌入表示。
相应地,本发明实施例还提供了一种开源项目知识图谱的优化系统,所述系统包括:构建获取模块三,用于构建所述开源项目当前版本的原始知识图谱,同时获取存储于系统中的所述开源项目上一发行版本的目标知识图谱;融合模块三,用于将所述上一发行版本的目标知识图谱的知识,链接到所述当前版本的原始知识图谱的知识上,生成所述多版本知识融合的知识图谱;剪枝存储模块三,用于对所述多版本知识融合的知识图谱进行剪枝,生成当前版本的目标知识图谱,包括:清洗所述多版本知识融合的知识图谱的边缘子图和非核心子图,并保留最大连通子图作为知识图谱的主体部分,进而得到并存储所述当前版本的目标知识图谱;嵌入模块三,用于使用OpenKE框架设计知识嵌入模型TransE,并对所述模型TransE进行训练,通过所述模型TransE,生成所述当前版本的目标知识图谱的嵌入表示。
从上述技术方案可以看出,本发明实施例提供了开源项目知识图谱的优化方法和系统,该方法和系统本实施例面向开发者学习开源项目代码的需求,为开发者构建多版本知识融合的知识图谱,以使开发者能对多版本项目的知识进行了解和学习;并且,对知识信息冗杂的知识图谱进行剪枝,一方面,优化了知识图谱在后续算法中的时间开销,另一方面,留下对开发者而言有效的知识信息,有助于开发者更加高效地学习;以及,生成知识图谱的嵌入表示,使知识图谱在后续算法中的可用性大大提高。本发明实施例,从多个角度,对开源项目的知识图谱进行优化,以此帮助开发者提高对开源项目中代码和相关知识的学习效率,促使开发者更好地参与到开源项目的开发中,为开源项目的发展作出贡献。
附图说明
图1是本发明提供的一种开源项目知识图谱的优化方法实施例的步骤流程图;
图2是本发明实施例提供的一种开源项目的原始知识图谱可视化图形;
图3是本发明实施例提供的一种开源项目多版本知识融合的知识图谱可视化图形;
图4是本发明实施例提供的一种向量表示的示意图;
图5是本发明提供的一种开源项目知识图谱的优化系统实施例的结构框图;
图6是本发明实施例提供的一种开源项目知识图谱的优化方法步骤多线程并行的示意图;
图7是本发明提供的一种开源项目知识图谱的优化方法实施例的步骤流程图;
图8是本发明提供的一种开源项目知识图谱的优化系统实施例的结构框图;
图9是本发明提供的一种开源项目知识图谱的优化方法实施例的步骤流程图;
图10是本发明提供的一种开源项目知识图谱的优化系统实施例的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1是本发明提供的一种开源项目知识图谱的优化方法实施例的步骤流程图。
参照图1所示,本实施例提供的开源项目知识图谱的优化方法应用于开源社区中的开源项目,具体的开源项目知识图谱优化方法包括如下步骤:
步骤S101,针对开源项目的历史发行版本和当前版本,分别构建所述开源项目的原始知识图谱。
知识图谱的本质是一个语义网络的知识库,其旨在描述现实世界中各类知识中的实体与他们之间的关系。实体可以指代现实中的一个事物对象,也可以是一个抽象的概念,而关系则是实体之间的联系及其语义描述。知识图谱通常可以被看做一个图结构,其中知识图谱的实体作为图的节点,而关系作为图中的边。
知识图谱最早应用于搜索引擎,用户使用搜索引擎搜索并了解一个知识时,搜索引擎可以利用知识图谱识别出用户具体指代的对象。例如,当用户检索某个戏剧的上映时间时,同名小说的结果便不会被混淆进来。
通常地,知识图谱可以在网页中以知识侧栏(knowledge panel)的形式进行展示,不仅可以显示用户搜索内容的网站链接,而且可以对搜索主题的信息进行结构化的聚合与展示。
由此可知,知识图谱是由一些互相连接的关系及其属性而构成的,这些关系通常被表示为一个SPO三元组(Subject-Predicate-Object)。如图2所示,在一个三元组(triple)中,Subject代表其中的客体,Predicate代表关系本身,Object代表关系指向的主体。例如,在开源社区内的讨论信息中,开发者可能会在一次与某开源项目相关的讨论中引用该开源项目的代码合并请求信息,此时将开发者讨论的问题集合和代码合并请求信息分别作为主体和客体,而问题集合与代码合并请求信息之间存在的关系为包含关系。
由于开源项目开发迭代速度快,版本更新频率高,开源项目所在开源社区中的学习资料、学习经验也通常无法同步更新。这使得开发者往往不得不阅读曾经版本的博客、社区讨论、学习资料来进行学习。然而开源项目经过每个版本的更新,这些资料中的知识很可能无法和开发者实际使用的最新版本的项目完全对应,使得开发者的学习过程更加困难。而目前的IDE工具仅仅只能提供显示单一版本的项目代码,无法支持开发者结合多来源多版本的学习资源进行阅读与学习。传统的特征定位(Feature Location)方法只能根据用户输入的特定名称在当前版本的代码库中进行检索,但是对于不熟悉现有代码的用户而言,所能提供的可能是空间或时间上相近的概念或实体,这些概念或实体很可能并非处于同一代码版本,开发者在学习陌生代码时无法进行查找和区分,学习效率大大下降。
本发明实施例旨在将多版本的项目代码的知识图谱进行融合,供开发者学习,在本发明实施例中,首先生成开源项目的历史发行版本和当前版本的原始知识图谱,用以后续步骤的融合。
图2展示了本发明实施例提供的一种开源项目的原始知识图谱的可视化图形。本实施例中使用可视化工具Gephi,对所述原始知识图谱进行可视化的分析与展示。
在本发明的一种优选实施例中,若监测到所述开源项目的版本提交记录有更新,则利用所述开源项目的开发期间在版本提交记录中使用的版本控制系统中的Tag功能,查找所述开源项目每个发行版本所处的提交位置,以此将项目回滚到各历史发行版本和当前版本,并分别抽取各历史发行版本和当前版本的项目代码知识信息,分别生成所述开源项目各历史发行版本和当前版本的原始知识图谱。
步骤S102,将所述历史发行版本的原始知识图谱的知识,链接到所述当前版本的原始知识图谱的知识上,生成多版本知识融合的知识图谱。
随着项目代码的开发与迭代,程序也经过开发与迭代,社区部分潜在的知识无法对应到最新版本的代码中,导致新手开发者无法将资料内容对应到实际代码,开发经验无法共享与保存。而同一项目不同版本的项目代码,其实体名称也可能无法对齐。同时,由于对于开发者学习知识图谱来说,旧知识均具有学习的价值和需求,开发者需要一个包含所有版本的知识集合。因此,本发明实施例中,通过将不同版本的图谱融合来讲旧的知识链接到新知识上,将生成的针对开源项目不同版本的知识图谱进行融合,生成多版本知识融合的知识图谱。
图3展示了本发明实施例提供的一种开源项目的多版本知识融合的知识图谱的可视化图形。
由于在步骤S101中,针对每个版本独有的知识实体与关系,添加了gVersion属性来表明其来源于哪个版本的开源项目,所述gVersion同样会保存到所述多版本知识融合的知识图谱中。如图3所示,黑色实心圆球即为某一版本独有的知识实体与关系。在具体应用时,可以是操作者根据应用页面中的版本列表,点选一个或多个版本,则通过所述gVersion属性,知识图谱的可视化界面将对应版本独有的知识实体突出显示,所述的突出显示包括图形的颜色高亮处理等手段。
在本发明实施例中,将旧版本与新版本中相同的项目代码知识实体作为链接点,对不同版本的知识实体与关系链接,在新版本知识图谱中融合了旧版本知识图谱的大部分知识信息。但由于不同版本的项目知识实体名称并非完全对应,例如可能带有不同的前后缀,在本发明实施例中,通过文本分析与启发式规则的方式,使用规则对在类似或相似的知识实体进行统一并消除歧义,所述类似或相似的知识实体还可能表现为文件名格式的的不同,如表示为绝对路径、相对路径、单独的文件名。具体包括,首先根据预定义的知识图谱数据模式schema对所有抽取出的知识三元组进行校验,针对与数据模式schema不匹配的三元组,使用自然语言分析方法,定义不同的映射规则,将不同版本中抽取出的不同格式的知识实体与关系映射至相同的格式化数据上。之后基于相同的实体,将三元组进行组合,完成不同版本知识图谱的融合。
在本发明的一种优选实施例中,生成多版本知识融合的知识图谱之前,针对每个版本的所述原始知识图谱独有的知识实体与关系,添加gVersion属性,以表明所述知识实体与关系的开源项目版本来源,通过使用可视化工具Gephi,对所述原始知识图谱和所述目标知识图谱进行可视化的分析与展示,供学习者区分各版本知识信息,进而实现针对性地学习。具体地,在构建所述原始知识图谱时,由于所述原始知识图谱的构建,是针对特定开源项目版本的数据源,以SPO三元组的形式进行知识抽取,此时对每一个抽取出的SPO三元组在记录的同时加入gVersion属性,之后学习者可以通过可视化工具Gephi,查看图谱中节点的gVersion属性,或直接利用工具高亮标注某一版本的知识,也可以从系统中点击节点查看节点的所有属性,来查看节点对应的版本信息。
步骤S103,对所述多版本知识融合的知识图谱进行剪枝,生成目标知识图谱,包括:清洗所述多版本知识融合的知识图谱的边缘子图和非核心子图,并保留最大连通子图作为知识图谱的主体部分,进而得到所述目标知识图谱。
在开源项目的代码中,通常会有很大一部分函数或文件是用于配置环境或定义常量的,还有一部分函数或文件仅仅作为工具提供了一些简单的功能或是宏定义。而在开源项目的开发中,也存在着很多并不那么严格的提交记录。即使是审核严格的开源项目,仍然无法避免有些开发者提交过一些命名不规范、或者仅仅修改过很少量的语法问题的提交。这些信息在知识图谱中能够提供的信息量相对较少,对项目的理解的帮助有限。此外,例如部分函数间的调用关系复用价值很低,此类函数对理解项目结构没有任何帮助,白白增加了函数调用子图的复杂程度。
对于大型开源项目,知识图谱的规模与复杂程度均增长迅速,在步骤102中,我们还对多版本的知识图谱进行了融合,生成多版本知识融合的知识图谱,其图谱规模也会相应地增大,为了后续算法处理的时间开销的考虑,需要对知识图谱进行一定程度上的剪枝来缩减图谱的规模。
通过对各个版本的所述原始知识图谱进行可视化与图结构的分析,可以发现,由多个数据源提取的知识三元组所融合成的知识图谱往往并不是一个连通图,其可能存在有多个连通子图。在项目中,绝大多数的知识都集中于项目的主题功能中,本发明实施例在所有子图中选择了最大连通子图作为知识图谱的主体部分,而清洗掉其余的子图。
另外,对于知识图谱中的提交记录节点来说,很多提交记录所蕴含的知识信息较少,或是与其他图中实体关联较少,这些提交记录无法对学习者学习知识图谱提供太多帮助,反而会让图谱的阅读与学习更为复杂,而这些提交记录节点通常具有出入度相对较少的特点。
在本发明的一种优选实施例中,基于知识图谱的图属性,对所有出度或入度小于等于1的知识图谱节点进行至少一轮清洗,以此清洗所述多版本知识融合的知识图谱中的边缘子图和非核心子图,进而保留最大连通子图作为知识图谱的主体部分,生成所述目标知识图谱。
表1示出了本发明实施例提供的一种开源项目知识图谱剪枝算法的代码,用以对与所有出入度小于等于1的提交记录节点进行清洗。其中“if node.indegree<=1 ornode.outdegree<=1,delete node in tmp_graph”,表示将所有出度或入度小于等于1的知识图谱节点,从知识图谱中剔除。
Figure BDA0002572118210000111
表1
本发明实施例中,还可以通过使用可视化工具Gephi,对所述目标知识图谱进行可视化的分析与展示,以可视化的方式,供开发者针对性地学习。
步骤S104,使用OpenKE框架设计知识嵌入模型TransE,并对所述模型TransE进行训练,通过所述模型TransE,生成所述目标知识图谱的嵌入表示。
知识图谱是由实体(节点)和关系(不同类型的边)组成的多关系图,每条边都表示为形式(客体、关系、主体)的三个部分,也称为事实,表示两个实体通过特定的关系连接在一起,即,SPO三元组。这样的多关系图虽然在表示结构化数据方面很有效,但是其中的三元组的底层符号特性通常使知识图谱很难操作。
为了解决这个问题,本发明实施例通过生成所述目标知识图谱的嵌入表示,使所述目标知识图谱能够被易于应用。
图4示出了本发明实施例提供的一种向量表示的示意图。本发明实施例中,采用TransE模型,将所述目标知识图谱使用向量表示,来表示知识图谱中的实体和关系,通过所述表示方法的学习获得所述实体和关系的低维稠密表示,将实体和关系组成的三元组表示成它对应的嵌入表示embedding。
由于词向量空间存在平移不变现象,受此现象的启发出现的TransE模型,可以将知识库中的关系看作实体间的某种平移向量,模型的基本思想是前件的向量表示h与关系的向量表示r之和与后件的向量表示t越接近越好,即h+r≈t,同时,可以将r看作h到t的翻译,因此,TransE也被称为翻译模型。
其中,所述“接近”的程度即为表示两个事实相同的关系的精确程度,可以使用L1或L2范数损失函数进行衡量。本发明实施例提供的一种损失函数如下:
L(h,r,t)=max(0,dpos-dneg+margin)
其中:
d=||h+r-t||
dpos与dneg分别为正负样本的距离得分,最小化损失函数可以使向量空间中的正样本距离尽可能缩小,让向量表示更加贴合三元组的关系。
所述损失函数以目标函数形式的表示如下,针对整个所述嵌入表示的精准度进行优化:
Figure BDA0002572118210000121
本发明实施例中,通过所述模型TransE,嵌入所述目标知识图谱的组件,包括将实体和关系转化为连续的向量空间,从而简化操作,同时保留知识图谱的原有的结构。所述实体和关系的嵌入能进一步应用于各种任务中,如知识图谱补全、关系提取、实体分类和实体解析。将所述实体和关系表示为同一空间中,针对所述目标知识图谱中的每个节点,生成图谱节点的嵌入向量,以此生成所述目标知识图谱的嵌入表示。所述嵌入向量可以表示实体在嵌入空间中相对于所述目标知识图谱的位置,在所述目标知识图谱的应用中,后续算法能够基于所述嵌入向量在空间中的位置,计算每个实体间的空间距离,即实体间关系的距离权重。
本发明实施例中,对于所述目标知识图谱中的每个三元组中的实体和关系通过向量表示方法,表示为事实三元组(h,r,t),其中h为头实体向量,t为尾实体向量,r为关系向量。采用所述模型TransE,将所述实体和关系表示为同一空间中,把关系向量r看作为头实体向量h和尾实体向量t之间的平移即h+r≈t,得到两个事实相同的关系(DirectorOf)的向量表示。其中所述关系向量r,可以看作从头实体向量h到尾实体向量t的翻译,即h+r≈t。本发明实施例中采用L2范数衡量所述“≈”的相对于“=”的接近程度,即,所述模型TransE翻译的精确程度。
图5是本发明实施例提供的一种开源项目知识图谱的优化方法步骤多线程并行的示意图。在本发明实施例中,无论上述步骤如何进行动作顺序组合的调整,在最终生成所述目标知识图谱的嵌入表示之前,每一个前述步骤都可以多线程并发地进行,以此提高知识图谱的优化效率。以图6所示内容为例,从对原始知识图谱的剪枝、嵌入、生成多版本的知识图谱的嵌入表示,最后进行多版本知识图谱嵌入的融合,则在融合前,对多个版本的每一个原始知识图谱进行嵌入优化,其过程都是独立进行的。
可以看出,本发明实施例提供了开源项目知识图谱的优化方法和系统,该方法和系统本实施例面向开发者学习开源项目代码的需求,为开发者构建多版本知识融合的知识图谱,以使开发者能对多版本项目的知识进行了解和学习;并且,对知识信息冗杂的知识图谱进行剪枝,一方面,优化了知识图谱在后续算法中的时间开销,另一方面,留下对开发者而言有效的知识信息,有助于开发者更加高效地学习;以及,生成知识图谱的嵌入表示,使知识图谱在后续算法中的可用性大大提高。本发明实施例,从多个角度,对开源项目的知识图谱进行优化,以此帮助开发者提高对开源项目中代码和相关知识的学习效率,促使开发者更好地参与到开源项目的开发中,为开源项目的发展作出贡献。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例二
参照图6,示出了本发明提供的一种开源项目知识图谱的优化系统实施例的结构框图,所述开源项目知识图谱的优化系统具体包括:
构建模块一201,用于针对开源项目的历史发行版本和当前版本,分别构建所述开源项目的原始知识图谱。
融合模块一202,用于将所述历史发行版本的原始知识图谱的知识,链接到所述当前版本的原始知识图谱的知识上,生成多版本知识融合的知识图谱。
剪枝模块一203,用于对所述多版本知识融合的知识图谱进行剪枝,生成目标知识图谱,包括:清洗所述多版本知识融合的知识图谱的边缘子图和非核心子图,并保留最大连通子图作为知识图谱的主体部分,进而得到所述目标知识图谱。
嵌入模块204,用于使用OpenKE框架设计知识嵌入模型TransE,并对所述模型TransE进行训练,通过所述模型TransE,生成所述目标知识图谱的嵌入表示。
实施例三
参照图7,示出了本发明提供的一种开源项目知识图谱的优化方法实施例的步骤流程图,具体的开源项目知识图谱优化方法包括如下步骤:
步骤S301,针对开源项目的历史发行版本和当前版本,分别构建所述开源项目的原始知识图谱。
步骤S302,对所述多版本知识融合的知识图谱进行剪枝,生成目标知识图谱,包括:清洗所述多版本知识融合的知识图谱的边缘子图和非核心子图,并保留最大连通子图作为知识图谱的主体部分,进而得到所述目标知识图谱。
步骤S303,使用OpenKE框架设计知识嵌入模型TransE,并对所述模型TransE进行训练,通过所述模型TransE,生成所述目标原始知识图谱的嵌入表示。
步骤S304,将旧版本的所述目标原始知识图谱的嵌入表示知识,链接到最高版本的所述目标原始知识图谱的嵌入表示知识上,完成多版本嵌入表示知识的融合,生成目标知识图谱的嵌入表示。
实施例四
参照图8,示出了本发明提供的一种开源项目知识图谱的优化系统实施例的结构框图,所述开源项目知识图谱的优化系统具体包括:
构建模块二401,用于针对开源项目的历史发行版本和当前版本,分别构建所述开源项目的原始知识图谱;
剪枝模块二402,用于对所述多版本知识融合的知识图谱进行剪枝,生成目标知识图谱,包括:清洗所述多版本知识融合的知识图谱的边缘子图和非核心子图,并保留最大连通子图作为知识图谱的主体部分,进而得到所述目标知识图谱;
嵌入模块二403,用于使用OpenKE框架设计知识嵌入模型TransE,并对所述模型TransE进行训练,通过所述模型TransE,生成所述目标原始知识图谱的嵌入表示;
融合模块二404,用于将旧版本的所述目标原始知识图谱的嵌入表示知识,链接到最高版本的所述目标原始知识图谱的嵌入表示知识上,完成多版本嵌入表示知识的融合,生成目标知识图谱的嵌入表示。
实施例五
参照图9,示出了本发明提供的一种开源项目知识图谱的优化方法实施例的步骤流程图,具体的开源项目知识图谱优化方法包括如下步骤:
步骤S501,构建所述开源项目当前版本的原始知识图谱,同时获取存储于系统中的所述开源项目上一发行版本的目标知识图谱;
本发明实施例中所述所述开源项目上一发行版本的目标知识图谱,包含了所述开源项目所有历史发行版本的知识图谱中独有的知识信息,即,知识实体与关系。
步骤S502,将所述上一发行版本的目标知识图谱的知识,链接到所述当前版本的原始知识图谱的知识上,生成所述多版本知识融合的知识图谱;
步骤S503,对所述多版本知识融合的知识图谱进行剪枝,生成当前版本的目标知识图谱,包括:清洗所述多版本知识融合的知识图谱的边缘子图和非核心子图,并保留最大连通子图作为知识图谱的主体部分,进而得到并存储所述当前版本的目标知识图谱;
步骤S504,使用OpenKE框架设计知识嵌入模型TransE,并对所述模型TransE进行训练,通过所述模型TransE,生成所述目标知识图谱的嵌入表示。
本发明实施例采用开源项目知识图谱迭代的方式,对所述开源项目的知识图谱进行更新,使其保留每一个历史发行版本的知识图谱中的知识信息,同时对多版本融合的知识图谱进行剪枝优化,并生成嵌入表示,使其能够被应用于开发者对陌生开源项目的快速学习。
实施例六
参照图10,示出了本发明提供的一种开源项目知识图谱的优化系统实施例的结构框图,所述开源项目知识图谱的优化系统具体包括:
构建模块三601,用于构建所述开源项目当前版本的原始知识图谱,同时获取存储于系统中的所述开源项目上一发行版本的目标知识图谱。
融合模块三602,用于将所述上一发行版本的目标知识图谱的知识,链接到所述当前版本的原始知识图谱的知识上,生成所述多版本知识融合的知识图谱。
剪枝模块三603,用于对所述多版本知识融合的知识图谱进行剪枝,生成当前版本的目标知识图谱,包括:清洗所述多版本知识融合的知识图谱的边缘子图和非核心子图,并保留最大连通子图作为知识图谱的主体部分,进而得到并存储所述当前版本的目标知识图谱。
嵌入模块三604,用于使用OpenKE框架设计知识嵌入模型TransE,并对所述模型TransE进行训练,通过所述模型TransE,生成所述当前版本的目标知识图谱的嵌入表示。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同或相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的开源项目知识图谱的优化方法和开源项目知识图谱的优化系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种开源项目知识图谱的优化方法,其特征在于,包括:
针对开源项目的历史发行版本和当前版本,分别构建所述开源项目的原始知识图谱;
将所述历史发行版本的原始知识图谱的知识,链接到所述当前版本的原始知识图谱的知识上,生成多版本知识融合的知识图谱;
对所述多版本知识融合的知识图谱进行剪枝,生成目标知识图谱,包括:清洗所述多版本知识融合的知识图谱的边缘子图和非核心子图,并保留最大连通子图作为知识图谱的主体部分,进而得到所述目标知识图谱;
使用OpenKE框架设计知识嵌入模型TransE,并对所述模型TransE进行训练,通过所述模型TransE,生成所述目标知识图谱的嵌入表示。
2.根据权利要求1所述的方法,其特征在于,针对开源项目的历史发行版本和当前版本,分别构建所述开源项目的原始知识图谱,包括:
若监测到所述开源项目的版本提交记录有更新,则利用所述开源项目的开发期间在版本提交记录中使用的版本控制系统中的Tag功能,查找所述开源项目每个发行版本所处的提交位置,以此将项目回滚到各历史发行版本和当前版本,并分别抽取各历史发行版本和当前版本的项目代码知识信息,分别生成所述开源项目各历史发行版本和当前版本的原始知识图谱。
3.根据权利要求1所述的方法,其特征在于,对所述多版本知识融合的知识图谱进行剪枝,生成目标知识图谱,包括:
基于知识图谱的图属性,对所有出度或入度小于等于1的知识图谱节点进行至少一轮清洗,以此清洗所述多版本知识融合的知识图谱中的边缘子图和非核心子图,进而保留最大连通子图作为知识图谱的主体部分,生成所述目标知识图谱。
4.根据权利要求1所述的方法,其特征在于,通过所述模型TransE,生成所述目标知识图谱的嵌入表示,包括:
通过所述模型TransE,嵌入所述目标知识图谱的组件,包括将实体和关系转化为连续的向量空间,将所述实体和关系表示在同一空间中,针对所述目标知识图谱中的每个节点,生成图谱节点的嵌入向量,以此生成所述目标知识图谱的嵌入表示;所述嵌入向量用于表示实体在嵌入空间中相对于所述目标知识图谱的位置,在所述目标知识图谱的应用中,能够基于所述嵌入向量在空间中的位置,计算实体间关系的距离权重。
5.根据权利要求1所述的方法,其特征在于,生成多版本知识融合的知识图谱之前,还包括:
针对每个版本的所述原始知识图谱独有的知识实体与关系,添加gVersion属性,以表明所述知识实体与关系的开源项目版本来源,通过使用可视化工具Gephi,对所述原始知识图谱和所述目标知识图谱进行可视化的分析与展示,供学习者区分各版本知识信息,进而实现针对性地学习。
6.一种开源项目知识图谱的优化系统,其特征在于,所述系统包括:
构建模块一,用于针对开源项目的历史发行版本和当前版本,分别构建所述开源项目的原始知识图谱;
融合模块一,用于将所述历史发行版本的原始知识图谱的知识,链接到所述当前版本的原始知识图谱的知识上,生成多版本知识融合的知识图谱;
剪枝模块一,用于对所述多版本知识融合的知识图谱进行剪枝,生成目标知识图谱,包括:清洗所述多版本知识融合的知识图谱的边缘子图和非核心子图,并保留最大连通子图作为知识图谱的主体部分,进而得到所述目标知识图谱;
嵌入模块一,用于使用OpenKE框架设计知识嵌入模型TransE,并对所述模型TransE进行训练,通过所述模型TransE,生成所述目标知识图谱的嵌入表示。
7.一种开源项目知识图谱的优化方法,其特征在于,包括:
针对开源项目的历史发行版本和当前版本,分别构建所述开源项目的原始知识图谱;
对多版本知识融合的知识图谱进行剪枝,生成目标知识图谱,包括:清洗所述多版本知识融合的知识图谱的边缘子图和非核心子图,并保留最大连通子图作为知识图谱的主体部分,进而得到所述目标知识图谱;
使用OpenKE框架设计知识嵌入模型TransE,并对所述模型TransE进行训练,通过所述模型TransE,生成目标原始知识图谱的嵌入表示;
将所述历史发行版本的目标原始知识图谱的嵌入表示知识,链接到所述当前版本的目标原始知识图谱的嵌入表示知识上,完成多版本嵌入表示知识的融合,生成目标知识图谱的嵌入表示。
8.一种开源项目知识图谱的优化系统,其特征在于,所述系统包括:
构建模块二,用于针对开源项目的历史发行版本和当前版本,分别构建所述开源项目的原始知识图谱;
剪枝模块二,用于对多版本知识融合的知识图谱进行剪枝,生成目标知识图谱,包括:清洗所述多版本知识融合的知识图谱的边缘子图和非核心子图,并保留最大连通子图作为知识图谱的主体部分,进而得到所述目标知识图谱;
嵌入模块二,用于使用OpenKE框架设计知识嵌入模型TransE,并对所述模型TransE进行训练,通过所述模型TransE,生成目标原始知识图谱的嵌入表示;
融合模块二,将所述历史发行版本的目标原始知识图谱的嵌入表示知识,链接到所述当前版本的目标原始知识图谱的嵌入表示知识上,完成多版本嵌入表示知识的融合,生成目标知识图谱的嵌入表示。
9.一种开源项目知识图谱的优化方法,其特征在于,包括:
构建所述开源项目当前版本的原始知识图谱,同时获取存储于系统中的所述开源项目上一发行版本的目标知识图谱;
将所述上一发行版本的目标知识图谱的知识,链接到所述当前版本的原始知识图谱的知识上,生成多版本知识融合的知识图谱;
对所述多版本知识融合的知识图谱进行剪枝,生成当前版本的目标知识图谱,包括:清洗所述多版本知识融合的知识图谱的边缘子图和非核心子图,并保留最大连通子图作为知识图谱的主体部分,进而得到并存储所述当前版本的目标知识图谱;
使用OpenKE框架设计知识嵌入模型TransE,并对所述模型TransE进行训练,通过所述模型TransE,生成所述当前版本的目标知识图谱的嵌入表示。
10.一种开源项目知识图谱的优化系统,其特征在于,所述系统包括:
构建模块三,用于构建所述开源项目当前版本的原始知识图谱,同时获取存储于系统中的所述开源项目上一发行版本的目标知识图谱;
融合模块三,用于将所述上一发行版本的目标知识图谱的知识,链接到所述当前版本的原始知识图谱的知识上,生成多版本知识融合的知识图谱;
剪枝模块三,用于对所述多版本知识融合的知识图谱进行剪枝,生成当前版本的目标知识图谱,包括:清洗所述多版本知识融合的知识图谱的边缘子图和非核心子图,并保留最大连通子图作为知识图谱的主体部分,进而得到并存储所述当前版本的目标知识图谱;
嵌入模块三,用于使用OpenKE框架设计知识嵌入模型TransE,并对所述模型TransE进行训练,通过所述模型TransE,生成所述当前版本的目标知识图谱的嵌入表示。
CN202010643010.2A 2020-07-06 2020-07-06 一种开源项目知识图谱的优化方法和系统 Active CN111949307B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010643010.2A CN111949307B (zh) 2020-07-06 2020-07-06 一种开源项目知识图谱的优化方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010643010.2A CN111949307B (zh) 2020-07-06 2020-07-06 一种开源项目知识图谱的优化方法和系统

Publications (2)

Publication Number Publication Date
CN111949307A CN111949307A (zh) 2020-11-17
CN111949307B true CN111949307B (zh) 2021-06-25

Family

ID=73341107

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010643010.2A Active CN111949307B (zh) 2020-07-06 2020-07-06 一种开源项目知识图谱的优化方法和系统

Country Status (1)

Country Link
CN (1) CN111949307B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112836123B (zh) * 2021-02-03 2021-11-16 电子科技大学 一种基于知识图谱的可解释推荐系统
CN112883201B (zh) * 2021-03-23 2023-11-21 西安电子科技大学昆山创新研究院 一种基于智慧社区大数据的知识图谱构建方法
CN112988135B (zh) * 2021-05-20 2021-07-27 中国人民解放军国防科技大学 面向开源软件的任务单元推荐方法、装置和计算机设备
CN113377963B (zh) 2021-06-28 2023-08-11 中国科学院地质与地球物理研究所 一种基于知识图谱的井场试验数据处理方法及装置
CN115221310B (zh) * 2022-09-20 2022-12-16 北京大学 一种基于知识图谱的开源应用自动化推荐方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250824A (zh) * 2016-07-21 2016-12-21 乐视控股(北京)有限公司 车窗定位方法和系统
CN109902171A (zh) * 2019-01-30 2019-06-18 中国地质大学(武汉) 基于分层知识图谱注意力模型的文本关系抽取方法及系统
CN110674310A (zh) * 2019-09-04 2020-01-10 东华大学 一种基于知识图谱的工业物联标识方法
CN110888808A (zh) * 2019-11-16 2020-03-17 云南湾谷科技有限公司 一种基于知识图谱的Web智能化测试的方法
CN111241307A (zh) * 2020-01-23 2020-06-05 复旦大学 面向软件系统的软件项目及第三方库知识图谱构造方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090164387A1 (en) * 2007-04-17 2009-06-25 Semandex Networks Inc. Systems and methods for providing semantically enhanced financial information
US20140281886A1 (en) * 2013-03-14 2014-09-18 Media Direct, Inc. Systems and methods for creating or updating an application using website content
CN104484459B (zh) * 2014-12-29 2019-07-23 北京奇虎科技有限公司 一种对知识图谱中的实体进行合并的方法及装置
US10789054B2 (en) * 2018-05-24 2020-09-29 Find it EZ Software Corp. Methods, systems, apparatuses and devices for facilitating change impact analysis (CIA) using modular program dependency graphs
CN109389151B (zh) * 2018-08-30 2022-01-18 华南师范大学 一种基于半监督嵌入表示模型的知识图谱处理方法和装置
CN110826976A (zh) * 2019-09-18 2020-02-21 上海生腾数据科技有限公司 一种企业实际控制人运算系统及方法
CN111190900B (zh) * 2019-12-10 2022-06-10 优网云计算有限公司 一种云计算模式下json数据可视化优化方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250824A (zh) * 2016-07-21 2016-12-21 乐视控股(北京)有限公司 车窗定位方法和系统
CN109902171A (zh) * 2019-01-30 2019-06-18 中国地质大学(武汉) 基于分层知识图谱注意力模型的文本关系抽取方法及系统
CN110674310A (zh) * 2019-09-04 2020-01-10 东华大学 一种基于知识图谱的工业物联标识方法
CN110888808A (zh) * 2019-11-16 2020-03-17 云南湾谷科技有限公司 一种基于知识图谱的Web智能化测试的方法
CN111241307A (zh) * 2020-01-23 2020-06-05 复旦大学 面向软件系统的软件项目及第三方库知识图谱构造方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《面向软件开源项目的软件知识图谱构建方法》;李文鹏等;《计算机科学与探索》;20161031;第11卷(第6期);第851-862页 *
Zhiyu Sun."An approach to helping developers learn open source projects".《Internetware "19: Proceedings of the 11th Asia-Pacific Symposium on Internetware •October 2019 •Article No.: 13 •Pages 1–10•https://doi.org/10.1145/3361242.3361251》.2019, *

Also Published As

Publication number Publication date
CN111949307A (zh) 2020-11-17

Similar Documents

Publication Publication Date Title
CN111949307B (zh) 一种开源项目知识图谱的优化方法和系统
US11442702B2 (en) Code completion
US10831449B2 (en) Process and system for automatic generation of functional architecture documents and software design and analysis specification documents from natural language
KR101631978B1 (ko) 데이터세트 요소의 매핑
US10303441B2 (en) Process and system for automatic generation of functional architecture documents and software design and analysis specification documents from natural language
WO2022218186A1 (zh) 个性化知识图谱的生成方法、装置及计算机设备
US11604628B2 (en) Generation and/or recommendation of tools for automating aspects of computer programming
Yin et al. Automatic learning path recommendation for open source projects using deep learning on knowledge graphs
US8166453B2 (en) Method and system for inconsistency resolution with cycle detection in a model-driven software environment
US20230195825A1 (en) Browser extension with automation testing support
CA3139543A1 (en) Process and system for automatic generation of functional architecture documents and software design and analysis specification documents from natural language
Agarwal et al. Copilot Evaluation Harness: Evaluating LLM-Guided Software Programming
Vieira et al. A requirements engineering analysis of MoReq
Liu et al. Visual exploration of software evolution via topic modeling
Fatwanto Software requirements translation from natural language to object-oriented model
Rahimifard Temporal and spatio-temporal graphs in neo4j
CN117151247B (zh) 机器学习任务建模的方法、装置、计算机设备和存储介质
Theodórsdóttir et al. Evaluation of Text–Based Requirements Engineering Tools
US20240176604A1 (en) Predicting and/or applying symbolic transformation templates
HUSSEIN Automated quality-assessment for UML models in open source projects
Rodrigues et al. BPM2Text: A language independent framework for Business Process Models to Natural Language Text
Lim et al. Test case information extraction from requirements specifications using NLP-based unified boilerplate approach
Patil et al. Technical Analysis for Bit2Byte–A Novel System for Cognitive Development of Students
Nakajima Constructing Rigorous Sketches for Refinement-Based Formal Development: An Application to Android
Santos AccessBot-Assisted Assessment of WEB Accessibility

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
GR01 Patent grant
GR01 Patent grant