【技术实现步骤摘要】
一种基于模板的软件缺陷自动问答方法
本专利技术属于软件维护领域,特别是一种基于模板的软件缺陷自动问答方法。
技术介绍
软件开发人员和维护人员为了解决自己所遇到的一些新的软件缺陷,通常会需要借助搜索引擎以及软件缺陷库来对软件缺陷相关信息进行问答。但是,搜索引擎一般是以关键词的组合逻辑来表达检索需求,而用户的检索需求常常是复杂而特殊的,搜索引擎无法详尽准确地理解用户意图,自然无法检索出令用户满意的答案。而且,这些软件缺陷库大多数采用基于传统的关系数据库的搜索方法,搜索得到的结果虽然包含了软件缺陷大量的信息和属性,但是这些信息和属性常常与自己所想知道的问题相关性不大,不能够很好地帮助自己修复新的软件缺陷。此外,在搜索引擎和软件缺陷库中进行软件缺陷信息的检索方法是直接采用关键字匹配技术,搜索空间很大,非常耗费时间,并且仅依靠关键词检索所得到的搜索结果并不准确。这样的问答方式使得搜索者很难找到自己真正需要的信息,耗时耗力。
技术实现思路
本专利技术所解决的技术问题在于提供一种能够很好地理解软件开发者和维护者提出的bug问题,并且回答效率高的软件缺陷自动问答方法。实现本专利技术目的的技术解决方案为:一种基于模板的软件缺陷自动问答方法,包括以下步骤:步骤1、针对bug报告,提取实体关系三元组集E,并根据实体关系三元组集E获取自然语言模式集S、支持实例集I和谓词集R;步骤2、根据步骤1获得的自然语言模式集S,确定实体关系三元组集E中的实体关系;步骤3、根据自然语言模式集S和实体关系三元组获取自然语言模式集S中每个自然语言模式对应的查询模板;步骤4、针对用户提出的问题q,识别q ...
【技术保护点】
1.一种基于模板的软件缺陷自动问答方法,其特征在于,包括以下步骤:步骤1、针对bug报告,提取实体关系三元组集E,并根据实体关系三元组集E获取自然语言模式集S、支持实例集I和谓词集R;步骤2、根据步骤1获得的自然语言模式集S,确定实体关系三元组集E中的实体关系;步骤3、根据自然语言模式集S和实体关系三元组获取自然语言模式集S中每个自然语言模式对应的查询模板;步骤4、针对用户提出的问题q,识别q中的实体并将其替换为实体类型获得问题q’;步骤5、根据步骤4获得的问题q’中的实体类型和步骤1获得的自然语言模式集S中的实体类型,获取问题q的候选查询模式,并求取每个候选查询模式与q’之间的相似度;步骤6、结合SPARQL查询语言,根据步骤3获得的查询模板、步骤5获得的候选查询模式与q’之间的相似度、问题q中的实体获取问题q的SPARQL查询模式λ(q);步骤7、由bug报告构建实体关系图G,并在该图G上搜索执行步骤6获得的λ(q),从而获得问题q的答案。
【技术特征摘要】
1.一种基于模板的软件缺陷自动问答方法,其特征在于,包括以下步骤:步骤1、针对bug报告,提取实体关系三元组集E,并根据实体关系三元组集E获取自然语言模式集S、支持实例集I和谓词集R;步骤2、根据步骤1获得的自然语言模式集S,确定实体关系三元组集E中的实体关系;步骤3、根据自然语言模式集S和实体关系三元组获取自然语言模式集S中每个自然语言模式对应的查询模板;步骤4、针对用户提出的问题q,识别q中的实体并将其替换为实体类型获得问题q’;步骤5、根据步骤4获得的问题q’中的实体类型和步骤1获得的自然语言模式集S中的实体类型,获取问题q的候选查询模式,并求取每个候选查询模式与q’之间的相似度;步骤6、结合SPARQL查询语言,根据步骤3获得的查询模板、步骤5获得的候选查询模式与q’之间的相似度、问题q中的实体获取问题q的SPARQL查询模式λ(q);步骤7、由bug报告构建实体关系图G,并在该图G上搜索执行步骤6获得的λ(q),从而获得问题q的答案。2.根据权利要求1所述的基于模板的软件缺陷自动问答方法,其特征在于,步骤1所述针对bug报告,提取实体关系三元组集E,并根据实体关系三元组集E获取自然语言模式集S、支持实例集I和谓词集R,具体为:步骤1-1、从bug报告中提取某些bug属性信息构成bug文本语料库D,提取D中的实体关系三元组集E;步骤1-2、针对实体关系三元组集E中的每个实体关系三元组e,从D中提取满足该实体关系三元组e的候选提及;所述候选提及具体为:文本语料库D中同时包含该实体关系三元组e的两个实体的句子集合;其中,e=<v1,r,v2>∈E式中,v1、v2均为实体,r为关系;步骤1-3、将步骤1-2获取的候选提及中的实体替换为实体对应的实体类型,从而获得每个实体关系三元组e对应的自然语言模式,所有的自然语言模式构成自然语言模式集S;其中,实体指bug属性的具体描述,实体类型指bug的属性;步骤1-4、文本语料库D中所有的实体以及实体关系构成支持实例集I,所有的谓词构成谓词集R;其中,实体关系包括前后继关系、重复关系,具体通过谓词体现。3.根据权利要求2所述的基于模板的软件缺陷自动问答方法,其特征在于,步骤1-1所述bug属性信息包括:BugID、Product、Component、Reported、Modified、Assignee、Reporter、QAContact、Summary、Description信息。4.根据权利要求3所述的基于模板的软件缺陷自动问答方法,其特征在于,步骤2所述根据步骤1获得的自然语言模式集S,确定实体关系三元组集E中的实体关系,具体为:步骤2-1、构造由支持实例集I、自然语言模式集S和谓词集R组成的模式三部图;具体为:对于任意自然语言模式s∈S,如果存在(v1,v2)为s的支持实例,则在(v1,v2)和s之间存在边,并且对于任意的谓词r∈R,如果存在r是自然语言模式s的支持实例中两个...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。