1.本技术实施例涉及人工智能技术领域,尤其涉及一种对话模型的训练方法、装置及存储介质。
背景技术:
2.随着人工智能技术的发展,基于神经网络模型的虚拟智能助手可以为用户提供各种功能。在许多应用场景中,虚拟智能助手都能够和用户对话。为了更好地为用户提供服务,需要大量对话样本对对话模型进行训练,而且,对于使用不同语种进行对话的用户,需要分别建立不同语种的对话模型,利用不同语种的对话样本进行训练。但是,对于一些用户数量较少的语种,如小语种,没有足够的对话样本,使得这些语种的对话模型不够准确,不能很好地向用户提供各种服务。
技术实现要素:
3.有鉴于此,本技术实施例提供一种对话模型的训练方法、装置及存储介质,以至少部分解决上述问题。
4.根据本技术实施例的第一方面,提供了一种对话模型的训练方法,包括:获取第一对话样本,第一对话样本包含第一语种的对话数据和第二语种的对话数据中的至少一项,第一对话样本是根据第一语种的对话数据得到的;利用第一对话样本对初始对话模型进行预训练得到第一语种的预训练对话模型;基于第二语种的对话数据获取第二对话样本,第二对话样本的数量小于或等于第一对话样本的数量;利用第二对话样本对第一语种的预训练对话模型进行训练得到第二语种的对话模型。
5.根据本技术实施例的第二方面,提供了一种对话模型的训练装置,包括:第一获取模块,用于获取第一对话样本,第一对话样本包含第一语种的对话数据和第二语种的对话数据中的至少一项,第一对话样本是根据第一语种的对话数据得到的;预训练模块,用于利用第一对话样本对初始对话模型进行预训练得到第一语种的预训练对话模型;第二获取模块,用于基于第二语种的对话数据获取第二对话样本,第二对话样本的数量小于或等于第一对话样本的数量;训练模块,用于利用第二对话样本对第一语种的预训练对话模型进行训练得到第二语种的对话模型。
6.根据本技术实施例的第三方面,提供了一种智能语音助手,包括:处理器、扬声器、麦克风以及通信接口;处理器分别与扬声器、麦克风以及通信接口通信连接;处理器,用于获取第一对话样本,第一对话样本包含第一语种的对话数据和第二语种的对话数据中的至少一项,第一对话样本是根据第一语种的对话数据得到的;利用第一对话样本对初始对话模型进行预训练得到第一语种的预训练对话模型;基于第二语种的对话数据获取第二对话样本,第二对话样本的数量小于或等于第一对话样本的数量;利用第二对话样本对第一语种的预训练对话模型进行训练得到第二语种的对话模型。
7.根据本技术实施例的第四方面,提供了一种电子设备,包括:处理器、存储器、通信
接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;存储器用于存放至少一可执行指令,可执行指令使处理器执行如第一方面的对话模型的训练方法对应的操作。
8.根据本技术实施例的第五方面,提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时,实现如第一方面的对话模型的训练方法。
9.根据本技术实施例的第六方面,提供了一种计算机程序产品,该计算机程序产品被处理器执行时,实现如第一方面的对话模型的训练方法。
10.本技术实施例提供的对话模型的训练方法、装置及存储介质,获取第一对话样本,第一对话样本包含第一语种的对话数据和第二语种的对话数据中的至少一项,第一对话样本是根据第一语种的对话数据得到的;利用第一对话样本对初始对话模型进行预训练得到第一语种的预训练对话模型;基于第二语种的对话数据获取第二对话样本,第二对话样本的数量小于或等于第一对话样本的数量;利用第二对话样本对第一语种的预训练对话模型进行训练得到第二语种的对话模型。因为第一对话样本是基于第一语种的对话数据获得的,不需要基于第二语种获取,解决了第二语种的对话样本不足时,第二语种的对话模型准确性不够的问题,在预训练之后,利用基于第二语种的对话数据获得的第二对话样本进行训练,在不需要太多第二对话样本的前提下,提高了对话模型准确性。
附图说明
11.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
12.图1为本技术实施例一提供的一种对话模型的训练方法的场景示意图;
13.图2为本技术实施例一提供的一种对话模型的训练方法的流程图;
14.图3为本技术实施例一提供的一种模型训练流程示意图;
15.图4为本技术实施例一提供的一种模型训练效果示意图;
16.图5为本技术实施例二提供的一种对话模型的训练装置的结构图;
17.图6为本技术实施例三提供的一种智能语音助手的结构图;
18.图7为本技术实施例四提供的一种电子设备的结构图。
具体实施方式
19.为了使本领域的人员更好地理解本技术实施例中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术实施例一部分实施例,而不是全部的实施例。基于本技术实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本技术实施例保护的范围。
20.下面结合本技术实施例附图进一步说明本技术实施例具体实现。
21.实施例一
22.本技术实施例一提供一种对话模型的训练方法,应用于电子设备,为了便于理解,对本技术实施例一所提供的对话模型的训练方法的应用场景进行说明,参照图1所示,图1
为本技术实施例一提供的一种对话模型的训练方法的场景示意图。图1所示的场景中包括电子设备101,电子设备101可以是执行本技术实施例一提供的对话模型的训练方法的设备。
23.电子设备101可以是智能手机、平板电脑、笔记本电脑、车载终端等终端设备,电子设备101也可以是服务器等网络设备,当然,此处只是示例性说明,并不代表本技术局限于此。
24.电子设备101可以接入网络,通过网络与云端连接,并进行数据交互,或者,电子设备101可以是云端的设备。本技术中,网络包括局域网(英文:local area network,lan)、广域网(英文:wide area network,wan)、移动通信网络;如万维网(英文:world wide web,www)、长期演进(英文:long term evolution,lte)网络、2g网络(英文:2th generation mobile network)、3g网络(英文:3th generation mobile network),5g网络(英文:5th generation mobile network)等。云端可以包括通过网络连接的各种设备,例如,服务器、中继设备、端到端(英文:device-to-device,d2d)设备等。当然,此处只是示例性说明,并不代表本技术局限于此。
25.结合图1所示的场景,详细说明本技术实施例一提供的对话模型的训练方法,需要说明的是,图1只是本技术实施例一提供的对话模型的训练方法的一种应用场景,并不代表该对话模型的训练方法必须应用于图1所示的场景,具体可以应用于电子设备,参照图2所示,图2为本技术实施例一提供的一种对话模型的训练方法的流程图,该方法包括以下步骤:
26.步骤201、获取第一对话样本。
27.其中,第一对话样本包含第一语种的对话数据和第二语种的对话数据中的至少一项,第一对话样本是根据第一语种的对话数据得到的,第一语种的对话数据可以包含第一语种和/或第二语种的至少一组语句对,一个语句对可以包含一问一答两个语句。第一对话样本可以包含第一语种的语句,也可以包含第二语种的语句。例如,第一对话样本可以包含至少两个第一语种的语句;又如,第一对话样本可以包含第一语种的语句,第一语种的语句可以包含第二语种的实体;又如,第一对话样本可以包含由第一语种的语句翻译得到的第二语种的语句。此处只是示例性说明,只要是基于第一语种的对话数据得到的对话样本,都可以作为第一对话样本。如果第二语种的对话数据数比第一语种的对话数据数量少,那么基于第一语种的对话数据就可以得到数量较大的第一对话样本,有利于提高对话模型的训练效果。
28.此处,结合上述示例,列举三种实现方式说明如何获取第一对话样本。
29.可选地,在第一种示例中,第一对话样本包含第一语种的对话数据,基于第一语种的对话数据获取第一对话样本,包括:获取基于第一语种的对话数据,作为第一对话样本。在第一种示例中,直接将第一语种的对话数据作为第一对话样本,能够保证第一对话样本的数量充足。
30.可选地,在第二种示例中,第一对话样本包含第一语种的对话数据和第二语种的对话数据,基于第一语种的对话数据获取第一对话样本,包括:获取第一语种的对话数据,在第一语种的对话数据中确定至少一个待替换实体;将第一语种的对话数据中的至少一个待替换实体替换为第二语种的目标实体,得到第一对话样本。在第二种示例中,对于第一语
种的对话数据中的语句,将待替换实体替换为第二语种的目标实体,使得第一语种的语句中夹杂第二语种的实体,更进一步提高训练效果。示例性地,以第一语种是中文,第二语种是英语为例,第一语种(中文)的对话数据的中的语句可以包括“最近的卫生间在哪里”,可以将卫生间作为待替换实体,将第二语种(英语)的“wc”作为目标实体,则替换后的语句为“最近的wc在哪里”。因为一些场景下,用户可能会使用多语种进行表达,将第一语种的待替换实体替换为第二语种的目标实体,更符合实际情况,能够进一步提高训练效果。
31.可选地,在第三种示例中,第一对话样本包含第二语种的对话数据,基于第一语种的对话数据获取第一对话样本,包括:获取第一语种的对话数据;利用翻译模型将第一语种的对话数据翻译成第二语种,得到第一对话样本。因为在一些应用场景中,第二语种的对话数据的数量较少,不够充足,因此,将第一语种的对话数据利用翻译模型翻译成第二语种,可以增加第二语种的对话数据的数量,提高模型训练结果。
32.步骤202、利用第一对话样本对初始对话模型进行预训练得到第一语种的预训练对话模型。
33.需要说明的是,初始对话模型可以是预先设定的没有经过训练的模型,也可以是经过预训练的模型。示例性地,初始对话模型可以包括seq2seq模型、bart模型、t5模型等。
34.步骤203、基于第二语种的对话数据获取第二对话样本。
35.其中,第二语种的对话数据是用于获取第二对话样本的数据,第二语种的对话数据的数量小于或等于第一语种的对话数据的数量,第二对话样本的数量小于或等于第一对话样本的数量。在一些应用场景中,第一对话样本的数量可以是第二对话样本的数量的n倍,也可以说第一语种的对话数据的数量可以是第二语种的对话数据的数量的n倍,n为大于等于1的整数,可选地,n可以是大于等于2的整数,例如,n可以是5、10等。示例性地,第一对话样本的数量是第二对话样本的数量的10倍。
36.步骤204、利用第二对话样本对第一语种的预训练对话模型进行训练得到第二语种的对话模型。
37.需要说明的是,在本技术中,利用第二对话样本对第一语种的预训练对话模型进行训练的方式,与利用第一对话样本对初始对话模型进行训练的方式可以相同。此处,示例性的说明第二语种的对话模型的训练过程,第一语种的预训练对话模型的训练过程可以参考,此处不再赘述。
38.可选地,在一种示例中,利用第二对话样本对第一语种的预训练对话模型进行训练得到第二语种的对话模型,包括:
39.将第二对话样本输入第一语种的预训练对话模型,根据第二对话样本中上一轮语句和历史语句预测当前语句;根据当前语句确定对话是否继续,如果对话继续,则继续预测下一轮语句,如果对话结束,则生成预测对话;根据预测对话确定损失函数,并更新第一语种的预训练对话模型中的参数,直到训练完成得到第二语种的对话模型。
40.可选地,在一种示例中,该方法还包括:获取用户的对话数据;将所述用户的对话数据输入所述对话模型,并得到预测语句。对话模型训练之后,即可通过对话模型进行语句预测,实现人机对话。进一步可选地,该方法还包括:将预测语句以及用户的对话数据作为第二对话样本对对话模型进行训练。利用用户在实际应用中的对话数据以及预测语句进行训练,可以进一步提高对话模型的训练效果。
41.在一种具体的应用场景中,如图3所示,图3为本技术实施例一提供的一种模型训练流程示意图。示例性地,在此处的应用场景中,一个对话样本可以是一个语句集合,此处以第二对话样本为例,用d表示一个对话样本,即一个语句集合,d={u1,s1,u2,s2,...,ut,st}。其中,ui表示用户的语句,si表示系统的语句,i表示对话轮次,i为[1,t]内的整数,t为大于1的整数,i=t时,即在第t轮对话中,历史语句ht可以表示为,ht={u(t-w),s(t-w),...,s(t-1),ut},其中w代表历史窗口大小,将当前轮次之前的w轮对话语句作为历史语句,将第t轮的对话状态设为bt,知识库状态设为kt。
[0042]
在训练过程,将对话状态b0和知识库状态k0初始化为空字符串。在第t轮对话中,对话模型的输入是历史语句ht、前一轮对话状态b(t-1)、前一轮知识库状态k(t-1)。可以设置一个“提示符”p_b="trackdialoguestate"来表示生成任务。随后,根据提示符p_b、历史语句ht、前一轮对话状态b(t-1),以及前一轮知识库状态k(t-1)确定对话标签,用lev_t表示,以seq2seq模型为例,lev_t=mseq2seq(p_b,ht,b(t-1),k_(t-1))。mseq2seq表示seq2seq模型,lev_t作为一个对话标签,其中包含了对话状态从b(t-1)更新到bt所需的信息。更新后的对话状态bt和代表回复生成的提示符p_r="response"作为输入,调用预设应用程序接口(英文:application programming interface,api)进行查询,以确定对话是否继续。对话模型会生成一个api名称,api=mseq2seq(p_r,ht,bt,k(t-1)),根据对话状态中的约束条件来调用api查询,根据查询结果确定对话是否继续。可选地,通常根据预先设置的任务列表,以及更新后的对话状态bt确定对话是否继续。
[0043]
如果对话继续,则将知识库状态进行更新,知识库状态由kt更新到k(t-1)。更新后的知识库状态和api名称重新输入对话模型,来生成下一轮的对话语句:response=mseq2seq(p_r,h_t,b_t,k_t,api)。如果对话结束,则直接输出预测对话。
[0044]
结合图4所示,图4为本技术实施例一提供的一种模型训练效果示意图。图4中列出了两种模型的实验结果,第一种实验基于bart模型,第二种实验基于t5模型。每种模型的实验,都包含两组,第一组中第一语种是中文,第二语种是英文,第二组中第一语种是英文,第二语种是中文。图4示出了四种方式训练后的准确率,以第一种实验为例,第一种方式,基于mintl(mbart)模型,直接利用第二对话样本进行训练,第二种方式,+cpt表示在第一种mintl(mbart)模型的基础上增加了跨语言训练(cpt),对应步骤201中的第一种示例,用第一语种的对话数据作为第一对话样本进行预训练;第三种方式,+mlt表示在第一种mintl(mbart)模型的基础上增加了混合语言训练(mlt),对应步骤201中的第二种示例,在第一语种的对话数据中将待替换实体替换为第二语种的目标实体,然后进行预训练;第四种方式,+tt*表示在第一种mintl(mbart)模型的基础上增加了翻译训练(tt),对应步骤201中的第三种示例,将第一语种的对话数据翻译成第二语种,并得到第一对话样本进行预训练。
[0045]
其中,任务成功率(tsr)表示对话模型给出正确的实体,并回答出所有任务所需求的信息的成功率;对话成功率(dsr)表示对话模型完成对话中的所有任务的称功率;api调用准确率(api
acc
)表示可以生成正确的api调用的准确率;双语评价替补(英文:bilingual evaluation understudy,bleu)值用来衡量生成回复语句的流畅性;联合目标准确性(jga)用来衡量子任务的对话状态追踪(dst)的效果。
[0046]
通过图4的示意,可以看出,本技术步骤201对应的三种示例的训练效果均优于直接利用第二语种的对话数据进行训练的效果,在第二语种的对话数据的样本较少的情况
下,提高了对话模型准确性。
[0047]
本技术实施例提供的对话模型的训练方法,获取第一对话样本,第一对话样本包含第一语种的对话数据和第二语种的对话数据中的至少一项,第一对话样本是根据第一语种的对话数据得到的;利用第一对话样本对初始对话模型进行预训练得到第一语种的预训练对话模型;基于第二语种的对话数据获取第二对话样本,第二对话样本的数量小于或等于第一对话样本的数量;利用第二对话样本对第一语种的预训练对话模型进行训练得到第二语种的对话模型。因为第一对话样本是基于第一语种的对话数据获得的,不需要基于第二语种获取,解决了第二语种的对话样本不足时,第二语种的对话模型准确性不够的问题,在预训练之后,利用基于第二语种的对话数据获得的第二对话样本进行训练,在不需要太多第二对话样本的前提下,提高了对话模型准确性。
[0048]
实施例二
[0049]
基于上述实施例一所描述的方法,本技术实施例二提供一种对话模型的训练装置,用于执行上述实施例一所描述的方法,参照图5所示,对话模型的训练装置50,包括:
[0050]
第一获取模块501,用于获取第一对话样本,第一对话样本包含第一语种的对话数据和第二语种的对话数据中的至少一项,第一对话样本是根据第一语种的对话数据得到的;
[0051]
预训练模块502,用于利用第一对话样本对初始对话模型进行预训练得到第一语种的预训练对话模型;
[0052]
第二获取模块503,用于基于第二语种的对话数据获取第二对话样本,第二对话样本的数量小于或等于第一对话样本的数量;
[0053]
训练模块504,用于利用第二对话样本对第一语种的预训练对话模型进行训练得到第二语种的对话模型。
[0054]
可选地,在一种具体示例中,第一对话样本包含第一语种的对话数据,第一获取模块501,用于获取基于第一语种的对话数据,作为第一对话样本。
[0055]
可选地,在一种具体示例中,第一对话样本包含第一语种的对话数据和第二语种的对话数据,第一获取模块501,用于获取第一语种的对话数据,在第一语种的对话数据中确定至少一个待替换实体;将第一语种的对话数据中的至少一个待替换实体替换为第二语种的目标实体,得到第一对话样本。
[0056]
可选地,在一种具体示例中,第一对话样本包含第二语种的对话数据,第一获取模块501,用于获取第一语种的对话数据;利用翻译模型将第一语种的对话数据翻译成第二语种,得到第一对话样本。
[0057]
可选地,在一种具体示例中,训练模块504,用于将第二对话样本输入第一语种的预训练对话模型,根据第二对话样本中上一轮语句和历史语句预测当前语句;根据当前语句确定对话是否继续,如果对话继续,则继续预测下一轮语句,如果对话结束,则生成预测对话;根据预测对话确定损失函数,并更新第一语种的预训练对话模型中的参数,直到训练完成得到第二语种的对话模型。
[0058]
可选地,在一种具体示例中,对话模型的训练装置50还包括预测模块505,用于获取用户的对话数据;将用户的对话数据输入对话模型,并得到预测语句;
[0059]
训练模块504,还用于将预测语句以及用户的对话数据作为第二对话样本对对话
模型进行训练。
[0060]
可选地,在一种具体示例中,第一对话样本的数量是第二对话样本的数量的10倍。
[0061]
本技术实施例提供的对话模型的训练装置,获取第一对话样本,第一对话样本包含第一语种的对话数据和第二语种的对话数据中的至少一项,第一对话样本是根据第一语种的对话数据得到的;利用第一对话样本对初始对话模型进行预训练得到第一语种的预训练对话模型;基于第二语种的对话数据获取第二对话样本,第二对话样本的数量小于或等于第一对话样本的数量;利用第二对话样本对第一语种的预训练对话模型进行训练得到第二语种的对话模型。因为第一对话样本是基于第一语种的对话数据获得的,不需要基于第二语种获取,解决了第二语种的对话样本不足时,第二语种的对话模型准确性不够的问题,在预训练之后,利用基于第二语种的对话数据获得的第二对话样本进行训练,在不需要太多第二对话样本的前提下,提高了对话模型准确性。
[0062]
实施例三
[0063]
基于上述实施例一所描述的方法,本技术实施例三提供一种智能语音助手,用于执行上述实施例一所描述的方法,参照图6,示出了根据本技术实施例三的一种智能语音助手的结构示意图,该智能语音助手60包括:处理器601、扬声器602、麦克风603以及通信接口604;处理器601分别与扬声器602、麦克风603以及通信接口604通信连接;
[0064]
处理器601,用于获取第一对话样本,第一对话样本包含第一语种的对话数据和第二语种的对话数据中的至少一项,第一对话样本是根据第一语种的对话数据得到的;利用第一对话样本对初始对话模型进行预训练得到第一语种的预训练对话模型;基于第二语种的对话数据获取第二对话样本,第二对话样本的数量小于或等于第一对话样本的数量;利用第二对话样本对第一语种的预训练对话模型进行训练得到第二语种的对话模型。
[0065]
可选地,在一种实现方式中,
[0066]
麦克风603,用于将用户的声波转换为电信号传输至处理器;
[0067]
处理器601,还用于根据麦克风603传输的电信号获取用户的对话数据;将用户的对话数据输入对话模型,并得到预测语句;将预测语句以及用户的对话数据作为第二对话样本对对话模型进行训练;
[0068]
处理器601,还用于将预测语句转换为电信号传输至扬声器602;
[0069]
扬声器602,用于将处理器601传输的电信号转换为声波进行发射。
[0070]
本技术实施例提供的智能语音助手,获取第一对话样本,第一对话样本包含第一语种的对话数据和第二语种的对话数据中的至少一项,第一对话样本是根据第一语种的对话数据得到的;利用第一对话样本对初始对话模型进行预训练得到第一语种的预训练对话模型;基于第二语种的对话数据获取第二对话样本,第二对话样本的数量小于或等于第一对话样本的数量;利用第二对话样本对第一语种的预训练对话模型进行训练得到第二语种的对话模型。因为第一对话样本是基于第一语种的对话数据获得的,不需要基于第二语种获取,解决了第二语种的对话样本不足时,第二语种的对话模型准确性不够的问题,在预训练之后,利用基于第二语种的对话数据获得的第二对话样本进行训练,在不需要太多第二对话样本的前提下,提高了对话模型准确性。
[0071]
实施例四
[0072]
基于上述实施例一所描述的方法,本技术实施例四提供一种电子设备,用于执行
上述实施例一所描述的方法,参照图7,示出了根据本技术实施例四的一种电子设备的结构示意图,本技术具体实施例并不对电子设备的具体实现做限定。
[0073]
如图7所示,该电子设备70可以包括:处理器(processor)702、通信接口(communications interface)704、存储器(memory)706、以及通信总线708。
[0074]
其中:
[0075]
处理器702、通信接口704、以及存储器706通过通信总线708完成相互间的通信。
[0076]
通信接口704,用于与其它电子设备或服务器进行通信。
[0077]
处理器702,用于执行程序710,具体可以执行上述对话模型的训练方法实施例中的相关步骤。
[0078]
具体地,程序710可以包括程序代码,该程序代码包括计算机操作指令。
[0079]
处理器702可能是处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本技术实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
[0080]
存储器706,用于存放程序710。存储器706可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0081]
程序710具体可以用于使得处理器702执行以实现实施例一中所描述的对话模型的训练方法。程序710中各步骤的具体实现可以参见上述对话模型的训练方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
[0082]
本技术实施例提供的电子设备,获取第一对话样本,第一对话样本包含第一语种的对话数据和第二语种的对话数据中的至少一项,第一对话样本是根据第一语种的对话数据得到的;利用第一对话样本对初始对话模型进行预训练得到第一语种的预训练对话模型;基于第二语种的对话数据获取第二对话样本,第二对话样本的数量小于或等于第一对话样本的数量;利用第二对话样本对第一语种的预训练对话模型进行训练得到第二语种的对话模型。因为第一对话样本是基于第一语种的对话数据获得的,不需要基于第二语种获取,解决了第二语种的对话样本不足时,第二语种的对话模型准确性不够的问题,在预训练之后,利用基于第二语种的对话数据获得的第二对话样本进行训练,在不需要太多第二对话样本的前提下,提高了对话模型准确性。
[0083]
实施例五
[0084]
基于上述实施例一所描述的方法,本技术实施例五提供一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如实施例一所描述的方法。
[0085]
实施例六
[0086]
基于上述实施例一所描述的方法,本技术实施例六提供一种计算机程序产品,该计算机程序产品被处理器执行时实现如实施例一所描述的方法。
[0087]
需要指出,根据实施的需要,可将本技术实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本技术实施例的目的。
[0088]
上述根据本技术实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如cd rom、ram、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如asic或fpga)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,ram、rom、闪存等),当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的导航方法。此外,当通用计算机访问用于实现在此示出的导航方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的导航方法的专用计算机。
[0089]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术实施例的范围。
[0090]
以上实施方式仅用于说明本技术实施例,而并非对本技术实施例的限制,有关技术领域的普通技术人员,在不脱离本技术实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本技术实施例的范畴,本技术实施例的专利保护范围应由权利要求限定。
技术特征:
1.一种对话模型的训练方法,其中,包括:获取第一对话样本,所述第一对话样本包含所述第一语种的对话数据和所述第二语种的对话数据中的至少一项,所述第一对话样本是根据第一语种的对话数据得到的;利用所述第一对话样本对初始对话模型进行预训练得到所述第一语种的预训练对话模型;基于第二语种的对话数据获取第二对话样本,所述第二对话样本的数量小于或等于所述第一对话样本的数量;利用所述第二对话样本对所述第一语种的预训练对话模型进行训练得到所述第二语种的对话模型。2.根据权利要求1所述的方法,其中,所述第一对话样本包含所述第一语种的对话数据,所述基于第一语种的对话数据获取第一对话样本,包括:获取基于所述第一语种的对话数据,作为所述第一对话样本。3.根据权利要求1所述的方法,其中,所述第一对话样本包含所述第一语种的对话数据和所述第二语种的对话数据,所述基于第一语种的对话数据获取第一对话样本,包括:获取所述第一语种的对话数据,在所述第一语种的对话数据中确定至少一个待替换实体;将所述第一语种的对话数据中的所述至少一个待替换实体替换为所述第二语种的目标实体,得到所述第一对话样本。4.根据权利要求1所述的方法,其中,所述第一对话样本包含所述第二语种的对话数据,所述基于第一语种的对话数据获取第一对话样本,包括:获取所述第一语种的对话数据;利用翻译模型将所述第一语种的对话数据翻译成所述第二语种,得到所述第一对话样本。5.根据权利要求1所述的方法,其中,所述利用所述第二对话样本对所述第一语种的预训练对话模型进行训练得到所述第二语种的对话模型,包括:将所述第二对话样本输入所述第一语种的预训练对话模型,根据所述第二对话样本中上一轮语句和历史语句预测当前语句;根据所述当前语句确定对话是否继续,如果对话继续,则继续预测下一轮语句,如果对话结束,则生成预测对话;根据预测对话确定损失函数,并更新所述第一语种的预训练对话模型中的参数,直到训练完成得到所述第二语种的对话模型。6.根据权利要求1-5任一项所述的方法,其中,所述方法还包括:获取用户的对话数据;将所述用户的对话数据输入所述对话模型,并得到预测语句;将所述预测语句以及所述用户的对话数据作为所述第二对话样本对所述对话模型进行训练。7.一种智能语音助手,其中,包括:处理器、扬声器、麦克风以及通信接口;所述处理器分别与所述扬声器、所述麦克风以及所述通信接口通信连接;所述处理器,用于获取第一对话样本,所述第一对话样本包含所述第一语种的对话数据和所述第二语种的对话数据中的至少一项,所述第一对话样本是根据第一语种的对话数
据得到的;利用所述第一对话样本对初始对话模型进行预训练得到所述第一语种的预训练对话模型;基于第二语种的对话数据获取第二对话样本,所述第二对话样本的数量小于或等于所述第一对话样本的数量;利用所述第二对话样本对所述第一语种的预训练对话模型进行训练得到所述第二语种的对话模型。8.根据权利要求7所述的智能语音助手,其中,所述麦克风,用于将用户的声波转换为电信号传输至处理器;所述处理器,还用于根据所述麦克风传输的电信号获取用户的对话数据;将所述用户的对话数据输入所述对话模型,并得到预测语句;将所述预测语句以及所述用户的对话数据作为所述第二对话样本对所述对话模型进行训练;所述处理器,还用于将所述预测语句转换为电信号传输至所述扬声器;所述扬声器,用于将所述处理器传输的电信号转换为声波进行发射。9.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-6中任一项所述的对话模型的训练方法对应的操作。10.一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-6中任一所述的对话模型的训练方法对应的操作。
技术总结
本申请实施例提供一种对话模型的训练方法、装置及存储介质,其中,对话模型的训练方法包括:获取第一对话样本,第一对话样本包含第一语种的对话数据和第二语种的对话数据中的至少一项,第一对话样本是根据第一语种的对话数据得到的;利用第一对话样本对初始对话模型进行预训练得到第一语种的预训练对话模型;基于第二语种的对话数据获取第二对话样本,第二对话样本的数量小于或等于第一对话样本的数量;利用第二对话样本对第一语种的预训练对话模型进行训练得到第二语种的对话模型。提高了对话模型准确性。对话模型准确性。对话模型准确性。
技术研发人员:姜飞俊 胡于响 施晨 林兆江 徐鹏 冯雁
受保护的技术使用者:阿里巴巴(中国)有限公司
技术研发日:2021.11.24
技术公布日:2022/3/8