首页> 中国专利> 一种基于知识图谱针对bug问题进行探索性搜索方法

一种基于知识图谱针对bug问题进行探索性搜索方法

摘要

本发明涉及一种基于知识图谱针对bug问题进行探索性搜索方法。本发明有效地结合bug库及commit库中的信息,通过理解要搜索的内容得到相关的bug信息,建立它们之间的实体关系,并列出相关的bug repotrt信息、commit信息、相关人员的信息及类似的bug信息,提高软件开发和维护人员解决bug问题的效率。本发明克服了现今方法存在的查询结果并不准确,且当数据量较大时,需花费大量的时间进行检索等缺陷。本发明从软件开发者和维护者的角度,理解搜索者输入的内容,提供直观准确的信息,帮助搜索者解决遇到的bug问题。不仅缩短了搜索时间,还确保了搜索结果的准确性,通过记录搜索者浏览的信息,进一步预测搜索者的目的,帮助软件开发人员更全面的了解和学习相关bug的知识。

著录项

  • 公开/公告号CN105760495A

    专利类型发明专利

  • 公开/公告日2016-07-13

    原文格式PDF

  • 申请/专利权人 扬州大学;

    申请/专利号CN201610093335.1

  • 发明设计人 孙小兵;王璐;李斌;

    申请日2016-02-17

  • 分类号G06F17/30(20060101);G06F9/44(20060101);

  • 代理机构32226 南京中新达专利代理有限公司;

  • 代理人孙鸥;朱杰

  • 地址 225009 江苏省扬州市大学南路88号

  • 入库时间 2023-06-19 00:06:42

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-01

    授权

    授权

  • 2016-08-10

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20160217

    实质审查的生效

  • 2016-07-13

    公开

    公开

说明书

技术领域

本发明属于软件维护领域,特别涉及一种基于知识图谱针对bug问题进行探 索性搜索方法。

背景技术

软件开发与维护人员在对软件进行开发和维护时,由于对软件的不熟悉或者 经验不足等原因,常常会遇到一些难以解决的bug问题。他们在遭遇这些问题后 会针对相关bug问题进行搜索,对其进行了解之后又要查看历史提交的一些 commit修改信息,以便得到相关的解决方法。若在Stackoverflow中寻找帮助也 不一定能够立刻得到想要的答案。这使得软件开发人员和维护人员在遇到bug后 不仅要花费大量时间进行搜索、查找解决方案,并且常常会遇到搜索结果不够准 确全面等问题。

在本发明作出之前,目前为止还没有一个基于知识图谱的对bug信息进行探 索性搜索的网站。有些网站只是将历史提交的bugreport、commit生成bug库、 commit库提供用户查询。然而这些网站都是基于传统的关系数据库的搜索方法: 关系数据库采用的是经典的关系模型,其结构简单,查询结果并不准确,且当数 据量较大时,需花费大量的时间进行检索。传统的检索都是基于关键词的,搜索 引擎并不理解用户的输入,仅是对用户输入的内容进行切分得到关键词,得到关 键词后再与目标数据进行匹配,把匹配的结果通过一定的排序算法返回给用户, 用户在这些结果中选取想要的结果。由于不能理解用户搜索的目的,基于关键词 的检索的缺陷非常明显。返回给用户的搜索内容不仅杂乱,且不准确。用户需要 耗费大量时间进行信息的浏览和筛选,不仅耗时、耗力,还可能仍得不到想要的 结果。

发明内容

本发明的目的就在于克服上述缺陷,研制一种基于知识图谱针对bug问题进 行探索性搜索方法。

本发明技术方法是:

一种基于知识图谱针对bug问题进行探索性搜索方法,其主要技术特征在于 如下步骤:

(1)将bug信息和commit信息按所属类型分类,识别和提取软件历史库中数据 的概念、实体和属性,找出相互之间存在的实体关系,建立信息的网状 结构关系,从而建立一个图形数据库;

(2)对搜索者的输入搜索内容进行预处理,使用分词和命名实体识别技术和自 然语言处理技术从输入搜索内容中识别概念、实体和属性,得到要搜索 的概念、实体和属性信息;

(3)将步骤(1)、(2)进行计算相似度,将预处理后得到的信息与图形数据库 中的信息进行相似度的计算和匹配,得到数据库中所有与要搜索的bug 相关的信息;

(4)将步骤(3)中得到的信息分类并提取出bugreport信息、commit信息及 相关人员信息、类似的bug信息;

(5)将步骤(4)中提取出的信息分别进行相似度的排序,并用知识图谱软件生 成这些信息的知识图谱,将搜索结果返回给搜索者;

(6)在搜索者浏览信息的过程中,通过记录得到他们浏览的信息,将记录的这 些信息再次进行步骤(2)的处理,从而进一步理解和预测搜索者的搜索 目的,推荐相关的信息,并推荐历史搜索类似信息的人员供搜索者浏览。

所述步骤(5)将搜索结果返回给搜索者至搜索者浏览信息,记录搜索者浏 览的信息,预测搜索者的搜索目的,推荐相关的信息及历史搜索类似信 息的人员,并将这些信息返回给搜索者浏览;搜索者浏览信息返回上述 步骤(2)中的进行预处理,识别概念实体和属性,使用分词和命名实体 识别技术和自然语言处理技术从浏览的信息中识别概念、实体和属性, 得到要搜索的概念、实体和属性信息,推荐历史搜索类似信息的人员供 搜索者浏览,与此同时依次重复步骤(3)进行计算相似度,将处理后得 到的信息与图形数据库中的信息进行相似度的计算和匹配,得到数据库 中所有与要搜索的bug相关的信息;接着进行步骤(4),将步骤(3)中 得到的信息分类并提取出bugreport信息、commit信息及相关人员信 息、类似的bug信息;然后进行步骤(5),将步骤(4)中提取出的信息 分别进行相似度的排序,并用知识图谱软件生成这些信息的知识图谱, 将进一步精确的搜索结果返回给搜索者供搜索者浏览。

在软件开发者和维护者对bug问题进行搜索时。用自然语言处理技术(NLP) 对搜索者的输入进行预处理,包括使用分词和命名实体识别技术从搜索者的输入 中识别概念、实体和属性等。结合建立好的图形数据库,匹配相似度,将相关信 息分成相关bugreport信息、commit信息、人员信息及类似bug信息。用知识图 谱软件生成搜索结果的知识图谱导航搜索者浏览。并在搜索过程中进一步根据浏 览的数据预测搜索者的目的,进行相关推荐。

知识图谱本质上是一种语义网络。它的目标在于描述现实世界中存在的各 种实体和概念,以及这些实体、概念之间的关联关系。将知识图谱用于知识导航, 能直观的引导搜索者的信息浏览。图形数据库是一种高性能的用于存储数据的数 据结构方式。基于知识图谱的搜索目标在于理解用户输入,为用户给出更加直接 和系统的答案,通过使用自然语言处理技术从要搜索的问题中提取概念、实体和 属性等,结合图形数据库数据模式,对识别的结果进行相似度的计算,匹配提取 相关的数据,再对这些数据进行分类提取,根据相似度分别对这些数据进行排序、 形成知识图谱,最终将搜索结果返回给搜索者。探索性搜索的理念能满足当今人 们的搜索需求,不仅能得到准确的搜索结果还支持信息的发现和意义建构。

本发明的优点和效果在于从软件开发者和维护者的角度,理解搜索者输入的 内容,提供直观准确的信息,帮助搜索者解决遇到的bug问题。不仅缩短了搜索 时间,还确保了搜索结果的准确性。并在探索性搜索的过程中通过记录搜索者浏 览的信息,进一步预测搜索者的目的,帮助软件开发人员更全面的了解和学习相 关bug的知识。很大程度上提高了软件开发和维护人员解决bug问题的效率和质 量。具体说,主要有如下一些优点:

(1)对搜索者输入的搜索内容进行预处理,使用分词和命名实体识别技术 从搜索者的输入中识别概念、实体和属性等,再将其与数据库内容进行匹配。不 仅更准确的理解搜索者要搜索的内容,也使得搜索者的输入不会因为格式不匹配 不能得到搜索结果。

(2)本方法应用知识图谱软件生成搜索结果的知识图谱,导航搜索者浏览 信息,使得搜索结果直观明了。图中每种颜色代表一个类别的实体,的实体与实 体间的距离远近代表相似度的大小。使得搜索者直观明了的了解各个实体间的关 系,能更准确的选择信息。

(3)我们的方法基于图形数据库,图形数据库是一种高性能的用于存储数 据的数据结构方式。其搜索速度比传统基于关系数据库的搜索方式快很多倍。

(4)本方法是一种探索性搜索方法,不仅能帮助搜索者获取需要的结果, 在搜索者浏览信息的过程中,通过记录他们浏览的信息进一步理解和预测搜索者 的搜索目的,进行相关信息的推荐,帮助软件开发人员解决遇到的bug问题。并 推荐历史搜索类似信息的人员,便于交流讨论。

附图说明

图1——本发明流程示意图。

图2——本发明中历史提交的bugreport信息截图。

图3——本发明中历史提交的commit信息截图。

图4——本发明中bug519696的历史bugreport截图。

图5——本发明中bug519696信息、相关commit信息及人员信息的知识图 谱示意图。

图6——本发明中探索性搜索过程的流程示意图。

具体实施方式

本发明的技术思路是:

知识图谱本质上是一种语义网络,其结点代表实体/概念,边代表实体/概念 之间的各种语义关系。它的目标在于描述现实世界中存在的各种实体和概念,以 及这些实体、概念之间的关联关系。将知识图谱用于搜索,能直观的引导搜索者 进行信息浏览。图形数据库是一种高性能的用于存储数据的数据结构方式。基于 知识图谱的搜索目标在于理解用户输入,为用户给出更加直接和系统的答案,通 过使用自然语言处理技术从要搜索的问题中提取概念、实体和属性等,结合图形 数据库数据模式,对识别的结果进行相似度的计算,匹配提取相关的数据,再对 这些数据进行分类提取,根据相似度分别对这些数据进行排序、形成知识图谱, 最终将搜索结果返回给搜索者。探索性搜索的理念能满足当今人们的搜索需求, 不仅能得到准确的搜索结果还支持信息的发现和意义建构。

下面具体说明本发明。

如图1所示,其步骤如下:

步骤1).将软件历史库中的bugreport信息(如图2,为历史提交的bugreport 信息截图,其中记录了历史提交的bug及其属性)和commit信息(如图 3,为历史提交的commit信息截图,其中记录了历史提交的commit及其 属性)按照bugreport、commit以及人员的属性所属类型进行分类。 基于这些分类,识别和提取软件历史库中数据的概念、实体和属性,找 出bug、commit和人员相互之间存在的各个实体关系,建立信息的网状 结构关系,从而建立一个图形数据库。这使得在进行信息检索时检索速 度得以大幅度提高。

步骤2).对搜索者输入的搜索内容进行预处理,使用分词和命名实体识别技术从 搜索者的输入中识别提取概念、实体和属性等,得到要搜索的概念、实 体和属性,这样不仅能更准确的理解搜索者要搜索的内容,也使得搜索 者的输入不会因为格式不匹配不能得到搜索结果。搜索者可以通过输入 bug_ld,bugMSG,status,compent,assigned等识别出相关的bug信息。 输入bug的任一相关属性信息(如图4,为bug519696的历史bugreport 截图,其中记录了bug519696的所有属性),如搜索“vetifiedfixedbug” 就会提取出实体“bug”和“verifiedfixed”。

步骤3).将步骤2)中预处理后得到的信息与图形数据库中的信息进行相似度的 计算和匹配,得到数据库中所有与要搜索的bug信息相关的信息。这一 步将所有相关的信息都提取出来,不仅使得搜索结果全面、准确,也为 后面建立知识图谱奠定了基础。用余弦算法计算相似度。过程:预处理 →文本特征项选择→加权→生成向量空间模型后计算余弦。两个文本D1和D2之间的内容相关度Sim(D1,D2)常用向量之间夹角的余弦值表示, 公式为:

Sim(S1,D2)=cosθ=Σk=1mW1k×W2k(Σk=1mW1k2)(Σk=1mW2k2)

其中,W1k、W2k分别表示文本D1和D2第K个特征项的权值,1<=k<=N。

步骤4).将步骤3)中得到的信息分类成bugreport信息、commit信息及相关 人员信息、类似的bug信息。这样后面将呈现给搜索者查看时,信息按 类别呈现,一目了然;

步骤5).将分类后的信息分别按相似度从高到低进行排序。并用知识图谱软件生 成这些信息的知识图谱。图谱不仅将信息之间的关系清楚的呈现,使得 搜索者直观明了的了解各个实体间的关系,还可以引导搜索者能更准确 的浏览、选择信息。图谱按颜色区分类别,按距离的远近区分相似度的 高低,使得搜索结果更加直观明了(如图5,为bug519696信息、相关 commit信息及人员信息的知识图谱示意图。其中红色显示的是要搜索的 bug,与其相连的较近的按颜色区分的实体是其属性及相关的commit信 息及人员信息,距离更远的黄色的实体是与此bug有关的一些bug信息。 由于关系较多没有一一列出)。最终将搜索结果返回给搜索者。

步骤6).在搜索者测览信息的过程中,记录他们浏览的信息,提取其中的实体、 概念及属性,计算相似度与图数据库匹配。按颜色区分类别,大小区分 相似度,反馈对搜索者搜索目的的预测,与搜索者进行信息交互。这样 不仅能了解搜索者的浏览偏好,也能进一步确认搜索者的搜索意图,缩 小范围,使得搜索结果更加准确(如图6,为探索性搜索过程的流程)。 在探索搜索的过程中不仅能帮助搜索者更全面的了解要搜索的信息,还 能推荐历史搜索类似信息的人员,便于交流讨论。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号