CN111859989B - 基于属性标签控制的对话回复方法、装置和计算机设备 - Google Patents
基于属性标签控制的对话回复方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN111859989B CN111859989B CN202010733148.1A CN202010733148A CN111859989B CN 111859989 B CN111859989 B CN 111859989B CN 202010733148 A CN202010733148 A CN 202010733148A CN 111859989 B CN111859989 B CN 111859989B
- Authority
- CN
- China
- Prior art keywords
- tag information
- stage layer
- attribute
- tag
- reply
- 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 67
- 238000004364 calculation method Methods 0.000 claims description 178
- 239000013598 vector Substances 0.000 claims description 148
- 238000005070 sampling Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012163 sequencing technique Methods 0.000 claims description 8
- 238000011084 recovery Methods 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 10
- 238000005457 optimization Methods 0.000 description 10
- 238000012549 training Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 230000008451 emotion Effects 0.000 description 2
- 238000012067 mathematical method Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及人工智能领域,揭示了基于属性标签控制的对话回复方法,包括:获取对话任务中的当前提问和对话任务中携带的各属性标签;控制CVAE模型捕获各所述属性标签的隐变量,得到各所述属性标签分别对应的标签信息,其中,所述标签信息包括各所述隐变量;将各所述属性标签分别对应的标签信息,通过分阶段加入到对所述当前提问的对话回复状态中,形成各所述属性标签共同管控的对所述当前提问的对话回复。对话回复模型基于CVAE创新的属性标签控制,并通过分阶段加入各属性标签控制至对话回复状态中,自动生成针对各属性标签的对提问的对话回复,实现对提问回复的多样性。
Description
技术领域
本申请涉及到人工智能领域,特别是涉及到基于属性标签控制的对话回复方法、装置和计算机设备。
背景技术
传统开放域的对话系统,基本上基于序列到序列(Sequence-to-sequence,Seq2Seq)的学习框架。上述框架虽然能够捕捉提问与回复之间的语义语法和上下文依赖关系,但仍然倾向于记忆语料库中出现较多的无意义语句,具有较低的回复多样性,并且模型的可解释性较差,且无法生成针对多个属性标签控制的对话回复。
发明内容
本申请的主要目的为提供基于属性标签控制的对话回复方法,旨在解决现有无法生成针对多个属性标签控制的对话回复的技术问题。
本申请提出一种基于属性标签控制的对话回复方法,包括:
获取对话任务中的当前提问和对话任务中携带的各属性标签;
控制CVAE模型捕获各所述属性标签的隐变量,得到各所述属性标签分别对应的标签信息,其中,所述标签信息包括各所述隐变量;
将各所述属性标签分别对应的标签信息,通过分阶段加入到对所述当前提问的对话回复状态中,形成各所述属性标签共同管控的对所述当前提问的对话回复。
优选地,控制所述对话回复状态的对话回复模型包括初始阶段层,以及各跟随逐一增加的所述标签信息,分别对应逐一增加的回复对话的阶段层,各阶段层分别包括一个编码器和一个解码器,所述将各所述属性标签分别对应的标签信息,通过分阶段加入到对所述当前提问的对话回复状态中,形成各所述属性标签共同管控的对所述当前提问的对话回复的步骤,包括:
将所述当前提问依次输入所述初始阶段层,以及排序于所述初始阶段层之后的各所述回复阶段层;
获取所述初始阶段层对所述当前提问的计算结果,第一标签信息的共同语义信息对应的隐变量以及所述第一标签信息对应的特征隐变量,其中,所述第一标签信息属于所有标签信息中的任一个;
将所述初始阶段层对所述当前提问的计算结果,与所述第一标签信息对应的共同语义信息对应的隐变量以及所述第一标签信息对应的特征隐变量,进行向量拼接得到第一拼接向量;
将所述第一拼接向量输入第一阶段层的编码器,其中,所述第一阶段层与所述第一标签信息相对应,所述第一阶段层为排序于所述初始阶段层之后,且与所述初始阶段层相邻的阶段层;
获取所述第一阶段层的编码器对应的第一输出结果,获取第二标签信息对应的共同语义信息对应的隐变量以及所述第二标签信息对应的特征隐变量,其中,所述第二标签信息属于除所述第一标签信息之外的所有剩余标签信息中的任一个;
将所述第一输出结果,与第二标签信息对应的共同语义信息对应的隐变量以及所述第二标签信息对应的特征隐变量,进行向量拼接得到第二拼接向量;
将所述第二拼接向量输入第二阶段的编码器,得到第二输出结果,其中,所述第二阶段与所述第二标签信息相对应,所述第二阶段层为排序于所述第一阶段层之后,且与所述第一阶段层相邻的阶段层;
将所述第二输出结果输入所述第二阶段层的解码器,得到基于所述第一标签信息和所述第二标签信息控制的对所述当前提问的第二对话回复;
将第二输出结果,与下一新增加标签信息对应的共同语义信息对应的隐变量以及所述新标签信息对应的特征隐变量,进行向量拼接得到新拼接向量,并将所述新拼接向量输入新增加阶段的编码器,得到增加次序排在所述新增加标签信息之前的所有标签信息以及新增加标签信息共同控制的对所述当前提问的对话回复。
优选地,所述获取所述初始阶段层对所述当前提问的计算结果的步骤,包括:
获取所述当前提问对应的词向量;
将所述当前提问对应的词向量输入所述初始阶段对应的编码器中,得到所述初始阶段对应的编码器的输出结果;
将所述初始阶段对应的编码器的输出结果,作为所述初始层对所述当前提问的计算结果。
优选地,所述对话回复模型为基于Transformer模型,各阶段层的编码器和解码器分别包括multi-head attention计算模块,所述将所述第二输出结果输入所述第二阶段层的解码器,得到基于所述第一标签信息和所述第二标签信息控制的对所述当前提问的第二对话回复的步骤,包括:
将所述第二输出结果设定为第二multi-head attention计算模块的参量k和v,将所述第一阶段层的解码器的输出结果设定为所述第二multi-head attention计算模块的参量q,其中,所述第二multi-head attention计算模块为所述第二阶段层的解码器中计算模块;
控制所述第二multi-head attention计算模块,按照计算生成所述第二对话回复的概率,其中,p表示概率,y表示对话回复,x表示提问,lk表示第k个属性标签,hk表示k阶段层的编码器的输出,K属于正整数;
依据所述第二对话回复的概率,按照生成基于所述第一标签信息和所述第二标签信息控制的对所述当前提问的所述第二对话回复,其中,Wo表示softmax参数,Wo∈RH*|V|,H表示隐藏层尺寸,|V|表示词汇量的数量,表示采样的字/词,表示第k阶段层解码的第t步的解码输出,即k个标签信息共同管控输出的对话回复。
优选地,所述控制CVAE模型捕获各所述属性标签的隐变量,得到各所述属性标签分别对应的标签信息的步骤,包括:
将CVAE模型中的先验网络计算的先验分布,与输入的所述当前提问以及给定的属性标签,根据进行关联计算,得到修正后的第一计算结果,将CVAE模型中的识别网络计算的分布,与输入的所述当前提问、所述当前提问对应的无关于标签属性的回复以及给定的属性标签,根据联计算得到修正后的第二计算结果,其中,表示第i阶段层,识别网络针对共同语义信息所获取到的分布,表示第i阶段层,识别网络针对标签信息i所获取到的分布,表示第i阶段层,先验网络针对共同语义信息所获取到的分布,表示第i阶段,先验网络针对标签信息i所获取到的分布;
控制所述第二计算结果与所述第一计算结果的相差误差,处于指定范围内,以确定修正后的先验分布;
从所述修正后的先验分布中采样,使所述CVAE模型捕获各所述属性标签的隐变量,得到各所述属性标签分别对应的标签信息。
优选地,所述将CVAE模型中的识别网络计算的分布,与输入的所述当前提问、所述当前提问对应的无关于标签属性的回复以及给定的属性标签,根据联计算得到修正后的第二计算结果的步骤之前,包括:
定义所述CVAE模型中的分布计算方法为:其中,为分布ψ服从高斯分布时的参数,是随机初始化的上下文向量,a=h0,表示中与分布ψ相关的隐层状态;
根据所述CVAE模型中的分布计算方法,计算得到所述CVAE模型中的识别网络计算的分布。
本申请还提供了一种基于属性标签控制的对话回复装置,包括:
筛选模块,用于获取对话任务中的当前提问和对话任务中携带的各属性标签;
控制模块,用于控制CVAE模型捕获各所述属性标签的隐变量,得到各所述属性标签分别对应的标签信息,其中,所述标签信息包括各所述隐变量;
形成模块,用于将各所述属性标签分别对应的标签信息,通过分阶段加入到对所述当前提问的对话回复状态中,形成各所述属性标签共同管控的对所述当前提问的对话回复。
优选地,控制所述对话回复状态的对话回复模型包括初始阶段层,以及跟随逐一增加的所述标签信息,分别对应逐一增加的回复对话的阶段层,各阶段层分别包括一个编码器和一个解码器,形成模块包括:
第一输入单元,用于将所述当前提问依次输入所述初始阶段层,以及排序于所述初始阶段层之后的各所述回复阶段层;
第一获取单元,用于获取所述初始阶段层对所述当前提问的计算结果,第一标签信息对应的共同语义信息对应的隐变量以及所述第一标签信息对应的特征隐变量,其中,所述第一标签信息属于所有标签信息中的任一个;
第一拼接单元,用于将所述初始阶段层对所述当前提问的计算结果,与所述第一标签信息对应的共同语义信息对应的隐变量以及所述第一标签信息对应的特征隐变量,进行向量拼接得到第一拼接向量;
第二输入单元,用于将所述第一拼接向量输入第一阶段层的编码器,其中,所述第一阶段层与所述第一标签信息相对应,所述第一阶段层为排序于所述初始阶段层之后,且与所述初始阶段层相邻的阶段层;
第二获取单元,用于获取所述第一阶段层的编码器对应的第一输出结果,获取第二标签信息对应的共同语义信息对应的隐变量以及所述第二标签信息对应的特征隐变量,其中,所述第二标签信息属于除所述第一标签信息之外的所有剩余标签信息中的任一个;
第二拼接单元,用于将所述第一输出结果,与第二标签信息对应的共同语义信息对应的隐变量以及所述第二标签信息对应的特征隐变量,进行向量拼接得到第二拼接向量;
第三输入单元,用于将所述第二拼接向量输入第二阶段的编码器,得到第二输出结果,其中,所述第二阶段与所述第二标签信息相对应,所述第二阶段层为排序于所述第一阶段层之后,且与所述第一阶段层相邻的阶段层;
第四输入单元,用于将所述第二输出结果输入所述第二阶段层的解码器,得到基于所述第一标签信息和所述第二标签信息控制的对所述当前提问的第二对话回复;
得到单元,用于将第二输出结果,与下一新增加标签信息对应的共同语义信息对应的隐变量以及所述新标签信息对应的特征隐变量,进行向量拼接得到新拼接向量,并将所述新拼接向量输入新增加阶段的编码器,得到增加次序排在所述新增加标签信息之前的所有标签信息以及新增加标签信息共同控制的对所述当前提问的对话回复。
本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
本申请的对话回复模型基于CVAE创新的属性标签控制,并通过分阶段加入各属性标签控制至对话回复状态中,自动生成针对各属性标签的对提问的对话回复,实现对提问回复的多样性。
附图说明
图1本申请一实施例的基于属性标签控制的对话回复方法流程示意图;
图2本申请一实施例的基于属性标签控制的对话回复装置结构示意图;
图3本申请一实施例的计算机设备内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请一实施例的基于属性标签控制的对话回复方法,包括:
S1:获取对话任务中的当前提问和对话任务中携带的各属性标签;
S2:控制CVAE模型捕获各所述属性标签的隐变量,得到各所述属性标签分别对应的标签信息,其中,所述标签信息包括各所述隐变量;
S3:将各所述属性标签分别对应的标签信息,通过分阶段加入到对所述当前提问的对话回复状态中,形成各所述属性标签共同管控的对所述当前提问的对话回复。
本申请通过在对话回复模型中设定了多个阶段,通过对多个阶段进行叠加,每一阶段只依据一个标签信息使对话回复状态进行更改,直至所有的标签信息都融入到对话回复中。上述对话回复模型中,每个阶段的模型架构均包含一个Encoder模块和一个Decoder模块。对话回复中具体包括几个阶段,根据用户预先设定的对话任务决定,对话任务中携带的属性标签有几个,则对话回复就分为相同数量的阶段完成。比如用户有两个对话任务的具体要求,一是回复疑问句,二是回复正面情感,则引入上述具体要求对应的两个属性标签,且分两个阶段逐渐将两个属性标签对应的标签信息,加入到对话回复状态中,最终形成针对上述两个属性标签的对话回复。本申请通过关键字识别的方式,获取各属性标签,比如识别对话任务中属性标签关键字对应的赋值,可得到各属性标签。本申请的先从先验分布中获取CVAE模型的参数,然后基于CVAE模型的参数,控制确认网络确定输入的提问与各属性标签的相关联的隐变量,得到各所述属性标签分别对应的标签信息。根据标签信息的数量依次调用对话回复模型中,从初始阶段开始的各阶段,通过各阶段计算的叠加,形成各所述属性标签对应的对话回复。本申请的对话回复模型基于CVAE创新的属性标签控制,并通过分阶段加入各属性标签控制至对话回复状态中,自动生成针对各属性标签的对提问的对话回复,实现对提问回复的多样性。
进一步地,控制所述对话回复状态的对话回复模型包括初始阶段层,以及跟随逐一增加的所述标签信息,分别对应逐一增加的回复对话的阶段层,各阶段层分别包括一个编码器和一个解码器,所述将各所述属性标签分别对应的标签信息,通过分阶段加入到对所述当前提问的对话回复状态中,形成各所述属性标签共同管控的对所述当前提问的对话回复的步骤S3,包括:
S30:将所述当前提问依次输入所述初始阶段层,以及排序于所述初始阶段层之后的各所述回复阶段层;S31:获取所述初始阶段层对所述当前提问的计算结果,第一标签信息的共同语义信息对应的隐变量以及所述第一标签信息对应的特征隐变量,其中,所述第一标签信息属于所有标签信息中的任一个;
S32:将所述初始阶段层对所述当前提问的计算结果,与所述第一标签信息对应的共同语义信息对应的隐变量以及所述第一标签信息对应的特征隐变量,进行向量拼接得到第一拼接向量;
S33:将所述第一拼接向量输入第一阶段层的编码器,其中,所述第一阶段层与所述第一标签信息相对应,所述第一阶段层为排序于所述初始阶段层之后,且与所述初始阶段层相邻的阶段层;
S34:获取所述第一阶段层的编码器对应的第一输出结果,获取第二标签信息对应的共同语义信息对应的隐变量以及所述第二标签信息对应的特征隐变量,其中,所述第二标签信息属于除所述第一标签信息之外的所有剩余标签信息中的任一个;
S35:将所述第一输出结果,与第二标签信息对应的共同语义信息对应的隐变量以及所述第二标签信息对应的特征隐变量,进行向量拼接得到第二拼接向量;
S36:将所述第二拼接向量输入第二阶段的编码器,得到第二输出结果,其中,所述第二阶段与所述第二标签信息相对应,所述第二阶段层为排序于所述第一阶段层之后,且与所述第一阶段层相邻的阶段层;
S37:将所述第二输出结果输入所述第二阶段层的解码器,得到基于所述第一标签信息和所述第二标签信息控制的对所述当前提问的第二对话回复;
S38:将第二输出结果,与下一新增加标签信息对应的共同语义信息对应的隐变量以及所述新标签信息对应的特征隐变量,进行向量拼接得到新拼接向量,并将所述新拼接向量输入新增加阶段的编码器,得到增加次序排在所述新增加标签信息之前的所有标签信息以及新增加标签信息共同控制的对所述当前提问的对话回复。
本申请的对话回复模型包括初始阶段层,以及各标签信息分别对应的阶段层,各阶段层分别包括一个编码器和一个解码器。初始阶段层不引入任何标签信息,初始阶段层的编码器输入的为当前提问x的词向量,输出的为当前提问x的词向量的计算结果添加第一标签信息后,进入对话回复模型的第二层,即排布于初始阶段层之后,且与初始阶段层相连的第一阶段层。第一标签信息包括共同语义信息对应的隐变量zc和第一标签信息的特征隐变量z1。上述隐变量zc的赋值以及隐变量z1的赋值,可通过具有标签控制的CVAE模型获取得到。CVAE模型包括先验网络和识别网络两部分,隐变量zc的赋值,可从识别网络中对应的分布采样获得;隐变量z1的赋值可从识别网络中对应的分布采样获得,具体过程见CVAE模型的先验网络和识别网络的分布计算采样过程,此处不赘述。
将初始阶段的计算结果与第一标签信息对应的隐变量zc以及隐变量z1,直接依次进行向量拼接,形成第一拼接向量,并将第一拼接向量输入第一阶段层的编码器,输出为h1。h1作为第一阶段层的解码器的输入,经过处理得到针对第一标签信息的对话回复,即将第一输出结果输入第一阶段的解码器,得到针对第一标签信息的对所述当前提问的第一对话回复。添加第二标签信息时对应的为第二阶段层的处理过程。即将第一阶段层编码器的输出h1,与第二标签信息的隐变量z· c以及隐变量z2,直接依次进行向量拼接,形成第二拼接向量,并将第二拼接向量输入第二阶段层的编码器,输出为h2。h2作为第二阶段层的解码器的输入,经过处理得到第一标签信息和第二标签信息共同管控的对话回复,如此类推得到所有标签信息共同管控的对话回复,上述各标签信息具体的依次添加顺序不限,添加顺序的不同,不影响所有标签信息共同管控的对话回复。
进一步地,所述获取所述初始阶段层对所述当前提问的计算结果的步骤S31,包括:
S311:获取所述当前提问对应的词向量;
S312:将所述当前提问对应的词向量输入所述初始阶段对应的编码器中,得到所述初始阶段对应的编码器的输出结果;
S313:将所述初始阶段对应的编码器的输出结果,作为所述初始层对所述当前提问的计算结果。
本申请对当前提问提取词向量的过程,为现有将文本转化为词向量的过程,不赘述。上述当前提问对应的词向量包括词嵌入编码向量和词位置编码向量,将上述词嵌入编码向量和词位置编码向量直接拼接后,输入初始阶段对应的编码器,得到输出以通过输出对后续各标签信息对应的阶段层进行关联联系。
进一步地,所述将所述初始阶段对应的编码器的输出结果,作为所述初始层对所述当前提问的计算结果的步骤S313之后,包括:
S314:将所述初始阶段对应的编码器的输出结果,输入初始阶段对应的解码器,得到所述初始阶段对应的对话回复。
本申请的初始阶段层不引入任何标签信息,初始阶段层的输入只是提问x的词向量,即将提问x对应的词嵌入编码向量和词位置编码向量拼接后,作为初始阶段层的编码器的输入,得到输出将输出输入初始阶段层的解码器,得到对提问x的对话回复y。
进一步地,所述对话回复模型为基于Transformer模型,各阶段层的编码器和解码器分别包括multi-head attention计算模块,所述将所述第二输出结果输入所述第二阶段层的解码器,得到基于所述第一标签信息和所述第二标签信息控制的对所述当前提问的第二对话回复的步骤S37,包括:
S371:将所述第二输出结果设定为第二multi-head attention计算模块的参量k和v,将所述第一阶段层的解码器的输出结果设定为所述第二multi-head attention计算模块的参量q,其中,所述第二multi-head attention计算模块为所述第二阶段层的解码器中计算模块;
S372:控制所述第二multi-head attention计算模块,按照计算生成所述第二对话回复的概率,其中,p表示概率,y表示对话回复,x表示提问,lk表示第k个属性标签,hk表示k阶段层的编码器的输出,K属于正整数;
S373:依据所述第二对话回复的概率,按照生成基于所述第一标签信息和所述第二标签信息控制的对所述当前提问的所述第二对话回复,其中,Wo表示softmax参数,Wo∈RH*|V|,H表示隐藏层尺寸,|V|表示词汇量的数量,表示采样的字/词,表示第k阶段层解码的第t步的解码输出,即k个标签信息共同管控输出的对话回复。
本申请中每个阶段层对应的模型为Transformer模型,编码器和解码器基于multi-head attention计算模块实现。初始阶段层的编码器输入词向量拼接,即提问x对应的词嵌入编码向量和词位置编码向量的拼接向量,作为初始阶段层的编码器的multi-headattention计算模块的初始层q、k、v的赋值,计算得到输出初始阶段层的解码器,将回复y对应的词嵌入编码向量和词位置编码向量拼接后,作为初始阶段层的解码器的multi-headattention计算模块的q,将输出结果作为初始阶段层的解码器的multi-headattention计算模块的k和v,计算得到输出
添加第一个属性标签后进入第一阶段层,先结合第一个属性标签得到第一标签信息然后编码器在初始阶段层的基础上,会叠加一个新的multi-head attention计算模块,组成第一阶段层对应的编码器。将第一向量拼接作为第一阶段层对应multi-headattention计算层的参量k和v,结合初始阶段层的解码器输出的对话回复,输出针对第一标签信息对应的对话回复。即第一阶段层的编码器的初始输出为第一阶段层的解码器,同样在初始阶段层的解码器的基础上叠加一个新的multi-headattention计算模块,第一阶段层的解码器的初始输出为
第二阶段层及第二阶段层之后,由于hi-1已经包含了前(i-1)阶段层的所有信息,所以在获取标签信息时,只考虑结合属性标签li,采样得到其中i=1,…,K;编码器部分,会在(i-1)阶段层的基础上,叠加一个新的multi-head attention计算模块,初始层的 输出解码器部分,同样会在(i-1)阶段层的基础上,叠加一个新的multi-headattention计算模块,初始层输出为
进一步地,所述控制CVAE模型捕获各所述属性标签的隐变量,得到各所述属性标签分别对应的标签信息的步骤S2,包括:
S21:将CVAE模型中的先验网络计算的先验分布,与输入的所述当前提问以及给定的属性标签,根据进行关联计算,得到修正后的第一计算结果,将CVAE模型中的识别网络计算的分布,与输入的所述当前提问、所述当前提问对应的无关于标签属性的回复以及给定的属性标签,根据联计算得到修正后的第二计算结果,其中,表示第i阶段层,识别网络针对共同语义信息所获取到的分布,表示第i阶段层,识别网络针对标签信息i所获取到的分布,表示第i阶段层,先验网络针对共同语义信息所获取到的分布,表示第i阶段,先验网络针对标签信息i所获取到的分布;
S22:控制所述第二计算结果与所述第一计算结果的相差误差,处于指定范围内,以确定修正后的先验分布;
S23:从所述修正后的先验分布中采样,使所述CVAE模型捕获各所述属性标签的隐变量,得到各所述属性标签分别对应的标签信息。
本申请通过具有标签控制的CVAE模型,让CVAE模型所捕获的隐变量能够获取各属性标签分别对应的标签信息,进而共同控制对话回复的生成。本申请具有标签控制的CVAE模型,其隐变量明确地划分为zc,z1,z2,...,zK。其中zc用于捕获各属性标签的共用的语义信息,z1,z2,...,zK分别用于捕获k个不同方面的属性对应的标签信息,上述k个不同方面的属性标签信息,可根据用户的对话任务中预先要求,判断k的取值。本申请的具有标签控制的CVAE模型,包括用于计算分布的RecognitionNetwork(识别网络)和用于计算先验分布pθ的PriorNetwork(先验网络)两大部分。RecognitionNetwork从训练数据中计算得到的后验分布计算过程为:计算过程与训练数据提问x、回复y以及给定的属性标签l有关。PriorNetwork计算先验分布不同于传统的CVAE网络中只指定本申请中,的计算过程为:与输入提问x和给定的属性标签l有关。与Recognition Network的计算过程不同,PriorNetwork计算对应的先验分布与数据集的回复y无关。这是因为Prior Network代表的是输入提问x的真实分布,此条件下回复y是未知的。在训练过程中,RecognitionNetwork的计算结果会逐渐与PriorNetwork趋于一致。然后从Prior Network对应修正后的先验分布中采样,得到zc、zi,用于对话回复的生成过程。本申请中,由于无法直接优化获得先验网络的参数,因此通过最大化置信下界,通过逼近先验分布pθ,获得参数。模型的优化目标,看作概率函数,通过用数据去训练模型,实现去最大化的优化目标,即函数的值最大时模型最优。由于本申请的CVAE模型比较复杂,直接在训练过程中去提升概率函数的值是几乎不可能的,因此通过数学方法,先找到优化目标的下界,转化为更简单的概率函数,通过最大化概率函数的下界,来得到优化目标的最大值,即RecognitionNetwork的计算结果会逐渐与PriorNetwork趋于一致的过程。
进一步地,所述将CVAE模型中的识别网络计算的分布,与输入的所述当前提问、所述当前提问对应的无关于标签属性的回复以及给定的属性标签,根据联计算得到修正后的第二计算结果的步骤S21,包括:
S211:定义所述CVAE模型中的分布计算方法为:其中,为分布ψ服从高斯分布时的参数,是随机初始化的上下文向量, 表示中与分布ψ相关的隐层状态;
S212:根据所述CVAE模型中的分布计算方法,计算得到所述CVAE模型中的识别网络计算的分布。
本申请中CVAE模型中的分布计算方法包括三项,分别为上述公式中从上至下第一项、第二项以及第三项。第一项表示分布ψ服从高斯分布,参数分别为计算得到参数后,就可以得到分布ψ。后两项表示了计算所采用的神经网络,包含一个multi-head attention计算模块和一个多层感知器。第二项是multi-head attention计算模块,是一个随机初始化的上下文向量,分别对应Transformer初始层的q,k,v。通过multi-head attention计算模块,可以寻找信息k,v,即中与分布ψ相关的隐层状态第三项是多层感知器,即多层神经网络。第二项获取到的隐层状态经过一个多层感知器,就可以得到分布ψ的参数即得到了分布ψ。表示初始阶段层,即不引入任何标签信息时,模型编码器部分针对回复y的输出。
参照图2,本申请一实施例的基于属性标签控制的对话回复装置,包括:
筛选模块1,用于获取对话任务中的当前提问和对话任务中携带的各属性标签;
控制模块2,用于控制CVAE模型捕获各所述属性标签的隐变量,得到各所述属性标签分别对应的标签信息,其中,所述标签信息包括各所述隐变量;
形成模块3,用于将各所述属性标签分别对应的标签信息,通过分阶段加入到对所述当前提问的对话回复状态中,形成各所述属性标签共同管控的对所述当前提问的对话回复。
本申请通过在对话回复模型中设定了多个阶段,通过对多个阶段进行叠加,每一阶段只依据一个标签信息使对话回复状态进行更改,直至所有的标签信息都融入到对话回复中。上述对话回复模型中,每个阶段的模型架构均包含一个Encoder模块和一个Decoder模块。对话回复中具体包括几个阶段,根据用户预先设定的对话任务决定,对话任务中携带的属性标签有几个,则对话回复就分为相同数量的阶段完成。比如用户有两个对话任务的具体要求,一是回复疑问句,二是回复正面情感,则引入上述具体要求对应的两个属性标签,且分两个阶段逐渐将两个属性标签对应的标签信息,加入到对话回复状态中,最终形成针对上述两个属性标签的对话回复。本申请通过关键字识别的方式,获取各属性标签,比如识别对话任务中属性标签关键字对应的赋值,可得到各属性标签。本申请的先从先验分布中获取CVAE模型的参数,然后基于CVAE模型的参数,控制确认网络确定输入的提问与各属性标签的相关联的隐变量,得到各所述属性标签分别对应的标签信息。根据标签信息的数量依次调用对话回复模型中,从初始阶段开始的各阶段,通过各阶段计算的叠加,形成各所述属性标签对应的对话回复。本申请的对话回复模型基于CVAE创新的属性标签控制,并通过分阶段加入各属性标签控制至对话回复状态中,自动生成针对各属性标签的对提问的对话回复,实现对提问回复的多样性。
进一步地,控制所述对话回复状态的对话回复模型包括初始阶段层,以及跟随逐一增加的所述标签信息,分别对应逐一增加的回复对话的阶段层,各阶段层分别包括一个编码器和一个解码器,所述形成模块3,包括:
第一输入单元,用于将所述当前提问依次输入所述初始阶段层,以及排序于所述初始阶段层之后的各所述回复阶段层;
第一获取单元,用于获取所述初始阶段层对所述当前提问的计算结果,第一标签信息对应的共同语义信息对应的隐变量以及所述第一标签信息对应的特征隐变量,其中,所述第一标签信息属于所有标签信息中的任一个;
第一拼接单元,用于将所述初始阶段层对所述当前提问的计算结果,与所述第一标签信息对应的共同语义信息对应的隐变量以及所述第一标签信息对应的特征隐变量,进行向量拼接得到第一拼接向量;
第二输入单元,用于将所述第一拼接向量输入第一阶段层的编码器,其中,所述第一阶段层与所述第一标签信息相对应,所述第一阶段层为排序于所述初始阶段层之后,且与所述初始阶段层相邻的阶段层;
第二获取单元,用于获取所述第一阶段层的编码器对应的第一输出结果,获取第二标签信息对应的共同语义信息对应的隐变量以及所述第二标签信息对应的特征隐变量,其中,所述第二标签信息属于除所述第一标签信息之外的所有剩余标签信息中的任一个;
第二拼接单元,用于将所述第一输出结果,与第二标签信息对应的共同语义信息对应的隐变量以及所述第二标签信息对应的特征隐变量,进行向量拼接得到第二拼接向量;
第三输入单元,用于将所述第二拼接向量输入第二阶段的编码器,得到第二输出结果,其中,所述第二阶段与所述第二标签信息相对应,所述第二阶段层为排序于所述第一阶段层之后,且与所述第一阶段层相邻的阶段层;
第四输入单元,用于将所述第二输出结果输入所述第二阶段层的解码器,得到基于所述第一标签信息和所述第二标签信息控制的对所述当前提问的第二对话回复;
得到单元,用于将第二输出结果,与下一新增加标签信息对应的共同语义信息对应的隐变量以及所述新标签信息对应的特征隐变量,进行向量拼接得到新拼接向量,并将所述新拼接向量输入新增加阶段的编码器,得到增加次序排在所述新增加标签信息之前的所有标签信息以及新增加标签信息共同控制的对所述当前提问的对话回复。
本申请的对话回复模型包括初始阶段层,以及各标签信息分别对应的阶段层,各阶段层分别包括一个编码器和一个解码器。初始阶段层不引入任何标签信息,初始阶段层的编码器输入的为当前提问x的词向量,输出的为当前提问x的词向量的计算结果添加第一标签信息后,进入对话回复模型的第二层,即排布于初始阶段层之后,且与初始阶段层相连的第一阶段层。第一标签信息包括共同语义信息对应的隐变量zc和第一标签信息的特征隐变量z1。上述隐变量zc的赋值以及隐变量z1的赋值,可通过具有标签控制的CVAE模型获取得到。CVAE模型包括先验网络和识别网络两部分,隐变量zc的赋值,可从识别网络中对应的分布采样获得;隐变量z1的赋值可从识别网络中对应的分布采样获得,具体过程见CVAE模型的先验网络和识别网络的分布计算采样过程,此处不赘述。
将初始阶段的计算结果与第一标签信息对应的隐变量zc以及隐变量z1,直接依次进行向量拼接,形成第一拼接向量,并将第一拼接向量输入第一阶段层的编码器,输出为h1。h1作为第一阶段层的解码器的输入,经过处理得到针对第一标签信息的对话回复,即将第一输出结果输入第一阶段的解码器,得到针对第一标签信息的对所述当前提问的第一对话回复。添加第二标签信息时对应的为第二阶段层的处理过程。即将第一阶段层编码器的输出h1,与第二标签信息对应的隐变量z· c以及隐变量z2,直接依次进行向量拼接,形成第二拼接向量,并将第二拼接向量输入第二阶段层的编码器,输出为h2。h2作为第二阶段层的解码器的输入,经过处理得到第一标签信息和第二标签信息共同管控的对话回复,如此类推得到所有标签信息共同管控的对话回复,上述各标签信息具体的依次添加顺序不限,添加顺序的不同,不影响所有标签信息共同管控的对话回复。
进一步地,所述第一获取单元,包括:
获取子单元,用于获取所述当前提问对应的词向量;
输入字单元,用于将所述当前提问对应的词向量输入所述初始阶段对应的编码器中,得到所述初始阶段对应的编码器的输出结果;
作为子单元,用于将所述初始阶段对应的编码器的输出结果,作为所述初始层对所述当前提问的计算结果。
本申请对当前提问提取词向量的过程,为现有将文本转化为词向量的过程,不赘述。上述当前提问对应的词向量包括词嵌入编码向量和词位置编码向量,将上述词嵌入编码向量和词位置编码向量直接拼接后,输入初始阶段对应的编码器,得到输出以通过输出对后续各标签信息对应的阶段层进行关联联系。
进一步地,第一获取单元,包括:
得到子单元,用于将所述初始阶段对应的编码器的输出结果,输入初始阶段对应的解码器,得到所述初始阶段对应的对话回复。
本申请的初始阶段层不引入任何标签信息,初始阶段层的输入只是提问x的词向量,即将提问x对应的词嵌入编码向量和词位置编码向量拼接后,作为初始阶段层的编码器的输入,得到输出将输出输入初始阶段层的解码器,得到对提问x的对话回复y。
进一步地,所述对话回复模型为基于Transformer模型,各阶段层的编码器和解码器分别包括multi-head attention计算模块,第三输入单元,包括:
设定子单元,用于将所述第二输出结果设定为第二multi-head attention计算模块的参量k和v,将所述第一阶段层的解码器的输出结果设定为所述第二multi-headattention计算模块的参量q,其中,所述第二multi-head attention计算模块为所述第二阶段层的解码器中计算模块;
控制子单元,用于控制所述第二multi-head attention计算模块,按照计算生成所述第二对话回复的概率,其中,p表示概率,y表示对话回复,x表示提问,lk表示第k个属性标签,hk表示k阶段层的编码器的输出,K属于正整数;
生成子单元,用于依据所述第二对话回复的概率,按照生成基于所述第一标签信息和所述第二标签信息控制的对所述当前提问的所述第二对话回复,其中,Wo表示softmax参数,Wo∈RH*|V|,H表示隐藏层尺寸,|V|表示词汇量的数量,表示采样的字/词,表示第k阶段层解码的第t步的解码输出,即k个标签信息共同管控输出的对话回复。
本申请中每个阶段层对应的模型为Transformer模型,编码器和解码器基于multi-head attention计算模块实现。初始阶段层的编码器输入词向量拼接,即提问x对应的词嵌入编码向量和词位置编码向量的拼接向量,作为初始阶段层的编码器的multi-headattention计算模块的初始层q、k、v的赋值,计算得到输出初始阶段层的解码器,将回复y对应的词嵌入编码向量和词位置编码向量拼接后,作为初始阶段层的解码器的multi-headattention计算模块的q,将输出结果作为初始阶段层的解码器的multi-headattention计算模块的k和v,计算得到输出
添加第一个属性标签后进入第一阶段层,先结合第一个属性标签得到第一标签信息然后编码器在初始阶段层的基础上,会叠加一个新的multi-head attention计算模块,组成第一阶段层对应的编码器。将第一向量拼接作为第一阶段层对应multi-headattention计算层的参量k和v,结合初始阶段层的解码器输出的对话回复,输出针对第一标签信息对应的对话回复。即第一阶段层的编码器的初始输出为第一阶段层的解码器,同样在初始阶段层的解码器的基础上叠加一个新的multi-headattention计算模块,第一阶段层的解码器的初始输出为
第二阶段层及第二阶段层之后,由于hi-1已经包含了前(i-1)阶段层的所有信息,所以在获取标签信息时,只考虑结合属性标签li,采样得到其中i=1,…,K;编码器部分,会在(i-1)阶段层的基础上,叠加一个新的multi-head attention计算模块,初始层的 输出解码器部分,同样会在(i-1)阶段层的基础上,叠加一个新的multi-headattention计算模块,初始层输出为
进一步地,控制模块2,包括:
计算单元,用于将CVAE模型中的先验网络计算的先验分布,与输入的所述当前提问以及给定的属性标签,根据进行关联计算,得到修正后的第一计算结果,将CVAE模型中的识别网络计算的分布,与输入的所述当前提问、所述当前提问对应的无关于标签属性的回复以及给定的属性标签,根据联计算得到修正后的第二计算结果,其中,表示第i阶段层,识别网络针对共同语义信息所获取到的分布,表示第i阶段层,识别网络针对标签信息i所获取到的分布,表示第i阶段层,先验网络针对共同语义信息所获取到的分布,表示第i阶段,先验网络针对标签信息i所获取到的分布;
控制单元,用于控制所述第二计算结果与所述第一计算结果的相差误差,处于指定范围内,以确定修正后的先验分布;
采样单元,用于从所述修正后的先验分布中采样,使所述CVAE模型捕获各所述属性标签的隐变量,得到各所述属性标签分别对应的标签信息。
本申请通过具有标签控制的CVAE模型,让CVAE模型所捕获的隐变量能够获取各属性标签分别对应的标签信息,进而共同控制对话回复的生成。本申请具有标签控制的CVAE模型,其隐变量明确地划分为zc,z1,z2,...,zK。其中zc用于捕获各属性标签的共用的语义信息,z1,z2,...,zK分别用于捕获k个不同方面的属性对应的标签信息,上述k个不同方面的属性标签信息,可根据用户的对话任务中预先要求,判断k的取值。本申请的具有标签控制的CVAE模型,包括用于计算分布的RecognitionNetwork(识别网络)和用于计算先验分布pθ的PriorNetwork(先验网络)两大部分。RecognitionNetwork从训练数据中计算得到的后验分布计算过程为:计算过程与训练数据提问x、回复y以及给定的属性标签l有关。PriorNetwork计算先验分布不同于传统的CVAE网络中只指定本申请中,的计算过程为:与输入提问x和给定的属性标签l有关。与Recognition Network的计算过程不同,PriorNetwork计算对应的先验分布与数据集的回复y无关。这是因为Prior Network代表的是输入提问x的真实分布,此条件下回复y是未知的。在训练过程中,RecognitionNetwork的计算结果会逐渐与PriorNetwork趋于一致。然后从Prior Network对应修正后的先验分布中采样,得到zc、zi,用于对话回复的生成过程。本申请中,由于无法直接优化获得先验网络的参数,因此通过最大化置信下界,通过逼近先验分布pθ,获得参数。模型的优化目标,看作概率函数,通过用数据去训练模型,实现去最大化的优化目标,即函数的值最大时模型最优。由于本申请的CVAE模型比较复杂,直接在训练过程中去提升概率函数的值是几乎不可能的,因此通过数学方法,先找到优化目标的下界,转化为更简单的概率函数,通过最大化概率函数的下界,来得到优化目标的最大值,即RecognitionNetwork的计算结果会逐渐与PriorNetwork趋于一致的过程。
进一步地,计算单元,包括:
定义子单元,用于定义所述CVAE模型中的分布计算方法为:其中,为分布ψ服从高斯分布时的参数,是随机初始化的上下文向量,a=h0, 表示中与分布ψ相关的隐层状态;
第一计算子单元,用于根据所述CVAE模型中的分布计算方法,计算得到所述CVAE模型中的识别网络计算的分布。
本申请中CVAE模型中的分布计算方法包括三项,分别为上述公式中从上至下第一项、第二项以及第三项。第一项表示分布ψ服从高斯分布,参数分别为计算得到参数后,就可以得到分布ψ。后两项表示了计算所采用的神经网络,包含一个multi-head attention计算模块和一个多层感知器。第二项是multi-head attention计算模块,是一个随机初始化的上下文向量,a=0,分别对应Transformer初始层的q,k,v。通过multi-head attention计算模块,可以寻找信息k,v,即中与分布ψ相关的隐层状态第三项是多层感知器,即多层神经网络。第二项获取到的隐层状态经过一个多层感知器,就可以得到分布ψ的参数即得到了分布ψ。表示初始阶段层,即不引入任何标签信息时,模型编码器部分针对回复y的输出。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于属性标签控制的对话回复过程需要的所有数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现基于属性标签控制的对话回复方法。
上述处理器执行上述基于属性标签控制的对话回复方法,包括:获取对话任务中的当前提问和对话任务中携带的各属性标签;控制CVAE模型捕获各所述属性标签的隐变量,得到各所述属性标签分别对应的标签信息,其中,所述标签信息包括各所述隐变量;将各所述属性标签分别对应的标签信息,通过分阶段加入到对所述当前提问的对话回复状态中,形成各所述属性标签共同管控的对所述当前提问的对话回复。
上述计算机设备,对话回复模型基于CVAE创新的属性标签控制,并通过分阶段加入各属性标签控制至对话回复状态中,自动生成针对各属性标签的对提问的对话回复,实现对提问回复的多样性。
在一个实施例中,控制所述对话回复状态的对话回复模型包括初始阶段层,以及跟随逐一增加的所述标签信息,分别对应逐一增加的回复对话的阶段层,各阶段层分别包括一个编码器和一个解码器,上述处理器将各所述属性标签分别对应的标签信息,通过分阶段加入到对所述当前提问的对话回复状态中,形成各所述属性标签共同管控的对所述当前提问的对话回复的步骤,包括:将所述当前提问依次输入所述初始阶段层,以及排序于所述初始阶段层之后的各所述回复阶段层;获取所述初始阶段层对所述当前提问的计算结果,第一标签信息对应的共同语义信息对应的隐变量以及所述第一标签信息对应的特征隐变量,其中,所述第一标签信息属于所有标签信息中的任一个;将所述初始阶段层对所述当前提问的计算结果,与所述第一标签信息对应的共同语义信息对应的隐变量以及所述第一标签信息对应的特征隐变量,进行向量拼接得到第一拼接向量;将所述第一拼接向量输入第一阶段层的编码器,其中,所述第一阶段层与所述第一标签信息相对应,所述第一阶段层为排序于所述初始阶段层之后,且与所述初始阶段层相邻的阶段层;获取所述第一阶段层的编码器对应的第一输出结果,获取第二标签信息对应的共同语义信息对应的隐变量以及所述第二标签信息对应的特征隐变量,其中,所述第二标签信息属于除所述第一标签信息之外的所有剩余标签信息中的任一个;将所述第一输出结果,与第二标签信息对应的共同语义信息对应的隐变量以及所述第二标签信息对应的特征隐变量,进行向量拼接得到第二拼接向量;将所述第二拼接向量输入第二阶段的编码器,得到第二输出结果,其中,所述第二阶段与所述第二标签信息相对应,所述第二阶段层为排序于所述第一阶段层之后,且与所述第一阶段层相邻的阶段层;将所述第二输出结果输入所述第二阶段层的解码器,得到基于所述第一标签信息和所述第二标签信息控制的对所述当前提问的第二对话回复;将第二输出结果,与下一新增加标签信息对应的共同语义信息对应的隐变量以及所述新标签信息对应的特征隐变量,进行向量拼接得到新拼接向量,并将所述新拼接向量输入新增加阶段的编码器,得到增加次序排在所述新增加标签信息之前的所有标签信息以及新增加标签信息共同控制的对所述当前提问的对话回复。
在一个实施例中,上述处理器获取所述初始阶段层对所述当前提问的计算结果的步骤,包括:获取所述当前提问对应的词向量;将所述当前提问对应的词向量输入所述初始阶段对应的编码器中,得到所述初始阶段对应的编码器的输出结果;将所述初始阶段对应的编码器的输出结果,作为所述初始层对所述当前提问的计算结果。
在一个实施例中,对话回复模型为基于Transformer模型,各阶段层的编码器和解码器分别包括multi-head attention计算模块,上述处理器将所述第二输出结果输入所述第二阶段层的解码器,得到基于所述第一标签信息和所述第二标签信息控制的对所述当前提问的第二对话回复的步骤,包括:将所述第二输出结果设定为第二multi-headattention计算模块的参量k和v,将所述第一阶段层的解码器的输出结果设定为所述第二multi-head attention计算模块的参量q,其中,所述第二multi-head attention计算模块为所述第二阶段层的解码器中计算模块;控制所述第二multi-head attention计算模块,按照计算生成所述第二对话回复的概率,其中,p表示概率,y表示对话回复,x表示提问,lk表示第k个属性标签,hk表示k阶段层的编码器的输出,K属于正整数;依据所述第二对话回复的概率,按照生成基于所述第一标签信息和所述第二标签信息控制的对所述当前提问的所述第二对话回复,其中,Wo表示softmax参数,Wo∈RH*|V|,H表示隐藏层尺寸,|V|表示词汇量的数量,表示采样的字/词,表示第k阶段层解码的第t步的解码输出,即k个标签信息共同管控输出的对话回复。
在一个实施例中,上述处理器控制CVAE模型捕获各所述属性标签的隐变量,得到各所述属性标签分别对应的标签信息的步骤,包括:将CVAE模型中的先验网络计算的先验分布,与输入的所述当前提问以及给定的属性标签,根据进行关联计算,得到修正后的第一计算结果,将CVAE模型中的识别网络计算的分布,与输入的所述当前提问、所述当前提问对应的无关于标签属性的回复以及给定的属性标签,根据联计算得到修正后的第二计算结果,其中,表示第i阶段层,识别网络针对共同语义信息所获取到的分布,表示第i阶段层,识别网络针对标签信息i所获取到的分布,表示第i阶段层,先验网络针对共同语义信息所获取到的分布,表示第i阶段,先验网络针对标签信息i所获取到的分布;控制所述第二计算结果与所述第一计算结果的相差误差,处于指定范围内,以确定修正后的先验分布;从所述修正后的先验分布中采样,使所述CVAE模型捕获各所述属性标签的隐变量,得到各所述属性标签分别对应的标签信息。
在一个实施例中,上述处理器将CVAE模型中的识别网络计算的分布,与输入的所述当前提问、所述当前提问对应的无关于标签属性的回复以及给定的属性标签,根据联计算得到修正后的第二计算结果的步骤之前,包括:定义所述CVAE模型中的分布计算方法为:其中,为分布ψ服从高斯分布时的参数,是随机初始化的上下文向量,a=h0, 表示中与分布ψ相关的隐层状态;根据所述CVAE模型中的分布计算方法,计算得到所述CVAE模型中的识别网络计算的分布。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现基于属性标签控制的对话回复方法,包括:获取对话任务中的当前提问和对话任务中携带的各属性标签;控制CVAE模型捕获各所述属性标签的隐变量,得到各所述属性标签分别对应的标签信息,其中,所述标签信息包括各所述隐变量;将各所述属性标签分别对应的标签信息,通过分阶段加入到对所述当前提问的对话回复状态中,形成各所述属性标签共同管控的对所述当前提问的对话回复。
上述计算机可读存储介质,对话回复模型基于CVAE创新的属性标签控制,并通过分阶段加入各属性标签控制至对话回复状态中,自动生成针对各属性标签的对提问的对话回复,实现对提问回复的多样性。
在一个实施例中,控制所述对话回复状态的对话回复模型包括初始阶段层,以及跟随逐一增加的所述标签信息分别对应逐一增加的回复对话的阶段层,各阶段层分别包括一个编码器和一个解码器,上述处理器,将各所述属性标签分别对应的标签信息,通过分阶段加入到对所述当前提问的对话回复状态中,形成各所述属性标签共同管控的对所述当前提问的对话回复的步骤,包括:将所述当前提问依次输入所述初始阶段层,以及排序于所述初始阶段层之后的各所述回复阶段层;获取所述初始阶段层对所述当前提问的计算结果,第一标签信息对应的共同语义信息对应的隐变量以及所述第一标签信息对应的特征隐变量,其中,所述第一标签信息属于所有标签信息中的任一个;将所述初始阶段层对所述当前提问的计算结果,与所述第一标签信息对应的共同语义信息对应的隐变量以及所述第一标签信息对应的特征隐变量,进行向量拼接得到第一拼接向量;将所述第一拼接向量输入第一阶段层的编码器,其中,所述第一阶段层与所述第一标签信息相对应,所述第一阶段层为排序于所述初始阶段层之后,且与所述初始阶段层相邻的阶段层;获取所述第一阶段层的编码器对应的第一输出结果,获取第二标签信息对应的共同语义信息对应的隐变量以及所述第二标签信息对应的特征隐变量,其中,所述第二标签信息属于除所述第一标签信息之外的所有剩余标签信息中的任一个;将所述第一输出结果,与第二标签信息对应的共同语义信息对应的隐变量以及所述第二标签信息对应的特征隐变量,进行向量拼接得到第二拼接向量;将所述第二拼接向量输入第二阶段的编码器,得到第二输出结果,其中,所述第二阶段与所述第二标签信息相对应,所述第二阶段层为排序于所述第一阶段层之后,且与所述第一阶段层相邻的阶段层;将所述第二输出结果输入所述第二阶段层的解码器,得到基于所述第一标签信息和所述第二标签信息控制的对所述当前提问的第二对话回复;将第二输出结果,与下一新增加标签信息对应的共同语义信息对应的隐变量以及所述新标签信息对应的特征隐变量,进行向量拼接得到新拼接向量,并将所述新拼接向量输入新增加阶段的编码器,得到增加次序排在所述新增加标签信息之前的所有标签信息以及新增加标签信息共同控制的对所述当前提问的对话回复。
在一个实施例中,上述处理器获取所述初始阶段层对所述当前提问的计算结果的步骤,包括:获取所述当前提问对应的词向量;将所述当前提问对应的词向量输入所述初始阶段对应的编码器中,得到所述初始阶段对应的编码器的输出结果;将所述初始阶段对应的编码器的输出结果,作为所述初始层对所述当前提问的计算结果。
在一个实施例中,对话回复模型为基于Transformer模型,各阶段层的编码器和解码器分别包括multi-head attention计算模块,上述处理器将所述第二输出结果输入所述第二阶段层的解码器,得到基于所述第一标签信息和所述第二标签信息控制的对所述当前提问的第二对话回复的步骤,包括:将所述第二输出结果设定为第二multi-headattention计算模块的参量k和v,将所述第一阶段层的解码器的输出结果设定为所述第二multi-head attention计算模块的参量q,其中,所述第二multi-head attention计算模块为所述第二阶段层的解码器中计算模块;控制所述第二multi-head attention计算模块,按照计算生成所述第二对话回复的概率,其中,p表示概率,y表示对话回复,x表示提问,lk表示第k个属性标签,hk表示k阶段层的编码器的输出,K属于正整数;依据所述第二对话回复的概率,按照生成基于所述第一标签信息和所述第二标签信息控制的对所述当前提问的所述第二对话回复,其中,Wo表示softmax参数,Wo∈RH*|V|,H表示隐藏层尺寸,|V|表示词汇量的数量,表示采样的字/词,表示第k阶段层解码的第t步的解码输出,即k个标签信息共同管控输出的对话回复。
在一个实施例中,上述处理器控制CVAE模型捕获各所述属性标签的隐变量,得到各所述属性标签分别对应的标签信息的步骤,包括:将CVAE模型中的先验网络计算的先验分布,与输入的所述当前提问以及给定的属性标签,根据进行关联计算,得到修正后的第一计算结果,将CVAE模型中的识别网络计算的分布,与输入的所述当前提问、所述当前提问对应的无关于标签属性的回复以及给定的属性标签,根据联计算得到修正后的第二计算结果,其中,表示第i阶段层,识别网络针对共同语义信息所获取到的分布,表示第i阶段层,识别网络针对标签信息i所获取到的分布,表示第i阶段层,先验网络针对共同语义信息所获取到的分布,表示第i阶段,先验网络针对标签信息i所获取到的分布;控制所述第二计算结果与所述第一计算结果的相差误差,处于指定范围内,以确定修正后的先验分布;从所述修正后的先验分布中采样,使所述CVAE模型捕获各所述属性标签的隐变量,得到各所述属性标签分别对应的标签信息。
在一个实施例中,上述处理器将CVAE模型中的识别网络计算的分布,与输入的所述当前提问、所述当前提问对应的无关于标签属性的回复以及给定的属性标签,根据联计算得到修正后的第二计算结果的步骤之前,包括:定义所述CVAE模型中的分布计算方法为:其中,为分布ψ服从高斯分布时的参数,是随机初始化的上下文向量,a=h0,表示中与分布ψ相关的隐层状态;根据所述CVAE模型中的分布计算方法,计算得到所述CVAE模型中的识别网络计算的分布。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (8)
1.一种基于属性标签控制的对话回复方法,其特征在于,包括:
获取对话任务中的当前提问和对话任务中携带的各属性标签;
控制CVAE模型捕获各所述属性标签的隐变量,得到各所述属性标签分别对应的标签信息,其中,所述标签信息包括各所述隐变量;
将各所述属性标签分别对应的标签信息,通过分阶段加入到对所述当前提问的对话回复状态中,形成各所述属性标签共同管控的对所述当前提问的对话回复;
控制所述对话回复状态的对话回复模型包括初始阶段层,以及跟随逐一增加的所述标签信息,分别对应逐一增加的回复对话的阶段层,各阶段层分别包括一个编码器和一个解码器,所述将各所述属性标签分别对应的标签信息,通过分阶段加入到对所述当前提问的对话回复状态中,形成各所述属性标签共同管控的对所述当前提问的对话回复的步骤,包括:
将所述当前提问依次输入所述初始阶段层,以及排序于所述初始阶段层之后的各所述回复阶段层;
获取所述初始阶段层对所述当前提问的计算结果,第一标签信息的共同语义信息对应的隐变量以及所述第一标签信息对应的特征隐变量,其中,所述第一标签信息属于所有标签信息中的任一个;
将所述初始阶段层对所述当前提问的计算结果,与所述第一标签信息对应的共同语义信息对应的隐变量以及所述第一标签信息对应的特征隐变量,进行向量拼接得到第一拼接向量;
将所述第一拼接向量输入第一阶段层的编码器,其中,所述第一阶段层与所述第一标签信息相对应,所述第一阶段层为排序于所述初始阶段层之后,且与所述初始阶段层相邻的阶段层;
获取所述第一阶段层的编码器对应的第一输出结果,获取第二标签信息对应的共同语义信息对应的隐变量以及所述第二标签信息对应的特征隐变量,其中,所述第二标签信息属于除所述第一标签信息之外的所有剩余标签信息中的任一个;
将所述第一输出结果,与第二标签信息对应的共同语义信息对应的隐变量以及所述第二标签信息对应的特征隐变量,进行向量拼接得到第二拼接向量;
将所述第二拼接向量输入第二阶段的编码器,得到第二输出结果,其中,所述第二阶段与所述第二标签信息相对应,所述第二阶段层为排序于所述第一阶段层之后,且与所述第一阶段层相邻的阶段层;
将所述第二输出结果输入所述第二阶段层的解码器,得到基于所述第一标签信息和所述第二标签信息控制的对所述当前提问的第二对话回复;
将第二输出结果,与下一新增加标签信息对应的共同语义信息对应的隐变量以及所述新标签信息对应的特征隐变量,进行向量拼接得到新拼接向量,并将所述新拼接向量输入新增加阶段的编码器,得到增加次序排在所述新增加标签信息之前的所有标签信息以及新增加标签信息共同控制的对所述当前提问的对话回复。
2.根据权利要求1所述的基于属性标签控制的对话回复方法,其特征在于,所述获取所述初始阶段层对所述当前提问的计算结果的步骤,包括:
获取所述当前提问对应的词向量;
将所述当前提问对应的词向量输入所述初始阶段对应的编码器中,得到所述初始阶段对应的编码器的输出结果;
将所述初始阶段对应的编码器的输出结果,作为所述初始层对所述当前提问的计算结果。
3.根据权利要求1所述的基于属性标签控制的对话回复方法,其特征在于,所述对话回复模型为基于Transformer模型,各阶段层的编码器和解码器分别包括multi-headattention计算模块,所述将所述第二输出结果输入所述第二阶段层的解码器,得到基于所述第一标签信息和所述第二标签信息控制的对所述当前提问的第二对话回复的步骤,包括:
将所述第二输出结果设定为第二multi-head attention计算模块的参量k和v,将所述第一阶段层的解码器的输出结果设定为所述第二multi-head attention计算模块的参量q,其中,所述第二multi-head attention计算模块为所述第二阶段层的解码器中计算模块;
控制所述第二multi-head attention计算模块,按照
生成所述第二对话回复的概率,其中,p表示概率,y表示对话回复,x表示提问,lk表示第k个属性标签,hk表示k阶段层的编码器的输出,K属于正整数;
依据所述第二对话回复的概率,按照生成基于所述第一标签信息和所述第二标签信息控制的对所述当前提问的所述第二对话回复,其中,Wo表示softmax参数,Wo∈RH*|V|,H表示隐藏层尺寸,|V|表示词汇量的数量,表示采样的字/词,表示第k阶段层解码的第t步的解码输出,即k个标签信息共同管控输出的对话回复。
4.根据权利要求1-3中任一项所述的基于属性标签控制的对话回复方法,其特征在于,所述控制CVAE模型捕获各所述属性标签的隐变量,得到各所述属性标签分别对应的标签信息的步骤,包括:
将CVAE模型中的先验网络计算的先验分布,与输入的所述当前提问以及给定的属性标签,根据进行关联计算,得到修正后的第一计算结果,将CVAE模型中的识别网络计算的分布,与输入的所述当前提问、所述当前提问对应的无关于标签属性的回复以及给定的属性标签,根据进行关联计算得到修正后的第二计算结果,其中,表示第i阶段层,识别网络针对共同语义信息所获取到的分布,表示第i阶段层,识别网络针对标签信息i所获取到的分布,表示第i阶段层,先验网络针对共同语义信息所获取到的分布,表示第i阶段,先验网络针对标签信息i所获取到的分布;
控制所述第二计算结果与所述第一计算结果的相差误差,处于指定范围内,以确定修正后的先验分布;
从所述修正后的先验分布中采样,使所述CVAE模型捕获各所述属性标签的隐变量,得到各所述属性标签分别对应的标签信息。
5.根据权利要求4所述的基于属性标签控制的对话回复方法,其特征在于,所述将CVAE模型中的识别网络计算的分布,与输入的所述当前提问、所述当前提问对应的无关于标签属性的回复以及给定的属性标签,根据进行关联计算得到修正后的第二计算结果的步骤之前,包括:
定义所述CVAE模型中的分布计算方法为:其中,为分布ψ服从高斯分布时的参数,是随机初始化的上下文向量,a=h0,表示中与分布ψ相关的隐层状态;
根据所述CVAE模型中的分布计算方法,计算得到所述CVAE模型中的识别网络计算的分布。
6.一种基于属性标签控制的对话回复装置,其特征在于,包括:
筛选模块,用于获取对话任务中的当前提问和对话任务中携带的各属性标签;
控制模块,用于控制CVAE模型捕获各所述属性标签的隐变量,得到各所述属性标签分别对应的标签信息,其中,所述标签信息包括各所述隐变量;
形成模块,用于将各所述属性标签分别对应的标签信息,通过分阶段加入到对所述当前提问的对话回复状态中,形成各所述属性标签共同管控的对所述当前提问的对话回复;
控制所述对话回复状态的对话回复模型包括初始阶段层,以及跟随逐一增加的所述标签信息,分别对应逐一增加的回复对话的阶段层,各阶段层分别包括一个编码器和一个解码器,所述形成模块包括:
第一输入单元,用于将所述当前提问依次输入所述初始阶段层,以及排序于所述初始阶段层之后的各所述回复阶段层;
第一获取单元,用于获取所述初始阶段层对所述当前提问的计算结果,第一标签信息对应的共同语义信息对应的隐变量以及所述第一标签信息对应的特征隐变量,其中,所述第一标签信息属于所有标签信息中的任一个;
第一拼接单元,用于将所述初始阶段层对所述当前提问的计算结果,与所述第一标签信息对应的共同语义信息对应的隐变量以及所述第一标签信息对应的特征隐变量,进行向量拼接得到第一拼接向量;
第二输入单元,用于将所述第一拼接向量输入第一阶段层的编码器,其中,所述第一阶段层与所述第一标签信息相对应,所述第一阶段层为排序于所述初始阶段层之后,且与所述初始阶段层相邻的阶段层;
第二获取单元,用于获取所述第一阶段层的编码器对应的第一输出结果,获取第二标签信息对应的共同语义信息对应的隐变量以及所述第二标签信息对应的特征隐变量,其中,所述第二标签信息属于除所述第一标签信息之外的所有剩余标签信息中的任一个;
第二拼接单元,用于将所述第一输出结果,与第二标签信息对应的共同语义信息对应的隐变量以及所述第二标签信息对应的特征隐变量,进行向量拼接得到第二拼接向量;
第三输入单元,用于将所述第二拼接向量输入第二阶段的编码器,得到第二输出结果,其中,所述第二阶段与所述第二标签信息相对应,所述第二阶段层为排序于所述第一阶段层之后,且与所述第一阶段层相邻的阶段层;
第四输入单元,用于将所述第二输出结果输入所述第二阶段层的解码器,得到基于所述第一标签信息和所述第二标签信息控制的对所述当前提问的第二对话回复;
得到单元,用于将第二输出结果,与下一新增加标签信息对应的共同语义信息对应的隐变量以及所述新标签信息对应的特征隐变量,进行向量拼接得到新拼接向量,并将所述新拼接向量输入新增加阶段的编码器,得到增加次序排在所述新增加标签信息之前的所有标签信息以及新增加标签信息共同控制的对所述当前提问的对话回复。
7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010733148.1A CN111859989B (zh) | 2020-07-27 | 2020-07-27 | 基于属性标签控制的对话回复方法、装置和计算机设备 |
PCT/CN2021/091699 WO2022021987A1 (zh) | 2020-07-27 | 2021-04-30 | 基于属性标签控制的对话回复方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010733148.1A CN111859989B (zh) | 2020-07-27 | 2020-07-27 | 基于属性标签控制的对话回复方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111859989A CN111859989A (zh) | 2020-10-30 |
CN111859989B true CN111859989B (zh) | 2023-11-14 |
Family
ID=72948877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010733148.1A Active CN111859989B (zh) | 2020-07-27 | 2020-07-27 | 基于属性标签控制的对话回复方法、装置和计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111859989B (zh) |
WO (1) | WO2022021987A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111859989B (zh) * | 2020-07-27 | 2023-11-14 | 平安科技(深圳)有限公司 | 基于属性标签控制的对话回复方法、装置和计算机设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110275939A (zh) * | 2019-06-10 | 2019-09-24 | 腾讯科技(深圳)有限公司 | 对话生成模型的确定方法及装置、存储介质、电子设备 |
CN110990543A (zh) * | 2019-10-18 | 2020-04-10 | 平安科技(深圳)有限公司 | 智能对话的生成方法、装置、计算机设备及计算机存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11593660B2 (en) * | 2018-09-18 | 2023-02-28 | Insilico Medicine Ip Limited | Subset conditioning using variational autoencoder with a learnable tensor train induced prior |
CN110347792B (zh) * | 2019-06-25 | 2022-12-20 | 腾讯科技(深圳)有限公司 | 对话生成方法及装置、存储介质、电子设备 |
CN111859989B (zh) * | 2020-07-27 | 2023-11-14 | 平安科技(深圳)有限公司 | 基于属性标签控制的对话回复方法、装置和计算机设备 |
-
2020
- 2020-07-27 CN CN202010733148.1A patent/CN111859989B/zh active Active
-
2021
- 2021-04-30 WO PCT/CN2021/091699 patent/WO2022021987A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110275939A (zh) * | 2019-06-10 | 2019-09-24 | 腾讯科技(深圳)有限公司 | 对话生成模型的确定方法及装置、存储介质、电子设备 |
CN110990543A (zh) * | 2019-10-18 | 2020-04-10 | 平安科技(深圳)有限公司 | 智能对话的生成方法、装置、计算机设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111859989A (zh) | 2020-10-30 |
WO2022021987A1 (zh) | 2022-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170345424A1 (en) | Voice dialog device and voice dialog method | |
CN114245203A (zh) | 基于剧本的视频剪辑方法、装置、设备及介质 | |
CN115599901B (zh) | 基于语义提示的机器问答方法、装置、设备及存储介质 | |
CN112149651B (zh) | 一种基于深度学习的人脸表情识别方法、装置及设备 | |
CN111223476B (zh) | 语音特征向量的提取方法、装置、计算机设备和存储介质 | |
CN113536735B (zh) | 一种基于关键词的文本标记方法、系统和存储介质 | |
CN111914842A (zh) | 车牌信息的识别方法、装置、计算机设备及存储介质 | |
CN112528643A (zh) | 一种基于神经网络的文本信息提取方法及装置 | |
CN113270103A (zh) | 基于语义增强的智能语音对话方法、装置、设备及介质 | |
CN112733911A (zh) | 实体识别模型的训练方法、装置、设备和存储介质 | |
Kim et al. | Prompt tuning of deep neural networks for speaker-adaptive visual speech recognition | |
CN117746078B (zh) | 一种基于用户自定义类别的物体检测方法及系统 | |
CN114743539A (zh) | 语音合成方法、装置、设备及存储介质 | |
CN111859989B (zh) | 基于属性标签控制的对话回复方法、装置和计算机设备 | |
CN117591659A (zh) | 基于ChatGLM运维场景的信息处理方法、装置、设备及介质 | |
CN114398871A (zh) | 金融实体抽取方法、装置、设备与计算机可读存储介质 | |
CN113223504B (zh) | 声学模型的训练方法、装置、设备和存储介质 | |
CN111933125B (zh) | 联合模型的语音识别方法、装置和计算机设备 | |
CN116895273B (zh) | 合成音频的输出方法及装置、存储介质、电子装置 | |
CN116680369B (zh) | 一种共情对话生成方法及系统 | |
CN112070086A (zh) | 文本识别系统的优化方法、计算机设备及存储介质 | |
CN114723986A (zh) | 文本图像匹配方法、装置、设备及存储介质 | |
CN115204366A (zh) | 模型生成方法、装置、计算机设备和存储介质 | |
CN115018988A (zh) | 虚拟形象视频流生成方法、装置、设备及存储介质 | |
CN113010717B (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 | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Yang Haiqin Inventor after: Yao Xiaoyuan Inventor after: Duan Yiqun Inventor after: Shen Jianping Inventor after: Zhong Jie Inventor before: Yao Xiaoyuan Inventor before: Duan Yiqun Inventor before: Shen Jianping Inventor before: Zhong Jie |
|
GR01 | Patent grant | ||
GR01 | Patent grant |