CN111597347B - 知识嵌入的缺陷报告重构方法及装置 - Google Patents
知识嵌入的缺陷报告重构方法及装置 Download PDFInfo
- Publication number
- CN111597347B CN111597347B CN202010330518.7A CN202010330518A CN111597347B CN 111597347 B CN111597347 B CN 111597347B CN 202010330518 A CN202010330518 A CN 202010330518A CN 111597347 B CN111597347 B CN 111597347B
- Authority
- CN
- China
- Prior art keywords
- embedding
- defect
- entity
- knowledge
- report
- 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
Links
- 230000007547 defect Effects 0.000 title claims abstract description 186
- 238000000034 method Methods 0.000 title claims abstract description 33
- 239000013598 vector Substances 0.000 claims abstract description 8
- 239000011159 matrix material Substances 0.000 claims description 42
- 238000004140 cleaning Methods 0.000 claims description 16
- 238000007781 pre-processing Methods 0.000 claims description 14
- 238000012512 characterization method Methods 0.000 claims description 11
- 230000002950 deficient Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 8
- 238000003058 natural language processing Methods 0.000 claims description 8
- 238000012216 screening Methods 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 claims description 7
- 230000011218 segmentation Effects 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 abstract description 5
- 238000000605 extraction Methods 0.000 abstract description 5
- 238000013135 deep learning Methods 0.000 abstract description 3
- 230000008520 organization Effects 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000009897 systematic effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 101100261006 Salmonella typhi topB gene Proteins 0.000 description 1
- 235000019013 Viburnum opulus Nutrition 0.000 description 1
- 244000071378 Viburnum opulus Species 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 101150032437 top-3 gene Proteins 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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/3332—Query translation
- G06F16/3338—Query expansion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种知识嵌入的缺陷报告重构方法及装置,属于软件缺陷领域。本发明将信息检索和信息抽取技术相结合,首先将异构的历史缺陷数据转化为统一的知识表示,进行***化的组织管理便于复用。在此基础上,从原始查询中学习词嵌入,从缺陷知识图谱中获取实体嵌入和实体上下文嵌入,并采用深度学习技术,将上述三种不同级别嵌入进行融合,生成一个统一的缺陷表示。该重构方法从细粒度的实体级别充分挖掘原始查询内部语义信息,扩展外部背景知识,并保留了查询原始结构,显著提高了缺陷检索的准确率。同时重构后的缺陷嵌入向量可直接作为匹配模型输入,广泛适于多种基于信息检索的缺陷分析任务。
Description
技术领域
本发明属于软件工程领域,具体涉及软件缺陷领域,特别是一种知识嵌入的缺陷报告重构方法及装置。
背景技术
软件缺陷是软件质量维护过程中所要解决的最严重的问题之一。每天有大量的缺陷被不断提交或重新打开,但是用户提交的缺陷报告往往缺失必要的信息,含有噪声甚至错误的信息,使得开发人员分析理解缺陷费时费力。目前,许多研究结合信息检索(IR)技术与各种文本特征提取方法,将新缺陷报告中的文本描述作为初始查询,根据相似度匹配自动搜索与之相关的历史缺陷文件来辅助理解新缺陷。但囿于新缺陷报告质量差,信息有限,往往无法获得满意的检索结果。针对这种情况,研究者主要采用两种方法来引入额外信息丰富查询:查询扩展和特征增强。但这两方法都直接将缺陷报告视作单词序列,额外信息也只以词或者特征向量的形式返回到原始查询中,忽视了缺陷报告中的语义信息,打断了内在结构关联,影响了检索的准确率。
在本发明之前,目前已有一些工作用来分析面向信息检索的缺陷重构技术。当无法返回所需的检索结果时,开发人员倾向于重构查询来重新进行检索,以提高检索效果。目前的查询重构方法主要分为三类:第一类为查询扩展,增加原始查询的相关信息。查询扩展是基于源代码检索的缺陷分析任务的最常见策略。研究者采用不同的方式选择可供扩展查询的额外信息,例如,Shepherd等人选择外部知识库WordNet的本体,Rahman等人筛选代码或其他软件文档中的共现术语,Panichella等人从相关性或伪相关性反馈结果中筛选共现或者频繁出现的术语;第二类为查询替换,用一系列新的术语替换部分原始查询。查询替换主要用于跟踪链接恢复,Gibiec等人从相似Web和领域文档中选择一组候选术语来代替初始查询。另一个策略例如Guo等人按照需求从常用术语跟踪语料库中抽取高频术语并将其用作新查询;第三类为查询删减,从原始查询中删除无用部分。Chaparro等人从缺陷报告中删除噪声数据,只选用标题和描述中的重现语句作为查询。Rahman等人采用了词共现和句法依存关系技术,以根据变更需求中最重要的词建立查询。Kevic等人发现变更需求中的特定术语具有检索相关代码文档的最高预测能力。以上的查询重构方法均只从单词级别对原始查询进行了处理,并不能很好地改善检索效果。
发明内容
本发明的目的在于克服上述现有技术存在的不足,提供一种基于缺陷知识图谱,采用深度学习融合多级信息嵌入重构缺陷报告的完整方法。
实现本发明目的的技术解决方案为:一种知识嵌入的缺陷报告重构方法,所述方法包括以下步骤:
步骤1,构建缺陷知识图谱;
步骤2,对新缺陷报告进行多级信息嵌入;
步骤3,融合多级信息嵌入结果实现重构所述新缺陷报告。
进一步地,步骤1所述构建缺陷知识图谱,具体过程包括:
步骤1-1,构建历史缺陷数据集Bugset;
步骤1-2,识别集合Bugset中的缺陷实体以及实体间的关系;
步骤1-3,将实体-关系-实体三元组存储至图数据库中,形成缺陷知识图谱;
步骤1-4,对缺陷知识图谱进行实体对齐和知识丰富;所述知识丰富包括增加共现实体、增加同义实体。
进一步地,步骤1-1所述构建历史缺陷数据集Bugset,具体包括:
采集已修复的历史缺陷报告;
提取所述已修复的历史缺陷报告的标题、描述和分类信息,生成缺陷文档;
利用自然语言处理工具对所述缺陷文档进行数据清洗;
对数据清洗后的缺陷文档进行预处理,形成历史缺陷数据集Bugset;所述预处理包括去除噪声、分句分词。
进一步地,步骤1-4中所述实体对齐包括:
对实体进行规范化处理,包括提取词干、转换大小写字母;
对实体进行相似度匹配。
进一步地,步骤1-4中所述共现实体通过PMI度量从集合Bugset中筛选获得,所述同义实体从开放知识库ConceptNet中筛选获得。
进一步地,步骤2所述多级信息嵌入包括:词嵌入、实体嵌入以及上下文嵌入。
进一步地,步骤2所述对新缺陷报告进行多级信息嵌入,包括:
步骤2-1,提取新缺陷报告中的标题和描述,进行合并后作为原始查询;
步骤2-2,利用自然语言处理工具对所述原始查询进行数据清洗,并对数据清洗后的原始查询进行预处理;所述预处理包括去除噪声、分句分词;
步骤2-3,进行词嵌入,包括:采用word2vec在历史缺陷数据集Bugset上预训练词嵌入,获得查询的词嵌入矩阵;
步骤2-4,进行实体嵌入,包括:
识别所述原始查询中的缺陷实体;
依据实体链接从所述缺陷知识图谱中学习所述缺陷实体对应的实体嵌入,获得查询的实体嵌入矩阵;其中,链接失败对应的实体嵌入设为0;
步骤2-5,进行上下文嵌入,包括:根据步骤2-4中所述缺陷实体在缺陷知识图谱中对应的最近邻实体学习该缺陷实体的上下文嵌入,获得查询的上下文嵌入矩阵;
步骤2-6,利用激活函数将上述三级嵌入转换到相同的向量空间,即将上述三级嵌入矩阵转换为相同维度。
进一步地,步骤3所述融合多级信息嵌入结果实现重构所述新缺陷报告,具体包括:
步骤3-1,利用自注意机制模型对所述原始查询中的单词和实体赋予权重,将所述三级嵌入矩阵转换为三级特征化嵌入矩阵;
步骤3-2,利用CNN模型对所述三级特征化嵌入矩阵进行融合,获得新的查询,即实现新缺陷报告的重构。
一种知识嵌入的缺陷报告重构装置,包括:
存储器,用于存储程序;
处理器,用于运行所述程序;
其中,所述程序在所述处理器中运行时,用于执行以下步骤:
步骤1,构建缺陷知识图谱;
步骤2,对新缺陷报告进行多级信息嵌入;
步骤3,融合多级信息嵌入结果实现重构所述新缺陷报告。
本发明与现有技术相比,其显著优点包括:
1)从实体级别丰富查询信息:实体是知识的最小单元,是比单词更细粒度的信息。从实体级别重构查询,一方面大量历史缺陷数据被统一表示为实体-关系-实体三元组,便于组织、复用,引入原始查询;一方面从新缺陷报告描述中抽取实体,充分挖掘自身语义信息。具体地:
(1-1)本发明从开源项目的缺陷跟踪***中选取已确认修复的历史缺陷报告,采用信息抽取技术自动识别缺陷知识,即缺陷实体和实体关系,并用图数据库Neo4j进行存储和管理,构建缺陷知识图谱作为外部数据源。现有研究中,用来丰富新缺陷信息的外部数据源主要是软件文献、代码文件或者开放知识库,而非直属于软件缺陷领域,引入额外信息的同时也引入大量噪声。缺陷知识图谱是软件缺陷领域专用知识库,能针对查询提供大规模、高质量的可扩展缺陷信息。
(1-2)本发明以缺陷知识图谱作为外部数据源,供原始查询扩展的缺陷信息是更加细粒度的知识(即实体与关系)而非术语(即单词)。现有技术是从单词级别,匹配查询中的关键词来进行扩展,会引入不相关或者不准确的信息。本发明首先识别查询中的实体,即查询中最重要的部分,通过实体链接技术,综合匹配实体和属性来确定扩展对象,实现精准扩展。
(1-3)缺陷报告并非一般的自然语言文本,含有大量的短语、短句、非规范性用词、专业词汇等等。单词和单词之间存在着非常紧密的语义联系,不单单是句法依存关系。本发明采用信息抽取技术从新缺陷报告中抽取缺陷实体和实体关系,保留了内部的结构特征和语义信息。
2)融合多级嵌入表示查询:采用深度学习,融合内外多级信息嵌入,生成独立缺陷表示,直接作为多种缺陷分析模型输入。具体地:
(2-1)本发明采用翻译模型TransE学习知识图谱中的实体嵌入和关系嵌入。在此基础上,以嵌入形式(embedding)将外部数据源中的历史缺陷信息引入原始查询,无需繁杂的人工特征工程,提高***的计算效率。同时不仅从知识图谱中获取实体嵌入(entityembedding),还从目标实体的关联实体中获取上下文嵌入(context embedding),为每个实体提供了更全面、更丰富的信息。
(2-2)本发明采用自注意力机制识别出查询中的更重要的单词和实体,进一步放大了查询内部的结构特征。采用CNN模型融合多级信息嵌入,保留查询结构,将缺陷表示为一个独立嵌入向量。在基于信息检索的缺陷分析任务中,该缺陷嵌入可直接作为匹配模型输入,易于计算缺陷之间的相似度。
下面结合附图对本发明作进一步详细描述。
附图说明
图1为一个实施例中知识嵌入的缺陷报告重构方法流程图。
图2为一个实施例中构建的缺陷知识图谱示意图。
图3为一个实施例中定义的实体上下文示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
在一个实施例中,结合图1,提供了一种知识嵌入的缺陷报告重构方法,该方法包括以下步骤:
步骤1,构建缺陷知识图谱;
步骤2,对新缺陷报告进行多级信息嵌入;
步骤3,融合多级信息嵌入结果实现重构所述新缺陷报告。
进一步地,在其中一个实施例中,步骤1中构建缺陷知识图谱,具体过程包括:
步骤1-1,构建历史缺陷数据集Bugset;
步骤1-2,识别集合Bugset中的缺陷实体以及实体间的关系;
这里,采用命名实体识别技术自动识别缺陷实体。
步骤1-3,将实体-关系-实体三元组存储至图数据库中,形成缺陷知识图谱;
这里,图数据库采用Neo4j。
步骤1-4,对缺陷知识图谱进行实体对齐和知识丰富;该知识丰富包括增加共现实体、增加同义实体。
进一步地,在其中一个实施例中,步骤1-1中构建历史缺陷数据集Bugset,具体包括:
采集已修复的历史缺陷报告;
这里,可以从开源项目Mozilla的缺陷跟踪***中采集已确认修复的历史缺陷报告。
提取所述已修复的历史缺陷报告的标题、描述和分类信息,生成缺陷文档;
利用自然语言处理工具对所述缺陷文档进行数据清洗;
这里,数据清洗包括删除链接,代码片段和XML标记等。
对数据清洗后的缺陷文档进行预处理,形成历史缺陷数据集Bugset;所述预处理包括去除噪声、分句分词。
进一步地,在其中一个实施例中,步骤1-4中实体对齐包括:
对实体进行规范化处理,包括提取词干、转换大小写字母;
这里,利用NLTK工具对实体进行规范化处理。
对实体进行相似度匹配。
进一步地,在其中一个实施例中,步骤1-4中的共现实体通过PMI度量从集合Bugset中筛选获得,同义实体从开放知识库ConceptNet中筛选获得。
进一步地,在其中一个实施例中,步骤2中多级信息嵌入包括:词嵌入、实体嵌入以及上下文嵌入。
进一步地,在其中一个实施例中,步骤2中对新缺陷报告进行多级信息嵌入,包括:
步骤2-1,提取新缺陷报告中的标题和描述,进行合并后作为原始查询;
步骤2-2,利用自然语言处理工具对所述原始查询进行数据清洗,并对数据清洗后的原始查询进行预处理;所述预处理包括去除噪声、分句分词;
步骤2-3,进行词嵌入,包括:采用word2vec在历史缺陷数据集Bugset上预训练词嵌入,获得查询的词嵌入矩阵;
步骤2-4,进行实体嵌入,包括:
识别所述原始查询中的缺陷实体;
依据实体链接从所述缺陷知识图谱中学习所述缺陷实体对应的实体嵌入,获得查询的实体嵌入矩阵;其中,链接失败对应的实体嵌入设为0;
步骤2-5,进行上下文嵌入,包括:根据步骤2-4中所述缺陷实体在缺陷知识图谱中对应的最近邻实体学习该缺陷实体的上下文嵌入,获得查询的上下文嵌入矩阵;
步骤2-6,利用激活函数将上述三级嵌入转换到相同的向量空间,即将上述三级嵌入矩阵转换为相同维度。
进一步地,在其中一个实施例中,步骤3中融合多级信息嵌入结果实现重构所述新缺陷报告,具体包括:
步骤3-1,利用自注意机制模型对所述原始查询中的单词和实体赋予权重,将所述三级嵌入矩阵转换为三级特征化嵌入矩阵;
具体地,分别利用三组自注意机制模型对所述词嵌入、实体嵌入、上下文嵌入赋予权重,将所述三级嵌入矩阵转换为三级特征化嵌入矩阵。
步骤3-2,利用CNN模型对所述三级特征化嵌入矩阵进行融合,获得新的查询,即实现新缺陷报告的重构。
这里具体地,是将三级特征化嵌入矩阵分别送到CNN模型的三通道进行融合。
作为一种具体示例,对本发明的知识嵌入的缺陷报告重构方法进行进一步说明,具体包括:
步骤1)首先从开源项目Mozilla的缺陷跟踪***中,选取已确认修复的历史缺陷报告,如下表1所示,提取其标题和描述合并为缺陷文档,使用自然语言处理工具包(NLTK)对缺陷文档进行数据清洗,例如删除链接,代码片段和XML标记等。对文档进一步分句分词,每个文档都被转换为一系列的token。这些预处理后的缺陷文档构成历史缺陷数据集Bugset。
表1缺陷文档示例
定义缺陷实体为两种类型:缺陷类实体和文本类实体。每一个缺陷报告是一个缺陷类实体实例,如图2中的浅色圆形标识,实体值为其缺陷ID,实体属性为缺陷报告中的分类信息,如表1中的Component、Product等等。每个缺陷报告的缺陷文档中含有许多文本类实体,描述了缺陷症状,如图2中深色圆形标识,实体值为字符串,实体属性为其描述缺陷所属组件类型。使用BiLSTM-CRF模型自动识别Bugset中的文本类实体(表1的缺陷文档中以粗体标示),抽取文本类实体之间的关系,并以实体-关系-实体的三元组形式存储在图数据库Neo4j中,构建缺陷知识图谱如图2所示,定义为G=(E,R),实体E为节点,关系R为边。
采用NLTK工具对知识图谱中的文本类实体值进行规范化处理,使用Snowballstemmer提取词干,Truecase转换大小写字母,采用最小编辑距离和jacard算法计算文本类实体值和实体类别相似度完成实体对齐。采用PMI度量(Pointwise Mutual Information)从Bugset中筛选top5共现文本类实体,从开放知识库ConceptNet中筛选top3同义文本类实体来丰富知识图谱。
步骤2)抽取新缺陷报告中的标题和描述合并为原始查询文档Q,使用NLTK对查询文档进行数据清洗并分词为单词序列Q={w1,w2,…,wn},n为文档长度。采用word2vec在Bugset上预训练词嵌入(word embedding),获得查询的词嵌矩阵QW=[W1,W2,…,Wn]∈Rd×n,d为词嵌维度。
采用翻译算法学习步骤1缺陷知识图谱中的实体表示,使用BiLSTM-CRF模型自动识别查询文档中的文本类实体。通过实体链接,即计算查询中的文本类实体指代和知识图谱中的候选文本类实体值相似度,从步骤1构建的缺陷知识图谱中学习对应的实体嵌入(entity embedding),获得查询的实体嵌入矩阵Qe=[e1,e2,…,en]∈Rk×n,k为实体嵌入维度。链接失败的实体嵌入设为0。
如图3所示,定义实体的上下文为知识图谱中实体与其最近邻实体:缺陷类实体context(e')和文本类实体context(e”)构成的子图。根据相邻实体嵌入计算实体的上下文嵌入获得查询的上下文嵌入矩阵Qc=[c1,c2,…,cn]∈Rk×n,k为上下文嵌入维度,同实体嵌入维度。
为使三级嵌入保持相同的维度,采用激活函数tanh函数将实体嵌入和上下文嵌入的维度k转换为与词嵌相同的维度d,如下:
g(ei)=tanh(Mei+b)M∈Rd×k b∈Rd×1
g(Qe)=[g(e1)g(e2)…g(en)]
g(Qc)=[g(c1)g(c2)…g(cn)]
至此,查询被表示为三级嵌入矩阵。
3)分别通过三组自注意机制(self-attention mechanism)模型对原始查询中的单词和实体赋予权重,将步骤2中获得的三级嵌入矩阵转换为三级特征化嵌入矩阵,以词嵌矩阵为例,过程如下:
首先通过全连接层传递词嵌矩阵QW,使用tanh函数将其激活,以获得新的词嵌矩阵XW=QWWS2tanh(WS1QW+b')∈Rn×n,WS1,WS2,b'为参数。然后使用softmax函数来处理矩阵XW的每一行,以形成自注意矩阵AW,其中每个元素词嵌Wi根据其在查询文档中的重要性被赋予权重,转换为特征化词嵌/>同理,实体嵌入ei被转换为特征化实体嵌入/>上下文嵌入ci被转换为特征化上下文嵌入/>
将经过自注意力层处理得到的三级特征化嵌入矩阵分别送入CNN模型的三个通道,形成输入矩阵W=[[tW1te1tc1][tW2te2tc2]…[tWntentcn]]∈Rd×n×3。卷积层应用多个滤波器h∈Rd×l×3(不同窗口大小l),从输入矩阵中提取特定的局部特征池化层采用max-over-time pooling从卷积层输出的多个局部特征中提取最大值池化层的输出通过全连接的方式生成查询的最终表示/>m为滤波器数量。
在一个实施例中,提供了一种知识嵌入的缺陷报告重构装置,包括:
存储器,用于存储程序;
处理器,用于运行所述程序;
其中,所述程序在所述处理器中运行时,用于执行以下步骤:
步骤1,构建缺陷知识图谱;
步骤2,对新缺陷报告进行多级信息嵌入;
步骤3,融合多级信息嵌入结果实现重构所述新缺陷报告。
这里,对每一个步骤的具体限定参照上述对知识嵌入的缺陷报告重构方法的限定,在此不再赘述。
本发明提出的知识嵌入的缺陷报告重构方法,使用多级嵌入,融合原始数据内部的语义知识和额外历史缺陷知识,生成一个统一的缺陷嵌入来表示查询。不同的软件项目都可以参照本发明提出的方法,将信息检索和信息抽取技术相结合,一方面抽取历史缺陷数据,转化为统一的知识表示,进行***化的组织管理便于复用;另一方面对待修复的新缺陷,从细粒度的实体级别引入背景知识进行重构,极大丰富查询信息量,提高缺陷检索的准确率。同时重构后的缺陷嵌入向量可直接作为匹配模型输入,广泛适于多种基于信息检索的缺陷分析任务。
以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (7)
1.知识嵌入的缺陷报告重构方法,其特征在于,所述方法包括以下步骤:
步骤1,构建缺陷知识图谱;
步骤2,对新缺陷报告进行多级信息嵌入;
步骤3,融合多级信息嵌入结果实现重构所述新缺陷报告;
步骤2所述多级信息嵌入包括:词嵌入、实体嵌入以及上下文嵌入;
步骤2所述对新缺陷报告进行多级信息嵌入,包括:
步骤2-1,提取新缺陷报告中的标题和描述,进行合并后作为原始查询;
步骤2-2,利用自然语言处理工具对所述原始查询进行数据清洗,并对数据清洗后的原始查询进行预处理;所述预处理包括去除噪声、分句分词;
步骤2-3,进行词嵌入,包括:采用word2vec在历史缺陷数据集Bugset上预训练词嵌入,获得查询的词嵌入矩阵;
步骤2-4,进行实体嵌入,包括:
识别所述原始查询中的缺陷实体;
依据实体链接从所述缺陷知识图谱中学习所述缺陷实体对应的实体嵌入,获得查询的实体嵌入矩阵;其中,链接失败对应的实体嵌入设为0;
步骤2-5,进行上下文嵌入,包括:根据步骤2-4中所述缺陷实体在缺陷知识图谱中对应的最近邻实体学习该缺陷实体的上下文嵌入,获得查询的上下文嵌入矩阵;
步骤2-6,利用激活函数将上述多级信息嵌入转换到相同的向量空间,即将上述多级嵌入矩阵转换为相同维度。
2.根据权利要求1所述的知识嵌入的缺陷报告重构方法,其特征在于,步骤1所述构建缺陷知识图谱,具体过程包括:
步骤1-1,构建历史缺陷数据集Bugset;
步骤1-2,识别集合Bugset中的缺陷实体以及实体间的关系;
步骤1-3,将实体-关系-实体三元组存储至图数据库中,形成缺陷知识图谱;
步骤1-4,对缺陷知识图谱进行实体对齐和知识丰富;所述知识丰富包括增加共现实体、增加同义实体。
3.根据权利要求2所述的知识嵌入的缺陷报告重构方法,其特征在于,步骤1-1所述构建历史缺陷数据集Bugset,具体包括:
采集已修复的历史缺陷报告;
提取所述已修复的历史缺陷报告的标题、描述和分类信息,生成缺陷文档;
利用自然语言处理工具对所述缺陷文档进行数据清洗;
对数据清洗后的缺陷文档进行预处理,形成历史缺陷数据集Bugset;所述预处理包括去除噪声、分句分词。
4.根据权利要求2所述的知识嵌入的缺陷报告重构方法,其特征在于,步骤1-4中所述实体对齐包括:
对实体进行规范化处理,包括提取词干、转换大小写字母;
对实体进行相似度匹配。
5.根据权利要求2所述的知识嵌入的缺陷报告重构方法,其特征在于,步骤1-4中所述共现实体通过PMI度量从集合Bugset中筛选获得,所述同义实体从开放知识库ConceptNet中筛选获得。
6.根据权利要求1所述的知识嵌入的缺陷报告重构方法,其特征在于,步骤3所述融合多级信息嵌入结果实现重构所述新缺陷报告,具体包括:
步骤3-1,利用自注意机制模型对所述原始查询中的单词和实体赋予权重,将所述多级嵌入矩阵转换为多级特征化嵌入矩阵;
步骤3-2,利用CNN模型对所述多级特征化嵌入矩阵进行融合,获得新的查询,即实现新缺陷报告的重构。
7.知识嵌入的缺陷报告重构装置,其特征在于,所述装置包括:
存储器,用于存储程序;
处理器,用于运行所述程序;
其中,所述程序在所述处理器中运行时,用于执行以下步骤:
步骤1,构建缺陷知识图谱;
步骤2,对新缺陷报告进行多级信息嵌入;
步骤3,融合多级信息嵌入结果实现重构所述新缺陷报告;
步骤2所述多级信息嵌入包括:词嵌入、实体嵌入以及上下文嵌入;
步骤2所述对新缺陷报告进行多级信息嵌入,包括:
步骤2-1,提取新缺陷报告中的标题和描述,进行合并后作为原始查询;
步骤2-2,利用自然语言处理工具对所述原始查询进行数据清洗,并对数据清洗后的原始查询进行预处理;所述预处理包括去除噪声、分句分词;
步骤2-3,进行词嵌入,包括:采用word2vec在历史缺陷数据集Bugset上预训练词嵌入,获得查询的词嵌入矩阵;
步骤2-4,进行实体嵌入,包括:
识别所述原始查询中的缺陷实体;
依据实体链接从所述缺陷知识图谱中学习所述缺陷实体对应的实体嵌入,获得查询的实体嵌入矩阵;其中,链接失败对应的实体嵌入设为0;
步骤2-5,进行上下文嵌入,包括:根据步骤2-4中所述缺陷实体在缺陷知识图谱中对应的最近邻实体学习该缺陷实体的上下文嵌入,获得查询的上下文嵌入矩阵;
步骤2-6,利用激活函数将上述多级信息嵌入转换到相同的向量空间,即将上述多级嵌入矩阵转换为相同维度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010330518.7A CN111597347B (zh) | 2020-04-24 | 2020-04-24 | 知识嵌入的缺陷报告重构方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010330518.7A CN111597347B (zh) | 2020-04-24 | 2020-04-24 | 知识嵌入的缺陷报告重构方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111597347A CN111597347A (zh) | 2020-08-28 |
CN111597347B true CN111597347B (zh) | 2023-11-10 |
Family
ID=72191947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010330518.7A Active CN111597347B (zh) | 2020-04-24 | 2020-04-24 | 知识嵌入的缺陷报告重构方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111597347B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112346974B (zh) * | 2020-11-07 | 2023-08-22 | 重庆大学 | 基于深度特征嵌入的跨移动应用程序即时缺陷预测方法 |
CN112671716B (zh) * | 2020-12-03 | 2022-07-05 | 中国电子科技网络信息安全有限公司 | 基于图谱的漏洞知识挖掘方法及*** |
CN112380298B (zh) * | 2020-12-03 | 2024-06-18 | 成都航天科工大数据研究院有限公司 | 一种油气管道缺陷修复的知识图谱构建方法及*** |
CN112948547B (zh) * | 2021-01-26 | 2024-04-09 | 中国石油大学(北京) | 测井知识图谱构建查询方法、装置、设备及存储介质 |
CN113011461B (zh) * | 2021-02-19 | 2022-08-05 | 中国科学院软件研究所 | 通过知识学习增强基于分类的软件需求跟踪链接恢复方法及电子装置 |
CN113010690B (zh) * | 2021-03-29 | 2022-11-18 | 华南理工大学 | 一种基于文本信息增强实体嵌入的方法 |
CN113326062A (zh) * | 2021-05-25 | 2021-08-31 | 扬州大学 | 一种面向软件缺陷的多轮自动问答方法、***、计算机设备和存储介质 |
CN113434418A (zh) * | 2021-06-29 | 2021-09-24 | 扬州大学 | 知识驱动的软件缺陷检测与分析方法及*** |
CN114048148A (zh) * | 2022-01-13 | 2022-02-15 | 广东拓思软件科学园有限公司 | 一种众包测试报告推荐方法、装置及电子设备 |
CN114328277A (zh) * | 2022-03-11 | 2022-04-12 | 广东省科技基础条件平台中心 | 一种软件缺陷预测和质量分析方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959433A (zh) * | 2018-06-11 | 2018-12-07 | 北京大学 | 一种从软件项目数据中提取知识图谱并问答的方法与*** |
CN110083690A (zh) * | 2019-04-10 | 2019-08-02 | 华侨大学 | 一种基于智能问答的对外汉语口语训练方法及*** |
CN110413732A (zh) * | 2019-07-16 | 2019-11-05 | 扬州大学 | 面向软件缺陷知识的知识搜索方法 |
CN110457491A (zh) * | 2019-08-19 | 2019-11-15 | 中国农业大学 | 一种基于游离状态节点的知识图谱重构方法及装置 |
CN110502361A (zh) * | 2019-08-29 | 2019-11-26 | 扬州大学 | 面向bug报告的细粒度缺陷定位方法 |
-
2020
- 2020-04-24 CN CN202010330518.7A patent/CN111597347B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959433A (zh) * | 2018-06-11 | 2018-12-07 | 北京大学 | 一种从软件项目数据中提取知识图谱并问答的方法与*** |
CN110083690A (zh) * | 2019-04-10 | 2019-08-02 | 华侨大学 | 一种基于智能问答的对外汉语口语训练方法及*** |
CN110413732A (zh) * | 2019-07-16 | 2019-11-05 | 扬州大学 | 面向软件缺陷知识的知识搜索方法 |
CN110457491A (zh) * | 2019-08-19 | 2019-11-15 | 中国农业大学 | 一种基于游离状态节点的知识图谱重构方法及装置 |
CN110502361A (zh) * | 2019-08-29 | 2019-11-26 | 扬州大学 | 面向bug报告的细粒度缺陷定位方法 |
Non-Patent Citations (1)
Title |
---|
Basma El Amel Boussaha等.End-to-end response selection based on multi-level context response matching.《Computer Speech & Language》.2020,第1-17页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111597347A (zh) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111597347B (zh) | 知识嵌入的缺陷报告重构方法及装置 | |
CN107239529B (zh) | 一种基于深度学习的舆情热点类别划分方法 | |
CN110597735A (zh) | 一种面向开源软件缺陷特征深度学习的软件缺陷预测方法 | |
CN104408173B (zh) | 一种基于b2b平台的核心关键词自动提取方法 | |
CN112732934B (zh) | 电网设备分词词典和故障案例库构建方法 | |
CN111428054A (zh) | 一种网络空间安全领域知识图谱的构建与存储方法 | |
CN109408578B (zh) | 一种针对异构环境监测数据融合方法 | |
CN111427775B (zh) | 一种基于Bert模型的方法层次缺陷定位方法 | |
CN111914550B (zh) | 一种面向限定领域的知识图谱更新方法及*** | |
CN113779272A (zh) | 基于知识图谱的数据处理方法、装置、设备及存储介质 | |
US20210350125A1 (en) | System for searching natural language documents | |
CN111190968A (zh) | 基于知识图谱的数据预处理和内容推荐方法 | |
CN116484024A (zh) | 一种基于知识图谱的多层次知识库构建方法 | |
CN116245107B (zh) | 电力审计文本实体识别方法、装置、设备及存储介质 | |
CN116127084A (zh) | 基于知识图谱的微电网调度策略智能检索***及方法 | |
CN110765781A (zh) | 一种领域术语语义知识库人机协同构建方法 | |
CN114265935A (zh) | 一种基于文本挖掘的科技项目立项管理辅助决策方法及*** | |
CN116108191A (zh) | 一种基于知识图谱的深度学习模型推荐方法 | |
CN116306923A (zh) | 一种基于知识图谱的评价权重计算方法 | |
CN109858550B (zh) | 潜在工艺失效模式机器识别方法 | |
CN115292490A (zh) | 一种用于政策解读语义的分析算法 | |
CN117453851B (zh) | 基于知识图谱的文本索引增强问答方法及*** | |
CN117725222B (zh) | 融合知识图谱与大语言模型的文献复杂知识对象抽取方法 | |
CN117216221A (zh) | 一种基于知识图谱的智能问答***及构建方法 | |
CN116894495A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |