首页> 中国专利> 语音流利度检测的方法、装置和电子设备

语音流利度检测的方法、装置和电子设备

摘要

本申请实施例公开了一种语音流利度检测的方法、装置和电子设备,能够提高语音流利度检测的准确性,提高用户体验。该语音流利度检测的方法,包括:获取待检测语音的声学特征;根据该待检测语音的声学特征获取该待检测语音的流利度特征,其中,该流利度特征包括该待检测语音的时频域信息;将该流利度特征输入神经网络,得到该待检测语音的流利度的检测结果。在本申请实施例中,获取到的待检测语音的声学特征可以反映待检测语音的质量以及时频域信息,从不同于停顿检测的维度表征待检测语音的流利度,基于该声学特征获取流利度特征,并进行流利度检测,能够使得流利度的检测更为准确。

著录项

  • 公开/公告号CN112951270A

    专利类型发明专利

  • 公开/公告日2021-06-11

    原文格式PDF

  • 申请/专利权人 新东方教育科技集团有限公司;

    申请/专利号CN201911172213.1

  • 发明设计人 程建峰;高芸;欧志刚;

    申请日2019-11-26

  • 分类号G10L25/51(20130101);G10L25/24(20130101);G10L25/12(20130101);G10L25/30(20130101);

  • 代理机构11329 北京龙双利达知识产权代理有限公司;

  • 代理人孙涛;毛威

  • 地址 100080 北京市海淀区海淀中街6号9层

  • 入库时间 2023-06-19 11:21:00

说明书

技术领域

本申请涉及语音检测领域,更为具体地,涉及一种语音流利度检测的方法、装置和电子设备。

背景技术

目前,随着语言网络教学的普及,越来越多的消费者选择通过电脑、手机等终端上的语言学习软件进行语言学习,例如进行口语发音学习等等。在口语学习中,流利度和准确性是衡量口语发音质量评估的两个重要指标,其中,流利度作为语言表达的高级技巧,在计算机辅助教学系统中往往被忽视,且目前手机等终端上的口语发音评估系统中往往没有流利度打分,或者为停顿检测的流利度打分,流利度的测评结果不准确。

因此,如何提高口语语音流利度检测的准确性,提高用户体验,是一项亟待解决的问题。

发明内容

本申请实施例提供了一种语音流利度检测的方法、装置和电子设备,能够提高语音流利度检测的准确性,提高用户体验。

第一方面,提供了一种语音流利度检测的方法,包括:获取待检测语音的声学特征;根据该待检测语音的声学特征获取该待检测语音的流利度特征,其中,该流利度特征包括该待检测语音的时频域信息;将该流利度特征输入神经网络,得到该待检测语音的流利度的检测结果。

在本申请中,获取到的待检测语音的声学特征可以反映待检测语音的质量以及时频域信息,从不同于停顿检测的维度表征待检测语音的流利度,基于该声学特征获取流利度特征,并进行流利度检测,能够使得流利度的检测更为准确。

结合第一方面,在第一方面的第一种实现方式中,该根据该声学特征获取该待检测语音的流利度特征,包括:对该待检测语音的声学特征进行编码得到语义向量;根据该语义向量获取该待检测语音的流利度特征,其中,该流利度特征包括该待检测语音的时频域信息以及语义信息。

采用本申请实施方式的方案,根据待检测语音的声学特征编码得到语义向量,并将该语义向量作为待检测语音的流利度特征。在该流利度特征中,除了包括待检测语音的时频域信息可以体现流利度以外,还可以根据整段待检测语音的全局信息和语义信息进一步评价流利度,能够进一步提高流利度检测的准确性。

结合第一方面的第一种实现方式,在第一方面的第二种实现方式中,该根据该语义向量获取该待检测语音的流利度特征,包括:将该语义向量作为该流利度特征。

结合第一方面的第一种实现方式,在第一方面的第三种实现方式中,该根据该语义向量获取该待检测语音的流利度特征,包括:根据该语义向量解码得到该待检测语音的识别结果;根据该待检测语音的识别结果判断得到该待检测语音的发音正确率;将该语义向量与该发音正确率进行连接,得到该待检测语音的流利度特征。

采用本申请实施方式的方案,流利度特征向量融合了发音正确率、待检测语音的时频域信息以及语义信息,流利度的检测不仅仅跟语音的时频域信息以及语义信息相关,还与整体的语音正确率相关,例如,在语音教学系统中,该段语音十分流利,根据该段语音的语义向量检测得到的流利度结果较优,但实际上该语音的表述错误却很多,例如,发音不准或者发音不对的问题很多时,即使发音十分流利,也不能认为其流利度高。因此,采用该检测方式,能够结合具体的检测结果对流利度进行评估,能够进一步提高流利度检测的准确度。

结合第一方面的第一种实现方式,在第一方面的第四种实现方式中,该方法还包括:获取该待检测语音的静音特征向量;

该根据该语义向量获取该待检测语音的流利度特征,包括:根据该语义向量解码得到该待检测语音的识别结果;根据该待检测语音的识别结果判断得到该待检测语音的发音正确率;将该语义向量,该发音正确率以及该静音特征向量加权连接,得到该待检测语音的流利度特征。

结合第一方面的第四种实现方式,在第一方面的第五种实现方式中,该待检测语音的静音特征向量包括:该待检测语音中短静音的次数、该待检测语音中长静音的次数、该待检测语音中静音的总时长、以及该待检测语音的总时长中的至少一种。

通过本申请实施例的方案,语义向量包括待检测语音的时频域信息和语义信息,其中包含了语音表达中的流利度信息。静音特征向量为从时域上识别得到的静音时长以及静音次数等信息,语义向量和静音特征向量为采用不同方法,从不同维度上得到的流利度相关特征,此外,还结合发音正确率,从多个不同角度综合考虑语音流利度的表征,采用该检测方式,能够进一步提高流利度检测的准确度。

结合第一方面及其上述实现方式,在第一方面的第六种实现方式中,该获取待检测语音的声学特征,包括:对该待检测语音进行分帧得到多帧短语音;获取该多帧短语音中每帧短语音的声学特征;

其中,该声学特征包括:梅尔倒频谱系数MFCC、梅尔滤波器组fBank特征、以及线性预测编码系数LPCC中的至少一种。

结合第一方面及其上述实现方式,在第一方面的第七种实现方式中,该待检测语音的流利度的检测结果包括评分结果,该评分结果为基于该流利度特征进行评分分类的结果。

结合第一方面的第七种实现方式,在第一方面的第八种实现方式中,该待检测语音的流利度的检测结果还包括:等级结果,该等级结果为基于该流利度特征进行等级分类的结果。

采用本申请实施例的方式,在基于流利度评分的基础上,还增加了流利度等级的检测,若将流利度评分结果与流利度等级结果同时呈现给用户,能够改善用户用于流利度检测的直观感受,提高用户体验。

结合第一方面及其上述实现方式,在第一方面的第九种实现方式中,该神经网络为图神经网络。

采用图神经网络对流利度特征进行深度学习,能够提高数据的因果推理能力,网络性能较优,流利度检测结果准确。

结合第一方面及其上述实现方式,在第一方面的第十种实现方式中,该方法还包括:基于语音样本的声学特征和该语音样本的至少一个流利度评分对该神经网络进行训练。

结合第一方面的第十种实现方式,在第一方面的第十一种实现方式中,该基于语音样本的声学特征和该语音样本的至少一个流利度评分对该神经网络进行训练,包括:对该语音样本的声学特征进行编码得到样本语义向量;

根据该样本语义向量获取该语音样本的样本流利度特征,其中,该样本流利度特征包括该语音样本的时频域信息以及语义信息;根据该至少一个流利度评分对该语音样本进行编码得到该语音样本的标签;基于该样本流利度特征和该标签,训练该神经网络。

结合第一方面的第十一种实现方式,在第一方面的第十二种实现方式中,该根据该至少一个流利度评分对该语音样本进行编码得到该语音样本的标签,包括:根据该至少一个流利度评分,采用正态分布编码方式对该语音样本进行编码得到该语音样本的至少一个正态编码标签。

由于专家评分的主观性,同一段语音样本,不同的专家的流利度评分可能存在差异。为了避免人工评分的差异性和主观性对神经网络训练结果的影响,可以采用正态分布编码方式对该样本数据进行标签编码,使得语音样本的训练结果更优,评分结果更加靠近于多个专家评分的均值。

结合第一方面的第十二种实现方式,在第一方面的第十三种实现方式中,该基于该样本流利度特征和该标签,训练该神经网络,包括:根据该样本流利度特征、该至少一个正态编码标签以及该神经网络的第一输出层的损失函数,训练该神经网络;其中,该神经网络的第一输出层用于基于该样本流利度特征对该语音样本进行评分分类。

结合第一方面的第十三种实现方式,在第一方面的第十四种实现方式中,该基于该样本流利度特征和该标签,训练该神经网络,还包括:根据该样本流利度特征、第一独热编码标签以及该神经网络的第二输出层的损失函数,训练该神经网络;其中,该神经网络的第二输出层用于基于该样本流利度特征进行回归;该第一独热编码标签为基于该至少一个流利度评分的平均值编码得到标签,该第一独热编码标签的位数与该语音样本的评分分类的类别数相等。

根据本实现方式的方案,采用第二输出层的回归模型的损失函数和第一输出层的评分分类模型的损失函数同时对神经网络的参数进行训练,使得训练得到的神经网络同时符合回归的输出分布,并接近于评分分类结果,使得训练得到的神经网络模型的输出更为准确,更有利于进行流利度的检测。

结合第一方面的第十四种实现方式,在第一方面的第十五种实现方式中,该基于该样本流利度特征和该标签,训练该神经网络,还包括:根据该样本流利度特征、第二独热编码标签以及该神经网络的第三输出层的损失函数,训练该神经网络;其中,该神经网络的第三输出层用于根据该样本流利度特征对该语音样本进行等级分类。该第二独热编码标签为基于该至少一个流利度评分的平均值编码得到标签,该第二独热编码标签的位数与该语音样本的等级分类的类别数相等。

第二方面,提供了一种语音流利度检测的装置,包括:获取单元,用于获取待检测语音的声学特征;处理单元,用于根据该声学特征获取该待检测语音的流利度特征,其中,该流利度特征包括该待检测语音的时频域信息;检测单元,用于将该流利度特征输入神经网络,得到该待检测语音的流利度的检测结果。

结合第二方面,在第二方面的第一种实现方式中,该处理单元具体用于:对该待检测语音的声学特征进行编码得到语义向量;根据该语义向量获取该待检测语音的流利度特征,其中,该流利度特征包括该待检测语音的时频域信息以及语义信息。

结合第二方面的第一种实现方式,在第二方面的第二种实现方式中,该处理单元具体用于:将该语义向量作为该流利度特征。

结合第二方面的第一种实现方式,在第二方面的第三种实现方式中,该处理单元具体用于:根据该语义向量解码得到该待检测语音的识别结果;根据该待检测语音的识别结果判断得到该待检测语音的发音正确率;将该语义向量与该发音正确率进行连接,得到该待检测语音的流利度特征。

结合第二方面的第一种实现方式,在第二方面的第四种实现方式中,该获取单元还用于:获取该待检测语音的静音特征向量;该处理单元具体用于:根据该语义向量解码得到该待检测语音的识别结果;根据该待检测语音的识别结果判断得到该待检测语音的发音正确率;将该语义向量,该发音正确率以及该静音特征向量加权连接,得到该待检测语音的流利度特征。

结合第二方面的第四种实现方式,在第二方面的第五种实现方式中,该待检测语音的静音特征向量包括:该待检测语音中短静音的次数、该待检测语音中长静音的次数、该待检测语音中静音的总时长、以及该待检测语音的总时长中的至少一种。

结合第二方面及其上述实现方式,在第二方面的第六种实现方式中,该获取单元用于:对该待检测语音进行分帧得到多帧短语音;获取该多帧短语音中每帧短语音的声学特征;其中,该声学特征包括:梅尔倒频谱系数MFCC、梅尔滤波器组fBank特征、以及线性预测编码系数LPCC中的至少一种。

结合第二方面及其上述实现方式,在第二方面的第七种实现方式中,该待检测语音的流利度的检测结果包括评分结果,该评分结果为基于该流利度特征进行评分分类的结果。

结合第二方面的第七种实现方式,在第二方面的第八种实现方式中,该待检测语音的流利度的检测结果还包括:等级结果,该等级结果为基于该流利度特征进行等级分类的结果。

结合第二方面及其上述实现方式,在第二方面的第九种实现方式中,该神经网络为图神经网络。

结合第二方面及其上述实现方式,在第二方面的第十种实现方式中,该装置还包括:训练单元;该训练单元用于基于语音样本的声学特征和该语音样本的至少一个流利度评分对该神经网络进行训练。

结合第二方面的第十种实现方式,在第二方面的第十一种实现方式中,该处理单元还用于:对该语音样本的声学特征进行编码得到样本语义向量;根据该样本语义向量获取该语音样本的样本流利度特征,其中,该样本流利度特征包括该语音样本的时频域信息以及语义信息;根据该至少一个流利度评分对该语音样本进行编码得到该语音样本的标签;该训练单元具体用于:基于该样本流利度特征和该标签,训练该神经网络。

结合第二方面的第十一种实现方式,在第二方面的第十二种实现方式中,该处理单元具体用于:根据该至少一个流利度评分,采用正态分布编码方式对该语音样本进行编码得到该语音样本的至少一个正态编码标签。

结合第二方面的第十二种实现方式,在第二方面的第十三种实现方式中,该训练单元具体用于:根据该样本流利度特征、该至少一个正态编码标签以及该神经网络的第一输出层的损失函数,训练该神经网络;其中,该神经网络的第一输出层用于基于该样本流利度特征对该语音样本进行评分分类。

结合第二方面的第十三种实现方式,在第二方面的第十四种实现方式中,该训练单元还具体用于:根据该样本流利度特征、第一独热编码标签以及该神经网络的第二输出层的损失函数,训练该神经网络;其中,该神经网络的第二输出层用于基于该样本流利度特征进行回归;该第一独热编码标签为基于该至少一个流利度评分的平均值编码得到标签,该第一独热编码标签的位数与该语音样本的评分分类的类别数相等。

结合第二方面的第十四种实现方式,在第二方面的第十五种实现方式中,该训练单元还具体用于:根据该样本流利度特征、第二独热编码标签以及该神经网络的第三输出层的损失函数,训练该神经网络;其中,该神经网络的第三输出层用于根据该样本流利度特征对该语音样本进行等级分类;该第二独热编码标签为基于该至少一个流利度评分的平均值编码得到标签,该第二独热编码标签的位数与该语音样本的等级分类的类别数相等。

第三方面,提供了一种电子设备,包括存储器和处理器,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得电子设备执行第一方面及第一方面的任一种可能实现方式中的方法。

第四方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码被电子设备的处理器运行时,使得电子设备执行第一方面或第一方面的任一种可能的实现方式中的方法。

第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有程序,所述程序使得电子设备执行第一方面或第一方面的任一种可能的实现方式中的方法。

附图说明

图1是根据本申请实施例的一种语音流利度检测系统的示意图。

图2是根据本申请实施例的另一语音流利度检测系统的示意图。

图3是根据本申请实施例的一种语音流利度检测方法的示意性流程图。

图4是根据本申请实施例的一种神经网络的结构示意图。

图5是根据本申请实施例的一种图卷积神经网络的结构示意图。

图6是根据本申请实施例的一种图卷积神经网络的示意性框图。

图7是根据本申请实施例的另一图卷积神经网络的结构示意图。

图8是根据本申请实施例的另一语音流利度检测方法的示意性流程图。

图9是根据本申请实施例的一种Seq2Seq的模型结构图。

图10是根据本申请实施例的另一语音流利度检测方法的示意性流程图。

图11是根据本申请实施例的另一语音流利度检测方法的示意性流程图。

图12是根据本申请实施例的另一语音流利度检测方法的示意性流程图。

图13是一种基于损失函数更新神经网络参数的方法的示意图。

图14是计算损失函数的梯度的方法的示意图。

图15是根据本申请实施例的一种训练神经网络方法的示意性流程图。

图16是本申请提供的一种语音流利度检测装置的结构示意图。

图17是本申请提供的另一语音流利度检测装置的结构示意图。

图18是本申请提供的一种神经网络训练装置的结构示意图。

图19是本申请提供的一种电子设备的示意性框图。

具体实施方式

下面将结合附图,对本申请实施例中的技术方案进行描述。

应理解,本文中的具体的例子只是为了帮助本领域技术人员更好地理解本申请实施例,而非限制本申请实施例的范围。

还应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

还应理解,本说明书中描述的各种实施方式,既可以单独实施,也可以组合实施,本申请实施例对此并不限定。

除非另有说明,本申请实施例所使用的所有技术和科学术语与本申请的技术领域的技术人员通常理解的含义相同。本申请中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本申请的范围。本申请所使用的术语“和/或”包括一个或多个相关的所列项的任意的和所有的组合。

目前,在一般的语音教学系统中,一般缺乏语音流利度的检测,或者仅仅根据语音中的停顿次数或者停顿时长评估语音的流利度。但在日常的交流中,根据情境进行适时的停顿更加有利于彼此之间的交流,且该停顿不能用于评价该语音是不流利的。因此,采用目前的流利度评估方法,流利度的评估结果不太准确,不利于提高用户的体验。

基于此,本申请提出了一种新的语音流利度的检测方法,能够基于语音的多方面特征,对语音的流利度进行全面的评估检测,提高流利度检测的准确度,更加符合日常的语音交流模式,贴近于语言的自然规律。

为了更好地理解本申请实施例的方案,下面先结合图1至图2对本申请实施例可能的应用场景进行简单的介绍。

图1示出了一种语音流利度的检测系统,该语音流利度的检测系统包括用户设备以及数据处理设备。其中,用户设备包括手机、个人电脑或者信息处理中心等智能终端。用户设备为语音数据处理的发起端,作为语音识别或者语音质量评估等请求的发起方,通常用户通过用户设备发起请求。

上述数据处理设备可以是云服务器、网络服务器、应用服务器以及管理服务器等具有数据处理功能的设备或服务器。数据处理设备通过交互接口接收来自智能终端的语音和文本等数据,再通过存储数据的存储器以及数据处理的处理器环节进行机器学习,深度学习等方式的数据处理。数据处理设备中的存储器可以是一个统称,包括本地存储以及存储历史数据的数据库,数据库可以在数据处理设备上,也可以在其它网络服务器上。

在图1所示的语音流利度的检测系统中,用户设备可以接收用户的指令,例如用户设备可以接收用户输入的一段语音,然后向数据处理设备发起请求,使得数据处理设备针对用户设备得到的该一段语音执行语音流利度的检测,从而得到针对该一段语音的对应的流利度检测结果(例如流利度评分等)。

在图1中,数据处理设备可以执行本申请实施例的语音流利度的检测方法。

图2示出了另一种语音流利度的检测系统,在图2中,用户设备直接作为数据处理设备,该用户设备能够直接接收来自用户的输入并直接由用户设备本身的硬件进行处理,具体过程与图1相似,可参考上面的描述,在此不再赘述。

在图2中,用户设备自身就可以执行本申请实施例的语音流利度的检测方法。

图1和图2中的处理器可以通过神经网络模型或者其它模型(例如,基于支持向量机的模型)进行数据训练/机器学习/深度学习,并利用数据最终训练或者学习得到的模型针对语音执行语音流利度检测(例如流利度评分等),从而得到相应的处理结果。

下面,结合图3至图15,详细描述本申请的语音流利度的检测方法。

图3示出了一种语音流利度检测的方法100的示意性流程图。该方法可以由处理器执行,例如,上述图1和图2中的处理器,也可以由包含处理器的处理设备执行,例如,上述图1和图2中的数据处理设备。该处理器可以是中央处理器(Central Processing Unit,CPU),也可以是图形处理器(Graphics Processing Unit,GPU),还可以是张量处理器(TensorProcessing Unit,TPU)、神经网络处理器(Neural Processing Unit,NPU)或其它类型的处理器。

如图3所示,该语音流利度检测方法100可以包括以下步骤。

S110:获取待检测语音的声学特征。

具体地,处理器获取一段待检测语音数据,该待检测语音数据可以为电子设备中的存储器存储的语音数据,也可以为电子设备中的语音接收装置,例如话筒等接收得到的语音数据。

处理器对该待检测语音进行特征提取(Feature Exaction),从而获取对应的声学特征数据。可选地,该声学特征可以是用于反映声音的时域特征和/或频域特征的数据。

在语音信号中,包含着非常丰富的特征参数,不同的特征向量表征着不同的物理和声学意义。常用的声学特征参数有线性预测编码系数(Linear Predictive CodingCoefficients,LPCC)和梅尔倒频谱系数(Mel-Frequency Cepstral Coefficients,MFCC)等等。LPCC参数是根据声管模型建立的特征参数,反映声道响应。MFCC参数是基于人的听觉特性利用人听觉的临界带效应,在梅尔(Mel)标度频率域提取出来的倒谱特征参数。

具体地,在对语音信号进行分析和处理之前,需要对其进行预加重、分帧、加窗等预处理操作。这些操作的目的是消除因为人类发声器官本身和由于采集语音信号的设备所带来的混叠、高次谐波失真、高频等等因素,对语音信号质量的影响。尽可能保证后续语音处理得到的信号更均匀、平滑,为信号参数提取提供优质的参数,提高语音处理质量。

(1)预加重

语音信号的平均功率谱受声门激励和口鼻辐射的影响,高频端大约在800Hz以上按6dB/oct(倍频程)衰减,频率越高相应的成分越小,为此要在对语音信号进行分析之前对其高频部分加以提升。通常的措施是用高通滤波器实现预加重,该高通滤波器的传递函数为:H(z)=1-a×z

(2)分帧

因为语音信号为短时平稳信号,所以需要对语音信号进行分帧处理,即将一段待检测语音信号划分为多段,一段为一帧,每帧信号为短语音信号,以便把每一帧短语音信号当成平稳信号处理。同时为了减少帧与帧之间的变化,相邻帧之间取重叠。一般帧长取10ms至30ms之间,帧移取帧长的一半。

(3)加窗

对分帧之后的每一帧短语音信号进行加窗处理,即对每帧短语音信号中各个短段的语音信号进行变换或者进行运算,加窗的目的是可以认为是对抽样点附近的语音波形加以强调而对波形的其余部分加以减弱,其中,用得最多的三种窗函数是矩形窗、汉明窗(Hamming)和汉宁窗(Hanning)。可选地,本申请实施例中可以采用汉明窗对每帧短语音信号进行加窗处理。

(4)离散傅里叶变换(Discrete Fourier Transform,DFT)

由于信号在时域上的变换通常很难看出信号的特性,所有通常将它转换为频域上的能量分布来观察,不同的能量分布,代表不同语音的特性。所以在进行了加窗处理后,还需要再经过离散傅里叶变换DFT以得到频谱上的能量分布。对分帧加窗后的各帧信号进行快速傅里叶变换得到各帧的频谱。并对语音信号的频谱取模平方得到语音信号的功率谱。

(5)应用梅尔滤波器(Mel Filterbank)

Mel滤波器的本质其实是一个尺度规则,通常是将能量通过一组Mel尺度的三角形滤波器组,例如定义有M个滤波器的滤波器组,采用的滤波器为三角滤波器,中心频率为f(m),m=1,2…M,M通常取22-26。f(m)之间的间隔随着m值的减小而缩小,随着m值的增大而增宽。具体地,将实际频率尺度转换为Mel频率尺度后,将转换后的信号通过Mel滤波器组。将实际频率转换为Mel频率尺度的转换公式为:

其中,f为语音信号的频率,单位为赫兹(Hz)。

(6)对所有Mel滤波器输出作对数运算,再进一步做离散余弦变换(DiscreteCosine Transform,DCT),即可得到MFCC。

在一种可能的实施方式中,该声学特征可以为上述MFCC特征。

在另一种可能的实施方式中,该声学特征还可以为梅尔滤波器组(MelFilterbank,fBank)特征,该fBank特征可以为上述步骤(5)之后得到的fBank特征,即Mel滤波器后输出后的特征即为fBank特征。换言之,将fBank特征进行DCT变换后,即得到上述MFCC系数。采用fBank特征的优势在于,减少了DCT变换,因而减少了计算量,且因为fBank的信息多余MFCC,某种程度上减少了语音信息的损变。

在另一种可能的实施方式中,该声学特征还可以为上述fBank特征与MFCC融合的特征。例如,将一段语音进行分帧后得到100帧,对该100帧中的每一帧进行特征提取,得到每一帧的fBank特征和MFCC,以该100帧中的第一帧为例,可以通过Vstack函数对第一帧的fBank特征和MFCC进行拼接处理,若fBank特征为27维的数据、MFCC为39维的数据,则拼接处理得到的融合数据为66维的数据。

此外,在其它的实施方式中,该声学特征还可以包括语音的动态特征,上述MFCC系数仅反映了语音的静态特征,可以对上述MFCC系数进行差分操作,例如对MFCC系数进行一阶差分或者二阶差分提取语音的动态特征。

应理解,在本申请实施例中,待检测语音的声学特征包括但不限于:上述MFCC系数、LPCC系数、fBank特征、动态特征中的一种或者多种,该声学特征为通过多种特征提取方法对待检测语音提取得到的任意特征,其能够包含待检测语音的时频域信息,本申请实施例对具体的声学特征类型不做限定。

在本申请实施例中,通过特征提取方法获取到的待检测语音的声学特征可以为N维的数据向量,其中,N为任意正整数。该声学特征数据中融合了语音中的各维度的特征,可以反映该段待检测语音中的各帧短语音的质量以及各帧短语音的时频域信息,从不同于停顿检测的维度表征每帧短语音的流利度,基于该声学特征进行识别和流利度检测,能够更加贴近于日常的语音表达,识别的结果和流利度的检测更为准确。

S120:根据声学特征获取待检测语音的流利度特征。

在上述步骤S110中,待检测语音中每一帧短语音均具有其对应的声学特征,且该每一帧短语音的声学特征均包括其时频域信息,可以反映语音表达中的流利度信息。

可选地,该每一帧短语音的声学特征可以为一个多维的数据向量。

可选地,将待检测语音中多帧短语音对应的多个声学特征进行拼接,或者通过其它方式进行处理得到整段待检测语音的声学特征向量,该整段待检测语音的声学特征向量包括整段待检测语音的时频域信息,能够反映整段待检测语音的流利度信息。

换言之,在本申请实施例中,可以直接将待检测语音的声学特征作为待检测语音的流利度特征。或者基于该待检测语音的声学特征进行处理得到待检测语音的流利度特征。

S130:将流利度特征输入神经网络,得到待检测语音的流利度的检测结果。

在本步骤中,该神经网络为经过训练优化后的神经网络,可以针对输入的流利度特征,输出待检测语音的较为准确的流利度检测结果。

为了便于理解,下面先对本申请实施例涉及的神经网络及相关术语等相关概念进行介绍。

(1)神经网络

神经网络(Neural Network)是一种模拟人脑的神经网络以期能够实现类人工智能的机器学习技术,通过已知样本对网络模型的训练,得到的网络模型能够对未知的样本属性进行预测。

神经网络也可以称为人工神经网络(Artificial Neural Network,ANN),其中,神经网络包括多层结构时,该神经网络也称为深度神经网络(Deep Neural Network,DNN),按照不同层的位置对DNN进行划分,如图4所示,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。

DNN中的每一层的工作可以用数学表达式

(2)卷积神经网络

卷积神经网络(Convolutional Neuron Network,CNN)是一种带有卷积结构的深度神经网络。该卷积神经网络主要包括卷积层(convolutional layer)、激励层(activation layer),池化层(pooling layer)、以及全连接层(fully-connected layer)。其中,卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层,每层卷积层由若干卷积核(convolutional kernel)组成,每个卷积核的参数都是通过反向传播算法优化得到的。卷积运算的目的是提取输入的不同特征。激励层使用激励函数给卷积神经网络引入了非线性,常用的激励函数有Sigmoid、tanh、ReLU函数等。通常在卷积层之后会得到维度很大的特征,池化层将特征切成几个区域,取其最大值(max pooling)或平均值(averagepooling),得到新的、维度较小的特征向量。全连接层把所有局部特征结合变成全局特征,用于进行分类或者回归等。其中,全连接层的结构可以参考上述DNN的结构,对于经过卷积、激励以及池化后的输入数据,可以经过至少一层的隐藏层处理,输出对应的结果,相邻两层隐藏层为全连接结构。

具体地,卷积神经网络可以包括多个卷积层、激励层以及池化层形成的卷积处理单元,其中,每个卷积处理单元中可以包括至少一个卷积层,至少一个激励层和至少一个池化层。每个卷积层中的多个卷积核可以相同,即该卷积层共享权重。每层卷积层中的卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。

(3)循环神经网络

循环神经网络(Recurrent Neural Networks,RNN)是用来处理序列数据的一种神经网络。该循环神经网络同样包括输入层、至少一层隐含层以及输出层。传统的神经网络模型中层与层之间是全连接的,而对于每一层层内之间的各个节点是无连接的,与以上神经网络模型不同的是,RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐含层本层之间的节点不再无连接而是有连接的,并且隐含层的输入不仅包括输入层的输出还包括上一时刻隐含层的输出。理论上,RNN能够对任何长度的序列数据进行处理。

(4)图神经网络

传统的神经网络,例如上述卷积神经网络和循环神经网络均是基于欧几里得空间数据进行深度学习,在因果推理方面仍然存在短板,随着机器学习和深度学习的逐步发展,基于非欧几里得数据的图数据进行深度学习的图神经网络(Graph Neural Networks,GNN)应运而生。其中,图是一种数据结构,它对一组对象(节点)及其关系(边)进行建模。近年来,由于图结构的强大表现力,用机器学习方法分析图的研究越来越受到重视。图神经网络是一类基于深度学习的处理图域信息的方法。由于其较好的性能和可解释性,GNN最近已成为一种广泛应用的图分析方法。

具体地,图神经网络包括:图卷积网络(Graph Convolution Networks,GCN)、图注意力网络(Graph Attention Networks)、图自编码器(Graph Autoencoders)、图生成网络(Graph Generative Networks)和图时空网络(Graph Spatial-temporal Networks)。

以图卷积神经网络为例,说明该图卷积神经网络的结构,图卷积神经网络,实际上跟CNN的作用一样,就是一个特征提取器,只不过它的对象是图数据。GCN精妙地设计了一种从图数据中提取特征的方法,从而让我们可以使用这些特征去对图数据进行节点分类(Node Classification)、图分类(Graph Classification)等。

图5示出了一种图卷积神经网络GCN的结构示意图。如图5所示,图卷积神经网络结构同样包括输入层、多层隐藏层以及输出层。每一层的模型中,数据结构均为图数据结构,即每个节点数据与其相邻的节点数据建立连接关系。对模型中的每层图数据进行卷积以及非线性计算,以逐层提取出图数据特征。

同样的,对于图神经网络的训练也可以与对传统的CNN或DNN的训练类似,可以通过训练得到图卷积神经网络中卷积核的权重矩阵。

综合上述说明可知,几种神经网络模型中,均包括输入层、隐含层以及输出层,其中,输入层接收输入的数据,隐含层的数量至少为一,包括多个神经元,且根据不同的神经网络类型定义为不同的函数功能以及神经元的连接方式,通过多层隐含层中多个神经元的函数递归处理,以期提取出输入数据的相应特征,通过提取得到的特征值为神经网络输出的预测值。输出层根据该特征对输入的数据进行推理、归类、回归等,得到对应的输出,以满足不同场景下的不同需求。

可选地,本申请实施例中的神经网路可以为上述神经网络中的任一种网络结构,也可以为其它类型的神经网络模型,本申请实施例对此不作具体限定。

具体地,本申请实施例中的神经网络的输出层用于输出待检测语音的流利度的检测结果。

可选地,在一种可能的实施方式中,神经网络的输出层用于进行评分分类操作,待检测语音的流利度的检测结果包括评分结果。例如,输出层输出一百类的分类结果,其中一类对应一个评分,用户可以获取百分制的评分结果,当然,输出层还可以用于输出十类的分类结果,用户可以获取十分制的评分结果。

下面,以图神经网络为例,说明本申请实施例中,将流利度特征向量输入神经网络,得到流利度的评分结果的详细过程。

具体地,在一种可能的实施方式中,流利度特征向量为一个N维的列向量,将该N维的列向量转换为具有N个节点(Node)的图数据,且节点与节点之间具有一定的连接关系,例如,当流利度特征向量为一个6维的特征向量时,如图5所示,一个8维的列向量可以转换为具有8个节点的图数据。可选地,对于列向量中任意一个向量参数,其可以与前后两个向量参数建立连接关系,也可以与前两个向量参数以及后两个向量参数建立连接关系,本申请实施例对具体的图数据中的连接关系不做具体限定。

可选地,在本申请实施例中,输入层的图数据具有预设数量的节点,例如,图神经网路中的图数据可以具有256个节点,随着节点数量的增加,能够提高图神经网络检测的准确度。

如图6所示,在本申请实施例中,图神经网络可以包括至少一层隐含层,其中每层隐含层中包括至少一层卷积层(Convolutional Layer)以及至少一层激活层(ActivationLayer),且每层卷积层之后连接一层激活层,对于输入的图数据,在每层卷积层中,对每个节点的邻居都进行一次卷积操作,并用卷积的结果更新该节点;然后经过激活层中的激活函数引入非线性。反复进行卷积以及激活的过程,直到图神经网络的层数达到预期深度。

可选地,卷积操作可以为基于空域的空域卷积(Spatial Convolution)的方法或者基于频域的频域卷积(Spectral Convolution)方法。频域卷积方法从图数据处理的角度引入滤波器来定义图卷积,其中图卷积操作被解释为从图数据中去除噪声。而空域卷积方法将图卷积表示为从邻域聚合特征信息。

其中,空域卷积可以采用消息传递网络(Message Passing Neural Network)、图采样与聚合(Message Passing Neural Network)或者图结构序列化(Patchy-San)等方法对输入的数据进行处理操作。

频域卷积则利用的是图傅里叶变换(Graph Fourier Transform)实现卷积。简单来讲,它利用图的拉普拉斯矩阵(Laplacian matrix)导出其频域上的的拉普拉斯算子,再类比频域上的欧式空间中的卷积,导出图卷积的公式。

例如,在输入层中,输入M个节点,该M个节点可以为图数据中相邻的M个节点,这M个节点的值组成一个M×D维的矩阵X,然后各个节点之间的关系也会形成一个M×M维的矩阵A,也称为邻接矩阵(adjacency matrix)。X和A便是我们模型的输入。

两层网络之间的传播方式为:H

可选地,其中,A’的计算公式为:

可选地,图神经网络中的激活层可以采用一种非线性激活函数,该非线性激活函数可以采用修正线性单元(Rectified Linear Unit,ReLU)函数、指数线性单元(exponential linear unit,ELU)函数,以及ReLU函数的几种变体形式,例如:带泄露修正线性单元(Leaky ReLU,LReLU),参数化修正线性单元(Parametric ReLU,PReLU),随机纠正线性单元(Randomized ReLU,RReLU)等。

可选地,在本申请实施例中,一种改进的ReLU函数的公式如下所示:

可选地,如图6所示,在卷积层之后,除了连接激活层外,还可以连接批标准化层(Batch Normalization,BN)。为了克服神经网络层数加深,收敛速度变慢,常常导致梯度消失(Vanishing Gradient Problem)或梯度爆炸(Gradient Explore),通过引入批标准化层来规范某些层或者所有层的输入,从而固定每层输入信号的均值与方差。可选地,该批标准化层可以设置在激活层之后,也可以设置在激活层之前,本申请实施例对此不做限定。

类似地,若神经网络为其它神经网络结构时,其隐含层采用不同的处理方法提取流利度特征中的特征数据得到特征提取向量,其相关结构以及处理方式可以采用现有技术中任意一种方式。

具体地,特征提取向量传递给神经网络的第一输出层,该第一输出层用于对隐含层输出的特征提取向量进行全连接,并对全连接后得到特征数据进行分类,以得到不同分类对应的流利度检测的评分结果。

可选地,在本申请实施例中,第一输出层包括第一全连接层,该第一全连接层可以包括一层或者多层全连接结构,可选地,经过第一全连接层后的数据可以为100维向量,其数值表示经过神经网络预测得到的1至100之间的100个分数。具体地,对该100个分数经过归一化处理,得到最终的分类结果。

可选地,将第一输出层还包括Softmax函数,其具体公式如下:

其中,输入Softmax函数的值为(x

Softmax函数直白来说,就是将输入sofmax层的K个数,通过softmax函数的作用,就映射成为0至1之间的值,而这些值的累和为1(满足概率的性质),那么我们就可以将它理解成概率,在最后选取输出结点的时候,我们就可以选取概率最大(也就是值对应最大的)结点,作为我们的预测目标。

例如,在本申请实施例中,K=100,输出Softmax的值为1至100的一百个分数,经过Softmax层输出得到的该100个分数对应的概率,选择概率最大值对应的分数作为待检测语音的流利度评估的分数。

可选地,除上述第一输出层外,本申请实施例中,神经网络模型还可以包括第二输出层,该第二输出层用于输出得到待检测语音的流利度的回归结果。

具体地,该第二输出层可以包括第二全连接层,用于映射隐含层输出值Z与输出层Y的函数关系,或者换言之,用于映射输入层X与输出层Y的函数关系。

可选地,该第二连接层同样可以包括一层或者多层全连接结构,其中的连接函数可以为线性函数或者也可以为非线性函数。例如,该连接函数可以为:Y=h(θ)=θ

可选地,该第二输出层输出的结果同样可以用于表征待检测语音的流利度的评分。

应理解,当本申请的流利度检测的神经网络模型中同时包括第一输出层和第二输出层,且第一输出层和第二输出层均用于输出流利度的评分时,可以从第一输出层和第二输出层的评分结果中任选其一输出显示给用户,也可以对第一输出层和第二输出层的评分结果进行处理,例如计算两者的平均值用于输出显示给用户。

还应理解,本申请实施例中的流利度检测的神经网络模型中,神经网络的主体结构共享,不同点在于第一输出层和第二输出层的函数以及函数参数不同。

通过本申请实施例的方案,训练得到的流利度检测模型能够同时给出分类结果以及回归结果,该流利度检测模型中的神经网络对于分类和回归均有良好的预测效果,相比于只有分类的神经网络模型和只有回归的神经网络模型,能够进一步提高预测的准确度。

进一步地,在本申请实施例中,流利度检测的神经网络模型除了包括上述第一输出层和/或第二输出层以外,还可以包括第三输出层,该第三输出层用于对隐含层输出结果进行多分类,表示流利度检测的等级分类结果。

可选地,该第三输出层包括第三全连接层,该第三全连接层可以包括一层或者多层全连接结构,可选地,经过第三全连接层后的数据可以为多维向量,例如,三维向量,其数值表示经过神经网络预测得到的三个等级类别。具体地,对该三维向量经过归一化处理,得到最终的分类结果。

具体地,该第三输出层同样可以包括Softmax函数,经过Softmax层输出得到三维向量中每一个数值对应的概率,选择概率最大值对应的向量作为待检测语音的流利度检测的等级,例如,三维向量中第一个数值对应的等级为A,第二个数值对应的等级为B,第三个数值对应的等级为C。

应理解,该第三输出层除了可以输出三个等级以外,还可以输出其它任意数量的等级,本申请实施例对具体的等级数量不做具体限定,若第三输出层输出其它数量的等级,同样可以采用Softmax函数进行分类,其过程可以参考以上描述,此处不再赘述。

采用本申请实施例的方式,在基于流利度评分的基础上,还增加了流利度等级的评估,若将流利度评分结果与流利度等级结果同时呈现给用户,能够改善用户用于流利度检测的直观感受,提高用户体验。

应理解,本申请实施例中的流利度检测的神经网络模型可以包括第一输出层、第二输出层以及第三输出层中的任意一种或者多种,同样的,也可以将对应的一种或者多种输出结果呈现给用户。

还应理解,本申请实施例中的流利度检测的神经网络模型中,例如,如图7所示的图神经网络中,神经网络的主体结构共享,不同点在于第一输出层、第二输出层以及第三输出层的函数以及函数参数不同。

特别地,若流利度检测模型同时包括三种输出层结构时,可以向用户同时呈现流利度评分以及流利度等级,该流利度评分为基于回归模型以及分类模型共同得到的评分,评分准确度高,且同时向用户呈现评分和等级,能够提高流利度检测模型的综合评估性能。

基于上述语音流利度检测的方法100,图8示出了另一种语音流利度检测方法100的示意性流程图。

如图8所示,上述步骤S120具体可以包括以下步骤。

S121:对待检测语音的声学特征进行编码得到语义向量。

S122:将语义向量作为待检测语音的流利度特征。

除了上述步骤S120中,将待检测语音的声学特征直接作为待检测语音的流利度特征外,还可以将待检测语音的声学特征进行编码得到一个语义向量,在编码过程中,除了对该声学特征中的时频域信息进行进一步的学习处理以外,还将待检测语音的全部声学特征进行融合,得到整段待检测语音的全局信息,此外,编码过程中还可以学习到待检测语音中更多高级特征,例如待检测语音的词句之间的联系、词句重点等等语义信息。语义向量中可以包括上述待检测语音的时频域信息、全局信息以及语义信息。

可选地,在一种可能的实施方式中,采用序列至序列(Sequence to Sequence,Seq2Seq)模型对待检测语音的声学特征进行编码得到语义向量。该Seq2Seq是一个编码至解码(Encoder–Decoder)结构的网络,它的输入是一个序列,输出也是一个序列,具体地,Encoder中将一个可变长度的信号序列变为固定长度的向量表达,Decoder将这个固定长度的向量变成可变长度的目标的信号序列,该网络经常用于机器翻译、语音识别等领域,具有良好的性能。

图9示出了一种Seq2Seq的模型结构图,如图5所示,该Seq2Seq模型包括一个Encoder,一个Decoder以及连接两者的中间状态向量(State Vector)C。该Encoder和Decoder可以为循环神经网络(Recurrent Neural Networks,RNN)结构,或者也可以为卷积神经网络(Convolutional Neuron Network,CNN)结构、长短期记忆网络(Long Short-TermMemory,LSTM)结构或者门循环控制单元(Gate Recurrent Unit,GRU)结构等等。

在图9中,输入的X1,X2,X3和X4可以为上述待检测语音中每帧短语音的声学特征数据,例如fBank特征等等。编码器Encoder对输入的X1,X2,X3和X4进行编码,经过函数变换得到语义向量C,例如,可以通过RNN中的函数计算得到语义向量C。具体地,经过Encoder的编码处理后,中间语义向量C为一个融合了X1,X2,X3和X4特征的列向量。

得到语义向量C后,使用解码器Decoder进行解码。Decoder根据该中间语义向量C和已经生成的历史信息去生成t时刻的输出Yt,其中,第一时刻的输出Y1根据语义向量C以及解码函数得到,第二时刻的输出Y2根据根据语义向量C、第一时刻的输出Y1以及解码函数得到,依次类推,得到所有时刻的输出。

例如,在本申请实施例中,输入为一段语音中多个声学特征数据形成的序列,输出可以为该语音的识别输出序列,例如,可以为该语音的文字识别输出序列。根据该识别的文本结果可以判断语音识别的正确率以及语音质量等。可选地,可以采用发音质量评估(Goodness of Pronunciation,GOP)的算法对语音识别结果进行正确率的判断,得到一个百分比的正确率数据。

可选地,在一种可能的实施方式中,采用上述Seq2Seq模型中的Encoder对多个声学特征数据进行编码后,得到中间语义向量C为语音流利度检测的流利度特征向量。

可选地,上述Seq2Seq模型中编码器以及解码器中的相关参数和函数,例如编码器RNN中的参数可以通过基于流利度的检测,对RNN进行训练得到。

采用本申请实施例的方案,根据待检测语音的声学特征编码得到语义向量,并将该语义向量作为待检测语音的流利度特征。在该流利度特征中,除了包括待检测语音的时频域信息可以体现流利度以外,还可以根据整段待检测语音的全局信息和语义信息进一步评价流利度,能够提高流利度检测的准确性。

图10示出了另一种语音流利度检测方法100的示意性流程图。

如图10所示,上述步骤S120具体可以包括以下步骤。

S121:对待检测语音的声学特征进行编码得到语义向量。

S123:根据语义向量解码得到待检测语音的识别结果,并根据该识别结果判断得到待检测语音的发音正确率。

具体地,可以采用Seq2Seq模型中的Decoder对语音向量进行解码得到待检测语音的识别结果。进一步地,采用GOP算法对识别结果进行判断得到待检测语音的发音正确率。此外,还可以采用现有技术中其它任意技术对待检测语音的识别结果判断得到语音发音正确率,本申请实施例对此不做限定。

S124:将语义向量与发音正确率进行连接,得到待检测语音的流利度特征。

具体地,通过上述步骤S121得到的待检测语音的语义向量为N维列向量,通过上述步骤S123得到的发音正确率为一维列向量。可选地,将N维的语义向量与发音正确率拼接为N+1维的列向量,换言之,可以将发音正确率的数据拼接于N维的语义向量之前或者之后,或者将发音正确率的数据拼接于N维的语义向量的中间。例如,该语义向量为[a

可选地,还可以将语义向量、发音正确率进行加权拼接。即,可以将语义向量乘以第一权重,将发音正确率乘以第二权重,然后将加权后的两个特征向量进行拼接得到待检测语音的流利度特征。可选地,第一权重和第二权重为预设的权重值,两者之和为1。

可选地,在本申请实施例中,除了将发音正确率与语义向量拼接得到流利度特征外,还可以采用其它表征发音质量的参数与语义向量拼接得到流利度特征,可选地,该表征发音质量的参数同样可以通过Seq2Seq模型解码得到的识别结果得到,也可以采用现有技术中其它评价发音质量的方法得到,本申请实施例对此不做限定。

采用本申请实施例的方式,流利度特征向量融合了发音正确率、待检测语音的时频域信息以及语义信息,流利度的检测不仅仅跟语音时频域信息以及语义信息相关,还与整体的语音正确率相关,例如,在语音教学系统中,该段语音十分流利,根据该段语音的语义向量检测得到的流利度结果较优,但实际上该语音的表述错误却很多,例如,发音不准或者发音不对的问题很多时,即使发音十分流利,也不能认为其流利度高。因此,采用该检测方式,能够结合具体的检测结果对流利度进行评估,能够进一步提高流利度检测的准确度。

可选地,图11示出了另一种流利度检测方法200的示意性流程图。

如图11所示,该流利度检测方法可以包括以下步骤。

S210:获取待检测语音的声学特征以及静音特征。

具体地,该静音特征为待检测语音中语音的停顿次数和/或停顿时间的相关特征。

可选地,采用静音检测算法识别待检测语音中的静音部分,具体地,通过语音音量的大小识别中待检测语音中的静音部分,例如,设定预设的音量阈值,当语音中部分语音的音量小于音量阈值时,则判断该部分语音为静音部分。在一种可能的实施方式中,该音量阈值为该待检测语音中最高音量的10%。

进一步地,在识别静音部分的基础上,还可以识别该待检测语音中短静音次数和/或长静音次数,例如,该待检测语音中识别出的第一段静音的时长在第一时间范围内,则该第一段静音为短静音。该待检测语音中识别出的第二段静音的时长在第二时间范围内,则该第二段静音为长静音。

可选地,该第一时间范围和第二时间范围可以为任意预设的时间段,例如第一时间范围为0.01s至0.02s之间,第二时间范围为大于0.02s。

可选地,该静音特征还可以包括该段待检测语音中静音的时长与总语音时长的信息,即该待检测语音中,音量小于音量阈值的全部静音时长与总语音时长的信息。

可选地,在一种实施方式中,该静音特征为特征向量,例如,短静音次数为2,长静音次数为3,静音的持续时长为10ms,发音时长为5s,在这种情况下,静音特征可以为[2,3,10,500]。

另外,在本申请实施例中,获取待检测语音的声学特征的方法可以参考上述流利度检测方法100中的步骤S110,此处不再赘述。

S221:对待检测语音的声学特征进行编码得到语义向量。

该步骤S320可以与上述流利度检测方法100中的步骤S121相同,相关技术特征可以参考以上描述,此处不再赘述。

S222:将语义向量与静音特征进行连接,得到待检测语音的流利度特征。

具体地,通过上述步骤S221得到的语义向量为N维列向量,通过上述步骤S210得到的静音特征同样可以转换为M维列向量。可选地,将N维的语义向量与M维的静音特征向量拼接融合为M+N维的列向量,换言之,可以将M维的静音特征向量拼接于N维的语义向量之前或者之后,或者将M维的静音特征向量拼接于N维的语义向量的中间。例如,该语义向量为[a

可选地,还可以将语义向量与静音特征向量进行加权拼接。即,可以将语义向量乘以第一权重,将静音特征向量乘以第三权重,然后将乘以权重后的特征向量进行拼接。可选地,第一权重与第三权重为预设的权重值,两者之和为1。

S230:将流利度特征向量输入神经网络,得到流利度的评分结果。

具体地,在本申请实施例中,该流利度特征向量同样为列向量,该步骤的详细实施方式可以参考上述步骤S130。与步骤S130不同处在于,本申请实施例流利度特征向量的维度大于步骤S130中声学特征的维度。因此,对应的,若神经网络为图神经网络,该流利度特征向量转换得到图数据节点数大于步骤S130中图数据节点数。但具体的神经网络结构与上述步骤S130中的神经网络结构相同,同样的,该神经网络后的输出层可以包括第一输出层、第二输出层以及第三输出层中的一种或者多种。

应理解,采用本申请实施例的方案,由于神经网络输入的特征向量不同,因此,虽然神经网络的结构相同,但神经网络中每个神经元的权重参数可能发生变化,因而,经过神经网络训练得到的结果与可能与上述流利度检测方法100检测得到的结果不同。

通过本申请实施例的方案,采用Seq2Seq模型从完整语音信息中提取得到语义向量包括完整语音的全局信息、时频域信息和语义信息,其中包含了语音表达中的流利度信息。静音特征向量为采用静音识别算法从时域上识别得到的静音时长以及静音次数等信息,两个特征向量为采用不同方法,从不同维度上得到的流利度相关特征,结合该两个特征向量,并对该两个特征向量的融合向量进行神经网络的预测,能够进一步提高语音流利度检测的准确度。

可选地,图12示出了另一种流利度检测方法的示意性流程图。

如图12所示,该流利度检测方法300可以包括以下步骤。

S310:获取待检测语音的多个声学特征数据以及静音特征。

S321:对待检测语音的声学特征进行编码得到语义向量

S322:根据语义向量解码得到待检测语音的识别结果,并根据该识别结果判断得到待检测语音的发音正确率

具体地,上述步骤S310至步骤S322中的技术方案可以参考以上相关描述,此处不再赘述。

S323:将语义向量、静音特征以及发音正确率进行连接,得到待检测语音的流利度特征。

具体地,本申请实施例中三个特征的融合过程可以参考上述步骤S222,即在上述步骤S222的基础上,进一步的将发音正确率拼接融合到M+N维的特征向量中,使得M+N维的特征向量变为M+N+1的特征向量,例如,该语义向量和静音特征向量拼接得到的特征向量为[a

可选地,还可以将语义向量、静音特征向量以及发音正确率进行加权融合。即,可以将语义向量乘以第一权重,将静音特征向量乘以第三权重,发音正确率乘以第二权重,然后将加权后的三个特征向量进行拼接。可选地,第一权重、第二权重以及第三权重为预设的权重值,三者之和为1。

S330:将流利度特征输入神经网络,得到待检测语音流利度的检测结果。

具体地,该步骤的详细实施方式可以参考上述步骤S130。同样的,该神经网络后的输出层可以包括第一输出层、第二输出层以及第三输出层中的一种或者多种。

采用本申请实施例的方式,流利度特征向量融合了识别正确率、语音的时频域信息、语义信息以及静音信息,流利度的检测不仅仅跟语音时频域特征以及静音相关,还与整体的语音正确率相关,从多个不同角度综合考虑语音流利度的表征。因此,采用该检测方式,能够进一步提高流利度检测的准确度。

以上,结合图3至图12说明了本申请中,基于神经网络进行语音流利度检测的方法。下面,结合图13至图15,说明本申请中对神经网络模型进行训练的方法。

应理解,本申请中训练得到的神经网络模型即为上述流利度检测方法中的神经网络模型,相应的神经网络特征可以参考以上神经网络模型中的相关描述。

还应理解,执行该神经网络的训练方法的主体同样可以为一种处理器,例如,图1和图2中的处理器,也可以由包含处理器的处理设备执行,例如,图1和图2中的数据处理设备。该处理器包括但不限于是CPU、GPU、TPU或者NPU。

此处需要说明的是,上述流利度检测方法和本申请实施例中的神经网络训练方法可以由同一主体执行,例如图1和图2中的用户设备执行,或者由服务器设备执行。此外,上述流利度检测方法和本申请实施例中的神经网络训练方法也可以由不同主体执行,例如,上述流利度检测方法由用户设备执行,而神经网络训练方法由服务器执行。

具体地,由上述神经网络的相关介绍可知,在神经网络模型中,通过已知样本对网络模型的训练,得到的网络模型能够对未知的样本属性进行预测。经过训练得到神经网络模型的输出要尽可能的接近真正想要预测的值,所以,在训练过程中,可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到神经网络能够预测出真正想要的目标值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个输出值的过程。

损失函数通常是多变量函数,而梯度可以反映变量发生变化时损失函数的输出值的变化速率,梯度值的绝对值越大,损失函数的输出值的变化率越大,可以计算更新不同参数时损失函数的梯度值,沿着梯度值下降最快的方向不断更新参数,尽快缩小损失函数的输出值。

可以将神经网络理解为一个从输入数据集合到输出数据集合的映射关系。而通常深度神经网络中的个神经元参数(例如,DNN中的权重向量W和偏置向量b,GCN以及CNN中的卷积核等等)都是随机初始化的,用已知数据从随机的初始参数得到这个映射关系的过程被称为神经网络的训练。

可以采用损失函数对深度神经网络的输出结果进行评价,并通过反向传播,通过梯度下降的方法即能迭代优化网络中各神经元的参数,直到损失函数达到最小值,可以通过前向传播(forward propagation)计算获取神经网络中输出层的损失函数。即,将前一层的输出结果输入后一层,直至得到神经网络的输出层的输出结果,将该结果与目标值进行比较,获得神经网络的损失函数。在得到前向传播计算的损失函数后,基于损失函数进行反向传播(back propagation)计算,以求得各层的梯度,沿着梯度下降最快的方向调整神经网络中的参数,直到损失函数达到最小值。

梯度下降的过程可以表示为:

其中,θ为待优化参数,L为损失函数,η为学习率,用于控制梯度下降的步长,步长如图13中的箭头所示。

可以使用求偏导的链式法则进行反向传播计算,即,前一层参数的梯度可以由后一层参数的梯度递推计算得到,如图14所示,链式法则可以表达为:

其中

可选地,可以采用全数据梯度下降算法(Full Batch Learning)优化损失函数,使其达到最小。即每次参数调整时,需要考虑所有的样本数据,使所有的样本数据均能向最优解靠近,经过训练后的神经网络模型达到一个全局最优解,但若样本数据量较大,采用该方式的训练方法耗时较长,该训练方式不适用于样本数据量大的神经网络模型。

可选地,还可以采用随机梯度下降算法(Stochastic Gradient Descent,SGD)优化损失函数,该算法优化的不是在全部样本数据上的损失函数,而是在每轮迭代中,随机优化某一条样本数据上的损失函数,这样每一轮参数的更新速度大大加快。虽然不是每次迭代得到的损失函数都向着全局最优方向,但是大的整体的方向是向全局最优解的,最终的结果往往是在全局最优解附近。相比于全数据梯度下降算法,采用随机梯度下降算法进行训练速度更快,梯度也更快收敛。

另外,还可以采用批梯度下降算法(Mini-batches Learning)优化损失函数,该算法综合了上述全数据梯度下降算法以及随机梯度下降算法的优点,每次计算一小部分样本数据的损失函数,这一小部分样本数据也称为一个batch。每次使用一个batch可以大大减小收敛所需要的迭代次数,同时可以使收敛到的结果更加接近梯度下降的效果。

神经网络的训练结果与神经网络的结构和训练过程中使用的样本数据均存在一定的关系,合适的结构以及合适的样本数据均有利于取得良好的训练结果。

可选地,图15示出了一种神经网络训练方法的示意性流程图。

如图15所示,该神经网络训练方法400可以包括以下步骤。

S410:获取语音样本的声学特征和语音样本的至少一个流利度评分。

本申请实施例中的语音样本为神经网络训练阶段的语音,其与流利度检测方法中的待检测语音的均为一段语音文件,例如,其可以都是某学生进行英语口语练习的语音文件。具体地,获取语音样本的声学特征的过程可以参考以上步骤S110中获取待检测语音的声学特征的相关描述,此处不再赘述。

可选地,该语音样本可以为预先存储的语音文件,有至少一个专家对该语音样本进行流利度评分。在本申请实施例的神经网络训练方法中,需要采用多个,甚至是大量的不同的语音样本,输入至神经网络进行训练,以提高神经网络预测的准确性。其中,多个不同的语音样本中每个语音样本均有至少一个专家对该语音样本进行流利度评分。

S420:根据声学特征获取语音样本的样本流利度特征。

可选地,该样本流利度特征可以为根据语音样本的声学特征编码得到的语义向量。根据语音样本的声学特征编码得到语义向量的过程可以参考上述图8中步骤S121至步骤S122的相关描述。

可选地,该样本流利度特征可以通过语义向量与语音样本的发音正确率连接得到。具体地,获取该样本流利度特征的过程可以参考上述图10中步骤S121至步骤S124的相关描述。

可选地,该样本流利度特征还可以通过语义向量与静音特征连接得到,具体地,获取该样本流利度特征的过程可以参考上述图11中步骤S221至步骤S222的相关描述。

优选地,该样本流利度特征还可以通过语义向量、静音特征以及发音正确率连接得到,获取该样本流利度特征的过程可以参考上述图12中步骤S321至步骤S322的相关描述。

S430:根据至少一个流利度评分对语音样本进行编码得到语音样本的标签。

在本申请实施例中,一个训练样本由一段语音样本的流利度特征以及该语音样本的标签组成,该标签即为该段语音样本期望输出的结果。

可选地,对于一个语音样本,其标签为根据一个或多个专家对该语音样本的流利度评分的标签。由于专家评分的主观性,同一段语音样本,不同的专家的流利度评分可能存在差异。为了避免人工评分的差异性和主观性对神经网络训练结果的影响,在本申请实施例中,可以采用正态分布编码方式对该样本数据进行标签编码。

具体地,正态分布编码方式的公式如下:

其中,x

换言之,若一个语音样本有W个专家进行评分,则将该语音样本按照上述方式进行正态分布编码为W个值。

例如,第一语音样本有3个专家对其评分为85,90和95,则对该第一语音样本的标签按照上述正态分布编码方式进行编码为0.048,0.079以及0.048。

可选地,在本申请实施例中,还可以根据标签编码值,对不同的编码值赋予进行不同的加权。例如对位于平均值处的评分编码的加权赋值为1,其它评分编码根据平均值处的评分编码的调整进行相应加权调整,使得加权调整后的多个编码值仍呈现正态分布。在本申请实施例中,位于平均值处的评分也称为真实值(Ground Truth)。

例如,上述评分为85,90和95的第一语音样本,其中,90的评分编码为1,对应的,85以及95的评分编码为0.6。经过加权赋值后的三个评分编码仍然呈正态分布。

S440:基于样本流利度特征和标签,训练神经网络。

具体地,采用监督学习(Supervised learning)算法对神经网络进行训练。神经网络的训练样本是由输入数据以及预期输出所组成的。神经网络的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

可选地,在本申请实施例中,神经网络的输出层可以包括上述第一输出层、第二输出层以及第三输出层中的一种或多种。由以上说明可知,第一输出层和第三输出层均为分类模型,预测得到分类的标签,第二输出层为回归模型,预测得到回归的函数。

若神经网络的输出层同时包括三种输出层,则在神经网络的训练过程中,同时考虑三种输出层的损失函数,调整神经网络中的参数,使得三种输出层的损失函数最小。

当然,若神经网络的输出层仅包括以上三种输出层的一种或者两种输出层,则训练过程中,则考虑该一种或者两种输出层的损失函数,优化神经网络中的参数,使该一种或者两种输出层的损失函数最小。

下面,针对三种输出层,详细说明每一种输出层对应的损失函数及标签编码方式。

针对第一输出层,其采用Sofmax函数对神经网络隐含层的输出结果进行评分分类,旨在得到语音流利度的评分。且针对该第一输出层,采用正态分布编码方式对该样本数据进行标签编码。在神经网络训练过程中,根据样本流利度特征、正态编码标签以及第一输出层的损失函数,训练神经网络的网络参数。

具体地,该第一输出层的损失函数为:

其中,N为分类数,在本申请实施例中,N=100。i为N类中的第i类,1≤i≤N,i为正整数,y

具体地,在预测过程中,对于一个样本,若有W个专家进行流利度评分,则损失函数的计算中,y

具体地,将多个语音样本的正态分布标签编码与样本流利度特征输入神经网络模型中,根据上述第一输出层的损失函数进行神经网络参数训练。该训练的过程可以采用上述全数据梯度下降法、或者随机梯度下降法,或者批梯度下降法中的任意一种进行训练,也可以采用现有技术中其它的神经网络训练方法对神经网络中的参数进行训练,本申请实施例对此不做限定。

在本申请实施例中,通过对第一输出层中的标签编码为正态分布编码,在训练过程,避免了人工打分主观性差异对预测结果的影响,使得训练得到的结果更加贴近于多个人工打分的平均值,提高流利度评分预测的准确性。

可选地,在训练过程中,除了根据上述第一输出层的损失函数进行训练外,还可以同时根据第二输出层的损失函数进行训练,使得神经网络中的参数同时满足第一输出层的损失函数最小化以及第二输出层的损失函数最小化。

具体地,第二输出层为回归模型,该第二输出层的损失函数为:

其中,N为分类数,在本申请实施例中,N=100。i为N类中的第i类,1≤i≤N,i为正整数,y

对于第二输出层,样本的标签编码可以采用任意一种编码方式,以将多个评分区分开,例如,可以采用独热(one-hot)编码方式进行标签编码。为了便于与其它输出层的标签编码区分,针对该第二输出层的语音样本的独热标签编码,本申请实施例中,也称为第一热标签编码。

具体地,在预测过程中,对于一个样本,若有W个专家进行流利度评分,则损失函数的计算中,y

具体地,将多个语音样本的第一独热标签编码与样本流利度特征向量输入神经网络模型中,根据上述第二输出层的损失函数进行神经网络参数训练。

采用回归模型的损失函数和分类模型的损失函数同时对神经网络的参数进行训练,使得训练得到的神经网络同时符合回归的输出分布,并接近于分类结果,使得训练得到的神经网络模型的输出更为准确,更有利于进行流利度的检测。

此外,若神经网络模型中还包括第三输出层,即对输入结果进行等级分类,则同时还根据该第三输出层的损失函数对神经网络进行训练,使得神经网络模型中的参数同时满足三个输出层的损失函数最小化。

可选地,该第三输出层的损失函数可以与第一输出层的损失函数相同,具体地,该第三输出层的损失函数为:

其中,N为分类数,可选地,在本申请实施例中,N=3。i为N类中的第i类,1≤i≤N,i为正整数,y

与第一输出层不同处在于,对于该第三输出层的样本标签,可以采用任意一种编码方式,以将多分类的种类数区分开。同样的,可以采用one-hot编码方式进行标签编码。为了便于与其它输出层的标签编码区分,针对该第三输出层的语音样本的独热标签编码,本申请实施例中,也称为第二独热标签编码。

具体地,若第三输出层用于对输入数据进行三分类,则在预测过程中,对于一个样本,若有W个专家进行流利度评分,则损失函数的计算中,y

例如,对于第一语音样本,三个专家打分为85,90和95,则该第一语音样本的打分取三个专家打分的平均值90,采用独热编码对该第一语音样本编码的第二独热标签编码为(0,0,1)。

具体地,将多个语音样本的第二独热标签编码与样本流利度特征向量输入神经网络模型中,根据上述第三输出层的损失函数进行神经网络参数训练。

上文结合图3至图15,详细描述了本申请的一种语音流利度检测的方法以及神经网络训练的方法实施例,下文结合图16至图19,详细描述本申请的基于神经网络进行语音流利度检测的装置以及神经网络训练的装置实施例,应理解,装置实施例与方法实施例相互对应,类似的描述可以参照方法实施例。

可以理解的是,处理装置(训练神经网络的装置或者基于神经网络对语音进行流利度检测的装置)为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本申请可以根据上述方法示例对处理装置进行功能单元的划分,例如,可以将各个功能划分为各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

图16是本申请提供的一种语音流利度检测装置的结构示意图。该装置10包括获取单元110、处理单元120和检测单元130,获取单元110能够在处理单元120的控制下执行获取步骤,检测单元130能够在处理单元120的控制下执行检测步骤。

获取单元110,用于获取待检测语音的声学特征;

处理单元120,用于根据该声学特征获取该待检测语音的流利度特征,其中,该流利度特征包括该待检测语音的时频域信息;

检测单元130,用于将该流利度特征输入神经网络,得到该待检测语音的流利度的检测结果。

可选地,该处理单元120具体用于:对该待检测语音的声学特征进行编码得到语义向量;

根据该语义向量获取该待检测语音的流利度特征,其中,该流利度特征包括该待检测语音的时频域信息以及语义信息;

可选地,该处理单元120具体用于:将该语义向量作为该流利度特征。

可选地,该处理单元120具体用于:根据该语义向量解码得到该待检测语音的识别结果;

根据该待检测语音的识别结果判断得到该待检测语音的发音正确率;

将该语义向量与该发音正确率进行连接,得到该待检测语音的流利度特征。

可选地,该获取单元110还用于:获取该待检测语音的静音特征向量;

该处理单元120具体用于:根据该语义向量解码得到该待检测语音的识别结果;

根据该待检测语音的识别结果判断得到该待检测语音的发音正确率;

将该语义向量,该发音正确率以及该静音特征向量加权连接,得到该待检测语音的流利度特征。

可选地,该待检测语音的静音特征向量包括:该待检测语音中短静音的次数、该待检测语音中长静音的次数、该待检测语音中静音的总时长、以及该待检测语音的总时长中的至少一种。

可选地,该获取单元110用于:对该待检测语音进行分帧得到多帧短语音;

获取该多帧短语音中每帧短语音的声学特征;

其中,该声学特征包括:梅尔倒频谱系数MFCC、梅尔滤波器组fBank特征、以及线性预测编码系数LPCC中的至少一种。

可选地,该待检测语音的流利度的检测结果包括评分结果,该评分结果为基于该流利度特征进行评分分类的结果。

可选地,该待检测语音的流利度的检测结果还包括:等级结果,该等级结果为基于该流利度特征进行等级分类的结果。

可选地,该神经网络为图神经网络。

图17是本申请提供的另一种语音流利度检测装置的结构示意图。如图17所示,该语音流利度检测装置10还包括:训练单元140;

该训练单元140用于基于语音样本的声学特征和该语音样本的至少一个流利度评分对该神经网络进行训练。

可选地,该处理单元120还用于:对该语音样本的声学特征进行编码得到样本语义向量;

根据该样本语义向量获取该语音样本的样本流利度特征,其中,该样本流利度特征包括该语音样本的时频域信息以及语义信息;

根据该至少一个流利度评分对该语音样本进行编码得到该语音样本的标签;

该训练单元140具体用于:基于该样本流利度特征和该标签,训练该神经网络。

可选地,该处理单元120具体用于:根据该至少一个流利度评分,采用正态分布编码方式对该语音样本进行编码得到该语音样本的至少一个正态编码标签。

可选地,该训练单元140具体用于:根据该样本流利度特征、该至少一个正态编码标签以及该神经网络的第一输出层的损失函数,训练该神经网络;

其中,该神经网络的第一输出层用于基于该样本流利度特征对该语音样本进行评分分类。

可选地,该训练单元140还具体用于:根据该样本流利度特征、第一独热编码标签以及该神经网络的第二输出层的损失函数,训练该神经网络;

其中,该神经网络的第二输出层用于基于该样本流利度特征进行回归;

该第一独热编码标签为基于该至少一个流利度评分的平均值编码得到标签,该第一独热编码标签的位数与该语音样本的评分分类的类别数相等。

可选地,该训练单元140还具体用于:根据该样本流利度特征、第二独热编码标签以及该神经网络的第三输出层的损失函数,训练该神经网络;

其中,该神经网络的第三输出层用于根据该样本流利度特征对该语音样本进行等级分类。

该第二独热编码标签为基于该至少一个流利度评分的平均值编码得到标签,该第二独热编码标签的位数与该语音样本的等级分类的类别数相等。

图18是本申请提供的一种神经网络训练装置的结构示意图。该神经网络训练装置训练得到的神经网络,可以用于执行上述语音流利检测的方法。

如图18所示,该神经网络训练装置20包括获取单元210、处理单元220以及训练单元230。该获取单元210可以与上述获取单元110相同,该处理单元220可以与上述处理单元120相同,该训练单元230可以与上述训练单元140相同。

图19示出了本申请提供的一种电子设备的结构示意图。图17中的虚线表示该单元或该模块为可选的。设备1100可用于实现上述方法实施例中描述的方法。设备1100可以是终端设备或网络设备或芯片。

设备1100包括一个或多个处理器1101,该一个或多个处理器1101可支持设备1100实现上述方法实施例中的方法。处理器1101可以是通用处理器或者专用处理器。例如,处理器1101可以是中央处理器(central processing unit,CPU)。CPU可以用于对设备1100进行控制,执行软件程序,处理软件程序的数据。设备1100还可以包括通信单元1105,用以实现信号的输入(接收)和输出(发送)。

例如,设备1100可以是芯片,通信单元1105可以是该芯片的输入和/或输出电路,或者,通信单元1105可以是该芯片的通信接口,该芯片可以作为终端设备或网络设备或其它无线通信设备的组成部分。

又例如,设备1100可以是终端设备或网络设备,通信单元1105可以是该终端设备或该网络设备的收发器,或者,通信单元1105可以是该终端设备或该网络设备的收发电路。

设备1100中可以包括一个或多个存储器1102,其上存有程序1104,程序1104可被处理器1101运行,生成指令1103,使得处理器1101根据指令1103执行上述方法实施例中描述的方法。可选地,存储器1102中还可以存储有数据。可选地,处理器1101还可以读取存储器1102中存储的数据,该数据可以与程序1104存储在相同的存储地址,该数据也可以与程序1104存储在不同的存储地址。

处理器1101和存储器1102可以单独设置,也可以集成在一起,例如,集成在终端设备的系统级芯片(system on chip,SOC)上。

设备1100还可以包括天线1106。通信单元1105用于通过天线1106实现设备1100的收发功能。

应理解,上述方法实施例的各步骤可以通过处理器1101中的硬件形式的逻辑电路或者软件形式的指令完成。处理器1101可以是CPU、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其它可编程逻辑器件,例如,分立门、晶体管逻辑器件或分立硬件组件。

本申请还提供了一种计算机程序产品,该计算机程序产品被处理器1101执行时实现本申请中任一方法实施例所述的方法。

该计算机程序产品可以存储在存储器1102中,例如是程序1104,程序1104经过预处理、编译、汇编和链接等处理过程最终被转换为能够被处理器1101执行的可执行目标文件。

本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时实现本申请中任一方法实施例所述的方法。该计算机程序可以是高级语言程序,也可以是可执行目标程序。

该计算机可读存储介质例如是存储器1102。存储器1102可以是易失性存储器或非易失性存储器,或者,存储器1102可以同时包括易失性存储器和非易失性存储器。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号