一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种对话生成模型的方法、装置以及设备与流程

2021-10-19 23:32:00 来源:中国专利 TAG:装置 生成 模型 对话 机器


1.本发明涉及机器学习技术领域,尤其涉及一种对话生成模型的方法、装置以及设备。


背景技术:

2.如今伴随社交网络中对话数据大幅增长,计算能力迅速提升以及深度学习技术变革,基于数据驱动和深度学习的生成式人机对话方法获得长足发展,在该领域内投入了大量卓越且有成效的研究。然而,开放域和通用生成回复问题仍旧让人困扰,即模型生成的回复无意义且过于通用,如:“对,没问题”,无意义的回复使用户和对话生成系统的交流难以维系。


技术实现要素:

3.有鉴于此,本发明的目的在于提出一种对话生成模型的方法、装置以及设备,能够通过基于对话上下文的语义拓展生成恰当的回复,有效解决无意义对话。
4.为实现上述目的,本发明提供一种对话生成模型的方法,所述方法包括:
5.获取对话历史记录,通过所构建的对话生成模型中的编码器分别对所述对话历史记录、所述对话历史记录中的最后一句话以及与所述对话历史记录的相关文档进行编码处理,得到编码器的输出结果;
6.通过在所述编码器中附加一个二分类的任务器将所述输出结果分别与错误回复和最佳回复连接起来,并加上cls令牌进行分类,以训练所述编码器进行背景知识的学习;
7.当所述编码器进行训练后的参数处于收敛时,通过所述对话生成模型中的gpt

2解码器基于所述编码器进行训练,直到生成具有知识感知的回复。
8.优选的,所述获取对话历史记录,通过所构建的对话生成模型中的编码器分别对所述对话历史记录、所述对话历史记录中的最后一句话以及与所述对话历史记录的相关文档进行编码处理,得到编码器的输出结果的步骤包括:
9.通过transformer的自注意力模块对所述对话历史记录和所述最后一句话进行编码,并通过上下文注意力模块从编码后的上下文中选择信息;
10.通过transformer的自注意力模块对所述对话历史记录的相关文档进行编码后,得到所述对话历史记录中的关键信息通过知识注意模块进行学习,得到具有所述关键信息的输出结果。
11.优选的,所述自注意力模块包括具有多个相同层数的堆栈层,所述堆栈层包括多头注意力机制和全连接ffn。
12.优选的,所述上下文注意模块包括多头自注意层、多头上下文注意力层和全连接ffn。
13.优选的,所述知识注意模块包括多头自注意层、知识注意层和全连接ffn。
14.优选的,在所述通过在所述编码器中附加一个二分类的任务器将所述输出结果分
别与错误回复和最佳回复连接起来,并加上cls令牌进行分类之后,还包括:
15.将所述输出结果分别与错误回复和最佳回复连接起来输入至自注意力模块,并基于所述自注意力模块建立线性变换进行分类。
16.优选的,所述通过所述对话生成模型中的gpt

2解码器基于所述编码器进行训练,直到生成具有知识感知的回复的步骤包括:
17.通过知识感知二分类损失函数和交叉熵损失函数进行参数调整,直到所述知识感知二分类损失函数和所述交叉熵损失函数的和处于收敛。
18.为实现上述目的,本发明还提供一种对话生成模型的装置,所述装置包括:
19.编码单元,用于获取对话历史记录,通过所构建的对话生成模型中的编码器分别对所述对话历史记录、所述对话历史记录中的最后一句话以及与所述对话历史记录的相关文档进行编码处理,得到编码器的输出结果;
20.训练单元,用于通过在所述编码器中附加一个二分类的任务器将所述输出结果分别与错误回复和最佳回复连接起来,并加上cls令牌进行分类,以训练所述编码器进行背景知识的学习;
21.生成单元,用于当所述编码器进行训练后的参数处于收敛时,通过所述对话生成模型中的gpt

2解码器基于所述编码器进行训练,直到生成具有知识感知的回复。
22.为实现上述目的,本发明还提供一种对话生成模型的设备,包括处理器、存储器以及存储在所述存储器内的计算机程序,所述计算机程序能够被所述处理器执行以实现如上述实施例所述的一种对话生成模型的方法。
23.有益效果:
24.以上方案,通过所构建的对话生成模型所附加的下一句二分类任务器的编码器来学习特定场景的低频模式,从而选择正确的下一句回复,以准确捕获背景知识,并且通过gpt

2解码器基于编码器进行训练,以实现生成真正的知识感知回复,有效实现有意义的对话。
25.以上方案,通过分别训练编码器和解码器能够很好地分别学习特定场景下的默认模式和选择模式,并且分开训练能够极大地减少噪音对编码器的影响,大大提高了表现性能。
附图说明
26.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
27.图1为本发明一实施例提供的一种对话生成模型的方法的流程示意图。
28.图2为本发明一实施例提供的模型结构示意图。
29.图3为本发明一实施例提供的一种对话生成模型的装置的结构示意图。
30.图4为本发明一实施例提供的对话生成模型的设备的结构示意图。
31.发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
32.为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
33.在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
34.以下结合实施例详细阐述本发明的内容。
35.在现有中忽略了这样一个事实,即许多话语不包含来自给定文档的知识。他们直接将知识填充到模型中,不考虑生成的响应是否需要知识。同时,现有的基于文档的对话数据集很少能反映出响应是否包含知识。因此,在本方案中通过提出一个基于文本的双重分类的对话生成模型,该模型基于编码器

解码器框架,并将编码器和解码器分别训练。编码器依次使用两个模块来选择上下文关键信息和相应的文档信息作为关键信息,由于生成好的回复意味着实现了对话上下文正确的语义拓展。同时gpt

2解码器通过分类任务实现知识选择。为了进行关键信息筛选,在编码器中引入了一个二分类任务器,以进行挑选关键信息的学习,从而选择正确的下一句回复。
36.也就是,通过基于文本的对话能够有效解决无意义对话,通过从给定文本和对话的情况下,挑选出恰当的含有信息的对话。通常情况下,获得基于文本的生成回答需要两个关键步骤:首先是从将对话和对应的历史知识作为候选信息,以此获得历史对话包含的重要信息。其次是从给定文本中挑选恰当的知识,从候选信息中获得最相关的部分,并获得选择模式,之后生成含有关键信息且符合逻辑的回答。
37.参照图1所示为本发明实施例提供的一种对话生成模型的方法的流程示意图。
38.在本实施例中,该方法包括:
39.s11,获取对话历史记录,通过所构建的对话生成模型中的编码器分别对所述对话历史记录、所述对话历史记录中的最后一句话以及与所述对话历史记录的相关文档进行编码处理,得到编码器的输出结果。
40.其中,所述获取对话历史记录,通过所构建的对话生成模型中的编码器分别对所述对话历史记录、所述对话历史记录中的最后一句话以及与所述对话历史记录的相关文档进行编码处理,得到编码器的输出结果的步骤包括:
41.s11

1,通过transformer的自注意力模块对所述对话历史记录和所述最后一句话进行编码,并通过上下文注意力模块从编码后的上下文中选择信息;
42.s11

2,通过transformer的自注意力模块对所述对话历史记录的相关文档进行编码后,得到所述对话历史记录中的关键信息通过知识注意模块进行学习,得到具有所述关
键信息的输出结果。
43.在本实施例中,将问题定义为如下形式:在第t轮,设x={u1,...,u
t
,...,u
t
}是对话历史记录(也可以叫作对话上下文),每个u
t
代表一个用户的一句话。每句话由一组离散的单词序列组成,变长的u
t
=w
t,1
,w
t,2
,...,w
t
,|u
t
|,其中w
t,i
(1≤i≤|u
t
|)代表第i个单词,|u
t
|是句子u
t
的长度。对于每一个语句u
t
都有一个指定的相关文档,d
t
={d
t,1
,...,d
t,d
|
t
|},其中,d
t,j
(1≤j≤|d
t
|)是第j个单词,|d
t
|是文档d
t
的长度。值得注意的是d1,d2,...,d
t 1
可能是相同文档。该方案的目标是,对于给定的文本x以及和x相关的文档d
≤t
和d
t 1
(d
t 1
是生成的知识的文档),生成下一句回复则,
44.其中:
45.w
t 1,<i
=w
t 1,1
,w
t 1,2
,...,w
t i,i
‑1。
46.如图2所示的模型结构示意图,该对话生成模型是基于编码器

解码器(encoder

decoder)框架,也就是带有下一句分类功能的面向语义编码器和带有知识感知分类功能的gpt

2解码器。由于一个好的回复必须是其对话语境的正确语义延伸,并且通常最后一句话是连接回复与对话语境的纽带。通过使用transformer的自注意力模块来处理对话上下文x和最后一句话u
t
。对于每个模块,其输入u
t
通过以下方式进行处理:
47.em(u
t
)=[e(w
t
,1),...,e(w
t
,|u
t
|)],其中,e(w
t
,i)(1≤t≤t)表示单词嵌入,是通过gpt

2模型中相对应的矩阵实现的。每个自注意力模块包含一个有n个相同层的堆栈,每个堆栈层有两个子层,第一个子层是一个多头注意力机制(multi

head self

attention),其每个头部注意以一个查询矩阵q、一个键矩阵k和一个值矩阵v作为输入,注意力函数如下公式所示。这里q、k和v来自于矩阵em(u1),...,em(u
t
)和由于自注意力机制产生的三个不同矩阵的乘积。
[0048]
其中,i≤h(h是头的数量)是头指数,dk是矩阵k的维度的大小。第一子层的输出是矩阵a=[z1;...;z
h
]w
o
(w
o
是一个变换矩阵)。第二个子层是全连接前馈网络(ffn)。ffn包括两个具有relu激活函数的线性变换,其输入和输出分别为a和y=ffn(a)(ffn(x)=max(0,xw1 b1)w2 b2)。特别地,残差连接和层归一化在每个堆栈层中作为子层,为了简单起见,这里省略了它们。
[0049]
在具体实施时,通过将对话上下文和最后一句话进行编码后,编码后的最后一句话被用于从一个上下文注意模块编码后的上下文中选择信息,该上下文注意模块包含n层,每个层有三个子层,三个子层分别是:多头自注意层、多头上下文注意力层、ffn层。这里的多头上下文注意与前面提到的自我注意几乎相同,不同点是在u
<t
时,k和v是多头注意力层的输出。
[0050]
同样的,与对话上下文的相关文档由另一个自注意力模块编码,其关键信息由知识注意模块进行学习得到。对于知识注意模块包含n层,每个层有三个子层,三个子层分别是:多头自注意层、知识注意层和全连接ffn。它的k和v是编码的历史文档,q是上下文注意模块的输出,其中包含学习到的对话上下文的关键信息。这意味着文档的关键信息(即知识)是通过选定的对话上下文学习的。经过知识注意模块后,编码器的输出结果是y
t
,它在语义上获得了对话上下文和最后一句话引出的文档的关键信息。
[0051]
s12,通过在所述编码器中附加一个二分类的任务器将所述输出结果分别与错误回复和最佳回复连接起来,并加上cls令牌进行分类,以训练所述编码器进行背景知识的学习。
[0052]
其中,在所述通过在所述编码器中附加一个二分类的任务器将所述输出结果分别与错误回复和最佳回复连接起来,并加上cls令牌进行分类之后,还包括:
[0053]
将所述输出结果分别与错误回复和最佳回复连接起来输入至自注意力模块,并基于所述自注意力模块建立线性变换进行分类。
[0054]
在本实施例中,为了确保编码器学习到语境的关键信息是有用的,进一步把编码器的结果取出来,分别与错误回复和最佳回复连接起来,最后加上一个cls令牌进行分类,如公式所示:其中:em(uf)是从剩余回复中随机抽取的一个嵌入的错误回复,e
m
(u
t 1
)是最佳回复(这里u
t 1
的数目与u
f
的数目的之比是1/5),c是嵌入的cls令牌。然后将in输入到前面提到的多头自注意力模块(multihead()),并在多头自注意力模块的基础上建立线性变换(linea
r
())进行分类,如公式所示:re=linear(multihead(in,in,in)),其中:re是表示真回复和假回复分布概率的二维向量。需要注意的是,只有cls令牌的隐藏状态被发送到线性层进行分类任务,才可以捕获到编码器的结果是否已经学习到对话上下文和相应知识的正确语义。通过下一个语句分类能够成功地促进了编码器很好地学习到背景知识的能力。
[0055]
s13,当所述编码器进行训练后的参数处于收敛时,通过所述对话生成模型中的gpt

2解码器基于所述编码器进行训练,直到生成具有知识感知的回复。
[0056]
其中,所述通过所述对话生成模型中的gpt

2解码器基于所述编码器进行训练,直到生成具有知识感知的回复的步骤包括:
[0057]
通过知识感知二分类损失函数和交叉熵损失函数进行参数调整,直到所述知识感知二分类损失函数和所述交叉熵损失函数的和处于收敛。
[0058]
在本实施例中,为了获得真正的知识感知回复,进一步挑选出n个通用的、不提供信息的语句并标记为“不包含”数据集,将其他语句标记为“包含”数据集。再次强调,我们的目的不是促使该模型生成排除知识的响应,而是为了让该模型在正确的时间生成包含知识的响应。对于每一个语句,通过计算其与给定文档之间的语义相似度,然后计算此语句与n个不包含知识的回复之间的语义相似度。即,
[0059]
score
in
=sim(u
t 1
,d
t 1
),其中:u
t 1
是产生的回复,sim()是余弦相似度函数,d
t 1
是与u
t 1
相关的文档;
[0060]
score
ex
=(max
1≤i≤n
sim(u
t 1
,d
i
)),其中:u
i
是n个被选择出来的语句中的第i个语句。
[0061]
标记规则如下所示,即如果一个语句比起从不包含知识的语句中选择出来的相似度最高的语句,与相关文档有着更高的相似度,其标记设置为1,否则为o。即,
[0062]
其中:0表示未使用的知识,1表示已使用的知识。在标记之后,将分类任务引入gpt

2解码器。然后在译码器输入的最后一个位置添加一个cls令牌,最后将其隐藏状态输入到一个与下一个语音线性分类器相同的线性分类器
中。
[0063]
在本实施例中,与传统的编码器和解码器一起训练不同,我们将训练过程分为两个阶段。首先,编码器在第一阶段通过使用下一个句分类单独训练,直到参数收敛。然后,解码器在第二阶段用训练好的编码器的基础进行训练。
[0064]
其中第一阶段的损失公式:
[0065]
其中,i表示训练例子的序号,是第i个例子的标签。
[0066]
以下l2是第二个阶段的损失函数:
[0067]
其中,λ是超参数,y2是第j个例子的标签,l2等式的前一项/后一项是分类/交叉熵损失。单独的训练过程可以有效避免消失现象。
[0068]
以上方案,通过分别训练编码器和解码器,在编码器中附加一个二分类的下一句分类任务器,从而从随机样本句中选择正确的下一句。当编码器的参数趋于稳定后,以微调的方式训练解码器。解码器通过两个损失函数进行优化调参:知识感知二分类损失和预测单词分布和实际分布的交叉熵损失。
[0069]
参照图3所示为本发明实施例提供的一种对话生成模型的装置的结构示意图。
[0070]
本实施例中,该装置30包括:
[0071]
编码单元31,用于获取对话历史记录,通过所构建的对话生成模型中的编码器分别对所述对话历史记录、所述对话历史记录中的最后一句话以及与所述对话历史记录的相关文档进行编码处理,得到编码器的输出结果;
[0072]
训练单元32,用于通过在所述编码器中附加一个二分类的任务器将所述输出结果分别与错误回复和最佳回复连接起来,并加上cls令牌进行分类,以训练所述编码器进行背景知识的学习;
[0073]
生成单元33,用于当所述编码器进行训练后的参数处于收敛时,通过所述对话生成模型中的gpt

2解码器基于所述编码器进行训练,直到生成具有知识感知的回复。
[0074]
该装置30的各个单元模块可分别执行上述方法实施例中对应步骤,故在此不对各单元模块进行赘述,详细请参见以上对应步骤的说明。
[0075]
本发明实施例还提供一种对话生成模型的设备,包括处理器、存储器以及存储在所述存储器内的计算机程序,所述计算机程序能够被所述处理器执行以实现如上述实施例所述的对话生成模型的方法。
[0076]
如图4所示,所述对话生成模型的设备可包括但不仅限于处理器、存储器。本领域技术人员可以理解,所述示意图仅仅是对话生成模型的设备的示例,并不构成对对话生成模型的设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述对话生成模型的设备还可以包括输入输出设备、网络接入设备、总线等。
[0077]
所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路
(application specific integrated circuit,asic)、现成可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述对话生成模型的设备的控制中心,利用各种接口和线路连接整个对话生成模型的设备的各个部分。
[0078]
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述对话生成模型的设备的各种功能。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0079]
其中,所述对话生成模型的设备集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。
[0080]
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0081]
上述实施例中的实施方案可以进一步组合或者替换,且实施例仅仅是对本发明的优选实施例进行描述,并非对本发明的构思和范围进行限定,在不脱离本发明设计思想的前提下,本领域中专业技术人员对本发明的技术方案作出的各种变化和改进,均属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜