本申请涉及计算机领域,尤其涉及一种模型参数确定方法、装置、设备及存储介质。
背景技术:
智能对话系统,又可以被称为智能聊天系统、对话/聊天机器人,可以用户文字或者语音输入的聊天内容,自动给出和人类相似的对话相应的系统。目前,智能对象系统,是自然语言处理的核心研究方向之一,也是较为热门的人工智能研发与产品方向。
智能对话系统,通常包括语聊类以及执行类。其中,语聊类,是指重点生成自然语言应答,以进行对话响应;执行类,是指重点在于根据对话内容执行信息查询、设备控制以及物品购买等操作,并附带产生一定的对话响应。
对于语聊类的智能对话系统,目前尚在研究完善阶段。大多数语聊类的智能对话系统,通常仅能做到普适性应答,但是无法产生符合用户特点的个性化对话响应。
技术实现要素:
本申请实施例提供了一种模型参数确定方法、装置、设备及存储介质,以产生符合用户特点的个性化对话响应,提高用户的对话体验。
第一方面,本申请实施例提供了一种模型参数确定方法,所述方法应用于服务器,所述方法包括:
接收多个终端设备中每个终端设备分别发送的个性化模型参数和样本数量,所述个性化模型参数为所述每个终端设备对对话应答模型进行训练得到的模型参数,所述对话应答模型用于根据实际对话中的上文实际语境生成下文实际应答,所述终端设备采用的用于训练所述对话应答模型的训练样本为与所述终端设备对应的目标用户与其他用户的训练对话,所述训练对话包括上文训练语境和下文训练应答;
根据所述多个终端设备中每个终端设备对应的样本数量,确定所述每个终端设备对应的个性化模型参数的权重;
根据所述每个终端设备对应的个性化模型参数的权重,确定综合模型参数;
向所述多个终端设备发送所述综合模型参数,以使得所述每个终端设备根据所述综合模型参数和个性化模型参数确定对应的对话应答模型的目标模型参数。
在一些可能的实施方式中,根据所述多个终端设备中每个终端设备对应的样本数量,确定所述每个终端设备对应的个性化模型参数的权重包括:
根据所述多个终端设备中每个终端设备对应的样本数量确定对应的样本数量区间;
根据所述样本数量区间与个性化模型参数的权重之间的映射关系,确定所述每个终端设备对应的个性化模型参数的权重。
在一些可能的实施方式中,所述样本数量与所述个性化模型参数的权重呈正相关关系。
第二方面,本申请实施例还提供了一种模型参数确定方法,所述方法应用于终端设备,所述方法包括:
获取对话应答模型的个性化模型参数以及用于训练所述对话应答模型的训练样本,所述训练样本为目标用户与其他用户的训练对话,所述训练对话包括上文训练语境和下文训练应答,所述对话应答模型用于根据实际对话中的上文实际语境为所述目标用户生成下文实际应答;
向服务器发送所述个性化模型参数和所述训练样本的样本数量,以使得所述服务器根据所述个性化模型参数和所述样本数量得到综合模型参数;
根据接收到的所述综合模型参数和所述个性化模型参数得到所述对话应答模型的目标模型参数。
在一些可能的实施方式中,所述获取对话应答模型的个性化模型参数,包括:
根据获取的所述训练样本对所述对话应答模型进行训练,得到所述对话应答模型的个性化模型参数。
在一些可能的实施方式中,所述根据接收到的所述综合模型参数和所述个性化模型参数得到所述对话应答模型的目标模型参数,包括:
计算出所述综合模型参数与所述个性化模型参数之间的加权调和平均数,并将所述加权调和平均数作为所述对话应答模型的目标模型参数。
在一些可能的实施方式中,所述上文训练语境包括图片、视频或语句中的任意一种或多种;所述根据获取的所述训练样本对所述对话应答模型进行训练包括:
将所述上文训练语境中的语句输入到语句向量识别模型中,得到与所述语句对应的语句向量;
将所述上文训练语境中的图片或视频输入到多媒体识别模型中,得到与所述图片或视频对应的多媒体向量;
根据所述图片、视频或语句在所述上文训练语境中的前后顺序及分别对应的语句向量和\或多媒体向量确定整体向量编码;
根据所述整体向量编码以及所述下文训练应答对所述对话应答模型进行训练。
在一些可能的实施方式中,所述根据所述图片、视频或语句在所述上文训练语境中的前后顺序及分别对应的语句向量和\或多媒体向量确定整体向量编码,包括:
将所述语句向量与预设的初始状态编码输入至编码模型,得到所述语句向量与所述初始状态编码对应的第一内部状态编码;
将所述第一内部状态编码与所述多媒体向量输入至所述编码模型,得到所述第一内部状态编码与所述多媒体向量对应的第二内部状态编码,并将所述第二内部状态编码作为所述整体向量编码。
第三方面,本申请实施例还提供了一种模型参数确定装置,所述装置应用于服务器,所述装置包括:
接收模块,用于接收多个终端设备中每个终端设备分别发送的个性化模型参数和样本数量,所述个性化模型参数为所述每个终端设备对对话应答模型进行训练得到的模型参数,所述对话应答模型用于根据实际对话中的上文实际语境生成下文实际应答,所述终端设备采用的用于训练所述对话应答模型的训练样本为与所述终端设备对应的目标用户与其他用户的训练对话,所述训练对话包括上文训练语境和下文训练应答;
第一确定模块,用于根据所述多个终端设备中每个终端设备对应的样本数量,确定所述每个终端设备对应的个性化模型参数的权重;
第二确定模块,用于根据所述每个终端设备对应的个性化模型参数的权重,确定综合模型参数;
发送模块,用于向所述多个终端设备发送所述综合模型参数,以使得所述每个终端设备根据所述综合模型参数和个性化模型参数确定对应的对话应答模型的目标模型参数。
在一些可能的实施方式中,第一确定模块,包括:
第一确定单元,用于根据所述多个终端设备中每个终端设备对应的样本数量确定对应的样本数量区间;
第二确定单元,用于根据所述样本数量区间与个性化模型参数的权重之间的映射关系,确定所述每个终端设备对应的个性化模型参数的权重。
在一些可能的实施方式中,所述样本数量与所述个性化模型参数的权重呈正相关关系。
第四方面,本申请实施例还提供了一种模型参数确定装置,所述装置应用于终端设备,所述装置包括:
获取模块,用于获取对话应答模型的个性化模型参数以及用于训练所述对话应答模型的训练样本,所述训练样本为目标用户与其他用户的训练对话,所述训练对话包括上文训练语境和下文训练应答,所述对话应答模型用于根据实际对话中的上文实际语境为所述目标用户生成下文实际应答;
发送模块,用于向服务器发送所述个性化模型参数和所述训练样本的样本数量,以使得所述服务器根据所述个性化模型参数和所述样本数量得到综合模型参数;
确定模块,用于根据接收到的所述综合模型参数和所述个性化模型参数得到所述对话应答模型的目标模型参数。
在一些可能的实施方式中,所述获取模块,具体用于根据获取的所述训练样本对所述对话应答模型进行训练,得到所述对话应答模型的个性化模型参数。
在一些可能的实施方式中,所述确定模块,具体用于计算出所述综合模型参数与所述个性化模型参数之间的加权调和平均数,并将所述加权调和平均数作为所述对话应答模型的目标模型参数。
在一些可能的实施方式中,所述上文训练语境包括图片、视频或语句中的任意一种或多种;所述获取模块:
第一输入单元,用于将所述上文训练语境中的语句输入到语句向量识别模型中,得到与所述语句对应的语句向量;
第二输入单元,用于将所述上文训练语境中的图片或视频输入到多媒体识别模型中,得到与所述图片或视频对应的多媒体向量;
确定单元,用于根据所述图片、视频或语句在所述上文训练语境中的前后顺序及分别对应的语句向量和\或多媒体向量确定整体向量编码;
训练单元,用于根据所述整体向量编码以及所述下文训练应答对所述对话应答模型进行训练。
在一些可能的实施方式中,所述确定单元,包括:
第一输入子单元,用于将所述语句向量与预设的初始状态编码输入至编码模型,得到所述语句向量与所述初始状态编码对应的第一内部状态编码;
第二输入子单元,用于将所述第一内部状态编码与所述多媒体向量输入至所述编码模型,得到所述第一内部状态编码与所述多媒体向量对应的第二内部状态编码,并将所述第二内部状态编码作为所述整体向量编码。
第五方面,本申请实施例还提供了一种设备,所述设备包括处理器以及存储器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行上述第一方面中任一种实施方式所述的模型参数确定方法或执行上述第二方面中任一种实施方式所述的模型参数确定方法。
第六方面,本申请实施例还提供了一种存储介质,所述存储介质用于存储程序代码,所述程序代码用于执行上述第一方面中任一种实施方式所述的模型参数确定方法或执行上述第二方面中任一种实施方式所述的模型参数确定方法。
在本申请实施例的上述实现方式中,该模型参数确定方法可以应用于终端设备,该终端设备可以获取对话应答模型的个性化模型参数以及用于训练该对话应答模型的训练样本,该训练样本为目标用户与其他用户的训练对话,该训练对话包括上文训练语境和下文训练应答,该对话应答模型用于根据实际对话中的上文实际语境为目标用户生成下文实际应答;然后,终端设备可以向服务器发送该个性化模型参数和训练样本的样本数量,以使得服务器根据该个性化模型参数和样本数量得到综合模型参数,这样,终端设备可以根据接收到的综合模型参数和个性化模型参数得到该对话应答模型的目标模型参数。可见,由于个性化模型参数是根据用户与其他用户的训练对话进行训练得到,而该用户与其他用户之间的训练对话可以反映出用户的个性化对话特点,这使得基于该个性化模型参数确定出对话应答模型的目标模型参数后,最终训练得到的对话应答模型所生成的对话响应能够符合用户个性化的对话特点;同时,用于参与生成目标模型参数的综合模型参数,又是根据多个终端设备各自训练得到的个性化模型参数进行综合处理得到,这使得在训练每个终端设备的对话应答模型的过程中,集成了多个终端设备上用于训练对话应答模型的训练样本,从而增加了每个对话应答模型的训练样本的数据量,使得最终训练得到的对话应答模型所生成的对话响应更加准确。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例中一示例性应用场景示意图;
图2为本申请实施例提供的一种模型参数确定方法的流程示意图;
图3为本申请实施例提供的又一种模型参数确定方法的流程示意图;
图4为本申请实施例提供的一种模型参数确定方法的信令交互示意图;
图5为rnn神经网络示意图;
图6为本申请实施例中月季花的示意图;
图7为本申请实施例提供的一种模型参数确定装置的结构示意图;
图8为本申请实施例提供的又一种模型参数确定装置的结构示意图;
图9为本申请实施例提供的一种设备的硬件结构示意图。
具体实施方式
目前,在研究语聊类的智能对话系统的过程中,生成对话的方法主要包括模板式对话生成、检索式对话生成以及神经网络式对话生成。其中,模板式对话生成,是指预先设定有固定的对话模板,当对话内容匹配到该对话模板时,就可以使用该模板中已经设定好的语句作为生成的对话响应;但是,由于预先设定的模板基本上不可能覆盖所有的对话情况,无法实现覆盖所有对话情况的模板库,因此,基于模板的对话生成方式通常无法满足真正的对话生成需求。而对于检索式对话生成方法,通常会预先建立较为庞大的对话样本库,然后,对于用户输入的一句话,可以通过相似度算法,从对话样本库中检索出与该句话相似度最高的一句话,并将对话样本库中该相似度最高一句话的已有对话应答作为生成的对话响应;但是,基于检索式对话生成方法虽然更具有实用性,但是无法针对于用户个人的个性化特点,生成符合用户特点的个性化对话响应。对于神经网络式对话生成,即通过训练大量的对话样本,使得训练得到的神经网络能够对于用户输入的一句话从无到有的生成相应应答,而并非是利用预先建立的模板库或者对话样本库来生成应答语句;但是,基于神经网络式对话生成方法,同样仅能做到普适性应答,无法产生符合用户特点的个性化对话响应。
基于此,本申请实施例提供了一种模型参数确定方法,通过调整对话应答模型的模型参数,以使得所该对话应答模型基于该模型参数所生成的对话响应符合用户的个性化特点,提高用户的对话体验。具体的,该模型参数确定方法可以应用于终端设备,该终端设备可以获取对话应答模型的个性化模型参数以及用于训练该对话应答模型的训练样本,该训练样本为目标用户与其他用户的训练对话,该训练对话包括上文训练语境和下文训练应答,该对话应答模型用于根据实际对话中的上文实际语境为目标用户生成下文实际应答;然后,终端设备可以向服务器发送该个性化模型参数和训练样本的样本数量,以使得服务器根据该个性化模型参数和样本数量得到综合模型参数,这样,终端设备可以根据接收到的综合模型参数和个性化模型参数得到该对话应答模型的目标模型参数。
可见,由于个性化模型参数是根据用户与其他用户的训练对话进行训练得到,而该用户与其他用户之间的训练对话可以反映出用户的个性化对话特点,这使得基于该个性化模型参数确定出对话应答模型的目标模型参数后,最终训练得到的对话应答模型所生成的对话响应能够符合用户个性化的对话特点;同时,用于参与生成目标模型参数的综合模型参数,又是服务器根据多个终端设备各自训练得到的个性化模型参数进行综合处理得到,这使得在训练每个终端设备的对话应答模型的过程中,集成了多个终端设备上用于训练对话应答模型的训练样本,从而增加了每个对话应答模型的训练样本的数据量,使得最终训练得到的对话应答模型所生成的对话响应更加准确。
作为一种示例,本申请实施例可以应用于如图1所示的示例性应用场景。在该场景中,服务器100可以与多个手机(201、202、203、204)进行有线或者无线连接,并且,各个手机可以将用户与其他用户之间的聊天数据作为训练对话应答模型的训练样本,该聊天数据包括上文语境和下文应答,各个手机可以基于各自用户与其他用户之间的聊天数据,对各自的对话应答模型进行训练,得到具有相应个性化模型参数的对话应答模型。以训练手机201上的对话应答模型为例,手机201可以将自身训练得到的对话应答模型中的个性化模型参数以及训练样本的数量发送给服务器100,并且,其余手机也可以将自身对应的个性化模型参数以及训练样本的数量发送给服务器100;服务器100可以根据接收到的各个手机对应的样本数量,确定每个手机对应的个性化模型参数的权重,然后,服务器100根据接收到的各个手机的个性化模型参数以及相应的权重,计算出综合模型参数,并将综合模型参数发送给手机201;手机201接收到该综合模型参数后,根据该综合模型参数以及个性化模型参数,可以确定出对话应答模型的目标模型参数,以完成手机201上对对话应答模型的训练。
可以理解的是,上述场景仅是本申请实施例提供的一个场景示例,本申请实施例并不限于此场景。比如,在其它可能的应用场景中,与服务器连接的终端设备不限于上述示例的手机201,也可以是电脑、家用智能聊天机器人等;或者,终端设备与服务器之间的网络结构也可以是采用其它网络架构等。总之,本申请实施例可以应用于任何可适用的应用场景中,而不局限于上述场景示例。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参阅图2,图2示出了本申请实施例中一种模型参数确定方法的流程示意图,该方法可以应用于如图1所示的服务器中,该方法具体可以包括:
s201:服务器接收多个终端设备中每个终端设备分别发送的个性化模型参数和样本数量,其中,个性化模型参数为每个终端设备对对话应答模型进行训练得到的模型参数,该对话应答模型用于根据实际对话中的上文实际语境生成下文实际应答,并且,该终端设备采用的用于训练对话应答模型的训练样本为与该终端设备对应的目标用户与其他用户的训练对话,该训练对话包括上文训练语境和下文训练应答。
本实施例中,可以基于神经网络式对话生成方法,训练出能够生成符合用户个性化特点的对话响应的对话应答模型。可以理解,由于用户与其他用户之间的对话,如聊天信息等,可以反映出该用户的个性化对话特点,因此,在生成该对话应答模型的过程中,终端设备可以先采集目标用户与其他用户之间的对话数据(以下称之为训练对话),并将该训练对话整理成用于训练对话应答模型的训练样本,其中,该训练对话包括上文训练语境以及下文训练应答;然后,可以将训练样本中的上文训练语境作为对话应答模型的输入,并将下文训练应答作为对话应答模型的输出,对对话应答模型进行训练。
这样,所训练得到的对话应答模型,可以用于根据实际对话中的上文实际语境生成下文实际应答。例如,假设用户在终端设备上语音输入“你觉得这张图片好看么”,则终端设备上的对话应答模型基于用户的语音输入内容生成下文实际应答“我觉得它贼好看”等。
实际应用中,由于目标用户与其他用户的训练对话的数据量相对较少,因此,仅基于该训练对话所训练得到的对话应答模型可能因为训练样本较少而存在不准确的问题。为此,本实施例中,终端设备可以将所训练得到的对话应答模型中的模型参数(以下称之为个性化模型参数)发送给服务器,由服务器解决对话应答模型的训练样本不足的问题。
具体实现时,服务器可以与多个终端设备之间进行通信连接,并且,每个终端设备均可以向服务器发送自己所训练得到的对话应答模型中的个性化模型参数以及用于训练该对话应答模型训练样本的数量(以下称之为样本数量)。这样,服务器可以接收到多个终端设备中每个终端设备分别发送的个性化模型参数以及样本数量,以便根据多个终端设备的个性化模型参数以及样本数量,对终端设备上的对话应答模型继续进行训练。
值得注意的是,训练对话应答模型的过程,也即为训练(或者说不断调整)对话应答模型中的模型参数的过程。当对话应答模型训练完成后,该对话应答模型中的模型参数能够使得该对话应答模型达到预期功能,如实现对输入的上文实际语境产生下文实际应答等,或者所产生的下文实际应答的准确率达到预期标准等。相应的,若集成多个终端设备各自训练得到的个性化模型参数得到对话应答模型的模型参数,可以认为在训练该对话应答模型时集成了多个终端设备上的训练样本数据对该对话应答模型进行训练。
s202:服务器根据多个终端设备中每个终端设备对应的样本数量,确定每个终端设备对应的个性化模型参数的权重。
本实施例中,服务器在集成多个终端设备对应的个性化模型参数进行处理时,可以根据每个终端设备在训练对话应答模型时所使用的训练样本的样本数量,为该终端设备的个性化模型参数设置相应的权重。其中,训练对话应答模型所使用的样本数量越大,表明该对话应答模型所使用的训练样本数据越多,相应的,所训练得到的对话应答模型的准确性也会相对越高(或者理解为该对话应答模型所生成的对话应答越可靠),则,可以为该个性化模型参数设置较大的权重;反之,训练对话应答模型所使用的样本数量越小,所训练得到的对话应答模型的准确性可能相对越低,则可以为该个性化模型参数设置较小的权重。
s203:服务器根据每个终端设备对应的个性化模型参数的权重,确定综合模型参数。
本实施例中,服务器在为每个终端设备的个性化模型参数设置相应的权重后,可以基于这些个性化模型参数以及相应的权重,计算出综合模型参数。作为一种示例,可以对各个个性化模型参数进行加权求和,得到综合模型参数。例如,假设服务器接收到3个终端设备发送的个性化模型参数,分别为i1、i2以及i3,并且各个个性化模型参数的权重之和为1,各个个性化模型参数对应的权重分别为w1、w2以及w3,则综合模型参数i综合可以基于公式(1)计算得到。其中,公式(1)如下:
i综合=i1×w1+i2×w2+i3×w3(1)
s204:服务器向多个终端设备发送该综合模型参数,以使得每个终端设备根据该综合模型参数和个性化模型参数确定对应的对话应答模型的目标模型参数。
服务器在确定出综合模型参数后,可以将该综合模型参数下发给各个终端设备。这样,终端设备可以基于接收到的综合模型参数以及自己对对话应答模型进行训练后所得到的个性化模型参数,确定该对话应答模型最终的模型参数,即上述目标模型参数。
作为一种示例,终端设备在接收到综合模型参数后,可以根据公式(2)计算出综合模型参数与个性化模型参数之间的加权调和平均数,并将所计算出的加权调和平均数作为目标模型参数。其中,公式(2)如下:
其中,i目标为目标模型参数,i个性化为个性化模型参数,i综合为综合模型参数,δ1为个性化模型参数的权重值,δ2为综合模型参数的权重值。在一种示例中,δ1与δ2的和可以为1,并且δ1为0.3,δ2为0.7。
值得注意的是,本实施例中,是通过综合模型参数来实现对对话应答模型的训练样本的扩充,这相比于直接获取多个终端设备上的训练样本,并基于训练样本在服务器上训练得到相应的综合模型参数的实施方式而言,数据处理不仅简单,而且在终端设备和服务器之间无法传输大量的用户间的训练对话,从而不仅可以节省数据传输资源,还可以避免用户的训练对话数据在传输过程中发生泄漏,提高了用户数据的隐私安全。
本实施例中,服务器可以接收多个终端设备中每个终端设备分别发送的个性化模型参数和样本数量,其中,该个性化模型参数为每个移动终端对对话应答模型进行训练得到的模型参数,该对话应答模型用于根据实际对话中的上文实际语境生成下文实际应答,并且,该终端设备采用的用于训练对话应答模型的训练样本为与终端设备对应的目标用户与其他用户的训练对话,而该训练对话包括上文训练语境和下文训练应答,并且,服务器所接收到的样本数量为训练样本的数量;然后,服务器可以根据多个终端设备中每个终端设备对应的样本数量,确定每个终端设备对应的个性化模型参数的权重,并且,根据每个终端设备对应的个性化模型参数的权重,可以进一步确定出综合模型参数;接着,服务器可以向多个终端设备发送所确定出的综合模型参数,这样,每个终端设备可以根据接收到的综合模型参数以及个性化模型参数确定出对应的对话应答模型的目标模型参数。可见,由于个性化模型参数是根据用户与其他用户的训练对话进行训练得到,而该用户与其他用户之间的训练对话可以反映出用户的个性化对话特点,这使得基于该个性化模型参数确定出对话应答模型的目标模型参数后,最终训练得到的对话应答模型所生成的对话响应能够符合用户个性化的对话特点;同时,用于参与生成目标模型参数的综合模型参数,又是根据多个终端设备各自训练得到的个性化模型参数进行综合处理得到,这使得在训练每个终端设备的对话应答模型的过程中,集成了多个终端设备上用于训练对话应答模型的训练样本,从而增加了每个对话应答模型的训练样本的数据量,使得最终训练得到的对话应答模型所生成的对话响应更加准确。
此外,本申请实施例还提供了另一种模型参数确定方法。参阅图3,图3示出了本申请实施例中另一种模型参数确定方法的流程示意图,该方法可以应用于终端设备,该方法具体可以包括:
s301:终端设备获取对话应答模型的个性化模型参数以及用于训练所述对话应答模型的训练样本,所述训练样本为目标用户与其他用户的训练对话,所述训练对话包括上文训练语境和下文训练应答,所述对话应答模型用于根据实际对话中的上文实际语境为所述目标用户生成下文实际应答。
在一种示例性的具体实施方式中,由于用户与其他用户之间的对话,可以反映出该用户的个性化对话特点,因此,在训练对话应答模型的过程中,终端设备可以先采集目标用户与其他用户之间的训练对话,以便于将所获取的训练对话作为用于对对话应答模型进行训练的训练样本。其中,该训练对话包括上文训练语境以及下文训练应答。比如,目标用户在与其他用户之间可以存在这样的对话数据:“你觉得这张图片怎么样”(其他用户发问),“贼好看”(目标用户应答),则终端设备可以采集该对话数据,并将“你觉得这张图片怎么样”确定为训练样本中的上文训练语境,将“贼好看”确定为训练样本中的下文训练应答。
然后,终端设备可以根据训练样本对对话应答模型进行训练,得到对话应答模型的个性化模型参数,其中,该对话应答模型用于根据实际对话中的上文实际语境为目标用户生成下文实际应答。
具体实现是,终端设备可以将训练对话中的上文训练语境作为对话应答模型的输入,将训练对话中的下文训练应答作为对话应答模型的输出,以此对对话应答模型进行训练。训练完成后,可以得到该对话应答模型的个性化模型参数。
完成对话应答模型的训练后,当目标用户在终端设备上输入上文实际语境,则终端设备可以基于该对话应答模型为该目标用户输出相应的下文实际应答。比如,目标用户可以语音输入上文实际语境:“你觉得这幅画怎么样”,终端设备可以基于该对话应答模型输出下文实际应答:“贼好看”等。
可以理解,实际应用中,由于目标用户与其他用户的训练对话的数据量相对较少,因此,仅基于该训练对话所训练得到的对话应答模型可能因为训练样本较少而存在不准确的问题。为此,本实施例中,终端设备可以将所训练得到的对话应答模型中的个性化模型参数发送给服务器,由服务器解决对话应答模型的训练样本不足的问题。
s302:终端设备向服务器发送个性化模型参数以及训练样本的样本数量,以使得服务器根据该个性化模型参数和样本数量得到的综合模型参数。
本实施例中,服务器在解决对话应答模型的训练样本不足的问题时,可以是通过集成多个终端设备的个性化模型参数并对其进行处理而实现。可以理解,训练对话应答模型的过程,也即为训练(或者说不断调整)对话应答模型中的模型参数的过程。因此,若服务器集成多个终端设备各自训练得到的个性化模型参数得到对话应答模型的模型参数,则可以认为在训练该对话应答模型时集成了多个终端设备上的训练样本数据对该对话应答模型进行训练。
基于此,终端设备可以向服务器发送个性化模型参数,以便服务器对该终端设备的个性化模型参数以及其他终端设备的个性化模型参数进行集成处理。
值得注意的是,本实施例中,服务器在处理个性化模型参数时,可以考虑各个终端设备训练对话应答模型时所使用的训练样本的数量。可以理解,训练样本的数量越高,则所训练得到的对话应答模型生成对话响应的准确性也相对较高,也即为该对话应答模型越可靠,则可以为该对话应答模型的个性化模型参数设置较大的权重,使得其对于最终生成的综合模型参数的影响能力相对更大。反之,训练样本的数量越低,则所训练得到的对话应答模型生成对话响应的准确性也相对较低,则可以为该对话应答模型的个性化模型参数设置较小的权重。
因此,终端设备在向服务器发送个性化模型参数时,还可以发送训练对话应答模型时所使用的训练样本的样本数量,以便于服务器基于该样本数量为相应的个性化模型参数设置权重。
本实施例中,服务器可以根据接收到的各个终端设备发送的个性化模型参数以及相应的样本数量,生成相应的综合模型参数。具体的,服务器可以根据每个终端设备的用于训练对话应答模型的训练样本的样本数量,为该终端设备对应的个性化模型参数设置相应权重,然后,服务器可以基于各个终端设备的个性化模型参数以及相应的权重,计算出综合模型参数,并将所计算得到的综合模型参数发送给各个终端设备,以使得终端设备可以接收到服务器根据个性化模型参数和样本数量得到的综合模型参数。
s303:终端设备根据接收到的综合模型参数以及个性化模型参数得到对话应答模型的目标模型参数。
本实施例中,终端设备在接收到综合模型参数后,可以根据该综合模型参数以及自己所训练得到的对话应答模型中的个性化模型参数,计算出目标模型参数,则最终训练得到的对话应答模型的模型参数即为该目标模型参数,从而完成对话应答模型的训练。
可以理解,由于综合模型参数是服务器集成了多个终端设备的个性化模型参数进行处理所得到的,而每个个性化模型参数是相应终端设备使用自己的训练样本对对话应答模型进行训练而得到,这使得终端设备所接收到的综合模型参数,是基于多个终端设备上的训练样本进行得到。从而,终端设备再基于该综合模型参数以及自己的个性化模型参数,确定对话应答模型的目标模型参数后,可以视为具有该目标模型参数对话应答模型是由多个终端设备上的训练样本对该对话应答模型进行训练而得到的,从而也就解决了训练样本不足的问题,使得最终所训练得到的对话应答模型所产生的对话响应的准确性更高。而且,目标模型参数中也集成了基于目标用户与其他用户的训练对话而得到的个性化模型参数,这使得最终所训练得到的对话应答模型所产生的对话响应可以符合用户的个性化对话特点,从而可以提高目标用户的对话体验。
此外,本申请实施例还提供了又一种模型参数确定方法。参阅图4,图4示出了本申请实施例一种模型参数确定方法的信令交互示意图,该方法由终端设备和服务器协同配合完成,该方法具体可以包括:
s401:终端设备获取用于训练对话应答模型的训练样本,其中,该训练样本为目标用户与其他用户的训练对话,该训练对话包括上文训练语境以及下文训练应答。
本实施例中,为了使得最终训练得到的对话应答模型所生成的对话响应能够满足用户的个性化对话需求,终端设备可以先采集目标用户与其他用户之间的训练对话,以便于将所获取的训练对话作为用于对对话应答模型进行训练的训练样本。其中,该训练对话包括上文训练语境以及下文训练应答。
s402:终端设备根据训练样本对对话应答模型进行训练,得到对话应答模型的个性化模型参数,其中,该对话应答模型用于根据实际对话中的上文实际语境为目标用户生成下文实际应答。
本实施例中,终端设备在利用训练样本对对话应答模型进行训练时,具体可以是将训练对话中的上文训练语境作为对话应答模型的输入,将训练对话中的下文训练应答作为对话应答模型的输出,以此对对话应答模型进行训练。训练完成后,可以得到该对话应答模型的个性化模型参数。
值得注意的是,对于终端设备所采集的训练样本中的上文训练语境,其可以是语句、图片以及视频中的任意一种或者多种。作为一种示例性的具体实施方式,在利用训练样本训练对话应答模型时,当上文训练语境中包含语句时,可以将该语句输入到语句向量识别模型中,得到与该语句对应的语句向量,当上文训练语境中包含图片和/或视频时,可以将该图片和.或视频输入到多媒体识别模型中,得到对于该图片和/或视频对应的多媒体向量,然后,根据该图片、视频或语句在该上文训练语境中的前后顺序即分别对应的语句向量和/或多媒体向量,可以确定出整体向量编码,从而根据该整体向量编码以及下文训练应答中之前的下文应答得到该下文训练应答中的当前下文应答。按照上述过程,可以利用上文训练语境以及下文训练应答完成对该对话应答模型的训练。
在将上文训练语境输入至对话应答模型的过程中,若上文训练语境包括多条语句,则在利用该多条语句对对话应答模型进行训练时,可以将该多条语句中的每条语句分别生成对应的句向量,并根据多条语句中每条语句对应的句向量对对话应答模型进行训练。值得注意的是,将每条语句对应的句向量输入对话应答模型中(也即为将上文训练语境一句话一句话的输入对话应答模型中),这相比于将每条语句中的每个词的词向量依次输入对话应答模型而言,可以缩短输入的线性序列,从而可以提高对话应答模型的训练以及实际使用效果。可以理解,如果将上文训练语境包括的多条语句,全都是以词为单位输入对话应答模型,(即一个词一个词输入至对话应答模型),则线性序列的前段部分的词的特征会被压缩殆尽,导致最后的语义编码中,并没有很好地保留全部上文的特征。而以语句为单位进行输入(即一句话一个句话的输入至对话应答模型)时,每条语句形成相应的特征,不仅能够保证整条语句的特征保留下来,而且输入到对话应答模型中特征数量相对较少,线性序列较短,从而可以使得这些语句对应的特征能够较好的保留到语义编码中。
当上文训练语境同时包括语句、图片以及视频中的至少两种时,则可以按照语境顺序,依次将其输入至对话应答模型中。比如,假设上文训练语境同时包括语句以及图片,并且,语句在上文训练语境中的语境顺序位于图片之前,则可以先将该语句输入至对话应答模型中的语句向量识别模型,从而得到该语句对应的语句向量,并将该句向量输入至对话应答模型中的编码模型中;然后,再将图片输入至对话应答模型中的多媒体识别模型,从而得到该图片对应的多媒体向量,并将该多媒体向量输入至对话应答模型中的编码模型中。当然,根据语句生成句向量这一步骤可以与对图片进行特征提取这一步骤同时进行,而仅在输入时存在先后顺序等。
作为一种示例,在确定整体向量编码的过程中,可以将语句向量模型输出的语句向量与预设的初始状态编码输入至编码模型中,并由该编码模型根据语句向量与初始状态编码计算得到第一内部状态编码;然后,可以将该第一内部状态编码与多媒体向量输入至编码模型,并由该编码模型根据该第一内部状态编码与多媒体向量计算得到第二内部状态编码,并将该第二内部状态编码作为上述整体向量编码。
下面结合举例进行说明,终端设备所需训练的对话应答模型具体可以是由rnn(recurrentneuralnetwork,循环神经网络)实现,如图5所示。若上文训练语境中包括两个语句(分别为c1以及c2)以及一张图片(ct),则在训练该rnn时,可以先将语句c1通过一级rnn网络转换为句向量b1,并将该b1输入至二级编码rnn中;二级编码rnn对rnn的初始状态a0以及该b1计算得到内部状态a1;然后,将语句c2通过一级rnn网络转换为句向量b2,并将该b2输入至二级编码rnn中;二级编码rnn对内部状态a1以及该b2计算得到内部状态a2;接着,可以通过一级cnn(convolutionalneuralnetworks,卷积神经网络)提取图片ct的图片特征,得到该ct的图片特征,即向量bt,并将该bt输入至二级编码rnn中;二级编码rnn对内部状态a2以及该bt计算得到内部状态at,其中,at即为基于c1、c2以及ct所得到的整体向量表示,也即为语义编码d。进一步的,rnn得到语义编码d后,可以通过解码rnn生成相应的对话应答。具体的,解码rnn可以根据语义编码d输出单词d1,然后,根据语义编码d以及之前已经生成的输出序列d1输出(预测)下一个输出的单词d2,以此类推,产生d1,d2,…,dt的输出序列等。
基于上述训练过程,可以训练得到对话应答模型。则该对话应答模型可以根据实际对话中的上文实际语境为用户生成下文实际应答。
例如,假设上文实际语境如下:
其他用户:“这是什么花啊?”
其他用户:“我怎么想不起来了?”
其他用户:附图6。
则,利用训练得到的对话应答模型可以生成下文实际应答:“这是月季呀,傻瓜”。
s403:终端设备向服务器发送个性化模型参数以及训练样本的样本数量。
s404:服务器根据接收到的每个终端设备对应的样本数量,确定每个终端设备对应的个性化模型参数的权重。
本实施例中,服务器在集成多个终端设备对应的个性化模型参数进行处理时,可以根据每个终端设备在训练对话应答模型时所使用的训练样本的样本数量,为该终端设备的个性化模型参数设置相应的权重。作为一种示例,在为个性化模型参数设置权重时,样本数量与个性化模型参数的权重之间可以呈正相关关系,即训练对话应答模型所使用的样本数量越大,则为该个性化模型参数所设置的权重值也越大;反之,训练对话应答模型所使用的样本数量越小,则为该个性化模型参数所设置的权重值也越小。
在一种为个性化模型参数设置权重的示例性具体实施方式中,服务器可以根据多个终端设备中每个终端设备对应的样本数量确定对应的样本数量区间,比如,可以将这些样本数量划分为“多”、“中”和“少”三个样本数据量区间等,其中,不同样本数据区间不存在重叠;然后,服务器可以根据样本数量区间与个性化模型参数的权重之间的映射关系,确定每个终端设备对应的个性化模型参数的权重,从而完成每个个性化模型参数的权重设置。
例如,假设服务器接收到4个终端设备发送的样本数量,并且各样本数量分别为500条(终端设备a)、450条(终端设备b)、280条(终端设备c)以及150条(终端设备d),则可以将根据这些样本数量确定“多”、“中”和“少”三个样本数据量区间。其中,“多”这一样本数量区间为(350,500],“中”这一样本数量区间为(200,350],少这一样本数量区间为[0,200]。则可以为终端设备a以及终端设备b对应的个性化模型参数设置权重值为0.5,为终端设备c对应的个性化模型参数设置权重值为0.3,为终端设备d对应的个性化模型参数设置权重值为0.2。
s405:服务器根据每个终端设备对应的个性化模型参数的权重,确定综合模型参数。
本实施例中,服务器在为每个终端设备的个性化模型参数设置相应的权重后,可以基于这些个性化模型参数以及相应的权重,计算出综合模型参数。其中,根据个性化模型参数以及对应的权重计算出综合模型参数的过程存在多种可能的实施方式。本实施例中,具体可以是可以对各个个性化模型参数进行加权求和,得到综合模型参数。
仍以上述服务器与4个终端设备连接为例进行说明。对于终端设备a以及终端设备b对应的个性化模型参数ia和ib,其权重值为0.5,对于终端设备c对应的个性化模型参数ic,其权重值为0.3,对于终端设备d对应的个性化模型参数id,其权重值为0.2,则在计算出综合模型参数i综合时,可以根据公式(3)进行计算得到。
i综合=iab×0.5+ic×0.3+id×0.2(3)
其中,iab为个性化模型参数ia和ib的平均值。
s406:服务器向终端设备发送该综合模型参数。
本实施例中,服务器在确定出综合模型参数后,可以将该综合模型参数下发给各个终端设备,以便于终端设备可以基于接收到的综合模型参数完成对对话应答模型的最终训练。
s407:终端设备根据接收到的综合模型参数以及个性化模型参数得到对话应答模型的目标模型参数。
本实施例中,终端设备在接收到综合模型参数后,可以根据该综合模型参数以及自己所训练得到的对话应答模型中的个性化模型参数,计算出目标模型参数,则最终训练得到的对话应答模型的模型参数即为该目标模型参数,从而完成对话应答模型的训练。
具体实现时,终端设备在接收到综合模型参数后,可以计算出综合模型参数与个性化模型参数之间的加权调和平均数,并将所计算出的加权调和平均数作为目标模型参数。
本实施例中,由于综合模型参数是服务器集成了多个终端设备的个性化模型参数进行处理所得到的,而每个个性化模型参数是相应终端设备使用自己的训练样本对对话应答模型进行训练而得到,这使得终端设备所接收到的综合模型参数,是基于多个终端设备上的训练样本进行得到。从而,终端设备再基于该综合模型参数以及自己的个性化模型参数,确定对话应答模型的目标模型参数后,可以视为具有该目标模型参数对话应答模型是由多个终端设备上的训练样本对该对话应答模型进行训练而得到的,从而也就解决了训练样本不足的问题,使得最终所训练得到的对话应答模型所产生的对话响应的准确性更高。而且,目标模型参数中也集成了基于目标用户与其他用户的训练对话而得到的个性化模型参数,这使得最终所训练得到的对话应答模型所产生的对话响应可以符合用户的个性化对话特点,从而可以提高目标用户的对话体验。
此外,本申请实施例还提供了一种模型参数确定装置。参阅图7,图7示出了本申请实施例中一种模型参数确定装置,该装置700可以应用于服务器,该装置700包括:
接收模块701,用于接收多个终端设备中每个终端设备分别发送的个性化模型参数和样本数量,所述个性化模型参数为所述每个终端设备对对话应答模型进行训练得到的模型参数,所述对话应答模型用于根据实际对话中的上文实际语境生成下文实际应答,所述终端设备采用的用于训练所述对话应答模型的训练样本为与所述终端设备对应的目标用户与其他用户的训练对话,所述训练对话包括上文训练语境和下文训练应答;
第一确定模块702,用于根据所述多个终端设备中每个终端设备对应的样本数量,确定所述每个终端设备对应的个性化模型参数的权重;
第二确定模块703,用于根据所述每个终端设备对应的个性化模型参数的权重,确定综合模型参数;
发送模块704,用于向所述多个终端设备发送所述综合模型参数,以使得所述每个终端设备根据所述综合模型参数和个性化模型参数确定对应的对话应答模型的目标模型参数。
在一些可能的实施方式中,第一确定模块702,包括:
第一确定单元,用于根据所述多个终端设备中每个终端设备对应的样本数量确定对应的样本数量区间;
第二确定单元,用于根据所述样本数量区间与个性化模型参数的权重之间的映射关系,确定所述每个终端设备对应的个性化模型参数的权重。
在一些可能的实施方式中,所述样本数量与所述个性化模型参数的权重呈正相关关系。
值得注意的是,本实施例所述的模型参数确定装置,对应于上述方法实施例中所述的模型参数确定方法,本实施例中的各模块、单元的具体实施方式,可参见前述方法实施例中的相关之处描述即可,在此不做赘述。
此外,本申请实施例还提供了一种模型参数确定装置。参阅图8,图8示出了本申请实施例中又一种模型参数确定装置的结构示意图,该装置800应用于终端设备,该装置800包括:
获取模块801,用于获取对话应答模型的个性化模型参数以及用于训练所述对话应答模型的训练样本,所述训练样本为目标用户与其他用户的训练对话,所述训练对话包括上文训练语境和下文训练应答,所述对话应答模型用于根据实际对话中的上文实际语境为所述目标用户生成下文实际应答;
发送模块802,用于向服务器发送所述个性化模型参数和所述训练样本的样本数量,以使得所述服务器根据所述个性化模型参数和所述样本数量得到综合模型参数;
确定模块803,用于根据接收到的所述综合模型参数和所述个性化模型参数得到所述对话应答模型的目标模型参数。
在一些可能的实施方式中,所述获取模块801,具体用于根据获取的所述训练样本对所述对话应答模型进行训练,得到所述对话应答模型的个性化模型参数。
在一些可能的实施方式中,所述确定模块803,具体用于计算出所述综合模型参数与所述个性化模型参数之间的加权调和平均数,并将所述加权调和平均数作为所述对话应答模型的目标模型参数。
在一些可能的实施方式中,所述上文训练语境包括图片、视频或语句中的任意一种或多种;所述获取模块801:
第一输入单元,用于将所述上文训练语境中的语句输入到语句向量识别模型中,得到与所述语句对应的语句向量;
第二输入单元,用于将所述上文训练语境中的图片或视频输入到多媒体识别模型中,得到与所述图片或视频对应的多媒体向量;
确定单元,用于根据所述图片、视频或语句在所述上文训练语境中的前后顺序及分别对应的语句向量和\或多媒体向量确定整体向量编码;
训练单元,用于根据所述整体向量编码和所述下文训练应答中之前的下文应答得到所述下文训练应答中的当前下文应答。
在一些可能的实施方式中,所述确定单元,包括:
第一输入子单元,用于将所述语句向量与预设的初始状态编码输入至编码模型,得到所述语句向量与所述初始状态编码对应的第一内部状态编码;
第二输入子单元,用于将所述第一内部状态编码与所述多媒体向量输入至所述编码模型,得到所述第一内部状态编码与所述多媒体向量对应的第二内部状态编码,并将所述第二内部状态编码作为所述整体向量编码。
值得注意的是,本实施例所述的模型参数确定装置,对应于上述方法实施例中所述的模型参数确定方法,本实施例中的各模块、单元的具体实施方式,可参见前述方法实施例中的相关之处描述即可,在此不做赘述。
另外,本申请实施例还提供了一种设备。参阅图9,图9示出了本申请实施例中一种设备的硬件结构示意图,该设备900包括处理器901以及存储器902:
所述存储器902用于存储程序代码,并将所述程序代码传输给所述处理器901;
所述处理器901用于根据所述程序代码中的指令执行上述方法实施例中所述的模型参数确定方法。
此外,本申请实施例还提供了一种存储介质,所述存储介质用于存储程序代码,所述程序代码用于执行上述方法实施例中所述的模型参数确定方法。
本申请实施例中提到的“第一确定模块”、“第一训练单元”等名称中的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”等。
当介绍本申请的各种实施例的元件时,冠词“一”、“一个”、“这个”和“所述”都意图表示有一个或多个元件。词语“包括”、“包含”和“具有”都是包括性的并意味着除了列出的元件之外,还可以有其它元件。
需要说明的是,本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元及模块可以是或者也可以不是物理上分开的。另外,还可以根据实际的需要选择其中的部分或者全部单元和模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。