1.本发明涉及智能语音领域,尤其涉及一种用于全双工语音交互系统的测试方法及系统。
背景技术:2.为了测试语音交互系统的性能,可以对语音交互链路上各个模块进行独立测试。例如,通过唤醒/信号处理模块,测试唤醒率、唤醒时间、功耗等;通过语音识别模块,测试句错率、字错率;通过语义理解模块,测试准确率、召回率、解析准确率;基于多人主观评价对语音合成模块打分。现有绝大部分的语音交互系统使用半双工交互。在半双工交互中,各个模块之间有绝对有序的依赖关系,整个系统通过串行调用各个模块即可完成交互。在这种情况下,按模块独立测试是能满足要求的。
3.在实现本发明过程中,发明人发现相关技术中至少存在如下问题:
4.由于模块独立测试,测试指标各异,缺乏对整体语音交互系统的测试方法和评价指标。在全双工系统等多个模块融合决策的复杂系统中,各模块的指标已不能满足评价的需求。例如,对于半双工对话来说,用户每说一句话,半双工语音交互系统都是会进行响应的。而全双工语音交互系统只有有效的请求才会响应。
技术实现要素:5.为了至少解决现有技术中缺乏对整体语音交互系统的测试方法和评价指标,无法针对全双工语音交互系统进行合理有效测试的问题。
6.第一方面,本发明实施例提供一种用于全双工语音交互系统的测试方法,包括:
7.将和测试场景相关的有效语料集与和测试场景无关的无效语料集混合,确定场景混合语料集;
8.向搭载所述全双工语音交互系统的待测试语音交互设备播放所述场景混合语料集内各个语料音频;
9.获取所述待测试语音交互设备的工作日志,所述工作日志至少包括第一日志和第二日志,其中,
[0010]-所述第一日志记录有针对各个语料音频所识别的有效/无效属性以及对应的语料文本,
[0011]-所述第二日志记录有针对有各个语料音频的决策结果,所述决策包括响应和丢弃;
[0012]
基于所述第一日志中的无效语料音频的数量、所述第二日志中的丢弃结果数量确定拒识率;
[0013]
通过统计所述第二日志中预期不应输出响应决策结果而实际收到响应决策结果的日志条数,得到误响应次数,基于所述误响应次数与播放的语料音频的总数,确定误响应率。
[0014]
第二方面,本发明实施例提供一种用于全双工语音交互系统的测试系统,包括:
[0015]
语料集确定程序模块,用于将和测试场景相关的有效语料集与和测试场景无关的无效语料集混合,确定场景混合语料集;
[0016]
测试程序模块,用于向搭载所述全双工语音交互系统的待测试语音交互设备播放所述场景混合语料集内各个语料音频;
[0017]
日志获取程序模块,用于获取所述待测试语音交互设备的工作日志,所述工作日志至少包括第一日志和第二日志,其中,
[0018]-所述第一日志记录有针对各个语料音频所识别的有效/无效属性以及对应的语料文本,
[0019]-所述第二日志记录有针对有各个语料音频的决策结果,所述决策包括响应和丢弃;
[0020]
拒识率确定程序模块,用于基于所述第一日志中的无效语料音频的数量、所述第二日志中的丢弃结果数量确定拒识率;
[0021]
误响应率确定程序模块,用于通过统计所述第二日志中预期不应输出响应决策结果而实际收到响应决策结果的日志条数,得到误响应次数,基于所述误响应次数与播放的语料音频的总数,确定误响应率。
[0022]
第三方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的用于全双工语音交互系统的测试方法的步骤。
[0023]
第四方面,本发明实施例提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现本发明任一实施例的用于全双工语音交互系统的测试方法的步骤。
[0024]
本发明实施例的有益效果在于:实现全双工语音交互系统的端到端的测试,准确得出针对于全双工独有特性的指标。在测试过程中,对全双工交互系统特性做到全覆盖,改进了线上交互效果,提供必要的数据复现和指标支撑,同时自动化的测试减少了人力成本,提高测试效率。提高了语音交互系统的优化周期,减少试错成本。过去在未能测试系统交互成功率之前,交互的效果要通过产品销售、收集用户反馈后得到交互成功率等指标,现在可以在产品销售前通过测试得到各个场景下的估计值。
附图说明
[0025]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0026]
图1是本发明一实施例提供的一种用于全双工语音交互系统的测试方法的流程图;
[0027]
图2是本发明一实施例提供的一种用于全双工语音交互系统的测试方法的并行模块示意图;
[0028]
图3是本发明一实施例提供的一种用于全双工语音交互系统的测试系统的结构示意图。
具体实施方式
[0029]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0030]
如图1所示为本发明一实施例提供的一种用于全双工语音交互系统的测试方法的流程图,包括如下步骤:
[0031]
s11:将和测试场景相关的有效语料集与和测试场景无关的无效语料集混合,确定场景混合语料集;
[0032]
s12:向搭载所述全双工语音交互系统的待测试语音交互设备播放所述场景混合语料集内各个语料音频;
[0033]
s13:获取所述待测试语音交互设备的工作日志,所述工作日志至少包括第一日志和第二日志,其中,
[0034]-所述第一日志记录有针对各个语料音频所识别的有效/无效属性以及对应的语料文本,
[0035]-所述第二日志记录有针对有各个语料音频的决策结果,所述决策包括响应和丢弃;
[0036]
s14:基于所述第一日志中的无效语料音频的数量、所述第二日志中的丢弃结果数量确定拒识率;
[0037]
s15:通过统计所述第二日志中预期不应输出响应决策结果而实际收到响应决策结果的日志条数,得到误响应次数,基于所述误响应次数与播放的语料音频的总数,确定误响应率。
[0038]
在本实施方式中,需要进行测试准备:
[0039]
1、有效语料:语料应至少覆盖一特定场景,如:智能家居、电视、车载、教育等,并且覆盖该场景词汇、业务句式、高频领域。
[0040]
2、无效语料:准备指定的场景外的,不相关语料一份。
[0041]
3、背景噪音音频:根据场景选择相应的背景噪音,如:风扇/空调、灶具/厨具、音乐/电视节目、汽车发动机/鸣笛、雷雨/大风、嘈杂卖场等。
[0042]
4、测试设备:
[0043]
计算机:用于读取上述语料音频,并控制播放;并读取待测试设备的日志,统计分析得出测试结果。所有设备与该计算机相连。
[0044]
两台音频播放设备:如音响/人工嘴,用于播放音频。
[0045]
待测试设备:与计算机相连,计算机对该设备日志实时可读。
[0046]
其中:“语料”:语料是包含一句或多句文本,以及每句对应的录音音频。“系统决策结果”:系统通过输入的音频/信息等数据,输出操作指令类的决策结果。“系统交互结果”:系统通过输入的音频/信息等数据,输出响应当前状态的结果,其中包含:响应的识别结果
(文本),待播报的文本,设备端的动作描述等。
[0047]
在全双工语音交互系统中各个模块之间不再是串行关系,而是存在多个模块数据的并行计算,具体如图2所示。因此简单将各个模块的“成功率”相乘无法得到整个系统的成功率。
[0048]
对于步骤s11,获取上述步骤中准备好的覆盖指定场景的一定数量的有效语料,例如,智能家居中“我想听刘德华的歌”,和一定数量的与指定场景无关的无效语料,例如“思必驰对话工场,提供语音识别能力”。之后将有效语料集合与无效语料集合合并后随机排序,确定为场景混合语料集。
[0049]
对于步骤s12,通过准备好的播放设备,例如音响,向搭载所述全双工语音交互系统的待测试语音交互设备逐条播放所述场景混合语料集内各个语料音频。
[0050]
作为一种实施方式,所述方法还包括:
[0051]
向搭载所述全双工语音交互系统的待测试语音交互设备播放所述场景混合语料集内各个语料音频的同时,向搭载所述全双工语音交互系统的待测试语音交互设备播放预设背景噪音;
[0052]
基于带有背景噪音的语料音频对所述待测试语音交互设备进行测试。
[0053]
通过第一播放设备向搭载所述全双工语音交互系统的待测试语音交互设备播放所述场景混合语料集内各个语料音频;
[0054]
通过第二播放设备向搭载所述全双工语音交互系统的待测试语音交互设备播放预设背景噪音。
[0055]
在本实施方式中,由于预先准备了两个播放设备,这里使用播放语料音频的音响与播放背景噪音的音响同时播放,这样通过对播放的语音进行加噪,还可以进一步测试字准率与句准率的效果。
[0056]
待测试设备状态是否符合预期的判断如下:
[0057]
1、设备是否一直于拾音状态。
[0058]
2、在播放有效语料音频时,系统是否做出响应决策。
[0059]
3、在播放无效语料音频后,系统是否做出丢弃决策。
[0060]
4、在播放有效语料音频后,系统是否做出交互响应,响应结果是否符合预期。
[0061]
5、在播放退出相关语料音频后,系统是否关闭拾音。
[0062]
对于步骤s13,由于待测试设备与计算机相连,计算机对该设备日志实时可读,通过获取所述待测试语音交互设备的工作日志可以获得相应的日志信息。
[0063]
例如:
[0064]
1、播放一条语料音频,并记录是否是有效语料以及该句文本。
[0065]
2、播放语料音频中,系统是否给出决策结果,决策结果是否符合预期。
[0066]
3、播放语料音频后,系统是否给出交互结果
[0067]
a)响应的识别结果(文本)是否符合预期;
[0068]
b)待播报的文本是否符合预期;
[0069]
c)设备端的动作描述是否符合预期。
[0070]
4、播放开始至系统返回识别结果的第一个字的时间间隔。
[0071]
5、播放完毕至系统返回整句识别结果的时间间隔。
[0072]
6、播放完毕至系统返回完整交互结果的时间间隔。
[0073]
更具体的:
[0074]
1. 2020-05-11 09:00:00开始播放有效语料1,语料文本为“我想听刘德华的歌”[0075]
2. 2020-05-11 09:00:01收到实时识别结果:“我”[0076]
3. 2020-05-11 09:00:01收到实时识别结果:“我想”[0077]
4. 2020-05-11 09:00:02收到实时识别结果:“我想听”[0078]
5. 2020-05-11 09:00:02收到决策结果:打断
[0079]
6. 2020-05-11 09:00:03收到实时识别结果:“我想听留的”[0080]
7. 2020-05-11 09:00:03收到实时识别结果:“我想听刘德华”[0081]
8. 2020-05-11 09:00:03结束播放有效语料1
[0082]
9. 2020-05-11 09:00:04收到实时识别结果:“我想听刘德华的歌”[0083]
10. 2020-05-11 09:00:05收到交互结果//其中包含:响应的识别结果(文本);待播报的文本;设备端的动作指令
[0084]
1. 2020-05-11 09:01:00开始播放无效语料1,语料文本为“思必驰对话工场,提供语音识别能力”[0085]
2. 2020-05-11 09:01:01收到实时识别结果:“思必驰”[0086]
3. 2020-05-11 09:01:01收到实时识别结果:“思必驰对话”[0087]
4. 2020-05-11 09:01:02收到实时识别结果:“思必驰对话工场”[0088]
5. 2020-05-11 09:01:02收到决策结果:打断
[0089]
6. 2020-05-11 09:01:03收到实时识别结果:“思必驰对话工场,提供”[0090]
7. 2020-05-11 09:01:03收到实时识别结果:“思必驰对话工场,提供语音识别”[0091]
8. 2020-05-11 09:01:03结束播放无效语料1
[0092]
9. 2020-05-11 09:01:04收到实时识别结果:“思必驰对话工场,提供语音识别能力”[0093]
10. 2020-05-11 09:01:05收到决策结果:丢弃
[0094]
在测试中,在播放过程中,可以收到实时的识别结果,如日志2、3、4、6、7、9(也就是上文日志举例中的序号2、3、4、6、7、9)。但是为了专项专测在进行测试某个测试项时,仅需要日志中的部分信息。进而可以对日志的编号进行划分。便于操作。例如:日志1.2020-05-11 09:00:00开始播放有效语料1,语料文本为“我想听刘德华的歌”、日志1.2020-05-11 09:01:00开始播放无效语料1,语料文本为“思必驰对话工场,提供语音识别能力”将其划分为记录有针对各个语料音频所识别的有效/无效属性以及对应的语料文本的第一日志。同样的,也可以收到决策结果,如日志5、日志10中的“决策结果”将其划分为第二日志,具体的,决策结果包括响应、打断和丢弃。
[0095]
对于步骤s14,以无效语料的日志举例,最后获得的交互决策为【丢弃】,即对这句输入不做交互响应。也就是说,因为无效语料都应该丢弃,但是在实际使用中,可能会误将本不该响应的语音,错误的响应了。从而确定拒识率。拒识率=所有【丢弃】的日志条数/播放的无效语料数。
[0096]
对于步骤s15,但是不是所有决策结果都是符合预期的,如无效语料中日志5,就不应该有【打断】的决策结果;同样如无效语料中的日志10,如果不是丢弃而是一个交互结果,
那么也是不符合预期的。
[0097]
由于第一日志中已经记录有相应的语料文本例如“我想听刘德华的歌”、“思必驰对话工场,提供语音识别能力”,可以通过这些文本确定出预期的决策结果。
[0098]
通过统计第二日志中这些预期不应输出响应决策结果而实际收到响应决策结果的日志条数,得到误响应次数。误响应率=误响应次数/播放的语料条数。
[0099]“误响应率”、“拒识率”这些在半双工上不存在。拿误响应率来说,半双工上所有请求都会响应,然而全双工上只有有效的请求才会响应,所以才会存在误响应率。同样半双工下也不存在打断,设备输出的合成音在播放时,设备的收音设备并不在开启状态,所以也无法打断。
[0100]
通过该实施方式可以看出,实现全双工语音交互系统的端到端的测试,准确得出针对于全双工独有特性的指标。在测试过程中,对全双工交互系统特性做到全覆盖,改进了线上交互效果,提供必要的数据复现和指标支撑,同时自动化的测试减少了人力成本,提高测试效率。提高了语音交互系统的优化周期,减少试错成本。过去在未能测试系统交互成功率之前,交互的效果要通过产品销售、收集用户反馈后得到交互成功率等指标,现在可以在产品销售前通过测试得到各个场景下的估计值。
[0101]
作为一种实施方式,所述工作日志至少包括第三日志;
[0102]-所述第三日志记录有针对各个语料音频的交互结果,其中,所述交互结果包括:所述语料音频的待播报文本、所述语料音频的设备动作指令;
[0103]
通过所述第一日志中各个语料音频的语料文本确定对应的预期待播报文本以及预期设备动作指令;
[0104]
当所述各个语料音频的交互结果内的所述待播报文本与对应的预期待播报文本相符,并且所述设备动作指令与对应的预期设备动作指令相符时,所述交互结果符合预期;
[0105]
通过统计所述第三日志中符合预期的交互结果的日志条数,得到交互成功次数,基于所述交互成功次数与播放的语料音频的总数,确定交互成功率。
[0106]
在本实施方式中,将“收到交互结果”的日志10中确定为第三日志,用于记录针对各个语料音频的交互结果,具体的,包括{识别结果,待播报文本,动作指令}。
[0107]
同样的,由于第一日志中具有各个语料音频的语料文本,从而可以确定出对应的预期待播报文本以及预期设备动作指令。例如,“我想听刘德华的歌”的预期待播报文本为:“为您播放《忘情水》”,动作指令为调用音乐技能播放《忘情水》。
[0108]
交互成功率,不需要看识别结果,因为识别结果即使不正确,也可以得到正确的交互。例如,假如错误的识别了“偶像听刘德华的歌”,但是很有可能实际的播报文本还是为“为您播放《忘情水》”,实际的动作指令还是为调用音乐技能播放《忘情水》。
[0109]
如果1为符合预期,0为不符合预期。那么当{识别结果,待播报文本,动作指令}与预期相比为011,或111时,交互结果符合预期。
[0110]
最后通过“交互成功率”=所有符合预期的语料数/所有播放的语料数。得到全双工语音交互系统的交互成功率。
[0111]
通过该实施方式可以看出,半双工由于是串行执行,所以各个模块分别测试,最终得到交互成功率的结果。然而全双工是并行执行,所以只有通过本方法的端到端测试才能得到交互成功率的结果。
[0112]
作为一种实施方式,所述第三日志记录有针对各个语料音频的交互结果,所述交互结果还包括:所述语料音频的识别结果;
[0113]
基于所述第一日志中各个语料音频的语料文本与所述语料音频的识别结果,确定识别字准率以及识别句准率。
[0114]
通过比较第一日志与第三日志(日志10)内的响应的识别结果(文本),可以得到“识别句准率”、“识别字准率”,这里和半双工的计算方式一致,只是半双工是将日志1与日志9比较,而全双工下是日志去10比较。比如整句识别结果为“云朵的云字怎么写”,而全双工的响应内容可能是“云朵的云”。
[0115]
全双工与半双工的区别并不是在播放上,而是在交互上的区别。半双工下交互是1对1的,有一个请求就会有一个响应。而全双工下交互是多对多的,一个请求可能有多个响应,多个请求也可能只有一个响应。这才导致了对识别字准、句准的影响。
[0116]
作为一种实施方式,所述工作日志至少包括第四日志、第五日志、第六日志;
[0117]-所述第四日志记录有针对有各个语料音频结束播放的第一时间戳;
[0118]-所述第五日志记录有针对有各个语料音频结束播放后确定识别结果的第二时间戳;
[0119]-所述第六日志记录有确定针对各个语料音频的交互结果时刻的第三时间戳;
[0120]
基于所述第二时间戳与所述第一时间戳的时间差确定所述待测试语音交互设备的识别响应时间。
[0121]
基于所述第三时间戳与所述第二时间戳的时间差确定所述待测试语音交互设备的交互响应时间。
[0122]
其中,日志8中的时间戳“2020-05-11 09:00:03”,确定为第四日志;日志9中的时间戳“2020-05-11 09:00:04”确定为第五日志;日志10中的带有交互结果的时间戳“2020-05-11 09:00:05”确定为第六日志。
[0123]
通过“2020-05-11 09:00:04
”-“
2020-05-11 09:00:03”=1秒,可以得到系统响应识别的响应时间为1秒。
[0124]
通过“2020-05-11 09:00:05
”-“
2020-05-11 09:00:04”=1秒,可以得到系统响应交互的响应时间为1秒。
[0125]
如图2所示为本发明一实施例提供的一种用于全双工语音交互系统的测试系统的结构示意图,该系统可执行上述任意实施例所述的用于全双工语音交互系统的测试方法,并配置在终端中。
[0126]
本实施例提供的一种用于全双工语音交互系统的测试系统包括:语料集确定程序模块11,测试程序模块12,日志获取程序模块13,拒识率确定程序模块14和误响应率确定程序模块15。
[0127]
其中,语料集确定程序模块11用于将和测试场景相关的有效语料集与和测试场景无关的无效语料集混合,确定场景混合语料集;测试程序模块12用于向搭载所述全双工语音交互系统的待测试语音交互设备播放所述场景混合语料集内各个语料音频;日志获取程序模块13用于获取所述待测试语音交互设备的工作日志,所述工作日志至少包括第一日志和第二日志,其中,-所述第一日志记录有针对各个语料音频所识别的有效/无效属性以及对应的语料文本,-所述第二日志记录有针对有各个语料音频的决策结果,所述决策包括响
应和丢弃;拒识率确定程序模块14用于基于所述第一日志中的无效语料音频的数量、所述第二日志中的丢弃结果数量确定拒识率;误响应率确定程序模块15用于通过统计所述第二日志中预期不应输出响应决策结果而实际收到响应决策结果的日志条数,得到误响应次数,基于所述误响应次数与播放的语料音频的总数,确定误响应率。
[0128]
本发明实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的用于全双工语音交互系统的测试方法;
[0129]
作为一种实施方式,本发明的非易失性计算机存储介质存储有计算机可执行指令,计算机可执行指令设置为:
[0130]
将和测试场景相关的有效语料集与和测试场景无关的无效语料集混合,确定场景混合语料集;
[0131]
向搭载所述全双工语音交互系统的待测试语音交互设备播放所述场景混合语料集内各个语料音频;
[0132]
获取所述待测试语音交互设备的工作日志,所述工作日志至少包括第一日志和第二日志,其中,
[0133]-所述第一日志记录有针对各个语料音频所识别的有效/无效属性以及对应的语料文本,
[0134]-所述第二日志记录有针对有各个语料音频的决策结果,所述决策包括响应和丢弃;
[0135]
基于所述第一日志中的无效语料音频的数量、所述第二日志中的丢弃结果数量确定拒识率;
[0136]
通过统计所述第二日志中预期不应输出响应决策结果而实际收到响应决策结果的日志条数,得到误响应次数,基于所述误响应次数与播放的语料音频的总数,确定误响应率。
[0137]
作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的方法对应的程序指令/模块。一个或者多个程序指令存储在非易失性计算机可读存储介质中,当被处理器执行时,执行上述任意方法实施例中的用于全双工语音交互系统的测试方法。
[0138]
非易失性计算机可读存储介质可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据装置的使用所创建的数据等。此外,非易失性计算机可读存储介质可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,非易失性计算机可读存储介质可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0139]
本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的用于全双工语音交互系统的测试方法的步骤。
[0140]
本技术实施例的客户端以多种形式存在,包括但不限于:
[0141]
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机、多媒体手机、功能性手机,以及低端手机等。
[0142]
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如平板电脑。
[0143]
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器,掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
[0144]
(4)其他具有数据处理功能的电子装置。
[0145]
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0146]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0147]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0148]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。