HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

语音识别方法、装置、设备以及存储介质与流程

2021-01-28 15:01:01|264|起点商标网
语音识别方法、装置、设备以及存储介质与流程

本申请涉及语音识别领域,特别涉及一种语音识别方法、装置、设备以及存储介质。



背景技术:

随着计算机技术的发展,人们希望通过更加简便的方式来进行交流,相较于文字输入来说,直接发送语音信息是一种更加简便的交流方法。但是在一些情况下,接收到语音信息的用户并不具备收听语音信息的条件,比如该用户处在嘈杂的环境或者极度安静的环境中,那么该用户往往会将语音信息转化为文本信息,从而得知对方想要传达的信息。

相关技术中,会采用hybrid语音识别(hybridspeechrecognition)系统来进行语音识别。hybrid语音识别系统通过语音特征、音素、词语、词串依次映射,得到与语音信息对应的文本信息。

但是,hybrid语音识别系统包括声学模型、发音词典、语言模型等多个模块,多个模块之间难以形成良好的配合,语音识别的准确性较低。



技术实现要素:

本申请实施例提供了一种语音识别方法、装置、设备以及存储介质,能够提高语音识别的准确性,所述技术方案如下。

一方面,提供了一种语音识别方法,所述方法包括:

获取语音数据;

将所述语音数据的语音特征矩阵输入语音识别模型,所述语音特征矩阵用于表示所述语音数据在时域和频域上的特征;

通过所述语音识别模型,对所述语音特征矩阵进行注意力编码,得到编码矩阵;根据多个编码向量在所述编码矩阵中的位置,对所述编码矩阵中的所述多个编码向量进行解码,输出所述语音数据对应的字符串,所述位置与所述多个编码向量的解码顺序相关。

在一种可能的实施方式中,所述对所述样本语音特征矩阵进行注意力编码,得到样本编码矩阵包括:

基于三个线性变换矩阵对所述样本语音特征矩阵进行线性变换,得到第一样本变换矩阵、第二样本变换矩阵以及第三样本变换矩阵;

获取所述第一样本变换矩阵和所述第二样本变换矩阵的转置的第一样本乘积;

对所述第一样本乘积进行归一化处理,得到第一样本参考矩阵;

根据所述第一样本参考矩阵与所述第三样本变换矩阵,得到所述样本编码矩阵。

在一种可能的实施方式中,所述根据所述第一样本参考矩阵与所述第三样本变换矩阵,得到所述样本编码矩阵包括:

对所述第一样本参考矩阵与所述第三样本变换矩阵的乘积进行随机失活以及残差累加,得到第二样本参考矩阵;

对所述第二样本参考矩阵进行正则化处理,得到第三样本参考矩阵;

根据所述第三样本参考矩阵,得到所述样本编码矩阵。

在一种可能的实施方式中,所述根据所述第三样本参考矩阵,得到所述样本编码矩阵包括:

对所述第三样本参考矩阵进行第一次全连接处理和线性修正处理,得到第四样本参考矩阵;

对所述第四样本参考矩阵进行第二次全连接处理、随机失活处理、残差累加以及正则化处理,得到所述样本编码矩阵。

在一种可能的实施方式中,所述根据所述多个样本编码向量在所述样本编码矩阵中的位置,对所述样本编码矩阵中的多个样本编码向量进行解码,输出所述样本语音数据对应的预测字符串包括:

在一次解码过程中,将所述多个样本编码向量中的第一样本编码向量和样本字符向量进行融合,得到第一样本融合向量,所述第一样本编码向量为与解码顺序关联的样本编码向量,所述样本字符向量为上一次解码过程得到的样本字符的嵌入向量;

根据所述第一样本融合向量、上一次解码过程得到的样本隐特征向量以及样本状态参考向量,得到与所述第一样本融合向量对应的第一样本隐特征向量,所述样本状态参考向量与历史解码过程中的历史第一样本融合向量相关联;

根据所述第一样本隐特征向量和所述第一样本融合向量,得到所述第一样本编码向量对应的预测字符;

响应于对所述多个样本编码向量解码完成,将多个所述第一样本编码向量对应的样本字符进行组合,输出所述样本语音数据对应的预测字符串。

在一种可能的实施方式中,所述根据所述第一样本融合向量、上一次解码过程得到的样本隐特征向量以及样本状态参考向量,得到与所述第一样本融合向量对应的第一样本隐特征向量包括:

根据所述第一样本融合向量以及所述上一次解码过程得到的样本隐特征向量,更新所述样本状态参考向量;

将更新后的所述样本状态参考向量、所述第一样本融合向量以及所述上一次解码过程得到的样本隐特征向量进行融合,得到与所述第一样本融合向量对应的所述第一样本隐特征向量。

在一种可能的实施方式中,所述根据所述第一样本隐特征向量和所述第一样本融合向量,得到所述第一样本编码向量对应的预测字符包括:

将所述第一样本隐特征向量和所述第一样本融合向量进行融合,得到第二样本融合向量;

对所述第二样本融合向量进行归一化处理,得到所述第一样本编码向量对应的多个样本字符的概率;

输出所述多个样本字符中概率最高的样本字符,所述概率最高的样本字符为所述第一样本编码向量对应的样本字符。

在一种可能的实施方式中,所述将所述第一样本隐特征向量和所述第一样本融合向量进行融合,得到第二样本融合向量包括:

获取所述第一样本隐特征向量和所述第一样本融合向量的转置的第二样本乘积;

对所述第二样本乘积进行归一化处理,得到第一样本参考向量;

根据所述第一样本参考向量、所述第一样本隐特征向量以及所述第一样本融合向量,得到所述第二样本融合向量。

在一种可能的实施方式中,所述根据所述第一样本参考向量、所述第一样本隐特征向量以及所述第一样本融合向量,得到所述第二样本融合向量包括:

将所述第一样本参考向量与所述第一样本融合向量的乘积与所述第一样本隐特征向量在维度上进行拼接,得到第二样本参考向量;

对所述第二样本参考向量进行全连接处理和线性修正处理,得到所述第二样本融合向量。

在一种可能的实施方式中,所述将样本语音数据的样本语音特征矩阵输入第一模型之前,所述方法还包括:

提取所述样本语音数据的样本时域语音特征向量和样本频域语音特征向量;

将所述样本时域语音特征向量和样本频域语音特征向量在维度上进行拼接;

对拼接后的样本特征向量进行卷积处理,得到所述样本语音特征矩阵。

一方面,提供了一种语音识别装置,所述装置包括:

获取模块,用于获取语音数据;

输入模块,用于将所述语音数据的语音特征矩阵输入语音识别模型,所述语音特征矩阵用于表示所述语音数据在时域和频域上的特征;

输出模块,用于通过所述语音识别模型,对所述语音特征矩阵进行注意力编码,得到编码矩阵;根据多个编码向量在所述编码矩阵中的位置,对所述编码矩阵中的所述多个编码向量进行解码,输出所述语音数据对应的字符串,所述位置与所述多个编码向量的解码顺序相关。

在一种可能的实施方式中,所述输出模块用于对所述第一参考矩阵与所述第三变换矩阵的乘积进行随机失活以及残差累加,得到第二参考矩阵;对所述第二参考矩阵进行正则化处理,得到第三参考矩阵;根据所述第三参考矩阵,得到所述编码矩阵。

在一种可能的实施方式中,所述输出模块用于对所述第三参考矩阵进行第一次全连接处理和线性修正处理,得到第四参考矩阵;对所述第四参考矩阵进行第二次全连接处理、随机失活处理、残差累加以及正则化处理,得到所述编码矩阵。

在一种可能的实施方式中,所述输出模块,用于在一次解码过程中,将所述多个编码向量中的第一编码向量和字符向量进行融合,得到第一融合向量,所述第一编码向量为与解码顺序关联的编码向量,所述字符向量为上一次解码过程得到的字符的嵌入向量;根据所述第一融合向量、上一次解码过程得到的隐特征向量以及状态参考向量,得到与所述第一融合向量对应的第一隐特征向量,所述状态参考向量与历史解码过程中的历史第一融合向量相关联;根据所述第一隐特征向量和所述第一融合向量,得到所述第一编码向量对应的字符;响应于对所述多个编码向量解码完成,将多个所述第一编码向量对应的字符进行组合,输出所述语音数据对应的字符串。

在一种可能的实施方式中,所述输出模块,用于根据所述第一融合向量以及所述上一次解码过程得到的隐特征向量,更新所述状态参考向量;将更新后的所述状态参考向量、所述第一融合向量以及所述上一次解码过程得到的隐特征向量进行融合,得到与所述第一融合向量对应的所述第一隐特征向量。

在一种可能的实施方式中,所述输出模块,用于将所述第一隐特征向量和所述第一融合向量进行融合,得到第二融合向量;对所述第二融合向量进行归一化处理,得到所述第一编码向量对应的多个字符的概率;输出所述多个字符中概率最高的字符,所述概率最高的字符为所述第一编码向量对应的字符。

在一种可能的实施方式中,所述输出模块,用于获取所述第一隐特征向量和所述第一融合向量的转置的第二乘积;对所述第二乘积进行归一化处理,得到第一参考向量;根据所述第一参考向量、所述第一隐特征向量以及所述第一融合向量,得到所述第二融合向量。

在一种可能的实施方式中,所述输出模块,用于将所述第一参考向量与所述第一融合向量的乘积与所述第一隐特征向量在维度上进行拼接,得到第二参考向量;对所述第二参考向量进行全连接处理和线性修正处理,得到所述第二融合向量。

在一种可能的实施方式中,所述装置还包括:特征提取模块,用于提取所述语音数据的时域语音特征向量和频域语音特征向量;将所述时域语音特征向量和所述频域语音特征向量在维度上进行拼接;对拼接后的特征向量进行卷积处理,得到所述语音特征矩阵。

在一种可能的实施方式中,所述语音识别模型的训练装置包括:

样本数据获取模块,用于获取样本语音数据;

样本特征输入模块,用于将所述样本语音数据的样本语音特征矩阵输入第一模型,所述样本语音特征矩阵用于表示所述样本语音数据在时域和频域上的特征;

样本输出模块,用于通过所述第一模型,对所述样本语音特征矩阵进行注意力编码,得到样本编码矩阵;根据多个样本编码向量在所述样本编码矩阵中的位置,对所述样本编码矩阵中的所述多个样本编码向量进行解码,输出所述样本语音数据对应的预测字符串,所述位置与所述多个样本编码向量的解码顺序相关。

训练模块,用于响应于所述预测字符串与所述样本语音数据对应的实际字符串之间的差异信息符合目标条件,将所述第一模型作为训练完成的语音识别模型。

在一种可能的实施方式中,所述样本输出模块,用于基于三个线性变换矩阵对所述样本语音特征矩阵进行线性变换,得到第一样本变换矩阵、第二样本变换矩阵以及第三样本变换矩阵;获取所述第一样本变换矩阵和所述第二样本变换矩阵的转置的第一样本乘积;对所述第一样本乘积进行归一化处理,得到第一样本参考矩阵;根据所述第一样本参考矩阵与所述第三样本变换矩阵,得到所述样本编码矩阵。

在一种可能的实施方式中,所述样本输出模块,用于对所述第一样本参考矩阵与所述第三样本变换矩阵的乘积进行随机失活以及残差累加,得到第二样本参考矩阵;对所述第二样本参考矩阵进行正则化处理,得到第三样本参考矩阵;根据所述第三样本参考矩阵,得到所述样本编码矩阵。

在一种可能的实施方式中,所述样本输出模块,用于对所述第三样本参考矩阵进行第一次全连接处理和线性修正处理,得到第四样本参考矩阵;对所述第四样本参考矩阵进行第二次全连接处理、随机失活处理、残差累加以及正则化处理,得到所述样本编码矩阵。

在一种可能的实施方式中,所述样本输出模块,用于在一次解码过程中,将所述多个样本编码向量中的第一样本编码向量和样本字符向量进行融合,得到第一样本融合向量,所述第一样本编码向量为与解码顺序关联的样本编码向量,所述样本字符向量为上一次解码过程得到的样本字符的嵌入向量;根据所述第一样本融合向量、上一次解码过程得到的样本隐特征向量以及样本状态参考向量,得到与所述第一样本融合向量对应的第一样本隐特征向量,所述样本状态参考向量与历史解码过程中的历史第一样本融合向量相关联;根据所述第一样本隐特征向量和所述第一样本融合向量,得到所述第一样本编码向量对应的预测字符;响应于对所述多个样本编码向量解码完成,将多个所述第一样本编码向量对应的样本字符进行组合,输出所述样本语音数据对应的预测字符串。

在一种可能的实施方式中,所述样本输出模块,用于根据所述第一样本融合向量以及所述上一次解码过程得到的样本隐特征向量,更新所述样本状态参考向量;将更新后的所述样本状态参考向量、所述第一样本融合向量以及所述上一次解码过程得到的样本隐特征向量进行融合,得到与所述第一样本融合向量对应的所述第一样本隐特征向量。

在一种可能的实施方式中,所述样本输出模块,用于将所述第一样本隐特征向量和所述第一样本融合向量进行融合,得到第二样本融合向量;对所述第二样本融合向量进行归一化处理,得到所述第一样本编码向量对应的多个样本字符的概率;输出所述多个样本字符中概率最高的样本字符,所述概率最高的样本字符为所述第一样本编码向量对应的样本字符。

在一种可能的实施方式中,所述样本输出模块,用于获取所述第一样本隐特征向量和所述第一样本融合向量的转置的第二样本乘积;对所述第二样本乘积进行归一化处理,得到第一样本参考向量;根据所述第一样本参考向量、所述第一样本隐特征向量以及所述第一样本融合向量,得到所述第二样本融合向量。

在一种可能的实施方式中,所述样本输出模块,用于将所述第一样本参考向量与所述第一样本融合向量的乘积与所述第一样本隐特征向量在维度上进行拼接,得到第二样本参考向量;对所述第二样本参考向量进行全连接处理和线性修正处理,得到所述第二样本融合向量。

在一种可能的实施方式中,所述装置还包括样本特征提取模块,用于提取所述样本语音数据的样本时域语音特征向量和样本频域语音特征向量;将所述样本时域语音特征向量和样本频域语音特征向量在维度上进行拼接;对拼接后的样本特征向量进行卷积处理,得到所述样本语音特征矩阵。

一方面,提供了一种计算机设备,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述程序代码由所述一个或多个处理器加载并执行以实现所述语音识别方法。

一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现所述语音识别方法。

一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行上述语音识别方法。

通过本申请实施例提供的技术方案,采用了注意力编码以及时序解码的方法来进行语音识别,对语音特征矩阵进行注意力编码,能够高效利用gpu的并行化计算。根据编码向量在编码矩阵中的位置,对编码向量进行解码,能够减少参数量,同时利用语音识别模型的记忆特征,根据时序上相关的编码向量来进行预测,提高了语音识别的准确性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种语音识别方法的实施环境的示意图;

图2是本申请实施例提供的一种界面示意图;

图3是本申请实施例提供的一种界面示意图;

图4是本申请实施例提供的一种语音识别模型的结构示意图;

图5是本申请实施例提供的一种语音识别模型的结构示意图;

图6是本申请实施例提供的一种语音识别模型的结构示意图;

图7是本申请实施例提供的一种编码单元的结构示意图;

图8是本申请实施例提供的一种语音识别模型的训练方法的流程图;

图9是本申请实施例提供的一种语音识别方法的流程图;

图10是本申请实施例提供的一种语音识别装置的结构示意图;

图11是本申请实施例提供的一种终端的结构示意图;

图12是本申请实施例提供的一种服务器的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。

本申请中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上,例如,多个参照人脸图像是指两个或两个以上的参照人脸图像。

云技术(cloudtechnology)是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。

云计算(cloudcomputing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为iaas(infrastructureasaservice,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。按照逻辑功能划分,在基础设施即服务(infrastructureasaservice,iaas)层上可以部署平台即服务(platformasaservice,paas)层,paas层之上再部署软件即服务(softwareasaservice,saas)层,也可以直接将saas部署在iaas上。paas为软件运行的平台,如数据库、web容器等。saas为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,saas和paas相对于iaas是上层。

人工智能(artificialintelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

机器学习(machinelearning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识子模型使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。

图形处理器(graphicsprocessingunit,gpu),又称显示核心、视觉处理器、显示芯片,是一种在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。

语音识别(speechrecognition):即机器通过识别和理解过程把语音信号转变为相应的文本或命令的技术,根据实现算法可分为hybrid语音识别系统和端到端语音识别系统。

hybrid语音识别(hybridspeechrecognition):通过语音特征、音素、词语、词串依次映射,由声学模型、发音词典、语言模型等多个模块组合而成的传统语音识别系统。

端到端语音识别(end-to-endspeechrecognition):系统中不再有独立的声学模型、发音词典、语言模型等模块,而是从输入端(语音特征序列)到输出端(词串序列)直接用一个神经网络相连,让这个神经网络来承担原先所有模块的语音识别系统。

语音特征(speechfeature):通过一些数据处理技术,从输入的语音数据中提取的特征,通过特征向量的表示形式供声学模型处理,以尽可能降低环境噪声、信道、说话人等因素对识别造成的影响。

声学模型(acousticmodel):语音特征到音素映射概率的计算模型,音素是根据语音的自然属性划分出来的最小语音单位。

发音词典(pronunciationdictionary):发音词典包含系统所能处理的词汇集及其发音,提供了声学模型建模单元与语言模型建模单元间的映射。

语言模型(languagemodel):词语到词串映射概率的计算模型,可以对一段文本的概率进行估计,来表示其存在的可能性。

卷积神经网络(convolutionalneuralnetwork,cnn):是一种前馈神经网络,其神经元可对感受野内的单元进行响应。cnn通常由多个卷积层和顶端的全连接层组成,其通过共享参数降低模型的参数量,使之在图像和语音识别方面得到广泛应用。

长短时记忆网络(longshort-termmemory,lstm):是一种时间递归神经网络,它在算法中加入了一个判断信息有用与否的cell。一个cell中放置了输入门、遗忘门和输出门。信息进入lstm后,根据规则来判断是否有用。符合算法认证的信息才会留下,不符的信息则通过遗忘门被遗忘。该网络适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。

注意力机制(attentionmechanism):在神经网络的隐藏层中,注意力机制根据具体任务目标,对关注的方向和加权模型进行调整。通过增加注意力机制的加权,使不符合注意力模型的内容弱化或者遗忘。若关注的方向基于自身,则称之为自身注意力(self-attention)机制。

多头注意力机制(multi-headattention,mha):将输入分为多个头,形成多个子空间,在每个子空间完成注意力机制之后重新组合,称之为多头注意力机制。多头注意力机制可让模型在不同的表示子空间里学习到相关的信息。

注意力权重:可以表示训练或预测过程中某个数据的重要性,重要性表示输入的数据对输出数据影响的大小。重要性高的数据其对应的注意力权重的值较高,重要性低的数据其对应的注意力权重的值较低。在不同的场景下,数据的重要性并不相同,模型的训练注意力权重的过程也即是确定数据重要性的过程。

transformer:一种基于自身注意力机制的神经网络,在语音识别、图像识别、自然语言处理等领域得到广泛应用。通过一次或多次对输入序列增加注意力机制的加权,而形成新的输出序列,使不符合注意力模型的内容弱化或者遗忘。

基于注意力机制的“编码-解码”模型(attention-basedencoder-decoder,aed):一种解决序列到序列映射问题的模型,通过多头注意力向量(mha)控制编码序列与解码序列的不等长映射,完成端到端语音识别系统的构建。

lstm-aed:亦称为las(listen,attendandspell),基于lstm构建编码器,同时基于lstm构建解码器的aed模型。

transformer-aed:基于transformer构建编码器,同时基于transformer构建解码器的aed模型。

tl-aed:结合transformer和lstm实现的aed模型,基于transformer构建编码器,同时基于lstm构建解码器的aed模型。

归一化处理:将取值范围不同的数列映射到(0,1)区间上,便于数据的处理。在一些情况下,归一化后的数值可以直接被实现为概率。

随机失活(dropout):是对具有深度结构的人工神经网络进行优化的方法,在学习过程中通过将隐含层的部分权重或输出随机归零,降低节点间的相互依赖性从而实现神经网络的正则化,降低其结构风险。例如在模型训练过程中,存在一个向量(1,2,3,4),将该向量输入随机失活层后,随机失活层可以随机将向量(1,2,3,4)中的一个数字转化为0,比如将2转化为0,那么向量就变成了(1,0,3,4)。

学习率(learningrate):用于控制模型的学习进度,学习率可以指导模型在梯度下降法中,如何使用损失函数的梯度调整网络权重。学习率如果过大,可能会使损失函数直接越过全局最优点,此时表现为损失过大;学习率如果过小,损失函数的变化速度很慢,会大大增加网络的收敛复杂度,并且很容易被困在局部最小值或者鞍点。

嵌入编码(embeddedcoding):嵌入编码在数学上表示一个对应关系,即通过一个函数f将x空间上的数据映射到y空间上,其中该函数f是单射函数,映射的结果是结构保存,单射函数表示映射后的数据与映射前的数据唯一对应,结构保存表示映射前数据的大小关系后映射后数据的大小关系相同,例如映射前存在数据x1以及x2,映射后得到x1对应的y1以及x2对应的y2。若映射前的数据x1>x2,那么相应的,映射后的数据y1大于y2。对于词语来说,就是将词语映射到另外一个空间,便于后续的机器学习和处理。

图1是本申请实施例提供的一种语音识别方法的实施环境示意图,参见图1,该实施环境中可以包括第一终端110、第二终端120和服务器140。

可选地,第一终端110为智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。第一终端110上安装和运行有支持即时通讯的应用程序。

可选地,第二终端120为智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。第二终端120上安装和运行有支持即时通讯的应用程序。

可选地,第一终端110能够通过无线网络或有线网络与服务器140相连。第一终端110能够将采集到的语音消息发送给服务器140,由服务器140将语音消息发送给第二终端120,第二终端120的用户能够通过第二终端120收听该语音消息。若第二终端120的用户不方便收听该语音消息,那么第二终端120的用户能够通过第二终端120将该语音消息发送给服务器,由服务器对该语音消息进行语音识别,将语音识别的结果发送给第二终端120,由第二终端120将语音识别的结果展现给用户。

可选地,服务器140是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式系统,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、分发网络(contentdeliverynetwork,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。

介绍完本申请实施例提供的技术方案的实施环境之后,下面对本申请的应用场景进行介绍。

本申请实施例提供的技术方案能够由服务器执行,也即是将语音识别方案放于云服务上,作为一种基础技术赋能于使用该云服务的用户。举例来说,本申请实施例提供的技术方案能够应用在微信语音转文本、qq语音转文本、视频加字幕、写作、智能家居设备的搜索、会议现场的实时语音转文字、法庭审判现场自动记录文字、学生将老师讲课的内容转为文本、与听力障碍的患者进行交流、在线游戏以及实时翻译等场景中,其中,微信语音转文本以及qq语音转文本也能够称为即时通讯场景。

以微信语音转文本为例,用户在不方便收听语音的时候,直接将其他用户发来的语音转为文本,能够快速获取对方要表达的内容。

语音转文本的流程如下。

11.参见图2,用户a对“按住说话”按钮201保持按住状态,客户端a对用户a讲话的内容进行录音。用户a讲话完毕后,松开“按住说话”按钮201,录音结束。

12.客户端a对录制到的音频进行压缩处理,将压缩音频利用网络协议打包,通过网络送往服务器。

13.服务器获取客户端a发送的录音,将录音传输给用户b的客户端b。

14.参见图3,客户端b接收到服务器下发的录音,若用户b不方便收听该录音,那么用户b长按该录音对应的图标,在弹出的选项框中选择转文字301。响应于用户b选择转文字301,客户端b将用户a发送的录音发送给服务器。

15.服务器接收用户b要转文字的录音,并将录音解压后送入语音识别模型,语音识别模型将录音转为文字后,服务器下发文字给客户端b。

16.客户端b接收文字,在界面上显示该文字,用户b能够在不听录音的情况下,得知用户a想要表达的内容。

以写作场景为例,用户在进行写作时,无需手敲键盘来进行文本输入,只需通过麦克风进行讲话,终端能够直接将用户讲话的内容转化为文本进行显示,提高了用户的写作效率。

通过语音识别进行写作的流程如下。

21.用户将输入法切换至语音输入法,用户按住该语音输入法提供的录音按钮,语音输入法对用户的讲话进行录音,用户讲话完毕之后,再次点击录音按钮,录音结束。

22.该语音输入法对录制到的频进行压缩处理,将压缩音频利用网络协议打包,通过网络送往服务器。

23.服务器获取该语音输入法发送的录音,将录音解压后送入语音识别模型,语音识别模型将录音转为文本后,服务器下发文本给该语音输入法。

24.该语音输入法将文本显示在用户进行写作的界面上,用户无需手动敲击键盘进行文本输入,通过讲话就能够完成写作过程。

以智能家居设备的搜索场景为例,若智能家居设备为智能电视,用户能够通过语音来控制智能电视播放想看的内容。

通过语音识别进行内容搜索的流程如下。

31.用户对智能电视的遥控器上的“讲话”按钮保持按住状态,智能电视的遥控器作为麦克风,将用户讲话的内容通过无线连接发送给智能电视,智能电视对用户讲话的内容进行录音。用户讲话完毕后,松开“讲话”按钮,录音完毕。

32.智能电视对录制到的音频进行压缩处理,将压缩音频利用网络协议打包,通过网络送往服务器。

33.服务器获取智能电视发送的录音,将录音解压后送入语音识别模型,语音识别模型将录音转为文本后,服务器下发文本给该智能电视。

34.该智能电视基于获取到的文本进行搜索,在界面上向用户展示基于用户讲话内容的搜索结果。

以会议现场的实时语音转文字的场景为例,会议现场的记录人员能够通过本申请实施例提供的语音识别方法,实时将发言人在会议现场表达的内容转化为文字,方便记录人员对会议内容进行总结,形成更为全面的会议纪要。

通过语音识别进行会议现场的实时语音转文字的流程如下。

41.用户通过终端对发言人在会议现场的讲话内容进行录音。

42.终端对录制到的音频进行压缩处理,将压缩音频利用网络协议打包,通过网络送往服务器。

43.服务器获取终端发送的录音,将录音解压后送入语音识别模型,语音识别模型将录音转为文本后,服务器下发文本给该终端。

44.该终端将获取到的文本显示在屏幕上,该文本也即是发言人在会议现场的讲话内容对应的文本。

以法庭审判现场自动记录文字的场景为例,在审判过程中,书记员需要对原告、被告以及审判人员表达的内容进行记录。一般来说,书记员是通过敲击键盘的方式来进行记录的。采用本申请实施例提供的语音识别方法之后,书记员能够使用终端来实时将原告、被告以及审判人员表达的内容转化为文字,书记员无需一直敲击键盘来进行记录,而是起到细节的补充和错误的修正即可,大大减轻了书记员的工作量。

通过语音识别进行法庭审判现场自动记录文字的流程如下。

51.书记员通过终端对原告、被告以及审判人员在审判过程中讲话的内容进行录音。

52.终端对录制到的音频进行压缩处理,将压缩音频利用网络协议打包,通过网络送往服务器。

53.服务器获取终端发送的录音,将录音解压后送入语音识别模型,语音识别模型将录音转为文本后,服务器下发文本给该终端。

54.该终端将获取到的文本显示在屏幕上,该文本也即是法庭审判现场自动记录的文本。

以与听力障碍的患者进行交流的场景为例,在于听力障碍的患者进行交流的过程中,用户能够采用本申请实施例提供的语音识别方法,将要表达的内容转化为文本,供听力障碍的患者进行查看,从而实现与听力障碍的患者进行交流的目的。

通过语音识别与听力障碍的患者进行交流的流程如下。

61.用户能够通过终端对自己想要表达的内容进行录音。

62.终端对录制到的音频进行压缩处理,将压缩音频利用网络协议打包,通过网络送往服务器。

63.服务器获取终端发送的录音,将录音解压后送入语音识别模型,语音识别模型将录音转为文本后,服务器下发文本给该终端。

64.该终端将获取到的文本显示在屏幕上,该文本也即是用户与听力障碍的患者进行沟通时想要表达的内容对应的文本,听力障碍的患者通过该文本,能够得知用户想要表达的内容。

以在线游戏场景为例,若玩家想要在游戏中与其他玩家进行交流,那么除了通过实时语音或者打字之外,还能够将语音转化为文字来实现交流。

通过语音识别与其他玩家进行交流的流程如下。

71.玩家按下游戏界面上显示的“语音转文字”按钮,玩家开始讲话,运行游戏的终端通过麦克风采集玩家讲话的内容,目标时长后,录音完毕。

72.该游戏客户端对录制到的频进行压缩处理,将压缩音频利用网络协议打包,通过网络送往服务器。

73.服务器获取游戏客户端发送的录音,将录音解压后送入语音识别模型,语音识别模型将录音转为文本后,服务器下发文本给游戏客户端。

74.游戏客户端将文本显示在玩家与其他玩家进行交流的文本输入框内,玩家确认文本与自己想要表达的意思相符时,点击发送按钮就能够将文本发送至服务器,由服务器将文本转送给其他玩家。

以实时翻译场景为例,当使用语言a的用户c与使用语言b的用户d需要进行沟通时,采用终端对双方讲话的内容进行录音,比如,在用户c讲话时,能够通过终端将用户c使用语言a表达的内容转化为语言a对应的文字,随后将语言a对应的文字翻译为语言b对应的文字。在用户d讲话时,能够通过终端将用户d使用语言b表达的内容转化为语言b对应的文字,随后将语言b对应的文字翻译为语言a对应的文字。

下面以用户c讲话为例进行说明,流程如下。

81.终端对用户c讲话的内容进行录音。

82.终端对录制到的音频进行压缩处理,将压缩音频利用网络协议打包,通过网络送往服务器。

83.服务器获取终端发送的录音,将录音解压后送入语音识别模型,语音识别模型输出录音对应的文本。服务器对该文本进行翻译,将该文本翻译为语言b对应的文本,服务器下发语言b对应的文本给该终端。

84.该终端将获取到的文本显示在屏幕上,用户d能够通过文本得知用户c想要表达的内容。

需要说明的是,上述各个场景仅仅是本申请实施例提供的技术方案进行应用的示例性描述,在其他可能的实施方式中,本申请实施例提供的技术方案也能够应用于其他语音识别的场景中,本申请实施例对此不做限定。

在本申请实施例中,语音识别方法的实现需要借助于语音识别模型,下面对本申请实施例提供的语音识别模型的结构进介绍,参见图4,语音识别模型包括:输入单元401、编码单元402、解码单元403以及输出单元404。

其中,输入单元401用于向模型中输入语音数据的语音特征矩阵。编码单元402用于对语音特征矩阵进行编码,得到编码矩阵。解码单元403用于对编码矩阵进行解码,得到语音数据对应的字符串。输出单元404用于输出字符串。

在一种可能的实施方式中,参见图5,编码单元402包括自注意力子单元4021以及全连接子单元4022。自注意力子单元4021用于对语音特征矩阵进行注意力编码,全连接子单元4022用于对注意力编码后的语音特征矩阵进行全连接处理,输出编码矩阵。

可选地,自注意力子单元4021包括自注意力层、随机失活层、残差累加(⊕)层以及正则化层(layernorm)。自注意力层用于对语音特征矩阵进行自注意力编码,随机失活层用于将自注意力编码后的语音特征矩阵中的参数随机归零,防止训练语音识别模型时的过拟合。残差累加层用于对语音特征矩阵进行残差累加,提高训练的效果。正则化层用于对残差累加后的语音特征矩阵进行正则化处理,用于缓解模型训练过程中的梯度爆炸或梯度消失的现象。

全连接子单元4022包括第一全连接层以及第二全连接层,其中,第一全连接层包括全连接层(fc1)和线性修正层(relu),第二全连接层包括全连接层(fc2)和随机失活层(dropout)。

在一种可能的实施方式中,参见图6,解码单元403包括第一向量融合子单元4031、时序解码子单元4032、第二向量融合子单元4033、全连接子单元4034以及归一化子单元4035。第一向量融合子单元4031用于将编码矩阵中的第一编码向量和上一次解码过程得到字符的嵌入向量进行融合,输出第一融合向量。时序解码子单元4032用于对第一融合向量进行时序解码,输出第一编码向量的第一隐状态向量。第二向量融合子单元4033用于将第一隐状态向量以及第一融合向量进行融合,得到第二融合向量。全连接子单元4034用于对第二融合向量进行全连接处理,归一化子单元4035用于对全连接处理后的第二融合向量进行归一化处理,得到第一编码向量对应的字符。

可选地,时序解码子单元4032的数量为两个(lstm1以及lstm2),这样能够增加语音识别模型的模型深度,提高语音识别的效果。

下面对时序解码子单元4032的结构进行说明。

参见图7,时序解码子单元4032包括“遗忘门”、“输入门”以及“输出门”。图7中x(t)为第一融合向量,h(t-1)为上一次解码过程中得到的隐状态向量,c(t-1)为上一次解码完成后的状态参数,c(t)为当前解码过程中的状态参数,h(t)为第一融合向量对应的隐状态向量,“×”表示相乘,“+”表示相加,“sigmoid”为软最大化激活函数,“tanh”为正切激活函数。

可选地,编码单元402为一个transformer编码单元,解码单元403为一个lstm解码单元,语音识别模型也能够称为tl-aed模型。

对本申请实施例提供的语音识别模型的结构介绍完毕之后,下面对语音识别模型的训练方法进行说明,参见图8,方法包括以下步骤。

801、服务器获取样本语音数据。

其中,样本语音数据为带有标注的语音序列,语音序列为一个二维的向量,第一维为时间,第二维为时间对应的振幅。带有标注是指,语音序列对应于一个文本序列,该文本序列的内容也即是语音序列表示的内容。

在一种可能的实施方式中,技术人员通过终端进行语音数据的录入和标注,将带有标注的语音数据作为样本语音数据发送给服务器,服务器能够基于样本语音数据进行后续的模型训练。

举例来说,技术人员通过终端录入语音“你好吗”,终端能够将技术人员录入的“你好吗”转化为语音序列,语音序列中第一行的数字表示时间,单位为毫秒,第二行的数字表示振幅,单位为毫米,技术人员通过终端标注该语音序列对应的文本序列“你好吗”,该语音序列和标注的文本序列也就构成了样本语音数据。

在一种可能的实施方式中,服务器从网络上获取已经标注好的样本语音数据集合,样本语音数据集合中存在多条样本语音数据,服务器基于样本语音数据集合能够对语音识别模型进行训练。

在上述实施方式的基础上,技术人员还能够根据本申请实施例提供的语音识别方法的应用场景,来选择不同类型的样本语音数据集合。举例来说,若语音识别方法应用在在线游戏的场景中,在训练语音识别模型时,技术人员能够选择基于游戏词汇生成的样本语音数据集合,这样能够提高在线游戏场景中语音识别的准确性。若语音识别方法应用在智能家居设备的搜索场景中,相应的,在训练语音识别模型时,技术人员选择基于搜索指令生成的样本语音数据集合。

802、服务器将样本语音数据的样本语音特征矩阵输入第一模型,样本语音特征矩阵用于表示样本语音数据在时域和频域上的特征。

其中,第一模型为未训练完毕的语音识别模型,第一模型的结构与语音识别模型相同。

在一种可能的实施方式中,服务器提取样本语音数据的样本时域语音特征向量和样本频域语音特征向量。服务器将样本时域语音特征向量和样本频域语音特征向量在维度上进行拼接,对拼接后的样本语音特征向量进行卷积处理,得到样本语音特征矩阵。

在这种实施方式下,服务器同时提取了样本语音数据的时域特征和频域特征,时域特征和频域特征能够从两个空间内反应语音数据的特征,使得样本语音特征矩阵能够更加精准的表示样本语音数据,从而提高语音识别的准确性。

举例来说,服务器对样本语音数据进行分帧,得到多个样本语音帧。服务器对多个样本语音帧进行时域特征提取,得到样本语音数据的样本时域语音特征向量,其中,样本时域语音特征向量用于表示语音帧的短时能量以及短时过零率中的至少一项。服务器对多个样本语音帧进行加窗,对加窗后的多个样本语音帧进行傅里叶变换,得到样本语音数据对应的样本频域语音数据。服务器对样本频域语音数据进行频域特征提取,得到样本语音数据的样本频域语音特征向量,样本频域语音特征向量用于表示样本频域语音数据的共振峰特征、基音频率以及谐波频率中的至少一项。服务器将样本时域语音特征向量和样本频域语音特征向量在维度上进行拼接,得到二维的样本语音特征向量。服务器对二维的样本语音特征向量进行卷积处理,得到样本语音特征矩阵,将样本语音特征矩阵输入第一模型,样本语音特征矩阵中每个一维向量表示一个语音帧的时域特征和频域特征。

为了便于更加清楚的理解上述实施方式,下面将结合一个具体的例子来进行说明。

服务器获取的样本语音数据为,若帧移为30ms,那么服务器对样本语音数据进行分帧后,得到三个样本语音帧以及。服务器对三个样本语音帧进行时域特征提取,得到三个样本语音帧的时域语音特征向量(1,3)、(1,2)以及(2,3),服务器将三个样本语音帧的时域语音特征向量在长度上进行拼接,得到样本时域语音特征向量(1,3,1,2,2,3)。服务器对三个样本语音帧以及进行加窗处理,加窗处理的窗函数的类型为汉宁窗或者海明窗,本申请实施例对此不做限定。服务器对三个样本语音帧进行加窗之后,对加窗后的三个样本语音帧进行傅里叶变换,得到样本语音数据对应的样本频域语音数据,比如,其中,第一行的数字表示频率,第二行的数字表示振幅。服务器对样本频域语音数据进行频域特征提取,得到样本频域语音特征向量,比如(2,1,3,3,1,3)。服务器将样本时域语音特征向量(1,3,1,2,2,3)和样本频域语音特征向量(2,1,3,3,1,3)在维度上进行拼接,得到。服务器对进行卷积处理,卷积处理的意义在于对进行位置编码,位置编码也即是将每个样本语音帧按照出现的顺序,编码为样本语音特征矩阵,以配合第一模型的语音识别过程。若样本语音特征矩阵为,那么第一行的向量(2,1,2)表示第一个样本语音帧的特征,第二行的向量(1,3,1)表示第二个样本语音帧的特征,第三行的向量(3,2,4)表示第三个样本语音帧的特征。服务器将样本语音特征矩阵输入第一模型。

在一种可能的实施方式中,服务器在提取样本语音数据的样本时域语音特征向量和样本频域语音特征向量之后,也能够将样本时域语音特征向量和样本频域语音特征向量进行拼接之后直接输入第一模型,由第一模型的输入单元401对拼接后的样本语音特征向量进行卷积处理,得到样本语音特征矩阵,特征提取和卷积处理的方式参见上一种实施方式的描述,在此不再赘述。

803、服务器通过第一模型,对样本语音特征矩阵进行注意力编码,得到样本编码矩阵,样本编码矩阵包括多个样本编码向量。

在一种可能的实施方式中,服务器通过第一模型,基于三个线性变换矩阵对样本语音特征矩阵进行线性变换,得到第一样本变换矩阵、第二样本变换矩阵以及第三样本变换矩阵。服务器获取第一样本变换矩阵和第二样本变换矩阵的转置的第一样本乘积,对第一样本乘积进行归一化处理,得到第一样本参考矩阵。服务器根据第一样本参考矩阵与第三样本变换矩阵,得到样本编码矩阵。

举例来说,服务器能够通过第一模型,基于三个线性变换矩阵wq、wk以及wv与样本语音特征矩阵进行右乘,得到第一样本变换矩阵q、第二样本变换矩阵k以及第三样本变换矩阵v。服务器通过第一模型,获取第一变换矩阵q和第二变换矩阵k的转置kt的第一样本乘积。服务器通过第一模型,对第一样本乘积进行归一化处理,归一化处理为软最大化函数处理(softmax),得到第一样本参考矩阵,服务器根据第一样本参考矩阵和第三样本变换矩阵v,得到样本编码矩阵。

下面对服务器通过第一模型,根据第一样本参考矩阵与第三样本变换矩阵,得到样本编码矩阵的方法进行说明。

在一种可能的实施方式中,服务器通过第一模型,对第一样本参考矩阵与第三样本变换矩阵的乘积进行随机失活以及残差累加,得到第二样本参考矩阵。服务器通过第一模型,对第二样本参考矩阵进行正则化处理,得到第三样本参考矩阵。服务器通过第一模型,根据第三样本参考矩阵,得到样本编码矩阵。

举例来说,服务器通过第一模型,将第一样本参考矩阵与第三样本变换矩阵v相乘,得到单头样本注意力矩阵,上述计算过程参见公式(1)。

(1)

其中,q、k和v分别为查询矩阵、键矩阵以及值矩阵,attention()表示注意力编码,softmax()为归一化函数,dk为常数,为了更加清楚的进行说明,在下述说明过程中,假设dk=1。

服务器通过第一模型,对单头样本注意力矩阵进行随机失活(dropout)处理,比如得到矩阵。服务器通过第一模型,对矩阵进行残差累加,得到第二样本参考矩阵,残差累加的过程也即是将矩阵与样本语音特征矩阵相加的过程。服务器通过第一模型,对第二样本参考矩阵进行正则化处理(norm),得到第三样本参考矩阵,比如为,正则化处理也即是将矩阵中的每个数字减去矩阵中所有数字的平均值后再除以每个数字的方差。服务器通过第一模型,根据第三样本参考矩阵,得到样本编码矩阵。

下面对服务器通过第一模型,根据第三样本参考矩阵,得到样本编码矩阵的方法进行说明。

在一种可能的实施方式中,服务器通过第一模型,对第三样本参考矩阵进行第一次全连接处理和线性修正处理,得到第四样本参考矩阵。服务器通过第一模型,对第四样本参考矩阵进行第二次全连接处理、随机失活处理、残差累加以及正则化处理,得到样本编码矩阵。

举例来说,服务器通过第一模型,对第三样本参考矩阵与第一全连接矩阵fc1相乘,得到矩阵。服务器通过第一模型,对矩阵进行relu线性修正处理,得到第四样本参考矩阵。服务器通过第一模型,对第四样本参考矩阵与第二全连接矩阵fc2相乘,得到矩阵。服务器通过第一模型,对矩阵进行随机失活处理,得到矩阵。服务器通过第一模型,对矩阵进行残差累加,得到矩阵,残差累加的过程也即是将矩阵与第三样本参考矩阵相加的过程。服务器通过第一模型,对矩阵正则化处理,得到样本编码矩阵,比如为,其中向量(1,-4,2)、向量(2,2,3)以及向量(3,6,5)为样本编码向量。

需要说明的是,得到样本编码矩阵之后,服务器还能够在样本编码矩阵的头部加入起始符<s>对应的起始向量,比如(0,0,0),在样本编码矩阵的尾部加入终止符</s>对应的终止向量,比如(1,1,1),最终得到的样本编码矩阵也就为

804、服务器通过第一模型,根据多个样本编码向量在样本编码矩阵中的位置,对样本编码矩阵中的多个样本编码向量进行解码,输出样本语音数据对应的预测字符串,位置与多个样本编码向量的解码顺序相关。

其中,在解码过程中,服务器每次对样本编码矩阵中的一个样本编码向量进行解码,以样本编码矩阵为为例,在第一次解码过程中,服务器通过第一模型对样本编码向量(0,0,0)进行解码,第二次解码过程中,服务器通过第一模型对样本编码向量(1,-4,2)进行解码,以此类推。

在一种可能的实施方式中,在一次解码过程中,服务器通过第一模型,将多个样本编码向量中的第一样本编码向量和预测字符向量进行融合,得到第一样本融合向量,其中,第一样本编码向量为与解码顺序关联的编码向量,预测字符向量为上一次解码过程得到的字符的嵌入向量。服务器通过第一模型,根据第一样本融合向量、上一次解码过程得到的样本隐特征向量以及样本状态参考向量,得到与第一样本融合向量对应的第一样本隐特征向量,其中,样本状态参考向量与历史解码过程中的历史第一样本融合向量相关联。服务器通过第一模型,根据第一样本隐特征向量和第一样本融合向量,得到第一样本编码向量对应的预测字符。响应于对多个样本编码向量解码完成,服务器将多个第一样本编码向量对应的预测字符进行组合,输出样本语音数据对应的预测字符串。

为了更加清楚的对上述实施方式进行说明,下面将分几个部分进行说明。

1、首先对服务器将第一样本编码向量和样本字符向量进行融合,得到第一融合向量的方法进行说明。

在一种可能的实施方式中,服务器通过第一模型,对第一样本编码向量进行注意力编码,注意力编码方法与上述公式(1)提供的方法属于同一发明构思,但是公式中q、k和v的含义有所不同。在对第一样本编码向量进行注意力编码的过程中,q为上一次解码过程得到的样本隐特征向量,k和v均为第一样本编码向量本身。服务器将对第一样本编码向量进行注意力编码得到的向量与样本字符向量进行相加,得到第一样本融合向量。

举例来说,若第一样本编码向量为(1,-4,2),上一次解码过程得到的样本隐特征向量为(1,0.25,0.5),样本字符向量为(1,1,1),服务器能够将样本隐特征向量(1,0.25,0.5)与第一样本编码向量(1,-4,2)的转置(1,-4,2)t相乘,也即是q×kt,得到1。服务器将1与第一样本编码向量(1,-4,2)相乘,得到向量(1,-4,2)。服务器将向量(1,-4,2)与样本字符向量(1,1,1)相加,得到第一融合向量(2,-3,3)。

2、接着对服务器根据第一样本融合向量、上一次解码过程得到的样本隐特征向量以及样本状态参考向量,得到与第一样本融合向量对应的第一样本隐特征向量的方法进行说明。

在一种可能的实施方式中,服务器根据第一样本融合向量以及上一次解码过程得到的样本隐特征向量,更新样本状态参考向量。服务器通过第一模型,将更新后的样本状态参考向量、第一样本融合向量以及上一次解码过程得到的样本隐特征向量进行融合,得到与第一样本融合向量对应的第一样本隐特征向量。

举例来说,服务器能够基于公式(2)-公式(5),更新样本状态参考向量。

(2)

(3)

(4)

(5)

其中,f(t)、i(t)以及c(t)为中间参数,x(t)为第一样本融合向量,h(t-1)为上一次解码过程得到的样本隐特征向量,σ()为sigmoid激活函数,tanh为正切激活函数,w(f)、u(f)、w(i)、w(c)以及u(c)为模型参数。c(t)为更新后的样本状态参考向量,c(t-1)为更新前的样本状态参考向量。

得到更新后的样本状态参考向量c(t)之后,服务器基于公式(6)和公式(7),将更新后的样本状态参考向量、第一样本融合向量以及上一次解码过程得到的样本隐特征向量进行融合,得到与第一样本融合向量对应的第一样本隐特征向量。

(6)

(7)

其中,o(t)和w(o)为中间参数,h(t)为第一样本隐特征向量。

3、下面对服务器根据第一样本隐特征向量和第一样本融合向量,得到第一样本编码向量对应的预测字符的方法进行说明。

在一种可能的实施方式中,服务器通过第一模型,将第一样本隐特征向量和第一样本融合向量进行融合,得到第二样本融合向量。服务器通过第一模型,对第二样本融合向量进行归一化处理,得到第一样本编码向量对应的多个字符的概率。服务器通过第一模型,输出多个字符中概率最高的样本字符,概率最高的样本字符为第一样本编码向量对应的预测字符。

首先对服务器得到第二样本融合向量的方法进行说明。

在一种可能的实施方式中,服务器通过第一模型,获取第一隐特征向量和第一融合向量的转置的第二乘积。服务器通过第一模型,对第二乘积进行归一化处理,得到第一参考向量。服务器通过第一模型,根据第一参考向量、第一隐特征向量以及第一融合向量,得到第二融合向量。

举例来说,服务器通过第一模型,获取第一隐特征向量和第一融合向量的转置的第二乘积。服务器通过第一模型,对第二乘积进行归一化处理,得到第一参考向量。服务器通过第一模型,将第一参考向量与第一融合向量的乘积与第一隐特征向量在维度上进行拼接,得到第二参考向量。服务器通过第一模型,对第二参考向量进行全连接处理和线性修正处理,得到第二融合向量。

下面对服务器输出多个样本字符中概率最高的样本字符的方法进行说明。

举例来说,若第二样本融合向量为(1,2,1.5),服务器通过第一模型,对第二样本融合向量(1,2,1.5)进行全连接处理,得到向量(2,3,5)。服务器通过第一模型,对向量(2,3,5)进行归一化处理,也即是通过softmax函数对向量(2,3,5)进行处理,得到向量(0.2,0.3,0.5),其中,0.2、0.3以及0.5分别对应于不同字符的概率。服务器能够将0.5对应的字符作为第一样本编码向量对应的预测字符。

805、服务器确定预测字符串与样本语音数据对应的实际字符串之间的差异信息。

在一种可能的实施方式中,服务器构建公式(8)所示的损失函数来确定预测字符串与样本语音数据对应的实际字符串之间的差异信息。

lossce=(p,r)(8)

其中,lossce为交叉熵损失函数,也即是预测字符串与样本语音数据对应的实际字符串之间的差异信息,p为预测字符串对应的嵌入向量,r为实际字符串对应的嵌入向量。

在步骤805之后,响应于差异信息不符合目标条件,服务器执行步骤806,其中,差异信息不符合目标条件可以是指p和r之间的相似度小于相似度阈值;响应于差异信息符合目标条件,服务器可以执行步骤807。

806、响应于预测字符串与样本语音数据对应的实际字符串之间的差异信息不符合目标条件,服务器根据差异信息对第一模型的模型参数进行调整。

在一种可能的实施方式中,服务器可以采用梯度下降法或反向传播算法根据差异信息来对第一模型的模型参数进行调整,其中梯度下降法可以为随机梯度下降法(stochasticgradientdescent,sgd)、批量梯度下降(batchgradientdescent)以及小批量梯度下降(mini-batchgradientdescent)等,本申请实施例对此不做限定。

807、响应于预测字符串与样本语音数据对应的实际字符串之间的差异信息符合目标条件,服务器将第一模型作为训练完成的语音识别模型。

通过上述步骤801-807,能够训练一个语音识别模型来进行语音识别,相较于相关技术中hybrid语音识别系统,本申请中的语音识别模型的架构更加简单,构建效率更低。

上述步骤801-807对语音识别模型的训练方法进行了介绍,下面将基于上述801-807训练出的语音识别模型,对本申请实施例提供的语音识别方法进行说明,参见图9,方法包括以下步骤。

901、服务器获取语音数据。

在一种可能的实施方式中,终端向服务器发送压缩后的语音数据,服务器获取到压缩后的语音数据后,对压缩后的语音数据进行解压,得到语音数据。

以即时通讯场景为例,用户a想要通过终端a向用户b的终端b发送语音消息,那么用户a通过终端a录制语音,得到语音数据之后,终端a对录制的语音数据进行压缩,将压缩后的语音数据以及用户b的标识发送给服务器。服务器根据用户b的标识,将压缩后的语音数据发送给终端b,终端b上登录有用户b的账号。若用户b当前不方便收听用户a发送的语音消息,那么用户b触发终端b提供的语音转文本功能,终端b将压缩后的语音数据发送给服务器,由服务器对压缩后的语音数据进行解压,得到语音数据,服务器后续能够基于语音数据进行语音识别。

以在线游戏场景为例,玩家想要与游戏中的其他玩家进行交流,但是游戏战局由比较紧张时,玩家能够通过终端进行语音录制,终端将录制后的语音数据进行压缩,将压缩后的语音数据发送给服务器。服务器对压缩后的语音数据进行解压,得到语音数据,服务器后续能够基于语音数据进行语音识别。

902、服务器提取语音数据的时域语音特征向量和频域语音特征向量,将时域语音特征向量和频域语音特征向量在维度上进行拼接,对拼接后的特征向量进行卷积处理,得到语音特征矩阵。

903、服务器将语音数据的语音特征矩阵输入语音识别模型,语音特征矩阵用于表示语音数据在时域和频域上的特征。

步骤903与上述步骤802属于同一发明构思,实现过程参见上述步骤802的描述,在此不再赘述。

904、服务器通过语音识别模型,对语音特征矩阵进行注意力编码,得到编码矩阵,编码矩阵包括多个编码向量。

在一种可能的实施方式中,服务器通过语音识别模型,基于三个线性变换矩阵对语音特征矩阵进行线性变换,得到第一变换矩阵、第二变换矩阵以及第三变换矩阵。服务器通过语音识别模型,获取第一变换矩阵和第二变换矩阵的转置的第一乘积。服务器通过语音识别模型,对第一乘积进行归一化处理,得到第一参考矩阵。服务器通过语音识别模型,根据第一参考矩阵与第三变换矩阵,得到编码矩阵。

其中,服务器通过语音识别模型,根据第一参考矩阵与第三变换矩阵,得到编码矩阵包括。

服务器通过语音识别模型,对第一参考矩阵与第三变换矩阵的乘积进行随机失活以及残差累加,得到第二参考矩阵。服务器通过语音识别模型,对第二参考矩阵进行正则化处理,得到第三参考矩阵。服务器通过语音识别模型,根据第三参考矩阵,得到编码矩阵。

其中,服务器通过语音识别模型,根据第三参考矩阵,得到编码矩阵包括。

服务器通过语音识别模型,对第三参考矩阵进行第一次全连接处理和线性修正处理,得到第四参考矩阵。服务器通过语音识别模型,对第四参考矩阵进行第二次全连接处理、随机失活处理、残差累加以及正则化处理,得到编码矩阵。

步骤904与上述步骤803属于同一发明构思,各个步骤的实现过程参见上述步骤803的描述,在此不再赘述。

905、服务器通过语音识别模型,根据多个编码向量在编码矩阵中的位置,对编码矩阵中的多个编码向量进行解码,输出语音数据对应的字符串,位置与多个编码向量的解码顺序相关。

在一次解码过程中,服务器通过语音识别模型,将多个编码向量中的第一编码向量和字符向量进行融合,得到第一融合向量,第一编码向量为与解码顺序关联的编码向量,字符向量为上一次解码过程得到的字符的嵌入向量。服务器根据第一融合向量、上一次解码过程得到的隐特征向量以及状态参考向量,得到与第一融合向量对应的第一隐特征向量,状态参考向量与历史解码过程中的历史第一融合向量相关联。服务器通过语音识别模型,根据第一隐特征向量和第一融合向量,得到第一编码向量对应的字符。响应于对多个编码向量解码完成,服务器将多个第一编码向量对应的字符进行组合,输出语音数据对应的字符串。

其中,服务器根据第一融合向量、上一次解码过程得到的隐特征向量以及状态参考向量,得到与第一融合向量对应的第一隐特征向量包括。

服务器根据第一融合向量以及上一次解码过程得到的隐特征向量,更新状态参考向量。服务器将更新后的状态参考向量、第一融合向量以及上一次解码过程得到的隐特征向量进行融合,得到与第一融合向量对应的第一隐特征向量。服务器通过语音识别模型,根据第一隐特征向量和第一融合向量,得到第一编码向量对应的字符包括:将第一隐特征向量和第一融合向量进行融合,得到第二融合向量。服务器对第二融合向量进行归一化处理,得到第一编码向量对应的多个字符的概率。服务器通过语音识别模型,输出多个字符中概率最高的字符,概率最高的字符为第一编码向量对应的字符。

其中,服务器将第一隐特征向量和第一融合向量进行融合,得到第二融合向量包括。

服务器通过语音识别模型,获取第一隐特征向量和第一融合向量的转置的第二乘积。服务器通过语音识别模型,对第二乘积进行归一化处理,得到第一参考向量。服务器通过语音识别模型,根据第一参考向量、第一隐特征向量以及第一融合向量,得到第二融合向量。

其中,服务器通过语音识别模型,根据第一参考向量、第一隐特征向量以及第一融合向量到第二融合向量包括。

服务器通过语音识别模型,将第一参考向量与第一融合向量的乘积与第一隐特征向量在维度上进行拼接,得到第二参考向量。对第二参考向量进行全连接处理和线性修正处理,得到第二融合向量。

步骤905与上述步骤804属于同一发明构思,各个步骤的实现过程参见上述步骤804的描述,在此不再赘述。

需要说明的是,上述步骤901-905是以服务器作为执行主体为例进行说明的,在其它可能的实施方式中,也能够由终端作为执行主体来执行上述步骤901-905,本申请实施例对此不做限定。

参见表1,采用本申请实施例提供的语音识别方法组成的语音识别系统,相较于相关技术中的各个语音识别系统,在具有良好语音实时率的前提下,也具有出色的语音识别准确性。

表1

本申请实施例提供的技术方案基于tl-aed模型,能够实现端到端语音识别,较好地改善了相关技术中语音识别的不足,提供了高识别率、低实时率的语音识别服务。在同一台机器下,对各模型开100线程,综合平均实时率和平均字错率进行测试,其中,字错率表示识别每100个字中错误的字数,平均字错率为方案在多个干净与带噪测试集合下的平均表现。

根据表2的对比结果,实验结果分析可得,本申请实施例提供的技术方案(tl-aed模型)作为端到端的语音识别系统,不仅支持快速搭建语音识别系统,而且与其他方案相比具有最低的字错率。除此之外,该方案在实时率方面与第一的transformer-hybrid相近。可见,本申请实施例提供的技术方案具有低实时率的输出,高效精准的性能。

表2

通过本申请实施例提供的技术方案,采用了注意力编码以及时序解码的方法来进行语音识别,对语音特征矩阵进行注意力编码,能够高效利用gpu的并行化计算。根据编码向量在编码矩阵中的位置,对编码向量进行解码,能够减少参数量,同时利用语音识别模型的记忆特征,根据时序上相关的编码向量来进行预测,提高了语音识别的准确性。

图10是本申请实施例提供的一种语音识别装置的结构示意图,参见图10,装置包括:获取模块1001、输入模块1002以及输出模块1003。

获取模块1001,用于获取语音数据。

输入模块1002,用于将语音数据的语音特征矩阵输入语音识别模型,语音特征矩阵用于表示语音数据在时域和频域上的特征。

输出模块1003,用于通过语音识别模型,对语音特征矩阵进行注意力编码,得到编码矩阵。根据多个编码向量在编码矩阵中的位置,对编码矩阵中的多个编码向量进行解码,输出语音数据对应的字符串,位置与多个编码向量的解码顺序相关。

在一种可能的实施方式中,输出模块用于基于三个线性变换矩阵对语音特征矩阵进行线性变换,得到第一变换矩阵、第二变换矩阵以及第三变换矩阵。获取第一变换矩阵和第二变换矩阵的转置的第一乘积。对第一乘积进行归一化处理,得到第一参考矩阵。根据第一参考矩阵与第三变换矩阵,得到编码矩阵。

在一种可能的实施方式中,输出模块用于对第一参考矩阵与第三变换矩阵的乘积进行随机失活以及残差累加,得到第二参考矩阵。对第二参考矩阵进行正则化处理,得到第三参考矩阵。根据第三参考矩阵,得到编码矩阵。

在一种可能的实施方式中,输出模块用于对第三参考矩阵进行第一次全连接处理和线性修正处理,得到第四参考矩阵。对第四参考矩阵进行第二次全连接处理、随机失活处理、残差累加以及正则化处理,得到编码矩阵。

在一种可能的实施方式中,输出模块,用于在一次解码过程中,将多个编码向量中的第一编码向量和字符向量进行融合,得到第一融合向量,第一编码向量为与解码顺序关联的编码向量,字符向量为上一次解码过程得到的字符的嵌入向量。根据第一融合向量、上一次解码过程得到的隐特征向量以及状态参考向量,得到与第一融合向量对应的第一隐特征向量,状态参考向量与历史解码过程中的历史第一融合向量相关联。根据第一隐特征向量和第一融合向量,得到第一编码向量对应的字符。响应于对多个编码向量解码完成,将多个第一编码向量对应的字符进行组合,输出语音数据对应的字符串。

在一种可能的实施方式中,输出模块,用于根据第一融合向量以及上一次解码过程得到的隐特征向量,更新状态参考向量。将更新后的状态参考向量、第一融合向量以及上一次解码过程得到的隐特征向量进行融合,得到与第一融合向量对应的第一隐特征向量。

在一种可能的实施方式中,输出模块,用于将第一隐特征向量和第一融合向量进行融合,得到第二融合向量。对第二融合向量进行归一化处理,得到第一编码向量对应的多个字符的概率。输出多个字符中概率最高的字符,概率最高的字符为第一编码向量对应的字符。

在一种可能的实施方式中,输出模块,用于获取第一隐特征向量和第一融合向量的转置的第二乘积。对第二乘积进行归一化处理,得到第一参考向量。根据第一参考向量、第一隐特征向量以及第一融合向量,得到第二融合向量。

在一种可能的实施方式中,输出模块,用于将第一参考向量与第一融合向量的乘积与第一隐特征向量在维度上进行拼接,得到第二参考向量。对第二参考向量进行全连接处理和线性修正处理,得到第二融合向量。

在一种可能的实施方式中,装置还包括:特征提取模块,用于提取语音数据的时域语音特征向量和频域语音特征向量。将时域语音特征向量和频域语音特征向量在维度上进行拼接。对拼接后的特征向量进行卷积处理,得到语音特征矩阵。

在一种可能的实施方式中,语音识别模型的训练装置包括:

样本数据获取模块,用于获取样本语音数据。

样本特征输入模块,用于将样本语音数据的样本语音特征矩阵输入第一模型,样本语音特征矩阵用于表示样本语音数据在时域和频域上的特征。

样本输出模块,用于通过第一模型,对样本语音特征矩阵进行注意力编码,得到样本编码矩阵。根据多个样本编码向量在样本编码矩阵中的位置,对样本编码矩阵中的多个样本编码向量进行解码,输出样本语音数据对应的预测字符串,位置与多个样本编码向量的解码顺序相关。

训练模块,用于响应于预测字符串与样本语音数据对应的实际字符串之间的差异信息符合目标条件,将第一模型作为训练完成的语音识别模型。

在一种可能的实施方式中,样本输出模块,用于基于三个线性变换矩阵对样本语音特征矩阵进行线性变换,得到第一样本变换矩阵、第二样本变换矩阵以及第三样本变换矩阵。获取第一样本变换矩阵和第二样本变换矩阵的转置的第一样本乘积。对第一样本乘积进行归一化处理,得到第一样本参考矩阵。根据第一样本参考矩阵与第三样本变换矩阵,得到样本编码矩阵。

在一种可能的实施方式中,样本输出模块,用于对第一样本参考矩阵与第三样本变换矩阵的乘积进行随机失活以及残差累加,得到第二样本参考矩阵。对第二样本参考矩阵进行正则化处理,得到第三样本参考矩阵。根据第三样本参考矩阵,得到样本编码矩阵。

在一种可能的实施方式中,样本输出模块,用于对第三样本参考矩阵进行第一次全连接处理和线性修正处理,得到第四样本参考矩阵。对第四样本参考矩阵进行第二次全连接处理、随机失活处理、残差累加以及正则化处理,得到样本编码矩阵。

在一种可能的实施方式中,样本输出模块,用于在一次解码过程中,将多个样本编码向量中的第一样本编码向量和样本字符向量进行融合,得到第一样本融合向量,第一样本编码向量为与解码顺序关联的样本编码向量,样本字符向量为上一次解码过程得到的样本字符的嵌入向量。根据第一样本融合向量、上一次解码过程得到的样本隐特征向量以及样本状态参考向量,得到与第一样本融合向量对应的第一样本隐特征向量,样本状态参考向量与历史解码过程中的历史第一样本融合向量相关联。根据第一样本隐特征向量和第一样本融合向量,得到第一样本编码向量对应的预测字符。响应于对多个样本编码向量解码完成,将多个第一样本编码向量对应的样本字符进行组合,输出样本语音数据对应的预测字符串。

在一种可能的实施方式中,样本输出模块,用于根据第一样本融合向量以及上一次解码过程得到的样本隐特征向量,更新样本状态参考向量。将更新后的样本状态参考向量、第一样本融合向量以及上一次解码过程得到的样本隐特征向量进行融合,得到与第一样本融合向量对应的第一样本隐特征向量。

在一种可能的实施方式中,样本输出模块,用于将第一样本隐特征向量和第一样本融合向量进行融合,得到第二样本融合向量。对第二样本融合向量进行归一化处理,得到第一样本编码向量对应的多个样本字符的概率。输出多个样本字符中概率最高的样本字符,概率最高的样本字符为第一样本编码向量对应的样本字符。

在一种可能的实施方式中,样本输出模块,用于获取第一样本隐特征向量和第一样本融合向量的转置的第二样本乘积。对第二样本乘积进行归一化处理,得到第一样本参考向量。根据第一样本参考向量、第一样本隐特征向量以及第一样本融合向量,得到第二样本融合向量。

在一种可能的实施方式中,样本输出模块,用于将第一样本参考向量与第一样本融合向量的乘积与第一样本隐特征向量在维度上进行拼接,得到第二样本参考向量。对第二样本参考向量进行全连接处理和线性修正处理,得到第二样本融合向量。

在一种可能的实施方式中,装置还包括样本特征提取模块,用于提取样本语音数据的样本时域语音特征向量和样本频域语音特征向量。将样本时域语音特征向量和样本频域语音特征向量在维度上进行拼接。对拼接后的样本特征向量进行卷积处理,得到样本语音特征矩阵。

通过本申请实施例提供的技术方案,采用了注意力编码以及时序解码的方法来进行语音识别,对语音特征矩阵进行注意力编码,能够高效利用gpu的并行化计算。根据编码向量在编码矩阵中的位置,对编码向量进行解码,能够减少参数量,同时利用语音识别模型的记忆特征,根据时序上相关的编码向量来进行预测,提高了语音识别的准确性。

本申请实施例提供了一种计算机设备,用于执行上述方法,该计算机设备可以实现为终端或者服务器,下面先对终端的结构进行介绍。

图11是本申请实施例提供的一种终端的结构示意图。该终端1100可以是:智能手机、平板电脑、笔记本电脑或台式电脑。终端1100还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,终端1100包括有:一个或多个处理器1101和一个或多个存储器1102。

处理器1101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1101可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1101可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1101还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器1102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1102中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器1101所执行以实现本申请中方法实施例提供的语音识别方法。

在一些实施例中,终端1100还可选包括有:外围设备接口1103和至少一个外围设备。处理器1101、存储器1102和外围设备接口1103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1103相连。具体地,外围设备包括:射频电路1104、显示屏1105、摄像头组件1106、音频电路1107、定位组件1108和电源1109中的至少一种。

外围设备接口1103可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1101和存储器1102。在一些实施例中,处理器1101、存储器1102和外围设备接口1103被集成在同一芯片或电路板上;在一些其他实施例中,处理器1101、存储器1102和外围设备接口1103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路1104用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路1104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1104包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。

显示屏1105用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1105是触摸显示屏时,显示屏1105还具有采集在显示屏1105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1101进行处理。此时,显示屏1105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。

摄像头组件1106用于采集图像或视频。可选地,摄像头组件1106包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。

音频电路1107可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1101进行处理,或者输入至射频电路1104以实现语音通信。

定位组件1108用于定位终端1100的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。

电源1109用于为终端1100中的各个组件进行供电。电源1109可以是交流电、直流电、一次性电池或可充电电池。

在一些实施例中,终端1100还包括有一个或多个传感器1110。该一个或多个传感器1110包括但不限于:加速度传感器1111、陀螺仪传感器1112、压力传感器1113、指纹传感器1114、光学传感器1115以及接近传感器1116。

加速度传感器1111可以检测以终端1100建立的坐标系的三个坐标轴上的加速度大小。

陀螺仪传感器1112可以检测终端1100的机体方向及转动角度,陀螺仪传感器1112可以与加速度传感器1111协同采集用户对终端1100的3d动作。

压力传感器1113可以设置在终端1100的侧边框和/或显示屏1105的下层。当压力传感器1113设置在终端1100的侧边框时,可以检测用户对终端1100的握持信号,由处理器1101根据压力传感器1113采集的握持信号进行左右手识别或快捷操作。当压力传感器1113设置在显示屏1105的下层时,由处理器1101根据用户对显示屏1105的压力操作,实现对ui界面上的可操作性控件进行控制。

指纹传感器1114用于采集用户的指纹,由处理器1101根据指纹传感器1114采集到的指纹识别用户的身份,或者,由指纹传感器1114根据采集到的指纹识别用户的身份。

光学传感器1115用于采集环境光强度。在一个实施例中,处理器1101可以根据光学传感器1115采集的环境光强度,控制显示屏1105的显示亮度。

接近传感器1116用于采集用户与终端1100的正面之间的距离。

本领域技术人员可以理解,图11中示出的结构并不构成对终端1100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

上述计算机设备还可以实现为服务器,下面对服务器的结构进行介绍:

图12是本申请实施例提供的一种服务器的结构示意图,该服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(centralprocessingunits,cpu)1201和一个或多个的存储器1202,其中,所述一个或多个存储器1202中存储有至少一条程序代码,所述至少一条程序代码由所述一个或多个处理器1201加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器1200还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器1200还可以包括其他用于实现设备功能的部件,在此不做赘述。

在示例性实施例中,还提供了一种计算机可读存储介质,例如包括程序代码的存储器,上述程序代码可由处理器执行以完成上述各个实施例中的方法。例如,该计算机可读存储介质可以是只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、只读光盘(compactdiscread-onlymemory,cd-rom)、磁带、软盘和光数据存储设备等。

在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行上述各个实施例中的方法。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来程序代码相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

上述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips