CN111898337B - 一种基于深度学习的单句摘要缺陷报告标题自动生成方法 - Google Patents
一种基于深度学习的单句摘要缺陷报告标题自动生成方法 Download PDFInfo
- Publication number
- CN111898337B CN111898337B CN202010667056.8A CN202010667056A CN111898337B CN 111898337 B CN111898337 B CN 111898337B CN 202010667056 A CN202010667056 A CN 202010667056A CN 111898337 B CN111898337 B CN 111898337B
- Authority
- CN
- China
- Prior art keywords
- sample
- defect report
- word
- model
- type
- 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 177
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000013135 deep learning Methods 0.000 title claims abstract description 20
- 238000012549 training Methods 0.000 claims abstract description 56
- 230000007246 mechanism Effects 0.000 claims abstract description 42
- 230000014509 gene expression Effects 0.000 claims abstract description 37
- 238000003062 neural network model Methods 0.000 claims abstract description 33
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 31
- 230000010076 replication Effects 0.000 claims abstract description 31
- 230000011218 segmentation Effects 0.000 claims abstract description 17
- 238000013136 deep learning model Methods 0.000 claims description 34
- 238000003780 insertion Methods 0.000 claims description 22
- 230000037431 insertion Effects 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 19
- 210000002569 neuron Anatomy 0.000 claims description 16
- 239000013598 vector Substances 0.000 claims description 14
- 238000009826 distribution Methods 0.000 claims description 13
- 230000001537 neural effect Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 10
- 238000005457 optimization Methods 0.000 claims description 9
- 238000012216 screening Methods 0.000 claims description 8
- 239000002356 single layer Substances 0.000 claims description 6
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 4
- 238000012512 characterization method Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 3
- 238000007689 inspection Methods 0.000 claims description 3
- 238000002372 labelling Methods 0.000 claims description 3
- 239000010410 layer Substances 0.000 claims description 3
- 230000008569 process Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000033458 reproduction Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Classifications
-
- 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
-
- 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/34—Browsing; Visualisation therefor
- G06F16/345—Summarisation for human users
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/117—Tagging; Marking up; Designating a block; Setting of attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/258—Heading extraction; Automatic titling; Numbering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明提出了一种基于深度学习的单句摘要缺陷报告标题自动生成方法。本发明获取开源缺陷报告样本作为原始数据集,构建三个判别模型对原始数据集中样本进行评估,选择合格样本构建正式数据集;引入多种人工命名词汇类型并构建对应正则表达式用于提取和定位正式数据集样本主体内容中的人工命名词汇,在每个人工命名词汇前后***类型标记,并分别对样本的标题和***标记后的主体内容进行分词和小写化处理构建训练数据集;搭建带复制机制的编解码循环神经网络模型,在训练数据集上训练获得优化后的模型;向优化后的模型输入待拟定标题的缺陷报告主体内容,模型即可自动生成对应标题。本发明提高了用户撰写标题的质量和效率。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种基于深度学习的单句摘要缺陷报告标题自动生成方法。
背景技术
软件缺陷报告在软件开发中起着至关重要的作用,被大量软件仓库收录。包含高质量内容的缺陷报告有助于软件缺陷的理解、重现、定位和修复。作为软件缺陷报告的必填内容之一,高质量的缺陷报告标题可传递缺陷报告具体情况细节的核心思想,帮助项目维护人员快速理解该缺陷报告,从而更有效地为其分配适当的标签,设置优先级,或制定合适的缺陷分流策略。然而,由于水平不一致、撰写时间受限等原因,从业过程中人工撰写的缺陷报告标题的质量难以得到保障。
目前软件开发生产过程中常用的一种方法是:为缺陷报告标题提供格式说明,例如要求缺陷报告标题包含正确的关键信息、描述凝练,指导缺陷报告作者在撰写的缺陷报告中以清晰易读的形式提供有效信息。
现有技术方法仍然依赖于缺陷报告作者本身的能力和对要求的执行情况。对于撰写时间紧迫所造成的临时标题、作者撰写水平有限而无法以准确凝练的形式描述缺陷所造成的低质量标题等情况无显著缓解作用。
针对上述效果不足,一种可行的改进是为缺陷报告自动生成标题,主动地为缺陷报告自动生成高质量标题,作为用户撰写参考或低质量标题的替代。随着基于深度学习技术的摘要方法的不断演化,使用深度学习技术设计监督学习方法以自动生成简洁凝练的抽象摘要作为标题在新闻标题生成等领域已有一定的应用。
关于将现有基于深度学习的摘要生成方法应用于缺陷报告标题自动生成任务,存在如下技术问题:
无现成高质量数据集,且开源渠道获取的数据质量不一无法直接作为数据集使用。基于大数据进行学习的神经网络模型始终需要符合任务要求的高质量的数据样本进行训练,否则模型训练过程中可能会出现训练效率低下或学习方向错误等问题。直接从开源社区渠道获取、未经筛选的数据集中可能包含大量存在标题质量不佳、形式非单句摘要等无效缺陷报告样本,无法直接作为训练数据集使用。
无法有效处理词频较低的人工命名词汇,人工命名词汇例如标识符、版本号等人工命名词汇往往特定于缺陷报告和所属的软件仓库,不同的项目中通常包含不同的人工命名词汇,因而缺陷报告中具有无法穷尽的人工命名词汇拼写形式,而每个人工命名词汇的词频又相对较低。然而,由于神经摘要模型需要通过不断反复调整词嵌入向量等记录在模型的固定词例表中的词例的相关参数来学习、理解和生成目标词例,语料中的低频词汇通常无法被很好地被模型处理。人工命名词汇在本任务中非常常见,且通常带有关于缺陷报告的关键信息,如故障对象、环境等内容。在缺陷报告标题生成过程中,这些人工命名词汇不应该被忽视,或是简单地将其统一为未知标记词汇进行处理。
发明内容
有鉴于此,本发明提供了一种基于深度学习的单句摘要缺陷报告标题自动生成方法,解决现有技术中的方法存在的问题,提供了一个专门针对于高质量缺陷报告标题自动生成的专用方法。
本发明提供了一种基于深度学习的单句摘要缺陷报告标题自动生成方法,包括:
步骤1:从开源渠道获取海量缺陷报告样本作为原始数据集,分别构建第一判别模型、第二判别模型、第三判别模型,将原始数据集中每个缺陷报告样本根据根据第一判别模型、第二判别模型、第三判别模型依次进行数据筛选得到正式数据集中每个样本;
步骤2:引入多种人工命名词汇类型并构建每种人工命名词汇类型对应正则表达式,依次使用正则表达式提取正式数据集中缺陷报告样本的主体内容所属人工命名词汇类型以构建人工命名词汇集,将每种人工命名词汇类型分配对应的类型辅助词汇,依次在正式数据集中缺陷报告样本的主体内容中定位人工命名词汇集的每个词汇,进行***标记得到缺陷报告样本***标记后的主体内容,分别对缺陷报告样本的标题以及缺陷报告样本***标记后的主体内容进一步进行分词处理、小写化处理构建深度学习模型训练数据集;
步骤3:搭建带复制机制的编解码循环神经网络模型,构建基于负对数似然损失函数模型,进一步在深度学习模型训练数据集上训练以构建优化后带复制机制的编解码循环神经网络模型;
步骤4:向优化后带复制机制的编解码循环神经网络模型输入已标记、分词、小写化的缺陷报告主体内容,通过优化后带复制机制的编解码循环神经网络模型对输入进行预测,得到结果即为模型为输入的缺陷报告主体内容所自动生成的标题。
作为优选,步骤1所述从开源渠道获取海量缺陷报告样本作为原始数据集为:
所述原始数据集中的每个样本为:
si=(bi,ti),i∈[1,M]
其中,bi为原始数据集中第i个缺陷报告样本的主体内容,ti为原始数据集中第i个缺陷报告样本的的内容标题,M为原始数据集中缺陷报告样本数量;
步骤1所述构建第一判别模型为:
对于第i个样本si=(bi,ti),i∈[1,M],使用链接正则表达式匹配ti中的所有链接并将链接数量记为使用单词正则表达式匹配ti中的所有单词并将单词数量记为
若(其中Lmin和Lmax分别是可设置的长度最长/最短阈值参数)三个条件中至少有一个成立,则ti被认为质量不符合要求,si将被筛去;
步骤1所述构建第二判别模型为:
对于第i个样本si=(bi,ti),i∈[1,M],使用单词正则表达式匹配ti中的所有单词,记在ti中匹配识别到的单词数量为ti中的单词序列为/> 使用单词正则表达式统计bi中的所有单词,记在bi中匹配识别到的单词数量为/>bi中的单词序列为/>
统计同时存在于Ti与Bi中的单词,并记其数量为
检查与/>的大小关系,若/>(其中θrule2为可配置的词汇重复比例阈值参数),则ti与bi被认为非摘要与细节的关系。由于该情况不符合摘要式标题生成的样本要求,si将被筛去;
步骤1所述构建第三判别模型为:
对于第i个样本si=(bi,ti),i∈[1,M],记ti的长度为
构建匹配ti词序列子串的正则表达式
使用在bi中匹配所有是ti词序列子串的字符串,记匹配的结果为其中/>为结果个数,/>为/>在bi中进行匹配到的字符串;
对于每一条匹配到的字符串统计/>的词数并记为/>
检查每个与/>的大小关系,若存在任意一个/> (其中θrule3为可配置的子串重复比例阈值参数),则ti被认为是直接摘抄bi中原句的情况。由于该情况不符合摘要式标题生成的样本要求,si将被筛去。
步骤1所述将原始数据集中每个缺陷报告样本根据根据第一判别模型、第二判别模型、第三判别模型依次进行数据筛选为:
若si可通过所有三个判别模型的检测,则将si纳入正式数据集;
步骤1所述所述正式数据集中每个样本为:
其中,为正式数据集中第j个缺陷报告样本的主体内容,/>为/>对应的标题,M*为正式数据集中缺陷报告样本数量且M*≤M;
作为优选,步骤2所述引入多种类型人工命名词汇为:
Q种人工命名词汇的类型为:{type1,type2...,typeQ};
步骤2所述构建每种人工命名词汇类型对应正则表达式为:
Q个正则表达式即{regexp1,regexp2,...,regexpQ},第q个正则表regexpq达式用于匹配第q种类型typeq的人工命名词汇;
步骤2所述依次使用正则表达式提取正式数据集中缺陷报告样本的主体内容所属人工命名词汇类型为:
对于正式数据集中每个样本j∈[1,M*],依次使用regexpq提取/>中类型为typeq的人工命名词汇,其中q∈[1,Q];
记中包含的类型为typeq的人工命名词汇的个数为/> 中包含的类型为typeq的人工命名词汇集为/>其中q∈[1,Q],/>是正式数据集中第j个样本主体内容中第k个类型为typeq的人工命名词,/>
步骤2所述将每种人工命名词汇类型分配对应的类型辅助词汇为:
对于每个人工命名词汇类型typeq,为每个类型分配对应的类型辅助词汇<typeq before,typeq after>,其中q∈[1,Q],所有typeq before和typeq after均互不相同,typeq before是类型为typeq的人工命名词的前置标记,typeq after是类型为typeq的人工命名词的后置标记;
步骤2所述依次在正式数据集中缺陷报告样本的主体内容中定位人工命名词汇集的每个词汇为:
对于正式数据集中的每个样本j∈[1,M*],对于q∈[1,Q],依次在/>中定位/>中的每个词汇/>
步骤2所述进行***标记为:
在中的每个/>之前***一个typeq before、之后***一个typeq after,记缺陷报告样本***标记后的主体内容为/>
在缺陷报告样本已***标记后的主体内容即中,typeq before与typeq after将可以显式地表示其所包围住的人工命名词汇的类型,从而辅助神经模型识别和理解被其包围的人工命名词汇;
步骤2所述分别对缺陷报告样本的标题以及缺陷报告样本***标记后的主体内容进行分词处理和小写化处理并构建深度学习模型训练数据集为:
对于j∈[1,M*],依次分别对缺陷报告样本的标题与缺陷报告样本***标记后的主体内容进行分词处理、小写化处理,分别得到t′j与b′j,其中/> 为/>的词例序列,/>为/>的第l个词例,/>为/>中词例个数;/>为/>的词例序列,/>为/>的第l个词例,/>为/>中词例个数;
b′j与t′j构成深度学习模型数据样本(b′j,t′j),并纳入深度学习模型训练数据集;
步骤2所述深度学习模型训练数据集中每个样本为:
s′k=(b′k,t′k),k∈[1,M′]
其中,b′k为深度学习模型训练数据集中第k个缺陷报告样本完成辅助词汇***、分词与小写化的主体内容词例序列,t′k为深度学习模型训练数据集中第k个缺陷报告样本完成分词与小写化的标题词例序列,M′为正式数据集中缺陷报告样本数量且M′=M*;
作为优选,步骤3所述搭建带复制机制的编解码循环神经网络模型为:
搭建带复制机制的编解码循环神经网络模型框架。该框架包含词表征网络,编码器网络,解码器网络,注意力分布计算器,以及带复制机制的目标词汇生成器;
所述词表征网络为词嵌入层,记为NetEmbed,其可查找个词例的词向量,其词向量权重参数为ParamEmbed;
所述编码器网络为单层双向长短期记忆单元网络,记为NetEncoder,其包含个神经元,其神经元权重参数为ParamEncoder;
所述解码器网络为单层单向长短期记忆单元网络,记为NetDecoder,其包含个神经元,其神经元权重参数为ParamDecoder;
所述注意力分布计算器为注意力机制网络,记为NetAttention,其计算权重参数为ParamAttention;
所述带复制机制的目标词汇生成器为一个带复制机制的目标词汇生成,记为NetGenerator,其神经元权重参数为ParamGenerator;
步骤2所述构建基于负对数似然损失函数模型为:
其中,s′k=(b′k,t′k),k∈[1,M′]为深度学习训练数据集中的每个样本,为第k个样本的标题词例序列中所包含的词例数量,/>为第k个样本的标题词例序列中的第l个词例,/>为第k个样本的***辅助词汇后主体内容词例序列中所包含的词例数量,为第k个样本的***辅助词汇后主体内容词例序列中的第l个词例;
步骤3所述在深度学习模型训练数据集上训练为:
对于每个深度学习模型训练样本s′k=(b′k,t′k),k∈[1,M′],依次使用损失函数loss(*)计算当前模型损失,并使用Adam算法作为优化器、以最小化模型损失为优化目标,对模型所有部件的参数Paramembed、ParamEncoder、ParamDecoder、ParamAttention以及ParamGenerator进行Niter轮批大小为Nbatchsize的迭代优化操作,完成迭代优化后得到所有部件的参数Param′embed、Param′Encoder、Param′Decoder、Param′Attention以及Param′Generator;
步骤3所述构建优化后带复制机制的编解码循环神经网络模型为:
通过Param′embed、Param′Encoder、Param′Decoder、Param′Attention以及Param′Generator构建优化后带复制机制的编解码循环神经网络模型;
本发明有益效果为:
本发明以自动化生成缺陷报告标题为目的,首先基于从业者对于高质量缺陷报告标题内容的一般期望定义了3个样本质量判别模型,用于过滤从开源渠道获取到的缺陷报告样本,从而构建单句摘要式缺陷报告标题自动生成的正式数据集;其次在正式数据集中每个样本的缺陷报告主体内容中***辅助词汇为模型提供存储低频人工命名词汇的部分语义信息的途径,并进行分词与小写化的预处理形成深度学习模型训练数据集;最后搭建一个带复制机制的编解码循环神经网络模型,基于建立的深度学习模型训练数据集训练,形成具备为缺陷报告主体内容自动生成高质量标题能力的神经模型,用于为缺陷报告主体内容自动生成高质量标题。
本发明提供的方法使用深度学习技术搭建神经模型,形成缺陷报告标题的自动化生成方法,以主动地为缺陷报告作者提供高质量的缺陷报告标题模板,从而解决了原先仅“通过设立规则指导或要求缺陷报告作者撰写优质标题”对于缺陷报告作者本身能力和对规则的执行情况的依赖;并通过设计特定的步骤解决了两个现有的通用摘要方法面临的问题:本发明提供的方法通过设计3个样本质量判别模型并使用其对开源数据进行过滤的方式筛选合适样本、构建数据集,解决了缺乏专用该任务的高质量数据集且数据集较难构建的问题;本发明通过为缺陷报告主体内容中的人工命名词汇***类型辅助词汇的方式,帮助提示、存储常规神经模型无法有效理解和存储的人工命名词汇的语义信息,并在序列到序列模型结构中使用复制机制构建能够降低对被申城词汇本身理解要求的词汇复制通道,以缓解通用摘要方法“无法有效处理词频较低的人工命名词汇”的问题,使方法能够有效地处理包含重要信息的人工命名词汇。
本发明形成的方法最终可以为用户撰写的缺陷报告主体内容自动生成标题,从而达到帮助用户高效撰写高质量缺陷报告标题的目的,实现改善部分缺陷报告标题质量低下情况的效果。
附图说明
图1:为本发明方法流程图;
图2:为本发明定义的对缺陷报告主体内容中的人工命名词汇***表示其类型的辅助词汇的一个示例的展示图;
图3:为本发明深度学习模型结构图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
本发明的目的在于提供一种自动化的缺陷报告标题自动生成方法,为缺陷报告内容自动生成高质量标题,以缓解由于撰写时间或撰写水平受限所造成的、仅通过向撰写者声明撰写要求和说明所无法有效缓解的缺陷报告标题质量难以保障的问题。本发明基于深度学***台的用户提供缺陷报告标题自动生成服务辅助用户撰写和更新标题。
下面结合图1至图3介绍本发明的具体实施方式为:本发明提供了一种基于深度学习的单句摘要缺陷报告标题自动生成方法,请参见图1,包括:
步骤1:从开源渠道获取海量缺陷报告样本作为原始数据集,分别构建第一判别模型、第二判别模型、第三判别模型,将原始数据集中每个缺陷报告样本根据根据第一判别模型、第二判别模型、第三判别模型依次进行数据筛选得到正式数据集中每个样本;
步骤1所述从开源渠道获取海量缺陷报告样本作为原始数据集为:
所述原始数据集中的每个样本为:
si=(bi,ti),i∈[1,M]
其中,bi为原始数据集中第i个缺陷报告样本的主体内容,ti为原始数据集中第i个缺陷报告样本的的内容标题,M为原始数据集中缺陷报告样本数量;
由于现存的缺陷报告的标题质量难以保障,为使基于在训练数据集上学习所得到的深度学习模型所构建的缺陷报告标题自动生成方法能够高效、准确地模仿现有的高质量缺陷报告标题从而产生可靠的高质量标题,首先需要构建样本判别模型,以判定样本质量、筛除低质量样本,从而构建一个由带有相对高质量标题的缺陷报告样本构成的正式样本集作为深度学习模仿的样本。
在具体的实施过程中,实现上述目的的方法为:定义3个判别模型,并将其用于过滤从开源渠道获取到的缺陷报告样本,保留含有符合内容形式及质量要求的标题的缺陷报告样本,作为数据集。定义的3个判别模型中,第一判别模型用于过滤质量不佳的样本以质量要求;第二判别模型与第三判别模型用于过滤不符合单句摘要模式的样本以满足形式要求。定义的三个判别模型具体如下:
步骤1所述构建第一判别模型为:
对于第i个样本si=(bi,ti),i∈[1,M],使用链接正则表达式匹配ti中的所有链接并将链接数量记为使用单词正则表达式匹配ti中的所有单词并将单词数量记为
若(其中Lmin和Lmax分别是可设置的长度最长/最短阈值参数)三个条件中至少有一个成立,则ti被认为质量不符合要求,si将被筛去;
构建上述第一判别模型的依据是:样本所包含的缺陷报告标题应该具有较好的质量,以确保基于深度学习的缺陷报告标题自动生成方法可以从中学习生成同样优质的标题。一般而言,词汇过少的标题往往可能会丢失说明该缺陷的关键信息,因而无法给阅读者提供足够的信息以理解相关缺陷,而词汇数量过多的标题或包含链接等形式凌乱的内容的标题常常难以被阅读者快速理解,其中不当或多余的细节信息甚至可能给阅读者带来干扰。
本发明基于上述依据,通过定义第一判别模型对缺陷报告样本从标题质量角度进行筛选。在一种具体实施中,Lmin的典型推荐值为5,Lmax的典型推荐值为15。
步骤1所述构建第二判别模型为:
对于第i个样本si=(bi,ti),i∈[1,M],使用单词正则表达式匹配ti中的所有单词,记在ti中匹配识别到的单词数量为ti中的单词序列为:
使用单词正则表达式统计bi中的所有单词,记在bi中匹配识别到的单词数量为bi中的单词序列为:
统计同时存在于Ti与Bi中的单词,并记其数量为
检查与/>的大小关系,若/>(其中θrule2为可配置的词汇重复比例阈值参数),则ti与bi被认为非摘要与细节的关系。由于该情况不符合摘要式标题生成的样本要求,si将被筛去;
构建上述第二判别模型的依据是:据观察,一种典型的不符合摘要形式的缺陷报告标题表现为部分标题和正文并不构成“摘要和细节”的关系。相反,此类缺陷报告的主体内容实际上是其标题的补充,其标题信息往往无法从主体内容的琐碎信息中总结得到。此类缺陷报告样本并不适用于单句摘要任务的训练。由于摘要性质的标题通常会包含源文本中的部分关键词汇,以传达源文本的主要内容思想,因此,本发明认为如果标题中有大量词汇没有在主体内容中出现时,则该标题通常不是对缺陷报告主体内容的摘要。
本发明基于上述依据,通过定义第二判别模型对缺陷报告样本从标题性质角度进行筛选。在一种具体实施中,θrule2的典型推荐值为0.7。
步骤1所述构建第三判别模型为:
对于第i个样本si=(bi,ti),i∈[1,M],记ti的长度为
构建匹配ti词序列子串的正则表达式
使用在bi中匹配所有是ti词序列子串的字符串,记匹配的结果为其中/>为结果个数,/>为/>在bi中进行匹配到的字符串;
对于每一条匹配到的字符串统计/>的词数并记为/>
检查每个与/>的大小关系,若存在任意一个/> (其中θrule3为可配置的子串重复比例阈值参数),则ti被认为是直接摘抄bi中原句的情况。由于该情况不符合摘要式标题生成的样本要求,si将被筛去。
构建上述第三判别模型的依据是:另一种典型的不符合摘要形式的缺陷报告标题表现为缺陷报告直接使用主体内容中的一个原句作为标题,而非重新撰写一个精炼简短的句子作为标题。这样的标题大多仅仅复制正文中提到的发生缺陷时软件报告的错误信息,而没有提供任何其他信息。这样的标题也并不适合用作为生成更加凝练的单句摘要的任务的训练样本。
本发明基于上述依据,通过定义第三判别模型对缺陷报告样本从标题内容角度进行筛选。在一种具体实施中,θrule3的典型推荐值为0.3。
步骤1所述将原始数据集中每个缺陷报告样本根据根据第一判别模型、第二判别模型、第三判别模型依次进行数据筛选为:
若si可通过所有三个判别模型的检测,则将si纳入正式数据集;
应用三个判别模型进行样本筛选能够实现根据对于优质缺陷报告标题的一般认识,从开源渠道获取得到的原始数据集中筛选符合本发明任务目标且质量相对较高的样本建立数据集。通过此步骤可建立专用数据集,该数据集可以产生相对有效的训练样本用于摘要式缺陷报告标题生成模型的学习训练。
步骤1所述所述正式数据集中每个样本为:
其中,为正式数据集中第j个缺陷报告样本的主体内容,/>为/>对应的标题,M*为正式数据集中缺陷报告样本数量且M*≤M;
步骤2:引入多种人工命名词汇类型并构建每种人工命名词汇类型对应正则表达式,依次使用正则表达式提取正式数据集中缺陷报告样本的主体内容所属人工命名词汇类型以构建人工命名词汇集,将每种人工命名词汇类型分配对应的类型辅助词汇,依次在正式数据集中缺陷报告样本的主体内容中定位人工命名词汇集的每个词汇,进行***标记得到缺陷报告样本***标记后的主体内容,分别对缺陷报告样本的标题以及缺陷报告样本***标记后的主体内容进一步进行分词处理、小写化处理构建深度学习模型训练数据集;
执行步骤2的目的在于:由于人工命名词汇(例如:标识符和版本号)往往特定于缺陷报告和所属的软件仓库,不同的项目中通常包含不同的人工命名词汇,这导致缺陷报告中具有无法穷尽的人工命名词汇拼写形式,而每个人工命名词汇的词频又相对较低。然而,由于基于深度学习的摘要模型需要通过不断反复调整词嵌入向量等记录在模型的固定词例表中的词例的相关参数来学习、理解和生成目标词例,语料中的低频词汇通常无法被很好地被模型处理。其中部分低频词还面临“超出词例表(OOV)”问题,它们在处理过程中被统一替换为<UNK>词汇处理。由于人工命名词汇通常带有关于缺陷报告的关键信息,如:故障对象和环境等内容。因此,在缺陷报告标题生成过程中,这些人工命名词汇不应该被忽视,或是简单地将其统一为<UNK>进行处理。
本发明的方法通过两方面解决这一问题。一方面,发明的方法通过在步骤3设计带有复制机制的神经网络模型以尽量减少在生成标题时神经模型对于能够理解低频词的要求;另一方面,发明的方通过步骤2尽量为模型提供此类词汇的有效的语义信息,为搭建的模型提供信息存储空间。
具体上,由于缺陷报告主体内容中的不同拼写的人工命名词汇之间可能存在部分相同或相似的语义(如:部分人工命名词汇为标识符、部分人工命名词汇为版本号),存储和学习这种部分语义有助于神经模型理解因低频而完全无法理解语义的词汇。
出于此,本发明通过在缺陷报告主体内容中每个检测到的人工命名词汇前后位置***额外辅助提示词汇的方式,借由这些***的提示词汇存储和指示低频人工命名词汇的类型方面的潜在语义含义,帮助模型理解和生成此类词汇。
图2展示了一种具体实施在一个缺陷报告样本的主体内容上的操作效果。该具体实施例中针对2种常见的人工命名词汇,即:标识符和版本号,进行辅助增强。
对于其他类型的人工命名词汇,本领域人员可以以相同的方式设计具体实施方式进行拓展。
步骤2所述引入多种类型人工命名词汇为:
Q种人工命名词汇的类型为:{type1,type2...,typeQ};
在图2展示的一种具体实施中,引入了Q=2种人工命名词汇类型,其中type1为“版本号”,type2为“标识符”。
步骤2所述构建每种人工命名词汇类型对应正则表达式为:
Q个正则表达式即{regexp1,regexp2,...,regexpq},第q个正则表regexpq达式用于匹配第q种类型typeq的人工命名词汇;
在图2展示的一种具体实施中,共引入了2个正则表达式,其中用于匹配版本号的正则表达式regexp2为“(([vV][0-9]+)([a-zA-Z_]*[0-9]+\w*(\.[a-zA-Z_]*[0-9]\w*)))([\.-]\w+)*”;用于匹配标识符的正则表达式regexp1为“([A-Z]*[a-z_][a-z0-9_]*)([A-Z_][a-z0-9_]*)+”。
步骤2所述依次使用正则表达式提取正式数据集中缺陷报告样本的主体内容所属人工命名词汇类型为:
对于正式数据集中每个样本j∈[1,M*],依次使用regexpq提取/>中类型为typeq的人工命名词汇,其中q∈[1,Q];
记中包含的类型为typeq的人工命名词汇的个数为/> 中包含的类型为typeq的人工命名词汇集为/>其中q∈[1,Q],/>是正式数据集中第j个样本主体内容中第k个类型为typeq的人工命名词,/>
在图2展示的一种具体实施中,对于图中展示的“***标记前的主体内容”提取结果为:
类型为type1(即“版本号”)的人工命名词汇集类型为type2(即“标识符”)的人工命名词汇集/>
步骤2所述将每种人工命名词汇类型分配对应的类型辅助词汇为:
对于每个人工命名词汇类型typeq,为每个类型分配对应的类型辅助词汇<typeq before,typeq after>,其中q∈[1,Q],所有typeq before和typeq after均互不相同,typeq before是类型为typeq的人工命名词的前置标记,typeq after是类型为typeq的人工命名词的后置标记;
在图2展示的具体实施中,为type1(即“版本号”)分配的辅助词汇为<V,V$>,为type2(即“标识符”)分配的辅助词汇为<I,I$>(V和I与普通字母V和I为不同词例)。
步骤2所述依次在正式数据集中缺陷报告样本的主体内容中定位人工命名词汇集的每个词汇为:
对于正式数据集中的每个样本j∈[1,M*],对于q∈[1,Q],依次在/>中定位/>中的每个词汇/>
步骤2所述进行***标记为:
在中的每个/>之前***一个typeq before、之后***一个typeq after,记缺陷报告样本***标记后的主体内容为/>
在缺陷报告样本已***标记后的主体内容即中,typeq before与typeq after将可以显式地表示其所包围住的人工命名词汇的类型,从而辅助神经模型识别和理解被其包围的人工命名词汇;
在图2展示的一种具体实施中,对图中展示的“处理前的缺陷报告主体内容”执行上述***标记操作后,即可得到“处理后的缺陷报告主体内容”/>
步骤2所述分别对缺陷报告样本的标题以及缺陷报告样本***标记后的主体内容进行分词处理和小写化处理并构建深度学习模型训练数据集为:
对于j∈[1,M*],依次分别对缺陷报告样本的标题与缺陷报告样本***标记后的主体内容进行分词处理、小写化处理,分别得到t′j与b′j,其中/> 为/>的词例序列,/>为/>的第l个词例,/>为/>中词例个数;/>为/>的词例序列,/>为/>的第l个词例,/>为/>中词例个数;
b′j与t′j构成深度学习模型数据样本(b′j,t′j),并纳入深度学习模型训练数据集;
步骤2所述深度学习模型训练数据集中每个样本为:
s′k=(b′k,t′k),k∈[1,M′]
其中,b′k为深度学习模型训练数据集中第k个缺陷报告样本完成辅助词汇***、分词与小写化的主体内容词例序列,t′k为深度学习模型训练数据集中第k个缺陷报告样本完成分词与小写化的标题词例序列,M′为正式数据集中缺陷报告样本数量且M′=M*;
步骤3:搭建带复制机制的编解码循环神经网络模型,构建基于负对数似然损失函数模型,进一步在深度学习模型训练数据集上训练以构建优化后带复制机制的编解码循环神经网络模型;
步骤3所述搭建带复制机制的编解码循环神经网络模型为:
搭建带复制机制的编解码循环神经网络模型框架。该框架包含词表征网络,编码器网络,解码器网络,注意力分布计算器,以及带复制机制的目标词汇生成器;
所述词表征网络为词嵌入层,记为NetEmbed,其可查找个词例的词向量,其词向量权重参数为ParamEmbed;
所述编码器网络为单层双向长短期记忆单元网络,记为NetEncoder,其包含个神经元,其神经元权重参数为ParamEncoder;
所述解码器网络为单层单向长短期记忆单元网络,记为NetDecoder,其包含个神经元,其神经元权重参数为ParamDecoder;
所述注意力分布计算器为注意力机制网络,记为NetAttention,其计算权重参数为ParamAttention;
所述带复制机制的目标词汇生成器为一个带复制机制的目标词汇生成,记为NetGenerator,其神经元权重参数为ParamGenerator;
在一种具体实施中,模型各部分神经元个数的典型参数设置为 模型结构示意图请参见图3。
模型执行运算时,每个样本的主体内容词例序列作为输入x=(x1,x2,...,xN)经过词表征网络后发送给编码器网络,以生成一组表示每一时间步上编码器的处理状态的隐藏状态向量h=(h1,h2,...,hN),和一个表示整个输入的上下文信息的向量o。随后,解码器网络接收o并在第i个时间步结合第i-1个时间步产生的词例的词表征逐计算生成解码隐藏矢量h′i。同时,注意力分布计算器接收h和h′i并计算源序列上的注意力分布向量αi。随后,带复制机制的目标词汇生成器通过αi与h′i计算将每个词例作为输出的概率分布。其中,通过固定词例表生成目标词例的概率计算方式为:
第i个目标词的生成概率分布计算方式为:
,其中是编码器隐藏状态的加权总和,h′i是当前解码器隐藏状态ω,ω′,b,b′都是可学习的参数,[,]表示连接操作;通过复制的方式生成目标词例的概率的计算方式为:
,其中,h′i分别表示当前时间步的解码器网络中的隐藏状态和输入词例对应的词嵌入向量;ci表示编码器所有隐藏状态根据注意力分布的加权和;σ表示S型函数(sigmoidfunction);其余ωc,ωh,ωx,和bgen是可学习的参数。通过复制生成的词汇的概率分布计算方式为:
,其中word表示任一个目标词例;x表示输入序列;αi表示输入序列上的当前注意力分布。之后,输出生成器进一步将计算得到的词汇复制概率分布与基于注意力机制计算得到的词汇生成概率分布组合,得到当前时间步上最终输出词例概率分布:
。最后,输出生成器执行ArgMax操作以生成第i个目标词例yi。此后解码器开始在下一个时间步工作,直到模型输出产生句终止符<EOS>。<EOS>前的所有输出的Nv个词例构成目标序列该目标序列即作为生成的单句摘要,即输入缺陷报告主体对应的标题。
步骤2所述构建基于负对数似然损失函数模型为:
其中,s′k=(b′k,t′k),k∈[1,M′]为深度学习训练数据集中的每个样本,为第k个样本的标题词例序列中所包含的词例数量,/>为第k个样本的标题词例序列中的第l个词例,/>为第k个样本的***辅助词汇后主体内容词例序列中所包含的词例数量,为第k个样本的***辅助词汇后主体内容词例序列中的第l个词例;
步骤3所述在深度学习模型训练数据集上训练为:
对于每个深度学习模型训练样本s′k=(b′k,t′k),k∈[1,M′],依次使用损失函数loss(*)计算当前模型损失,并使用Adam算法作为优化器、以最小化模型损失为优化目标,对模型所有部件的参数ParamEmbed、ParamEncoder、ParamDecoder、ParamAttention以及ParamGenerator进行Niter轮批大小为Nbatchsize的迭代优化操作,完成迭代优化后得到所有部件的参数Param′Embed、Param′Encoder、Param′Decoder、Param′Attention以及Param′Generator;
在一种具体实施中,神经模型训练过程的典型参数设置为:Ninter=25000,Nbatchsize=32,Adam优化器参数设置为:β1=0.9,β2=0.999并进行8000轮预热,ParamEmbed使用预训练的GloVe向量作为词嵌入的初始权重且词嵌入维度为100。
步骤3所述构建优化后带复制机制的编解码循环神经网络模型为:
通过Param′Encoder、Param′Decoder、Param′Attention以及Param′Generator构建优化后带复制机制的编解码循环神经网络模型;
步骤4:向优化后带复制机制的编解码循环神经网络模型输入已标记、分词、小写化的缺陷报告主体内容,通过优化后带复制机制的编解码循环神经网络模型对输入进行预测,得到结果即为模型为输入的缺陷报告主体内容所自动生成的标题。
取得优化后的模型后,则可以使用该模型进行缺陷报告标题的自动生成。对于一份需要获取标题的缺陷报告主体内容,记为对其执行同步骤2的预处理操作,获得可输入深度学习模型的主体内容b′new;将b′new输入优化后的模型,并获取模型输出/> 即为模型给需要获取标题的缺陷报告主体内容/>自动生成的标题。在生成标题时使用束大小为10的波束搜索,并阻止双字组重复和<UNK>的生成。在当前训练得到的模型实际的标题产出质量可以接受的情况下,则不再需要重复训练过程重新训练模型,在日后的使用中直接使用当前存储下的模型进行标题生成工作即可。当数据发生大幅度变化(如:缺陷报告主体内容形式或标题形式发生改变)时,则需要重新在更新的数据集上重新进行训练,并使用新训练得到的模型用于之后的标题生成任务。
本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。本领域的技术人员容易理解,以上所述仅为本发明专利的较佳实施例而已,并不用以限制本发明专利,凡在本发明专利的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明专利的保护范围之内。
Claims (1)
1.一种基于深度学习的单句摘要缺陷报告标题自动生成方法,其特征在于,包括以下步骤:
步骤1:从开源渠道获取海量缺陷报告样本作为原始数据集,分别构建第一判别模型、第二判别模型、第三判别模型,将原始数据集中每个缺陷报告样本根据第一判别模型、第二判别模型、第三判别模型依次进行数据筛选得到正式数据集中每个样本;
步骤2:引入多种人工命名词汇类型并构建每种人工命名词汇类型对应正则表达式,依次使用正则表达式提取正式数据集中缺陷报告样本的主体内容所属人工命名词汇类型以构建人工命名词汇集,将每种人工命名词汇类型分配对应的类型辅助词汇,依次在正式数据集中缺陷报告样本的主体内容中定位人工命名词汇集的每个词汇,进行***标记得到缺陷报告样本***标记后的主体内容,分别对缺陷报告样本的标题以及缺陷报告样本***标记后的主体内容进一步进行分词处理、小写化处理构建深度学习模型训练数据集;
步骤3:搭建带复制机制的编解码循环神经网络模型,构建基于负对数似然损失函数模型,进一步在深度学习模型训练数据集上训练以构建优化后带复制机制的编解码循环神经网络模型;
步骤4:向优化后带复制机制的编解码循环神经网络模型输入已标记、分词、小写化的缺陷报告主体内容,通过优化后带复制机制的编解码循环神经网络模型对输入进行预测,得到结果即为模型为输入的缺陷报告主体内容所自动生成的标题;
步骤1所述从开源渠道获取海量缺陷报告样本作为原始数据集为:
所述原始数据集中的每个样本为:
si=(bi,ti),i∈[1,M]
其中,bi为原始数据集中第i个缺陷报告样本的主体内容,ti为原始数据集中第i个缺陷报告样本的的内容标题,M为原始数据集中缺陷报告样本数量;
步骤1所述构建第一判别模型为:
对于第i个样本si=(bi,ti),i∈[1,M],使用链接正则表达式匹配ti中的所有链接并将链接数量记为使用单词正则表达式匹配ti中的所有单词并将单词数量记为/>
若其中Lmin和Lmax分别是可设置的长度最长/最短阈值参数,三个条件中至少有一个成立,则ti被认为质量不符合要求,si将被筛去;
步骤1所述构建第二判别模型为:
对于第i个样本si=(bi,ti),i∈[1,M],使用单词正则表达式匹配ti中的所有单词,记在ti中匹配识别到的单词数量为ti中的单词序列为/> 使用单词正则表达式统计bi中的所有单词,记在bi中匹配识别到的单词数量为/>bi中的单词序列为/>
统计同时存在于Ti与Bi中的单词,并记其数量为
检查与/>的大小关系,若/>其中θrule2为可配置的词汇重复比例阈值参数,则ti与bi被认为非摘要与细节的关系;由于该情况不符合摘要式标题生成的样本要求,si将被筛去;
步骤1所述构建第三判别模型为:
对于第i个样本si=(bi,ti),i∈[1,M],记ti的长度为
构建匹配ti词序列子串的正则表达式
使用在bi中匹配所有是ti词序列子串的字符串,记匹配的结果为其中/>为结果个数,/>为/>在bi中进行匹配到的字符串;
对于每一条匹配到的字符串统计/>的词数并记为/>
检查每个与/>的大小关系,若存在任意一个/>其中θrele3为可配置的子串重复比例阈值参数,则ti被认为是直接摘抄bi中原句的情况;由于该情况不符合摘要式标题生成的样本要求,si将被筛去;
步骤1所述将原始数据集中每个缺陷报告样本根据根据第一判别模型、第二判别模型、第三判别模型依次进行数据筛选为:
若si可通过所有三个判别模型的检测,则将si纳入正式数据集;
步骤1所述所述正式数据集中每个样本为:
其中,为正式数据集中第j个缺陷报告样本的主体内容,/>为/>对应的标题,M*为正式数据集中缺陷报告样本数量且M*≤M;
步骤2所述引入多种类型人工命名词汇为:
Q种人工命名词汇的类型为:{type1,type2…,typeQ};
步骤2所述构建每种人工命名词汇类型对应正则表达式为:
Q个正则表达式即{regexp1,regexp2,…,regexpQ},第q个正则表regexpq达式用于匹配第q种类型typeq的人工命名词汇;
步骤2所述依次使用正则表达式提取正式数据集中缺陷报告样本的主体内容所属人工命名词汇类型为:
对于正式数据集中每个样本依次使用regexpq提取/>中类型为typeq的人工命名词汇,其中q∈[1,Q];
记中包含的类型为typeq的人工命名词汇的个数为/>中包含的类型为typeq的人工命名词汇集为/>其中q∈[1,Q],/>是正式数据集中第j个样本主体内容中第k个类型为typeq的人工命名词,/>
步骤2所述将每种人工命名词汇类型分配对应的类型辅助词汇为:
对于每个人工命名词汇类型typeq,为每个类型分配对应的类型辅助词汇<typeq before,typeq after>,其中q∈[1,Q],所有typeq before和typeq after均互不相同,typeq before是类型为typeq的人工命名词的前置标记,typeq after是类型为typeq的人工命名词的后置标记;
步骤2所述依次在正式数据集中缺陷报告样本的主体内容中定位人工命名词汇集的每个词汇为:
对于正式数据集中的每个样本对于q∈[1,Q],依次在/>中定位Wj q中的每个词汇/>
步骤2所述进行***标记为:
在中的每个/>之前***一个typeq before、之后***一个typeq after,记缺陷报告样本***标记后的主体内容为/>
在缺陷报告样本已***标记后的主体内容即中,typeq before与typeq after将可以显式地表示其所包围住的人工命名词汇的类型,从而辅助神经模型识别和理解被其包围的人工命名词汇;
步骤2所述分别对缺陷报告样本的标题以及缺陷报告样本***标记后的主体内容进行分词处理和小写化处理并构建深度学习模型训练数据集为:
对于j∈[1,M*],依次分别对缺陷报告样本的标题与缺陷报告样本***标记后的主体内容进行分词处理、小写化处理,分别得到t′j与b′j,其中/>为/>的词例序列,/>为/>的第l个词例,/>为/>中词例个数;/>为的词例序列,/>为/>的第l个词例,/>为/>中词例个数;
b′j与t′j构成深度学习模型数据样本(b′j,t′j),并纳入深度学习模型训练数据集;
步骤2所述深度学习模型训练数据集中每个样本为:
s′k=(b′k,t′k),k∈[1,M′]
其中,b′k为深度学习模型训练数据集中第k个缺陷报告样本完成辅助词汇***、分词与小写化的主体内容词例序列,t′k为深度学习模型训练数据集中第k个缺陷报告样本完成分词与小写化的标题词例序列,M′为正式数据集中缺陷报告样本数量且M′=M*;
步骤3所述搭建带复制机制的编解码循环神经网络模型为:
搭建带复制机制的编解码循环神经网络模型框架;该框架包含词表征网络,编码器网络,解码器网络,注意力分布计算器,以及带复制机制的目标词汇生成器;
所述词表征网络为词嵌入层,记为NetEmbed,其可查找个词例的词向量,其词向量权重参数为ParamEmbed;
所述编码器网络为单层双向长短期记忆单元网络,记为NetEncoder,其包含个神经元,其神经元权重参数为ParamEncoder;
所述解码器网络为单层单向长短期记忆单元网络,记为NetDecoder,其包含个神经元,其神经元权重参数为ParamDecoder;
所述注意力分布计算器为注意力机制网络,记为NetAttention,其计算权重参数为ParamAttention;
所述带复制机制的目标词汇生成器为一个带复制机制的目标词汇生成,记为NetGenerator,其神经元权重参数为ParamGenerator;
步骤2所述构建基于负对数似然损失函数模型为:
其中,s′k=(b′k,t′k),k∈[1,M′]为深度学习训练数据集中的每个样本,为第k个样本的标题词例序列中所包含的词例数量,/>为第k个样本的标题词例序列中的第l个词例,/>为第k个样本的***辅助词汇后主体内容词例序列中所包含的词例数量,/>为第k个样本的***辅助词汇后主体内容词例序列中的第l个词例;
步骤3所述在深度学习模型训练数据集上训练为:
对于每个深度学习模型训练样本s′k=(b′k,t′k),k∈[1,M′],依次使用损失函数loss(*)计算当前模型损失,并使用Adam算法作为优化器、以最小化模型损失为优化目标,对模型所有部件的参数Paramembed、ParamEncoder、ParamDecoder、ParamAttention以及ParamGeneratot进行Niter轮批大小为Nbatchsize的迭代优化操作,完成迭代优化后得到所有部件的参数Param′embed、Param′Encoder、Param′Decoder、Param′Attention以及Param′Generator;
步骤3所述构建优化后带复制机制的编解码循环神经网络模型为:
通过Param′embed、Param′Encoder、Param′Decoder、Param′Attention以及Param′Generator构建优化后带复制机制的编解码循环神经网络模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010667056.8A CN111898337B (zh) | 2020-07-13 | 2020-07-13 | 一种基于深度学习的单句摘要缺陷报告标题自动生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010667056.8A CN111898337B (zh) | 2020-07-13 | 2020-07-13 | 一种基于深度学习的单句摘要缺陷报告标题自动生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111898337A CN111898337A (zh) | 2020-11-06 |
CN111898337B true CN111898337B (zh) | 2024-01-26 |
Family
ID=73192374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010667056.8A Active CN111898337B (zh) | 2020-07-13 | 2020-07-13 | 一种基于深度学习的单句摘要缺陷报告标题自动生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111898337B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114676298B (zh) * | 2022-04-12 | 2024-04-19 | 南通大学 | 一种基于质量过滤器的缺陷报告标题自动生成方法 |
CN115908870A (zh) * | 2022-10-19 | 2023-04-04 | 海南港航控股有限公司 | 一种基于异构数据融合的图文匹配方法及*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502985A (zh) * | 2016-10-20 | 2017-03-15 | 清华大学 | 一种用于生成标题的神经网络建模方法及装置 |
CN108334497A (zh) * | 2018-02-06 | 2018-07-27 | 北京航空航天大学 | 自动生成文本的方法和装置 |
CN108984524A (zh) * | 2018-07-05 | 2018-12-11 | 北京理工大学 | 一种基于变分神经网络主题模型的标题生成方法 |
CN109657041A (zh) * | 2018-12-04 | 2019-04-19 | 南京理工大学 | 基于深度学习的问题自动生成方法 |
CN110956041A (zh) * | 2019-11-27 | 2020-04-03 | 重庆邮电大学 | 一种基于深度学习的并购重组公告摘要方法 |
CN111241816A (zh) * | 2020-01-22 | 2020-06-05 | 北京工业大学 | 一种新闻标题自动生成方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10115055B2 (en) * | 2015-05-26 | 2018-10-30 | Booking.Com B.V. | Systems methods circuits and associated computer executable code for deep learning based natural language understanding |
US20200026767A1 (en) * | 2018-07-17 | 2020-01-23 | Fuji Xerox Co., Ltd. | System and method for generating titles for summarizing conversational documents |
-
2020
- 2020-07-13 CN CN202010667056.8A patent/CN111898337B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502985A (zh) * | 2016-10-20 | 2017-03-15 | 清华大学 | 一种用于生成标题的神经网络建模方法及装置 |
CN108334497A (zh) * | 2018-02-06 | 2018-07-27 | 北京航空航天大学 | 自动生成文本的方法和装置 |
CN108984524A (zh) * | 2018-07-05 | 2018-12-11 | 北京理工大学 | 一种基于变分神经网络主题模型的标题生成方法 |
CN109657041A (zh) * | 2018-12-04 | 2019-04-19 | 南京理工大学 | 基于深度学习的问题自动生成方法 |
CN110956041A (zh) * | 2019-11-27 | 2020-04-03 | 重庆邮电大学 | 一种基于深度学习的并购重组公告摘要方法 |
CN111241816A (zh) * | 2020-01-22 | 2020-06-05 | 北京工业大学 | 一种新闻标题自动生成方法 |
Non-Patent Citations (1)
Title |
---|
基于混合注意力与强化学习的文本摘要生成;党宏社;陶亚凡;张选德;;计算机工程与应用(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111898337A (zh) | 2020-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chollampatt et al. | A multilayer convolutional encoder-decoder neural network for grammatical error correction | |
CN110569508A (zh) | 融合词性和自注意力机制的情感倾向性分类方法及*** | |
CN107463607B (zh) | 结合词向量和自举学习的领域实体上下位关系获取与组织方法 | |
CN111738003B (zh) | 命名实体识别模型训练方法、命名实体识别方法和介质 | |
CN116992005B (zh) | 基于大模型及本地知识库的智能对话方法、***及设备 | |
US11170169B2 (en) | System and method for language-independent contextual embedding | |
CN111898337B (zh) | 一种基于深度学习的单句摘要缺陷报告标题自动生成方法 | |
Ren et al. | Detecting the scope of negation and speculation in biomedical texts by using recursive neural network | |
CN113190219A (zh) | 一种基于递归神经网络模型的代码注释生成方法 | |
JP2022130337A (ja) | 機械学習に基づく名前付きエンティティ認識(ner)メカニズムの弱教師ありかつ説明可能な学習 | |
CN115392252A (zh) | 一种融合自注意力与层级残差记忆网络的实体识别方法 | |
CN113779988A (zh) | 一种通信领域过程类知识事件抽取方法 | |
CN117251524A (zh) | 一种基于多策略融合的短文本分类方法 | |
CN114064856A (zh) | 一种基于XLNet-BiGRU文本纠错方法 | |
CN113886562A (zh) | 一种ai简历筛选方法、***、设备和存储介质 | |
CN116882402A (zh) | 基于多任务的电力营销小样本命名实体识别方法 | |
CN113806489A (zh) | 用于数据集创建的方法、电子设备和计算机程序产品 | |
CN116578708A (zh) | 一种基于图神经网络的论文数据姓名消歧算法 | |
CN116562296A (zh) | 地理命名实体识别模型训练方法及地理命名实体识别方法 | |
CN116680407A (zh) | 一种知识图谱的构建方法及装置 | |
CN110705306A (zh) | 一种作文文题一致性的测评方法 | |
CN114564942B (zh) | 一种用于监管领域的文本纠错方法、存储介质和装置 | |
CN115757815A (zh) | 知识图谱的构建方法、装置及存储介质 | |
CN116029300A (zh) | 一种强化中文实体语义特征的语言模型训练方法和*** | |
CN115840815A (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 |