本申请涉及计算机技术领域,特别涉及一种语音识别方法、装置、设备及介质。
背景技术:
语音识别是指将接收到的语音信息转化为文本信息,许多应用均提供有语音转写服务,其中,语音识别包括流式语音识别和非流式语音识别,其中,流式语音识别对应的实时性要求高于非流式语音识别。针对非流式语音识别,常见的语音识别系统有传统语音识别系统以及e2e(end-to-end,端到端)语音识别系统。
在相关技术中,传统语音识别系统是通过语音特征、音素、词语、词串之间的依次映射关系来将语音信息转化为文本信息,传统语音识别系统由声学模型、发音词典以及语言模型等多个模块组合而成。而e2e语音识别系统是将输入端和输出端之间通过多头注意力机制,来实现上述传统语音识别系统中的多个模块对应的工作内容。
然而,由于传统语音识别系统中包括有多个模块,由于各个模块之间的信息传递存在信息损失,其对应的识别性能具有一定的局限性,而针对e2e语音识别系统,若训练系统时使用的数据提供的注意力信息与实际应用过程中的注意力信息偏差较大,则会对识别结果造成影响,使得识别准确率较低。
技术实现要素:
本申请实施例提供了一种语音识别方法、装置、设备及介质,可以提高语音转文本的识别准确度。所述技术方案如下方面。
一方面,提供了一种语音识别方法,所述方法包括:
获取语音内容,所述语音内容为待识别的音频;
对所述语音内容进行特征提取,得到中间特征,所述中间特征用于指示所述语音内容的音频表达特性;
基于注意力机制对所述中间特征进行解码,得到第一词图,所述第一词图用于指示基于所述注意力机制预测得到的第一候选词汇组成的第一候选序列集;
基于所述语音内容对应的发音情况对所述中间特征进行特征映射,得到第二词图,所述第二词图用于指示基于所述发音情况得到的第二候选词汇组成的第二候选序列集;
根据所述第一词图和所述第二词图指示的候选词汇之间的连接关系,确定所述语音内容对应的识别结果。
另一方面,提供了一种语音识别装置,所述装置包括:
获取模块,用于获取语音内容,所述语音内容为待识别的音频;
处理模块,用于对所述语音内容进行特征提取,得到中间特征,所述中间特征用于指示所述语音内容的音频表达特性;
第一生成模块,用于基于注意力机制对所述中间特征进行解码,得到第一词图,所述第一词图用于指示基于所述注意力机制预测得到的第一候选词汇组成的第一候选序列集;
第二生成模块,用于基于所述语音内容对应的发音情况对所述中间特征进行特征映射,得到第二词图,所述第二词图用于指示基于所述发音情况得到的第二候选词汇组成的第二候选序列集;
确定模块,用于根据所述第一词图和所述第二词图指示的候选词汇之间的连接关系,确定所述语音内容对应的识别结果。
另一方面,提供了一种计算机设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现本申请实施例中任一所述的语音识别方法。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现本申请实施例中任一所述的语音识别方法。
另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的语音识别方法。
本申请的提供的技术方案至少包括以下有益效果。
针对待识别的语音内容,对其进行特征提取,得到能够指示语音内容音频表达特性的中间特征,然后将该中间特征以两种不同的处理方式得到两个词图,其中包括基于注意力机制对中间特征进行解码,得到第一词图,以及基于语音内容的发音情况进行特征映射,得到第二词图,第一词图和第二词图分别用于指示通过上述两种处理方式得到的候选词汇组成的候选序列集,最后根据第一词图和第二词图指示的候选词汇之间的连接关系确定出识别结果,以实现将语音内容转换为文本内容的功能。由于第一词图和第二词图均为通过同一中间特征得到,因此能够节省服务器资源,同时,对中间特征执行不同的处理方式,再根据两种处理方式对应的词图共同确定处理结果,提高了语音识别的准确度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的hybrid语音识别系统示意图;
图2是本申请一个示例性实施例提供的e2e语音识别系统示意图;
图3是本申请一个示例性实施例提供的实施环境示意图;
图4是本申请一个示例性实施例提供的语音识别应用场景示意图;
图5是本申请另一个示例性实施例提供的语音识别应用场景示意图;
图6是本申请一个示例性实施例提供的语音识别方法流程图;
图7是本申请一个示例性实施例提供的第一词图的形式示意图;
图8是本申请一个示例性实施例提供的混淆网络形式示意图;
图9是本申请一个示例性实施例提供的语音识别模块结构示意图;
图10是本申请一个示例性实施例提供的语音识别方法流程图;
图11是本申请一个示例性实施例提供的语音识别模块的训练方法流程图;
图12是本申请一个示例性实施例提供的语音识别装置结构框图;
图13是本申请另一个示例性实施例提供的语音识别装置结构框图;
图14是本申请一个示例性实施例提供的服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,针对本申请实施例中涉及的名词进行简单介绍。
语音技术(speechtechnology):的关键技术有自动语音识别技术(automaticspeechrecognition,asr)和语音合成技术(texttospeech,tts)以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。
hybrid语音识别(hybridspeechrecognition):是指通过对语音特征、音素、词语、词串进行依次映射,将语音信息转化为文本信息的识别方式,hybrid语音识别系统由声学模型、发音词典、语言模型等多个模块组成。如图1所示,hybrid语音识别系统100包括声学系统(acousticmodel,am)101、发音词典(lexicon)102、语言模型(languagemodel,lm)103,待识别的语音信息通过特征提取,得到语音特征序列,将语音特征序列输入至hybrid语音识别系统100,输出得到语音信息对应的文本信息。
其中,声学模型是指用于计算语音特征与音素之间的映射概率的模型,音素是根据语音的自然属性划分出来的最小语音单位,其中,语音的自然属性包括物理属性和生理属性,物理属性包括音高(声音的高低,它决定于发音体振动频率的大小,与频率成正比)、音强(声音的强弱,它决定于发音体振幅的大小,同发音体的振幅成正比)、音长(声音的长短,它决定于发音体振动时间的长短,振动持续的时间长)、音质(指声音的个性或特色,也叫音色,它决定于发音体振动的形式),生理属性即指示语音的生理发声位置以及发音动作。从物理属性来将,音素是从音质角度划分出来的最小语音单位,而从生理属性来讲,音素是根据发音动作划分出来的最小语音单位,即,一个发音动作构成一个音素,例如,“啊”对应的语音(ā)对应为具有一个音素,“爱”对应过的语音“ài”对应为具有两个音素。发音词典(pronunciationdictionary)是指包含上述语音识别系统所能处理的词汇集合及其对应的发音,提供了声学模型建模单元与语言模型单元间的映射。语言模型是指用于计算词语到词串之间的映射概率的模型,即用于估计识别得到的词汇组合成目标文本时,该目标文本存在的可能性。
e2e语音识别:是指端到端语音识别,e2e语音识别系统中不再有独立的声学模型、发音词典、语言模型等模块,而是从输入端(语音特征序列)到输出端(词串序列)直接通过一个神经网络相连,由该神经网络来承担原先所有模块的语音识别系统,示意性的,该神经网络可以是基于多头注意力机制(multi-headattention,mha)得到的网络模型。如图2所示,e2e语音识别系统200包括编码器(encoder)201、注意力机制(attention)模块202、解码器(decoder)203,待识别的语音信息通过特征提取,得到语音特征序列,将语音特征序列输入至e2e语音识别系统200,输出得到语音信息对应的文本信息。
注意力机制(attentionmechanism):在神经网络的隐藏层中,注意力机制根据具体任务目标,对关注的方向和加权模型进行调整。通过增加注意力机制的加权,使不符合注意力模型的内容弱化或者遗忘。若关注的方向基于自身,则称之为自身注意力(self-attention)机制。而将输入分为多个head,形成多个子空间,在每个子空间完成注意力机制之后重新组合,称之为多头注意力机制(mha),多头注意力机制可让模型在不同的表示子空间里学习到相关的信息。
aed(attention-basedencoder-decoder,基于注意力机制的编码-解码模型):是用于解决序列到序列映射问题的模型,通过mha控制编码序列与解码序列的不等长映射,完成e2e语音识别系统的构建。
其次,结合上述名词解释,对本申请实施例的实施环境进行说明。示意性的,请参考图3,该实施环境中包括终端301、服务器302和通信网络303。
终端301可以是手机、平板电脑、电子书阅读器、多媒体播放设备、可穿戴设备、膝上型便携计算机、台式计算机或语音识别一体机等电子设备。示意性的,终端301中安装有用于语音识别的应用程序,用户可通过该应用程序对待识别语音内容进行文本转换。该语音识别应用程序可以是传统应用软件,可以是云应用软件,可以实现为宿主应用程序中的小程序或应用模块,也可以是某个网页平台,在此不进行限定。
服务器302用于向终端301提供语音识别服务。用户通过终端301中的应用程序上传一段待识别语音内容,终端301将待识别语音内容通过通信网络303传输至服务器302,服务器302调用语音识别服务模块对待识别语音内容进行识别,生成对应的文本内容,并将该文本内容通过通信网络303返回至终端301。可选的,服务器302为物理服务器或云服务器。
值得注意的是,上述服务器302可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(contentdeliverynetwork,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。其中,云技术(cloudtechnology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
在一些实施例中,上述服务器302还可以实现为区块链系统中的节点。区块链(blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链,本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
服务器302可以通过通信网络303与终端301建立通信连接。该网络可以是无线网络,也可以是有线网络。
结合上述名词解释和实施环境,对本申请实施例的应用场景进行说明。
本申请实施例中提供的语音识别方法,可用于流式语音识别服务,也可用于非流式语音识别服务,基于e2e语音识别系统的属性,在本申请实施例中,以该方法应用于非流式语音识别服务中为例进行说明。示意性的,本申请实施例提供的语音识别方法可以应用于包括但不限于如下场景中的至少一种场景。
第一,该语音识别服务应用于社交软件中的对接收到的语音信息进行文本转换,例如,用户在社交软件中接收到一条语音信息,例如,聊天过程中接收到对方发送的语音条、在动态界面中刷到好友发布的一条语音动态等。用户可通过该语音识别服务,将语音内容转换为文本内容进行显示,保证了用户在不方便收听语音时,也能及时获取消息相关内容。如图4所示,在聊天界面400中,用户接收到对方发送的语音信息401,用户通过长按该语音信息401对应的控件,调取菜单控件402,菜单控件402中包括用于提供语音转文本服务的子控件,用户通过点击该子控件对接收到的语音信息进行文本信息的转换。终端在接收到对上述子控件的触发操作时,将该语音信号上传至服务器,由服务器进行语音识别,转换为文本信息,终端接收服务器返回的文本信息,并在聊天界面400中的预设区域403进行显示。
第二,该语音识别服务可以应用于输入法软件中提供的语音输入功能中,例如,用户通过输入法软件中的预设控件进行语音输入,终端将采集到的语音信号发送至服务器,服务器对该语音信号进行处理,得到对应的文本信息,将该文本信息返回至终端,终端将该文本信息作为用户语音输入的内容进行显示。示意性的,服务器可以返回一条文本信息,也可以返回由该语音信息确定的多条相似的文本信息提供给用户选择。如图5所示,在输入软件区域500中,用户可以通过语音输入控件501进行语音输入,当用户点击语音输入控件501后,终端会调用麦克风录制用户的语音信息,当用户再次点击语音输入控件501后,终端确定语音信息录制完毕,并将该语音信息上传至服务器,服务器反馈识别得到的多个文本信息502,终端对该多个文本信息502进行显示,用户对符合自己想法的文本信息进行选择,输入框503内就会显示被选择的文本信息。
第三,该语音识别服务可以应用于视频软件中的字幕自动生成功能中,例如,用户通过视频软件进行视频的发布,在发布目标视频之前,将该目标视频上传至视频软件,视频软件可以为用户提供一些视频处理功能,其中就包括字幕自动生成功能,服务器通过对接收到的目标视频进行音频提取,并对该音频进行语音识别,生成文本信息,将该文本信息返回至终端,用户可以选择将生成的文本信息作为目标视频的字幕添加至目标视频中。
示意性的,本申请实施例提供的语音识别方法也可以应用于其他应用场景,在此仅进行举例说明,并不对具体应用场景进行限定。
请参考图6,其示出了本申请一个示例性实施例提供的语音识别方法流程图,在本申请实施例中,以该方法由上述实施环境中的服务器执行为例进行说明,该方法包括如下步骤。
步骤601,获取语音内容,语音内容为待识别的音频。
服务器获取语音内容,该语音内容为待识别的音频。示意性的,终端将录制得到的音频进行压缩处理,将压缩音频和语音转文本请求利用网络协议打包,通过通信网络送往服务器。服务器在接收终端发送的语音转文本请求后,将该语音转文本请求对应的压缩音频进行解压,得到上述待识别的语音内容。示意性的,服务器也可以从数据库中获取语音内容,在此不进行限定。
服务器在获取到语音内容后,根据语音转文本请求调用对应的语音识别模块对该语音内容进行识别。
步骤602,对语音内容进行特征提取,得到中间特征。
中间特征用于指示语音内容的音频表达特性。
在本申请实施例中,语音识别模块包括共享网络(sharednetwork)子模块,该共享网络子模块用于对语音内容进行特征提取,得到能够指示语音内容的音频表达特性的中间特征。示意性的,共享网络子模块中包括至少一层卷积神经网络,通过至少一层卷积网络对语音内容进行特征抽取,得到中间子特征;对中间子特征进行特征加权,得到中间特征。
示意性的,语音内容在输入至共享网络之前,需要进行预处理,该预处理包括将语音内容转化为语音特征序列,即通过信号处理技术,从输入的语音内容对应的语音信号中提取的特征,通过特征向量的表示形式供共享网络进行后续处理,以尽可能降低环境噪声、信道、说话人等因素对识别造成的影响。在一个示例中,该预处理包括降噪处理、采样处理、预加重处理、加窗分帧处理等处理中的至少一种。降噪处理为通过预设滤波器对语音信号进行降噪,以保证对语音信号中人声语音识别的准确性;采样处理为将作为模拟信号的语音信号转化为数字信号;预加重处理为对语音的高频部分进行加重,去除口唇辐射的影响,增加语音的高频分辨率;加窗分帧处理为采用可移动的有限长度窗口对语音信号进行加权,然后对各帧通过相关滤波器进行变换或运算,以实现将语音信号分为一些短段(分析帧)来进行处理。
将由语音内容进行预处理得到的语音特征序列输入至共享网络子模块,得到中间特征。示意性的,该共享网络子模块包括至少一层卷积神经网络(convolutionalneuralnetworks,cnn)对中间特征进行特征抽取,以得到中间子特征,该中间子特征是相较于语音特征序列更高层次的特征表达。
该共享网络子模块还包括transformer(深度自注意力变换网络),transformer获取中间子特征,对该中间子特征进行至少一次增加自注意力机制的加权,从而输出中间特征。示意性的,该共享网络子模块还可以包括lstm(longshort-termmemory,长短期记忆网络)、blstm(bi-directionallongshort-termmemory,双向长短期记忆网络)、dfsmn(deepfeedforwardsequentialmemorynetworks,深度前馈顺序存储网络)等网络中的至少一种网络来对中间子特征进行处理,从而得到中间特征,在此不进行限定。
步骤603,基于注意力机制对中间特征进行解码,得到第一词图。
第一词图用于指示基于注意力机制预测得到的第一候选词汇组成的第一候选序列集。
在本申请实施例中,语音识别模块还包括e2e网络子模块,该e2e网络子模块用于对中间特征基于注意力机制进行解码处理,得到第一词图。示意性的,基于注意力机制对中间特征中指示人声语音表达的通道进行特征加权,得到第一分支特征;对第一分支特征进行解码,得到第一词图。
示意性的,e2e网络子模块中包括attention处理层,attention处理层作为整个e2e网络中的隐藏层,用于根据预设的任务目标对特征处理过程中关注的方向以及对特征进行加权的加权模型进行调整,即通过增加注意力机制的特征加权操作,使不符合预设注意力模型的语音特征弱化或遗忘,其中,该关注的方向由整个语音识别模块对应的语音识别模型在训练过程中确定。即,e2e网络子模块在接收到中间特征后,将该中间特征输入至attention处理层,得到第一分支特征。
示意性的,e2e网络子模块中还包括解码网络,该解码网络用于针对第一分支特征进行解码,得到第一词图,在一个示例中,上述attention处理层实现了中间特征与第一分支特征之间的不等长映射,解码网络将从该第一分支特征进行解码,确定由第一候选词汇组成的第一候选序列集,即多条最优候选路径(n-best),根据上述多条最优候选路径生成第一词图,即通过预设解码器对第一分支特征进行解码,得到第一候选序列集,将第一候选序列集中对应的第一候选词汇作为路径,生成所述第一词图,该预设解码器是系统预先通过训练数据训练得到的。以词图(lattice)的方式保存n-best能够防止占用过多的内容空间,lattice本质上是一个有向无环图,图中的每个节点代表由第一分支特征确定的候选词汇的结束时间点,每条边代表一个可能的候选词汇,以及该候选词汇对应的得分,该得分用于指示候选词汇被确定为处理结果中的词汇的可能性。在一个示例中,请参考图7,其示出了第一词图700的形式,其中,第一词图700中各个节点之间的边701对应为第一候选词汇和对应的得分。
步骤604,基于语音内容对应的发音情况对中间特征进行特征映射,得到第二词图。
第二词图用于指示基于发音情况得到的第二候选词汇组成的第二候选序列集。
在本申请实施例中,语音识别模块还包括声学处理子模块,该声学处理子模块用于对中间特征基于发音情况进行特征映射,得到第二词图。示意性的,基于中间特征确定待识别语音对应的目标词汇集;基于目标词汇集生成第二词图。
示意性的,声学处理子模块在接收到中间特征后,将该中间特征输入至全连接层,得到待识别语音对应的音素的后验概率,基于该音素的后验概率确定目标词汇集,在一个示例中,该全连接层由带软最大化激活函数(softmax)组成。
在本申请实施例中,声学处理子模块中还包括发音词典单元。发音词典单元根据接收到待识别语音对应的音素的后验概率,确定出待识别语音对应的目标词汇集。示意性的,发音词典单元中存储有对应的发音词典,该发音词典记录有词汇集合及其对应的发音,即该发音词典用于指示词汇与发音之间的映射关系。
在本申请实施例中,声学处理子模块中还包括语言模型单元。语言模型单元用于确定由发音词典单元确定的目标词汇集对应的第二候选序列集。示意性的,该语言模型单元可以由n-gram语言模型、基于前馈神经网络的模型、基于循环神经网络的模型等语言模型中的至少一种模型组成,也可以由其他语言模型组成,在此不进行限定。语言模型可以计算由目标词汇集组成第二候选序列时,第二候选序列存在的可能性。
在本申请实施例中,第二词图的形式与第一词图的形式相同,在此不进行赘述。
步骤605,根据第一词图和第二词图指示的候选词汇之间的连接关系,确定语音内容对应的识别结果。
在本申请实施例中,第一词图指示基于注意力机制预测得到的第一候选词汇组成的第一候选序列集,第二词图指示基于发音情况得到的第二候选词汇组成的第二候选序列集。即,第一词图指示出了第一候选词汇之间的连接关系,第二词图指示出了第二候选词汇之间的连接关系。
在本申请实施例中,语音识别模块还包括结果生成子模块,该结果生成子模块用于根据e2e网络子模块和声学处理子模块输出进行处理,生成语音内容对应的识别结果。
示意性的,结果生成子模块接收第一词图和第二词图,并根据第一词图和第二词图确定候选序列集合,在一个示例中,该候选序列集合包括第一候选序列集对应的候选序列和第二候选序列集对应的候选序列。该候选序列集合的确定也可以通过从第一候选序列集和第二候选序列集中分别获取n个候选序列,将上述2n个候选序列确定为候选序列集合,其中,n为正整数。在一个示例中,可以根据第一候选序列在第一候选序列集中的序列得分或第二候选序列在第二候选序列集中的序列得分确定候选序列集合,其中,该序列得分由组成序列的候选词汇的得分确定。生成子模块从上述候选序列集合中确定至少一个候选序列作为识别结果。
示意性的,结果生成子模块还可以根据第一词图和第二词图生成目标混淆网络,由目标混淆网络确定识别结果,该目标混淆网络中包括组成候选序列的第三候选词汇之间的连接概率,第三候选词汇是从第一候选词汇和第二候选词汇中确定的,第三候选词汇之间的连接概率通过对第一候选词汇之间的第一连接关系和第二候选词汇之间的第二连接关系进行加权合并得到。其中,目标混淆网络对应的第三候选词汇,可以是第一候选词汇和第二候选词汇的并集,也可以由预设数量的第一候选词汇和第二候选词汇组成,其中,以第三候选词汇由预设数量的第一候选词汇和第二候选词汇组成为例,按照预设规则从第一候选词汇中选择预设数量的候选词汇,从第二候选词汇中选择预设数量的候选词汇,将从第一候选词汇中选择的候选词汇和从第二候选词汇中选择的候选词汇取并集,得到第三候选词汇,并由第三候选词汇组成目标混淆网络,该预设规则可以根据e2e网络子模块和声学处理子模块之间的权重确定。其中,目标混淆网络中每个节点之间的每一条边对应为一个第三候选词汇及对应的得分,该得分用于指示该第三候选词汇与前后候选词汇之间的连接概率,该连接概率由第一连接关系和第二连接关系确定。
通过目标混淆网络确定识别结果的方式为:对目标混淆网络自左向右遍历每个节点,并将两个节点之间的候选词汇对应得分最高的边互相拼接,形成一条路径,该路径即为目标混淆网络中得分最高的一条路径,而该路径所形成的候选序列,即为语音内容对应的识别结果。
请参考图8,其示出混淆网络800的形式,混淆网络800包括多个节点,节点之间的连线801与词图中的边相对应,即每条连线801代表对应的候选词汇以及对应的得分,该得分用于指示各个候选词汇之间的连接概率。在一个示例中,目标混淆网络为图8中示出的混淆网络800,则根据混淆网络800指示的各个候选词汇之间的连接概率,确定出的处理结果为:abbc。
由词图生成混淆网络的方法包括:步骤a,从词图中选择一条权重最高的路径当作初始混淆网络,路径中的节点即为混淆网络中的节点;步骤b,逐步将其他的边对齐添加到上述初始混淆网络中,同位置且同词语的边合并为一条,并将权重进行累加。
在本申请实施例中,结果生成子模块还可以根据第一词图生成第一混淆网络,根据第二词图生成第二混淆网络,将第一混淆网络和第二混淆网络根据预设加权规则进行加权合并,得到目标混淆网络,示意性的,该预设加权规则由系统预设,在一个示例中,对第一混淆网络和第二混淆网络的加权合并过程包括:步骤a,对第一词图上的每一条边乘以系数m,对第二词图上的每一条边乘以系数(1-m)。其中m的取值范围为[0,1],例如,m=0.49或m=0.5等,若m小于0.5,则表示该语音识别模块的最终处理结果侧重e2e网络子模块的处理结果,若m大于0.5,则表示该语音识别模块的最终处理结果侧重声学处理子模块的处理结果;步骤b,对两个乘以系数之后第一词图和第二词图进行合并,在一个示例中,从加权后的第二词图对应的混淆网络作为初始混淆网络,遍历加权后的第一词图上的每一条边往初始混淆网络上进行对齐添加,直到全部添加则完成合并。
示意性的,如图9所示,其示出了上述语音识别模块900的结构,语音信息输入至共享网络子模块910,共享网络子模块910将该语音信息进行特征提取,得到中间特征,其中,共享网络子模块910中包括卷积神经网络911和transformer912。中间特征被同时输入至e2e网络子模块920和声学处理子模块930。e2e网络子模块920对中间特征进行处理,输出第一词图,将第一词图输入至生成子模块940,其中,e2e网络子模块920包括注意力机制(attention)处理层921和解码网络(decoder)922。声学处理子模块930对中间特征进行处理,输出第二词图,将第二词图输入至生成子模块940,其中,声学处理子模块930包括全连接层(softmax)931、发音词典单元(lexicon)932和语言模型单元(lm)933。由生成子模块940根据第一词图和第二词图生成处理结果,该处理结果包括至少一条与语音内容对应的文本信息。
综上所述,本申请实施例提供的语音识别方法,针对待识别的语音内容,对其进行特征提取,得到能够指示语音内容音频表达特性的中间特征,然后将该中间特征以两种不同的处理方式得到两个词图,其中包括基于注意力机制对中间特征进行解码,得到第一词图,以及基于语音内容的发音情况进行特征映射,得到第二词图,第一词图和第二词图分别用于指示通过上述两种处理方式得到的候选词汇组成的候选序列集,最后根据第一词图和第二词图指示的候选词汇之间的连接关系确定出识别结果,以实现将语音内容转换为文本内容的功能。由于第一词图和第二词图均为通过同一中间特征得到,因此能够节省服务器资源,同时,对中间特征执行不同的处理方式,再根据两种处理方式对应的词图共同确定处理结果,提高了语音识别的准确度。
请参考图10,其示出了本申请一个示例性实施例提供的语音识别方法流程图,该方法包括如下步骤。
步骤1001,获取语音内容。
上述语音内容为待识别的音频。示意性的,服务器可以从终端获取语音内容,也可以从数据库中获取语音内容,在此不进行限定。
步骤1002,对语音内容进行特征提取,得到中间特征。
中间特征用于指示语音内容的音频表达特性。
对语音内容进行预处理,得到语音特征序列。将语音特征序列通过包括至少一层卷积神经网络和transformer的共享网络进行特征提取,得到中间特征。
其中,通过步骤1003~步骤1004得到第一词图,通过步骤1005~步骤1008得到第二词图。
步骤1003,基于注意力机制对中间特征进行特征加权,得到第一分支特征。
通过注意力机制对中间特征根据语音识别过程中关注的方向,对中间特征进行加权处理,得到第一分支特征。
步骤1004,对所述第一分支特征进行解码,得到第一词图。
通过解码器对第一分支特征进行解码,解码器根据第一分值特征确定第一候选词汇,以及第一候选词汇在语音信息对应的各个时间节点中的得分,根据上述第一候选词汇以及对应得分生成第一词图,第一词图用于指示基于注意力机制预测得到的第一候选词汇组成的第一候选序列集。
步骤1005,将中间特征输入至全连接层,得到待识别语音对应的音素的后验概率。
示意性的,该全连接层由带软最大化激活函数(softmax)组成。
步骤1006,基于音素的后验概率和发音词典,确定目标词汇集。
示意性的,根据发音词典中记录的词汇与发音之间的映射关系,由待识别语音对应的音素的后验概率确定语音内容中包括哪些第一候选词汇,由上述第一候选词汇组成目标词汇集。即获取发音词典,发音词典包括词汇与发音之间的映射关系;根据上述由全连接层确定的音素的后验概率确定语音内容中各个时间点对应的音素;根据发音词典确定各个时间点对应的音素所能够组成的目标词汇集。
步骤1007,确定目标词汇集组成的至少一个第二候选序列对应的概率。
将上述目标词汇集输入至语言模型中,确定至少一个第二候选序列及其对应的概率,示意性的,该语言模型可以是n-gram语言模型、基于前馈神经网络的模型、基于循环神经网络的模型等语言模型中的至少一种。语言模型可以计算由目标词汇集组成第二候选序列时,第二候选序列存在的可能性。
步骤1008,基于至少一个第二候选序列对应的概率生成第二词图。
根据第二候选序列存在的可能性,将目标词汇集中的第二候选词汇生成第二词图,第二词图用于指示基于发音情况得到的第二候选词汇组成的第二候选序列集。
步骤1009,基于第一词图生成第一混淆网络。
从第一词图中选择一条权重最高的路径当作第一初始混淆网络,词图路径中的节点即为混淆网络中的节点,逐步将其他的边对齐添加到上述第一初始混淆网络中,同位置且同第一候选词汇的边合并为一条,并将权重进行累加,最终得到第一混淆网络。
步骤1010,基于第二词图生成第二混淆网络。
从第二词图中选择一条权重最高的路径当作第二初始混淆网络,词图路径中的节点即为混淆网络中的节点,逐步将其他的边对齐添加到上述第二初始混淆网络中,同位置且同第二候选词汇的边合并为一条,并将权重进行累加,最终得到第二混淆网络。
步骤1011,将第一混淆网络和第二混淆网络进行加权合并,得到目标混淆网络。
对第一词图上的每一条边乘以系数m,对第二词图上的每一条边乘以系数(1-m)。其中m的取值范围为[0,1],若m小于0.5,则表示该语音识别模块的最终处理结果侧重e2e网络子模块的处理结果,若m大于0.5,则表示该语音识别模块的最终处理结果侧重声学处理子模块的处理结果,对两个乘以系数之后第一词图和第二词图进行合并。在一个示例中,从加权后的第二词图对应的混淆网络作为初始混淆网络,遍历加权后的第一词图上的每一条边往初始混淆网络上进行对齐添加,直到全部添加则完成合并,得到目标混淆网络。
步骤1012,将目标混淆网络中第三候选词汇之间连接概率之和最高的候选序列,确定为识别结果。
对目标混淆网络自左向右遍历每个节点,并将两个节点之间的候选词汇对应得分最高的边互相拼接,形成一条路基,该路径即为目标混淆网络中得分最高的一条路径,而该路径所形成的候选序列,即为语音内容对应的识别结果。
在本申请实施例中,通过设置共享网络实现了对语音内容的识别,其吸收了hybrid系统和e2e系统的优点。在一个示例中,通过同一台物理机器对实现本申请实施例提供的语音识别方法的系统(snsc,sharednetworksystemcombination)、hybrid系统、e2e系统进行测试,得到如表一中的测试结果,其中,字错率表示识别每100个字中错误的字数,实时率(realtimefactor,rtf)是用于度量语音识别系统解码速度的值,当实时率等于或小于1时,则认为该处理是实时的。由表一中的结果可知,snsc系统相比于hybrid系统和e2e系统具有较低的字错率,且snsc系统所测得的实时率小于hybrid系统和e2e系统的实时率之和,达到了实时率小于1的服务部署要求,也即,本申请实施例中提供的语音识别方法,具有高效精准的性能,且低实时率满足服务部署的条件。
表一
综上所述,本申请实施例提供的语音识别方法,针对待识别的语音内容,对其进行特征提取,得到能够指示语音内容音频表达特性的中间特征,然后将该中间特征以两种不同的处理方式得到两个词图,其中包括基于注意力机制对中间特征进行解码,得到第一词图,以及基于语音内容的发音情况进行特征映射,得到第二词图,第一词图和第二词图分别用于指示通过上述两种处理方式得到的候选词汇组成的候选序列集,最后根据第一词图和第二词图指示的候选词汇之间的连接关系确定出识别结果,以实现将语音内容转换为文本内容的功能。由于第一词图和第二词图均为通过同一中间特征得到,因此能够节省服务器资源,同时,对中间特征执行不同的处理方式,再根据两种处理方式对应的词图共同确定处理结果,提高了语音识别的准确度。
请参考图11,其示出了本申请一个示例性实施例提供的语音识别模块的训练方法流程图,在本申请实施例中,对语音识别模块中各个功能模块进行训练,得到用于对语音内容进行识别的语音识别模块,该方法包括如下步骤。
步骤1101,获取初始化网络参数。
该初始化网络参数是针对共享网络子模块和e2e网络子模块的初始化参数,示意性的,共享网络子模块和e2e网络子模块组成第一训练网络。共享网络子模块与e2e网络子模块能够组成一个e2e系统,其中,共享网络子模块实现为e2e系统中的编码器(encoder),共享网络子模块由卷积神经网络和transformer两个部分组成,而e2e网络子模块由attention处理层和解码器(decoder)两个部分组成,初始化网络参数即为包括卷积神经网络、transformer、attention处理层和解码器对应的初始参数。示意性的,该初始化网络参数由系统随机生成。
步骤1102,通过反向传播算法对初始化网络参数进行训练,得到共享网络参数和e2e网络参数。
示意性的,初始化网络参数的训练还可以通过梯度下降法或其他训练方法进行训练,在此仅以通过反向传播算法为例进行说明。反向传播算法(backpropagationalgorithm,bp算法)是一种适合于多层神经元网络的学习算法,在一个示例中,用于训练初始化网络参数的训练数据可以是数据库中存储的语音信息-文本信息的样本数据,也可以是从网络中爬取的语音信息-文本信息的样本数据。在训练过程中,将训练数据中的样本一个接一个递交给由共享网络子模块和e2e网络子模块组成的第一训练网络,第一训练网络对样本输入x计算输出y,然后通过损失函数得到样本中目标值与y之间的误差值,然后通过求取损失函数的梯度,并对第一训练网络的权值进行全体更新,对每一个提交给神经网络的样本用损失函数对应的更新函数对全体权值进行一次更新,直到所有样本的误差值都小于一个预设的阈值,即训练至收敛。在本申请实施例中,先通过交叉熵损失函数(crossentropyloss,celoss)对第一训练网络进行训练,直至收敛,然后通过最小词错率损失函数进行训练,直至再次收敛,则训练结束,得到第一训练网络对应的参数。其中,第一训练网络对应的参数包括共享网络子模块对应的共享网络参数和e2e网络子模块对应的e2e网络参数。
步骤1103,基于共享网络参数,对声学处理子模块进行训练,得到声学处理参数。
共享网络子模块和声学处理子模块能够组成一个hybrid系统,共享网络子模块以及声学处理子模块中的全连接层共同充当hybrid系统中的声学模型部分。其中,共享网络子模块和声学处理子模块共同组成待训练的第二训练网络。将已经训练完成的共享网络子模块的共享网络参数作为第二训练网络的部分参数,参与至第二训练网络的训练过程中。第二训练网络的训练过程包括:在已确定共享网络参数的基础上,对全连接层完成随机初始化,然后通过在对齐好的语料上采用交叉熵损失函数将第二训练网络训练至收敛,再通过在准备好的词图上采用鉴别性训练直到再次收敛,即完成训练,得到声学处理子模块对应的声学处理参数。其中,对齐的语料以及词图作为训练数据从数据库中读取得到。
步骤1104,基于共享网络参数、e2e网络参数和声学处理参数构建语音识别模块。
由共享网络参数构建共享网络子模块,由e2e网络参数构建e2e网络子模块,由声学处理参数构建声学处理子模块,最后由共享网络子模块、e2e网络子模块、声学处理子模块和生成子模块共同组成语音识别模块。
综上所述,本申请实施例提供的语音识别模块的训练方法,首先从零起步以e2e系统的训练方式得到共享网络子模块和e2e网络子模块的网络参数,然后将共享网络子模块部分对应的共享网络参数用于对声学处理子模块的训练中,将共享网络子模块和声学处理子模块看做一个hybrid系统进行训练,得到声学处理子模块的网络参数,然后由上述训练得到的参数共同构建语音识别模块,使得训练得到的语音识别模块在实现语音识别的过程中,既能保证语音识别的准确性,也能够节省整个语音识别模块占用的服务器资源。
请参考图12,其示出了本申请一个示例性的实施例提供的语音识别装置结构框图,该装置包括如下模块:
获取模块1210,用于获取语音内容,所述语音内容为待识别的音频;
处理模块1220,用于对所述语音内容进行特征提取,得到中间特征,所述中间特征用于指示所述语音内容的音频表达特性;
第一生成模块1230,用于基于注意力机制对所述中间特征进行解码,得到第一词图,所述第一词图用于指示基于所述注意力机制预测得到的第一候选词汇组成的第一候选序列集;
第二生成模块1240,用于基于所述语音内容对应的发音情况对所述中间特征进行特征映射,得到第二词图,所述第二词图用于指示基于所述发音情况得到的第二候选词汇组成的第二候选序列集;
确定模块1250,用于根据所述第一词图和所述第二词图指示的候选词汇之间的连接关系,确定所述语音内容对应的识别结果。
在一个可选的实施例中,所述处理模块1220,还用于对所述语音内容通过至少一层卷积网络进行特征抽取,得到中间子特征;
所述处理模块1220,还用于对所述中间子特征进行特征加权,得到所述中间特征。
在一个可选的实施例中,请参考图13,所述第一生成模块1230,还包括:
第一处理单元1231,用于基于所述注意力机制对所述中间特征中指示人声语音表达的通道进行特征加权,得到第一分支特征;
第一解码单元1232,用于对所述第一分支特征进行解码,得到所述第一词图。
在一个可选的实施例中,所述第一解码单元1232,还用于通过预设解码器对所述第一分支特征进行解码,得到所述第一候选序列集;
所述第一生成模块1230,还包括:第一生成单元1233将所述第一候选序列集中对应的第一候选词汇作为路径,生成所述第一词图。
在一个可选的实施例中,所述第二生成模块1240,还包括:
第二确定单元1241,用于基于所述中间特征确定所述待识别语音对应的目标词汇集;
第二生成单元1242,用于基于所述目标词汇集生成所述第二词图。
在一个可选的实施例中,所述第二确定单元1241,还用于将所述中间特征输入至全连接层,得到所述待识别语音对应的音素的后验概率,所述音素用于指示根据语音的自然属性划分的最小语音单位;
所述第二确定单元1241,还用于基于所述音素的后验概率,确定所述目标词汇集。
在一个可选的实施例中,所述第二生成模块1240,还包括:
第二获取单元1243,用于获取发音词典,所述发音词典包括词汇与发音之间的映射关系;
所述第二确定单元1241,还用于根据所述音素的后验概率确定所述语音内容中各个时间点对应的音素;
所述第二确定单元1241,还用于根据所述发音词典确定所述各个时间点对应的音素所能够组成的目标词汇集。
在一个可选的实施例中,所述第二确定单元1241,还用于确定所述目标词汇集组成的至少一个第二候选序列对应的概率;
所述第二生成单元1242,还用于基于所述至少一个第二候选序列对应的概率生成所述第二词图。
在一个可选的实施例中,所述确定模块1250,还包括:
生成单元1251,用于基于所述第一词图和所述第二词图生成目标混淆网络,所述目标混淆网络中包括组成候选序列的第三候选词汇之间的连接概率,所述第三候选词汇是从所述第一候选词汇和所述第二候选词汇中确定的,所述第三候选词汇之间的连接概率通过对所述第一候选词汇之间的第一连接关系和所述第二候选词汇之间的第二连接关系进行加权合并得到;
确定单元1252,用于将所述目标混淆网络中第三候选词汇之间连接概率之和最高的候选序列,确定为所述识别结果。
在一个可选的实施例中,所述生成单元1251,还用于基于所述第一词图生成第一混淆网络,所述第一混淆网络中包括所述第一候选序列集对应的所述第一候选词汇之间的连接概率;
所述生成单元1251,还用于基于所述第二词图生成第二混淆网络,所述第二混淆网络中包括所述第二候选序列集对应的所述第二候选词汇之间的连接概率;
所述确定单元1252,还用于将所述第一混淆网络和所述第二混淆网络进行加权合并,得到所述目标混淆网络。
综上所述,本申请实施例提供的语音识别装置,针对待识别的语音内容,对其进行特征提取,得到能够指示语音内容音频表达特性的中间特征,然后将该中间特征以两种不同的处理方式得到两个词图,其中包括基于注意力机制对中间特征进行解码,得到第一词图,以及基于语音内容的发音情况进行特征映射,得到第二词图,第一词图和第二词图分别用于指示通过上述两种处理方式得到的候选词汇组成的候选序列集,最后根据第一词图和第二词图指示的候选词汇之间的连接关系确定出识别结果,以实现将语音内容转换为文本内容的功能。由于第一词图和第二词图均为通过同一中间特征得到,因此能够节省服务器资源,同时,对中间特征执行不同的处理方式,再根据两种处理方式对应的词图共同确定处理结果,提高了语音识别的准确度。
需要说明的是:上述实施例提供的语音识别装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的语音识别装置与语音识别方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图14示出了本申请一个示例性实施例提供的服务器的结构示意图。具体来讲包括如下结构。
服务器1400包括中央处理单元(centralprocessingunit,cpu)1401、包括随机存取存储器(randomaccessmemory,ram)1402和只读存储器(readonlymemory,rom)1403的系统存储器1404,以及连接系统存储器1404和中央处理单元1401的系统总线1405。服务器1400还包括用于存储操作系统1413、应用程序1414和其他程序模块1415的大容量存储设备1406。
大容量存储设备1406通过连接到系统总线1405的大容量存储控制器(未示出)连接到中央处理单元1401。大容量存储设备1406及其相关联的计算机可读介质为服务器1400提供非易失性存储。也就是说,大容量存储设备1406可以包括诸如硬盘或者紧凑型光盘只读存储器(compactdiscreadonlymemory,cd-rom)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、可擦除可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、带电可擦可编程只读存储器(electricallyerasableprogrammablereadonlymemory,eeprom)、闪存或其他固态存储其技术,cd-rom、数字通用光盘(digitalversatiledisc,dvd)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1404和大容量存储设备1406可以统称为存储器。
根据本申请的各种实施例,服务器1400还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1400可以通过连接在系统总线1405上的网络接口单元1411连接到网络1412,或者说,也可以使用网络接口单元1411来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由cpu执行。
本申请的实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的生物识别方法。可选地,该计算机设备可以是终端,也可以是服务器。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行,以实现上述各方法实施例提供的生物识别方法。
本申请的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的生物识别方法。
可选地,该计算机可读存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、固态硬盘(ssd,solidstatedrives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(reram,resistancerandomaccessmemory)和动态随机存取存储器(dram,dynamicrandomaccessmemory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。