CN108711422A - 语音识别方法、装置、计算机可读存储介质和计算机设备 - Google Patents
语音识别方法、装置、计算机可读存储介质和计算机设备 Download PDFInfo
- Publication number
- CN108711422A CN108711422A CN201810457129.3A CN201810457129A CN108711422A CN 108711422 A CN108711422 A CN 108711422A CN 201810457129 A CN201810457129 A CN 201810457129A CN 108711422 A CN108711422 A CN 108711422A
- Authority
- CN
- China
- Prior art keywords
- word sequence
- candidate word
- score
- field
- neural network
- 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 47
- 238000013528 artificial neural network Methods 0.000 claims abstract description 145
- 238000013145 classification model Methods 0.000 claims description 33
- 238000012549 training Methods 0.000 claims description 27
- 238000000605 extraction Methods 0.000 claims description 20
- 230000015654 memory Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 17
- 210000004218 nerve net Anatomy 0.000 claims description 7
- 230000000306 recurrent effect Effects 0.000 claims description 6
- 230000008439 repair process Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 16
- 230000003134 recirculating effect Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 238000010009 beating Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 230000003446 memory effect Effects 0.000 description 4
- 230000036651 mood Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 235000013399 edible fruits Nutrition 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 210000005036 nerve Anatomy 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 125000002015 acyclic group Chemical group 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000012937 correction 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
- 230000004069 differentiation Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000009916 joint effect Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (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)
- Machine Translation (AREA)
Abstract
本申请涉及一种语音识别方法、装置、计算机可读存储介质和计算机设备,方法包括:获取对语音数据进行解码得到的多个词序列,以及每个词序列对应的第一得分;从词序列中提取第一得分靠前的预设数量的词序列作为候选词序列;识别候选词序列所在的领域;根据候选词序列所在的领域将候选词序列输入至对应领域的神经网络中;通过神经网络对候选词序列进行重打分,得到每个候选词序列对应的第二得分;根据候选词序列对应的第一得分和第二得分得到候选词序列的最终得分;将最终得分最高的候选词序列作为语音数据的语音识别结果,这种方式针对特定领域的神经网络进行训练的时间也大幅度的缩短了,进一步的提高了语音识别的效率。
Description
技术领域
本申请涉及语音识别技术领域,特别是涉及一种语音识别方法、装置、计算机可读存储介质和计算机设备。
背景技术
随着计算机技术的飞速发展,语音识别领域的技术也日益成熟。
传统技术中,语音识别的技术方案通常分为前端解码和后端处理两部分,前端主要负责接收输入的语音数据并对语音数据进行解码,得到多个存在可能性的句子,后端则可从前端得到的多个可能性的句子中确定其中一个句子作为最终的识别结果。传统技术中,后端可将多个可能性的句子输入至神经网络,以此确定最终的识别结果,然而这种方式下,需要利用海量的文本,且需要耗费较长的周期才能训练出最终可投入使用的神经网络,因此这种语音识别的方案效率较低。
发明内容
基于此,有必要针对上述语音识别效率较低的技术问题,提供一种能够提高语音识别效率的语音识别方法、装置、计算机可读存储介质和计算机设备。
一种语音识别方法,包括:
获取对语音数据进行解码得到的多个词序列,以及每个词序列对应的第一得分;
从所述词序列中提取所述第一得分靠前的预设数量的词序列作为候选词序列;
识别所述候选词序列所在的领域;
根据所述候选词序列所在的领域将所述候选词序列输入至对应领域的神经网络中;
通过所述神经网络对所述候选词序列进行重打分,得到每个候选词序列对应的第二得分;
根据所述候选词序列对应的第一得分和第二得分得到所述候选词序列的最终得分;
将所述最终得分最高的候选词序列作为所述语音数据的语音识别结果。
一种语音识别装置,所述装置包括:
词序列获取模块,用于获取对语音数据进行解码得到的多个词序列,以及每个词序列对应的第一得分;
提取模块,用于从所述词序列中提取所述第一得分靠前的预设数量的词序列作为候选词序列;
领域识别模块,用于识别所述候选词序列所在的领域;
重打分模块,用于根据所述候选词序列所在的领域将所述候选词序列输入至对应领域的神经网络中;通过所述神经网络对所述候选词序列进行重打分,得到每个候选词序列对应的第二得分;
语音识别结果确定模块,用于根据所述候选词序列对应的第一得分和第二得分得到所述候选词序列的最终得分;将所述最终得分最高的候选词序列作为所述语音数据的语音识别结果。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取对语音数据进行解码得到的多个词序列,以及每个词序列对应的第一得分;
从所述词序列中提取所述第一得分靠前的预设数量的词序列作为候选词序列;
识别所述候选词序列所在的领域;
根据所述候选词序列所在的领域将所述候选词序列输入至对应领域的神经网络中;
通过所述神经网络对所述候选词序列进行重打分,得到每个候选词序列对应的第二得分;
根据所述候选词序列对应的第一得分和第二得分得到所述候选词序列的最终得分;
将所述最终得分最高的候选词序列作为所述语音数据的语音识别结果。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取对语音数据进行解码得到的多个词序列,以及每个词序列对应的第一得分;
从所述词序列中提取所述第一得分靠前的预设数量的词序列作为候选词序列;
识别所述候选词序列所在的领域;
根据所述候选词序列所在的领域将所述候选词序列输入至对应领域的神经网络中;
通过所述神经网络对所述候选词序列进行重打分,得到每个候选词序列对应的第二得分;
根据所述候选词序列对应的第一得分和第二得分得到所述候选词序列的最终得分;
将所述最终得分最高的候选词序列作为所述语音数据的语音识别结果。
上述语音识别方法、装置、计算机可读存储介质和计算机设备,通过获取到对语音数据进行解码得到的多个词序列及对应的第一得分,从多个词序列中选取出多个候选词序列后并确定候选词序列的领域,可将候选词序列输入至领域对应的神经网络中,获取到神经网络对每个候选词序列进行重打分得到的第二得分后,可根据第一得分与第二得分确定每个候选词序列的最终得分,进而可选出最终得分最高的候选词序列作为语音数据的语音识别结果。这种语音识别的方法,在对候选词序列进行重打分之前,先识别出候选词序列的领域,从而可使用每个领域对应的神经网络对候选词序列进行重打分,使用各个领域对应的神经网络对候选词序列进行重打分得到的第二得分不仅分数更为准确,由于各个领域均有各自对应的神经网络,因此针对特定领域的神经网络进行训练的时间也大幅度的缩短了,进一步的提高了语音识别的效率。
附图说明
图1为一个实施例中语音识别方法的应用环境图;
图2为一个实施例中语音识别方法的流程示意图;
图3为一个实施例中步骤206的流程示意图;
图4为一个实施例中神经网络的训练步骤的流程示意图;
图5为一个实施例中神经网络的输入数据和输出数据的示意图;
图6为一个实施例中在步骤214之后的流程示意图;
图7为另一个实施例中语音识别方法的流程示意图;
图8为一个实施例中各个领域对应的神经网络训练过程的示意图;
图9为一个实施例中前端对语音数据进行解码的流程示意图;
图10为一个实施例中词序列的示意图;
图11为一个实施例中语义分类模型对候选词序列进行重打分的流程示意图;
图12为另一个实施例中语义分类模型对候选词序列进行重打分的流程示意图;
图13为一个实施例中语音识别装置的结构框图;
图14为另一个实施例中领域识别模块的结构框图;
图15为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中语音识别方法的应用环境图。参照图1,该语音识别方法应用于语音识别***。该语音识别***包括终端110和服务器120。终端110和服务器120通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,在一个实施例中,提供了一种语音识别方法。本实施例主要以该方法应用于上述图1中的服务器120来举例说明。参照图2,该语音识别方法具体包括如下步骤:
步骤202,获取对语音数据进行解码得到的多个词序列,以及每个词序列对应的第一得分。
服务器可获取到对语音数据进行解码后得到的多个词序列,解码操作可以通过终端进行,终端在获取到语音数据时,可利用训练好的声学模型、语言模型以及发音词典等,对获取到的语音数据进行解码,从而可得到多个词序列。词序列是指对语音数据进行解码后得到的多个词语以及多条路径,将每条路径的起始位置至结束位置上对应的词语进行有序连接得到的句子,均可以看作是一条识别结果,即每条词序列均可以看作是一条识别结果。且每个词序列的每个路径均有对应的得分,即第一得分。第一得分可以看作是根据每个路径出现的概率计算得到的分数。
步骤204,从词序列中提取第一得分靠前的预设数量的词序列作为候选词序列。
每个词序列均有对应的第一得分,可提取出第一得分靠前的词序列。第一得分靠前是指,按照第一得分从高到低的顺序将词序列进行排序,即可以将第一得分最高的词序列排在首位。提取出第一得分靠前的词序列,即提取出第一得分数值较高的词序列,提取词序列的数量可预先设置,故可提取第一得分靠前的预设数量的词序列作为候选词序列,预设数量可根据技术人员的考虑进行调整。
步骤206,识别候选词序列所在的领域。
步骤208,根据候选词序列所在的领域将候选词序列输入至对应领域的神经网络中。
当从多个词序列中选取出预设数量的候选词序列后,可识别出候选词序列所在的领域。领域可由技术人员进行自定义的设置,比如可将领域划分为导航、音乐等。候选词序列有多个,识别出的领域可以为一个,即多个候选词序列均属于同一个领域,当识别出候选词序列对应的领域后,可将多个候选词序列输入至对应领域的神经网络中。即,针对每个领域,均有对应的预先神经网络,每个领域的神经网络可以针对性的对各自领域的候选词序列进行重打分操作。
步骤210,通过神经网络对候选词序列进行重打分,得到每个候选词序列对应的第二得分。
步骤212,根据候选词序列对应的第一得分和第二得分得到候选词序列的最终得分。
步骤214,将最终得分最高的候选词序列作为语音数据的语音识别结果。
当识别出候选词序列的领域,并将全部的候选词序列均输入至对应的神经网络中,比如当识别出候选词序列的领域为“导航”领域,则将全部的候选词序列输入至“导航”领域对应的神经网络中,“导航”领域的神经网络即可对输入的每个候选词序列进行重打分,得到每个候选词序列的第二得分。
重打分是指,候选词序列所在领域对应的神经网络会对输入的每个候选词序列进行一个分数计算,得到每个候选词序列的第二得分,将每个候选词序列的第一得分与第二得分通过一定的方式进行结合计算,比如可以分别对第一得分和第二得分进行加权计算,再将加权计算后的第一得分和第二得分的分数相加。即可根据第一得分和第二得分可得到每个候选词序列的最终得分,并可将最终得分最高的候选词序列作为语音数据的语音识别结果。上述语音识别方法,通过获取到对语音数据进行解码得到的多个词序列及对应的第一得分,从多个词序列中选取出多个候选词序列后并确定候选词序列的领域,可将候选词序列输入至领域对应的神经网络中,获取到神经网络对每个候选词序列进行重打分得到的第二得分后,可根据第一得分与第二得分确定每个候选词序列的最终得分,进而可选出最终得分最高的候选词序列作为语音数据的语音识别结果。这种语音识别的方法,在对候选词序列进行重打分之前,先识别出候选词序列的领域,从而可使用每个领域对应的神经网络对候选词序列进行重打分,使用各个领域对应的神经网络对候选词序列进行重打分得到的第二得分不仅分数更为准确,由于各个领域均有各自对应的神经网络,因此针对特定领域的神经网络进行训练的时间也大幅度的缩短了,进一步的提高了语音识别的效率。
在一个实施例中,如图3所示,步骤206,包括:
步骤302,将每个候选词序列输入至语义分类模型中。
步骤304,通过语义分类模型对每个候选词序列进行分类,得到每个候选词序列对应的分类标签。
步骤306,获取分类标签中占比最大的分类标签对应的领域作为候选词序列所在的领域。
当提取出预设数量的词序列作为候选词序列后,可将每个候选词序列都输入至训练好的语义分类模型中。训练好的语义分类模型是指预先运用大量的训练样本训练得到的语义分类模型,用于识别输入的候选词序列所在的领域。将提取出的预设数量的候选词序列都输入至训练好的语义分类模型中后,训练好的语义分类模型可对每个候选词序列进行分类,输出对每个候选词序列进行分类后得到的分类标签,可根据每个候选词序列的分类标签确定每个候选词序列对应的领域。
每个候选词序列对应的分类标签可能存在差异,即,训练好的语义分类模型对每个候选词序列的分类结果可能存在差异,则代表着训练好的语义分类模型判断每个候选词序列所属领域是不同的。这种情况下,为了确定候选词序列的领域,可获取到每个候选词序列的分类标签,将占比最大的分类标签作为全部的候选词序列对应的分类标签,即将占比最大的分类标签对应的领域作为全部的候选词序列的领域。
比如,候选词序列A的分类标签为1,候选词序列B的分类标签为1,候选词序列C的分类标签为2,候选词序列D的分类标签为1,其中1可以表示为导航类,2表示为音乐类,那么在候选词序列A、B、C、D中,分类标签为1的占比最大,因此可将分类标签1作为候选词序列A、B、C、D的分类标签,即可认为候选词序列A、B、C、D的领域为分类标签对应的领域为导航类。
通过语义分类模型识别出候选词序列所在的领域,且当每个候选词序列的领域存在分歧时,将分类标签占比最大的分类标签对应的领域作为候选词序列所在的领域,确保了候选词序列所属领域的准确性,也提高了后续候选词序列的重打分分数的准确度,从而提高了语音识别结果的准确性。
在一个实施例中,上述语音识别方法还包括:获取各个领域对应的文本;将文本中的每个词语转换成词向量;将词向量作为输入,对每个领域对应的神经网络进行训练。
在实际运用神经网络之前,可以先根据实际需要对每个神经网络进行训练,训练好的神经网络才能够投入实际使用对输入的候选词序列的领域识别。由于每个领域均有各自对应的神经网络,因此在对每个领域的神经网络进行训练时,需要获取各个领域对应的文本。文本可以是句子,在获取到每个领域的句子后,可对每个句子进行分词处理,则可得到每个句子对应的多个词语。将每个句子中包含的词语均转换成词向量,作为神经网络的输入数据,以此方式对每个领域对应的神经网络进行训练,训练完毕后即可得到每个领域对应的训练好的神经网络。
预先对各个领域的神经网络进行训练,确保了在神经网络在实际使用过程中对候选词序列进行重打分时的准确度,从而提高语音识别的准确性,也能够提高语音识别的效率。
在一个实施例中,将词向量作为输入,对每个领域对应的神经网络进行训练,包括:按照文本中词语的顺序,将文本中的每个词语对应的词向量作为输入,将每个输入的词语的下一个词语对应的词向量作为输出,以调整神经网络的参数对神经网络进行训练。
在得到每个领域的文本后,可将文本中包含的词语均转换成词向量,并输入至每个领域对应的神经网络中,对神经网络进行训练。在将词向量输入至神经网络后,可按照文本中词语的顺序,将每个输入的词语的词向量作为输入,并将每个输入的词语的下一个词语对应的词向量作为输出,。需注意的是,每个输出的词语对应的输入数据并不仅仅是前一个时刻输入的词语,而是前一个时刻与之前所有时刻输入的词语。以这种方式调整神经网络的参数对神经网络进行训练,从而可得到每个领域对应的训练好的神经网络,确保了训练得到的神经网络对候选词序列进行重打分时,得到的重打分分数的可靠性。
在一个实施例中,如图4所示,上述语音识别方法还包括神经网络的训练步骤,包括:
步骤402,获取各个领域对应的文本。
步骤404,将文本中的每个词语转换成词向量。
步骤406,按照文本中词语的顺序,将文本中的每个词语对应的词向量作为输入,将每个输入的词语的下一个词语对应的词向量作为输出,以调整神经网络的参数对神经网络进行训练。
为了确保投入实际使用的神经网络的准确度,可以预先对神经网络进行训练,得到训练好的神经网络后再进行实际运用。每个领域均有各自对应的神经网络,即需要对每个领域对应的神经网络分别进行训练。在针对每个领域的神经网络进行训练时,需要获取到每个领域对应的文本,并可以将每个领域的文本中的词语均转换成词向量,词向量可以是一个N维的向量数据。每个领域对应的文本可以看作是每个领域对应的句子,可使用分词工具对每个句子进行词语划分,即每个句子会对应有多个词语,可将每个句子中包含的词语转换成词向量后输入至各个领域对应的神经网络中。
将每个句子中包含的词语对应的词向量作为神经网络的输入,并将每个句子中,输入的词语的下一个词语作为上一个词语的词向量的输出。输出数据是每个输入词语的下一个词语对应的词向量,但是对于每一个输出数据而言,输入数据并不仅仅是上一个输入的词语的词向量,而是上一个输入的词语的词向量以及之前输入的全部词语的词向量。设定了神经网络的输入数据和输出数据,并不断地对神经网络的参数进行调整,对神经网络进行训练。比如,句子A为:我昨天上学迟到了,那么可使用分词工具将句子拆分为:我/昨天/上学/迟到/了/。如图5所示,按照句子A中词语原本的顺序,依次将句子A中包含的词语对应的词向量输入至神经网络中,图中x1、x2、x3、x4、x5、x6分别为各个词语对应的词向量,即为输入数据。默认地,在输入的词向量之前增加了一个空白输入,即将句子A的词语对应的词向量均输入至神经网络后,“我”对应的词向量不是第一个输入了,而变成了第二个输入数据,即第一个输入数据默认为空。
对应地,将每个输入的词语的下一个词语对应的词向量作为对应的输出数据,即第一默认为空的输入数据对应的输出数据为词语“我”的词向量,而输入的词语“我”对应的输出数据为词语“昨天”的词向量。如图5中所示,x1、x2、x3、x4、x5、x6分别对应“空白词语”、“我”、“昨天”、“上学”、“迟到”、“了”,而y1、y2、y3、y4、y5、y6分别为各个输入的词向量对应的输出数据,分别对应的词语为“我”、“昨天”、“上学”、“迟到”、“了”,即词语“上学”对应的输出数据为它的下一个词语“迟到”对应的词向量。对于输出数据为“昨天”而言,输入数据只有词语“我”和默认的空白词语,但对于输出数据为“了”来说,输入数据为在这之前输入的全部的词语,即“我”、“昨天”、“上学”、“迟到”以及默认的空白词语都是词语“了”的输入数据。也就是说,每个输出的向量,都与前一个时刻的输入以及之前所有时刻的输入相关。即每个输出的词语都与前一个时刻的输入词语以及之前所有时刻输入的词语相关。
神经网络的训练过程就是不停调整神经网络的参数的过程,当神经网络的参数被确定时,则可认为此神经网络已经训练完毕。在每一次输入文本中的每个词语对应的词向量对神经网络进行训练时,均会对神经网络的参数进行调整,直到技术人员确定了某个参数是最佳参数,则神经网络训练完毕。确定设定的参数是否是最佳参数时,可采用验证方式,即将神经网络的参数设置好以后,使用大量验证的样本数据对神经网络进行验证。将验证数据输入至神经网络中,检测神经网络在该参数下对验证数据的预测准确率,当神经网络的预测准备率达到技术人员设定的标准值时,则可认为该参数是最佳参数,否则需要继续对神经网络的参数进行调整,直至神经网络通过验证。
通过大量的各个领域对应的文本对每个神经网络进行训练,确保了训练好的神经网络的可靠性,也提高了神经网络对数据处理的效率,进而能够提高语音识别的效率和准确度。
在一个实施例中,根据候选词序列对应的第一得分和第二得分得到候选词序列的最终得分,包括:对根据候选词序列对应的第一得分和第二得分进行加权求和,得到候选词序列的最终得分。
终端在获取到语音数据后,可对语音数据进行解码操作,可得到多个词序列,每个词序列均有各自对应的第一得分,从多个词序列中选取出预设数量的词序列作为候选词序列,即每个候选词序列有各自对应的第一得分。在将每个候选词序列输入至所在领域对应的训练好的神经网络中后,训练好的神经网络会对每个候选词序列进行重打分得到第二得分,则每个候选词序列均有各自对应的第二得分。在得到每个候选词序列的第一得分和第二得分后,可得到每个候选词序列的最终得分。
在根据第一得分和第二得分计算最终得分时,可进行加权计算,第一得分和第二得分的权重可以相同,也可以不同,具体可取决于技术人员的设定。比如,技术人员认为第一得分的准确度更高,或者对语音识别结果的影响更大,则可以将第一得分的权重增加。当对第一得分和第二得分均进行了加权计算后,可将第一得分和第二得分加权后的分数进行求和,即可得到每个候选词序列的最终得分。
使用加权对第一得分和第二得分进行计算,可随时通过调整第一得分和第二得分的权重以此调整第一得分和第二得分对于语音识别结果的影响,即,可随时调整语音侧和语义侧的占比,可进一步确保了最终分数的可靠性,从而选出的语音识别结果更为准确。
在一个实施例中,神经网络为循环神经网络。
循环神经网络,也可称为RNNLM(Recurrent Neural Network Based LanguageModel),也可称为循环网络语言模型。循环网络语言模型除了考虑当前输入的词语外,可以考虑之前输入的多个词语,并可根据之前输入的词语组成的长文本来计算接下来出现词的概率,因此循环网络语言模型具有“更好的记忆效应”。比如“我的”“心情”后面可能出现“不错”,也可能出现“不好”,这些词的出现,依赖于之前出现了“我的”和“心情”,这个就是“记忆效应”。
循环网络语言模型会将输入的每个词映射到一个紧凑的连续向量空间,而映射的连续向量空间使用相对小的参数集合并使用循环连接建立对应的模型,产生长距离的上下文依赖。大词汇连续语音识别中常用的一种语言模型,即NGRAM模型,会依赖输入的前N-1个词,而循环网络语言模型可以捕获之前输入的所有的词的历史信息。因此相较于传统的语言模型只依赖于前面输入的N-1个词的特性,循环网络语言模型对于输入的候选词序列进行重打分得到的分数更为准确。
在一个实施例中,在将最终得分最高的候选词序列作为语音数据的语音识别结果之后,还包括:对语音识别结果进行实体提取,得到实体词语;对实体词语进行检索;当检索结果与实体词语不一致时,对实体词语进行修复。
当得到每个候选词序列的第一得分和第二得分后,可计算得到每个候选词序列的最终得分,并选出最终得分最高的候选词作为语音数据的语音识别结果。在确定语音数据对应的语音识别结果后,可对语音识别结果进行实体修复。先对语音识别结果进行实体提取,实体代表了在语音识别结果这个句子中发挥较大作用的词语,比如“我想去世界之窗”,那么在这个句子中,“世界之窗”则是这个句子的重点,而“我想去”只是说话者意图的一种表达,而最终需要落实的地点是“世界之窗”。
对语音识别结果进行实体提取时,可以得到多个实体词语,也可以只得到一个实体词语,当提取出实体词语后,可对每个实体词语进行检索,当检索到的结果与语音识别结果中提取出的实体词语不一致时,则将语音识别结果中提取出的实体词语替换成检索结果,以此方式对实体词语进行修复。
在语音识别中,识别错别字一般主要集中在领域内特殊的实体,因此可针对此问题,将语音识别结果中的实体提取出来,并对实体词语进行相应的修复,从而减少了语音识别结果中出现错别字的概率,提高了最终得到的语音识别结果的准确度。
在一个实施例中,对实体词语进行检索,包括:根据候选词序列所在的领域确定语音识别结果的领域;在语音识别结果的领域对应的数据库中对每个实体词语进行检索。
当对语音数据进行解码后可得到多个词序列,从词序列中选取出多个词序列作为候选词序列,并选出其中一个候选词序列作为语音数据的语音识别结果,因此可根据候选词序列所在的领域确定语音识别结果对应的领域。当确定了语音识别结果的领域后,可在领域对应的数据库中对每个实体词语进行检索。
根据语音识别结果所在的领域对实体词语进行检索,不仅减少了检索的数据量,也提高了检索结果的准确性,因此在对实体词语进行修复时,修复结果也能更为准确,从而提高了对语音识别结果进行纠正的效率和准确性。
在一个实施例中,如图6所示,在步骤214之后,还包括以下步骤:
步骤602,对语音识别结果进行实体提取,得到实体词语。
步骤604,根据候选词序列所在的领域确定语音识别结果的领域。
步骤606,在语音识别结果的领域对应的数据库中对每个实体词语进行检索。
步骤608,当检索结果与实体词语不一致时,对实体词语进行修复。
当从多个候选词序列中选出最终得分最高的候选词序列作为语音数据的语音识别结果后,可对语音识别结果的实体进行提取,实体代表了在语音识别结果这个句子中发挥较大作用的词语,比如“我想去世界之窗”,那么在这个句子中,“世界之窗”则是这个句子的重点,而“我想去”只是说话者意图的一种表达,而最终需要落实的地点是“世界之窗”。在确定语音数据的语音识别结果之前,对每个可能是语音识别结果的候选词序列的领域进行了确定,即识别出了候选词序列所在的领域。候选词序列可以是多个,全部的候选词序列对应的领域一般为一个,即多个候选词序列对应同一个领域,而语音识别结果是最终得分最高的候选词序列,则可根据候选词序列所在的领域确定语音识别结果的领域。
在确定了语音识别结果对应的领域后,可在语音识别结果的领域对应的数据库中对每个实体词语进行检索,即每个领域均有各自对应的数据库。比如语音识别结果为“我想去帝王大厦”,对此句子进行实体提取,可得到“帝王大厦”这个实体词语,而语音识别结果的领域为“导航”领域,那么对实体词语“帝王大厦”进行检索时,是在“导航”领域对应的数据库中进行检索,即检索对应的地名,当检索结果为“地王大厦”时,则说明检索结果与实体词语不一致,那么可将实体词语“帝王大厦”替换为检索结果“地王大厦”,则语音识别结果中的实体词语进行了修复操作,得到了修复后的语音识别结果“我想去地王大厦”,即通过实体修复操作可对语音识别结果进行错别字等纠正操作,得到更为准确的语音识别结果。
如图7所示,在一个实施例中,提供了一种语音识别方法。本实施例主要以该方法应用于上述图1中的服务器120来举例说明。参照图7,该语音识别方法具体包括如下步骤:
步骤702,对神经网络进行训练,得到训练好的神经网络。
在实际运用神经网络之前,需要预先根据实际项目对神经网络进行训练。每个领域均有各自对应的神经网络,因此利用每个领域对应的文本对每个领域对应的神经网络进行单独的训练,训练出的神经网络与领域一一对应,如图8所示,每个神经网络均对应有各自的训练文本。而在实际运用中,语义分类模型可识别出候选词序列所在的领域,当通过语义分类模型确定了候选词序列的领域后,则将候选词序列依次输入至对应领域的神经网络中进行重打分,因此神经网络的领域与语义分类模型的领域是相对应的,因此在训练时,如图8所示的,可将语义分类模型与神经网络共同进行训练,使得神经网络的领域与语义分类模型的分类领域对应,神经网络主要用于对语音进行识别,而语义分类模型主要用于对语音数据的语义进行分析,因此可认为神经网络属于识别侧,而语义分类模型属于语义侧。
在对神经网络进行训练时,可获取到各个领域对应的文本,将每个文本中的每个词语转换成词向量后,可将词向量作为输入数据,并按照句子中的词语的顺序,将输入词语的下一个词语的词向量作为当前输入词语的输出数据,即每个输出的词向量都与前一个时刻输入的词向量以及之前所有时刻输入的词向量相关。在输入词语对应的词向量对神经网络进行训练时,可对神经网络的参数进行不断的调整,直至调整到一个合适的参数,则代表神经网络训练完毕,得到了训练好的神经网络。在分别对每个领域的神经网络进行训练后,如果在实际运用过程中需要对某一个领域对应的神经网络进行更新时,只需要更新该需要更新的领域对应的神经网络即可,比如,只需要更新领域n时,则可只需要更新如图8中所示的灰色部分,即对领域n对应的神经网络进行重新训练,并同时在语义侧重新训练对应领域的语义分类模型即可。
神经网络可以是循环神经网络,也可称为循环网络语言模型,循环网络语言模型的优势在于长记忆效应,即每个输出的词语的词向量都是由之前所有输入的词语的词向量共同影响的,当前输入的词语的词向量对应的输出数据是上一个词语对应的词向量。输出数据是每个输入词语的下一个词语对应的词向量,但是对于每一个输出数据而言,输入数据并不仅仅是上一个输入的词语的词向量,而是上一个输入的词语的词向量以及之前输入的全部词语的词向量。即每个输出的词语都与前一个时刻的输入词语以及之前所有时刻输入的词语相关。以此类推设定每个输入的词向量对应的输出数据,对循环网络语言模型进行训练,以得到训练好的神经网络投入实际的使用。
步骤704,获取对语音数据进行解码得到的多个词序列,以及每个词序列对应的第一得分。
对语音解码处理可由前端进行,前端可以是终端,可对语音数据进行解码得到多个词序列,以及每个词序列对应的第一得分。具体地,如图9所示,前端在获取到输入的语音数据后,对语音数据进行特征提取,运用训练好的声学模型、语言模型以及发音词典对特征提取后的语音数据进行搜索解码,可得到多个词序列。声学模型可通过语音训练集训练得到,语言模型由文本训练集训练得到,训练好的声学模型与语言模型才能够被投入至实际运用中。
词序列可以看做是多个词语以及多个路径,也可称为lattice,lattice本质上是一个有向无环(directed acyclic graph)图,图上的每个节点代表一个词的结束时间点,每条边代表一个可能的词,以及该词发生的声学得分和语言模型得分。对语音识别的结果进行表示时,每个节点存放当前位置上语音识别的结果,包括声学概率、语言概率等信息,如图10所示,从最左边起始位置<s>开始,沿着不同的弧走到最终的</s>可以得到不同的次序列,而弧上存放的概率组合起来,表示了输入语音得到某一段文字的概率(分数)。比如图10中所示的,“北京欢迎你”、“背景换映你”,都可以看作是识别结果的一条路径,即“北京欢迎你”、“背景换映你”均是一个词序列。而图中每条路径均对应有一个概率,根据概率可计算得到每条路径的分数,即第一得分,因此每个词序列均有各自对应的第一得分。
步骤706,从词序列中提取第一得分靠前的预设数量的词序列作为候选词序列。
当得到多个词序列后,可从词序列中提取出第一得分靠前的预设数量的词序列作为候选词序列。即通过lattice计算出的最优路径,即概率最高的路径不一定与实际字序列是匹配的,所以可提取出第一得分靠前的预设数量的词序列作为候选词序列,也可称为n-best,预设数量可由技术人员根据实际需要而设定。
步骤708,将每个候选词序列输入至语义分类模型中。
步骤710,通过语义分类模型对每个候选词序列进行分类,得到每个候选词序列对应的分类标签。
步骤712,获取分类标签中占比最大的分类标签对应的领域作为候选词序列所在的领域。
步骤714,根据候选词序列所在的领域将候选词序列输入至对应领域的训练好的神经网络中。
步骤716,通过训练好的神经网络对候选词序列进行重打分,得到每个候选词序列对应的第二得分。
步骤718,对根据候选词序列对应的第一得分和第二得分进行加权求和,得到候选词序列的最终得分。
步骤720,将最终得分最高的候选词序列作为语音数据的语音识别结果。
当提取出预设数量的词序列作为候选词序列后,可将每个候选词序列都输入至训练好的语义分类模型中,训练好的语义分类模型可对每个候选词序列进行分类,输出对每个候选词序列进行分类后得到的分类标签,可根据每个候选词序列的分类标签确定每个候选词序列对应的领域。但训练好的语义分类模型对每个候选词序列的领域分类结果可能存在差异,为了确定候选词序列的领域,可获取到每个候选词序列的分类标签,将占比最大的分类标签作为全部的候选词序列对应的分类标签,即将占比最大的分类标签对应的领域作为全部的候选词序列的领域,因此最终多个候选词序列对应的领域将会是同一个,一般不会出现同一个语音数据对应的多个候选词序列属于多个领域。
在提取出多个候选词序列后,即进行了n-best的提取步骤后,可对候选词序列进行领域识别,可使用语义分类模型识别出候选词序列所在的领域。如图11所示,当进行了n-best的提取后,可使用语义分类模型对候选词序列进行领域识别,并将候选词序列输入至对应领域的神经网络中,每个领域均有各自对应的神经网络,即分领域的神经网络,神经网络可以是RNNLM。相较于NGRAM语言模型,RNNLM的保存长期记忆的能力更好。NGRAM语言模型是大词汇连续语音识别中常用的一种语言模型,该模型基于这样一种假设,第N个词的出现只与前面N-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积,这些概率可以通过直接从语料中统计N个词同时出现的次数得到。
但RNNLM则不同。比如“我的”“心情”后面可能出现“不错”,也可能出现“不好”,这些词的出现,依赖于之前出现了“我的”和“心情”,即“记忆效应”。传统的语言模型,如NGRAM语言模型,在计算一个词出现的概率时,只依赖于前面N-1个词,N一般最多设定为5,再之前的词就会被忽略。但这种做法存在不合理性,因为之前出现过的词,都会对当前的词语有影响,比如,“刘德华/是/一个/优秀/的/演员/以及/歌手/有着/很多/经典/作品/他/其中/的/一个”,如果考虑到之前的语境,那么接下来出现“歌”的概率一定会高于“哥”,而如果只考虑之前的3个或者4个词,忽略掉前文,此处则无法确定是“歌”还是“哥”。但是RNNLM的记忆效应好,就是相对于传统语言模型,RNNLM会考虑之前输入的很长的文本,根据之前很长的文本,来计算接下来出现词的概率,因此RNNLM具有更好的记忆效应。
将候选词输入至对应领域的神经网络后,可通过神经网络对候选词序列进行重打分得到每个候选词序列的第二得分,最终得到语音数据的语音识别结果。重打分也可称为rescoring,由于生成lattice的语言模型无法做到足够精确,因此需要使用更大的语言模型重新调整n-best的分数,这个过程称之为rescoring,即重打分。
如图12所示的例子,多个候选词序列及对应的第一得分分别为:播放周杰伦的双节棍94.7456、播放周杰伦的双截棍95.3976、播放周结论的双截棍94.7951、…,则将这些候选词序列都输入至语义分类模型进行分类,语义分类模型识别出这些候选词序列属于音乐领域,那么则可将候选词序列输入至音乐领域对应的神经网络中进行重打分处理,并得到每个候选词序列的第二得分,具体为:播放周杰伦的双节棍93.3381、播放周杰伦的双截棍95.0925、播放周结论的双截棍94.1557、…。
得到每个候选词的第一得分和第二得分后,可对第一得分和第二得分进行加权求和得到每个候选词序列的最终得分。具体地,每个候选词序列的最终得分=第一得分*第一权重+第二得分*第二权重。第一权重与第二权重可以相等也可以不相等,第一权重和第二权重分别代表了第一得分和第二得分各自所占的比重,当第一权重大于第二权重时,可认为技术人员将第一得分的占比分数调大了,认为第一得分的比重高于第二得分,即技术人员认为第一得分对语音识别结果的影响更大。第一权重和第二权重可以是经过大量的测试数据确定的,比如运用大量的候选词序列,不停的调整第一权重和第二权重的值,直到将根据第一权重和第二权重计算得到的最终得分最高的候选词序列作为语音识别结果时,该最终得分最高的候选词序列的确为最准确的语音识别结果,则可确定第一权重和第二权重的实际值,并在之后的实际运用中使用此第一权重和第二权重作为最终得分的计算参数。
比如,当第一权重为0.4,第二权重为0.6时,则可计算得到候选词序列“播放周杰伦的双截棍”的最终得分=95.3976*0.4+95.0925*0.6=95.21454,将全部的候选词序列的最终得分都计算完毕后,可看出候选词序列“播放周杰伦的双截棍”的分数最高,因此可将“播放周杰伦的双截棍”作为语音识别结果。在计算得到最终得分后,还可以增加一个计算步骤,比如将最终得分的对数作为选取分数,即上述候选词序列“播放周杰伦的双截棍”的最终得分分数为95.21454,再取95.21454的对数,如log1095.21454,计算得到每个候选词序列的最终得分的对数后,将最终得分的对数作为每个候选词序列的选取分数,再选取出选取分数最高的候选词序列作为语音识别结果。这种计算方式可以多样化,也可以采取其他的计算方式,具体可由技术人员设定。
步骤722,对语音识别结果进行实体提取,得到实体词语。
步骤724,根据候选词序列所在的领域确定语音识别结果的领域。
步骤726,在语音识别结果的领域对应的数据库中对每个实体词语进行检索。
步骤728,当检索结果与实体词语不一致时,对实体词语进行修复。
在语音识别中,识别错误一般都集中在领域内的特殊实体,针对此问题,可在得到语音数据的语音识别结果后,对语音识别结果进行实体修复操作。先对语音识别结果进行实体提取,实体代表了在语音识别结果这个句子中发挥较大作用的词语,比如“我想去帝王大厦”,那么在这个句子中,“帝王大厦”则是这个句子的重点,而“我想去”只是说话者意图的一种表达,而最终需要落实的地点是“帝王大厦”。
对语音识别结果进行实体提取时,可以得到多个实体词语,也可以只得到一个实体词语,当提取出实体词语后,可对每个实体词语进行检索,当对语音数据进行解码后可得到多个词序列,从词序列中选取出多个词序列作为候选词序列,并选出其中一个候选词序列作为语音数据的语音识别结果,因此可根据候选词序列所在的领域确定语音识别结果对应的领域。当确定了语音数据的语音识别结果的领域后,可在领域对应的数据库中对每个实体词语进行检索,当检索到的结果与语音识别结果中提取出的实体词语不一致时,则将语音识别结果中提取出的实体词语替换成检索结果,以此方式对实体词语进行修复。比如当语音识别结果为“我想去帝王大厦”,提取出“帝王大厦”此实体词语之后,可根据语音识别结果所属的导航领域对“帝王大厦”进行检索,即对地理位置信息检索,根据检索可发现实际结果应该是“地王大厦”,因此可以将整句话纠正为“我想去地王大厦”,实体修复功能可快速、准确的针对具体识别错误进行修复。
本实施例中的语音识别方法,由于采用了分领域的重打分机制,分领域后的重打分操作可以大幅度的提升识别准确率,经实验证明,在不同领域中,语音识别准确率分别有4%到16%的相对提升,整体识别准确率提升了6%。另外,由于每个领域均有各自对应的神经网络,因此可以大幅度的减小对神经网络进行训练的成本。传统的语音识别方案需要利用海量的文本训练出一个语言模型,为了保证重打分的效果,语言模型规模十分庞大,模型训练周期很长,对模型整体效果的评估也比较困难,8.2G文本训练RNNLM时间为100小时左右;区分领域之后,单个领域的模型训练时间可以缩短到24小时内,针对特定领域模型的更新时间大幅缩短。且传统技术中的语言模型不可能全面的覆盖到所有数据,一旦发现语言模型中存在问题,就需要会整个语言模型进行更新,而每次更新都会产生巨大的开销,而本实施例中,则只需要对需要处理或更新的领域对应的神经网络进行重新训练即可,减小了训练成本,也缩短了神经网络更新所需要消耗的时间。
图2至图12分别为各个实施例中语音识别方法的流程示意图。应该理解的是,虽然各个图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各个图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图13所示,提供了一种语音识别装置,包括:
词序列获取模块1302,用于获取对语音数据进行解码得到的多个词序列,以及每个词序列对应的第一得分。
提取模块1304,用于从词序列中提取第一得分靠前的预设数量的词序列作为候选词序列。
领域识别模块1306,用于识别候选词序列所在的领域。
重打分模块1308,用于根据候选词序列所在的领域将候选词序列输入至对应领域的神经网络中;通过神经网络对候选词序列进行重打分,得到每个候选词序列对应的第二得分。
语音识别结果确定模块1310,用于根据候选词序列对应的第一得分和第二得分得到候选词序列的最终得分;将最终得分最高的候选词序列作为语音数据的语音识别结果。
在一个实施例中,如图14所示,上述领域识别模块1306包括:
输入模块1306A,用于将每个候选词序列输入至训练好的语义分类模型中。
分类模块1306B,用于通过语义分类模型对每个候选词序列进行分类,得到每个候选词序列对应的分类标签;获取分类标签中占比最大的分类标签对应的领域作为候选词序列所在的领域。
在一个实施例中,上述装置还包括训练模块(图中未示出),用于获取各个领域对应的文本;将文本中的每个词语转换成词向量;将词向量作为输入,对每个领域对应的神经网络进行训练。
在一个实施例中,上述训练模块还用于按照文本中词语的顺序,将文本中的每个词语对应的词向量作为输入,将每个输入的词语的下一个词语对应的词向量作为输出,以调整神经网络的参数对神经网络进行训练。
在一个实施例中,上述重打分模块1308还用于对根据候选词序列对应的第一得分和第二得分进行加权求和,得到候选词序列的最终得分。
在一个实施例中,神经网络为循环神经网络。
在一个实施例中,上述装置还包括实体修复模块(图中未示出),用于对语音识别结果进行实体提取,得到多个实体词语;对实体词语进行检索;当检索结果与实体词语不一致时,对实体词语进行修复。
在一个实施例中,上述实体修复模块还用于根据候选词序列所在的领域确定语音识别结果的领域;在语音识别结果的领域对应的数据库中对每个实体词语进行检索。
图15示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的服务器120。如图15所示,该计算机设备包括该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作***,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现语音识别方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行语音识别方法。
本领域技术人员可以理解,图15出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的语音识别装置可以实现为一种计算机程序的形式,计算机程序可在如图15的计算机设备上运行。计算机设备的存储器中可存储组成该语音识别装置的各个程序模块,比如,图13所示的词序列获取模块、提取模块、领域识别模块、重打分模块和语音识别结果确定模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的语音识别方法中的步骤。
例如,图15所示的计算机设备可以通过如图13所示的语音识别装置中的词序列获取模块执行获取对语音数据进行解码得到的多个词序列,以及每个词序列对应的第一得分。计算机设备可通过提取模块执行从词序列中提取第一得分靠前的预设数量的词序列作为候选词序列。计算机设备可通过领域识别模块执行识别候选词序列所在的领域。计算机设备可通过重打分模块执行根据候选词序列所在的领域将候选词序列输入至对应领域的神经网络中;通过神经网络对候选词序列进行重打分,得到每个候选词序列对应的第二得分。计算机设备可通过语音识别结果确定模块执行根据候选词序列对应的第一得分和第二得分得到候选词序列的最终得分;将最终得分最高的候选词序列作为语音数据的语音识别结果。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现本申请任意一个实施例中提供的定位移动设备的方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请任意一个实施例中提供的定位移动设备的方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种语音识别方法,包括:
获取对语音数据进行解码得到的多个词序列,以及每个词序列对应的第一得分;
从所述词序列中提取所述第一得分靠前的预设数量的词序列作为候选词序列;
识别所述候选词序列所在的领域;
根据所述候选词序列所在的领域将所述候选词序列输入至对应领域的神经网络中;
通过所述神经网络对所述候选词序列进行重打分,得到每个候选词序列对应的第二得分;
根据所述候选词序列对应的第一得分和第二得分得到所述候选词序列的最终得分;
将所述最终得分最高的候选词序列作为所述语音数据的语音识别结果。
2.根据权利要求1所述的方法,其特征在于,所述识别所述候选词序列所在的领域,包括:
将每个候选词序列输入至语义分类模型中;
通过所述语义分类模型对所述每个候选词序列进行分类,得到每个候选词序列对应的分类标签;
获取所述分类标签中占比最大的分类标签对应的领域作为所述候选词序列所在的领域。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取各个领域对应的文本;
将所述文本中的每个词语转换成词向量;
将所述词向量作为输入,对每个领域对应的神经网络进行训练。
4.根据权利要求3所述的方法,其特征在于,所述将所述词向量作为输入,对每个领域对应的神经网络进行训练,包括:
按照所述文本中词语的顺序,将文本中的每个词语对应的词向量作为输入,将每个输入的词语的下一个词语对应的词向量作为输出,以调整所述神经网络的参数对所述神经网络进行训练。
5.根据权利要求1所述的方法,其特征在于,所述根据所述候选词序列对应的第一得分和第二得分得到所述候选词序列的最终得分,包括:
对根据所述候选词序列对应的第一得分和第二得分进行加权求和,得到所述候选词序列的最终得分。
6.根据权利要求1所述的方法,其特征在于,所述神经网络为循环神经网络。
7.根据权利要求1所述的方法,其特征在于,在所述将所述最终得分最高的候选词序列作为所述语音数据的语音识别结果之后,还包括:
对所述语音识别结果进行实体提取,得到实体词语;
对所述实体词语进行检索;
当检索结果与所述实体词语不一致时,对所述实体词语进行修复。
8.根据权利要求7所述的方法,其特征在于,所述对所述实体词语进行检索,包括:
根据所述候选词序列所在的领域确定所述语音识别结果的领域;
在所述语音识别结果的领域对应的数据库中对每个实体词语进行检索。
9.一种语音识别装置,其特征在于,所述装置包括:
词序列获取模块,用于获取对语音数据进行解码得到的多个词序列,以及每个词序列对应的第一得分;
提取模块,用于从所述词序列中提取所述第一得分靠前的预设数量的词序列作为候选词序列;
领域识别模块,用于识别所述候选词序列所在的领域;
重打分模块,用于根据所述候选词序列所在的领域将所述候选词序列输入至对应领域的神经网络中;通过所述神经网络对所述候选词序列进行重打分,得到每个候选词序列对应的第二得分;
语音识别结果确定模块,用于根据所述候选词序列对应的第一得分和第二得分得到所述候选词序列的最终得分;将所述最终得分最高的候选词序列作为所述语音数据的语音识别结果。
10.根据权利要求9所述的装置,其特征在于,所述领域识别模块包括:
输入模块,用于将每个候选词序列输入至训练好的语义分类模型中;
分类模块,用于通过所述语义分类模型对所述每个候选词序列进行分类,得到每个候选词序列对应的分类标签;获取所述分类标签中占比最大的分类标签对应的领域作为所述候选词序列所在的领域。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括训练模块,用于获取各个领域对应的文本;将所述文本中的每个词语转换成词向量;将所述词向量作为输入,对每个领域对应的神经网络进行训练。
12.根据权利要求11所述的装置,其特征在于,所述训练模块还用于按照所述文本中词语的顺序,将文本中的每个词语对应的词向量作为输入,将每个输入的词语的下一个词语对应的词向量作为输出,以调整所述神经网络的参数对所述神经网络进行训练。
13.根据权利要求9所述的装置,其特征在于,所述装置还包括实体修复模块,用于对所述语音识别结果进行实体提取,得到多个实体词语;对所述实体词语进行检索;当检索结果与所述实体词语不一致时,对所述实体词语进行修复。
14.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至8中任一项所述方法的步骤。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至8中任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810457129.3A CN108711422B (zh) | 2018-05-14 | 2018-05-14 | 语音识别方法、装置、计算机可读存储介质和计算机设备 |
PCT/CN2019/082300 WO2019218818A1 (zh) | 2018-05-14 | 2019-04-11 | 语音识别方法、装置、计算机可读存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810457129.3A CN108711422B (zh) | 2018-05-14 | 2018-05-14 | 语音识别方法、装置、计算机可读存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108711422A true CN108711422A (zh) | 2018-10-26 |
CN108711422B CN108711422B (zh) | 2023-04-07 |
Family
ID=63869029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810457129.3A Active CN108711422B (zh) | 2018-05-14 | 2018-05-14 | 语音识别方法、装置、计算机可读存储介质和计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108711422B (zh) |
WO (1) | WO2019218818A1 (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110164020A (zh) * | 2019-05-24 | 2019-08-23 | 北京达佳互联信息技术有限公司 | 投票创建方法、装置、计算机设备及计算机可读存储介质 |
WO2019218818A1 (zh) * | 2018-05-14 | 2019-11-21 | 腾讯科技(深圳)有限公司 | 语音识别方法、装置、计算机可读存储介质和计算机设备 |
CN110534100A (zh) * | 2019-08-27 | 2019-12-03 | 北京海天瑞声科技股份有限公司 | 一种基于语音识别的中文语音校对方法和装置 |
CN110797026A (zh) * | 2019-09-17 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 一种语音识别方法、装置及存储介质 |
CN110942775A (zh) * | 2019-12-20 | 2020-03-31 | 北京欧珀通信有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN111179916A (zh) * | 2019-12-31 | 2020-05-19 | 广州市百果园信息技术有限公司 | 重打分模型训练方法、语音识别方法及相关装置 |
WO2020119432A1 (zh) * | 2018-12-11 | 2020-06-18 | 腾讯科技(深圳)有限公司 | 一种语音识别方法、装置、设备和存储介质 |
CN111475129A (zh) * | 2019-01-24 | 2020-07-31 | 北京京东尚科信息技术有限公司 | 一种语音识别候选同音词的展示方法及设备 |
CN111508478A (zh) * | 2020-04-08 | 2020-08-07 | 北京字节跳动网络技术有限公司 | 语音识别方法和装置 |
CN111651599A (zh) * | 2020-05-29 | 2020-09-11 | 北京搜狗科技发展有限公司 | 一种语音识别候选结果的排序方法及装置 |
CN112259084A (zh) * | 2020-06-28 | 2021-01-22 | 北京沃东天骏信息技术有限公司 | 语音识别方法、装置和存储介质 |
CN112669845A (zh) * | 2020-12-25 | 2021-04-16 | 竹间智能科技(上海)有限公司 | 语音识别结果的校正方法及装置、电子设备、存储介质 |
CN112700778A (zh) * | 2019-10-22 | 2021-04-23 | 三星电子株式会社 | 语音识别方法和语音识别设备 |
CN112802476A (zh) * | 2020-12-30 | 2021-05-14 | 深圳追一科技有限公司 | 语音识别方法和装置、服务器、计算机可读存储介质 |
CN112802461A (zh) * | 2020-12-30 | 2021-05-14 | 深圳追一科技有限公司 | 语音识别方法和装置、服务器、计算机可读存储介质 |
CN112837675A (zh) * | 2019-11-22 | 2021-05-25 | 阿里巴巴集团控股有限公司 | 语音识别方法、装置及相关***和设备 |
CN112992127A (zh) * | 2019-12-12 | 2021-06-18 | 杭州海康威视数字技术股份有限公司 | 一种语音识别的方法和装置 |
CN113539272A (zh) * | 2021-09-13 | 2021-10-22 | 腾讯科技(深圳)有限公司 | 一种语音识别方法、装置、存储介质和电子设备 |
CN112259084B (zh) * | 2020-06-28 | 2024-07-16 | 北京汇钧科技有限公司 | 语音识别方法、装置和存储介质 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111554275B (zh) * | 2020-05-15 | 2023-11-03 | 深圳前海微众银行股份有限公司 | 语音识别方法、装置、设备及计算机可读存储介质 |
CN111554276B (zh) * | 2020-05-15 | 2023-11-03 | 深圳前海微众银行股份有限公司 | 语音识别方法、装置、设备及计算机可读存储介质 |
CN112885336B (zh) * | 2021-01-29 | 2024-02-02 | 深圳前海微众银行股份有限公司 | 语音识别***的训练、识别方法、装置、电子设备 |
CN113689888A (zh) * | 2021-07-30 | 2021-11-23 | 浙江大华技术股份有限公司 | 一种异常声音分类方法、***、装置以及存储介质 |
CN113793597A (zh) * | 2021-09-15 | 2021-12-14 | 云知声智能科技股份有限公司 | 一种语音识别方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050182628A1 (en) * | 2004-02-18 | 2005-08-18 | Samsung Electronics Co., Ltd. | Domain-based dialog speech recognition method and apparatus |
CN102376305A (zh) * | 2011-11-29 | 2012-03-14 | 安徽科大讯飞信息科技股份有限公司 | 语音识别方法及*** |
CN106328147A (zh) * | 2016-08-31 | 2017-01-11 | 中国科学技术大学 | 语音识别方法和装置 |
CN106803422A (zh) * | 2015-11-26 | 2017-06-06 | 中国科学院声学研究所 | 一种基于长短时记忆网络的语言模型重估方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108711422B (zh) * | 2018-05-14 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 语音识别方法、装置、计算机可读存储介质和计算机设备 |
-
2018
- 2018-05-14 CN CN201810457129.3A patent/CN108711422B/zh active Active
-
2019
- 2019-04-11 WO PCT/CN2019/082300 patent/WO2019218818A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050182628A1 (en) * | 2004-02-18 | 2005-08-18 | Samsung Electronics Co., Ltd. | Domain-based dialog speech recognition method and apparatus |
CN102376305A (zh) * | 2011-11-29 | 2012-03-14 | 安徽科大讯飞信息科技股份有限公司 | 语音识别方法及*** |
CN106803422A (zh) * | 2015-11-26 | 2017-06-06 | 中国科学院声学研究所 | 一种基于长短时记忆网络的语言模型重估方法 |
CN106328147A (zh) * | 2016-08-31 | 2017-01-11 | 中国科学技术大学 | 语音识别方法和装置 |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019218818A1 (zh) * | 2018-05-14 | 2019-11-21 | 腾讯科技(深圳)有限公司 | 语音识别方法、装置、计算机可读存储介质和计算机设备 |
WO2020119432A1 (zh) * | 2018-12-11 | 2020-06-18 | 腾讯科技(深圳)有限公司 | 一种语音识别方法、装置、设备和存储介质 |
CN111475129A (zh) * | 2019-01-24 | 2020-07-31 | 北京京东尚科信息技术有限公司 | 一种语音识别候选同音词的展示方法及设备 |
CN110164020A (zh) * | 2019-05-24 | 2019-08-23 | 北京达佳互联信息技术有限公司 | 投票创建方法、装置、计算机设备及计算机可读存储介质 |
US11263852B2 (en) | 2019-05-24 | 2022-03-01 | Beijing Dajia Internet Information Technology Co., Ltd. | Method, electronic device, and computer readable storage medium for creating a vote |
CN110534100A (zh) * | 2019-08-27 | 2019-12-03 | 北京海天瑞声科技股份有限公司 | 一种基于语音识别的中文语音校对方法和装置 |
CN110797026A (zh) * | 2019-09-17 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 一种语音识别方法、装置及存储介质 |
CN112700778A (zh) * | 2019-10-22 | 2021-04-23 | 三星电子株式会社 | 语音识别方法和语音识别设备 |
CN112837675B (zh) * | 2019-11-22 | 2024-07-02 | 阿里巴巴集团控股有限公司 | 语音识别方法、装置及相关***和设备 |
CN112837675A (zh) * | 2019-11-22 | 2021-05-25 | 阿里巴巴集团控股有限公司 | 语音识别方法、装置及相关***和设备 |
CN112992127B (zh) * | 2019-12-12 | 2024-05-07 | 杭州海康威视数字技术股份有限公司 | 一种语音识别的方法和装置 |
CN112992127A (zh) * | 2019-12-12 | 2021-06-18 | 杭州海康威视数字技术股份有限公司 | 一种语音识别的方法和装置 |
CN110942775A (zh) * | 2019-12-20 | 2020-03-31 | 北京欧珀通信有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN110942775B (zh) * | 2019-12-20 | 2022-07-01 | 北京欧珀通信有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN111179916B (zh) * | 2019-12-31 | 2023-10-13 | 广州市百果园信息技术有限公司 | 重打分模型训练方法、语音识别方法及相关装置 |
CN111179916A (zh) * | 2019-12-31 | 2020-05-19 | 广州市百果园信息技术有限公司 | 重打分模型训练方法、语音识别方法及相关装置 |
CN111508478A (zh) * | 2020-04-08 | 2020-08-07 | 北京字节跳动网络技术有限公司 | 语音识别方法和装置 |
CN111651599A (zh) * | 2020-05-29 | 2020-09-11 | 北京搜狗科技发展有限公司 | 一种语音识别候选结果的排序方法及装置 |
CN111651599B (zh) * | 2020-05-29 | 2023-05-26 | 北京搜狗科技发展有限公司 | 一种语音识别候选结果的排序方法及装置 |
CN112259084B (zh) * | 2020-06-28 | 2024-07-16 | 北京汇钧科技有限公司 | 语音识别方法、装置和存储介质 |
CN112259084A (zh) * | 2020-06-28 | 2021-01-22 | 北京沃东天骏信息技术有限公司 | 语音识别方法、装置和存储介质 |
CN112669845A (zh) * | 2020-12-25 | 2021-04-16 | 竹间智能科技(上海)有限公司 | 语音识别结果的校正方法及装置、电子设备、存储介质 |
CN112669845B (zh) * | 2020-12-25 | 2024-04-12 | 竹间智能科技(上海)有限公司 | 语音识别结果的校正方法及装置、电子设备、存储介质 |
CN112802461B (zh) * | 2020-12-30 | 2023-10-24 | 深圳追一科技有限公司 | 语音识别方法和装置、服务器、计算机可读存储介质 |
CN112802476B (zh) * | 2020-12-30 | 2023-10-24 | 深圳追一科技有限公司 | 语音识别方法和装置、服务器、计算机可读存储介质 |
CN112802461A (zh) * | 2020-12-30 | 2021-05-14 | 深圳追一科技有限公司 | 语音识别方法和装置、服务器、计算机可读存储介质 |
CN112802476A (zh) * | 2020-12-30 | 2021-05-14 | 深圳追一科技有限公司 | 语音识别方法和装置、服务器、计算机可读存储介质 |
CN113539272A (zh) * | 2021-09-13 | 2021-10-22 | 腾讯科技(深圳)有限公司 | 一种语音识别方法、装置、存储介质和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2019218818A1 (zh) | 2019-11-21 |
CN108711422B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108711422A (zh) | 语音识别方法、装置、计算机可读存储介质和计算机设备 | |
CN111954903B (zh) | 多说话者神经文本到语音合成 | |
CN103345922B (zh) | 一种长篇幅语音全自动切分方法 | |
KR101780760B1 (ko) | 가변길이 문맥을 이용한 음성인식 | |
CN113470662A (zh) | 生成和使用用于关键词检出***的文本到语音数据和语音识别***中的说话者适配 | |
Yu et al. | Word-level emphasis modelling in HMM-based speech synthesis | |
CN108711420A (zh) | 多语言混杂模型建立、数据获取方法及装置、电子设备 | |
CN104903954A (zh) | 使用基于人工神经网络的亚语音单位区分的说话人验证及识别 | |
CN108711421A (zh) | 一种语音识别声学模型建立方法及装置和电子设备 | |
US20200075019A1 (en) | System and method for neural network orchestration | |
CN111145733B (zh) | 语音识别方法、装置、计算机设备和计算机可读存储介质 | |
CN109976702A (zh) | 一种语音识别方法、装置及终端 | |
US11017780B2 (en) | System and methods for neural network orchestration | |
CN110349597A (zh) | 一种语音检测方法及装置 | |
CN108091334A (zh) | 识别装置、识别方法以及存储介质 | |
CN104750677A (zh) | 语音传译装置、语音传译方法及语音传译程序 | |
US11176947B2 (en) | System and method for neural network orchestration | |
Xia et al. | Learning salient segments for speech emotion recognition using attentive temporal pooling | |
CN113327575B (zh) | 一种语音合成方法、装置、计算机设备和存储介质 | |
CN111599339A (zh) | 具有高自然度的语音拼接合成方法、***、设备及介质 | |
CN114333759A (zh) | 模型训练方法、语音合成方法、设备和计算机程序产品 | |
CN109887524A (zh) | 一种演唱评分方法、装置、计算机设备及存储介质 | |
Mao et al. | A universal ordinal regression for assessing phoneme-level pronunciation | |
CN100431003C (zh) | 一种基于混淆网络的语音解码方法 | |
Zhou et al. | Learning and Modeling Unit Embeddings for Improving HMM-based Unit Selection Speech Synthesis. |
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 | ||
GR01 | Patent grant |