CN109933806B - 一种复述生成方法、系统、设备及计算机可读存储介质 - Google Patents
一种复述生成方法、系统、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109933806B CN109933806B CN201910257214.XA CN201910257214A CN109933806B CN 109933806 B CN109933806 B CN 109933806B CN 201910257214 A CN201910257214 A CN 201910257214A CN 109933806 B CN109933806 B CN 109933806B
- Authority
- CN
- China
- Prior art keywords
- word
- keyword
- target
- vector
- sentence
- 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
- 238000000034 method Methods 0.000 title claims abstract description 70
- 239000013598 vector Substances 0.000 claims abstract description 181
- 230000007246 mechanism Effects 0.000 claims abstract description 12
- 238000012549 training Methods 0.000 claims description 48
- 238000004364 calculation method Methods 0.000 claims description 40
- 230000006870 function Effects 0.000 claims description 35
- 241000282326 Felis catus Species 0.000 claims description 12
- 230000002457 bidirectional effect Effects 0.000 claims description 12
- 239000011159 matrix material Substances 0.000 claims description 12
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 9
- 235000004257 Cordia myxa Nutrition 0.000 claims description 6
- 244000157795 Cordia myxa Species 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 41
- 230000008569 process Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 7
- 230000010076 replication Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 4
- 238000003058 natural language processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 235000013550 pizza Nutrition 0.000 description 3
- 238000012360 testing method Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Machine Translation (AREA)
Abstract
本申请公开了一种复述生成方法、系统、设备及计算机可读存储介质,该方法基于包含复制机制的序列到序列框架,通过计算源句单词和关键词单词的词向量、上下文向量和注意力向量,来确定目标句中每个目标单词的模式选择,若为复制模式,则根据解码器的输出通过softmax函数计算关键词集的概率分布,并选择概率最大的关键词作为预测的目标单词复制到目标句,若为写入模式,则根据解码器的输出通过softmax函数计算整个字典的概率分布,并选择概率最大的单词作为预测的目标单词写入目标句;依次生成目标单词,得到整个目标句;生成的复述符合用户给定的关键词,可从原句中直接拷贝单词,从字典中生成更符合用户习惯的搭配,适用性高。
Description
技术领域
本申请涉及自然语言处理和机器学习技术领域,更具体地说,涉及一种复述生成方法、系统、设备及计算机可读存储介质。
背景技术
复述是指在不改变一段文字(句子)的语义为前提下,通过使用一些不同的字词、短语或者其他语言结构,将其用另外一段文字(句子)的方式来表达。
在自然语言中,复述具有重要的作用,其不仅是NLP((Natural LanguageProcessing,自然语言处理)系统中的重要模块,也是日常生活中不可或缺的一部分。现有的复述生成方法有:结合源句的输入和目标语法模板生成复述的目标句。
然而,现有的复述生成方法中,语法模板对于语言知识不足的用户来说用于复杂,其次,目标句的多样性取决于语法模板的数量,使得现有的复述生成方法的适用性较低。
综上所述,如何提高复述生成方法的适用性是目前本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种复述生成方法,其能考虑到用户的特定需求,用户通过输入需要复述的源句和指定的关键词,从而产生含有指定关键词的复述句,该方法能在一定程度上解决如何提高复述生成方法的适用性的技术问题。本申请还提供了一种复述生成系统、设备及计算机可读存储介质。
为了实现上述目的,本申请提供如下技术方案:
一种复述生成方法,包括:
获取待复述的源句单词和关键词单词;
将所述源句单词和所述关键词单词分别输入到词嵌入层生成对应所述源句单词的词向量和所述关键词单词的词向量;
将所述源句单词的词向量和所述关键词单词的词向量分别输入到对应的基于seq2seq模型的编码器中,得到用于表示源句的上下文向量和用于表示关键词的上下文向量;
将所述源句的上下文向量和所述关键词的上下文向量由注意力机制分别计算出所述源句和所述关键词的注意力向量;
输入所述源句的注意力向量、所述关键词的注意力向量至解码器,获取所述解码器输出的隐藏状态以确定当前时刻要生成的目标单词的模式,并用于下一时刻注意力的计算;
对于每个目标单词,若目标单词的模式为复制模式,则根据所述解码器的输出通过softmax函数计算关键词集的概率分布,并选择关键词集中概率最大的关键词作为预测的目标单词复制到目标句,若目标单词的模式为写入模式,则根据所述解码器的输出通过所述softmax函数计算整个字典的概率分布,并选择字典中概率最大的单词作为预测的目标单词写入目标句;
依次生成所述目标单词,得到所述整个目标句。
优选的,所述获取待复述的源句单词和关键词单词之前,还包括:
获取由源句和目标句及其分别抽取的关键词组成的训练集;
基于所述训练集通过反向传播算法和Adam优化器训练基于所述seq2seq的模型;
通过所述基于所述seq2seq的模型保存计算图结构和参数。
优选的,所述获取由源句和目标句及其分别抽取的关键词组成的训练集,包括:
将PARANMT50M和MSCOCO作为数据集,基于所述数据集得到源句ss和目标句st;
采用公式得到从所述源句中抽取的关键词ks,其中,
采用公式得到从所述目标句中抽取的关键词kt,其中,
优选的,所述基于所述训练集通过反向传播算法和Adam优化器训练基于所述seq2seq的模型,包括:
在每个训练步骤,从所述训练集中选取小批量的所述源句、所述关键词、所述目标句输入到模型进行预测,根据模型预测采用损失计算公式计算相应的损失值,所述损失计算公式包括:
log p(yt,zt)=log p(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单元包括:
优选的,将所述源句的上下文向量和所述关键词的上下文向量由注意力机制分别计算出所述源句和所述关键词注意力向量,包括:
采用源句注意力计算公式,基于所述源句的上下文向量和所述解码器上一时刻的隐藏状态计算所述源句的注意力向量;
采用关键词注意力计算公式,基于所述关键词的上下文向量和所述解码器上一时刻的隐藏状态计算所述关键词的注意力向量;
其中,所述源句的注意力计算公式包括:
α=soft max(β);/>cs表示所述源句的注意力向量;ws表示所述源句的非共享权重矩阵;e表示相应的输入标记;hi-1表示所述解码器上个时刻的隐藏状态;
所述关键词的注意力计算公式包括:
α=soft max(β);/>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单元的输入,其中,在每一时刻,所述解码器的GRU单元根据上一时刻隐藏状态hi-1和当前输入联合表示c,得到新的隐藏状态hi;所述解码器的GRU单元功能可表示为:ot,ht=f(ht-1,c);
采用概率计算公式,根据当前时刻所述解码器的隐藏状态hi通过sigmiod函数计算当前待生成的目标单词的模式的概率分布,并选择概率值大于0.5的模式作为当前目标单词的生成模式;
其中,所述概率计算公式包括:Pgate(zt)=sigmoid(wg·ht+bg);Pgate(zt)表示当前待生成的目标单词的模式的概率值,wg表示Pgate(zt)的权重矩阵,bg表示Pgate(zt)的偏差。
优选的,所述关键词集的概率分布计算公式包括:Pcopy(yt)=softmax(wc·ot+bc),ot表示所述解码器当前时刻的输出;
所述字典的概率分布计算公式包括:Pwrite(yt)=softmax(ww·ot+bw)。
一种复述生成系统,包括:
第一获取模块,用于获取待复述的源句单词和关键词单词;
输入与生成模块,用于将所述源句单词和所述关键词单词分别输入到词嵌入层生成对应所述源句单词的词向量和所述关键词单词的词向量;
向量输出模块,用于将所述源句单词的词向量和所述关键词单词的词向量分别输入到对应的基于seq2seq模型的编码器中,得到用于表示源句的上下文向量和用于表示关键词的上下文向量;
计算模块,用于将所述源句的上下文向量和所述关键词的上下文向量由注意力机制分别计算出当前时刻的所述源句和所述关键词的注意力向量;
模式选择模块,用于输入所述源句的注意力向量、所述关键词的注意力向量至解码器,获取所述解码器输出的隐藏状态以确定当前时刻要生成的目标单词的模式,并用于下一时刻注意力的计算;
目标单词生成模块,用于对于每个目标单词,若目标单词的模式为复制模式,则根据所述解码器的输出通过softmax函数计算关键词集的概率分布,并选择关键词集中概率最大的关键词作为预测的目标单词复制到目标句,若目标单词的模式为写入模式,则根据所述解码器的输出通过所述softmax函数计算整个字典的概率分布,并选择字典中概率最大的单词作为预测的目标单词写入目标句;
复述输出模块,用于依次生成所述目标单词,得到所述整个目标句。
一种复述生成设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序时实现如上任一所述复述生成方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述复述生成方法的步骤。
本申请提供的一种复述生成方法,获取待复述的源句单词和关键词单词;将源句单词和关键词单词分别输入到词嵌入层生成对应源句单词的词向量和关键词单词的词向量;将源句单词的词向量和关键词单词的词向量分别输入到对应的基于seq2seq模型的编码器中,得到用于表示源句的上下文向量和用于表示关键词的上下文向量;将源句的上下文向量和关键词的上下文向量由注意力机制分别计算出源句和关键词的注意力向量;输入源句的注意力向量、关键词的注意力向量至解码器,获取解码器输出的隐藏状态以确定当前时刻要生成的目标单词的模式,并用于下一时刻注意力的计算;对于每个目标单词,若目标单词的模式为复制模式,则根据解码器的输出通过softmax函数计算关键词集的概率分布,并选择关键词集中概率最大的关键词作为预测的目标单词复制到目标句,若目标单词的模式为写入模式,则根据解码器的输出通过softmax函数计算整个字典的概率分布,并选择字典中概率最大的单词作为预测的目标单词写入目标句;依次生成目标单词,得到整个目标句。本申请提供的一种复述生成方法,基于源句、关键词和字典生成目标句,不难理解,字典与关键词共同作用以使得目标句的类型多变,与基于语法模板生成目标句的现有技术相比,复述生成过程摆脱了语法模板的限制,目标句的类型更加灵活多变,适用性高。本申请提供的一种复述生成系统、设备及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种复述生成方法的第一流程图;
图2为本申请实施例提供的一种复述生成系统的结构示意图;
图3为本申请实施例提供的一种复述生成设备的结构示意图;
图4为本申请实施例提供的一种复述生成设备的另一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请实施例提供的一种复述生成方法的第一流程图。
本申请实施例提供的一种复述生成方法,可以包括以下步骤:
步骤S101:获取待复述的源句单词和关键词单词。
步骤S102:将源句单词和关键词单词分别输入到词嵌入层生成对应源句单词的词向量和关键词单词的词向量。
实际应用中,源句单词的词向量集的表达式可以为:xs={ws 1,ws 2,...,ws n};关键词单词的词向量集的表达式可以为:xk={wk 1,wk 2,...,wk m};其中,wi s表示源句单词中第i个单词对应的词向量,n为源句单词总数;表示关键词单词中第i个单词对应的词向量,m为关键词单词总数。
步骤S103:将源句单词的词向量和关键词单词的词向量分别输入到对应的基于seq2seq模型的编码器中,得到用于表示源句的上下文向量和用于表示关键词的上下文向量。
步骤S104:将源句的上下文向量和关键词的上下文向量由注意力机制分别计算出源句和关键词的注意力向量。
步骤S105:输入源句的注意力向量、关键词的注意力向量至解码器,获取解码器输出的隐藏状态以确定当前时刻要生成的目标单词的模式,并用于下一时刻注意力的计算。
步骤S106:对于每个目标单词,若目标单词的模式为复制模式,则根据解码器的输出通过softmax函数计算关键词集的概率分布,并选择关键词集中概率最大的关键词作为预测的目标单词复制到目标句,若目标单词的模式为写入模式,则根据解码器的输出通过softmax函数计算整个字典的概率分布,并选择字典中概率最大的单词作为预测的目标单词写入目标句。
步骤S107:依次生成目标单词,得到整个目标句。
本申请提供的一种复述生成方法,获取待复述的源句单词和关键词单词;将源句单词和关键词单词分别输入到词嵌入层生成对应源句单词的词向量和关键词单词的词向量;将源句单词的词向量和关键词单词的词向量分别输入到对应的基于seq2seq模型的编码器中,得到用于表示源句的上下文向量和用于表示关键词的上下文向量;将源句的上下文向量和关键词的上下文向量由注意力机制分别计算出源句和关键词的注意力向量;输入源句的注意力向量、关键词的注意力向量至解码器,获取解码器输出的隐藏状态以确定当前时刻要生成的目标单词的模式,并用于下一时刻注意力的计算;对于每个目标单词,若目标单词的模式为复制模式,则根据解码器的输出通过softmax函数计算关键词集的概率分布,并选择关键词集中概率最大的关键词作为预测的目标单词复制到目标句,若目标单词的模式为写入模式,则根据解码器的输出通过softmax函数计算整个字典的概率分布,并选择字典中概率最大的单词作为预测的目标单词写入目标句;依次生成目标单词,得到整个目标句。本申请提供的一种复述生成方法,基于源句、关键词和字典生成目标句,不难理解,字典与关键词共同作用以使得目标句的类型多变,与基于语法模板生成目标句的现有技术相比,复述生成过程摆脱了语法模板的限制,目标句的类型更加灵活多变,适用性高。
实际应用中,本申请实施例提供的一种复述生成方法,在获取待复述的源句单词和关键词单词之前,还可以获取由源句和目标句及其分别抽取的关键词组成的训练集;基于训练集通过反向传播算法和Adam优化器训练基于seq2seq的模型;通过基于seq2seq的模型保存计算图结构和参数。对基于seq2seq的模型的训练过程可以参阅图1中的相关过程,本申请在此不再赘述。实际应用中,训练过程中可以采用小批量梯度下降法来计算损失值,并更新模型参数。
实际应用中,获取由源句和目标句及其分别抽取的关键词组成的训练集的过程可以具体为:
将PARANMT50M和MSCOCO作为数据集,基于数据集得到源句ss和目标句st;
采用公式得到从源句中抽取的关键词ks,其中,
采用公式得到从目标句中抽取的关键词kt,其中,
实际应用中,基于训练集通过反向传播算法和Adam优化器训练基于seq2seq的模型的过程可以具体为:
在每个训练步骤,从训练集中选取小批量的源句、关键词、目标句输入到模型进行预测,根据模型预测采用损失计算公式计算相应的损失值,损失计算公式包括:
log p(yt,zt)=log p(yt|zt)+log(P(zt))
其中,表示目标单词是否来自关键词;N表示批量大小;T表示最大时间步长,即最大可产生T个单词组成的预测的目标句子;/>表示第i个目标单词;/>表示第i个目标单词的模式;s表示批量的源句;k表示批量的关键字;t表示批量的目标句;N表示批量大小;
在自编码模式中,可以通过训练集<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的模型的参数和图结构。
应当指出,自编码模式中,采用训练集<ss,ks,ss>,模型通过输入源句ss和源句关键词ks,生成预测的目标句,然后将预测的目标句与训练集中的目标句ss,即源句,进行比较计算损失,因为自编码的目标是使模型输出更加接近重构源句;复述模式中,采用训练集<ss,kt,st>,模型通过输入源句ss和目标关键词kt,生成预测的目标句,然后将预测的目标句与训练集中的目标句st,即含有目标关键词的目标句,比较计算损失,因为复述的目标是使模型输出与源句语义相同且又含有用户指定的关键词的复述句。此外,阈值(threshold)是确定模式概率的超参数,r是0到1之间的随机数,用于在自编码模式和复述模式之间随机切换,例如阈值为0.3,意味模型训练时随机有30%的概率采用自编码模式,70%的概率采用复述模式;训练会随机采用两种模式,而这两种模式的损失的计算表示是不同的,因此每一批量的损失是分两种情况来计算,如果当前训练是自编码模式则采用lossae计算,如果是复述模式则采用losspp计算。
实际应用中,将源句单词的词向量和关键词单词的词向量分别输入到对应的基于seq2seq模型的编码器中,得到用于表示源句的上下文向量和用于表示关键词的上下文向量的过程可以具体为:
将源句单词的词向量依次输入到源句编码器的双向GRU单元中;其中,在每一时刻,源句编码器的双向GRU单元根据上一时刻的隐藏状态和当前输入的源句单词的词向量/>输出一个新的隐藏状态/>
连接源句同一单词的词向量在正反两个GRU方向上生成的正向和反向隐藏状态来得到该单词的上下文向量/>
得到源句的上下文向量
将关键词单词的词向量依次输入到关键词编码器的双向GRU单元中;其中,在每一时刻,关键词编码器的双向GRU单元根据上一时刻隐藏状态和当前输入的关键词单词的词向量/>输出一个新的隐藏状态/>
连接该时刻的关键词单词的同一词向量生成的正向和反向隐藏状态来得到该关键词单词的上下文向量/>
得到关键词集的上下文向量
其中,源句编码器的正向GRU单元包括:
源句编码器的反向GRU单元包括:
关键词编码器的正向GRU单元包括:
关键词编码器的反向GRU单元包括:
实际应用中,将源句的上下文向量和关键词的上下文向量由注意力机制分别计算出源句和关键词的注意力向量的过程可以具体为:
采用源句注意力计算公式,基于源句的上下文向量和解码器上一时刻的隐藏状态计算源句的注意力向量;
采用关键词注意力计算公式,基于关键词的上下文向量和解码器上一时刻的隐藏状态计算关键词的注意力向量;
其中,源句的注意力计算公式包括:
α=soft max(β);/>cs表示源句的注意力向量;ws表示源句的非共享权重矩阵;e表示相应的输入标记;hi-1表示解码器上个时刻的隐藏状态;
关键词的注意力计算公式包括:
α=soft max(β);/>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单元的输入,其中,在每一时刻,解码器的GRU单元根据上一时刻隐藏状态hi-1和当前输入联合表示c,得到新的隐藏状态hi;解码器的GRU单元功能可表示为:ot,ht=f(ht-1,c);
采用概率计算公式,根据当前时刻解码器的隐藏状态hi通过sigmiod函数计算当前待生成的目标单词的模式的概率分布,并选择概率值大于0.5的模式作为当前目标单词的生成模式;
其中,概率计算公式包括:Pgate(zt)=sigmoid(wg·ht+bg);Pgate(zt)表示当前待生成的目标单词的模式的概率值,wg表示Pgate(zt)的权重矩阵,bg表示Pgate(zt)的偏差。
这里通过举例对此过程进行描述,假设最开始解码器会有一个初始状态,通过已有的源句单词上下文向量和这个初始状态基于注意力公式计算当前时刻的源句的注意力向量,当前的关键词的注意力向量的计算过程同理;然后,将当前的源句的注意力和关键词的注意力映射成联合表示c,将c输入到解码器,解码器会产生一个新的状态;再将原来的源句和关键词的上下文向量和这个新的状态基于注意力计算公式计算当前时刻新的源句和关键词的注意力向量,映射成联合表示后输入到解码器产生下一个新状态,以此循环。即其核心是用动态变化的注意力向量替换固定的上下文向量来作为解码器的输入。
实际应用中,本申请实施例提供的一种复述生成方法中,关键词集的概率计算公式可以包括:Pcopy(yt)=softmax(wc·ot+bc),ot表示解码器当前时刻的输出;
字典的概率计算公式可以包括:Pwrite(yt)=softmax(ww·ot+bw)
依次生成的目标单词,得到整个复述目标句。
本申请还提供了一种复述生成系统,其具有本申请实施例提供的一种复述生成方法具有的对应效果。请参阅图2,图2为本申请实施例提供的一种复述生成系统的结构示意图。
本申请实施例生成的一种复述生成系统,可以包括:
第一获取模块101,用于获取待复述的源句单词和关键词单词;
输入与生成模块102,用于将源句单词和关键词单词分别输入到词嵌入层生成对应源句单词的词向量和关键词单词的词向量;
向量输出模块103,用于将源句单词的词向量和关键词单词的词向量分别输入到对应的基于seq2seq模型的编码器中,得到用于表示源句的上下文向量和用于表示关键词的上下文向量;
计算模块104,用于将源句的上下文向量和关键词的上下文向量由注意力机制分别计算出源句和关键词的注意力向量;
模式选择模块105,用于输入源句的注意力向量、关键词的注意力向量至解码器,获取解码器输出的隐藏状态以确定当前时刻要生成的目标单词的模式,并用于下一时刻注意力的计算;
目标单词生成模块106,用于对于每个目标单词,若目标单词的模式为复制模式,则根据解码器的输出通过softmax函数计算关键词集的概率分布,并选择关键词集中概率最大的关键词作为预测的目标单词复制到目标句,若目标单词的模式为写入模式,则根据解码器的输出通过softmax函数计算整个字典的概率分布,并选择字典中概率最大的单词作为预测的目标单词写入目标句;
复述输出模块107,用于依次生成目标单词,得到整个目标句。
关于本申请实施例提供的复述生成系统中各个模块的详细描述可以参考上述实施例,在此不再赘述。
本申请还提供了一种复述生成设备及计算机可读存储介质,其均具有本申请实施例提供的一种复述生成方法具有的对应效果。请参阅图3,图3为本申请实施例提供的一种复述生成设备的结构示意图。
本申请实施例提供的一种复述生成设备,可以包括:
存储器201,用于存储计算机程序;
处理器202,用于执行存储器中存储的计算机程序时实现如上任一实施例所描述的复述生成方法的步骤。
请参阅图4,本申请实施例提供的另一种复述生成设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现复述生成设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(HML)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线连接:无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如上任一实施例所描述的复述生成方法的步骤。
为了测试本申请提供的复述生成方法的准确性,采用两个大型数据集,PARANMT50M和MSCOCO对本申请提供的复述生成方法进行测试。PARANMT50M是一种由回译生成的大规模复述语料库,回译的性质表明,复述的种类有限,信息丢失少,也即PARANMT50M中的大多数句子对都是单词短语级复述。MSCOCO是计算机视觉中广泛使用的数据集,尤其适用于图像标题和视觉问答,对于图像标题,五个注释器以自己的方式用一个句子描述图像,这可以被视为复述,该数据集已用于多个复述生成模型。
首先按照本申请提供模型训练方法进行训练,训练过程中,词嵌入维度设置为300,编码器的GRU单元的隐藏大小为300,当连接两个编码器的两个方向的输出时,获得的向量维度为1200,并通过仿射变换将向量约束为300;解码器的隐藏维度也设置为300,优化器为Adam,批量大小为64,学习率为0.001;预设阈值为0.3。关键词控制网络,也即本申请所涉及的基于seq2seq的模型,在PARANMT50M和MSCOCO上训练的示例如下:
PARANMT50M源句:They’re all humans,
PARANMT50M参照:It’all people,
PARANMT50M关键词:people,
PARANMT50M复述:They’re all people;
MSCOCO源句:a man is snuffing a small pan pizza,
MSCOCO参照:a young man looks down at two pizzas,
MSCOCO关键词:young looks pizzas,
MSCOCO复述:a young man looks like two pazzas。
之后,先使用机器翻译指标来评价关键词控制网络的性能,MSCOCO数据集的定性评估值请参阅表1。KCN即为关键词控制网络,Model、Source2Target、Seq2Seq、ResidualLSTM、VAE-SVG、DGEN均代表相应的复述方法;BLEU、METEOR、TER代表相应的机器翻译指标。
表1 MSCOCO数据集的定性评估值
由表1可知:KCN具有捕获关键词引导和产生相应复述的能力,且其性能较优。
接着,采用人工评估方法对关键词控制网络进行评估,评估结果请参阅表2,表2中的正确率表示语法正确率,复述率表示复述识别概率。
表2人工评价结果
数据集 | 正确率 | 复述率 |
MSCOCO | 66% | 91% |
PARANMT50M | 70% | 65% |
由表2可进一步确定关键词控制网络的性能较优。
最后,通过改变关键词来对生成的目标句进行比较:
源句:a plane is taking off from the runway;
关键词1:a plane from runway,
目标句1:a plane taking off from a runway;
关键词2:airplane runway sky,
目标句2:an airplane taking off a runway with a;
关键词3:airplane sky,
目标句3:an airplane is taking off the sky;
对该过程进行比较可以发现:关键词控制网络不仅可以正确地完成与新关键词相关的短语,还可以根据重新排序的关键词生成适当的复述,适用性高。
本申请涉及的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本申请实施例提供的一种复述生成系统、设备及计算机可读存储介质中相关部分的说明请参见本申请实施例提供的一种复述生成方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
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表示批量的目标句;Pcopy()函数为复制模式时,基于所述softmax函数的概率分布计算函数;pwrite()函数为写入模式时,基于所述softmax函数的概率分布计算函数,Pgate()函数为通过sigmiod函数计算模式的概率分布计算函数;
在自编码模式中,通过所述训练集<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单元根据上一时刻隐藏状态和当前输入的关键词单词的词向量/>输出一个新的隐藏状态/>
连接该时刻的关键词单词的同一词向量生成的正向和反向隐藏状态来得到该关键词单词的上下文向量/>
得到所述关键词集的的上下文向量
其中,所述源句编码器的正向GRU单元包括:
所述源句编码器的反向GRU单元包括:
所述关键词编码器的正向GRU单元包括:
所述关键词编码器的反向GRU单元包括:
6.根据权利要求5所述的方法,其特征在于,将所述源句的上下文向量和所述关键词的上下文向量由注意力机制分别计算出所述源句和所述关键词注意力向量,包括:
采用源句注意力计算公式,基于所述源句的上下文向量和所述解码器上一时刻的隐藏状态计算所述源句的注意力向量;
采用关键词注意力计算公式,基于所述关键词的上下文向量和所述解码器上一时刻的隐藏状态计算所述关键词的注意力向量;
其中,所述源句的注意力计算公式包括:
cs表示所述源句的注意力向量;ws表示所述源句的非共享权重矩阵;e表示相应的输入标记;/>表示所述解码器上个时刻的隐藏状态;
所述关键词的注意力计算公式包括:
ck表示所述关键词的注意力向量;wk表示所述关键词的非共享权重矩阵;e表示相应的输入标记;/>表示所述解码器上个时刻的隐藏状态。
7.根据权利要求6所述的方法,其特征在于,所述输入所述源句的注意力向量、所述关键词的注意力向量至解码器,获取所述解码器输出的隐藏状态以确定当前时刻要生成的目标单词的模式,并用于下一时刻注意力的计算,包括:
连接所述解码器的输入标记e,所述源句单词的注意力向量cs和所述关键词单词的注意力向量ck得到联合表示c,其中,c=selu(wcat·[e;ck;cs]+bcat);ot,ht=f(ht-1,c);selu表示激活函数;wcat表示c的权重矩阵,bcat表示c的偏差;
将所述联合表示c作为所述解码器的GRU单元的输入,其中,在每一时刻,所述解码器的GRU单元根据上一时刻隐藏状态和当前输入联合表示c,得到新的隐藏状态hi;所述解码器的GRU单元功能可表示为:ot,ht=f(ht-1,c);
采用概率计算公式,根据当前时刻所述解码器的隐藏状态hi通过sigmiod函数计算当前待生成的目标单词的模式的概率分布,并选择概率值大于0.5的模式作为当前目标单词的生成模式;
其中,所述概率计算公式包括:Pgate(zt)=sigmoid(wg·ht+bg);Pgate(zt)表示当前待生成的目标单词的模式的概率值,wg表示Pgate(zt)的权重矩阵,bg表示Pgate(zt)的偏差。
8.根据权利要求7所述的方法,其特征在于,所述关键词集的概率分布计算公式包括:Pcopy(yt)=soft max(wc·ot+bc),ot表示所述解码器当前时刻的输出;
所述字典的概率分布计算公式包括:Pwrite(yt)=soft max(ww·ot+bw)。
9.一种复述生成系统,其特征在于,包括:
第一获取模块,用于获取待复述的源句单词和关键词单词;
输入与生成模块,用于将所述源句单词和所述关键词单词分别输入到词嵌入层生成对应所述源句单词的词向量和所述关键词单词的词向量;
向量输出模块,用于将所述源句单词的词向量和所述关键词单词的词向量分别输入到对应的基于seq2seq模型的编码器中,得到用于表示源句的上下文向量和用于表示关键词的上下文向量;
计算模块,用于将所述源句的上下文向量和所述关键词的上下文向量由注意力机制分别计算出当前时刻的所述源句和所述关键词的注意力向量;
模式选择模块,用于输入所述源句的注意力向量、所述关键词的注意力向量至解码器,获取所述解码器输出的隐藏状态以确定当前时刻要生成的目标单词的模式,并用于下一时刻注意力的计算;
目标单词生成模块,用于对于每个目标单词,若目标单词的模式为复制模式,则根据所述解码器的输出通过softmax函数计算关键词集的概率分布,并选择关键词集中概率最大的关键词作为预测的目标单词复制到目标句,若目标单词的模式为写入模式,则根据所述解码器的输出通过所述softmax函数计算整个字典的概率分布,并选择字典中概率最大的单词作为预测的目标单词写入目标句;
复述输出模块,用于依次生成所述目标单词,得到整个目标句。
10.一种复述生成设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序时实现如权利要求1至8任一项所述复述生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910257214.XA CN109933806B (zh) | 2019-04-01 | 2019-04-01 | 一种复述生成方法、系统、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910257214.XA CN109933806B (zh) | 2019-04-01 | 2019-04-01 | 一种复述生成方法、系统、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109933806A CN109933806A (zh) | 2019-06-25 |
CN109933806B true CN109933806B (zh) | 2024-01-30 |
Family
ID=66988759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910257214.XA Active CN109933806B (zh) | 2019-04-01 | 2019-04-01 | 一种复述生成方法、系统、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109933806B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112086144B (zh) * | 2020-08-28 | 2024-08-09 | 深圳先进技术研究院 | 分子生成方法、装置、电子设备及存储介质 |
CN112163405B (zh) * | 2020-09-08 | 2024-08-06 | 北京百度网讯科技有限公司 | 问题的生成方法和装置 |
CN112149408B (zh) * | 2020-09-18 | 2022-11-08 | 北京有竹居网络技术有限公司 | 标题生成方法、训练方法、装置、电子设备和存储介质 |
CN112464664B (zh) * | 2020-12-11 | 2024-04-30 | 杭州师范大学 | 一种多模型融合中文词汇复述抽取方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108319668A (zh) * | 2018-01-23 | 2018-07-24 | 义语智能科技(上海)有限公司 | 生成文本摘要的方法及设备 |
CN108376131A (zh) * | 2018-03-14 | 2018-08-07 | 中山大学 | 基于seq2seq深度神经网络模型的关键词抽取方法 |
CN109408812A (zh) * | 2018-09-30 | 2019-03-01 | 北京工业大学 | 一种基于注意力机制的序列标注联合抽取实体关系的方法 |
-
2019
- 2019-04-01 CN CN201910257214.XA patent/CN109933806B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108319668A (zh) * | 2018-01-23 | 2018-07-24 | 义语智能科技(上海)有限公司 | 生成文本摘要的方法及设备 |
CN108376131A (zh) * | 2018-03-14 | 2018-08-07 | 中山大学 | 基于seq2seq深度神经网络模型的关键词抽取方法 |
CN109408812A (zh) * | 2018-09-30 | 2019-03-01 | 北京工业大学 | 一种基于注意力机制的序列标注联合抽取实体关系的方法 |
Non-Patent Citations (4)
Title |
---|
Jiatao Gu等.《Incorporating Copying Mechanism in Sequence-to-Sequence Learning》.《Computation and Language》.2016,全文. * |
Zeng X等.《Extracting Relational Facts by an End-to-End Neural Model with Copy Mechanism》.《Proceedings of Meeting of the Association for Computational Linguistics》.2018,全文. * |
何贤江 ; 左航 ; 李远红 ; .面向移动平台的FAQD自动问答系统.四川大学学报(自然科学版).2012,(第03期),全文. * |
曹雨.《中文复述问句生成技术研究》.《中国优秀硕士学位论文全文库》.2018,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN109933806A (zh) | 2019-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109933806B (zh) | 一种复述生成方法、系统、设备及计算机可读存储介质 | |
LU503448B1 (en) | Alignment Method, Device and Storage Medium for Entity of Multimodal Knowledge Graph | |
CN109710915B (zh) | 复述语句生成方法及装置 | |
CN112115700B (zh) | 一种基于依存句法树和深度学习的方面级情感分析方法 | |
CN111062489A (zh) | 一种基于知识蒸馏的多语言模型压缩方法、装置 | |
EP3732633A1 (en) | Universal transformers | |
CN110825884A (zh) | 基于人工智能的嵌入表示处理方法、装置及电子设备 | |
CN106776540A (zh) | 一种自由化文本生成方法 | |
CN111611805A (zh) | 一种基于图像的辅助写作方法、装置、介质及设备 | |
US20230237725A1 (en) | Data-driven physics-based models with implicit actuations | |
CN113407709A (zh) | 生成式文本摘要系统和方法 | |
CN112069827B (zh) | 一种基于细粒度主题建模的数据到文本生成方法 | |
CN113408430A (zh) | 基于多级策略和深度强化学习框架的图像中文描述系统及方法 | |
JP2022503812A (ja) | 文処理方法、文復号方法、装置、プログラム及び機器 | |
CN116136870A (zh) | 基于增强实体表示的智能社交对话方法、对话系统 | |
CN111538838A (zh) | 基于文章的问题生成方法 | |
JP2022106980A (ja) | クエリ文の生成方法、装置、電子機器及び記憶媒体 | |
CN111488460A (zh) | 数据处理方法、装置和计算机可读存储介质 | |
CN114880527B (zh) | 一种基于多预测任务的多模态知识图谱表示方法 | |
CN116386895A (zh) | 基于异构图神经网络的流行病舆情实体识别方法与装置 | |
CN109815323B (zh) | 一种人机交互训练问答生成算法 | |
CN112069777B (zh) | 一种基于骨架的二阶段数据到文本生成方法 | |
CN113111640A (zh) | 语言风格转换方法及装置 | |
CN110442706B (zh) | 一种文本摘要生成的方法、系统、设备及存储介质 | |
KR102608266B1 (ko) | 이미지 생성 장치 및 방법 |
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 |