一种基于语音识别的咨询业务处理方法及装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于语音识别的咨询业务处理方法及装置。
背景技术
目前,业务提供方(如:网站、银行、电信运营商等)所提供的业务多样化,使用业务的用户数量也与日俱增。
在实际应用中,用户可能会针对不同业务的业务内容、使用方法、注意事项等方面向业务提供方进行业务咨询。为了降低客服系统的人力成本,并提升业务咨询过程的便捷性,部分业务提供方采用互动式语音应答(Interactive Voice Response,IVR)系统结合自动语音识别(Automatic Speech Recognition,ASR)技术,针对用户说出的问题,采用通用语音识别模型进行语音识别后,自动为用户提供语音问答式的业务咨询服务。
但是,通用语音识别模型主要针对符合正常语法规则的语音输入进行语音识别。而实际应用中,业务提供方所提供的业务的类型繁多,不同类型业务可能涉及不同的专有词组或短语(如:一些独特的业务或产品的名称),部分专有词组或短语并不符合正常的语法规范,同时,用户针对问题的描述方式也多样化的。从而导致通用语音识别模型的识别准确度较低。
例如:用户说出的咨询问题为“一起花呗这个功能怎么用”,其中的“一起花呗”是一种独特的业务功能,而经过通用语音模型,可能识别为“一起话费这个功能怎么用”。显然,识别结果出现偏差,这将进一步导致后续的咨询结果也不准确。
发明内容
本申请实施例提供一种基于语音识别的咨询业务处理方法及装置,用以解决在基于语音识别的业务咨询中针对语音输入的识别准确率较低的问题。
本申请实施例提供的一种基于语音识别的咨询业务处理方法,包括:
接收待识别语音数据;
确定所述待识别语音数据所对应的业务类型;
根据匹配于所述业务类型的语音识别模型,对所述待识别语音数据进行语音识别,生成识别结果;
根据所述识别结果进行咨询处理。
本申请实施例提供的一种基于语音识别的咨询业务处理装置,包括:
接收模块,接收待识别语音数据;
确定模块,确定所述待识别语音数据所对应的业务类型;
识别模块,根据匹配于所述业务类型的语音识别模型,对所述待识别语音数据进行语音识别,生成识别结果;
咨询处理模块,根据所述识别结果进行咨询处理。
本申请实施例提供一种基于语音识别的咨询业务处理方法及装置,通过该方法,当服务器接收到待识别语音数据后,并不会直接使用通用语音识别模型对待识别语音数据进行语音识别处理,而是首先确定出待识别语音数据所对应的业务类型。在确定出了业务类型后,服务器便可以采用匹配于该业务类型的专用语音识别模型,对待识别语音数据进行语音识别处理。专用语音识别模型能够较为准确地识别出该业务类型所涉及的专有业务术语,从而能够在一定程度上提升语音识别的精度。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1a为本申请实施例提供的基于语音识别的咨询业务处理过程所基于的架构示意图;
图1b为本申请实施例提供的语音识别模型的示意图;
图1c为本申请实施例提供的基于语音识别的咨询业务处理过程;
图2为本申请实施例提供的对识别结果确认的示意图;
图3为本申请实施例提供的一种基于语音识别的咨询业务的应用实例的示意图;
图4为本申请实施例提供的基于语音识别的咨询业务处理装置结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如前所述,为了解决目前IVR系统中采用通用语音识别模型的识别准确度较低的现象,本申请实施例中提供了一种基于语音识别的咨询业务处理方法,以提升在自动语音交互的业务咨询过程中对语音输入的识别精度。
需要说明的是,本申请实施例中所述的基于语音识别的咨询业务处理方法,可采用如图1a所示的架构。在图1a中可见,用户可通过终端进行语音输入,相应的语音数据传输至业务提供方后台的IVR系统中,由IVR系统针对语音数据进行语音识别,进而基于识别得到的咨询问题提供业务咨询服务。其中,所述的终端,包括但不限于:智能手机、智能手表、平板电脑、计算机等具备语音信号采集功能的设备。所述的IVR系统可以承载在相应的服务器(或服务器集群)中,为了便于后续描述,将承载有IVR系统的服务器(或服务器集群)简称为:服务器。
对于图1a中的IVR系统而言,更为具体地,如图1b所示,该IVR系统内除了包含有通用语音识别模型之外,还包含对应于不同业务系统的专用语音识别模型。其中,对于任一专用语音识别模型而言,其内部设置有与相应业务系统相关的声学模型(Acoustic Model,AM)及语言模型(Language Model,LM)。
那么,在实际的语音识别过程中,解码器会调用相应的语音识别模型对待识别的语音数据进行语音识别处理。
作为本申请实施例中的一种可行方式,所述的专用语音识别模型,可以通过与某一类型的业务相关的业务术语并结合已存储的咨询问题模板作为训练样本,可采用诸如深度神经网络(Deep Neural Network,DNN)、卷积神经网络(Convolutional NeuralNetwork,CNN)、循环神经网络(Recurrent Neural Network,RNN)等算法进行训练所得到。也就是说,匹配于不同业务类型的专用语音识别模型,将能够更准确地识别出与该类型业务的相关语音数据。当然,这里并不构成对本申请的限定。
下面将结合如图1a、1b所示的架构,对本申请中的业务处理方法进行说明,具体而言,如图1c所示,业务处理过程包括如下步骤:
步骤S101:接收待识别语音数据。
在实际的语音咨询场景下,用户通过语音输入的方式所说出的问题,被用户所使用的终端采集后,便可生成相应的语音数据。换言之,所述的语音数据可认为是经终端采集后所生成的音频数据。需要说明的是,终端对语音采集的过程中,对语音输入进行滤波、降噪等处理所得到的模拟信号、经过模数转换后所得到的数字信号等,均可认为是本申请中语音数据所涵盖的范围。
可以理解,在实际操作时,上述的语音数据将发送给业务提供方后台的IVR系统中,用以进行语音识别。故在本申请实施例中,上述的语音数据就是需要进行语音识别处理的,也即,待识别语音数据。
作为一种可行的方式,用户所发出的待识别语音数据,将通过终端传输至业务提供方后台的服务器以进行语音识别,此时,将由服务器接收所述的待识别语音数据。
而作为另一种可行方式,用户所使用的终端可能安装有业务提供方的应用程序,而该应用程序中携带了相应的语音识别模型,也就是说,该方式下对语音数据的识别过程可以在终端本地执行。此时,接收待识别语音数据的主体可认为是用户所使用的终端。
步骤S102:确定所述待识别语音数据所对应的业务类型。
正是考虑到现有IVR系统针对待识别语音数据进行识别的过程,通常仅基于通用语音识别模型,而造成对某些特定的业务术语难以准确确定。所以,在本申请实施例中,当接收待识别语音数据后,将首先确定相对应的业务类型。
在本申请实施例中,确定业务类型的方式可以多种方式,具体而言,在一种方式中,用户可能在相应的咨询界面中点击了所要咨询的业务类别,再进行语音输入,那么在此情况下,可以根据用户所选择的业务类别,确定待识别语音数据所对应的业务类型。
在另一种方式中,用户在某业务界面中发起咨询业务,那么,用户所要咨询的业务问题很有可能与该业务界面相关,那么,在此情况下,可将该业务界面所对应的业务类型,确定为待识别语音数据所对应的业务类型。
步骤S103:根据匹配于所述业务类型的语音识别模型,对所述待识别语音数据进行语音识别,生成识别结果。
如前所述,本申请实施例中的专用语音识别模型,与相应的业务类型相匹配,那么,在确定出待识别语音数据的业务类型的基础上,便可以使用相应的专用语音识别模型对待识别语音数据进行语音识别处理。
需要说明的是,本申请实施例中所使用的专用语音识别模型,能够更加准确地识别出属于某一业务类型的业务术语。从而提升了对用户语音的识别精度。
所述的识别结果,通常为包括文字、数字或其组合的文本信息。可以认为,经过上述过程所得到的识别结果,是将用户以语音形式说出的咨询问题,转换为文本格式的咨询问题。
当然,对于上述步骤S103,也包含未确定出业务类型的情况,此时,将选择通用语音识别模型,实现对待识别语音数据的识别处理。这里并不应构成对本申请的限定。
步骤S104:根据所述识别结果进行咨询处理。
基于识别结果,服务器可以使用预设的咨询策略实现咨询业务的处理。在一种实际应用场景下,咨询策略可为:在生成的识别结果得到用户确认的情况下,使用预设的问答模型,选定匹配于咨询问题的答案。在另一种实际应用场景下,咨询策略可为:若生成的识别结果并未得到用户确认的情况下,跳转至人工客服系统。
当然,上述对业务处理的方式仅是一种示例,具体在实际应用中将根据实际应用的需要进行调整和设定,这里并不应构成对本申请的限定。
通过上述步骤,当服务器接收到待识别语音数据后,并不会直接使用通用语音识别模型对待识别语音数据进行语音识别处理,而是首先确定出待识别语音数据所对应的业务类型。在确定出了业务类型后,服务器便可以采用匹配于该业务类型的专用语音识别模型,对待识别语音数据进行语音识别处理。专用语音识别模型能够较为准确地识别出该业务类型所涉及的专有业务术语,从而能够在一定程度上提升语音识别的精度。
需要说明的是,在实际操作中,服务器在接收到待识别语音数据后,使用何种语音识别模型进行语音识别,往往取决于服务器所确定出的业务类型。下面将详细说明本申请实施例中确定待识别语音数据所对应的业务类型的过程。
具体而言,确定所述待识别语音数据所对应的业务类型过程可以为:获取所述待识别语音数据对应的用户信息,根据所述用户信息,确定所述待识别语音数据所对应的业务类型。
其中,所述用户信息至少包括:用户的账户信息、用户发出语音咨询操作所对应的页面信息和/或用户发出语音咨询操作时所使用业务的业务信息等。
在用户使用业务的过程中,可能会发起相应的咨询操作,进入相应的咨询页面进行语音咨询。此时,用户针对所使用的业务进行咨询的可能性较高,那么,服务器便可以确定出用户正在使用的业务所属的类型,作为待识别语音数据所对应的业务类型。
作为更为具体地一种场景,用户在终端上启动某业务APP,并进入到该APP中某一业务产品的页面内,假设此时,用户发起咨询操作,触发语音咨询功能并说出相应的问题。那么,服务器则可在接收到用户的语音问题后,可获知用户发起咨询操作所基于的页面,并进一步确定出该页面所属的业务类型,作为用户咨询的语音问题所对应的业务类型。
以上内容是本申请实施例中确定待识别语音数据对应的业务类型的过程,在实际应用时,具体可以根据实际情况进行选择确定,这里并不构成对本申请的限定。
经过业务类型的确定过程,可能得到两种结果:一种是确定出待识别语音数据所对应的业务类型,而另一种则是未确定出待识别语音数据所对应的业务类型。下面将针对两种结果的处理方式进行详细说明。
一、确定出待识别语音数据所对应的业务类型。
在实际应用中,通过上述过程所确定出的业务类型,仅是一种可能的情况,并不代表用户实际所要咨询的问题所属的业务类型。故在本申请实施例中,当得到了识别结果后,还会将确定识别结果(即,咨询问题)展示给用户,以便用户进行确认。只有在用户确认之后,才会针对该咨询问题进行咨询处理。
需要说明的是,在实际应用中,对咨询结果的展示方式,可以采用如图2所示的方式。从图2中可见,在咨询界面中展示识别得到的咨询问题,同时,在该界面中还设置有确认选项(图2中的“是”、“否”两个选项),用户可对确认选项进行操作。当然,图2所示的展示方式仅是一种可能的实现方式,在实际应用中,还可以采用诸如弹窗、语音提示等其他方式,这里并不应构成对本申请的限定。
如果用户确认识别结果就是用户所要咨询的问题,那么,服务器则会针对识别得到的咨询问题进行处理,作为一种可行的方式,服务器可以在预先建立的业务资料库中,查找与该咨询问题相匹配的咨询答案提供给用户。
而如果用户确认当前的识别结果并非是用户所要咨询的问题,就表明服务器所确定的专用语音识别模型可能有误。对于此情况,在本申请实施例中,服务器将使用通用语音识别模型进行语音识别,并生成相应的识别结果(经过通用语音模型得到识别结果的后续处理过程,与下述内容相似,故可直接参考下述内容)。
二、未确定出待识别语音数据所对应的业务类型。
对于未确定出业务类型的情况,服务器将使用通用语音识别模型对待识别语音数据进行语音识别,得到相应的识别结果。同样地,经过识别处理过程所得到的识别结果,有可能是用户所需的咨询问题,但也可能不是用户所需的咨询问题,故在本申请实施例中,服务器同样会将识别结果展示给用户,以便用户进行确认。
如果用户确认该识别结果就是所需的咨询问题,那么,服务器便可直接对该咨询问题进行处理。
但如果用户确认该识别结果并非是用户所需的咨询问题,那么,服务器将会针对识别结果执行所属业务类型的可信度计算,以确定出该识别结果可能属于的业务类型。
这里需要说明的是,针对识别结果所属业务类型的可信度计算,可以采用相应的可信度算法,可基于诸如语言表述、语义判断、关键词等方面进行计算,得到对应于每一业务类型的可信度。进而,针对某一业务类型,如果该可信度超过了该业务类型的可信度阈值(可以认为,每一业务类型对应于一可信度阈值,为便于描述,以下将可信度阈值简称为:阈值),则表示该识别结果有较大可能属于该业务类型。故在本申请实施例中,在确定出对应于每一业务类型的可信度之后,如果可信度超过相应业务类型的预设阈值,则服务器将使用该业务类型的专用语音识别模型,对语音数据进行再次识别。与前述内容类似,再次识别所生成的识别结果,仍将展示给用户进行确认。这里的确认过程可参考前述内容,故不再过多赘述。
在实际应用中,对于同一识别结果,其对应于多个业务类型的可信度可能均超过阈值,对于此情况,服务器会使用这些业务类型所对应的专用语音识别模型,对待识别语音数据进行再次识别。服务器会从识别得到的多个识别结果中,选择任一识别结果展示给用户。
对于可信度低于阈值的情况,服务器可将识别结果作为失败结果,进行相应的后续处理。例如:针对失败结果,使用人工的方式将失败结果划分在相应的业务类型下,同时,经过一定数量的累计后,将收集得到的若干失败结果作为训练样本,输入至通用语音识别模型进行训练优化。当然,这里并不构成对本申请的限定。
经过前述内容,如果用户仍确认识别结果并非是用户所需的咨询问题,那么,服务器可以采用人工介入的方式,将用户转接至人工客服系统,进行咨询服务。当然,这是本申请实施例中一种可行的服务决策,并不应构成对本申请的限定。
从前述内容中可见,本申请实施例中的基于语音识别的咨询业务处理方法,只有在未能够识别出对应的业务类型或用户确认识别结果并非用户所需的咨询问题的情况下,才会使用通用语音识别模型进行识别,得到识别结果。此时,如果用户仍确认该识别结果并非用户所需的咨询问题,那么,服务器将针对该识别结果,确定出对应于每一业务类型的可信度,并选择最为可信的(即,可信度不小于阈值)业务类型的专用语音识别模型进行识别,得到识别结果。显然,这样的方式能够起到纠正识别结果的作用,并能够实现一定程度的容错。相较于现有技术中仅使用通用语音识别模型的方式而言,本申请实施例中的上述方法能够提升识别的精度及容错性。
在本申请实施例中,语音识别模型针对待识别语音数据进行语音识别后,通常是将语音数据转换为文本格式的数据,考虑到实际应用中,用户所的口语描述的随意性较强,包含一部分口语化的内容,所以,经过转换得到的文本数据也可能包含非标准化的内容,不能完全命中咨询问题。基于此,本申请实施例中,还可以采用问题模型,将非标准化的文本数据,转换为标准的咨询问题。
其中,所述的问题模型中,可包含语义识别算法、同义文本替换算法等语言算法,并且,问题模型与已建立的咨询问题库相关联,从而,问题模型可以根据相应算法和问题库,将文本数据转换为标准化的咨询问题。当然,这里并不构成对本申请的限定。
基于前述内容,以服务器为执行主体,在实际应用中的基于语音识别的咨询业务处理过程如图3所示:
步骤S301:服务器接收终端发送的待识别语音数据。
此处的待识别语音数据是由终端采集用户的语音输入所生成的。
步骤S302:获取用户信息,根据用户信息确定待识别语音数据所对应的业务类型。若确定出业务类型,则执行步骤S303;若未确定出业务类型,则执行步骤S306。
步骤S303:根据匹配于该业务类型的专用语音识别模型,对待处理语音数据进行识别处理,生成识别结果,并展示。
步骤S304:接收用户针对展示的识别结果的确认,判断识别结果是否为用户所需的咨询问题,若是,则执行步骤S305,否则,执行步骤S306。
步骤S305:在已建立的问答库中查询识别结果所对应的答案,作为咨询结果反馈给用户。
步骤S306:根据通用语音识别模型,对待处理语音数据进行识别处理,生成识别结果,并展示。
步骤S307:接收用户针对展示的识别结果的确认,判断识别结果是否为用户所需的咨询问题,若是,则执行步骤S305,否则,执行步骤S308。
步骤S308:计算识别结果对应于每一业务类型的可信度,并确定出可信度不小于预设阈值的业务类型,执行步骤S303。
在如图3所示的处理过程中,需要说明的是,服务器可以监测步骤S308至步骤S303的循环次数,达到设定次数后,可以自动将用户转接至人工客服系统。这里并不构成对本申请的限定。
以上为本申请提供的基于语音识别的咨询业务处理方法的几种实施例,基于同样的思路,本申请还提供了基于语音识别的咨询业务处理装置的实施例,如图4所示。图4中的基于语音识别的咨询业务处理装置包括:
接收模块401,接收待识别语音数据;
确定模块402,确定所述待识别语音数据所对应的业务类型;
识别模块403,根据匹配于所述业务类型的语音识别模型,对所述待识别语音数据进行语音识别,生成识别结果;
咨询处理模块404,根据所述识别结果进行咨询处理。
更为具体地,所述确定模块402,获取所述待识别语音数据对应的用户信息,根据所述用户信息,确定所述待识别语音数据所对应的业务类型。
其中,所述用户信息至少包括:用户的账户信息、用户发出语音咨询操作所对应的页面信息和/或用户发出语音咨询操作时所使用业务的业务信息等。
所述识别模块403,当所述确定模块402确定出所述待识别语音数据的业务类型时,使用匹配于所述业务类型的专用语音识别模型,对所述待识别语音数据进行语音识别;当所述确定模块402未确定出所述待识别语音数据的业务类型时,使用所述通用语音识别模型,对所述待识别语音数据进行语音识别。
所述装置还包括:确认模块405,将生成的识别结果进行展示,并接收用户对展示的所述识别结果的确认。
所述识别模块403,在所述用户确认所述识别结果为错误结果时,对所述待识别语音数据执行:
若所述识别结果通过所述专用语音识别模型生成,则使用所述通用语音识别模型对所述待识别语音数据进行再次识别;
若所述识别结果通过所述通用语音识别模型生成,则确定所述识别结果对应于每一业务类型的可信度,根据所述可信度,选择专用语音识别模型对所述待识别语音数据进行再次识别。
所述识别模块403,选择所述可信度不小于可信度阈值的业务类型,使用对应于选择出的业务类型的专用语音识别模型,对所述待识别语音数据进行再次识别,其中,每一业务类型对应于一可信度阈值。
所述识别模块403,将待识别语音数据转换为文本数据,在预先建立的问题库中,确定匹配于所述文本数据的咨询问题,作为识别结果。
所述咨询处理模块404,根据预先建立的答案库中,查询与所述咨询问题相匹配的答案,作为咨询结果。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定事务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行事务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。