翻译模型的训练方法和装置与流程

文档序号:18526098发布日期:2019-08-24 10:15阅读:189来源:国知局
翻译模型的训练方法和装置与流程

本申请涉及机器学习技术领域,尤其涉及一种翻译模型的训练方法和装置。



背景技术:

目前,端到端语音翻译模型均采用一个单一模型进行训练,在语音翻译时,利用单一模型将一种语言的语音信号,翻译为另一种语言的文本信息。由于单一模型受限于模型和训练语料的规模,难以产生高质量的翻译结果。



技术实现要素:

本申请提出一种翻译模型的训练方法和装置,以实现在训练时,利用多个翻译模型进行联合学习,以产生高质量的语音翻译结果,缓解单一模型输出质量较差的问题,提升翻译模型的翻译性能,用于解决现有技术中单一模型的性能无法得到保障,容易产生质量较差的译文的技术问题。

本申请第一方面实施例提出了一种翻译模型的训练方法,包括:

获取源语言样本;

将所述源语言样本分别输入模型结构不同的多个翻译模型,以得到各翻译模型输出的目标语言样本;

根据各翻译模型输出的目标语言样本,确定目标译文;

根据所述目标译文与各翻译模型输出的目标语言样本之间的差异性,对相应的翻译模型进行训练。

本申请实施例的翻译模型的训练方法,通过获取源语言样本,并将源语言样本分别输入模型结构不同的多个翻译模型,以得到各翻译模型输出的目标语言样本,之后,根据各翻译模型输出的目标语言样本,确定目标译文,最后,根据目标译文与各翻译模型输出的目标语言样本之间的差异性,对相应的翻译模型进行训练。本申请中,根据与多个翻译模型输出结果相关的目标译文,对各翻译模型进行训练,可以实现在训练时,利用多个翻译模型进行联合学习,以产生高质量的语音翻译结果,缓解单一模型输出质量较差的问题,提升翻译模型的翻译性能。

本申请第二方面实施例提出了一种翻译模型的训练装置,包括:

获取模块,用于获取源语言样本;

处理模块,用于将所述源语言样本分别输入模型结构不同的多个翻译模型,以得到各翻译模型输出的目标语言样本;

确定模块,用于根据各翻译模型输出的目标语言样本,确定目标译文;

训练模块,用于根据所述目标译文与各翻译模型输出的目标语言样本之间的差异性,对相应的翻译模型进行训练。

本申请实施例的翻译模型的训练装置,通过获取源语言样本,并将源语言样本分别输入模型结构不同的多个翻译模型,以得到各翻译模型输出的目标语言样本,之后,根据各翻译模型输出的目标语言样本,确定目标译文,最后,根据目标译文与各翻译模型输出的目标语言样本之间的差异性,对相应的翻译模型进行训练。本申请中,根据与多个翻译模型输出结果相关的目标译文,对各翻译模型进行训练,可以实现在训练时,利用多个翻译模型进行联合学习,以产生高质量的语音翻译结果,缓解单一模型输出质量较差的问题,提升翻译模型的翻译性能。

本申请第三方面实施例提出了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本申请第一方面实施例提出的翻译模型的训练方法。

本申请第四方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请第一方面实施例提出的翻译模型的训练方法。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本申请实施例一所提供的翻译模型的训练方法的流程示意图;

图2为本申请实施例二所提供的翻译模型的训练方法的流程示意图;

图3为本申请实施例中翻译模型的训练框架示意图;

图4为本申请实施例三所提供的翻译模型的训练装置的结构示意图;

图5为本申请实施例四所提供的翻译模型的训练装置的结构示意图;

图6示出了适于用来实现本申请实施方式的示例性计算机设备的框图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。

本申请主要针对现有技术中单一模型的性能无法得到保障,容易产生质量较差的译文的技术问题,提出一种翻译模型的训练方法。

本申请实施例的翻译模型的训练方法,通过利用多个结构不同的翻译模型联合进行学习,能够缓解单一翻译模型带来的缺陷,通过训练时共同学习,能够产生高质量的语音翻译结果。

下面参考附图描述本申请实施例的翻译模型的训练方法和装置。

图1为本申请实施例一所提供的翻译模型的训练方法的流程示意图。

本申请实施例以翻译模型的训练方法被配置于翻译模型的训练装置中来举例说明,该翻译模型的训练装置可以应用于任一计算机设备中,以使该计算机设备可以执行翻译模型的训练功能。

其中,计算机设备可以为个人电脑(personalcomputer,简称pc)、云端设备、移动设备、服务器等,移动设备例如可以为手机、平板电脑、个人数字助理、穿戴式设备、车载设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。

如图1所示,该翻译模型的训练方法包括以下步骤:

步骤101,获取源语言样本。

本申请实施例中,源语言样本可以为同一语种的语言样本,或者也可以为不同语种的语言样本,对此不作限制。其中,源语言样本的语种可以根据实际翻译需求进行设置。例如,当翻译模型应用于中译英的应用场景时,源语言样本的语种可以为中文,再例如,当翻译模型应用于英译法的应用场景时,源语言样本的语种可以为英文,又例如,当翻译模型应用于中法互译的应用场景时,源语言样本的语种可以包括中文和/或法文。

本申请实施例中,该源语言样本可以为语音形式,或者也可以为文本形式,可以预先采集文本形式的源语言样本和/或语音形式的源语言样本,例如,可以通常的语料收集方式,采集文本形式的源语言样本和/或语音形式的源语言样本,并将采集的文本形式的源语言样本和/或语音形式的源语言样本存储在预设存储装置中。从而,本申请中,在对翻译模型进行训练时,可以从上述存储装置中,获取源语言样本。

步骤102,将源语言样本分别输入模型结构不同的多个翻译模型,以得到各翻译模型输出的目标语言样本。

本申请实施例中,目标语音样本的语种同样可以根据实际翻译需求进行设置。例如,当翻译模型应用于中译英的应用场景时,源语言样本的语种可以为中文,目标语言样本的语种为英文。又例如,当翻译模型应用于中英互译的应用场景时,源语言样本的语种可以为中文,目标语言样本的语种为英文,或者,源语言样本的语种可以为英文,目标语言样本的语种为中文,或者,源语言样本的语种包括中文和英文,目标语言样本的语种同样可以包括中文和英文。

一般情况下,不同的翻译模型需具有一定的差异性,才能达到互相学习的效果。因此,本申请中,多个翻译模型之间模型结构可以存在差异,例如可以为结构不同的transformer模型、循环神经网络(recurrentneuralnetwork,简称rnn)模型、卷积神经网络(convolutionalneuralnetwork,简称cnn)模型等等。

本申请实施例中,在获取源语言样本后,可以将源语言样本分别输入至模型结构不同的多个翻译模型,以得到各翻译模型输出的目标语言样本。其中,目标语言样本可以为语音形式,也可以为文本形式,本申请对此并不做限制。

步骤103,根据各翻译模型输出的目标语言样本,确定目标译文。

本申请实施例中,在得到每个翻译模型输出的目标语言样本后,可以根据各翻译模型输出的目标语言样本,确定目标译文。

作为一种可能的实现方式,可以将所有翻译模型输出的目标语言样本中对应位置的词分布概率取平均值,以得到目标译文,下述实施例将对此进行详细介绍,此处不做赘述。

步骤104,根据目标译文与各翻译模型输出的目标语言样本之间的差异性,对相应的翻译模型进行训练。

本申请实施例中,在得到目标译文后,针对每个翻译模型,可以根据目标译文与该翻译模型输出的目标语言样本之间的差异性,对该翻译模型进行训练。本申请中,根据与多个翻译模型输出结果相关的目标译文,对各翻译模型进行训练,可以实现在训练时,利用多个翻译模型进行联合学习,以产生高质量的语音翻译结果,缓解单一模型输出质量较差的问题,提升翻译模型的翻译性能。

目前,在神经机器翻译(neuralmachinetranslation,简称nmt)模型训练过程中,可以采用下述两种方式进行训练:

第一种,采用对偶训练模式,nmt模型构建了两个模型,比如中英翻译模型和英中翻译模型,使用了大量的无标注数据,将中英翻译模型的输出结果作为英中翻译模型的输入,最后通过判断英中翻译模型输出结果的优劣,来反向更新nmt模型参数,其中,中英翻译模型和英中翻译模型没有主次之分,互相学习。

第二种,利用正向解码模型和反向解码模型同时训练,反向解码模型的输入与正向解码模型一致,但是反向解码模型的解码结果为从最后一个词开始,一直预测到第一个词。并且在训练的最终损失函数里,加入了一个正则项,使得正向解码模型去拟合反向解码模型的解码结果,同样反向解码模型也会存在这样的正则项,最后通过超参数控制学习的权重。

然而,上述两种方式,仅关注了2个模型之间的互相学习,缺少对模型大于2个的探索,对于模型多样性或者多个相同模型互相学习没有验证,例如,模型效果是不是会随着模型个数的增加而持续提升,可扩展性较低。

而本申请中,根据与多个翻译模型输出结果相关的目标译文,对各翻译模型进行训练,可以实现在训练时,利用多个翻译模型进行联合学习,以产生高质量的语音翻译结果。并且,本申请中翻译模型的个数为多个,即大于2,因此,该方法的可扩展性较高,可以提升该方法的适用性。

本申请实施例的翻译模型的训练方法,通过获取源语言样本,并将源语言样本分别输入模型结构不同的多个翻译模型,以得到各翻译模型输出的目标语言样本,之后,根据各翻译模型输出的目标语言样本,确定目标译文,最后,根据目标译文与各翻译模型输出的目标语言样本之间的差异性,对相应的翻译模型进行训练。本申请中,根据与多个翻译模型输出结果相关的目标译文,对各翻译模型进行训练,可以实现在训练时,利用多个翻译模型进行联合学习,以产生高质量的语音翻译结果,缓解单一模型输出质量较差的问题,提升翻译模型的翻译性能。

需要说明的是,对于多个翻译模型,各翻译模型倾向于从目标译文中学习,而不是探索自己的预测以快速收敛。因此,每个翻译模型会收敛到一个次优点,并且,由于各翻译模型缺乏对其他翻译模型的竞争,未能通过在交互更新过程中相互学习来提高性能。因此,本申请中,在训练每个翻译模型时,需要在目标译文中提取出与翻译质量有关的知识。也就是说,需要评估目标译文的翻译质量,如果目标译文的质量较佳,则翻译模型在学习它的词分布概率时,将产生更好的翻译性能。而如果目标译文的质量较差,则翻译模型将学习其自身的词分布概率,以提升翻译模型的翻译性能。下面结合实施例二,对上述过程进行详细说明。

图2为本申请实施例二所提供的翻译模型的训练方法的流程示意图。

如图2所示,该翻译模型的训练方法可以包括以下步骤:

步骤201,获取源语言样本。

步骤202,将源语言样本分别输入模型结构不同的多个翻译模型,以得到各翻译模型输出的目标语言样本。

步骤201至202的执行过程可以参见上述实施例中步骤101至102的执行过程,在此不做赘述。

作为一种可能的实现方式,为了提升各翻译模型输出结果的准确性,可以根据源语言样本和对应的标准译文,对各翻译模型分别进行训练,以使各翻译模型输出的目标语言样本与标准译文之间的差异最小化。

举例而言,当翻译模型应用于中英互译时,源语言样本为“现在几点了”,对应的标准译文可以为“what’sthetimenow”,假设翻译模型输出的目标语言样本为“whattimenow”,显然,翻译模型输出结果并不准确,因此,可以根据源语言样本和对应的标准译文,对各翻译模型分别进行训练,以使各翻译模型输出的目标语言样本与标准译文之间的差异最小化,以提升翻译模型的翻译性能。

作为一种示例,参见图3,图3以翻译模型的个数为4个进行示例。其中,第一个翻译模型(agent1)中的解码器为从左到右的解码器;第二个翻译模型(agent2)中的解码器为从右到左的解码器,即agent1和agent2的解码器存在差异,解码顺序相反,而编码相同;第三个翻译模型(agent3)中的解码器为加入relative_position策略的解码器,其中,relative_position策略,用于将某个词self-attention的计算更加集中在这个词的附近,而不是集中在整个句子中的所有词;第四个翻译模型(agent4)为编码加深的模型,编码加深的模型更有利于刻画词义的歧义性和翻译需要的源端信息,即agent4中的编码器为编码加深的编码器,而解码器并不做限定。

如图3所示,在预训练部分(a),采用双语句对(<源语言样本,对应的标准译文>),对各翻译模型进行训练,以使各翻译模型输出的目标语言样本与标准译文之间的差异最小化。具体的训练过程与现有的模型训练过程相同,此处不做赘述。

步骤203,根据各翻译模型输出的目标语言样本,确定目标译文。

本申请实施例中,可以对各翻译模型输出的目标语言样本,确定对应同一文本位置的词分布概率;其中,词分布概率,用于指示相应文本位置上为词库中各词的概率,将各目标语言样本对应同一文本位置的词分布概率取平均值,得到目标译文中相应文本位置的词分布概率。

可选地,假设共有n个翻译模型,针对第一个翻译模型,该翻译模型输出的目标语言样本中第t个文本位置对应的词向量为第t个文本位置的词分布概率为其中,θ1表示第一个翻译模型的参数,表示第t个文本位置之前的词向量,例如第t-1个文本位置对应的词向量第t-2个文本位置对应的词向量等等。也就是说,表示第t个文本位置的词向量在之前预测的词向量上的分布。

可以理解的是,目标语言样本每个文本位置的词向量是根据预设词库确定的,yt可以表示为对应于词库大小的向量。例如,yt可以表示为:其中,v表示词库的大小,et,j表示第t个文本位置被预测为词j的得分。

同理,针对第二个翻译模型,该翻译模型输出的目标语言样本中第t个文本位置对应的词向量为与第t个文本位置的次分布概率为其中,θ2表示第二个翻译模型的参数,…,针对第n个翻译模型,该翻译模型输出的目标语言样本中第t个文本位置对应的词向量为与第t个文本位置的次分布概率为其中,θn表示第n个翻译模型的参数。

则目标译文中第t个文本位置的词分布概率为:

作为一种示例,参见图3,可以根据agent1、agent2、agent3和agent4,生成集成模型(ensemblemodel),集成模型的优势在于,可以回避单一模型中存在的问题,比如因为训练数据的偏差导致解码错误,提升模型的翻译效果。并且,集成模型是采用投票机制,只要大部分翻译模型的输出结果是对的,那最终结果也是对的。

如图3所示,在生成集成模型后(b),可以将所有翻译模型的预测分布概率取均值,得到如公式(1)所示的目标译文中相应文本位置的词分布概率。其中,θ表示集成模型的参数,由于将多个翻译模型在yt上的分布做了平均,因此,θ并不真实存在。

步骤204,计算目标译文与源语言样本对应的标准译文之间的误差。

可选地,可以根据bleu算法,计算标译文与源语言样本对应的标准译文之间的误差。其中,bleu是评价模型翻译效果的指标,是根据翻译结果(目标译文)和预测结果(标准译文)的相似度计算出来的。

步骤205,判断误差是否小于阈值,若是,执行步骤206,若否,执行步骤207。

本申请实施例中,阈值为预先设置的,可以理解的是,阈值为较小的阈值。

步骤206,根据目标译文与各翻译模型输出的目标语言样本之间的差异性,对相应的翻译模型进行训练。

本申请实施例中,在误差小于阈值时,表明目标译文的质量较佳,此时,翻译模型在学习它的词分布概率时,将产生更好的翻译性能。因此,本申请中,可以目标译文与各翻译模型输出的目标语言样本之间的差异性,对相应的翻译模型进行训练。

可选地,各翻译模型的对应的损失函数可以为:

其中,针对第i个翻译模型,输出的目标语言样本具有t+1个文本位置,即目标语言样本由t+1个词向量组成,即第一个文本位置对应的词向量为第二个文本位置对应的词向量为…,最后一个文本位置对应的词向量为

公式(2)的目的在于,将第i个翻译模型输出的目标语言样本的词分布概率,与目标译文对应的词分布概率的偏差最小化。利用损失函数强迫第i个翻译模型去学习各翻译模型的词分布概率。

进一步地,在实际应用时,对于第i个翻译模型,最终模型的损失函数还可以为:

其中,λi为超参数,表示第i个翻译模型对应的初始损失函数。

步骤207,根据源语言样本对应的标准译文与各翻译模型输出的目标语言样本之间的差异性,对相应的翻译模型进行训练。

本申请实施例中,在误差大于等于阈值时,表明目标译文的质量较差,此时,翻译模型将学习其自身的词分布概率。因此,本申请中,可以根据源语言样本对应的标准译文与各翻译模型输出的目标语言样本之间的差异性,对相应的翻译模型进行训练。

可选地,各翻译模型的对应的损失函数可以为:

也就是说,本申请中,对于一条训练语料中的双语句对(<源语言样本,对应的标准译文>),例如标记为<xg,yg>,可以使用bleu值来判断目标译文的质量,若目标译文的质量较佳,则可以采用公式(2)设计损失函数,若目标译文的质量较差,则可以采用公式(4)设计损失函数,因此,可以将公式(2)和(4)简化为:

其中,yt是目标译文,是第i个翻译模型输出的目标语言样本。

作为一种示例,参见图3,在学习阶段(c),集成模型相当于老师,根据自身的目标译文的词分布概率,去挨个教每个翻译模型,使得每个翻译模型产生更好的翻译结果。

上述公式中,看起来同knowledgedistillation相似,但实际上是有不同点的。在knowledgedistillation的实现中,图3中的集成模型(knowledgedistillation的实现中,一般只有一个模型)是事先训练好的,并且已经固定,不会随着训练的进行改变参数。而本申请中,在训练过程中,随着每个翻译模型的不断变化,最终形成的集成模型也是动态变化的,当翻译模型越来越强,那么集成模型也会越来越好,这是一个互相促进的过程。

本申请实施例的翻译模型的训练方法,在目标译文与源语言样本对应的标准译文之间的误差较小时,根据目标译文与各翻译模型输出的目标语言样本之间的差异性,对相应的翻译模型进行训练,而在目标译文与源语言样本对应的标准译文之间的误差较大时,根据源语言样本对应的标准译文与各翻译模型输出的目标语言样本之间的差异性,对相应的翻译模型进行训练。由此,可以提升各翻译模型的翻译性能。

作为一种可能的实现方式,在对各翻译模型进行训练后,可以采用经过训练的多个翻译模型中的一个翻译模型进行翻译处理,由此,可以提升模型输出结果的准确性。

例如,当该翻译模型应用于中译英场景时,可以将用户输入的中文语音信息,自动翻译为英文翻译结果。又例如,当该翻译模型应用于中英互译的场景时,当用户说的为中文语音信息时,能够自动翻译为英文翻译结果,而当用户说的为英文语音信息,能够自动翻译为中文翻译结果。

作为一种示例,当经过训练的多个翻译模型中的一个翻译模型应用于翻译类应用(application,简称app)时,在中英翻译任务多个测试集上,翻译性能平均提升了1.47bleu,在德英翻译任务中,提升了0.98bleu,在英德wmt-14数据集上,超过baseline+0.5bleu。

为了实现上述实施例,本申请还提出一种翻译模型的训练装置。

图4为本申请实施例三所提供的翻译模型的训练装置的结构示意图。

如图4所示,该翻译模型的训练装置包括:获取模块110、处理模块120、确定模块130以及训练模块140。

其中,获取模块110,用于获取源语言样本。

处理模块120,用于将源语言样本分别输入模型结构不同的多个翻译模型,以得到各翻译模型输出的目标语言样本。

确定模块130,用于根据各翻译模型输出的目标语言样本,确定目标译文。

训练模块140,用于根据目标译文与各翻译模型输出的目标语言样本之间的差异性,对相应的翻译模型进行训练。

进一步地,在本申请实施例的一种可能的实现方式中,参见图5,在图4所示实施例的基础上,该翻译模型的训练装置还可以包括:计算模块150。

计算模块150,用于计算目标译文与源语言样本对应的标准译文之间的误差。

确定模块130,还用于确定误差小于阈值。

作为一种可能的实现方式,训练模块140,还用于:若误差大于阈值,根据源语言样本对应的标准译文与各翻译模型输出的目标语言样本之间的差异性,对相应的翻译模型进行训练。

作为一种可能的实现方式,确定模块130,具体用于:对各翻译模型输出的目标语言样本,确定对应同一文本位置的词分布概率;其中,词分布概率,用于指示相应文本位置上为词库中各词的概率;将各目标语言样本对应同一文本位置的词分布概率取平均值,得到目标译文中相应文本位置的词分布概率。

作为一种可能的实现方式,训练模块140,还用于:根据源语言样本和对应的标准译文,对各翻译模型分别进行训练,以使各翻译模型输出的目标语言样本与标准译文之间的差异最小化。

需要说明的是,前述对翻译模型的训练方法实施例的解释说明也适用于该实施例的翻译模型的训练装置,此处不再赘述。

本申请实施例的翻译模型的训练装置,通过获取源语言样本,并将源语言样本分别输入模型结构不同的多个翻译模型,以得到各翻译模型输出的目标语言样本,之后,根据各翻译模型输出的目标语言样本,确定目标译文,最后,根据目标译文与各翻译模型输出的目标语言样本之间的差异性,对相应的翻译模型进行训练。本申请中,根据与多个翻译模型输出结果相关的目标译文,对各翻译模型进行训练,可以实现在训练时,利用多个翻译模型进行联合学习,以产生高质量的语音翻译结果,缓解单一模型输出质量较差的问题,提升翻译模型的翻译性能。

为了实现上述实施例,本申请还提出一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现如本申请前述实施例提出的翻译模型的训练方法。

为了实现上述实施例,本申请还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请前述实施例提出的翻译模型的训练方法。

图6示出了适于用来实现本申请实施方式的示例性计算机设备的框图。图6显示的计算机设备12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图6所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。

总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(industrystandardarchitecture;以下简称:isa)总线,微通道体系结构(microchannelarchitecture;以下简称:mac)总线,增强型isa总线、视频电子标准协会(videoelectronicsstandardsassociation;以下简称:vesa)局域总线以及外围组件互连(peripheralcomponentinterconnection;以下简称:pci)总线。

计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(randomaccessmemory;以下简称:ram)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(compactdiscreadonlymemory;以下简称:cd-rom)、数字多功能只读光盘(digitalvideodiscreadonlymemory;以下简称:dvd-rom)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。

具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。

计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(localareanetwork;以下简称:lan),广域网(wideareanetwork;以下简称:wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

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