一种基于关键词的语音识别方法与流程

文档序号:17252302发布日期:2019-03-30 09:08阅读:435来源:国知局
一种基于关键词的语音识别方法与流程

本发明实施例涉及语音分析技术领域,尤其涉及一种基于关键词的语音识别方法。



背景技术:

在互联网金融的大环境中,金融企业以金融市场为导向,通过营销方式向客户提供进行金融产品和服务,在满足客户需求的同时实现企业利益,就是所谓的金融营销。对营销质量的衡量标准由于场景的不同而有所差异。在一些特定场景中,客服人员通过语音形式为客户提供服务,客服的服务在某种程度上决定了营销的成功与否。语音在反应客服人员的工作态度的同时,或许也可以挖掘出更多的价值商业价值。在此背景下语音质检技术应运而生。语音质检可以分为很多小类,如关键词搜索、音频比拟、感情辨认等。在特定的营销场景对话过程中对一些关键信息的搜索,很大程度等同于关键词搜索,隶属于语音质检范畴。当前的语音质检主要通过人工抽检、传统的智能质检等,存在一些质检效率低、覆盖不全面、人力资源消耗大、效率低等不足。,随着深度学习的发展,语音识别技术取得了显著的突破,甚至达到了可以比拟人类的水平,因此采用最新的神经网络模型解决语音质检问题也成为了现今最为有效的技术解决方案。

人工质检主要通过投入较多的人力资源,抽检语音信号,针对质检的关注点简单或者来回重复的听取。声学模型,如高斯混合模型-隐马尔科夫模型(gaussianmixturemodel-hiddenmarkovmode,gmm-hmm)的声学模型,其中gmm用于对语音声学特征的分布进行建模,hmm则用于对语音信号的时序性进行建模。gmm-hmm就是把特征用混合高斯模型去模拟特征,然后把均值和方差输入到hmm的模型里。系统输入为提取的声学特征参数,比如梅尔频率倒谱系数(melfrequencycepstralcoefficents,mfcc)、滤波组件(filterbank,fbank)等,输出为条件概率p(o|s),s表示状态,o表示输出的观测序列,就是音素序列。对于,p(oi|si),则相当于该状态对应的输出的观测值音素的概率,(因为音素的个数是一定的,所以这就相当于一个分类问题)。在运行完hmm后,语音就自动切分了,每一帧对应的状态就知道了。根据状态的出现概率和转移概率就可以算出每一个可能路径的最终的输出概率,选择概率最大的路径就是要识别的结果。对于转移概率的计算、高斯混合模型的参数通过baum-welch算法估计得到;使用viterbi算法获取最优路径。采用深度神经网络(deepneuralnetwork,dnn)进行优化,如dnn-hmm。在该混合系统中,训练深度神经网络来获取hmm状态的后验概率估计。dnn在获取语音特征的时候可以跳过离散余弦变换(discretecosinetransform,dct)。dnn的输入是本帧与左右各几帧的拼接。模型的第一层是高斯限制玻尔兹曼机(gaussianrestrictedboltzmannmachine,grbm),后面每层是限制玻尔兹曼机(restrictboltzmannmachine,rbm),这样一层一层的训练。然后根据gmm-hmm的对齐,使用后向传播算法对每一帧来做微调fine-tuning,根据先验概率重新估计转移概率,然后再利用转移概率继续训练dnn-hmm。随着基于神经网络的时序类分类(connectionisttemporalclassification,ctc)、序列到序列的网络(sequencetosequence,seq2seq)技术的成熟,直接端到端end-to-end的语音识别模型成为大家关注的焦点,与传统的声学模型训练相比,采用ctc损失函数ctcloss或者seq2seq的声学模型训练,不需要预先对数据进行对齐操作,只需要一个输入序列和一个输出序列即可以训练。这样就不需要对数据对齐和一一标注,并且直接输出序列预测的概率,不需要外部的后处理。如今基于深度学习的技术方案已经取得了远超传统模型的识别效果,因此成为了工业应用的最佳选择。

就人工质检而言,覆盖面不全、准确率不高、工作效率低下,在针对大量的语音质检工作而言并不是理想的方案。传统的语音识别的声学模型训练,对于每一帧的数据,需要知道对应的标注label才能进行有效的训练,在训练数据之前需要做语音对齐的预处理。而语音对齐的过程本身就需要进行反复多次的迭代,来确保对齐更准确,这本身就是一个比较耗时的工作。传统的语音识别中声学、发音、语言模型都是单独训练的。而已有的深度学习的一个前提条件是大量的训练数据,同样需要耗费大量的人力进行标注工作。由此可见,现有技术的语音识别方法都过于复杂且耗时。



技术实现要素:

本发明实施例提供一种基于关键词的语音识别方法,用以解决现有技术的语音识别方法过于复杂且耗时的问题。

第一方面,本发明实施例提供了一种基于关键词的语音识别方法,包括:

获取语音信号,并将所述语音信号按照时间顺序切分为至少一个语音切片;

采用预先训练的las模型得到与每个语音切片对应的拼音切片;

将所有拼音切片拼接为与所述语音信号对应的拼音序列;

根据预存的关键词拼音列表,得到所述拼音序列中包含的关键词拼音。

第二方面,本发明实施例还提供了一种电子设备,包括:

处理器、存储器、通信接口和通信总线;其中,

所述处理器、存储器、通信接口通过所述通信总线完成相互间的通信;

所述通信接口用于该电子设备的通信设备之间的信息传输;

所述存储器存储可被所述处理器执行的计算机程序指令,所述处理器调用所述程序指令能够执行如下方法:

获取语音信号,并将所述语音信号按照时间顺序切分为至少一个语音切片;

采用预先训练的las模型得到与每个语音切片对应的拼音切片;

将所有拼音切片拼接为与所述语音信号对应的拼音序列;

根据预存的关键词拼音列表,得到所述拼音序列中包含的关键词拼音。

第三方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如下方法:

获取语音信号,并将所述语音信号按照时间顺序切分为至少一个语音切片;

采用预先训练的las模型得到与每个语音切片对应的拼音切片;

将所有拼音切片拼接为与所述语音信号对应的拼音序列;

根据预存的关键词拼音列表,得到所述拼音序列中包含的关键词拼音。

本发明实施例提供的基于关键词的语音识别方法,通过对所述语音信号进行切片,并采用las模型根据语音切片得到拼音切片,再从拼接得到拼音序列中匹配到对应的关键词拼音,从而能够根据关键词简单、快速地实现对所述语音信号中关键信息的识别。

附图说明

图1为本发明实施例的基于关键词的语音识别方法流程图;

图2为本发明实施例的另一基于关键词的语音识别方法流程图;

图3为本发明实施例的又一基于关键词的语音识别方法流程图;

图4为本发明实施例的语音信号切片策略示意图;

图5为本发明实施例的用于基于关键词的语音识别装置结构示意图;

图6示例了一种电子设备的实体结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例的基于关键词的语音识别方法流程图,如图1所示,所述方法包括:

步骤s01、获取语音信号,并将所述语音信号按照时间顺序切分为至少一个语音切片。

本发明实施例采用las(listen,attendandspell)模型来进行语音信号的关键词检测,所述las模型是基于注意力机制attention的序列到序列seq2seq模型。模型由多个循环神经网络(recurrentneuralnetwork,rnn)组成,由于rnn具有短时记忆性,对长的语音信号的处理效果随着语音信号的长度增加而变得糟糕,为了确保rnn可以发挥出其在语音识别领域的优势,需要将获取的语音信号进行时域切割,将每个语音信号按照时间顺序切分为多段语音切片。每个语音切片的长度可以根据实际的需求来进行设定,可以是固定长度的,也可以按照预先设定的规则变动。

在训练过程中,通过对训练语音信号的切分,可以使每个批样本batch包含的训练样本更多,减小不同批样本间的差异,加速训练。

步骤s02、采用预先训练的las模型得到与每个语音切片对应的拼音切片。

在通过前期对las模型的训练后,本发明实施例所采用的las模型的输出为拼音而非汉字,从而可以大大缩小在识别过程中的搜索空间。所述las模型可以根据输入的每个语音切片得到对应的拼音切片。

步骤s03、将所有拼音切片拼接为与所述语音信号对应的拼音序列。

根据对所述语音信号的切分方式,将拼音切片进行拼接后得到与所述语音信号对应的拼音序列。

步骤s04、根据预存的关键词拼音列表,得到所述拼音序列中包含的关键词拼音。

根据预先设定的多个关键词,分别得到每个关键词的关键词拼音,以组成关键词拼音列表。

将通过拼接得到所述拼音序列与所述关键词拼音列表中的每个关键词拼音进行匹配,以找到所述拼音序列中包含的所有关键词拼音。匹配到的关键词拼音对应的关键词即为所述语音信号中包含的关键词。从而可以根据得到的关键词来进行后续的操作。

由于训练数据有限,关键词过长会导致查询效果的降低,最终的误字率可能相对较高,因此预先设定的关键词不宜过长。

本发明实施例通过对所述语音信号进行切片,并采用las模型根据语音切片得到拼音切片,再从拼接得到拼音序列中匹配到对应的关键词拼音,从而能够根据关键词简单、快速地实现对所述语音信号中关键信息的识别。

图2为本发明实施例的另一基于关键词的语音识别方法流程图,图4为本发明实施例的语音信号切片策略示意图,如图2所示,所述步骤s01具体为:

步骤s011、获取语音信号,并将所述语音信号按照时间顺序切分为至少一个语音切片,且任意相邻两个语音切片存在预设重叠长度的重叠片段。

由于las模型中的rnn的识别初期效果会受自身结构的影响,识别效果不佳,从而导致信息的丢失,拼接得到的拼音序列不准确。为此,在对所述语音信号进行切分的过程中,在相邻两个语音切片间,设置预设重叠长度的重叠片段。

如图4所示,将一个长度为4n秒的语音信号切分为三段语音切片,分别为0~2n秒,n~3n秒,2n~4n秒,其中,相邻两段语音切片间的重叠长度为n秒。当然,所述语音信号的长度以及重叠长度可以根据实际的需求来进行设置。

所述rnn通过对重叠部分的训练过渡适应,再根据重叠长度对得到的拼音切片进行拼接,从而提高了所述拼音序列的准确度。

本发明实施例通过在语音信号的切分策略中增加重叠片段,提高了所述las模型得到的拼音序列的准确度,从而能够根据关键词简单、快速地实现对所述语音信号中关键信息的识别。

图3为本发明实施例的又一基于关键词的语音识别方法流程图,如图3所示,所述步骤s02具体为:

步骤s021、采用梅尔频率倒谱系数提取每个语音切片的特征向量。

在对所述语音信号进行切片后,还需要对每段语音切片进行特征提取,从而提取出反映语音切片的关键特征参数形成特征向量,本发明实施例采用梅尔频率倒谱系数。用长度约为10ms的帧去分割所述语音切片的波形,然后从每帧波形中提取出mfcc,共39个数字,从而得到每个语音切片的特征向量。

为了尽可能得得到更加清晰的语音信号以提高所述特征向量的准确度,需要对得到的语音信号先进行去噪处理。具体操作为通过频谱图来发现噪声的频率分布与语音信号具有较大的差异,使用谱减法进行噪声去除。

步骤s022、根据所述语音切片的特征向量采用预先训练的las模型得到与每个语音切片对应的拼音切片。

将得到的特征向量作为所述las模型的输入,从而得到了每个语音切片的拼音切片。

本发明实施例通过梅尔频率倒谱系数提取每个语音切片的特征向量,再采用las模型根据特征向量得到所述语音切片的拼音切片,提高了所述las模型得到的拼音序列的准确度,从而能够根据关键词简单、快速地实现对所述语音信号中关键信息的识别。

基于上述实施例,进一步地,所述las模型包括编码器(encoder)和解码器(decoder),并且在所述解码器的输出层增加条件随机场层(crflayer)。

所述las模型包括的encoder和decoder,均采用rnn结构,所述encoder用于listen,所述decoder用于attend和spell。

由于通话语音信号噪声较大,进一步增加了识别的困难。信号强弱分布的不平衡,使得rnn这样基于逐点(pointwise)的预测策略存在一定的困难。

在所述las模型的解码器的输出层增加条件随机场层,利用前后文得到更加合理的拼音切片。

本发明实施例通过在所述las模型的解码器增加条件随机场层,以使所述las模型得到更加准确的拼音切片,提高了所述las模型得到的拼音序列的准确度,从而能够根据关键词简单、快速地实现对所述语音信息中关键信息的识别。

基于上述实施例,进一步地,所述编码器包括偏差模块用于对至少一个关键词进行编码。

在模型的识别过程中会遇到一些长尾longtail的关键词,即那些稀有的关键词,此类关键词在实际训练中不太容易找到,因此,训练后的las模型也无法准确识别长尾的关键词。为此,本发明实施例在所述编码器中增加一个偏差模块(biasendcoder)对长尾关键词单独进行编码,该编码的结果直接应用在解码器中。在后续语音信号的识别过程中,在语音信号通过编码器得到语音信号编码时,采用注意力机制,直接与长尾的关键词编码进行匹配,若匹配成功则说明在所述语音信号中包含长尾的关键词。

本发明实施例通过增加偏差模块对长尾的关键词进行编码,并在解码器中采用注意力机制与语音信号的编码进行匹配,从而更加准确得到所述语音信号包含的长尾的关键词,进而根据关键词简单、快速地实现对所述语音信号中关键信息的识别。

基于上述实施例,进一步地,所述方法还包括:

获取网络公开数据对所述las模型进行预训练;

预训练过后再对自有已标注的语音信号训练,对所述las模型继续进行微调。

在对所述las模型进行训练的过程中,在已有训练语音信号有限的前提下,为了提高对所述语音信号识别的准确率,同时也提升对所述las模型训练的效率,可以先利用网络公开数据对所述las模型进行前期的预训练。在所述las模型的目标损失函数小于预设的阈值时,再在每个训练的批样本数据中增加部分自身获取的已标注的训练语音信号,即训练语音信号和与之对应的拼音序列,进行后续的训练来进行微调。

本发明实施例通过在前期的训练过程中采用网络公开数据进行训练,在后期训练中加入标注的训练语音信号进行训练,从而在增加训练的可靠性的同时提升效率。

基于上述实施例,进一步地,所述las模型采用多头注意力机制、计划采样机制、对标签进行平滑归一化的正则化、在目标损失函数中增加误字率损失。

为了能够提升所述las模型的准确率和效率,本发明实施例的还对所述las模型进行下列改进:

采用多头注意力机制(multi-headedattention),以从不同的角度对相似性能进行度量。

采用计划采样(scheduledsampling)机制训练解码器,缓解解码器在训练阶段的一部分输入是标注的准确的拼音序列,而在推断阶段用到的则是上一步产生的输出结果产生的不一致。

采用标签平滑归一化(labelsmoothing)的正则化,缓解独热编码(one-hot)导致模型过于依赖预测的标签而造成的过拟合。

在目标损失函数中增加误字率(word-error-rate,wer)来进行训练。

为了提升模型的训练效果,增加泛化能力,进行了一些小的操作,如数据增强、dropout正则化、学习率衰减(learningratedecay)、动态增加批样本数等等。

本发明实施例通过改进所述las模型,提升了所述las模型对于语音信号识别的准确率和效率。

基于上述实施例,进一步地,所述las模型需结合外部文本训练的语言模型。

为了进一步提高所述las模型识别的准确率,增加一个外部的语言模型在解码器的推断阶段,所述语言模型利用rnn或者n-gram模型,对网络上爬取的大量文本数据进行训练。

本发明实施例通过增加一个外部语言模型用于解码器的推断阶段,从而提升了所述las模型对于语音识别的准确率和效率。

图5为本发明实施例的用于基于关键词的语音识别装置结构示意图,如图5所示,所述装置包括:预处理模块10、识别模块11、拼接模块12和匹配模块13,其中,

所述预处理模块10用于获取语音信号并将所述语音信号按照时间顺序切分为至少一个语音切片;所述识别模块11用于采用预先训练的las模型得到与每个语音切片对应的拼音切片;所述拼接模块12用于将所有拼音切片拼接为与所述语音信号对应的拼音序列;所述匹配模块13用于根据预存的关键词拼音列表,得到所述拼音序列中包含的关键词拼音。具体地:

所述预处理模块10将获取的语音信号进行时域切割,将每个语音信号按照时间顺序切分为多段语音切片。

在通过前期对las模型的训练后,所述识别模块11采用的las模型的输出为拼音而非汉字,从而可以大大缩小了在识别过程中的搜索空间。所述识别模块可以根据输入的每个语音切片得到对应的拼音切片。

所述拼接模块12根据对所述语音信号的切分方式,将拼音切片进行拼接后得到与所述语音信号对应的拼音序列。

所述匹配模块13根据预先设定的多个关键词,分别得到每个关键词的关键词拼音,以组成关键词拼音列表。

所述匹配模块13将通过拼接得到所述拼音序列与所述关键词拼音列表中的每个关键词拼音进行匹配,以找到所述拼音序列中包含的所有关键词拼音。匹配到的关键词拼音对应的关键词即为所述语音信号中包含的关键词。从而可以根据得到的关键词来进行后续的操作。

对于预先设定的关键词需要保持一定的长度,需要超过预设的词长度,例如3个字,从而在匹配的过程中不会出现具有相同或者相似拼音的关键词。

本发明实施例提供的装置用于执行上述方法,其功能具体参考上述方法实施例,其具体方法流程在此处不再赘述。

本发明实施例通过预处理模块10对所述语音信号进行切片,并由所述识别模块11采用las模型根据语音切片得到拼音切片,再从由所述拼接模块12拼接得到拼音序列中由匹配模块13匹配到对应的关键词拼音,从而能够根据关键词简单、快速地实现对所述语音信号中关键信息的识别。

图6示例了一种电子设备的实体结构示意图,如图6所示,该服务器可以包括:处理器(processor)810、通信接口(communicationsinterface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行如下方法:获取语音信号,并将所述语音信号按照时间顺序切分为至少一个语音切片;采用预先训练的las模型得到与每个语音切片对应的拼音切片;将所有拼音切片拼接为与所述语音信号对应的拼音序列;根据预存的关键词拼音列表,得到所述拼音序列中包含的关键词拼音。

进一步地,本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取语音信号,并将所述语音信号按照时间顺序切分为至少一个语音切片;采用预先训练的las模型得到与每个语音切片对应的拼音切片;将所有拼音切片拼接为与所述语音信号对应的拼音序列;根据预存的关键词拼音列表,得到所述拼音序列中包含的关键词拼音。

进一步地,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取语音信号,并将所述语音信号按照时间顺序切分为至少一个语音切片;采用预先训练的las模型得到与每个语音切片对应的拼音切片;将所有拼音切片拼接为与所述语音信号对应的拼音序列;根据预存的关键词拼音列表,得到所述拼音序列中包含的关键词拼音。

本领域普通技术人员可以理解:上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的电子设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需求选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1