CN111291175B - 一种基于策略梯度算法的自动生成提交需求摘要的方法 - Google Patents

一种基于策略梯度算法的自动生成提交需求摘要的方法 Download PDF

Info

Publication number
CN111291175B
CN111291175B CN202010075692.1A CN202010075692A CN111291175B CN 111291175 B CN111291175 B CN 111291175B CN 202010075692 A CN202010075692 A CN 202010075692A CN 111291175 B CN111291175 B CN 111291175B
Authority
CN
China
Prior art keywords
sequence
action
monte carlo
submission
words
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
CN202010075692.1A
Other languages
English (en)
Other versions
CN111291175A (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.)
Dalian Maritime University
Original Assignee
Dalian Maritime 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 Dalian Maritime University filed Critical Dalian Maritime University
Priority to CN202010075692.1A priority Critical patent/CN111291175B/zh
Publication of CN111291175A publication Critical patent/CN111291175A/zh
Application granted granted Critical
Publication of CN111291175B publication Critical patent/CN111291175B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/34Browsing; Visualisation therefor
    • G06F16/345Summarisation for human users
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

本发明公开了一种基于策略梯度算法的自动生成提交需求摘要的方法,包括:提取提交需求关系中的提交信息和源代码注释和其对应的文本语义树结构,通过双向循环神经网络编码器编码到隐藏状态中,映射成固定长度的向量序列,使用指针生成器通过词汇的生成概率对从词汇表中选择的单词和从源序列中复制的单词之间进行一个软控制,得到最终的词汇分布。利用带有基线的策略梯度算法结合N次蒙特卡洛搜索,通过N次蒙特卡洛搜索计算包含一个动作的序列的平均奖励,找到平均奖励最大的动作序列,则该动作就是要选择的动作,依此进行,得到完整序列,利用蒙特卡洛搜索出的序列和基线序列的差值来更新策略梯度,最终生成提交需求摘要。

Description

一种基于策略梯度算法的自动生成提交需求摘要的方法
技术领域
本发明涉及信息数据处理技术领域,尤其涉及一种基于策略梯度算法的自动生成提交需求摘要的方法。
背景技术
基于提交式的开发模型在现代协作编码平台上很受欢迎,它减轻了开发人员对项目的贡献,在此模型中,开发人员无需直接访问中央存储库就可以为项目做出贡献,他只需要自己克隆中央存储库,在个人克隆的中央存储库中独立的进行更改,例如修复错误或者实现功能,然后通过提交需求将更改提交到中央存储库,再由中央存储库的审阅者对提交需求进行审核,审核通过则开发人员就对该项目做出了贡献。因此开发人员可以很容易的通过提交需求对模型做出贡献。当创建一个提交需求时,开发人员可以添加一个自由形式的描述来描述在提交需求中做了什么改变,为什么要做这样的改变,这样一个描述对于审阅者和其他开发人员非常有用,这种生成提交需求描述的过程就是文本摘要的过程。通过提交需求摘要可以核心团队成员或者审阅者不需要接触细节就可以快速的了解提交需求,减小了提交需求被忽视或者拒绝的可能性,提交需求描述对软件维护和程序理解起到了一定的影响作用。因此,自动的生成提交需求摘要变得非常重要。
目前关于生成提交需求摘要的方法有一些缺陷,只将文本信息作为输入,生成的提交需求描述缺少逻辑性,不符合人类评估标准;只使用普通的强化学习中的策略梯度算法,只能考虑生成整体句子的奖励,而没有考虑到中间时刻生成的单词的奖励情况,这使得生成的序列与目标序列差距过大,影响了生成句子的准确性。
发明内容
根据现有技术存在的问题,本发明公开了一种基于策略梯度算法的自动生成提交需求摘要的方法,具体包括如下步骤:
提取提交需求关系中的提交信息和源代码注释和其对应的文本语义树结构,将上述提取的信息作为序列到序列模型的输入,通过双向循环神经网络编码器编码到隐藏状态中,映射成固定长度的向量序列,通过注意力分布对其分配不同的权重,形成上下文向量,输入到解码器中,利用解码器的隐藏状态,最终解码出词汇分布。为了更好的处理词汇表之外的单词,使用指针生成器通过词汇的生成概率对从词汇表中选择的单词和从源序列中复制的单词之间进行一个软控制,得到最终的词汇分布。
利用带有基线的策略梯度算法结合N次蒙特卡洛搜索,将带有指针生成器和注意力机制的编码器-解码器模型作为强化学习中的智能体,生成的词汇分布看作是遵循的策略,已经生成的单词看作是状态,下一个要生成的单词看作是动作,通过N次蒙特卡洛搜索计算包含一个动作的序列的平均奖励,找到平均奖励最大的动作序列,则该动作就是要选择的动作,依此进行,得到完整序列,利用蒙特卡洛搜索出的序列和基线序列的差值来更新策略梯度。
进一步的,将强化学习中的策略梯度算法和N次蒙特卡洛搜索相结合,利用蒙特卡洛搜索出的序列和基线序列的差值来更新策略时具体采用如下方式:
将带有指针生成器和注意力机制的编码器-解码器模型作为强化学习中的智能体,生成的词汇分布看作是遵循的策略,已经生成的单词看作是状态,下一个要生成的单词看作是动作。
我们使用rollout策略的蒙特卡洛搜索方法,估计中间时间步骤t上的动作值,假设要生成的序列长度为T,我们使用rollout策略的蒙特卡洛搜索方法对剩下的T-t个未知的单词进行采样,进行N此蒙特卡洛搜索后,我们将输出N条样例,最后我们对N条序列的奖励取平均值,就是包含该动作的期望奖励,该动作就是我们要选择的动作,依次类推,最终得到完整的序列,得到提交需求的摘要。
由于采用了上述技术方案,本发明提供的一种基于策略梯度算法的自动生成提交需求摘要的方法,该方法通过将提交信息和源代码注释和其对应的文本语义树结构输入到序列到序列模型中,通过双向循环神经网络编码器编码到隐藏状态中,映射成固定长度的向量序列,通过注意力分布对其分配不同的权重,形成上下文向量,输入到解码器中,利用解码器的隐藏状态,最终解码出词汇分布。为了更好的处理词汇表之外的单词,使用指针生成器通过词汇的生成概率对从词汇表中选择的单词和从源序列中复制的单词之间进行一个软控制,得到最终的词汇分布。利用带有基线的策略梯度算法结合N次蒙特卡洛搜索,通过N次蒙特卡洛搜索计算包含一个动作的序列的平均奖励,找到平均奖励最大的动作序列,则该动作就是要选择的动作,依此进行,得到完整序列,利用蒙特卡洛搜索出的序列和基线序列的差值来更新策略梯度,最终生成完整的序列,即提交需求描述。在输入的过程中,考虑了文本语义树结构,增加了生成句子的逻辑结构性,通过使用N次蒙特卡洛搜索,不但考虑了整体句子的奖励,也考虑了中间时刻的奖励情况,使得生成的提交需求描述更加准确、完整。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明方法的流程图。
具体实施方式
为使本发明的技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:
如图1所示的一种基于策略梯度算法的自动生成提交需求摘要的方法,具体包括如下步骤:
S1:从GitHub上收集提交需求数据,对于每一个提交需求,检索它的提交需求摘要和提交信息,并分析了其提交的修补程序,提取每个修补程序中添加的注释,构建源序列和目标序列,源序列为提交信息和源代码注释及其文本语义树的组合,目标序列为提交需求摘要。过滤出提交需求中琐碎的和模板化的信息,删除空描述的提交需求和超过最大长度限制的序列。
S2:将处理之后的源序列作为序列-序列模型的输入。
S21:从提交需求中提取的文本信息作为提交信息和源代码注释,我们在输入的过程中加入文本语义树结构,构造文本信息的多元特征,将文本信息和文本语义树通过词嵌入层利用双向循环神经网络编码器编码到隐藏状态中,映射成固定长度的向量序列。
源序列通过词嵌入层之后用x=(x1,x2,...,xT)表示,通过双向循环神经网络的隐藏状态h1,h2,...,h|x|映射成固定长度的向量序列,计算的编码器的隐藏状态为:ht=f1(xt,ht-1)。
S3:通过注意力分布对其分配不同的权重,形成上下文向量,输入到解码器中,利用解码器的隐藏状态,最终解码出词汇分布。为了更好的处理词汇表之外的单词,使用指针生成器通过词汇的生成概率对从词汇表中选择的单词和从源序列中复制的单词之间进行一个软控制,得到最终的词汇分布。
计算过程如下:
S31:单向循环神经网络解码器的隐藏状态为s,
Figure GDA0002444917410000041
它的输入是上一个隐藏时间状态和通过解码器解码出来的单词嵌入。
S32:通过解码器计算的上下文向量为:
Figure GDA0002444917410000042
其中
Figure GDA0002444917410000043
表示每一个编码器的隐藏状态对应的权重。etj=tanh(st,hj),表示解码器的隐藏状态和编码器的隐藏状态计算的一个分数。
S33:指针生成器就是一个软控制,通过词汇的生成概率对从词汇表中选择的单词和从源序列中复制的单词之间进行一个软控制。定义为:
Figure GDA0002444917410000044
其中
Figure GDA0002444917410000045
Figure GDA0002444917410000046
的词嵌入,也就是解码器解码出来的序列的词嵌入。
S34:将生成的上下文向量映射到单向循环神将网络解码器中,得到词汇分布为:pvocab=softmax(W(st,ct))。
其中生成第j个参考单词yj的条件概率:
Figure GDA0002444917410000047
加入指针生成器后,得到最后的词汇分布为:
Figure GDA0002444917410000048
其中
Figure GDA0002444917410000049
S4:利用带有基线的策略梯度算法结合N次蒙特卡洛搜索,将带有指针生成器和注意力机制的编码器-解码器模型作为强化学习中的智能体,生成的词汇分布看作是遵循的策略,已经生成的单词看作是状态,下一个要生成的单词看作是动作,通过N次蒙特卡洛搜索计算包含一个动作的序列的平均奖励,找到平均奖励最大的动作序列,则该动作就是要选择的动作,依此进行,得到完整序列,利用蒙特卡洛搜索出的序列和基线序列的差值来更新策略梯度。具体步骤如下:
S41:我们使用强化学习方法是带有基线的策略梯度算法,定义奖励函数为:
Figure GDA0002444917410000051
其中
Figure GDA0002444917410000052
表示生成的序列,y表示真实的序列,也就是目标序列。g函数表示ROUGE-L的F1分数。
S42:对于策略梯度算法的训练目标就是最小化负期望奖励,训练函数的定义为:
Figure GDA0002444917410000053
而原始的策略梯度算法只能对完整的序列计算奖励,为了更加准确地生成提交需求摘要,我们使用rollout策略的蒙特卡洛搜索方法,估计中间时间步骤t上的动作值,假设要生成的序列长度为T,我们使用rollout策略Gβ的蒙特卡洛搜索方法对剩下的T-t个未知的单词进行采样,进行N次蒙特卡洛搜索后,我们将输出N条样例,最后我们对N条序列的奖励取平均值,就是包含该动作的期望奖励,该动作就是我们要选择的动作,依次类推,最终得到完整的序列,得到提交需求的摘要。
S43:N次蒙特卡洛搜索过程表示为:
Figure GDA0002444917410000054
定义蒙特卡洛搜索过程的奖励为:
Figure GDA0002444917410000055
S44:通过策略梯度定理,最终的训练函数为:
Figure GDA0002444917410000056
其中ys为通过蒙特卡洛搜索和强化学习计算出来的奖励最大的动作序列,yb是模型本身产生的概率最大的动作序列,通过强化学习的损失函数来更新选择动作的策略。
S5:对新的提交需求生成其提交需求摘要。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (1)

1.一种基于策略梯度算法的自动生成提交需求摘要的方法,其特征在于包括:
提取提交需求关系中的提交信息和源代码注释、以及文本信息相对应的文本语义树结构,将上述提取信息作为序列到序列模型的输入;
通过双向循环神经网络编码器将输入信息编码到隐藏状态中,映射成固定长度的向量序列,通过注意力分布机制对其分配不同的权重形成上下文向量,将上下文向量输入到解码器中,利用解码器的隐藏状态解码出词汇分布;
使用指针生成器通过单词的生成概率对从词汇表中选择的单词和从源序列中复制的单词之间进行软控制、得到最终词汇分布;
利用强化学习中的策略梯度算法结合N次蒙特卡洛搜索、将带有指针生成器和注意力机制的编码器-解码器模型作为强化学习中的智能体;
将生成的最终词汇分布看作是遵循的策略,已经生成的单词看作是状态,下一个要生成的单词看作是动作,通过N次蒙特卡洛搜索计算包含一个动作的序列的平均奖励,找到平均奖励最大的动作序列,将该动作为要选择的动作,依此进行得到完整序列;
利用蒙特卡洛搜索出的序列和基线序列的差值来更新策略梯度,具体采用如下方式:
使用rollout策略的蒙特卡洛搜索方法估计中间时间步骤t上的动作值,假设要生成的序列长度为T,使用rollout策略的蒙特卡洛搜索方法对剩下的T-t个未知的单词进行采样,进行N次蒙特卡洛搜索输出N条样例,将N条样例的奖励取平均值作为包含该动作的期望奖励,选择期望奖励最大的动作为要选择的动作,依次类推得到完整的序列即提交需求的摘要。
CN202010075692.1A 2020-01-22 2020-01-22 一种基于策略梯度算法的自动生成提交需求摘要的方法 Active CN111291175B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010075692.1A CN111291175B (zh) 2020-01-22 2020-01-22 一种基于策略梯度算法的自动生成提交需求摘要的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010075692.1A CN111291175B (zh) 2020-01-22 2020-01-22 一种基于策略梯度算法的自动生成提交需求摘要的方法

Publications (2)

Publication Number Publication Date
CN111291175A CN111291175A (zh) 2020-06-16
CN111291175B true CN111291175B (zh) 2022-07-22

Family

ID=71026887

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010075692.1A Active CN111291175B (zh) 2020-01-22 2020-01-22 一种基于策略梯度算法的自动生成提交需求摘要的方法

Country Status (1)

Country Link
CN (1) CN111291175B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11113397B2 (en) * 2019-05-16 2021-09-07 Cisco Technology, Inc. Detection of malicious executable files using hierarchical models
CN112149808B (zh) * 2020-09-28 2022-10-14 上海交通大学 拓展单机图神经网络训练至分布式训练方法、系统及介质
CN113094399B (zh) * 2021-04-22 2022-12-30 西安交通大学 网络流量多序列匹配方法、系统、设备及可读存储介质
CN113642305A (zh) * 2021-07-22 2021-11-12 北京三快在线科技有限公司 一种文本生成方法、装置、存储介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110196903A (zh) * 2019-05-06 2019-09-03 中国海洋大学 一种用于为文章生成摘要的方法及系统
CN110427629A (zh) * 2019-08-13 2019-11-08 苏州思必驰信息科技有限公司 半监督文本简化模型训练方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10909157B2 (en) * 2018-05-22 2021-02-02 Salesforce.Com, Inc. Abstraction of text summarization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110196903A (zh) * 2019-05-06 2019-09-03 中国海洋大学 一种用于为文章生成摘要的方法及系统
CN110427629A (zh) * 2019-08-13 2019-11-08 苏州思必驰信息科技有限公司 半监督文本简化模型训练方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Generating Abstractive Summaries Using Sequence to Sequence Attention Model";Tooba Siddiqui等;《2018 International Conference on Frontiers of Information Technology (FIT)》;20181219;第212-217页 *
"基于序列到序列模型的生成式文本摘要研究综述";石磊 等;《情报学报》;20191024;第1102-1116页 *

Also Published As

Publication number Publication date
CN111291175A (zh) 2020-06-16

Similar Documents

Publication Publication Date Title
CN111291175B (zh) 一种基于策略梯度算法的自动生成提交需求摘要的方法
CN109960506B (zh) 一种基于结构感知的代码注释生成方法
CN108062388B (zh) 人机对话的回复生成方法和装置
CN107506414B (zh) 一种基于长短期记忆网络的代码推荐方法
CN111090461B (zh) 一种基于机器翻译模型的代码注释生成方法
JP2022531414A (ja) 数字列のエンドツーエンド自動音声認識
CN112712804A (zh) 语音识别方法、系统、介质、计算机设备、终端及应用
JP7087938B2 (ja) 質問生成装置、質問生成方法及びプログラム
Liu et al. Reinforcement learning for emotional text-to-speech synthesis with improved emotion discriminability
JP6051004B2 (ja) 音声認識装置、誤り修正モデル学習方法、及びプログラム
CN113051399B (zh) 一种基于关系型图卷积网络的小样本细粒度实体分类方法
CN114385178A (zh) 基于抽象语法树结构信息增强的代码生成方法
CN113822054A (zh) 基于数据增强的中文语法纠错方法及装置
US11322133B2 (en) Expressive text-to-speech utilizing contextual word-level style tokens
CN111538838B (zh) 基于文章的问题生成方法
CN114528398A (zh) 一种基于交互双重图卷积网络的情感预测方法及系统
CN114648015B (zh) 一种基于依存关系注意力模型的方面级情感词识别方法
CN115293138A (zh) 一种文本纠错方法及计算机设备
CN114925170A (zh) 文本校对模型训练方法及装置、计算设备
Fang et al. Prhan: Automated pull request description generation based on hybrid attention network
CN114707492A (zh) 融合多粒度特征的越南语语法错误纠正方法及装置
CN109979461A (zh) 一种语音翻译方法及装置
CN109918484B (zh) 对话生成方法和装置
CN110399619A (zh) 面向神经机器翻译的位置编码方法及计算机存储介质
CN113822044B (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