对话生成模型的确定方法及装置、存储介质、电子设备与流程

文档序号:18755415发布日期:2019-09-24 22:13阅读:162来源:国知局
对话生成模型的确定方法及装置、存储介质、电子设备与流程

本公开涉及人工智能技术领域,具体而言,涉及一种对话生成模型的确定方法、对话生成模型的确定装置,以及实现上述对话生成模型的确定方法的计算机可读存储介质和电子设备。



背景技术:

对话生成模型一般可应用于智能机器人中,例如可以与用户交流的智能音箱、或者导航机器人等,还可以应用于闲聊系统中。具体的,对于用户提出问题语音,对话生成模型根据语音确定查询文本并作为模型的输入,进一步地,基于上述查询文本进行内部运算,确定对用户提出问题的回复,进而将回复作为模型输出反馈给用户。一般的,对话生成模型一般采用序列到序列(sequencetosequence,简称:seq2seq)模型实现上述对话功能(即,短文本回复功能)。

对于相关技术中提供的对话生成模型,一般采用极大似然估计(maximumlikelihoodestimate,简称:mle)算法进行训练,训练后的对话生成模型中,其查询文本到生成回复为“一对一”关系。也就是说,相关技术提供的对话生成模型倾向于生成高频和通用的回复,例如:对于用户的问题,对话生成模型产生通用无意义的回复:“我不知道”、“我不知道你在说什么”等等。

可见,相关技术提供的对话生成模型生成的回复内容单一、缺乏信息量,无法准确对用户提出的问题进行有效答复,造成用户对话体验不佳。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

本公开的目的在于提供一种对话生成模型的确定方法、对话生成模型的确定装置、电子设备以及计算机可读存储介质,进而在一定程度上克服由于相关技术中对话生成模型生成的回复内容单一、缺乏信息量,导致无法准确对用户提出的问题进行有效答复,进而造成用户对话体验不佳的问题。

根据本公开的第一方面,提供一种对话生成模型的确定方法,所述方法包括:获取多组训练样本,每组所述训练样本包括第一输入信息和目标回复信息;基于所述第一输入信息和所述目标回复信息,根据词库确定第一目标词语,并根据所述第一目标词语确定第一隐变量;基于所述第一隐变量训练所述对话生成模型;其中,所述词库为对话文本的词集合。

在本公开的一种示例性实施例中,基于前述实施例,所述基于所述第一输入信息和所述目标回复信息,根据词库确定第一目标词语,并根据所述第一目标词语确定第一隐变量,包括:对所述词库中的词语进行聚类,得到多个词簇;根据所述第一输入信息和所述目标回复信息确定上下文信息;根据所述上下文信息对所述多个词簇进行采样,得到第一目标词簇;根据所述上下文信息对所述第一目标词簇进行采样,确定第一目标词语;根据所述第一目标词簇和所述第一目标词语确定所述第一隐变量。

在本公开的一种示例性实施例中,基于前述实施例,所述根据所述第一输入信息和所述目标回复信息确定上下文信息,包括:基于神经网络模型,确定所述第一输入信息对应的第一向量,以及确定所述目标回复信息对应的第二向量;组合所述第一向量和所述第二向量确定所述上下文信息对应的上下文向量。

在本公开的一种示例性实施例中,基于前述实施例,所述对话生成模型包括:编码网络和解码网络;其中,所述基于所述第一隐变量训练所述对话生成模型,包括:通过所述编码网络对所述第一输入信息进行处理,确定第一语义向量;根据所述第一语义向量初始化所述解码网络中循环神经网络模型的第一初始隐状态;根据所述第一初始隐状态和所述第一隐变量确定所述解码网络中循环神经网络模型的第一计算隐状态,以基于所述第一计算隐状态实现对所述对话生成模型的训练。

在本公开的一种示例性实施例中,基于前述实施例,在所述基于所述第一隐变量训练所述对话生成模型之后,所述方法还包括:获取第二输入信息作为所述对话生成模型的测试样本;基于所述第二输入信息,根据所述词库确定第二目标词语,并根据所述第二目标词语确定第二隐变量;基于所述第二隐变量测试所述训练后的对话生成模型。

在本公开的一种示例性实施例中,基于前述实施例,所述基于所述第二输入信息,根据所述词库确定第二目标词语,并根据所述第二目标词语确定第二隐变量,包括:对所述词库中的词语进行聚类,得到多个词簇;根据所述第二输入信息对所述多个词簇进行采样,得到第二目标词簇;根据所述第二输入信息对所述第二目标词簇进行采样,确定第二目标词语;根据所述第二目标词簇和所述第二目标词语确定所述第二隐变量。

在本公开的一种示例性实施例中,基于前述实施例,所述对话生成模型包括:编码网络和解码网络;其中,所述基于所述第二隐变量测试所述训练后的对话生成模型,包括:通过所述编码网络对所述第二输入信息进行处理,确定第二语义向量;根据所述第二语义向量初始化所述解码网络中循环神经网络模型的第二初始隐状态;根据所述第二初始隐状态和所述第二隐变量确定所述解码网络中循环神经网络模型的第二计算隐状态,以基于所述第二计算隐状态实现对所述对话生成模型的测试。

在本公开的一种示例性实施例中,基于前述实施例,所述基于所述第一隐变量训练所述对话生成模型,包括:根据所述第一隐变量对应的第一分布概率,和所述第二隐变量对应的第二概率,计算相对熵;确定所述相对熵为损失函数训练所述对话生成模型。

根据本公开的第二方面,提供一种对话生成模型的确定装置,所述装置包括:训练样本获取模块,被配置为获取多组训练样本,每组所述训练样本包括第一输入信息和目标回复信息;第一隐变量确定模块,被配置为基于所述第一输入信息和所述目标回复信息,根据词库确定第一目标词语,并根据所述第一目标词语确定第一隐变量;模型训练模块,被配置为基于所述第一隐变量训练所述对话生成模型;其中,所述词库为对话文本的词集合。

在本公开的一种示例性实施例中,基于前述实施例,上述第一隐变量确定模块,包括:第一聚类单元、上下文信息确定单元、采样单元和第一隐变量确定单元。其中:上述第一聚类单元被配置为:对所述词库中的词语进行聚类,得到多个词簇;上述上下文信息确定单元被配置为:根据所述第一输入信息和所述目标回复信息确定上下文信息;上述采样单元被配置为:根据所述上下文信息对所述多个词簇进行采样,得到第一目标词簇;以及,还被配置为:根据所述上下文信息对所述第一目标词簇进行采样,确定第一目标词语;上述第一隐变量确定单元被配置为:根据所述第一目标词簇和所述第一目标词语确定所述第一隐变量。

在本公开的一种示例性实施例中,基于前述实施例,上述上下文信息确定单元,具体被配置为:基于神经网络模型,确定所述第一输入信息对应的第一向量,以及确定所述目标回复信息对应的第二向量;以及,组合所述第一向量和所述第二向量确定所述上下文信息对应的上下文向量。

在本公开的一种示例性实施例中,基于前述实施例,所述对话生成模型包括:编码网络和解码网络;上述模型训练模块,包括:语义向量确定子单元、隐状态初始化子单元以及训练子单元;其中:上述语义向量确定子单元被配置为:通过所述编码网络对所述第一输入信息进行处理,确定第一语义向量;上述隐状态初始化子单元被配置为:根据所述第一语义向量初始化所述解码网络中循环神经网络模型的第一初始隐状态;上述训练子单元被配置为:根据所述第一初始隐状态和所述第一隐变量确定所述解码网络中循环神经网络模型的第一计算隐状态,以基于所述第一计算隐状态实现对所述对话生成模型的训练。

在本公开的一种示例性实施例中,基于前述实施例,对话生成模型的确定装置还包括:测试样本获取模块、第二隐变量确定模块以及模型测试模块。其中:上述测试样本获取模块被配置为:获取第二输入信息作为所述对话生成模型的测试样本;上述第二隐变量确定模块被配置为:基于所述第二输入信息,根据所述词库确定第二目标词语,并根据所述第二目标词语确定第二隐变量;上述模型测试模块被配置为:基于所述第二隐变量测试所述训练后的对话生成模型。

在本公开的一种示例性实施例中,基于前述实施例,上述第二隐变量确定模块,包括:第二聚类单元、采样单元和第二隐变量确定单元。其中:上述第二聚类单元被配置为:对所述词库中的词语进行聚类,得到多个词簇;上述采样单元被配置为:根据所述第二输入信息对所述多个词簇进行采样,得到第二目标词簇;以及,还被配置为:根据所述第二输入信息对所述第二目标词簇进行采样,确定第二目标词语;上述第二隐变量确定单元被配置为:根据所述第二目标词簇和所述第二目标词语确定所述第二隐变量。

在本公开的一种示例性实施例中,基于前述实施例,所述对话生成模型包括:编码网络和解码网络;上述模型测试模块,包括:语义向量确定子单元、隐状态初始化子单元以及测试子单元;其中:上述语义向量确定子单元被配置为:通过所述编码网络对所述第二输入信息进行处理,确定第二语义向量;上述隐状态初始化子单元被配置为:根据所述第二语义向量初始化所述解码网络中循环神经网络模型的第二初始隐状态;上述测试子单元被配置为:根据所述第二初始隐状态和所述第二隐变量确定所述解码网络中循环神经网络模型的第二计算隐状态,以基于所述第二计算隐状态实现对所述对话生成模型的测试。

在本公开的一种示例性实施例中,基于前述实施例,上述模型训练模块,具体被配置为:根据所述第一隐变量对应的第一分布概率,和所述第二隐变量对应的第二概率,计算相对熵;以及,确定所述相对熵为损失函数训练所述对话生成模型。

根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任意实施例所述的对话生成模型的确定方法。

根据本公开的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述第一方面中任意实施例所述的对话生成模型的确定方法。

本公开示例性实施例可以具有以下部分或全部有益效果:

在本公开的一示例实施方式所提供的对话生成模型的确定方法中,获取包括第一输入信息和目标回复信息的多组训练样本,进一步地基于成组的训练样本,从词库中确定隐变量,以训练对话生成模型阶段引入隐变量。其中,由于上述隐变量为根据词库确定的,也就是说,本技术方案将词表中的词与隐变量联系起来,从而使得隐变量具有可解释性,以有助于提高模型输出的准确性。进一步地,通过引入上述隐变量进行模型训练得到的对话生成模型,其查询文本到生成回复为“一对多”关系,有利于提高对话生成模型生成回复的多样性,从而能够准确对用户提出的问题进行有效答复,同时减少通用答复或者确认信息量的答复,进而提升用户对话体验。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了可以应用本公开实施例的一种对话生成模型的确定方法及装置的示例性系统架构的示意图;

图2示意性示出了根据本公开的一个实施例的确定对话生成模型的框架示意图;

图3示意性示出了根据本公开的一个实施例的对话生成模型的确定方法的流程图;

图4示意性示出了根据本公开的一个实施例中确定第一隐变量的方法的流程图;

图5示意性示出了根据本公开的一个实施例中确定上下文信息的方法的流程图;

图6示意性示出了根据本公开的一个实施例的模型训练方法的流程示意图;

图7示意性示出了根据本公开的一个实施例的模型测试方法的流程示意图;

图8示意性示出了根据本公开的一个实施例中确定第二隐变量的方法的流程图;

图9示意性示出了根据本公开的另一个实施例的模型测试方法的流程示意图;

图10示意性示出了根据本公开的另一个实施例的模型训练方法的流程示意图;

图11示意性示出了根据本公开的一个实施例的对话生成模型的确定装置的框图;

图12示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。

此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

图1示出了可以应用本公开实施例的一种对话生成模型的确定方法及装置的示例性应用环境的系统架构的示意图。

如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是具有显示屏的各种电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。

本公开实施例所提供的对话生成模型的确定方法一般由服务器105执行,相应地,对话生成模型的确定装置一般设置于服务器105中。但本领域技术人员容易理解的是,本公开实施例所提供的对话生成模型的确定方法也可以由终端设备101、102、103执行,相应的,对话生成模型的确定装置也可以设置于终端设备101、102、103中,本示例性实施例中对此不做特殊限定。举例而言,在一种示例性实施例中,可以是用户通过终端设备101、102、103将输入信息(如,用户的提问信息)上传至服务器105,服务器通过本公开实施例所提供的对话生成模型的确定方法确定一对话生成模型,并基于确定的对话生成模型生成上述输入信息对应的回复信息,并将回复信息传输给终端设备101、102、103等。

以下对本公开实施例的技术方案进行详细阐述:

在相关技术提供的对话生成模型的训练过程中,通常根据输入文本/查询文本来最大化回复文本的似然函数。另外,在对话生成模型的测试过程中,seq2seq模型的解码(decoder)网络通常使用集束搜索(beamsearch)算法来生成回复文本。但是,发明人发现相关技术提供的对话生成模型会频繁生成缺乏信息量的通用回复。

为提高生成回复的多样性,以及增加回复信息量,发明人尝试准则最大化观察序列分布(maximummutualinformation,简称:mmi)来对beamsearch后的多个候选结果进行重排序,从而惩罚通用回复文本。发明人还尝试根据不同的采样权重直接更换数据分布,从而鼓励对话生成模型学习带有一些低频词的训练样本。

然而,对于发明人提供的上述两种尝试方案,均是采用对数据进行后期处理的方式来解决多样性较低的问题。但是,对话生成模型仍然是为输入文本与生成回复为“一对一”的联系,并没有在本质上改变或优化相关技术中提供的对话生成模型。从而,并不能从本质上提高对话生成模型生成回复的多样性,以准确对用户提出的问题进行有效答复,以最终提升用户对话体验。

基于上述一个或多个问题,本示例实施方式提供了一种对话生成模型的确定方法。该对话生成模型的确定方法可以应用于上述服务器105,也可以应用于上述终端设备101、102、103中的一个或多个,本示例性实施例中对此不做特殊限定。图2示意性示出了根据本公开的一实施例的确定对话生成模型的框架示意图。图2从总体上介绍对话生成网络的确定过程。

参考图2,对于对话生成网络,即图示(c)generationnetwork的确定流程包括:训练阶段和测试阶段。示例性的,在对generationnetwork的训练阶段,引入第一隐变量。其中,上述第一隐变量是根据图示(c)posteriornetwork确定的。在对generationnetwork的测试阶段,引入第二隐变量。其中,上述第二隐变量是根据图示(a)priornetwork确定的。相较于相关技术中,模型训练过程中使用mle算法直接进行优化,即模型训练的目标在于优化条件分布p(y|x),其中x为输入文本,y为目标回复,进而相关技术确定的模型为一个查询文本到生成回复的一对一关系的模型。而本技术方案中,通过引入隐变量hz训练模型,使得模型训练目标转向优化条件似然函数的下界,从模型结构的本质上进行了优化,是相关技术模型中查询信息与回复信息之间“一对一”的结构,被优化为“一对多”的结构。

以下将对图示(c)generationnetwork的确定流程进行详细说明。具体的,本文将通过图3-图6以及图10所示实施例具体说明对话生成模型的训练阶段,进一步通过图7-图9所示实施例具体说明对训练后的话生成模型的测试阶段。

首先,参考图3所示,该实施例提供的对话生成模型的训练方法可以包括以下步骤s310至步骤s330:

步骤s310.获取多组训练样本,每组所述训练样本包括第一输入信息和目标回复信息;

步骤s320.基于所述第一输入信息和所述目标回复信息,根据词库确定第一目标词语,并根据所述第一目标词语确定第一隐变量;以及,

步骤s330.基于所述第一隐变量训练所述对话生成模型;其中,所述词库为对话文本的词集合。

在图3所示实施例所提供的对话生成模型的确定方法中,获取包括第一输入信息和目标回复信息的多组训练样本,进一步地基于成组的训练样本,从词库中确定隐变量,以训练对话生成模型阶段引入隐变量。其中,由于上述隐变量为根据词库确定的,也就是说,本技术方案将词表中的词与隐变量联系起来,从而使得隐变量具有可解释性,以有助于提高模型输出的准确性。进一步地,通过引入上述隐变量进行模型训练得到的对话生成模型,其查询文本到生成回复为“一对多”关系,有利于提高对话生成模型生成回复的多样性,从而能够准确对用户提出的问题进行有效答复,同时减少通用答复或者确认信息量的答复,进而提升用户对话体验。

下面,对图3所示示例实施方式的上述步骤的具体实施方式进行详细阐述。

在步骤s310中,获取多组训练样本,每组所述训练样本包括第一输入信息和目标回复信息。

本示例性的实施方式中,在对话生成模型的训练阶段,用于输入对话生成模型的信息为上述第一输入信息,而上述目标回复信息为上对话生成模型输出的信息。

本示例性的实施方式中,上述每组训练样本包括配对的输入信息和目标回复信息。例如,上述第一输入信息为问题a,则同组的目标回复信息为期待对话生成模型输出的回复信息,具体的,可以是关于问题a的回复信息b。

本示例性的实施方式中,上述输入信息/目标回复信息可以是一段语音信息,也可以是一段文本信息。本示例性实施例中对于这些均不做特殊限定。示例性的,以上述输入信息为一段语音为例进行说明。首先需获取语音对应的一段话对应的文本,进一步地,将一段话对应的文本进行分词处理获取多个词文本。更进一步地,可以通过词嵌入技术将上述文本进行数值化,以方便拟合算法。最终根据词嵌入技术确定多个数值化的wordembedding。

示例性的,输入信息为文本:知识就是力量。首先,经过分词并以空格分隔每个词得到:知识就是力量。然后通过词嵌入技术将每个词用向量来表示。

在步骤s320中,基于所述第一输入信息和所述目标回复信息,根据词库确定第一目标词语,并根据所述第一目标词语确定第一隐变量。

本示例性的实施方式中,引入上述第一隐变量,用于训练上述对话生成模型,以使得以优化模型结构,使得在训练后的对话生成模型中,其查询文本到生成回复为“一对多”关系,从而提高模型输出的多样性。

本示例性的实施方式中,将引入的隐变量与词表中的词联系起来,从而使得隐变量具有可解释性。例如,参考图4所示,可以通过下述步骤s410-步骤s450在词库中确定上述第一隐变量。其中:

需要说明的是,本示例性的实施方式中,步骤s410和步骤s420的执行顺序不分先后,例如,可以按照先执行步骤s410再执行步骤s420的方式,可以按照先执行步骤s420再执行步骤s410的方式,还可以按照步骤s410和步骤s420同时执行的方式。

在步骤s410中,对所述词库中的词语进行聚类,得到多个词簇。

本示例性的实施方式中,上述词库为对话文本的词集合,为了将上述第一隐变量与用户生成对话的词建立联系,可以在本实施例中对词库进行聚类,以进一步确定与训练样本相关性较高的词作为第一隐变量。

本示例性的实施方式中,使用k-means聚类算法对词表中的词进行了k个聚类,其中,此处k为可调节的超参数。其中,k-means聚类算法对于数据量较大的数据集(词库)进行聚类,具有简单高效、时间复杂度、空间复杂度低的优点。

在步骤s420中,根据所述第一输入信息和所述目标回复信息确定上下文信息。

本示例性的实施方式中,根据配对的输入信息和目标回复信息确定上下文信息,以进一步地,根据上下文信息对聚类后的词库进行采样,并根据采样结果确定上述第一隐变量。可见,根据本实施例确定的第一隐变量不仅与模型输入信息相关,还与对应的目标回复信息相关,从而增强第一隐变量的可解释性。进而,基于第一隐变量训练后的对话生成模型,其输出不仅具备多样性,同时,由于其输出与上述目标回复信息相关联,则上述模型输出具备准确性的特点,更加满足用户的对话需求,提升用户的对话体验。

本示例性的实施方式中,在对话生成模型的训练阶段,参与计算的信息一般以向量表示的形式体现。例如,参考图5所示,可以通过下述步骤s510和步骤s520确定上述上下文向量。其中:

在步骤s510中,基于神经网络模型,确定所述第一输入信息对应的第一向量,以及确定所述目标回复信息对应的第二向量。

本示例性的实施方式中,由于对话生成模型的输入信息或输出信息均为当前的输出与前面的输出也有关的序列,从而,上述神经网络模型采用具有记忆功能的循环神经网络(recurrentneuralnetwork,简称:rnn)、长短期记忆(longshorttermmemory,简称:lstm)神经网络或门控循环单元(gatedrecurrentunit,简称:gru)神经网络。

本示例性的实施方式中,参考图2中的(b)posteriornetwork,将配对的一组输入信息和目标回复信息输入上述神经网络,并根据神经网络的输出确定了上述第一输入信息对应的第一向量以及确定了上述目标回复信息对应的第二向量

在步骤s520中,组合所述第一向量和所述第二向量确定所述上下文信息对应的上下文向量。

本示例性的实施方式中,可以将上述第一向量和第二向量作和的方式确定上述上下文向量,用于在聚类后的词库中确定第一隐变量。

在确定上下文信息之后,继续参考图4:

在步骤s430中,根据所述上下文信息对所述多个词簇进行采样,得到第一目标词簇;以及,在步骤s440中,根据所述上下文信息对所述第一目标词簇进行采样,确定第一目标词语。

本示例实施方式中,参考图2,(b)posteriornetwork通过对词库二阶段采样的方式确定第一隐变量hz,具体包括:第一阶段采样是在词库中确定目标词簇第二阶段采样是在上述目标词簇中确定目标词语ez。通过采样方法能够解决隐变量空间过大的问题,从而准确快速确定隐变量,同时提高模型训练的效率。

本示例实施方式中,当然,还可以在经过上述第一阶段采样确定目标簇之后,再次对目标簇进行聚类确定多个子词簇,并再次采样在多个子词簇中确定目标子词簇,然后再在确定后的子词簇中采样确定目标词语。也就是说,本实施例不限于两阶段采样,还可以是更多阶段的采样,并且采样阶段越多,获取的隐变量越准确,进而可以使得基于隐变量训练后的对话生成模型的回复更加准确。

本示例实施方式中,采用分类器的方式进行上述采样。具体的,对于第一分类器,其被训练为:将聚类之后的多个词簇输入第一分类器之后,能够确定与上述上下文信息/上下文向量的相似度大于预设阈值的词簇,即基于第一分类器,根据上下文信息对多个词簇进行采样,得到第一目标词簇。对于第二分类器,其被训练为:将第一目标词簇中的词语输入第二分类器之后,能够确定与上述上下文信息/上下文向量的相似度大于预设阈值的词语,即基于第二分类器,根据上下文信息对第一目标词簇进行采样,得到第一目标词语。

本示例实施方式中,所涉及的分类器可以是基于决策树算法,朴素的贝叶斯分类算法(nativebayesianclassifier)、基于支持向量机(supportvectormachine,简称:svm)算法、人工神经网络(artificialneuralnetworks,简称:ann)算法或k-最近邻法(k-nearestneighbor,简称:knn)等算法确定的。

在步骤s450中,根据所述第一目标词簇和所述第一目标词语确定所述第一隐变量。

本示例实施方式中,根据第一目标词簇的向量表示和第一目标词语的向量表示ez确定所述第一隐变量hz。具体的,可以通过以下公式极端上述第一隐变量:

其中,上述参数α、β分别表示在确定第一隐变量的过程中,目标词簇和目标词语所占比重,α、β均为根据实际需求而设定的参数,例如,可以将α=β=1,即将第一目标词簇的向量表示和第一目标词语的向量表示ez作和的方式确定上述第一隐变量hz。通过调整上述参数,可以实时调整隐变量的确定,进而实时控制对话模型的输出。

示例性的,参考图2,(b)posteriornetwork对输入序列(分好词的一段文本)进行编码,以及对输入序列对应的目标回复信息进行编码,分别得到第一向量表示和第二向量表示然后在将作为第一分类器的输入来预测需要选取的词簇(即第一目标词簇),接着利用词嵌入(wordembdedding)技术得到选中的这个簇的分布表示如向量[0.95,2.34,4.52,1.23,0.22]。在作为第二分类器的输入来预测需要选取的选中词簇中的词(即第一目标词语),同样利用词嵌入技术得到这个词的向量表示ez。最后将词簇的向量表示和词的向量ez表示相加得到第一隐变量z的向量表示hz。

本示例实施方式中,参考图2,在基于(b)posteriornetwork确定第一隐变量hz之后,可以基于第一隐变量hz对(c)generationnetwork进行训练。首先,对(c)generationnetwork的组成结构进行介绍。

本示例实施方式中,generationnetwork是一个带有注意力机制的sqe2aqe模型,包括编码网络和解码网络。其中,编码网络/解码网络可以是rnn、gru神经网络或lstm神经网络。本实施例中,以编码网络和解码网络均为gru神经网络为例进行说明。

示例性的,图6示意性示出了根据本公开的一个实施例的模型训练方法的流程示意图。参考图6,该实施例提供的方法包括步骤s610-步骤s630。其中:

在步骤s610中,通过所述编码网络对所述第一输入信息进行处理,确定第一语义向量。

本示例实施方式中,参考图2,在训练阶段,编码网络接收一组训练样本中的第一输入信息xa(x1、x2、x3),其中,x1、x2、x3为组成上述第一输入信息xa的3个分词wordembedding。经过编码网络的内部计算确定输出第一语义变量进一步地,编码网络输出的第一语义变量作为上述解码网络的输入。

在步骤s620中,根据所述第一语义向量初始化所述解码网络中循环神经网络模型的第一初始隐状态。

本示例实施方式中,根据第一语义变量初始化解码网络中gru神经网络模型的隐状态,得到第一初始隐状态(hidenstate)s0。

在步骤s630中,根据所述第一初始隐状态和所述第一隐变量确定所述解码网络中循环神经网络模型的第一计算隐状态,以基于所述第一计算隐状态实现对所述对话生成模型的训练。

本示例实施方式中,将第一隐变量和上述第一初始隐状态一起作为解码网络中gru神经网络模型的第一计算隐状态。

在示例性的实施例中,相关技术中gru神经网络模型的隐状态st=gru(yt-1,st-1)。其中,s1=gru(y0,s0)。而本技术方案中,解码网络中的gru神经网络模型的隐状态s1=gru(y0,s0+hz)。从而,本实施例提供的模型训练方法中引入了第一隐变量,以使得对话生成模型的其查询文本到生成回复为“一对多”关系,起到增加模型输出多样性的效果。并且,其中的第一隐变量hz,为根据上述第一输入变量xa以及与其配对的目标回复信息,在词库中采样确定的。可见,本技术方案将词表中的词与隐变量联系起来,从而使得隐变量具有可解释性,以有助于提高模型输出的多样性。也就是说,对话生成模型的输出是跟用户的提问相关联的,而尽量避免答非所问现象的发生。

参考图2,在基于上述第一隐变量hz(由posteriornetwork确定)训练上述对话生成模型之后,本技术方案还包括基于第二隐变量hz(由priornetwork确定)对上述训练后的对话生成模型进行测试。示例性的,图7示意性示出了根据本公开的一个实施例的模型测试方法的流程示意图。参考图7,该实施例提供的方法包括步骤s710-步骤s730。其中:

在步骤s710中,获取第二输入信息作为所述对话生成模型的测试样本。

本示例实施方式中,同前所述,上述第二输入信息为一段语音为例进行说明。首先需获取语音对应的一段话对应的文本,进一步地,将一段话对应的文本进行分词处理获取多个词文本。更进一步地,可以通过词嵌入技术将上述文本进行数值化,以方便拟合算法。最终根据词嵌入技术确定多个数值化的wordembedding,即得到测试样本。

在步骤s720中,基于所述第二输入信息,根据所述词库确定第二目标词语,并根据所述第二目标词语确定第二隐变量。

本示例实施方式中,参考图2,(a)priornetwork将第二输入信息息输入一神经网络,并根据神经网络的输出确定了上述第二输入信息对应的第一向量

本示例性的实施方式中,引入上述第二隐变量,用于对训练后的对话生成模型进行训练,以使得以优化模型结构,使得在训练后的对话生成模型中,其查询文本到生成回复为“一对多”关系,从而提高模型输出的多样性。

本示例性的实施方式中,将引入的隐变量与词表中的词联系起来,从而使得隐变量具有可解释性。例如,参考图8所示,可以通过下述步骤s810-步骤s840在词库中确定上述第二隐变量。其中:

在步骤s810中,对所述词库中的词语进行聚类,得到多个词簇。

本示例性的实施方式中,上述词库为对话文本的词集合,为了将上述第二隐变量与用户生成对话的词建立联系,可以在本实施例中对词库进行聚类,以进一步确定与训练样本相关性较高的词作为第二隐变量。

本示例性的实施方式中,使用k-means聚类算法对词表中的词进行了k个聚类,其中,此处k为可调节的超参数。其中,k-means聚类算法对于数据量较大的数据集(词库)进行聚类,具有简单高效、时间复杂度、空间复杂度低的优点。

在步骤s820中,根据所述第二输入信息对所述多个词簇进行采样,得到第二目标词簇;以及,在步骤s830中,根据所述第二输入信息对所述第二目标词簇进行采样,确定第二目标词语。

本示例实施方式中,参考图2,(a)priornetwork通过对词库二阶段采样的方式确定第二隐变量hz,具体包括:第一阶段采样是在词库中确定目标词簇第二阶段采样是在上述目标词簇中确定目标词语ez。通过采样方法能够解决隐变量空间过大的问题,从而准确快速确定隐变量,同时提高模型测试的效率。

本示例实施方式中,当然,还可以在经过上述第一阶段采样确定目标簇之后,再次对目标簇进行聚类确定多个子词簇,并再次采样在多个子词簇中确定目标子词簇,然后再在确定后的子词簇中采样确定目标词语。也就是说,本实施例不限于两阶段采样,还可以是更多阶段的采样,并且采样阶段越多,获取的隐变量越准确,进而可以使得基于隐变量训练后的对话生成模型的回复更加准确,避免通用无意义的回复,以及避免答非所问现象的发生。

本示例实施方式中,采用分类器的方式进行上述采样。具体的,对于第三分类器,其被训练为:将聚类之后的多个词簇输入第三分类器之后,能够确定与上第二输入信息的相似度大于预设阈值的词簇,即基于第三分类器,根据第二输入信息对多个词簇进行采样,得到第二目标词簇。对于第四分类器,其被训练为:将第二目标词簇中的词语输入第四分类器之后,能够确定与上述第二输入信息的相似度大于预设阈值的词语,即基于第四分类器,根据第二输入信息对第二目标词簇进行采样,得到第二目标词语。

在步骤s840中,根据所述第二目标词簇和所述第二目标词语确定所述第二隐变量。

本示例实施方式中,根据第二目标词簇的向量表示和第二目标词语的向量表示ez确定所述第二隐变量hz。具体的,可以通过以下公式极端上述第一隐变量:

其中,上述参数α′、β’分别表示在确定第二隐变量的过程中,目标词簇和目标词语所占比重,α′、β’均为根据实际需求而设定的参数,例如,可以将α=β=1,即将第二目标词簇的向量表示和第二目标词语的向量表示ez作和的方式确定上述第二隐变量hz。

示例性的,参考图2,(a)priornetwork对输入序列(分好词的一段文本)进行编码,得到文本的向量表示如向量[0.95,2.34,4.52,1.23,0.22]。然后在将此向量作为第三分类器的输入来预测需要选取的词簇(即第二目标词簇),接着利用词嵌入(wordembdedding)技术得到选中的这个簇的分布表示如向量[0.95,2.34,4.52,1.23,0.22]。在得到词簇和第二输入文本的向量表示后,将两者相加作为第四分类器的输入来预测需要选取的选中词簇中的词(即第二目标词语),同样利用词嵌入技术得到这个词的向量表示ez。最后将词簇的向量表示和词的向量ez表示相加得到第二隐变量z的向量表示hz。

继续参考图7,在步骤s730中,基于所述第二隐变量测试所述训练后的对话生成模型。

本示例实施方式中,参考图2,在基于(a)priornetwork确定第二隐变量hz之后,可以基于第二隐变量hz对训练后的(c)generationnetwork进行测试。其中,(c)generationnetwork的组成结构进行介绍同前所述,在此不再赘述。

示例性的,图9示意性示出了根据本公开的另一个实施例的模型测试方法的流程示意图。参考图9,该实施例提供的方法包括步骤s910-步骤s930。其中:

在步骤s910中,通过所述编码网络对所述第二输入信息进行处理,确定第二语义向量。

本示例实施方式中,参考图2,在测试阶段,编码网络接收一组训练样本中的第一输入信息xb(x1、x2、x3),其中,x1、x2、x3为组成上述第一输入信息xb的3个分词wordembedding。经过编码网络的内部计算确定输出第二语义变量进一步地,编码网络输出的第二语义变量作为上述解码网络的输入。

在步骤s920中,根据所述第二语义向量初始化所述解码网络中循环神经网络模型的第二初始隐状态。

本示例实施方式中,根据第二语义变量初始化解码网络中gru神经网络模型的隐状态,得到第二初始隐状态(hidenstate)s0。

在步骤s930中,根据所述第二初始隐状态和所述第二隐变量确定所述解码网络中循环神经网络模型的第二计算隐状态,以基于所述第二计算隐状态实现对所述对话生成模型的训练。

本示例实施方式中,将第二隐变量和上述第二初始隐状态一起作为解码网络中gru神经网络模型的第二计算隐状态。

在示例性的实施例中,相关技术中gru神经网络模型的隐状态st=gru(yt-1,st-1)。其中,s1=gru(y0,s0)。而本技术方案中,解码网络中的gru神经网络模型的隐状态s1=gru(y0,s0+hz)。从而,本实施例提供的模型测试方法中为每个输入信息引入第二隐变量,以使得对话生成模型的其查询文本到生成回复为“一对多”关系,起到增加模型输出多样性的效果。并且,其中的第二隐变量hz,为根据上述第二输入变量xb在词库中采样确定的。可见,本技术方案将词表中的词与隐变量联系起来,从而使得隐变量具有可解释性,以有助于提高模型输出的多样性。也就是说,对话生成模型的输出是跟用户的提问相关联的,而尽量避免答非所问现象的发生。

示例性的,通过测试样本对训练后的对话生成模型(记作待测试模型)进行测试,并且使用至少一种训练指标对待测试模型的测试结果进行验证,并将符合测试指标的训练后的对话生成模型用于智能机器人、闲聊系统等,以用来输出具有较多信息量的答复信息等。

在示例性的实施例中,具体地对待测试模型进行测试的方式可以是:

首先,将测试样本中的第二输入信息xb(x1、x2、x3)代入待测试模型后得到输出数据y’b(y’1、y’2、y’3)。进一步地,根据与第二输入信息xb(x1、x2、x3)配对的目标回复信息yb(y1、y2、y3),和输出数据y’b(y’1、y’2、y’3),确定以下参数:真阳性tp,真阴性tn,伪阴性fn和伪阳性fp。

其中,tp是利用待测试模型对测试样本中正类进行判断后属于仍是正类的数目,tn利用待测试模型对测试样本中负类进行判断后属于仍是负类的数目,fn利用待测试模型对测试样本中负类进行判断后属于是正类的数目,fp利用待测试模型对测试样本中正类进行判断后属于是负类的数目。正类和负类是指人工对训练样本标注的两种类别,即人工标注某个样本属于特定的类,则该样本属于正类,不属于该特定类的样本则属于负类。

其次,根据真阳性tp,真阴性tn,伪阴性fn和伪阳性fp计算待测试模型的测试结果。

在示例性的实施例中,测试指标以准确率、召回率为例进行介绍。具体的:

根据公式一和公式二分别计算准确率p和召回率r;

p=tp/(tp+fp)公式三,

r=tp/(tp+fn)公式二。

假如对s个待测试模型进行测试后得到测试结果为:准确率测试结果p1,p2,…,ps,以及召回率测试结果r1,r2,…,rs。

测试指标对应的设定条件为:准确率测试结果大于p’则为满足准确率设定条件,否则不满足准确率设定条件,以及召回率测试结果大于r’则为满足召回率设定条件,否则不满足召回率设定条件。

在示例性的实施例中,在测试结果满足测试指标对应的设定条件的情况下,则待测试模型可以作为训练合格的对话生成模型;在测试结果不满足设定条件时,则上述待测试模型继续训练直至所述待测试模型的测试结果满足设定条件。

在示例性的实施例中,判断测试结果是否满足测试指标对应的设定条件时,可以是仅以准确率或召回率作为测试指标,即正确率/召回率满足设定条件即可;还可以同时以准确率和召回率同时作为测试指标,即正确率和召回率满足设定条件即可。

需要说明的是,具体的测试方式根据实际需求而制定,不限于以上准确率和/或召回率作为测试指标进行测试。

在示例性的实施例中,测试指标还可以为auc。具体的:

在示例性的实施例中,利用公式三和公式四确定伪阳性率fpr和真阳性率tpr,

fpr=fp/(fp+tn)公式三,

tpr=tp/(tp+fn)公式四。

进一步地,以fpr为横坐标,tpr为纵坐标,绘制受试者工作特征曲线(receiveroperatingcharacteristiccurve,简称roc曲线)。其中,roc曲线是获得的各指标的特征曲线,用于展示各指标之间的关系,并进一步计算出roc曲线下面积auc。roc曲线是获得的各指标的特征曲线,用于展示各指标之间的关系,auc即roc曲线下面积,auc越大,则模型的预测价值越高,进而可通过acu对待测试模型进行测试。并将评价结果为auc值最大的模型作为训练合格的对话生成模型,用来根据用户的提问信息向用户提供对应的回复信息。

在示例性的实施例中,图10示意性示出了根据本公开的另一个实施例的模型训练方法的流程示意图。参考图10,该实施例提供的方法包括步骤s1010和步骤s1020。其中:

在步骤s1010中,根据所述第一隐变量对应的第一分布概率,和所述第二隐变量对应的第二概率,计算相对熵;以及,在步骤s1020中,确定所述相对熵为损失函数训练所述对话生成模型。

本示例实施方式中,参考图2,通过(a)priornetwork确定第二隐变量hz时,计算第二隐变量对应的第二概率p(z|x)。通过(b)posteriornetwork确定第一隐变量hz时,计算第一隐变量对应的第一概率q(z|y,x)。进一步地,计算两个概率的相对熵dkl(q||p)。

本示例实施方式中,将上述第一概率和第二概率的相对熵dkl(q||p)作为模型训练阶段的损失函数。当相对熵dkl(q||p)达到预设值时,说明完成对上述对话生成模型的训练,并可以开始对训练后的对话生成模型进行测试。

应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。

进一步的,本示例实施方式中,还提供了一种对话生成模型的确定装置。该对话生成模型的确定装置可以应用于一服务器或终端设备。参考图11所示,该对话生成模型的确定装置1100可以包括:训练样本获取模块1101、第一隐变量确定模块1102以及模型训练模块1103。其中:

上述训练样本获取模块1101,被配置为获取多组训练样本,每组所述训练样本包括第一输入信息和目标回复信息;上述第一隐变量确定模块1102,被配置为基于所述第一输入信息和所述目标回复信息,根据词库确定第一目标词语,并根据所述第一目标词语确定第一隐变量;以及,上述模型训练模块1103,被配置为基于所述第一隐变量训练所述对话生成模型;其中,所述词库为对话文本的词集合。

在本公开的一种示例性实施例中,基于前述实施例,上述第一隐变量确定模块1102,包括:第一聚类单元、上下文信息确定单元、采样单元和第一隐变量确定单元。其中:上述第一聚类单元被配置为:对所述词库中的词语进行聚类,得到多个词簇;上述上下文信息确定单元被配置为:根据所述第一输入信息和所述目标回复信息确定上下文信息;上述采样单元被配置为:根据所述上下文信息对所述多个词簇进行采样,得到第一目标词簇;以及,还被配置为:根据所述上下文信息对所述第一目标词簇进行采样,确定第一目标词语;上述第一隐变量确定单元被配置为:根据所述第一目标词簇和所述第一目标词语确定所述第一隐变量。

在本公开的一种示例性实施例中,基于前述实施例,上述上下文信息确定单元,具体被配置为:基于神经网络模型,确定所述第一输入信息对应的第一向量,以及确定所述目标回复信息对应的第二向量;以及,组合所述第一向量和所述第二向量确定所述上下文信息对应的上下文向量。

在本公开的一种示例性实施例中,基于前述实施例,所述对话生成模型包括:编码网络和解码网络;上述模型训练模块1103,包括:语义向量确定子单元、隐状态初始化子单元以及训练子单元;其中:上述语义向量确定子单元被配置为:通过所述编码网络对所述第一输入信息进行处理,确定第一语义向量;上述隐状态初始化子单元被配置为:根据所述第一语义向量初始化所述解码网络中循环神经网络模型的第一初始隐状态;上述训练子单元被配置为:根据所述第一初始隐状态和所述第一隐变量确定所述解码网络中循环神经网络模型的第一计算隐状态,以基于所述第一计算隐状态实现对所述对话生成模型的训练。

在本公开的一种示例性实施例中,基于前述实施例,对话生成模型的确定装置1100还包括:测试样本获取模块、第二隐变量确定模块以及模型测试模块。其中:上述测试样本获取模块被配置为:获取第二输入信息作为所述对话生成模型的测试样本;上述第二隐变量确定模块被配置为:基于所述第二输入信息,根据所述词库确定第二目标词语,并根据所述第二目标词语确定第二隐变量;上述模型测试模块被配置为:基于所述第二隐变量测试所述训练后的对话生成模型。

在本公开的一种示例性实施例中,基于前述实施例,上述第二隐变量确定模块,包括:第二聚类单元、采样单元和第二隐变量确定单元。其中:上述第二聚类单元被配置为:对所述词库中的词语进行聚类,得到多个词簇;上述采样单元被配置为:根据所述第二输入信息对所述多个词簇进行采样,得到第二目标词簇;以及,还被配置为:根据所述第二输入信息对所述第二目标词簇进行采样,确定第二目标词语;上述第二隐变量确定单元被配置为:根据所述第二目标词簇和所述第二目标词语确定所述第二隐变量。

在本公开的一种示例性实施例中,基于前述实施例,所述对话生成模型包括:编码网络和解码网络;上述模型测试模块,包括:语义向量确定子单元、隐状态初始化子单元以及测试子单元;其中:上述语义向量确定子单元被配置为:通过所述编码网络对所述第二输入信息进行处理,确定第二语义向量;上述隐状态初始化子单元被配置为:根据所述第二语义向量初始化所述解码网络中循环神经网络模型的第二初始隐状态;上述测试子单元被配置为:根据所述第二初始隐状态和所述第二隐变量确定所述解码网络中循环神经网络模型的第二计算隐状态,以基于所述第二计算隐状态实现对所述对话生成模型的测试。

在本公开的一种示例性实施例中,基于前述实施例,上述模型训练模块1103,具体被配置为:根据所述第一隐变量对应的第一分布概率,和所述第二隐变量对应的第二概率,计算相对熵;以及,确定所述相对熵为损失函数训练所述对话生成模型。

上述对话生成模型的确定装置中各模块或单元的具体细节已经在对应的对话生成模型的确定方法中进行了详细的描述,因此此处不再赘述。

图12示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。

需要说明的是,图12示出的电子设备的计算机系统1200仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图12所示,计算机系统1200包括中央处理单元(centralprocessingunit,cpu)1201,其可以根据存储在只读存储器(read-onlymemory,rom)1202中的程序或者从存储部分1208加载到随机访问存储器(randomaccessmemory,ram)1203中的程序而执行各种适当的动作和处理。在ram1203中,还存储有系统操作所需的各种程序和数据。cpu1201、rom1202以及ram1203通过总线1204彼此相连。输入/输出(input/output,i/o)接口1205也连接至总线1204。

以下部件连接至i/o接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(cathoderaytube,crt)、液晶显示器(liquidcrystaldisplay,lcd)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如lan(localareanetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至i/o接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。

特别地,根据本发明的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理单元(cpu)1201执行时,执行本申请的系统中限定的各种功能。在一些实施例中,计算机系统200还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

需要说明的是,本发明实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compactdiscread-onlymemory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。

作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。例如,所述的电子设备可以实现如图3~图10所示的各个步骤等。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1