一种复述生成方法、系统、设备及计算机可读存储介质技术方案

技术编号:21454168 阅读:21 留言:0更新日期:2019-06-26 04:51
本申请公开了一种复述生成方法、系统、设备及计算机可读存储介质,该方法基于包含复制机制的序列到序列框架,通过计算源句单词和关键词单词的词向量、上下文向量和注意力向量,来确定目标句中每个目标单词的模式选择,若为复制模式,则根据解码器的输出通过softmax函数计算关键词集的概率分布,并选择概率最大的关键词作为预测的目标单词复制到目标句,若为写入模式,则根据解码器的输出通过softmax函数计算整个字典的概率分布,并选择概率最大的单词作为预测的目标单词写入目标句;依次生成目标单词,得到整个目标句;生成的复述符合用户给定的关键词,可从原句中直接拷贝单词,从字典中生成更符合用户习惯的搭配,适用性高。

【技术实现步骤摘要】
一种复述生成方法、系统、设备及计算机可读存储介质
本申请涉及自然语言处理和机器学习
,更具体地说,涉及一种复述生成方法、系统、设备及计算机可读存储介质。
技术介绍
复述是指在不改变一段文字(句子)的语义为前提下,通过使用一些不同的字词、短语或者其他语言结构,将其用另外一段文字(句子)的方式来表达。在自然语言中,复述具有重要的作用,其不仅是NLP((NaturalLanguageProcessing,自然语言处理)系统中的重要模块,也是日常生活中不可或缺的一部分。现有的复述生成方法有:结合源句的输入和目标语法模板生成复述的目标句。然而,现有的复述生成方法中,语法模板对于语言知识不足的用户来说用于复杂,其次,目标句的多样性取决于语法模板的数量,使得现有的复述生成方法的适用性较低。综上所述,如何提高复述生成方法的适用性是目前本领域技术人员亟待解决的问题。
技术实现思路
本申请的目的是提供一种复述生成方法,其能考虑到用户的特定需求,用户通过输入需要复述的源句和指定的关键词,从而产生含有指定关键词的复述句,该方法能在一定程度上解决如何提高复述生成方法的适用性的技术问题。本申请还提供了一种复述生成系统、设备及计算机可读存储介质。为了实现上述目的,本申请提供如下技术方案:一种复述生成方法,包括:获取待复述的源句单词和关键词单词;将所述源句单词和所述关键词单词分别输入到词嵌入层生成对应所述源句单词的词向量和所述关键词单词的词向量;将所述源句单词的词向量和所述关键词单词的词向量分别输入到对应的基于seq2seq模型的编码器中,得到用于表示源句的上下文向量和用于表示关键词的上下文向量;将所述源句的上下文向量和所述关键词的上下文向量由注意力机制分别计算出所述源句和所述关键词的注意力向量;输入所述源句的注意力向量、所述关键词的注意力向量至解码器,获取所述解码器输出的隐藏状态以确定当前时刻要生成的目标单词的模式,并用于下一时刻注意力的计算;对于每个目标单词,若目标单词的模式为复制模式,则根据所述解码器的输出通过softmax函数计算关键词集的概率分布,并选择关键词集中概率最大的关键词作为预测的目标单词复制到目标句,若目标单词的模式为写入模式,则根据所述解码器的输出通过所述softmax函数计算整个字典的概率分布,并选择字典中概率最大的单词作为预测的目标单词写入目标句;依次生成所述目标单词,得到所述整个目标句。优选的,所述获取待复述的源句单词和关键词单词之前,还包括:获取由源句和目标句及其分别抽取的关键词组成的训练集;基于所述训练集通过反向传播算法和Adam优化器训练基于所述seq2seq的模型;通过所述基于所述seq2seq的模型保存计算图结构和参数。优选的,所述获取由源句和目标句及其分别抽取的关键词组成的训练集,包括:将PARANMT50M和MSCOCO作为数据集,基于所述数据集得到源句ss和目标句st;采用公式得到从所述源句中抽取的关键词ks,其中,采用公式得到从所述目标句中抽取的关键词kt,其中,优选的,所述基于所述训练集通过反向传播算法和Adam优化器训练基于所述seq2seq的模型,包括:在每个训练步骤,从所述训练集中选取小批量的所述源句、所述关键词、所述目标句输入到模型进行预测,根据模型预测采用损失计算公式计算相应的损失值,所述损失计算公式包括:logp(yt,zt)=logp(yt|zt)+log(P(zt))其中,表示所述目标单词是否来自所述关键词;N表示批量大小;T表示最大时间步长;表示第i个目标单词;表示第i个目标单词的模式;s表示批量的源句;k表示批量的关键字;t表示批量的目标句;在自编码模式中,通过所述训练集<ss,ks>重构源句ss,并通过第一运算公式lossae=losstriplet(ss,ks,ss)计算相应的损失值;在复述模式中,通过所述训练集<ss,kt>生成目标句st,并通过第二运算公式losspp=losstriplet(ss,kt,st)计算相应的损失值;设置预设阈值为0.3,基于所述预设阈值,通过损失表达式确定最终的损失值,所述损失值表达式包括:其中,loss表示所述最终的损失值;threshold表示所述预设阈值;r表示0到1之间的随机数值;根据所述最终的损失值通过反向传播算法和Adam优化器更新基于所述seq2seq的模型的参数;返回执行所述在每个训练步骤,从所述训练集中选取小批量的所述源句、所述关键词、所述目标句输入到模型进行预测,根据模型预测采用损失计算公式计算相应的损失值的步骤,直到所述最终的损失值满足预设条件,并保存基于所述seq2seq的模型的参数和图结构。优选的,所述将所述源句单词的词向量和所述关键词单词的词向量分别输入到对应的基于seq2seq模型的编码器中,得到用于表示源句的上下文向量和用于表示关键词的上下文向量,包括:将所述源句单词的词向量依次输入到源句编码器的双向GRU单元中;其中,在每一时刻,所述源句编码器的双向GRU单元根据上一时刻的隐藏状态和当前输入的源句单词的词向量输出一个新的隐藏状态连接源句同一单词的词向量在正反两个GRU方向上生成的正向和反向隐藏状态来得到该单词的上下文向量得到所述源句的上下文向量将所述关键词单词的词向量依次输入到关键词编码器的双向GRU单元中;其中,在每一时刻,所述关键词编码器的双向GRU单元根据上一时刻隐藏状态和当前输入的关键词单词的词向量输出一个新的隐藏状态连接该时刻的关键词单词的同一词向量生成的正向和反向隐藏状态来得到该关键词单词的上下文向量得到所述关键词集的的上下文向量其中,所述源句编码器的正向GRU单元包括:所述源句编码器的反向GRU单元包括:所述关键词编码器的正向GRU单元包括:所述关键词编码器的反向GRU单元包括:优选的,将所述源句的上下文向量和所述关键词的上下文向量由注意力机制分别计算出所述源句和所述关键词注意力向量,包括:采用源句注意力计算公式,基于所述源句的上下文向量和所述解码器上一时刻的隐藏状态计算所述源句的注意力向量;采用关键词注意力计算公式,基于所述关键词的上下文向量和所述解码器上一时刻的隐藏状态计算所述关键词的注意力向量;其中,所述源句的注意力计算公式包括:α=softmax(β);cs表示所述源句的注意力向量;ws表示所述源句的非共享权重矩阵;e表示相应的输入标记;hi-1表示所述解码器上个时刻的隐藏状态;所述关键词的注意力计算公式包括:α=softmax(β);ck表示所述关键词的注意力向量;wk表示所述关键词的非共享权重矩阵;e表示相应的输入标记;hi-1表示所述解码器上个时刻的隐藏状态。优选的,所述输入所述源句的注意力向量、所述关键词的注意力向量至解码器,获取所述解码器输出的隐藏状态以确定当前时刻要生成的目标单词的模式,并用于下一时刻注意力的计算,包括:连接所述解码器的输入标记e,所述源句单词的注意力向量cs和所述关键词单词的注意力向量ck得到联合表示c,其中,c=selu(wcat·[e;ck;cs]+bcat);ot,ht=f(ht-1,c);selu表示激活函数;wcat表示c的权重矩阵,bcat表示c的偏差;将所述联合表示c作为所述解码器的GRU单元的输入,其中,在每一时本文档来自技高网...

【技术保护点】
1.一种复述生成方法,其特征在于,包括:获取待复述的源句单词和关键词单词;将所述源句单词和所述关键词单词分别输入到词嵌入层生成对应所述源句单词的词向量和所述关键词单词的词向量;将所述源句单词的词向量和所述关键词单词的词向量分别输入到对应的基于seq2seq模型的编码器中,得到用于表示源句的上下文向量和用于表示关键词的上下文向量;将所述源句的上下文向量和所述关键词的上下文向量由注意力机制分别计算出所述源句和所述关键词的注意力向量;输入所述源句的注意力向量、所述关键词的注意力向量至解码器,获取所述解码器输出的隐藏状态以确定当前时刻要生成的目标单词的模式,并用于下一时刻注意力的计算;对于每个目标单词,若目标单词的模式为复制模式,则根据所述解码器的输出通过softmax函数计算关键词集的概率分布,并选择关键词集中概率最大的关键词作为预测的目标单词复制到目标句,若目标单词的模式为写入模式,则根据所述解码器的输出通过所述softmax函数计算整个字典的概率分布,并选择字典中概率最大的单词作为预测的目标单词写入目标句;依次生成所述目标单词,得到所述整个目标句。

【技术特征摘要】
1.一种复述生成方法,其特征在于,包括:获取待复述的源句单词和关键词单词;将所述源句单词和所述关键词单词分别输入到词嵌入层生成对应所述源句单词的词向量和所述关键词单词的词向量;将所述源句单词的词向量和所述关键词单词的词向量分别输入到对应的基于seq2seq模型的编码器中,得到用于表示源句的上下文向量和用于表示关键词的上下文向量;将所述源句的上下文向量和所述关键词的上下文向量由注意力机制分别计算出所述源句和所述关键词的注意力向量;输入所述源句的注意力向量、所述关键词的注意力向量至解码器,获取所述解码器输出的隐藏状态以确定当前时刻要生成的目标单词的模式,并用于下一时刻注意力的计算;对于每个目标单词,若目标单词的模式为复制模式,则根据所述解码器的输出通过softmax函数计算关键词集的概率分布,并选择关键词集中概率最大的关键词作为预测的目标单词复制到目标句,若目标单词的模式为写入模式,则根据所述解码器的输出通过所述softmax函数计算整个字典的概率分布,并选择字典中概率最大的单词作为预测的目标单词写入目标句;依次生成所述目标单词,得到所述整个目标句。2.根据权利要求1所述的方法,其特征在于,所述获取待复述的源句单词和关键词单词之前,还包括:获取由源句和目标句及其分别抽取的关键词组成的训练集;基于所述训练集通过反向传播算法和Adam优化器训练基于所述seq2seq的模型;通过所述基于所述seq2seq的模型保存计算图结构和参数。3.根据权利要求2所述的方法,其特征在于,所述获取由源句和目标句及其分别抽取的关键词组成的训练集,包括:将PARANMT50M和MSCOCO作为数据集,基于所述数据集得到源句ss和目标句st;采用公式得到从所述源句中抽取的关键词ks,其中,采用公式得到从所述目标句中抽取的关键词kt,其中,4.根据权利要求3所述的方法,其特征在于,所述基于所述训练集通过反向传播算法和Adam优化器训练基于所述seq2seq的模型,包括:在每个训练步骤,从所述训练集中选取小批量的所述源句、所述关键词、所述目标句输入到模型进行预测,根据模型预测采用损失计算公式计算相应的损失值,所述损失计算公式包括:其中,表示所述目标单词是否来自所述关键词;N表示批量大小;T表示最大时间步长;表示第i个目标单词;表示第i个目标单词的模式;s表示批量的源句;k表示批量的关键字;t表示批量的目标句;在自编码模式中,通过所述训练集<ss,ks>重构源句ss,并通过第一运算公式lossae=losstriplet(ss,ks,ss)计算相应的损失值;在复述模式中,通过所述训练集<ss,ks>生成目标句st,并通过第二运算公式losspp=losstriplet(ss,kt,st)计算相应的损失值;设置预设阈值为0.3,基于所述预设阈值,通过损失表达式确定最终的损失值,所述损失值表达式包括:其中,loss表示所述最终的损失值;threshold表示所述预设阈值;r表示0到1之间的随机数值;根据所述最终的损失值通过反向传播算法和Adam优化器更新基于所述seq2seq的模型的参数;返回执行所述在每个训练步骤,从所述训练集中选取小批量的所述源句、所述关键词、所述目标句输入到模型进行预测,根据模型预测采用损失计算公式计算相应的损失值的步骤,直到所述最终的损失值满足预设条件,并保存基于所述seq2seq的模型的参数和图结构。5.根据权利要求1所述的方法,其特征在于,所述将所述源句单词的词向量和所述关键词单词的词向量分别输入到对应的基于seq2seq模型的编码器中,得到用于表示源句的上下文向量和用于表示关键词的上下文向量,包括:将所述源句单词的词向量依次输入到源句编码器的双向GRU单元中;其中,在每一时刻,所述源句编码器的双向GRU单元根据上一时刻的隐藏状态和当前输入的源句单词的词向量输出一个新的隐藏状态连接源句同一单词的词向量在正反两个GRU方向上生成的正向和反向隐藏状态来得到该单词的上下文向量得到所述源句的上下文向量将所述关键词单词的词向量依次输入到关键词编码器的双向GRU单元中;其中,在每一时刻,所述关键词编码器的双向GRU单元根据上一时刻隐藏状态和当前输入的关键词单词的词向量输出一个新的隐藏状态连接该时刻的关键词单词的...

【专利技术属性】
技术研发人员:曾道建周冠宏
申请(专利权)人:长沙理工大学
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1