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

一种语音识别方法、装置、计算机系统及可读存储介质与流程

2021-01-28 17:01:50|366|起点商标网
一种语音识别方法、装置、计算机系统及可读存储介质与流程

本发明涉及语音处理技术领域,尤其涉及一种语音识别方法、装置、计算机系统及可读存储介质。



背景技术:

语音识别就是将包含文字信息的语音通过计算机转化成文字的过程,语音识别技术是一个复杂的多学科交叉技术,涉及到信号处理、统计、机器学习、语言学、数据挖掘、生理学等知识。

随着语音识别技术的飞速发展,语音识别技术的应用越来越广泛,但目前的语音识别技术在使用时通常对识别的语音时长有一定限制,由于时长加长的语音文件处理较复杂,现有常用的语音识别方法无法迅速处理时长较长的语音文件,尤其是在批量识别语音的场景下,当遇到超出一定长度的语音文件需要中断识别过程并人工处理,处理过程效率低下。



技术实现要素:

本发明的目的是提供一种语音识别方法、装置、计算机系统及可读存储介质,用于解决现有技术对于待识别的语音数据长度存在限制,无法直接处理时长超出限制的语音数据而造成流程繁琐,效率低下的问题。

为实现上述目的,本发明提供一种语音识别方法,包括:

获取待识别信息,对所述待识别信息进行预处理获得待识别数据;

判断所述待识别数据长度是否超出预设阈值;

当所述待识别数据长度未超出预设阈值,对所述待识别数据进行第一向量化处理,获取第一处理数据;

当所述待识别数据长度超出预设阈值,对所述待识别数据进行第二向量化处理,获取第二处理数据;

采用预先训练好的识别模型对所述第一处理数据或第二处理数据进行处理,获得目标结果。

进一步的,对所述待识别数据采用第一向量化处理,获取第一处理数据,包括以下:

基于所述待识别数据获取所有词对应的词向量;

基于各个词出现的频次对所述词向量进行加权平均,获取向量值;

基于所述向量值进行奇异值分解处理,获得第一处理数据。

进一步的,对所述待识别数据进行第二向量化处理,获取第二处理数据,包括以下:

采用bert模型对所述待识别数据进行处理,获取第二处理数据。

进一步的,采用预先训练好的识别模型对所述第一处理数据或第二处理数据进行处理,获得目标结果,所述预先训练好的模型包括第一模型和第二模型,包括以下步骤:

采用第一模型对所述第一处理数据或第二处理数据进行特征提取,获得第三处理数据;

采用第二模型对第三处理数据进行语义识别,获取目标结果。

进一步的,采用第一模型对所述第一处理数据或第二处理数据进行特征提取,获得第三处理数据,包括以下:

对所述第一处理数据或第二处理数据进行跳帧计数处理,获得第一数据;

采用深度神经网络和长短时记忆网络对所述第一数据进行处理,获得第二数据;

对所述第二数据进行线性映射处理,获得第三数据;

采用卷积神经网络对所述第三数据进行识别,获得第三处理数据。

进一步的,采用第二模型对第三处理数据进行语义识别,获取目标结果,包括:

采用隐马尔可夫模型进行第一步识别,获取第四处理数据;

对所述第四处理数据采用延时控制的双向长短期记忆网络进行第二步识别,获得目标结果。

进一步的,所述对所述待识别信息进行预处理,包括以下:

采用语音端点检测技术对所述待识别信息进行截取;

对截取后的待识别信息进行激活检测处理,获得待识别数据。

为实现上述目的,本发明还提供一种语音识别装置装置,包括:

预处理模块,用于获取待识别信息,对所述待识别信息进行预处理获得待识别数据;

分类模块,用于判断所述待识别数据长度是否超出预设阈值;

第一处理模块,用于当所述待识别数据长度未超出预设阈值,对所述待识别数据进行第一向量化处理,获取第一处理数据;

第二处理模块,用于当所述待识别数据长度超出预设阈值,对所述待识别数据进行第二向量化处理,获取第二处理数据;

识别模块,用于采用预先训练好的识别模型对所述第一处理数据或第二处理数据进行处理,获得目标结果。

为实现上述目的,本发明还提供一种计算机系统,其包括多个计算机设备,各计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述多个计算机设备的处理器执行所述计算机程序时共同实现上述语音识别方法的步骤。

为实现上述目的,本发明还提供一种计算机可读存储介质,其包括多个存储介质,各存储介质上存储有计算机程序,所述多个存储介质存储的所述计算机程序被处理器执行时共同实现上述语音识别方法的步骤。

本发明提供的语音识别方法、装置、计算机系统及可读存储介质,通过基于待识别数据的长度将待识别数据划分为两种类型,采用不同的处理后最后采用相较于现有技术中处理效率更高的识别模型进行语音识别,解决现有技术中无法简便处理处理时长较长的语音文件,操作较繁琐,效率较低的问题。

附图说明

图1为本发明所述的语音识别方法实施例一的流程图;

图2为本发明所述的语音识别方法实施例一中对所述待识别信息进行预处理获得待识别数据具体步骤的流程图;

图3为本发明所述的语音识别方法实施例一中对所述待识别数据采用第一向量化处理,获取第一处理数据具体步骤的流程图;

图4为本发明所述的语音识别方法实施例一中采用预先训练好的识别模型对所述第一处理数据或第二处理数据进行处理,获得目标结果具体步骤的流程图;

图5为本发明所述的语音识别方法实施例一中采用第一模型对所述第一处理数据或第二处理数据进行特征提取具体步骤的流程图;

图6为本发明所述的语音识别方法实施例一中采用第二模型对第三处理数据进行语义识别,获取目标结果具体步骤的流程图;

图7为本发明所述的语音识别装置实施例二的程序模块示意图;

图8为本发明所述的语音识别装置实施例二的识别模块的模块示意图;

图9为本发明计算机系统实施例四中计算机设备的硬件结构示意图。

附图标记:

6、语音识别装置61、预处理模块62、分类模块

63、第一处理模块64、第二处理模块65、识别模块

651、第一单元6511、第一处理子单元6512、第二处理子单元

6513、第三处理子单元6514、提取子单元

652、第二单元6521、第一识别子单元6522、第二识别子单元

7、计算机设备71、存储器72、处理器

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供的一种语音识别方法、装置、计算机系统及可读存储介质,适用于语音处理领域,为提供一种基于预处理模块、分类模块、第一处理模块、第二处理模块、识别模块的语音识别方法。本发明通过预处理模块识别信息进行处理和截取获得有效的待识别数据,再通过分类模块将待识别数据按照音频长度划分成两种类型,即简单音频数据和复杂音频数据,基于不同类型的音频数据采用第一处理模块或第二处理模块进行处理后,最后通过识别模块对处理后的数据进行语音识别,在上述方案中,通过将两种不同的处理方式设置在一个完整的处理过程中,对于不同长度的待识别数据均可迅速进行语音识别,解决现有技术中无法简便处理处理时长较长的语音文件,操作较繁琐,效率较低的问题,特别适用于批量处理语音文件的场景下,既能确保识别准确度由能提高识别效率。

实施例一

请参阅图1,本实施例的一种语音识别方法,包括以下步骤:

s1:获取待识别信息,对所述待识别信息进行预处理获得待识别数据;

具体的,本发明中所述的待识别信息可由区块链中某一节点上获得,也可是从其他数据库中获取,参阅图2,所述预处理包括以下步骤:

s11:采用语音端点检测技术对所述待识别信息进行截取;

在上述实施方式中,语音端点检测技术(vad)用于判断所述待识别音频什么时候有语音输入,什么时候是静音状态,后续的操作都是在vad截取出来的有效片段上进行,从而能够减小语音识别系统噪声误识别率及系统功耗。

s12:对截取后的待识别信息进行激活检测处理,获得待识别数据。

作为举例而非限定的,本实施方式中的语音识别方法应用于采集基金经理的语音输入以便后续采集信息并制定相应业务策略的场景下,所述待识别音频由采访经理获得,且近距离采访录音,即在近场环境下获得,在此实施环境下语音信号衰减有限,信噪比(snr)比较高,只需要简单的方式,比如配合信号能量来做激活检测。

s2:判断所述待识别数据长度是否超出预设阈值;

在上述实施方式中,预设阈值为预先设置的语音数据长度,由于待识别数据越大,即语音长度越长,在处理过程中处理复杂度越高,可依据具体的实施场景作出相应调整,也可考虑识别过程数据处理复杂度进行调整,以便确保语音识别过程的顺利进行。

在上述实施方式中,可以采用预设待识别文本字符长度阈值来实现识别数据长度是否超出预设阈值的判断,作为举例而非限定的,可以采用预先训练的分类模型(如决策树、knn模型等)实现自动分类,长度不超过预设阈值的待识别数据为简单的音频数据;长度超过预设阈值的待识别数据为复杂的音频数据。

s3:当所述待识别数据长度未超出预设阈值,对所述待识别数据进行第一向量化处理,获取第一处理数据;

具体的,对所述待识别数据采用第一向量化处理,获取第一处理数据,参阅图3,包括以下步骤:

s31:基于所述待识别数据获取所有词对应的词向量;

在上述实施方式中,对待识别特征最简单直接的表示就是单个的词,但由于待识别数据中包含很多的词,而且有些词的出现频率很高,却与待识别数据所传达信息并不相关,或者说是噪音数据,因此,提取文本词向量的目的是找出有用的词特征集,剔除无用的特征集,从而提高效率和精度。

s32:基于各个词出现的频次对所述词向量进行加权平均,获取向量值;

s33:基于所述向量值进行奇异值分解处理,获得第一处理数据。

在上述实施方式中,上述第一向量化处理可以通过sentence2vec模型实现,即如上述s31-s33所述对某一完整句子所有词的词向量进行加权平均,然后使用pca/svd(即特征值分解/奇异值分解)对向量值进行修改,进而获得该完整句子对应的句向量,同时区别于现有技术常用词向量的方式,由于词向量/句向量越大,计算复杂度越大,因此在上述方式中奇异值分解处理过程中,可以对满秩矩阵分解操作,减小处理效率且不降低准确度,进一步减少了处理过程中的计算复杂度,进一步提高处理效率。

作为举例而限定的,对于句子“小方吃葡萄”,已确定“小方”的词向量为(0.9,0.2,0.2),词向量权重为0.01;“吃”的词向量为(0,1.7,0.3),词向量权重为0.05;“葡萄”的词向量为(0.1,0.2,0.1),词向量权重为0.02。对这些词汇的词向量进行加权平均:0.01*(0.9,0.2,0.2)+0.05*(0,1.7,0.3)+0.02*(0.1,0.2,0.1)=(0.011,0.091,0.019),得到该句子对应的句向量为(0.011,0.091,0.015)。

s4:当所述待识别数据长度超出预设阈值,对所述待识别数据进行第二向量化处理,获取第二处理数据;

第二向量化处理具体包括以下步骤:采用bert模型对所述待识别数据进行处理,获取第二处理数据。

具体的,bert模型通过查询字向量表将文本中的每个字转换为一维向量,作为模型输入;模型输包括字向量、文本向量和位置向量,文本向量即该向量的取值在模型训练过程中自动学习,用于刻画该文本(即该语句)的全局语义信息,并与单字/词的语义信息相融合,位置向量是由于出现在文本不同位置的字/词所携带的语义信息存在差异,因此,bert模型对不同位置的字/词分别附加一个不同的向量以作区分,最后,bert模型将字向量、文本向量和位置向量的加和作为模型输入,模型输出则是输入各字对应的融合全文语义信息后的向量表示。

在上述实施方式中,采用bert模型进行向量化处理,当所述待识别数据长度超出预设阈值,即该待识别数据为较复杂的语音数据,也可以使用bert+transform模型代替后续s5中识别模型直接进行特征提取和语义分析,上述方式可以保留信息最大化效果,丢弃无用信息。与此同时,经过bert+transfrom模型训练过的模型可以对样本进行精确提取,不需要额外再训练模型,节约时间成本。

s5:采用预先训练好的识别模型对所述第一处理数据或第二处理数据进行处理,获得目标结果。

所述识别模型包括第一模型和第二模型,需要说明的是,第一模型用于特征提取,可通过现有cldnn模型实现,但是通过下述s511和s513对现有的cldnn模型作出一定的改动。

具体的,采用预先训练好的识别模型对所述第一处理数据或第二处理数据进行处理,获得目标结果,参阅图4,包括以下步骤:

s51:采用第一模型对所述第一处理数据或第二处理数据进行特征提取,获得第三处理数据;

具体的,参阅图5,所述特征提取包括以下步骤:

s511:对所述第一处理数据或第二处理数据进行跳帧计数处理,获得第一数据;

在上述实施方式中,跳帧计数在第二数据输入到深度神经网络之前进行,即每隔几帧才计算一次声学分数,并将此分数复制到没有评估声学分数的帧上,减少计算复杂度,提高计算效率,进一步提高处理对长度超过阈值的复杂音频数据的效率,同时采用上述模型的方式区别于现有技术中将复杂音频数据划分成多个简单音频数据的方式,提高效率的同时减少现有技术中划分过程中造成的音频数据丢失,进一步提高语音识别的准确率。

s512:采用深度神经网络和长短时记忆网络对所述第一数据进行处理,获得第二数据;

s513:对所述第二数据进行线性映射处理,获得第三数据;

在上述实施方式中,上述s513中在上述长短时记忆网络(lstm)后增加线性映射层,即对第二数据进行降维处理,还可以对通过线性映射层的数据再次进行跳帧计数,在lstm的输出后嵌入处理,可以降低原有lstm的输出维度,降低时间成本,进一步提高识别效率,实现对长度超过阈值的复杂音频数据进行处理。

s514:采用卷积神经网络对所述第三数据进行识别,获得第三处理数据。

现有的cldnn通过结合三种网络结构,来解决问题:首先将第一数据输入到cnn层,降低谱差异性,再讲cnn的输出输入到lstm建模时序特征,最后将lstm的输出作为dnn的输入,减少lstm隐层的变化,使得特征转化到更可分的空间采用cnn的特征缩放,利用最大池化技术提取主特征和lstm过滤非必要特征,以及dnn作为输出激活检测为基础的机器学习技术,在上述实施方式中,与现有不同之处在于,本方案中在对dnn/cnn网络中使用跳帧计数,同时还可以加入正则项+隐层分解结束,保证在较少语音样本数据下,依然能保证模型的自适应性,除此在外,还用lstm的步骤中嵌入使用线性映射层,降低原有lstm的输出维度,降低时间成本,进一步提高处理效率。

s52:采用第二模型对第三处理数据进行语义识别,获取目标结果。

具体的,参阅图6,所述语义识别包括以下步骤:

s521:采用隐马尔可夫模型进行第一步识别,获取第四处理数据;

本实施方式中,hmm(隐马尔科夫过程)技术为现有技术中常用的技术手段,使用hmm(隐马尔科夫过程)将每帧音素构建成一个最佳状态网络(包括观察概率矩阵,转移概率矩阵和语言概率矩阵),在hmm(隐马尔科夫过程)技术执行的状态网络中嵌入维特比算法,可找到最合理的单词级别网络,通过单词级别网络展开后形成最大化状态网络,并在此网络下搜寻最佳路径,找到全局最优结果。

在本实施方式中,为了进一步提高处理复杂音频数据的效率,在维特比算法中,也可以对满秩矩阵分解操作,进而降低参数深度的同时不降低识别效果。

s522:对所述第四处理数据采用延时控制的双向长短期记忆网络进行第二步识别,获得目标结果。

在本实施方式中,采用双向lstm,代替现有技术中单一化lstm+rnn的传统模型,在针对lstm中全连接层进行dropout(dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃)操作能够有效降低过拟合,基于上述s521和s522通过blstm-hmm集成模型不仅对录音识别有实践功能,也对实时录音也有较好的提取效果,同时利用lstm的优势还可应对可变长度语境信息的问题。需要说明的是,上述目标结果还可以存储在一区块链上节点中,以保证数据安全性。

本方案通过对不同类型长度的待识别数据进行不同的向量化处理后,再通过增加线性映射层以及跳帧计数等方式在特征提取过程中实现数据降维处理,同时采用双向神经网络代替单向神经网络对复杂音频数据进行语义识别,进一步有效缩小特征维度,对输出节点维度有效把控,在保证识别结果准确率的情况下提高识别效率,来解决现有技术中无法简便处理时长较长的语音文件,操作较繁琐,效率较低的问题。

实施例二:

请参阅图7,本实施例的一种语音识别装置6,包括:

预处理模块61,用于获取待识别信息,对所述待识别信息进行预处理获得待识别数据;

分类模块62,用于判断所述待识别数据长度是否超出预设阈值;

第一处理模块63,用于当所述待识别数据长度未超出预设阈值,对所述待识别数据进行第一向量化处理,获取第一处理数据;

第二处理模块64,用于当所述待识别数据长度超出预设阈值,对所述待识别数据进行第二向量化处理,获取第二处理数据;

识别模块65,用于采用预先训练好的识别模型对所述第一处理数据或第二处理数据进行处理,获得目标结果;

具体的,参阅图8,所述识别模块65还包括:

第一单元651,用于采用第一模型对所述第一处理数据或第二处理数据进行特征提取,获得第三处理数据;

第一单元651还包括以下:

第一处理子单元6511:用于对所述第一处理数据或第二处理数据进行跳帧计数处理,获得第一数据;

第二处理子单元6512:采用深度神经网络和长短时记忆网络对所述第一数据进行处理,获得第二数据;

第三处理子单元6513:对所述第二数据进行线性映射处理,获得第三数据;

提取子单元6514:采用卷积神经网络对所述第三数据进行提取,获得第三处理数据。

第二单元652,用于采用第二模型对第三处理数据进行语义识别,获取目标结果;

第二单元652还包括:

第一识别子单元6521:用于采用隐马尔可夫模型进行第一步识别,获取第四处理数据;

第二识别子单元6522:用于对所述第四处理数据采用延时控制的双向长短期记忆网络进行第二步识别,获得目标结果

本技术方案基于语音语义的语音处理,通过预处理模块获取待识别数据,并采用分类模块将所述待识别数据分成复杂语音数据和简单语音数据并分别通过第一处理模块和第二处理模块进行向量化处理,在完成向量化处理后,将处理后的数据输入第一单元,采用第一模型进行特征提取,在进行特征提取过程中,通过第一处理子单元和第三处理子单元实现数据的多次降维处理,减少语音识别过程中的数据计算复杂度,最后通过第二单元进行语义识别获得目标结果,本方案中的语音识别方式区别于现有技术中常用的语音识别算法,同时无论是简单语音还是复杂语音,都可以直接被识别,解决了现有的对待识别音频长度的限制问题,还区别于现有技术中部分采用将复杂语音切分再拼接的方式,不需要多媒体处理工具的辅助,操作简便,同时减少在切分或拼接过程中造成的数据丢失,进一步解决现有技术中无法简便处理处理时长较长的语音文件,操作较繁琐,效率较低的问题。

本技术方案中通过第一处理子单元的跳帧计数处理和第三处理子单元的线性映射处理,减少长度较长的待识别数据在识别过程中的计算量,进一步提高长度较长的待识别数据的处理效率,减少由于计算量较大而导致无法顺利识别待识别数据的情况,除此之外,采用第二识别子单元的双向神经网络代替单向神经网络对长度较长的待识别数据进行识别,进一步有效缩小特征维度,对输出节点维度有效把控,还能够有效降低过拟合,在保证识别结果准确率的情况下提高识别效率。

实施例三:

为实现上述目的,本发明还提供一种计算机系统,该计算机系统包括多个计算机设备7,实施例二的语音识别装置的组成部分可分散于不同的计算机设备中,计算机设备可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备至少包括但不限于:可通过系统总线相互通信连接的存储器71、处理器72,如图9所示。需要指出的是,图9仅示出了具有组件-的计算机设备,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

本实施例中,存储器71(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器51可以是计算机设备的内部存储模块,例如该计算机设备的硬盘或内存。在另一些实施例中,存储器71也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,存储器51还可以既包括计算机设备的内部存储模块也包括其外部存储设备。本实施例中,存储器71通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例一的语音识别装置的程序代码等。此外,存储器51还可以用于暂时地存储已经输出或者将要输出的各类数据。

处理器72在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器52通常用于控制计算机设备的总体操作。本实施例中,处理器52用于运行存储器51中存储的程序代码或者处理数据,例如运行语音识别装置,以实现实施例一的语音识别方法。

实施例四:

为实现上述目的,本发明还提供一种计算机可读存储系统,其包括多个存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,其上存储有计算机程序,程序被处理器72执行时实现相应功能。本实施例的计算机可读存储介质用于存储语音识别装置,被处理器72执行时实现实施例一的语音识别方法。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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

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

tips