CN112599128A - 一种语音识别方法、装置、设备和存储介质 - Google Patents
一种语音识别方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN112599128A CN112599128A CN202011627024.1A CN202011627024A CN112599128A CN 112599128 A CN112599128 A CN 112599128A CN 202011627024 A CN202011627024 A CN 202011627024A CN 112599128 A CN112599128 A CN 112599128A
- Authority
- CN
- China
- Prior art keywords
- probability
- language model
- target
- candidate
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000004927 fusion Effects 0.000 claims abstract description 24
- 238000012549 training Methods 0.000 claims description 39
- 239000013598 vector Substances 0.000 claims description 30
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 16
- 230000015654 memory Effects 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 7
- 238000006073 displacement reaction Methods 0.000 claims description 7
- 238000012790 confirmation Methods 0.000 claims description 5
- 230000002650 habitual effect Effects 0.000 abstract description 3
- 238000013528 artificial neural network Methods 0.000 description 8
- 238000013527 convolutional neural network Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 5
- 235000009508 confectionery Nutrition 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 241000287828 Gallus gallus Species 0.000 description 1
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003121 nonmonotonic effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种语音识别方法、装置、设备和存储介质,该方法包括:获取用户的多帧语音信号;将每帧语音信号输入到声学模型中、识别语音信号表达的文字;调用第一语言模型计算文字组成句子时的第一目标概率;确定与用户适配的第二语言模型;调用第二语言模型修正句子的第一目标概率,获得第二目标概率;根据第二目标概率选择与多帧语音信号匹配的句子。声学模型、第一语言模型和第二语言模型的融合架构可适用于多场景下的语音识别,第一语言模型可保证通用场景下的语音识别的准确性,第二语言模型可实现对用户惯用语音的识别,保证对用户个性化用语的识别率,调用第二语言模型修正第一目标概率能在通用性语音识别结构的基础上进一步提高准确率。
Description
技术领域
本发明实施例涉及语音识别技术领域,尤其涉及一种语音识别方法、装置、设备和存储介质。
背景技术
在直播等业务中,常常需要对海量的音视频内容进行监管,包括图像和声音,其中,声音为用户(如主播)说出的语音。
对于语音内容的监管,常用的一个方法就是对于语音进行识别,转换成文字,然后对文字进行甄别。
在语音识别技术中,常用到声学模型与语言模型,声学模型用于对切分过一小段一小段的语音进行建模,对语音进行编码,对编码后的语音进行解算,得到文字的概率矩阵,通过一定的搜索算法在文字的概率矩阵得到文字串;但由于语音的时变性、噪声和其它一些不稳定因素,单纯靠声学模型无法达到较高的语音识别的准确率,进一步的,采用语言模型提供语音中词之间的上下文信息以及语义信息,以减少声学模型上的搜索范围,提高语音识别的准确性。
然而,目前使用的语言模型为通用语言模型,使用前基于多来源以及多用户的大量文本进行学习得到,并不适合用户个性化需求。以游戏直播为例,主播在游戏直播中所说的语音内容为“赶紧走位”,由于大多数用户对“走哇”的使用率可能高于“走位”,则基于通用语言模型其识别结果可能为“赶紧走哇”,且多次识别结果均未改变,不符合用户在游戏直播中的语音惯用词。
对于不同的直播场景,不同的用户的语音惯用词都是不一样的,基于通用语言模型与声学模型结合的架构难以准确地识别用户个性化表达的语音内容,导致语音识别的精确度较低,容易出现识别错误或无法识别的问题,在直播等场景中,可监督的效果较差。
发明内容
本发明实施例提出了一种语音识别方法、装置、设备和存储介质,以解决对用户的个性化用语进行语音识别准确率低的问题。
第一方面,本发明实施例提供了一种语音识别方法,所述方法包括:
获取用户的多帧语音信号;
将每帧所述语音信号输入到声学模型中、识别所述语音信号表达的文字;
调用第一语言模型计算所述文字组成句子时的第一目标概率;
确定与所述用户适配的第二语言模型;
调用所述第二语言模型修正所述句子的所述第一目标概率,获得第二目标概率;
根据所述第二目标概率选择与多帧所述语音信号匹配的句子。
第二方面,本发明实施例还提供了一种语音识别装置,所述装置包括:
语音信号获取模块,用于获取用户的多帧语音信号;
声学模型处理模块,用于将每帧所述语音信号输入到声学模型中、识别所述语音信号表达的文字;
第一目标概率计算模块,用于调用第一语言模型计算所述文字组成句子时的第一目标概率;
语言模型确定模块,用于确定与所述用户适配的第二语言模型;
第二目标概率计算模块,用于调用所述第二语言模型修正所述句子的所述第一目标概率,获得第二目标概率;
选择确认模块,用于根据所述第二目标概率选择与多帧所述语音信号匹配的句子。
第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的语音识别方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述的语音识别方法。
本发明通过获取用户的多帧语音信号;将每帧语音信号输入到声学模型中、识别语音信号表达的文字;调用第一语言模型计算文字组成句子时的第一目标概率;确定与用户适配的第二语言模型;调用第二语言模型修正句子的第一目标概率,获得第二目标概率;根据第二目标概率选择与多帧语音信号匹配的句子。采用声学模型、第一语言模型和第二语言模型的融合架构可适用于多场景下的用户语音识别,第一语言模型能够保证对声学模型输出的文字进行通用性识别,确保在通用场景下对用户语音进行识别的准确性,第二语言模型为适配用户个性化语音识别的语言模型,可实现对用户惯用语音的识别,保证对用户个性化用语的识别率,调用第二语言模型修正第一目标概率即能保证通用场景下的识别率又能进一步提升对用户个性化语音进行识别的准确率,避免对用户个性化语音识别错误或无法识别的问题,在保留通用性语音识别结构的基础上保持一个高的通用识别率。
附图说明
图1为本发明实施例一提供的一种语音识别方法的流程图;
图2为本发明实施例一提供的一种声学模型的结构示意图;
图3是本发明实施例一提供的一种声学模型与语言模型融合架构的示意图;
图4为本发明实施例二提供的一种语音识别装置的结构示意图;
图5为本发明实施例三提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种语音识别方法的流程图,本实施例可适用于在音视频内容审核中识别语音内容的情况,该方法可以由语音识别装置来执行,该语音识别装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,服务器、工作站、个人电脑,等等,该方法具体包括如下步骤:
S101、获取用户的多帧语音信号。
采集用户在客户端的语音数据,语音数据可以为用户在客户端通过麦克风等声卡设备采集的记录用户语音的数据。
对采集到的语音数据进行预处理,将预处理后的语音数据切分为多帧语音信号,从而可以获取用户的多帧语音信号。
S102、将每帧语音信号输入到声学模型中、识别语音信号表达的文字。
语音识别技术,也可以称为自动语音识别(Automatic Speech Recognition,ASR),其任务是把人所发出的语音中词汇内容转换为计算机可读入的文本。语音识别技术是一种综合性的技术,它涉及到多个学科领域,如发声机理和听觉机理、信号处理、概率论和信息论、模式识别以及人工智能等等。
声学模型(Acoustic Model,AM)是自动语音识别系统的模型中最底层的部分,同时也是自动语音识别系统中最关键的组成单元,声学模型建模的好坏会直接从根本上影响语音识别系统的识别效果和鲁棒性。声学模型实验概率统计的模型对带有声学信息的语音基本单元建立模型,描述其统计特性。通过对声学模型的建模,可以较有效地衡量语音的特征矢量序列和每一个发音模板之间的相似度,可以有助于判断该段语音的声学信息,即语音的内容。
近年由于人工智能技术及硬件性能的提升,序列到序列(Sequence to Sequence,S2S)的端到端语音识别系统的建模成了研究焦点。相较主流的深度神经网络隐马尔可夫DNN-HMM(Deep Neural Network-Hidden Markov Model, DNN-HMM)框架,端到端语音识别系统(End-to-End ASR,E2E ASR)仅需声学模型,排除了需专家设计的发音词典使其具备结构简洁的特点,除了能缩短开发周期,在大数据下的识别率也能优于主流的DNN-HMM框架。
然而,构建端到端语音识别系统面临以下问题:输入语音序列和输出字符的长度不一致且位置不确定。为了克服这个问题,一个广泛用于E2E ASR的技术是带注意力机制的编解码(Encoder-Decoder with Attention),编码器将特征序列转为高层特征,注意力解码器根据之前解的序列和高层特征序列再解码出目标序列,但S2S结构有着非单调的左到右对齐和收敛较慢的缺点,为此,将S2S结构与CTC(Connectionist temporalclassification,基于神经网络的时序类分类)模型结合到一块,在保留S2S结构的基础上改善收敛速度慢与对齐错误的缺陷。Connectionist Temporal Classification(CTC)技术作为对特征序列和字符序列建模的主流技术之一,能有效处理语音识别中模糊边界及静音问题。
在本实施例中,如图2所示,声学模型包括编码器Encoder、注意力模型Attention、解码器Decoder与CTC模型。
编码器可以包括卷积神经网络(Convolutional neural networks,CNN) 与循环神经网络(Recurrent neural networks,RNN),卷积神经网络通常为深层次的卷积神经网络,如VGG(包括标准的VGG网络及其变形)、Resnet等,当然,卷积神经网络可以为一层或者两层等浅层次的卷积神经网络,本实施例对此不加以限制。
解码器可选的有CNN、RNN、BiRNN、GRU(Gated Recurrent Unit,门控循环单元)、LSTM(Long Short-Term Memory,长短期记忆网络)等等,本实施例对此不加以限制。
作为本实施例的一个优选示例,可以调用编码器对语音信号进行编码,输出隐含特征向量;在CTC模型中,将隐含特征向量映射为第一候选文字;在注意力模型中,将隐含特征向量进行加权处理,获得加权隐含特征向量;在解码器中,对加权隐含特征向量进行解码,以映射为第二候选文字;将第一候选文字与第二候选文字结合,得到语音信号表达的文字。
在本示例的具体实现中,如图2所示,在编码器(Encoder)中,确定卷积神经网络对语音信号On进行编码获得的编码信号,并将该编码信号传输至编码器中的循环神经网络,在循环神经网络中,对编码信号进行编码,获得隐含特征向量hn。
此后,该隐含特征向量分为两路进行传输:
一路隐含特征向量传输至CTC模型中,在CTC模型中,将隐含特征向量映射为第一候选文字yn。
CTC模型可以将语音信号直接映射到词或者字符,省去对发音字典的依赖。通过直接选取最大概率的单元,CTC模型可以省去对解码器的依赖。
进一步而言,声学模型的训练大多属于有监督学习,明确每一帧语音信号对应的标签label进行有效的训练,在训练的数据准备阶段对语音信号进行强制对齐。对于单帧语音信号,很难给出一个label,但是几十帧语音信号就容易判断出语音信号对应的label。CTC模型的引入可以放宽了这种逐一对应的要求,一个输入序列和一个输出序列即可以训练。
另一路隐含特征向量hn传输至注意力模型-解码器(Attention-Decoder) 中,在注意力模型(图2中标记“H”的模块)中,计算一个注意力权重(attention weight)am,n,计算记为:
am,n=attention(h1-n,sn-1)
其中,sn-1为注意力模型-解码器中的一个状态量。
进一步而言,在S2S结构(即Encoder-Decoder)中,Encoder把所有的输入序列都编码成一个统一的语义向量context,然后再由Decoder进行解码。由于context包含原始序列中的所有信息,它的长度就成了限制模型性能的瓶颈。
利用Encoder所有隐藏层状态可解决context长度限制问题,因此,在 Encoder与Decoder支架添加Attention,Attention在产生输出的时候,还会产生一个“注意力范围”表示接下来输出的时候要重点关注输入序列中的哪些部分,然后根据关注的区域来产生下一个输出,如此往复,相当于在S2S结构上加了一层“包装”,内部通过函数计算注意力权重,从而给Decoder加入额外信息,以提高性能。
根据注意力权重am,n对隐含特征向量进行加权处理,获得加权隐含特征向量,记为:
在解码器中,加权隐含特征向量结合注意力模型-解码器的状态量sn,将加权隐含特征向量映射为第二候选文字,同时更新状态量sn:
yn=Generate(cn,sn-1)
sn=Recurrency(sn-1,cn,yn)
其中,Generate与Recurrency均为注意力模型-解码器中的一部分,当然,状态量sn-1也会更新注意力权重am,n。
将两路处理进行汇总,结合第一候选文字与第二候选文字,得到语音信号表达的文字。
由于声学模型仅用有限成对的音频-文本数据进行训练,不足以完全覆盖带有稀有单词、短语的全方位场景,若要将语音内容的上下文语义信息包含到识别过程得借助语言模型(LM,Language Model)。
在本实施例中,通过声学模型处理语音信号,获得用户的语音信号所表达的文字,文字与文字之间在语言学中必然存在着密切的联系,用户语音所表达的内容通常都可以由一些基本的语音单元组成,这些基本的语音单元可以是句子、词组、词、音节(syllable)、子音节(Sub-syllable)或者音素等。语言模型作为一种根据语言客观事实进行语言抽象建模的数学模型,能够提供语音单元之间的上下文信息以及语义信息,帮助声学模型缩小搜索范围,进一步提高语音识别的准确性。
S103、调用第一语言模型计算文字组成句子时的第一目标概率。
第一语言模型的实质是语言模型,是对语句的概率分布的建模。例如,对于语言序列w1,w2,...,wn,语言模型用于计算该序列的概率,即P(w1,w2,...,wn),通过该概率可以判断一个语言序列是否符合正常语句。
应用本发明实施例,可以预先采集用户的文本数据,进行语言模型的训练。
在本实施例中,第一语言模型为通用语言模型(Global Language Model, G-LM),具体可以包括N元文法模型(N-Gram Model)、马尔可夫N元模型(Markov N-gram)、指数模型(Exponential Models)、决策树模型(Decision Tree Models)、循环神经网络模型(Recurrent neural network based language model,RNNLM)等等。本发明实施例对此不作限定。
为弥补S2S结构中解码器解码语言信号时上下文感知能力不足,可以采用浅层融合的方式将声学模型与语言模型进行融合,具体的,可以采用集束搜索 (Beam Search)的方法将S2S结构中的解码器(Decoder)与语言模型(LM) 一起使用的,在集束搜索的每个步骤中,使用经过单独训练的语言模型(LM) 进行线性插值。
在本实施例中,可以分别训练声学模型和第一语言模型,在集束搜索的每次迭代中,调用一次声学模型和一次第一语言模型对当前输入的语音信号进行解码,在解码的每个时间步骤上分别输出一个维度与语音的词表大小一样的概率向量,将这两个概率向量加权求和作为最终融合的概率向量,然后不断循环迭代最终得到候选文字序列,作为句子,并输出与句子对应的概率为第一目标概率。例如,在整个声学模型做前馈的时候,使用集束搜索(Beam Search)的方法,在每一个解码步上,注意力模型-解码器(Attention-Decoder)和CTC 模型根据隐含特征向量h(编码结果)和之前的解码结果y<、给出当前解码步的语音单元的后验概率pe2e(y|h,y<),而第一语言模型(以RNNLM为例)也根据模型之前的解码结果y<、给出当前解码步的语音单元的后验概率plm(y|y<),基于这两者的结果进行浅层融合(Shallow Fusion),其过程可以表征为如下公式:
其中x用于表示作为输入条件的先验变量,y*是从集束搜索(Beam Search) 中最后取出来的最佳结果,作为最终输出结果。
作为本实施例的一个优选示例,S103可以包括如下具体步骤:
S1031、将当前的候选文本与当前帧语音信号表达的文字组成新的候选文本。
其中,候选文本作为一个存储变量,其初始状态为空。候选文本用于存储当前帧语音信号以及当前帧之前的所有帧语音信号表达的文字,为了便于区分,在当前迭代计算的过程中,本实施例中所提及的当前的候选文本是指当前帧之前的所有帧语音信号表达的文字集合,新的候选文本则是由当前的候选文本与当前帧语音信号表达的文字组成的文字集合。
本次迭代计算中获得的新的候选文本将成为下一次迭代计算中所谓的当前的候选文本。
S1032、调用第一语言模型来计算当前已搜索到的语音信号表达为新的候选文本的概率,作为第一目标概率。
在一种实现方式中,可以查询声学模型中的解码器解码当前帧语音信号为文字的概率,作为第一识别概率;查询声学模型中的CTC模型将当前帧语音信号映射为文字的概率,作为第二识别概率;计算第一语言模型对当前已搜索到的语音信号表达为新的候选文本的后验概率,该后验概率的实质也是一种将语音信号识别为文字的识别概率,后验概率可以基于第一语言模型解码当前帧语音信号表达为文字的概率以及解码之前搜索过的所有帧语音信号表达为文字的概率得到,比如将第一语言模型解码除当前帧以外的之前所有已搜索过的多帧语音信号表达为文字的概率作为先验概率,计算第一语言模型解码当前帧语音信号的结果在先验概率上的条件概率,作为第一语言模型对当前已搜索到的语音信号表达为新的候选文本的后验概率;将第一识别概率、第二识别概率和后验概率进行线性融合,得到当前已搜索到的语音信号表达为新的候选文本的概率,作为第一目标概率。
S1033、判断是否完成搜索所有语音信号表达的文字,若是,则执行S1034,若否,则返回S1031。
S1034、输出候选文本为句子,并输出句子的第一目标概率。
在使用浅层融合架构后,能在不依赖成对的音频文本数据下借助只需文本训练的语言模型,适用于面向不同用户进行语音识别的应用场景,可以有效地提升语音识别的准确率。
S104、确定与用户适配的第二语言模型。
第二语言模型的实质也是语言模型,语言模型从大类上可分为统计语言模型和神经网络语言模型,其中,统计语言模型具体可以包括N元文法模型 (N-Gram Model)、马尔可夫N元模型(Markov N-gram)等等,神经网络语言模型具体可以包括RNN语言模型、LSTM语言模型。本发明实施例对此不作限定。
语言模型是假设一门语言所有可能的句子服从一个概率分布,每个句子出现的概率加起来为1,即语言模型的任务就是预测每个句子在语言中出现的概率,对于语言中常见的句子,一个好的语言模型应该得到相对高的概率,对不合语法的句子,计算出的概率则趋近于零。
为了提高语言模型对用户语音内容的识别精确度,扩大语音识别的应用场景,针对用户个性化语音也能做到高性能检测,本发明实施例需要预先确定与用户适配的第二语言模型。
在本实施例中,第二语言模型优选为统计语言模型,若使用神经网络语言模型做匹配用户的个性化语言模型,则需要对于不同场景下的用户语音都进行重新训练,灵活性较差,训练所需的样本的数据量大,训练时间较长,且成本较高。
在本实施例的一种实现方式中,确定与用户适配的第二语言模型可以包括:
训练与用户无关的第二语言模型;获取第一文本信息;从第一文本信息中提取表示用户个人的信息,作为第一词组;根据第一词组之间的依赖关系对第二语言模型进行调整,获得用户适配的第二语言模型。
作为一个优选示例,训练与用户无关的第二语言模型可以包括:
获取第二文本信息,将第二文本信息拆分成多个第二词组,若第二词组表示某个用户的信息,则将第二词组替换为表示第二词组归属的类别的通配符;若替换完成,则计算第一词频数与第二词频数的比值,以表示第二语言模型;其中,第一词频数为当前第二词组出现在当前第二词组前面一个或多个第二词组后面的词频数,第二词频数为前面一个或多个第二词组的总词频数;进一步的,根据第一词组之间的依赖关系对第二语言模型进行调整,获得用户适配的第二语言模型,例如,将第一词组替换通配符,获得与用户适配的第二语言模型。
本示例将用于训练的文本信息进行分词,得到多个词组,对词组进行筛选,从中挑选出与用户个人相关的信息(例如用户的惯用语、用户个性化口头禅等等),将这些与用户相关的词组全部替换成通用的通配符,通配符是针对用户个性化表达的词组进行分类总结得到的,例如将多个用户的地址都归属到“地址类别”、使用通配符<address>表示,又例如将不同的用户名称都归属到“姓名类别”、使用通配符<name>表示,等等,使用通配符替换用于第二语言模型训练的词组可以将许多表达内容显得杂乱无章的词组进行归纳整理,将许多表征零散个性化信息、却有规律可循的多个词组划分至一个类别的通配符中,例如某直播APP中的多个用户的个人信息均存在:姓名、年龄、性别等,但不同用户的姓名、年龄、性别却都不同(即表示这些信息的词组都不同、但可以归属于不同的大类),若将这些归属于一个类别的不同词组都替换成通配符,在训练第二语言模型时能够极大的减少运算量,提升训练的速度,同时,使用通配符训练第二语言模型区别于传统的通用性语言模型、增加了与用户相关的信息,进一步提高了对文本信息识别的准确率,但与每个用户密切相关的文本信息却被通配符替代,避免参与训练的样本数据过于杂乱零碎、影响训练效率,最终训练得到的是与个体用户无关的第二语言模型,普适性高,只需将原来的词组替换通配符,即可得到与个体用户相关的第二语言模型,无需针对每个用户都训练一个第二语言模型,大大减少了训练与用户适配的第二语言模型的训练时间,提高了训练效率,通用性强,再者,第二语言模型的精确度不会降低,保证了对用户个性化文本数据进行识别的准确性。
在本示例中,训练与用户无关的第二语言模型还可以包括:标注第二词组的词性;将多个第二词组划分至与词性对应的词组集合中;按照词性从词组集合中挑选与预设的语法结构适配的词组,作为第二语言模型的训练样本。
以N-Gram Model为例,应用于本示例,可以获取用户的个性化文本数据,对用户的个性化文本数据进行分词并统计词频数,具体地,词频数可以包括在用户的个性化文本数据中出现的总词频数和出现在一个或者多个其他分词前的词频数;若对个性化文本数据分词后得到的词组表明用户的个人信息,如人名、地址、电话号码等,则将这些表征个人信息的词组替换成多个类别的通配符,如将人名替换为<name>、将地址替换为<address>、将电话号码替换为 <telephone_number>等等。
由于N-Gram Model基于马尔科夫假设计算,即一个词的出现仅仅依赖于它前面出现的有限的一个或者几个词。
如果把句子S看成词组的序列{w1,w2,...,wm},则N-Gram Model可以表示为一个计算p(w1,w2,...,wm)的模型,语言模型仅仅对句子出现的概率进行建模,并不尝试去理解句子的内容含义。
在计算一个句子的概率时,将一个句子看作一个词组序列:S= (w1,w2,...,wm),m表示句子长度,其概率可以表示为p(S)=p(w1,w2,...,wm),根据链式法则(Chain Rule),该句子的概率可以进一步表示为: 该式表示在已知了前面词组的前提下,第m个词组是wm的条件概率。例如,一句话为″The smile is so sweet″,则这句话的概率为p(The)*p(smile|the)*p(is|the smile)*p(so|the smile is)*p(sweet|the smile is so)。
其中n表示当前词组依赖它前面词组的个数,通常n可以取1,2,3,当n取 1,2,3时的模型分别称为:unigram、bigram、trigram。
若将N-Gram Model作为第二语言模型进行训练,n的值越大则对下一个词组出现的约束信息更多,具有更大的辨别力;n的值越小则表示词组在训练语料库中出现的次数更多,具有更可靠的统计信息,具有更高的可靠性。
在N-Gram Model的实际应用中以bigram和trigram为主,而高于四元的N-Gram模型应用较少,因为训练四元的N-Gram模型需要更庞大的语料(用于训练的文本信息),而且数据稀疏严重,时间复杂度高,精度却提高的不多。选择合适的n值,可以保障当前词组拥有足够的前置信息量,使得当前词组的预测更加准确。
例如,针对“The smile is so sweet that the”这句话,假如认为当前词组只与前两个词组相关,那么可以近似得到下面的结果:p(the|the smile is so sweet that)=p(the|sweet that)。
N-Gram Model中的概率可以采用最大似然估计方法进行计算,如下公式:
其中Count(X)表示短语X在语料中出现的次数,即词频数。
将表征个人信息的词组替换成多个类别的通配符后,计算当前词组出现在当前词组前面一个或多个词组后面的词频数与前面一个或多个词组的总词频数的比值,如公式所示,将该比值作为当前词组在用户的个性化文本数据中的出现概率,将多个词组的出现概率相乘则可获得由多个词组组成个性化文本数据时的连接概率,如公式 所示。
根据训练所用的词组之间的依赖关系对第二语言模型进行调整,获得用户适配的第二语言模型,具体的,将先前被通配符替换的词组还原,例如用户“张三”的个性化文本数据中的通配符<name>换为“张三”的个人姓名、<address> 换为“张三”本人的地址,以此类推,获得与用户“张三”适配的第二语言模型。此外,可以根据用户语音场景的不同、不同的用户、以及同一用户在不同场景下的个性化语音表达,动态调整第二语言模型的权重,放大场景内和用户常用词(代称热词)的权重,比如游戏直播间的主播常用词为“走位”、“吃鸡”、“开黑”、“段位”,可以将这些热词的权重放大,训练与该主播用户适配的第二语言模型。
为了使本领域技术人员更好的理解本发明实施例,以下以第二语言模型的训练文本信息“I like sports very lunch”为例进行说明:
对训练文本信息“I like sports very lunch”进行分词,得到多个词组“I”、“like”、“sports”、“very”、“lunch”,已知每个词组在语料中的词频数如表1所示,每个词组出现在一个或者多个其他词组前的词频数统计表如表2所示。
第二分词 | 总词频数 |
I | 3200 |
like | 2215 |
sports | 1256 |
very | 1938 |
much | 806 |
表1每个词组在语料中的词频数统计表
I | like | sports | very | much | |
I | 10 | 1340 | 0 | 3 | 0 |
like | 11 | 0 | 798 | 8 | 0 |
sports | 5 | 0 | 0 | 95 | 2 |
very | 3 | 15 | 2 | 6 | 1200 |
much | 4 | 9 | 29 | 0 | 7 |
表2每个词组出现在一个或者多个其他词组前的词频数统计表
例如,表2中第二行第三列中的1340表示在训练文本信息中“I”出现在“like”前面的词频数为1340。
以bigram为例,当前词组的出现仅依赖于它前面出现的一个词组,根据表 1、表2可知,训练文本信息“I like sports very lunch”的连接概率为:
P(I like sports very lunch)
=P(I)*P(like|I)*P(sports|like)*P(very|sports)*P(lunch|very)
=0.34*(1340/3200)*(798/2215)*(95/1256)*(1200/1938)
=0.00240228
在本实施例的另一种实现方式中,确定与用户适配的第二语言模型可以包括:
获取用户与语言相关的行为数据;从行为数据中提取句子,作为用户文本信息,用户文本信息可以包括自定义词库、输入行为文本数据、设备文本数据等等,自定义词库可以记载用户在使用输入法工具时生成或设置的自定义的词、句等信息,输入行为文本数据可以包括用户的拼音输入语料等信息,拼音输入语料可以记录用户平时的打字内容以及使用退格、空格等行为信息,设备文本数据可以为用户正在使用或使用过的设备(例如计算机、手机、平板电脑等等) 中的文本数据,例如通讯录、音乐播放列表、APP(application,应用)列表等等;根据用户文本信息中各个词组之间的依赖关系,为用户训练第二语言模型,该依赖关系可以是各个词组在句子中组合的语法结构,即在词和屈折词缀的基础上,按照语法规则组合起来的结构。
S105、调用第二语言模型修正句子的第一目标概率,获得第二目标概率。
由于本实施例中声学模型处理用户的语音信号所输出的文字没有固定的组合顺序、也不存在预置的语法结构,文字与文字之间的连接顺序是不确定的,将文字组成句子存在多种情况,因而调用第一语言模型计算文字组成句子时的第一目标概率也存在多个。
在本实施例的一个优选示例中,将当前的候选文本与当前帧语音信号表达的文字组成新的候选文本,候选文本初始为空;
调用第一语言模型来计算当前已搜索到的语音信号表达为新的候选文本的概率,作为第一目标概率;
判断是否完成搜索所有语音信号表达的文字;
若是,则输出候选文本为句子,并输出句子的第一目标概率;
若否,则返回将当前的候选文本与当前帧语音信号表达的文字组成新的候选文本;
在输出新的候选文本为句子,并输出句子的第一目标概率之后,调用第二语言模型计算当前已搜索到的语音信号表达为新的候选文本的连接概率,即具有第一目标概率的句子的连接概率;
将连接概率与第一目标概率进行线性融合,得到句子的第二目标概率。
为使本领域技术人员进一步理解本申请,以线性融合为浅层融合(ShallowFusion)为例应用本示例。
在具体实现中,如图3所示,第一目标概率为本实施例的声学模型与第一语言模型进行浅层融合得到的概率,在使用集束搜索(Beam Search)进行迭代计算的过程中,当前输入的语音信号x经过编码器(Encoder)编码后得到隐含特征向量h,每次迭代均调用声学模型中的注意力模型-解码器 (Attention-Decoder)、CTC模型和第一语言模型(以RNNLM为例)对隐含特征向量h进行解码,在解码的每个时间步骤上分别输出一个识别概率,将三个识别概率加权求和、作为最终融合的概率,并取出每次迭代中最佳的N个结果(即第一目标概率最高的N个新的候选文本)送入第二语言模型中进行修正,选取的N个句子所对应的第一目标概率如下公式所示:
其中y**为句子的第一目标概率;h为声学模型中编码器输出的隐含特征向量;y<为浅层融合中各个解码器在对当前输入的语音信号进行解码之前的解码结果,wlm为第一语言模型中的解码权重,是一个超参数;wctc为CTC模型中的超参数。
确定第一目标概率最高的N个新的候选文本作为N个句子之后,调用与用户适配的第二语言模型(以N-Gram Model为例)重新计算这N个新的候选文本的识别概率、作为与N个新的候选文本对应的N个句子的连接概率,将连接概率与第一目标概率进行浅层融合,得到句子的第二目标概率,N个句子的第二目标概率如下公式所示:
y*为句子的第二目标概率;h为声学模型中编码器输出的隐含特征向量;y<为浅层融合中各个解码器在对当前输入的语音信号进行解码之前的解码结果, wngram为第二语言模型中的解码权重,是一个超参数。
将声学模型与第一语言模型进行一次浅层融合,筛选出最佳的N个语音识别结果,再将这N个语音识别结果输入到第二语言模型中,可以缩小第二语言模型的搜索范围,减少计算量,降低内存消耗,同时将已有的第一目标概率与第二语言模型的识别概率再次进行浅层融合,即能保证通用场景下的识别率又能进一步提升对用户个性化语音进行识别的准确率,避免对用户个性化语音识别错误或无法识别的问题,在保留通用性语音识别结构的基础上保持一个高的通用识别率。
在本示例中,调用第二语言模型计算当前已搜索到的语音信号表达为新的候选文本的连接概率可以包括如下具体步骤:
(1)对第一目标概率最高的N个新的候选文本进行分词,得到多个候选词组。
(2)将多个候选词组映射为预置的目标词组。
目标词组为使用用户文本信息训练第二语言模型时得到的词组,目标词组与候选词组在实质上是一样的。
在具体实现中,可以确定多个候选词组在新的候选文本中的顺序;按照顺序依次将候选词组转换为候选字符串;确定预置的目标词组表达的目标字符串;将候选字符串与目标字符串按照字符进行匹配,以将多个候选词组映射为预置的目标词组。
基于字符串匹配进行分词,在一种实现方式中,可以按照一定的策略将待分析的字符串与一个预置的机器词典中的词条(即预置的目标词组)进行匹配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。
将候选字符串与目标字符串按照字符进行匹配的方式有很多,本发明实施例对此不作任何限定。
例如,确定目标字符串中首字符的第一位置;确定候选字符串中首字符的第二位置;将第一位置与第二位置对齐;依次将候选字符串中的第一字符与目标字符串中对应的第二字符进行匹配;计算第一字符与第二字符之间的匹配值;结合匹配值、第一字符与第二字符匹配成功的字符个数,计算候选字符串在目标字符串中移动的位移;将候选字符串按照位移在目标字符串中移动,直到候选字符串在目标字符串中全部匹配成功,以将多个候选词组映射为预置的目标词组。
(3)分别采用目标词组查找候选词组的出现概率。
其中,出现概率可以为第三词频数与第四词频数的比值,具体的,第三词频数可以为当前候选词组对应的目标词组,出现在当前候选词组前面一个或多个候选词组对应的目标词组后面的词频数,第四词频数可以为前面一个或两个候选词组对应的目标词组的总词频数。
(4)计算出现概率连乘的乘积,得到当前已搜索到的语音信号表达为新的候选文本的连接概率。
S106、根据第二目标概率选择与多帧语音信号匹配的句子。
在本实施例中,可以分别计算第二目标概率最高的前N个句子的置信度;按照置信度选择与多帧语音信号匹配的句子。在一个优选示例中,置信度可以为当前第N个句子的第二目标概率与前N-1个句子的第二目标概率的和的比值。当然,置信度的计算方法有多种,上述置信度的计算方法只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他置信度的计算方法,本发明实施例对此不加以限制。
本发明实施例通过获取用户的多帧语音信号;将每帧语音信号输入到声学模型中、识别语音信号表达的文字;调用第一语言模型计算文字组成句子时的第一目标概率;确定与用户适配的第二语言模型;调用第二语言模型修正句子的第一目标概率,获得第二目标概率;根据第二目标概率选择与多帧语音信号匹配的句子。采用声学模型、第一语言模型和第二语言模型的融合架构可适用于多场景下的用户语音识别,第一语言模型能够保证对声学模型输出的文字进行通用性识别,确保在通用场景下对用户语音进行识别的准确性,第二语言模型为适配用户个性化语音识别的语言模型,可实现对用户惯用语音的识别,保证对用户个性化用语的识别率,调用第二语言模型修正第一目标概率即能保证通用场景下的识别率又能进一步提升对用户个性化语音进行识别的准确率,避免对用户个性化语音识别错误或无法识别的问题,在保留通用性语音识别结构的基础上保持一个高的通用识别率。
实施例二
图4为本发明实施例二提供的一种语音识别装置的结构示意图,该装置具体可以包括如下模块:
语音信号获取模块401,用于获取用户的多帧语音信号;
声学模型处理模块402,用于将每帧所述语音信号输入到声学模型中、识别所述语音信号表达的文字;
第一目标概率计算模块403,用于调用第一语言模型计算所述文字组成句子时的第一目标概率;
语言模型确定模块404,用于确定与所述用户适配的第二语言模型;
第二目标概率计算模块405,用于调用所述第二语言模型修正所述句子的所述第一目标概率,获得第二目标概率;
选择确认模块406,用于根据所述第二目标概率选择与多帧所述语音信号匹配的句子。
在本发明的一个实施例中,所述声学模型包括编码器、注意力模型、解码器与CTC模型;所述声学模型处理模块402包括:
编码子模块,用于调用所述编码器对所述语音信号进行编码,输出隐含特征向量;
第一候选文字确定子模块,用于在所述CTC模型中,将所述隐含特征向量映射为第一候选文字;
加权处理子模块,用于在所述注意力模型中,将所述隐含特征向量进行加权处理,获得加权隐含特征向量;
第二候选文字确定子模块,用于在所述解码器中,对所述加权隐含特征向量进行解码,以映射为第二候选文字;
文字结合子模块,用于将所述第一候选文字与所述第二候选文字结合,得到所述语音信号表达的文字。
在本发明的一个实施例中,所述第一目标概率计算模块403包括:
候选文本确定子模块,用于将当前的候选文本与当前帧所述语音信号表达的文字组成新的候选文本,所述候选文本初始为空;
第一目标概率计算子模块,用于调用第一语言模型来计算当前已搜索到的所述语音信号表达为新的所述候选文本的概率,作为第一目标概率;
判断子模块,用于判断是否完成搜索所有所述语音信号表达的所述文字,若是,则调用输出子模块,若否,则调用返回执行子模块;
输出子模块,用于输出所述候选文本为句子,并输出所述句子的所述第一目标概率;
返回执行子模块,用于返回文本确定子模块。
在本发明的一个实施例中,所述声学模型包括解码器与CTC模型;所述第一目标概率计算子模块包括:
第一识别概率确定单元,用于查询所述解码器解码当前帧所述语音信号为所述文字的概率,作为第一识别概率;
第二识别概率确定单元,用于查询所述CTC模型将当前帧所述语音信号映射为所述文字的概率,作为第二识别概率;
后验概率确定单元,用于计算所述第一语言模型对当前已搜索到的所述语音信号表达为新的所述候选文本的后验概率;
概率融合单元,用于将所述第一识别概率、所述第二识别概率和所述后验概率进行线性融合,得到当前已搜索到的所述语音信号表达为新的所述候选文本的概率,作为第一目标概率。
在本发明的一个实施例中,所述语言模型确定模块404包括:
语言模型训练子模块,用于训练与所述用户无关的第二语言模型;
文本信息获取子模块,用于获取第一文本信息;
用户信息提取子模块,用于从所述第一文本信息中提取表示所述用户个人的信息,作为第一词组;
语言模型确定子模块,用于根据所述第一词组之间的依赖关系对所述第二语言模型进行调整,获得所述用户适配的第二语言模型。
在本发明的一个实施例中,所述语言模型训练子模块包括:
文本信息获取单元,用于获取第二文本信息;
文本信息拆分单元,用于将所述第二文本信息拆分成多个第二词组,若所述第二词组表示某个用户的信息,则调用替换单元;
替换单元,用于将所述第二词组替换为表示所述第二词组归属的类别的通配符,若替换完成,则调用计算单元;
计算单元,用于计算第一词频数与第二词频数的比值,以表示第二语言模型,所述第一词频数为当前第二词组出现在当前第二词组前面一个或多个第二词组后面的词频数,所述第二词频数为所述前面一个或多个第二词组的总词频数;
在本实施例中,所述语言模型确定子模块包括:
语言模型确定单元,用于将所述第一词组替换所述通配符,获得与所述用户适配的第二语言模型。
在本发明的一个实施例中,所述语言模型训练子模块还包括:
词性标注单元,用于标注所述第二词组的词性;
词组划分单元,用于将多个所述第二词组划分至与所述词性对应的词组集合中;
训练样本确定单元,用于按照所述词性从所述词组集合中挑选与预设的语法结构适配的所述词组,作为第二语言模型的训练样本。
在本发明的一个实施例中,所述第二目标概率计算模块405包括:
连接概率计算子模块,用于调用所述第二语言模型计算当前已搜索到的所述语音信号表达为新的所述候选文本的连接概率;
第二目标概率计算子模块,用于将所述连接概率与所述第一目标概率进行线性融合,得到所述句子的第二目标概率。
在本发明的一个实施例中,所述连接概率计算子模块包括:
分词处理单元,用于对所述第一目标概率最高的N个新的所述候选文本进行分词,得到多个候选词组;
词组映射单元,用于将多个所述候选词组映射为预置的目标词组,其中,所述目标词组为使用用户文本信息训练所述第二语言模型时得到的词组;
出现概率确定单元,用于分别采用所述目标词组查找所述候选词组的出现概率;
连接概率确定单元,用于计算所述出现概率连乘的乘积,得到当前已搜索到的所述语音信号表达为新的所述候选文本的连接概率。
在本发明的一个实施例中,所述词组映射单元包括:
顺序确定子单元,用于确定多个所述候选词组在新的所述候选文本中的顺序;
候选字符串确定子单元,用于按照所述顺序依次将所述候选词组转换为候选字符串;
目标字符串确定子单元,用于确定预置的目标词组表达的目标字符串;
匹配子单元,用于将所述候选字符串与所述目标字符串按照字符进行匹配,以将多个所述候选词组映射为预置的目标词组。
在本发明的一个实施例中,所述匹配子单元包括:
第一位置确定子单元,用于确定所述目标字符串中首字符的第一位置;
第二位置确定子单元,用于确定所述候选字符串中首字符的第二位置;
位置对齐子单元,用于将所述第一位置与所述第二位置对齐;
字符匹配子单元,用于依次将所述候选字符串中的第一字符与所述目标字符串中对应的第二字符进行匹配;
匹配值计算子单元,用于计算所述第一字符与所述第二字符之间的匹配值;
位移计算子单元,用于结合所述匹配值、所述第一字符与所述第二字符匹配成功的字符个数,计算所述候选字符串在所述目标字符串中移动的位移;
移动匹配子单元,用于将所述候选字符串按照所述位移在所述目标字符串中移动,直到所述候选字符串在所述目标字符串中全部匹配成功,以将多个所述候选词组映射为预置的目标词组。
在本发明的一个实施例中,所述选择确认模块406包括:
置信度计算子模块,用于分别计算第二目标概率最高的前N个所述句子的置信度;
选择确认子模块,用于按照所述置信度选择与多帧所述语音信号匹配的句子。
本发明实施例所提供的语音识别装置可执行本发明任意实施例所提供的语音识别方法,具备执行方法相应的功能模块和有益效果。
实施例三
图5为本发明实施例三提供的一种计算机设备的结构示意图。图5示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图5显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机设备12以通用计算设备的形式表现。计算机设备12 的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器 28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA) 总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA) 局域总线以及外围组件互连(PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如 CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/ 或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/ 输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的语音识别方法。
实施例四
本发明实施例四还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例的语音识别方法。
所述语音识别方法包括:
获取用户的多帧语音信号;
将每帧所述语音信号输入到声学模型中、识别所述语音信号表达的文字;
调用第一语言模型计算所述文字组成句子时的第一目标概率;
确定与所述用户适配的第二语言模型;
调用所述第二语言模型修正所述句子的所述第一目标概率,获得第二目标概率;
根据所述第二目标概率选择与多帧所述语音信号匹配的句子。
当然,本发明实施例所提供的计算机可读存储介质,其计算机程序不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的语音识别方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器 (Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述语音识别装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (15)
1.一种语音识别方法,其特征在于,包括:
获取用户的多帧语音信号;
将每帧所述语音信号输入到声学模型中、识别所述语音信号表达的文字;
调用第一语言模型计算所述文字组成句子时的第一目标概率;
确定与所述用户适配的第二语言模型;
调用所述第二语言模型修正所述句子的所述第一目标概率,获得第二目标概率;
根据所述第二目标概率选择与多帧所述语音信号匹配的句子。
2.根据权利要求1所述的方法,其特征在于,所述声学模型包括编码器、注意力模型、解码器与CTC模型;
所述将每帧所述语音信号输入到声学模型中、识别所述语音信号表达的文字,包括:
调用所述编码器对所述语音信号进行编码,输出隐含特征向量;
在所述CTC模型中,将所述隐含特征向量映射为第一候选文字;
在所述注意力模型中,将所述隐含特征向量进行加权处理,获得加权隐含特征向量;
在所述解码器中,对所述加权隐含特征向量进行解码,以映射为第二候选文字;
将所述第一候选文字与所述第二候选文字结合,得到所述语音信号表达的文字。
3.根据权利要求1所述的方法,其特征在于,所述调用第一语言模型计算所述文字组成句子时的第一目标概率,包括:
将当前的候选文本与当前帧所述语音信号表达的文字组成新的候选文本,所述候选文本初始为空;
调用第一语言模型来计算当前已搜索到的所述语音信号表达为新的所述候选文本的概率,作为第一目标概率;
判断是否完成搜索所有所述语音信号表达的所述文字;
若是,则输出所述候选文本为句子,并输出所述句子的所述第一目标概率;
若否,则返回所述将当前的候选文本与当前帧所述语音信号表达的文字组成新的候选文本。
4.根据权利要求3所述的方法,其特征在于,所述声学模型包括解码器与CTC模型;
所述调用第一语言模型来计算当前已搜索到的所述语音信号表达为新的所述候选文本的概率,作为第一目标概率,包括:
查询所述解码器解码当前帧所述语音信号为所述文字的概率,作为第一识别概率;
查询所述CTC模型将当前帧所述语音信号映射为所述文字的概率,作为第二识别概率;
计算所述第一语言模型对当前已搜索到的所述语音信号表达为新的所述候选文本的后验概率;
将所述第一识别概率、所述第二识别概率和所述后验概率进行线性融合,得到当前已搜索到的所述语音信号表达为新的所述候选文本的概率,作为第一目标概率。
5.根据权利要求1-4任一所述的方法,其特征在于,所述确定与所述用户适配的第二语言模型,包括:
训练与所述用户无关的第二语言模型;
获取第一文本信息;
从所述第一文本信息中提取表示所述用户个人的信息,作为第一词组;
根据所述第一词组之间的依赖关系对所述第二语言模型进行调整,获得所述用户适配的第二语言模型。
6.根据权利要求5所述的方法,其特征在于,所述训练与所述用户无关的第二语言模型,包括:
获取第二文本信息;
将所述第二文本信息拆分成多个第二词组;
若所述第二词组表示某个用户的信息,则将所述第二词组替换为表示所述第二词组归属的类别的通配符;
若替换完成,则计算第一词频数与第二词频数的比值,以表示第二语言模型,所述第一词频数为当前第二词组出现在当前第二词组前面一个或多个第二词组后面的词频数,所述第二词频数为所述前面一个或多个第二词组的总词频数;
所述根据所述第一词组之间的依赖关系对所述第二语言模型进行调整,获得所述用户适配的第二语言模型,包括:
将所述第一词组替换所述通配符,获得与所述用户适配的第二语言模型。
7.根据权利要求6所述的方法,其特征在于,所述训练与所述用户无关的第二语言模型,还包括:
标注所述第二词组的词性;
将多个所述第二词组划分至与所述词性对应的词组集合中;
按照所述词性从所述词组集合中挑选与预设的语法结构适配的所述词组,作为第二语言模型的训练样本。
8.根据权利要求3所述的方法,其特征在于,所述调用所述第二语言模型修正所述句子的所述第一目标概率,获得第二目标概率,包括:
调用所述第二语言模型计算当前已搜索到的所述语音信号表达为新的所述候选文本的连接概率;
将所述连接概率与所述第一目标概率进行线性融合,得到所述句子的第二目标概率。
9.根据权利要求8所述的方法,其特征在于,所述调用所述第二语言模型计算当前已搜索到的所述语音信号表达为新的所述候选文本的连接概率,包括:
对所述第一目标概率最高的N个新的所述候选文本进行分词,得到多个候选词组;
将多个所述候选词组映射为预置的目标词组,其中,所述目标词组为使用用户文本信息训练所述第二语言模型时得到的词组;
分别采用所述目标词组查找所述候选词组的出现概率;
计算所述出现概率连乘的乘积,得到当前已搜索到的所述语音信号表达为新的所述候选文本的连接概率。
10.根据权利要求9所述的方法,其特征在于,所述将多个所述候选词组映射为预置的目标词组,包括:
确定多个所述候选词组在新的所述候选文本中的顺序;
按照所述顺序依次将所述候选词组转换为候选字符串;
确定预置的目标词组表达的目标字符串;
将所述候选字符串与所述目标字符串按照字符进行匹配,以将多个所述候选词组映射为预置的目标词组。
11.根据权利要求10所述的方法,其特征在于,所述将所述候选字符串与所述目标字符串按照字符进行匹配,以将多个所述候选词组映射为预置的目标词组,包括:
确定所述目标字符串中首字符的第一位置;
确定所述候选字符串中首字符的第二位置;
将所述第一位置与所述第二位置对齐;
依次将所述候选字符串中的第一字符与所述目标字符串中对应的第二字符进行匹配;
计算所述第一字符与所述第二字符之间的匹配值;
结合所述匹配值、所述第一字符与所述第二字符匹配成功的字符个数,计算所述候选字符串在所述目标字符串中移动的位移;
将所述候选字符串按照所述位移在所述目标字符串中移动,直到所述候选字符串在所述目标字符串中全部匹配成功,以将多个所述候选词组映射为预置的目标词组。
12.根据权利要求1或2或3或4或6或7或8或9或10所述的方法,其特征在于,所述根据所述第二目标概率选择与多帧所述语音信号匹配的句子,包括:
分别计算第二目标概率最高的前N个所述句子的置信度;
按照所述置信度选择与多帧所述语音信号匹配的句子。
13.一种语音识别装置,其特征在于,包括:
语音信号获取模块,用于获取用户的多帧语音信号;
声学模型处理模块,用于将每帧所述语音信号输入到声学模型中、识别所述语音信号表达的文字;
第一目标概率计算模块,用于调用第一语言模型计算所述文字组成句子时的第一目标概率;
语言模型确定模块,用于确定与所述用户适配的第二语言模型;
第二目标概率计算模块,用于调用所述第二语言模型修正所述句子的所述第一目标概率,获得第二目标概率;
选择确认模块,用于根据所述第二目标概率选择与多帧所述语音信号匹配的句子。
14.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-12中任一所述的语音识别方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1-12中任一所述的语音识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011627024.1A CN112599128B (zh) | 2020-12-31 | 2020-12-31 | 一种语音识别方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011627024.1A CN112599128B (zh) | 2020-12-31 | 2020-12-31 | 一种语音识别方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112599128A true CN112599128A (zh) | 2021-04-02 |
CN112599128B CN112599128B (zh) | 2024-06-11 |
Family
ID=75206862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011627024.1A Active CN112599128B (zh) | 2020-12-31 | 2020-12-31 | 一种语音识别方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112599128B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110689881A (zh) * | 2018-06-20 | 2020-01-14 | 深圳市北科瑞声科技股份有限公司 | 语音识别方法、装置、计算机设备和存储介质 |
CN113327599A (zh) * | 2021-06-30 | 2021-08-31 | 北京有竹居网络技术有限公司 | 语音识别方法、装置、介质及电子设备 |
CN113611289A (zh) * | 2021-08-06 | 2021-11-05 | 上海汽车集团股份有限公司 | 一种语音识别方法和装置 |
CN115116437A (zh) * | 2022-04-07 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 语音识别方法、装置、计算机设备、存储介质及产品 |
CN115346530A (zh) * | 2022-10-19 | 2022-11-15 | 亿咖通(北京)科技有限公司 | 一种语音控制方法、装置、设备、介质、系统及车辆 |
WO2023172331A1 (en) * | 2022-03-08 | 2023-09-14 | Microsoft Technology Licensing, Llc. | Code-mixed speech recognition using attention and language-specific joint analysis |
WO2024001662A1 (zh) * | 2022-06-28 | 2024-01-04 | 京东科技信息技术有限公司 | 语音识别方法、装置、设备和存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090240499A1 (en) * | 2008-03-19 | 2009-09-24 | Zohar Dvir | Large vocabulary quick learning speech recognition system |
CN103456300A (zh) * | 2013-08-07 | 2013-12-18 | 安徽科大讯飞信息科技股份有限公司 | 一种基于class-base语言模型的POI语音识别方法 |
WO2016114428A1 (ko) * | 2015-01-16 | 2016-07-21 | 삼성전자 주식회사 | 문법 모델을 이용하여 음성인식을 수행하는 방법 및 디바이스 |
EP3174047A1 (en) * | 2015-11-30 | 2017-05-31 | Samsung Electronics Co., Ltd | Speech recognition apparatus and method |
WO2017166650A1 (zh) * | 2016-03-30 | 2017-10-05 | 乐视控股(北京)有限公司 | 语音识别方法及装置 |
CN110473531A (zh) * | 2019-09-05 | 2019-11-19 | 腾讯科技(深圳)有限公司 | 语音识别方法、装置、电子设备、系统及存储介质 |
CN111128137A (zh) * | 2019-12-30 | 2020-05-08 | 广州市百果园信息技术有限公司 | 一种声学模型的训练方法、装置、计算机设备和存储介质 |
CN111816165A (zh) * | 2020-07-07 | 2020-10-23 | 北京声智科技有限公司 | 语音识别方法、装置及电子设备 |
CN111933129A (zh) * | 2020-09-11 | 2020-11-13 | 腾讯科技(深圳)有限公司 | 音频处理方法、语言模型的训练方法、装置及计算机设备 |
CN112017645A (zh) * | 2020-08-31 | 2020-12-01 | 广州市百果园信息技术有限公司 | 一种语音识别方法及装置 |
-
2020
- 2020-12-31 CN CN202011627024.1A patent/CN112599128B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090240499A1 (en) * | 2008-03-19 | 2009-09-24 | Zohar Dvir | Large vocabulary quick learning speech recognition system |
CN103456300A (zh) * | 2013-08-07 | 2013-12-18 | 安徽科大讯飞信息科技股份有限公司 | 一种基于class-base语言模型的POI语音识别方法 |
WO2016114428A1 (ko) * | 2015-01-16 | 2016-07-21 | 삼성전자 주식회사 | 문법 모델을 이용하여 음성인식을 수행하는 방법 및 디바이스 |
EP3174047A1 (en) * | 2015-11-30 | 2017-05-31 | Samsung Electronics Co., Ltd | Speech recognition apparatus and method |
WO2017166650A1 (zh) * | 2016-03-30 | 2017-10-05 | 乐视控股(北京)有限公司 | 语音识别方法及装置 |
CN110473531A (zh) * | 2019-09-05 | 2019-11-19 | 腾讯科技(深圳)有限公司 | 语音识别方法、装置、电子设备、系统及存储介质 |
CN111128137A (zh) * | 2019-12-30 | 2020-05-08 | 广州市百果园信息技术有限公司 | 一种声学模型的训练方法、装置、计算机设备和存储介质 |
CN111816165A (zh) * | 2020-07-07 | 2020-10-23 | 北京声智科技有限公司 | 语音识别方法、装置及电子设备 |
CN112017645A (zh) * | 2020-08-31 | 2020-12-01 | 广州市百果园信息技术有限公司 | 一种语音识别方法及装置 |
CN111933129A (zh) * | 2020-09-11 | 2020-11-13 | 腾讯科技(深圳)有限公司 | 音频处理方法、语言模型的训练方法、装置及计算机设备 |
Non-Patent Citations (2)
Title |
---|
H. R. RAMYA: "Personalised Emotion Recognition Utilising Speech Signal and Linguistic Cues", 《2019 11TH INTERNATIONAL CONFERENCE ON COMMUNICATION SYSTEMS & NETWORKS (COMSNETS)》 * |
黄智颖: "RNN-BLSTM声学模型的说话人自适应方法研究", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110689881A (zh) * | 2018-06-20 | 2020-01-14 | 深圳市北科瑞声科技股份有限公司 | 语音识别方法、装置、计算机设备和存储介质 |
CN110689881B (zh) * | 2018-06-20 | 2022-07-12 | 深圳市北科瑞声科技股份有限公司 | 语音识别方法、装置、计算机设备和存储介质 |
CN113327599A (zh) * | 2021-06-30 | 2021-08-31 | 北京有竹居网络技术有限公司 | 语音识别方法、装置、介质及电子设备 |
CN113611289A (zh) * | 2021-08-06 | 2021-11-05 | 上海汽车集团股份有限公司 | 一种语音识别方法和装置 |
CN113611289B (zh) * | 2021-08-06 | 2024-06-18 | 上海汽车集团股份有限公司 | 一种语音识别方法和装置 |
WO2023172331A1 (en) * | 2022-03-08 | 2023-09-14 | Microsoft Technology Licensing, Llc. | Code-mixed speech recognition using attention and language-specific joint analysis |
CN115116437A (zh) * | 2022-04-07 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 语音识别方法、装置、计算机设备、存储介质及产品 |
CN115116437B (zh) * | 2022-04-07 | 2024-02-09 | 腾讯科技(深圳)有限公司 | 语音识别方法、装置、计算机设备、存储介质及产品 |
WO2024001662A1 (zh) * | 2022-06-28 | 2024-01-04 | 京东科技信息技术有限公司 | 语音识别方法、装置、设备和存储介质 |
CN115346530A (zh) * | 2022-10-19 | 2022-11-15 | 亿咖通(北京)科技有限公司 | 一种语音控制方法、装置、设备、介质、系统及车辆 |
Also Published As
Publication number | Publication date |
---|---|
CN112599128B (zh) | 2024-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112599128B (zh) | 一种语音识别方法、装置、设备和存储介质 | |
CN111933129B (zh) | 音频处理方法、语言模型的训练方法、装置及计算机设备 | |
US20240161732A1 (en) | Multi-dialect and multilingual speech recognition | |
KR101780760B1 (ko) | 가변길이 문맥을 이용한 음성인식 | |
US7289950B2 (en) | Extended finite state grammar for speech recognition systems | |
CN108899013B (zh) | 语音搜索方法、装置和语音识别系统 | |
CN108804414A (zh) | 文本修正方法、装置、智能设备及可读存储介质 | |
CN113836277A (zh) | 用于数字助理的机器学习系统 | |
WO2017127296A1 (en) | Analyzing textual data | |
US11580145B1 (en) | Query rephrasing using encoder neural network and decoder neural network | |
CN112199945A (zh) | 一种文本纠错的方法和装置 | |
KR20230147685A (ko) | 서브 워드 엔드-투-엔드 자동 스피치 인식을 위한 워드 레벨 신뢰도 학습 | |
CN102063900A (zh) | 克服混淆发音的语音识别方法及系统 | |
Elsner et al. | Bootstrapping a unified model of lexical and phonetic acquisition | |
WO2023048746A1 (en) | Speaker-turn-based online speaker diarization with constrained spectral clustering | |
KR20230158608A (ko) | 종단 간 자동 음성 인식 신뢰도 및 삭제 추정을 위한 멀티태스크 학습 | |
Raval et al. | Improving deep learning based automatic speech recognition for Gujarati | |
JP2024512579A (ja) | ルックアップテーブルリカレント言語モデル | |
CN116978367A (zh) | 语音识别方法、装置、电子设备和存储介质 | |
Arslan et al. | Detecting and correcting automatic speech recognition errors with a new model | |
Potamianos et al. | Adaptive categorical understanding for spoken dialogue systems | |
US20220310097A1 (en) | Reducing Streaming ASR Model Delay With Self Alignment | |
CN115376547A (zh) | 发音评测方法、装置、计算机设备和存储介质 | |
JP2002221984A (ja) | 異種環境音声データの音声検索方法及び装置 | |
CN113012685B (zh) | 音频识别方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |