CN116612747B - 语音音素识别方法、装置、设备及存储介质 - Google Patents
语音音素识别方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116612747B CN116612747B CN202310885600.XA CN202310885600A CN116612747B CN 116612747 B CN116612747 B CN 116612747B CN 202310885600 A CN202310885600 A CN 202310885600A CN 116612747 B CN116612747 B CN 116612747B
- Authority
- CN
- China
- Prior art keywords
- frame
- sequence
- feature
- phoneme
- decoding
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 201
- 238000003860 storage Methods 0.000 title claims abstract description 27
- 238000012549 training Methods 0.000 claims abstract description 133
- 230000008569 process Effects 0.000 claims abstract description 115
- 239000011159 matrix material Substances 0.000 claims abstract description 107
- 238000012545 processing Methods 0.000 claims abstract description 77
- 230000007246 mechanism Effects 0.000 claims abstract description 37
- 230000015654 memory Effects 0.000 claims description 42
- 238000004590 computer program Methods 0.000 claims description 27
- 238000013507 mapping Methods 0.000 claims description 22
- 238000000605 extraction Methods 0.000 claims description 20
- 238000001228 spectrum Methods 0.000 claims description 17
- 230000003595 spectral effect Effects 0.000 claims description 14
- 230000000873 masking effect Effects 0.000 claims description 13
- 238000002372 labelling Methods 0.000 claims description 11
- 230000004927 fusion Effects 0.000 claims description 9
- 238000012216 screening Methods 0.000 claims description 5
- 238000007499 fusion processing Methods 0.000 claims description 2
- 238000000926 separation method Methods 0.000 abstract 1
- 230000000875 corresponding effect Effects 0.000 description 111
- 239000013598 vector Substances 0.000 description 58
- 238000005516 engineering process Methods 0.000 description 27
- 230000006870 function Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 23
- 238000013473 artificial intelligence Methods 0.000 description 22
- 230000000694 effects Effects 0.000 description 17
- 238000013528 artificial neural network Methods 0.000 description 14
- 238000010801 machine learning Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 238000005070 sampling Methods 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 238000003058 natural language processing Methods 0.000 description 6
- 230000005236 sound signal Effects 0.000 description 6
- 238000012512 characterization method Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000009432 framing Methods 0.000 description 3
- 238000012015 optical character recognition Methods 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 210000005069 ears Anatomy 0.000 description 2
- 230000005284 excitation Effects 0.000 description 2
- 230000006698 induction Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000003909 pattern recognition Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 238000013526 transfer learning Methods 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 235000013372 meat Nutrition 0.000 description 1
- 230000003446 memory effect Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000011524 similarity measure Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 210000001260 vocal cord Anatomy 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/02—Feature extraction for speech recognition; Selection of recognition unit
-
- 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
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
-
- 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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
- G10L25/30—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using 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/02—Feature extraction for speech recognition; Selection of recognition unit
- G10L2015/025—Phonemes, fenemes or fenones being the recognition units
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Machine Translation (AREA)
Abstract
本申请公开了一种语音音素识别方法、装置、设备及存储介质,涉及AI领域中的音素识别领域,该方法提供了一种基于分段式训练的端到端语音音素识别模型,该模型是以encoder‑decoder模型为基础架构,融入了attention机制,在每一次特征解码时,会基于上一次解码时得到的序列解码状态与帧特征序列之间的相关度,来对帧特征序列进行特征增强处理,获得本次解码对应的上下文特征,使得每次解码均能够感知足够多且准确的音频信息,提升整体的识别性能,并且将decoder中所使用的嵌入矩阵进行单独分离训练,能够让入矩阵进行单独的离散化,从而提升最终的音素识别性能。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及人工智能(Artificial Intelligence,AI)中的音素识别领域,提供一种语音音素识别方法、装置、设备及存储介质。
背景技术
音素(phone)识别是指识别语音中语音内容所对应的音素序列的过程。音素是根据语音的自然属性划分出来的最小语音单位,依据音节里的发音动作来分析,一个动作构成一个音素,例如:常见的中文拼音音素体系中,声母和韵母分别可以为一个音素,则一个字可以通过两个音素来进行表征,例如“前”可以表达为“q”和“ian”的组合。
目前常用的音素识别方案是根据帧级别的音素语音标注数据来训练得到帧级别的音素分类网络,然后该网络能够将输入的音频帧做出音素类别的识别判断,然后根据识别出来的帧级别音素序列,将临近并且相同的音素进行合并,最终生成一个完整的音素序列。
但是,这种方式在对帧级别的识别结果进行合并时,很容易产生误识别的情况,最终会导致最终识别结果中存在大量的插入错误,比如一旦出现误识别原本是“aaaaa”则会合并成为a,“aabaa”就合并成了aba,导致最终识别得到的音素序列的错误率极高。
发明内容
本申请实施例提供一种语音音素识别方法、装置、设备及存储介质,用于提升搜索结果呈现的精准性,提升内容查找效率。
一方面,提供一种语音音素识别方法,该方法包括:
对目标音频包括的各音频帧进行特征编码,获得相应的帧特征序列;
对所述帧特征序列进行递归式的特征解码,并基于解码得到的各个音素解码结果,生成所述目标音频的音素识别结果;其中,在每一次特征解码时,执行如下操作:
基于各预设音素各自对应的语义特征,获得上一次解码得到的音素解码结果对应的音素语义特征;
基于在上一次解码时得到的序列解码状态与所述帧特征序列之间的相关度,对所述帧特征序列进行特征增强处理,获得本次解码对应的上下文特征,所述序列解码状态表征:所述帧特征序列的历史解码信息;
基于所述上下文特征和所述音素语义特征,对所述序列解码状态进行更新,并基于更新后的序列解码状态进行音素预测,获得本次解码的音素解码结果。
一方面,提供一种语音音素识别装置,该装置包括:
特征编码单元,用于对目标音频包括的各音频帧进行特征编码,获得相应的帧特征序列;
特征解码单元,用于对所述帧特征序列进行递归式的特征解码,并基于解码得到的各个音素解码结果,生成所述目标音频的音素识别结果;其中,在每一次特征解码时,所述特征解码单元通过如下子单元执行如下操作:
音素特征映射子单元,用于基于各预设音素各自对应的语义特征,获得上一次解码得到的音素解码结果对应的音素语义特征;
注意力机制子单元,用于基于在上一次解码时得到的序列解码状态与所述帧特征序列之间的相关度,对所述帧特征序列进行特征增强处理,获得本次解码对应的上下文特征,所述序列解码状态表征:所述帧特征序列的历史解码信息;
解码器子单元,用于基于所述上下文特征和所述音素语义特征,对所述序列解码状态进行更新,并基于更新后的序列解码状态进行音素预测,获得本次解码的音素解码结果。
一方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种方法的步骤。
一方面,提供一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一种方法的步骤。
一方面,提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述任一种方法的步骤。
本申请实施例中,提供了一种端到端的语音音素识别方法,其在编码器-解码器(encoeder-decoeder)架构的基础上,对于decoeder部分融入了注意力(Attention)机制,即在每一次特征解码时,会基于上一次解码时得到的序列解码状态与帧特征序列之间的相关度,来对帧特征序列进行特征增强处理,获得本次解码对应的上下文特征,序列解码状态能够表征帧特征序列的历史解码信息,一方面可以使得得到的上下文特征能够充分融入历史解码得到的结果,使得本次解码时能够感知足够的音频信息,提升整体的识别性能,另一方面相关度的高低表征了每次解码时应当重点关注的音频帧,与解码过程相关度高的音频帧为该解码过程所重点关注的解码对象,那么通过相关度对帧特征序列进行特征增强处理,可以使得解码时需要关注的音频帧的特征能够被对应解码过程充分的感知和使用到,提升每次解码过程的准确性,从而提升整个音素识别过程的准确性。
此外,本申请实施例在每次解码时,还结合预设音素各自对应的语义特征,生成上一次解码得到的音素解码结果对应的音素语义特征,共同作为本次解码时的特征输入。其中,语义特征能够更为准确的表达一个音素,进而可以使得在解码时能够准确的感知到上一时刻解码结果的信息,从而能够让整个解码过程关联起来,产生足够的时序信息传递效应,提升每次解码的解码效果,最终提升最终的音素识别性能。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的应用场景示意图;
图2为本申请实施例提供的系统架构示意图;
图3为本申请实施例提供的分段式训练方法的流程示意图;
图4为本申请实施例提供的第一阶段的训练流程示意图;
图5为本申请实施例提供的第一阶段的训练原理示意图;
图6a~图6d为本申请实施例提供的第一阶段的训练原理示例图;
图7为本申请实施例提供的第二阶段的训练流程示意图;
图8为本申请实施例提供的语音音素识别模型的结构示意图;
图9为本申请实施例提供的语音音素识别方法的流程示意图;
图10为本申请实施例提供的基础声学特征提取过程的流程示意图;
图11为本申请实施例提供的声学特征序列的提取流程示意图;
图12为本申请实施例提供的encoeder的具体结构示意图;
图13为本申请实施例提供的进行音素语义特征映射的流程示意图;
图14为本申请实施例提供的decoeder的具体结构示意图;
图15为本申请实施例提供的上下文特征的获得流程示意图;
图16为本申请实施例提供的加入时序的attention机制的原理示意图;
图17为本申请实施例提供的语音音素识别装置的一种结构示意图;
图18为本申请实施例提供的计算机设备的组成结构示意图;
图19为应用本申请实施例的另一种计算机设备的组成结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
可以理解的是,在本申请的下述具体实施方式中,可能涉及到用户数据,例如用户语音数据,则当本申请的各实施例运用到具体产品或技术中时,需要获得相关许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
为便于理解本申请实施例提供的技术方案,这里先对本申请实施例使用的一些关键名词进行解释:
语音识别:也可以称为自动语音识别(Automatic Speech Recognition,ASR),其目标是将人类语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。
音素识别:可认为是语音识别的一种,即最终识别出的语音内容是以音素序列进行表示的,也可以认为是语音识别的前置操作,即可基于识别的音素序列辅助识别语音内容。音素构成音节的最小单位或最小的语音片段,是从音质的角度划分出来的最小的线性的语音单位。音素的表达可以基于不同的音素体系而不同,例如对于中文来讲通常是以中文拼音作为音素体系,当然也可以指定其他的音素体系,即可以通过音素的排列组合来表达不同的内容。举例来讲,以中文拼音为例,拼音是一种声母和韵母结合表达一个读音的方式,则针对一段朗读“床前明月光”的音频,则识别得到的音素序列应当为“ch-uang-q-ian-m-ing-y-ue-g-uang”。
encoeder-decoeder架构:其为一种机器学习(Machine Learning,ML)领域常见的模型架构,包含encoeder部分和decoeder部分,encoeder通常是在模式识别的模型中构建的一种基础的模型,其往往是将输入的基础特征向量通过编码计算后,形成更高语义的特征向量,能够提取出来任务所需要的特征信息,同时能够将冗余的信息进行剔除,达到将输入特征提纯的目的。decoeder通常也是在模式识别的模型中构建的一种基础的模型,其往往和encoeder都会在同一个模型系统中出现。decoeder用于将编码器输出的高级语义特征进行计算还原成为基础的语义特征或者最终模型的输出特征态,从而完成整个模型的输出形式规整的目的。
序列解码状态:即通常理解的decoeder的隐层状态,其可以理解为解码器中的一个记忆参数块,能够记录之前所有的解码结果,用于为当前时刻的解码过程提供所有之前解码过程的历史信息,帮助本次解码过程对历史解码状态的感知。
梅尔(mel)频率:一种基于人耳对等距的音高(pitch)变化的感官判断而定的非线性频率刻度,是在进行信号处理时,更能够迎合人耳的听觉感受阈变化来人为设定的频率刻度,在音频处理领域,有很多基础音频特征是通过mel频率来进行计算的。
Attention机制:是一种通过使用高级信息来衡量网络中间特征,使得网络关注于图像中辅助判断的部分信息,忽略不相关信息的方式,注意力机制的本质来自于人类视觉注意力机制,人们视觉在感知东西的时候一般不会是一个场景从到头看到尾每次全部都看,而往往是根据需求观察注意特定的一部分,而且当人们发现一个场景经常在某部分出现自己想观察的东西时,人们会进行学习在将来再出现类似场景时把注意力放到该部分上。因此,注意力机制实质上是从大量信息中筛选出高价值信息的手段,在大量信息中,不同信息对于结果的重要性是不同的,这种重要性可以通过赋予不同大小的权值来体现,换言之,注意力机制可以理解成对多个来源进行合成时分配权重的一种规则。通常可以用于解决模型输入序列较长的时候很难获得最终合理的向量表示问题,做法是保留模型的中间结果,用新的模型对其进行学习,并将其与输出进行关联,从而达到信息筛选的目的。
One-hot编码:又称为一位有效编码,是指采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。One-Hot编码是分类变量作为二进制向量的表示。这首先要求将分类值映射到整数值,然后每个整数值被表示为二进制向量,除了整数的索引之外都是零值,而整数的索引位置被标记为1。
音频帧:与视频帧的理解不同,普遍的认为视频帧即为视频中的一帧图像,而音频帧的定义则不尽相同。本申请实施例中,音频帧是通过采样得到的,即将音频中的N个采样点集合成一个观测单位,称之为一帧。通常情况下N的值为256或512,涵盖的时间约为20~30ms左右,例如一帧为25ms,通常而言,为了避免相邻两帧的变化过大,因此会让两相邻帧之间有一段重叠区域,此重叠区域包含了M个取样点,例如重叠的区域为10ms,当然上述的取值可以随着实际场景的需求而变化。
词嵌入(word embedding)模型:又可以称为Word2vec(word to vector)模型,用于将文本空间中的单词、词组或者句子,通过一定的映射关系,映射到另一个数值向量空间,其输入为文本,输出为该文本对应的向量表示。其中,所使用的映射关系即为嵌入矩阵(embedding matrix),embedding matrix中包含所有分类类型对应的embedding表示。对于本申请实施例而言,所使用的embedding matrix的类型主要是按照音素的类型进行划分,不同的音素即为embedding matrix中的一个分类类型,从而embedding matrix中包含了所有音素所对应的语义特征表达,通过embedding matrix可以将一个音素唯一映射为一个向量表示。
本申请实施例涉及人工智能技术,主要基于人工智能中的机器学习以及语音识别等而设计。
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、预训练模型技术、操作/交互系统、机电一体化等。其中,预训练模型又称大模型、基础模型,经过微调后可以广泛应用于人工智能各大方向下游任务。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
语音技术(Speech Technology)的关键技术有ASR技术和语音合成技术(Text ToSpeech,TTS)以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。大模型技术为语音技术发展带来变革,WavLM,UniSpeech等沿用Transformer架构的预训练模型具有强大的泛化性、通用性,可以优秀完成各方向的语音处理任务。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理涉及自然语言,即人们日常使用的语言,与语言学研究密切;同时涉及计算机科学和数学。人工智能领域模型训练的重要技术,预训练模型,即是从NLP领域的大语言模型(Large Language Model)发展而来。经过微调,大语言模型可以广泛应用于下游任务。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。预训练模型是深度学习的最新发展成果,融合了以上技术。
机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络(Artificial NeuralNetwork,ANN)、置信网络、强化学习、迁移学习、归纳学习等技术。
人工神经网络,从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成,每个节点代表一种特定的输出函数,称为激励函数(activationfunction),每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆,网络的输出则依网络的连接方式,权重值和激励函数的不同而不同,而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、数字孪生、虚拟人、机器人、人工智能生成内容(AIGC)、对话式交互、智能医疗、智能客服、游戏AI等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案涉及对语音音频进行语音音素识别,输出的音素序列可以作为下游应用的基础数据。在进行语音音素识别时,则需要采用基于深度学习的人工神经网络模型,即本申请实施例采用机器学习的方法获得对语音音频进行语音音素识别的语音音素识别模型,语音音素识别模型基于机器学习实现处理和理解音频中各个音频帧的语义特征以及音频帧之间的语义特征关联性的能力,从而能够针对输入的音频进行特征理解,以输出该音频对应的音素序列。
具体而言,在本申请实施例中的语音音素识别可分为两部分,包括训练部分和应用部分。其中,训练部分就涉及到机器学习这一技术领域,在训练部分中,采用了分段式训练的方法,首先,在第一阶段中,通过机器学习中有关于词嵌入模型的训练技术训练词嵌入模型,以通过训练过程将词嵌入模型的embedding matrix中各个音素的embedding向量进行离散化,在向量空间中尽可能的分散开,最终得到能够准确表达各个音素的语义特征的embedding matrix。进而,在第二阶段中,将训练好的embedding matrix替换语音音素识别模型中的embedding matrix,结合机器学习技术训练人工神经网络模型(即上述提及的语音音素识别模型),使得基于本申请实施例中已标注的语音样本训练语音音素识别模型,并通过优化算法不断调整模型参数,直至模型收敛;应用部分用于使用在训练部分训练得到的人工神经网络模型来对实际使用过程中输入的目标音频进行语音音素识别,输出该目标音频对应的音素序列。另外,还需要说明的是,本申请实施例中人工神经网络模型可以是在线训练也可以是离线训练,在此不做具体限定。在本文中是以离线训练为例进行举例说明的。
下面,对本申请实施例的技术思想进行简述。
相关技术中,通常采用的音素识别方案主要有如下两种:
一种是实时的音素识别方案,该方案由于需要对帧级别的识别结果进行合并,误识别的可能性高,导致最终识别得到的音素序列的错误率极高。
另一种音素识别方案,采用了encoder-decoder架构,但是其是将encoder最后一次编码时的序列编码状态向量输入到decoder中,然后进行一个时序的解码,以完成整个序列的音素识别。但是,由于输入的语音通常会是一个完整的语句,可能存在十几个到几十个音素,仅使用一个序列编码状态向量来表征整体的编码语义显然是不够的,存在语义特征表征不足的问题,最终会直接影响到最终的音素识别效果,无法准确的得到音素序列。其次,该识别方案中使用one-hot编码向量作为decoder中的embedding matrix,然后one-hot编码向量中每一个向量代表着一个音素类别,向量中只有一个元素为1,其余均为0,这种表达方式虽然能够识别音素类别,但无法表达出音素的语义特征,使得decoder在解码的过程中此种向量的参与度并不够,会导致上一步解码结果对下一步解码过程的信息传递不足,影响后续的解码效果。
基于此,本申请实施例提供了一种端到端的语音音素识别方法,在该方法在encoeder-decoeder架构的基础上,对于decoeder部分融入了Attention机制,即在每一次特征解码时,会基于上一次解码时得到的序列解码状态与帧特征序列之间的相关度,来对帧特征序列进行特征增强处理,获得本次解码对应的上下文特征,序列解码状态能够表征帧特征序列的历史解码信息,一方面可以使得得到的上下文特征能够充分融入历史解码得到的结果,使得本次解码时能够感知足够的音频信息,提升整体的识别性能,另一方面相关度的高低表征了每次解码时应当重点关注的音频帧,与解码过程相关度高的音频帧为该解码过程所重点关注的解码对象,那么通过相关度对帧特征序列进行特征增强处理,可以使得解码时需要关注的音频帧的特征能够被对应解码过程充分的感知和使用到,提升每次解码过程的准确性,从而提升整个音素识别过程的准确性。
并且,本申请实施例在每次解码时,还结合预设音素各自对应的语义特征,生成上一次解码得到的音素解码结果对应的音素语义特征,共同作为本次解码时的特征输入。其中,语义特征能够更为准确的表达一个音素,进而可以使得在解码时能够准确的感知到上一时刻解码结果的信息,从而能够让整个解码过程关联起来,产生足够的时序信息传递效应,提升每次解码的解码效果,最终提升最终的音素识别性能。
考虑到现有技术在进行模型训练时,通常是使用随机初始化的矩阵作为embedding matrix,然后跟随整个模型进行学习,则embedding matrix的训练依赖于模型的整体训练,很难使得embedding matrix达到非常理想的效果,并且随机初始化的矩阵还会造成模型训练初期收敛速度缓慢,使得整体训练时间被拉长,训练效率并不高。
基于此,本申请实施例提供了一种分段式训练语音音素识别模型的方法,在该方法中,首先基于音素文本样本和词嵌入模型训练出decoder中所使用的embedding matrix,使得embedding matrix进行单独的离散化,embedding matrix中音素的语义特征表达效果更好,然后融入到整个语音音素识别模型中,参与该模型的训练。这样一来,模型的不同模块分别进行训练,让不同模块最好的参数进行组合构建出最优的模型系统,从而提升整体的音素识别性能,且对不同的模块进行分别训练,组合在一起的时候,能够大幅度减少整个系统的整体训练时间,提高训练效率。
在实际应用时,采用海量的音素文本样本对音素embedding matrix进行训练,能够让各个音素类别的embedding向量在向量空间中足够的离散化,保证decoder在进行解码的过程中,不同音素类别之间的向量差异足够大,能够直接的提升模型对音素类别分类的准确性。
下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施过程中,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
本申请实施例提供的方案可以适用于涉及到语音音素识别的任意场景中,比如适用于台词字幕添加、视频语音音素文本翻译以及语音识别场景中。如图1所示,为本申请实施例提供的一种应用场景示意图,在该场景中,可以包括终端设备101和服务器102。
终端设备101例如可以为手机、平板电脑(PAD)、笔记本电脑、台式电脑、智能电视、智能车载设备、智能可穿戴设备、智能电视以及飞行器等任意涉及到语音音素识别需求的设备。终端设备101可以安装有目标应用,目标应用具备语音音素识别功能或者发起语音音素识别请求的功能,例如可以为即时通信应用、音乐应用、视频应用、短视频应用、新闻应用以及购物应用等。本申请实施例涉及的应用可以是软件客户端,也可以是网页、小程序等客户端,服务器102则是与软件或是网页、小程序等相对应的服务器,不限制客户端的具体类型。服务器102例如可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、即内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云端服务器,但并不局限于此。
需要说明的是,本申请实施例中的语音音素识别方法可以由终端设备101或者服务器102单独执行,也可以由服务器102和终端设备101共同执行。当由终端设备101或者服务器102单独执行时,则语音音素识别模型的训练和应用过程都可以由终端设备101或者服务器102单独实现,例如由终端设备101分段式训练语音音素识别模型后,通过语音音素识别模型对输入的音频进行识别,获得其对应的音素序列。当由服务器102和终端设备101共同执行时,则可以由服务器102对语音音素识别模型进行分段式训练之后,将训练好的语音音素识别模型部署至终端设备101中,由终端设备101实现语音音素识别模型的应用过程,或者,语音音素识别模型的训练或者应用过程的部分过程可以由终端设备101实现,部分过程可以由服务器102,二者合作实现语音音素识别模型的训练或者应用过程,以语音音素识别模型的应用过程为例,则可以由终端设备101对于输入的目标音频进行编码后,将得到的帧特征序列提交给服务器102,由服务器102来执行后续的解码过程,得到音素序列。当前,在实际应用时可以根据情况进行具体的配置,本申请在此不做具体限定。
其中,服务器102和终端设备101均可以包括一个或多个处理器、存储器以及与交互I/O接口等。此外,服务器102还可以配置数据库,可以用于存储训练得到的embeddingmatrix以及语音音素识别模型的模型参数等。其中,服务器102和终端设备101的存储器中还可以存储本申请实施例提供的语音音素识别方法中各自所需执行的程序指令,这些程序指令被处理器执行时能够用以实现本申请实施例提供的语音音素识别模型的训练过程或者语音音素识别过程。
需要说明的是,当本申请实施例提供的语音音素识别方法由服务器102或者终端设备101单独执行时,则上述的应用场景中也可以仅包含服务器102或者终端设备101单一设备,或者也可以认为服务器102和终端设备101其为同一个设备。当然,在实际应用时,当本申请实施例提供的语音音素识别方法由服务器102和终端设备101共同执行时,服务器102和终端设备101也可以为同一个设备,即服务器102和终端设备101可以为同一设备的不同功能模块,或者由同一物理设备所虚拟出的虚拟设备。
示例性的,在需要针对目标音频进行音素识别时,则可以通过终端设备101发起针对目标音频的音素识别,例如当需要为视频添加拼音字幕,则需要首先识别该视频的音频轨道对应的音素序列;或者,当需要生成一个视频的音素序列文本,也需要识别该视频的音频轨道对应的音素序列;或者,当需要针对一段音频进行ASR识别时,则可以采用结合音素识别的方式,那么也可以首先识别该音频对应的音素序列,进而基于音素序列生成相应的语音文本。进而,服务器102在接收到音素识别请求时,则可以基于本申请实施例提供的语音音素识别方法针对目标音频进行识别,以获得相应的音素序列。当然,在此之前,服务器102可以预先针对语音音素识别方法所需的语音音素识别模型进行分段式训练。
本申请实施例中,终端设备101和服务器102之间可以通过一个或者多个网络103进行直接或间接的通信连接。该网络103可以是有线网络,也可以是无线网络,例如无线网络可以是移动蜂窝网络,或者可以是无线保真(Wireless-Fidelity,WIFI)网络,当然还可以是其他可能的网络,本申请实施例对此不做限制。需要说明的是,图1所示只是举例说明,实际上终端设备和服务器的数量不受限制,在本申请实施例中不做具体限定。
参见图2所示,为本申请实施例提供的系统架构,在该架构中,包括如下两个模块:
(1)第一模块
第一模块主要是基于海量音素文本数据来训练得到embedding matrix。具体而言,本申请实施例创新式的将语音音素识别模型进行分段式的训练,即在语音音素识别模型训练之前,首先通过第一模块进行embedding matrix的训练。参见图2所示,在第一模块中,使用了海量文本内容库中的海量文本内容数据根据音素字典转化成为了海量音素文本库,然后使用海量的音素文本对词嵌入模型进行训练,例如针对word2vec模型进行训练,该模块训练的时候是能够将embedding matrix中各个音素embedding向量进行离散化,在向量空间中尽可能的分散开,最终训练完成后,得到最终的embedding matrix。
(2)第二模块
第二模块是替换embedding matrix的语音音素识别模型,在第二模块进行训练时,将第一个模块中训练好的embedding matrix输入到第二个模块中,用来替换该语音音素识别模型中的embedding matrix。该语音音素识别模型是一种端到端的音素识别模块,通过声学特征提取、encoder以及融入Attention机制的decoder等过程依次处理后得到最终的音素序列。
具体的,对于一个语音音频输入之后,经过声学特征提取后能够得到输入encoder的基础声学特征序列,然后经过由encoder进行高级特征编码后,能够得到高级音频语义特征序列(即本申请实施例中的帧特征序列),将该高级语义特征序列输入到decoder中得到最终输出,decoder解码过程是融入Attention机制的,其在解码过程中使用的embeddingmatrix是由第一模块输出的,在训练阶段中,因为embedding matrix已经在第一模块中使用音素文本数据训练得高离散性,所以需要将其更新权重关闭,提升训练效率。
下面,结合上述描述的应用场景和系统架构,参考附图来描述本申请示例性实施方式提供的方法,需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。且需要说明的是,下述的方法可以由上述终端设备或者服务器执行,也可以由终端设备和服务器共同执行,这里具体是以终端设备或者服务器执行为例进行示出的。
由于本申请实施提供的语音音素识别方法是基于训练完成后的语音音素识别模型进行的,因此,在介绍实际的语音音素识别过程之前,这里先针对模型训练的过程进行介绍。
参见图3所示,为本申请实施例提供的分段式训练方法的流程示意图,该方法可以由计算机设备执行,该计算机设备可以是图1所示的终端设备或服务器,该方法的具体实施流程如下:
步骤301:通过多个音素文本样本对词嵌入模型包括的嵌入矩阵进行训练,并在训练完成时,获得已训练的嵌入矩阵;其中,每个音素文本样本为多个单词各自对应的音素组成的句子,词嵌入模型用于通过嵌入矩阵将音素文本样本映射为唯一对应的词嵌入特征。
如图2所示,本申请实施例在模型训练时采用了一种分段式训练语音音素识别模型的方法,其训练进程包括第一阶段和第二阶段,第一阶段即对应上述图2中所示的第一模块的训练进程,第二阶段即对应上述图2中所示的第二模块的训练进程,步骤301的过程即为上述的第一阶段。
步骤302:以已训练的嵌入矩阵,对语音音素识别模型中的嵌入矩阵进行赋值,获得目标嵌入矩阵,目标嵌入矩阵包括各预设音素各自对应的语义特征。
其中,上述训练后的嵌入矩阵中每个音素对应的语义特征在向量空间中都足够离散化,能够充分表达每个音素的语义特征,使用训练后的嵌入矩阵对语音音素识别模型中的嵌入矩阵进行赋值,可以在第二阶段中无需针对嵌入矩阵进行训练,使得模型收敛速度加快,提升了训练效率。
步骤303:基于多个语音样本对赋值后的语音音素识别模型进行训练,并在训练完成时,获得已训练的语音音素识别模型;其中,每个语音样本包括:样本音频以及其对应的标注音素序列。
其中,步骤303的过程即为上述的第一阶段,此阶段是以嵌入矩阵进行赋值后针对语音音素识别模型进行训练的过程。需要说明的是,由于在第一阶段中已经针对嵌入矩阵进行了足够的训练,因此在第二阶段的训练进程中,则嵌入矩阵的参数值可以被固定,即在训练时不针对嵌入矩阵进行调参。
本申请实施例中,使用海量的音素文本和词嵌入模型进行分段式训练,将decoder中所使用的word embedding matrix进行单独分离训练,该方法能够让embedding matrix进行单独的离散化,让模型的不同模块分别进行训练,让不同模块最好的参数进行组合构建出最优的模型系统,从而提升最终的音素识别性能,并且对不同的模块进行分别训练,组合在一起的时候,能够大幅度减少整个系统的整体训练时间,提高模型训练效率。
下面,则分别针对上述的两个阶段的训练过程进行介绍。
参见图4所示,为本申请实施例提供的第一阶段的训练流程示意图。
步骤3011:从多种预设类型的文本资源集合中,提取各个文本资源所包含的文本内容,构建基础文本内容集合。
具体的,为了保障所采集到的文本内容的丰富性,本申请实施例从不同类型的文本资源集合出发,针对其进行文本内容的提取,以得到基础文本内容集合。其中,文本资源集合的类型可以包括任何包含文本内容的资源类型,包括但不限于如下类型:
(1)影视剧,影视剧包含的文本内容例如其字幕、视频帧中包含的图像文本以及语音包含的语音文本等。其中,字幕可以通过视频的字幕轨道采集得到,图像文本可以通过针对视频帧进行图像文本识别获取得到,例如采用光学字符识别(optical characterrecognition,OCR),语音文本则可以通过针对语音进行ASR识别获取得到。
(2)图书或者电子图书,例如名著小说、学生教材中的文本,或者这些图书中的图像文本。
(3)歌曲歌词。
(4)新闻网站提取的文本内容。
示例性的,参见图5所示,海量文本库以包含影视剧字幕、名著小说集、学生教材文本和歌曲歌词文本为例,则预先设置这些文本内容类型,则可以采集这些类型的文本资源,并进行文本内容的提取。其中,为了方便进行后续的训练过程,从文本资源中提取的文本内容可以是多个单词组成的句子或者段落,形成基础文本内容集合。
步骤3012:从基础文本内容集合筛除不符合预设样本条件的文本内容,获得目标文本内容集合。
参见图5所示,提取的文本内容中可能包含不符合样本条件的内容,则需要将这些内容从基础文本内容集合中剔除。其中,样本条件可以依据实际应用场景进行配置,例如当音素体系为中文拼音体系时,涉及到的通常为中文字词,因而可以将包含非中文的文本内容删除。
示例性的,不符合预设样本条件的文本内容可以包含非中文数据文本内容、带有特殊符号的文本内容以及包含古文文言文数据的文本内容,当然,也可以包含其他任意可能的内容,本申请实施例对此不做限制。
步骤3013:针对目标文本内容集合中各条文本内容,通过音素字典进行音素映射处理,以获得多个音素文本样本。
参见图5所示,结合音素字典针对每条文本内容进行音素转化,以将其转化为音素文本,作为词嵌入模型的音素文本样本。
其中,音素字典中包含了每个单词对应的音素,如图5所示,针对中文拼音的音素体系,每个中文汉字可以通过其声母和韵母进行表达,则音素字典中包含的即为每个中文汉字所对应的声母和韵母组合,如图5所示的中文汉字“床”其对应的音素为“ch”和“uang”,“前”其对应的音素为“q”和“ian”。
示例性的,对于文本内容“我昨天吃了红烧肉”,其进行转换之后,则可以得到音素文本样本“w o z uo t ian ch I l e h ong sh ao r ou”。
进而,则可以通过上述方式得到的多个音素文本样本来对词嵌入模型进行迭代训练,直至词嵌入模型达成迭代终止条件为止。其中,词嵌入模型是一种通过嵌入矩阵将文本映射为相应的向量表示的模型,常见的词嵌入模型为word2vec,当然,也可以采用其他的词嵌入模型,本申请实施例对此不做限制,后续主要以word2vec为例进行介绍,该模型的训练是为了提取模型中的参数矩阵,将参数矩阵作为系统中的映射矩阵,用来把输入向量映射为对应向量表示,该参数矩阵即为上述的嵌入矩阵。
需要说明的是,词嵌入模型的每一次训练过程都是类似的,因此下面主要以一次训练过程为例进行介绍,在每一次训练时,执行如下操作过程:
步骤3014:分别对本次输入的各个音素文本样本进行掩码处理,以掩盖各个音素文本样本中掩码位置的单词。
步骤3015:基于本次使用的嵌入矩阵,分别获得掩码处理后的各个音素文本样本各自对应的词嵌入特征。
步骤3016:基于获得的各个词嵌入特征,分别预测各个音素文本样本中掩码位置对应的单词。
步骤3017:基于各个音素文本样本各自实际掩盖的单词与预测的单词之间的差异度,获得模型损失值。
具体的,词嵌入模型的训练通常是通过对句子中某个位置进行掩码,通过映射后的向量表示来预测该掩码位置的内容,通过预测的正确性判断模型的映射是否准确的过程。因此,在进行训练时,则可以对次输入的各个音素文本样本进行掩码处理,以掩盖各个音素文本样本中掩码位置的单词,掩码位置可以为中心,也可以为句子的两边,依据实际需求进行设置。
进而,通过词嵌入模型的前向推理,得到当前掩码处理后的各个音素文本样本其对应的词嵌入特征Word Embedding,再利用Word Embedding进行预测掩码位置所对应的单词,并与实际掩盖的单词进行比较,依据二者之间的差异度,生成本次训练的模型损失值,当模型损失值足够小或者模型训练次数足够多时,则认为达到了训练终止条件。
步骤3018:判断模型是否达到训练终止条件,若为是,则模型训练结束。
步骤3019:若为否,则对嵌入矩阵进行参数调整,并使用调整后的嵌入矩阵参与下一次的训练,即跳转步骤3014执行。
当然,这里除了针对嵌入矩阵进行调参,也可以针对词嵌入模型的其他模型参数进行调参。
如上所述,Word2vec模型是Word Embedding模型的其中一种,这里以Word2vec模型的训练为例对上述训练过程进行进一步的介绍。其中,根据训练方式的不同,Word2vec模型可以分为两种基础模型,即连续词袋模型(continuous bag of words,CBOW)和跳字模型(Skip-gram)。
其中,CBOW模型的训练输入是与掩码位置单词的上下文相关的单词对应的词嵌入向量,而输出就是掩码位置单词的概率,换句话说,CBOW模型就是根据某个词前面的n个单词或者前后n个连续的单词,来计算中间特定词出现的概率,参见图6a所示,为CBOW模型的计算过程示意图,其输入层(input layer)的输入为掩码位置单词的上下文对应的特征序列,即[x i-n ,…,x i-1 ,x i+1 ,…,x i+n ],x i-n 表征掩码位置单词的前n个单词的特征向量表示为W VxN ,x i+n 表征掩码位置单词的后n个单词的特征向量,这些特征向量都是通过CBOW模型的嵌入矩阵映射得到的,进而通过CBOW模型的隐藏层(hidden layer)映射得到掩码位置单词的概率向量y i ,其表征的掩码位置单词为各个单词的概率。
示例性的,参见图6b所示,假设文本序列为“这个女孩喜欢那个男孩”中,以“喜欢”作为中心词,背景窗口大小为2时,则CBOW模型关心的是“这个”“女孩”“那个”“男孩”生成中心词“喜欢”的概率值,通过预测的单词与真实单词之间的监督则可以实现CBOW模型的训练。
Skip-gram模型的训练输入是某一个特征词的词向量,而输出就是这特定的一个词的上下文相关的词对应的概率,即掩码位置单词为该特征词之外的所有词。Skip-gram模型就是根据这个特定词,来计算这个词前面的n个词或者前后n个连续的词出现的概率。参见图6c所示,为Skip-gram模型的计算过程示意图,其输入层(input layer)的输入为一个单词x i ,对于一个句子而言,相当于将该单词之外的其他词均进行掩码处理,通过CBOW模型的隐藏层(hidden layer)映射得到输出,即掩码位置单词的序列,即[y i-n ,…,y i-1 ,y i+1 ,…,y i+n ],y i-n 表征掩码位置单词的概率向量。
示例性的,参见图6d所示,同样以上述的文本序列“这个女孩喜欢那个男孩”为例,则以“喜欢”作为中心词,背景窗口大小为2时,然后Skip-gram模型关心的是给定中心词“喜欢”,生成与它距离不超过两个词的背景词“这个”“女孩”“那个”“男孩”的概率值。
进而,经过上述的训练后,就能够将word2vec模型中embedding matrix的所有音素的语义特征向量都能够离散化,在向量空间中,每个语义特征向量之间的距离都被尽可能地放大,向量之间的语义尽可能地放大。然后在embedding matrix中的每个语义特征向量都能够代表着一个音素的语义,也就是一个音素唯一映射一个向量。进而可以将embedding matrix输入到第二阶段进行语音音素识别模型的训练。
参见图7所示,为本申请实施例提供的第二阶段的训练流程示意图。
步骤3031:获得多个语音样本,每个语音样本包括:样本音频以及其对应的标注音素序列。
本申请实施例中,可以采用有监督的训练方式,则针对每个语音样本会进行音素序列的标注,即对于每个语音样本而言,其可以包括:样本音频以及其对应的标注音素序列,标注音素序列主要用于后续验证模型的准确性。
在一种可能的实施方式中,考虑到音素序列的标注通过人工方式进行可能会造成工作量较大,因此,针对每个样本音频可以采用ASR的方式识别其包含的语音文本内容,再结合音素字典将其转换为相应的音素序列,作为该样本音频的标注音素序列,从而减少人工标注耗费的工作量以及时间,提升训练数据的准备效率。
步骤3032:通过语音音素识别模型对输入的语音样本中样本音频进行音素识别,获得其对应的预测音素序列。
本申请实施例中,通过多个语音样本来对语音音素识别模型进行迭代训练,直至其满足迭代终止条件为止。在每一次训练时,可以从多个语音样本抽取部分或者全部的语音样本输入至当前的语音音素识别模型中,例如可以采用随机选取的方式,或者可以预先针对多个语音样本进行批次划分,每次输入一个批次的语音样本,则本次训练则基于输入的这些语音样本来进行,即可以通过当前的语音音素识别模型进行模型前向推理,得到每个语音样本所对应的预测音素序列。
需要说明的是,由于每次训练的过程均是类似的,因而这里以一次训练过程为例进行介绍,且语音音素识别模型的处理过程会在后续流程中详细进行介绍,因此这里先不过多赘述。
步骤3033:基于语音样本的预测音素序列和标注音素序列之间的差异度,生成语音音素识别模型的模型损失值。
在一种可能的实施方式中,模型损失值可以采用任意可能的损失函数来计算,例如交叉熵损失函数(Cross Entropy Loss Function)、均方差(Mean Squared Error、MSE)损失函数、平方绝对误差损失函数、最大似然损失(Likelihood Loss,LHL)函数等,当然,也可以为其他可能的损失函数,本申请实施例对此不做限制。
步骤3034:判断当前的语音音素识别模型是否达到迭代终止条件。
本申请实施例中,迭代终止条件可以包括如下条件的至少一个:
(1)迭代次数达到设定的次数阈值。
(2)模型损失值小于设定的损失阈值。
步骤3035:若步骤3034的确定过程为否,则基于模型损失值进行模型参数调整。
本申请实施例中,当迭代次数未超过预先设定的次数阈值,且模型损失值不小于设定的损失阈值时,则步骤3034的确定过程为否,即认为当前语音音素识别模型未满足迭代终止条件,那么需要调整模型参数继续进行训练。进行参数调整之后,则进入下一次迭代训练过程,即跳转至步骤3032。
在一种可能的实施方式中,在模型仍不满足收敛条件时,可以通过梯度下降法更新得到模型权重参数,并以更新后的模型权重参数继续进行训练。其中,由于目标嵌入矩阵是根据第一阶段训练得到的嵌入矩阵赋值的,在训练过程中,则针对目标嵌入矩阵无需进行参数更新。
而当迭代次数已经超过预先设定的次数阈值,或者模型损失值小于设定的损失阈值时,则步骤3034的确定过程为是,即认为当前语音音素识别模型已满足收敛条件,模型训练结束,获得已训练的语音音素识别模型。为了验证训练好的语音音素识别模型的效果,本申请实施例对训练好的语音音素识别模型使用语音测试样本进行测试,如果测评指标达到预设测评效果,则可以将该语音音素识别模型用于实际的语音音素识别过程了。如果没有通过模型评估,则需要继续进行训练和测试,直至语音音素识别模型达到预设测评效果为止。
在语音音素识别模型完成训练后,则可以用于实际的语音音素识别过程中,其中,在训练阶段针对样本音频的处理也是与下述目标音频的处理是相同的。本申请实施例中所采用的语音音素识别模型是基于encoeder-decoeder架构构建的,参见图8所示,为本申请实施例所采用的语音音素识别模型的结构示意图,该语音音素识别模型主要包括两部分,即encoeder和decoder两部分,encoeder用于对输入的目标音频的声学特征序列进行编码处理,从而将声学特征序列编码为高级特征编码序列,参见图8所示,对于输入的声学特征序列,encoeder编码得到帧特征序列(h1,h2,h3,……,hT)。decoder则基于帧特征序列解码得到最终的音素序列。参见图8所示,不同于常见的decoder,本申请实施例中的decoder是基于注意力机制的decoder,使得每次解码过程能够重点关注于当前解码过程相关度最高的音频帧,从而得到的上下文特征能够与当前解码过程强相关,提升解码过程的准确性,且该decoder每次解码时的输入还基于单独训练的embedding matrix,来得到上一次解码得到的音素的音素语义特征,从而在本次解码时能够更为准确的感知到上一次解码结果,提升本次解码过程的准确性。
参见图9所示,为本申请实施例提供的语音音素识别方法的流程示意图,该方法可以由计算机设备执行,该计算机设备可以是图1所示的终端设备或服务器,该方法的具体实施流程如下:
步骤901:对目标音频包括的各音频帧进行特征编码,获得相应的帧特征序列。
本申请实施例中,帧特征序列由各个音频帧对应的帧特征组成,在帧特征序列中,各个音频帧按照在音频中的顺序进行排列,且一个音频帧唯一对应一个帧特征。需要说明的是,与视频帧有着清晰的定义不同的是,音频帧并没有清晰明确的定义,即在实际场景中音频帧的划分是可以按照实际场景的需求进行设定的。通常而言,音频帧可以按照采样点的数量、采样频率或者时长等作为依据进行划分。
具体的,即步骤901的过程可以是基于encoeder对输入的目标音频进行编码的。参见图2所示的第二模块,对于输入的目标音频的特征提取包括两部分,即基础声学特征的提取和encoeder的编码,则步骤901具体可以由如下过程来实现。
首先,采用基础声学特征提取方式来对目标音频进行声学特征提取,获得相应的声学特征序列,声学特征序列中每个声学特征对应一个音频帧。其中,基础声学特征提取方式可以为任意可能的声学特征提取方式,例如可以为短时傅里叶变换(short timefourier transform,STFT)、离散余弦变换(discrete cosine transform,DCT)、离散小波变换(discrete wavelet transform)、Mel频谱提取、logfbank提取方式等方法。
这里以logfbank提取方式为例,对基础声学特征提取过程进行介绍,该提取过程对目标音频进行频谱特征提取,获得相应的频谱特征序列,频谱特征序列中每个频谱特征对应一个音频帧。参见图10所示,为基础声学特征提取过程的流程示意图。
步骤1001:预加重处理。
预加重处理是将输入的音频信号通过一个高通滤波器,以提升音频信号中的高频部分,让信号的频谱变得平坦,从而能够使用同样的信噪比在整个频带中求出频谱。同时,也可以消除发声过程中声带和嘴唇的效应,以及口鼻辐射带来的影响,补偿语音信号受到发音系统所抑制的高频部分,并且也为了突出高频的共振峰,便于后续的特征提取。
步骤1002:分帧操作。
通过分帧操作,将音频中的每N个采样点集合成一个观测单位,一个观测单位一般称为一个音频帧。
在一种可能的实施方式中,通常情况下N的值为256或512,涵盖的时间约为20~30ms左右,例如一帧为25ms,也就是说一个音频帧其对应的时长为25ms。
在实际应用时,为了避免相邻两帧的变化过大,因此通常会在采样时让两相邻帧之间存在一段重叠区域,此重叠区域包含了M个取样点,例如通常重叠的区域为10ms的长度。
步骤1003:加窗操作。
加窗操作是指将每一音频帧的信号都乘以一个汉明窗(Hamming),以增加帧音频左端和右端的连续性。
步骤1004:快速傅里叶变换处理。
考虑到音频信号在时域上的变换很难表现出其音频特性,因此需要将每帧信号转换为频域上的能量,在不同频带上的能量代表着不同的语音特性。因此在得到分帧加窗后的各帧信号后,需要对其进行快速傅里叶变换来得到各音频帧的频谱,并对语音信号的频谱取模平方,从而得到语音信号的功率谱。
步骤1005:三角带通滤波处理。
三角带通滤波是基于梅尔尺度(Mel-scale)进行设立的,梅尔尺度能够将人耳的感知频率与其实际测量频率联系起来,人类耳朵在低频时比在高频时更能辨别音调的细微变化,因此可以通过进行三角带通滤波处理,来结合梅尔尺度使得最终得到的特征与人类听觉所听到的更接近。
步骤1006:取对数能量处理。
在将求得的语音中帧频谱特征经三角带通滤波后,可以得到每个子带的能量,然后对求得的能量取对数,得到梅尔频率对数能量谱S(m),即最终所需要的logfbank特征,也就是上述所述的基础声学特征。通常而言,在求取logfbank时滤波器个数M的取值可以为24到40,例如logfbank特征阶数为40。
最终得到的Logfbank特征序列可以很好的表达出语音的特性,便于后续进行特征编码得到的特征的表达效果更好。
在一种可能的实施方式中,考虑到Logfbank特征序列中的特征属于静态特征,为了表达出更为详细的音频特性,则还可以加上语音的动态特征。
因此,本申请实施例中,在对目标音频进行频谱特征提取,获得相应的频谱特征序列(例如上述的Logfbank特征序列)后,则可以求出logfbank特征序列的一阶差分和二阶差分,进而结合原特征和一阶差分、二阶差分进行共同生成最终特征。其中,一阶差分的物理意义表征了音频帧与相邻一个音频帧之间的关联性,例如当前语音帧和前一时刻语音帧之间的关系,体现了帧与帧之间的联系。二阶差分的物理意义表征了音频帧与相邻两个音频帧之间的关联性,也就是当前帧的一阶差分和前一时刻的一阶差分之间的关系,体现了相邻三帧之间的动态关系。
在一种可能的实施方式中,参见图11所示,为本申请实施例提供的声学特征序列的提取流程示意图。其中,在得到频谱特征序列后,可以针对频谱特征序列进行一阶差分处理,获得一阶差分特征序列,每个一阶差分特征如上所述表征相应音频帧与相邻一个音频帧之间的关联性,是当前音频帧与前一音频帧之间的动态关联关系;同时,针对频谱特征序列进行二阶差分处理,获得二阶差分特征序列,每个二阶差分特征表征相应音频帧与相邻两个音频帧之间的关联性,是当前音频帧与前两个音频帧之间的动态关联关系,二阶差分处理即是针对一阶差分得到的一阶差分特征序列再次进行差分处理。最终,将频谱特征序列与一阶差分特征序列、二阶差分特征序列中对应位置特征进行拼接处理,获得声学特征序列,用于后续的特征编码过程中。
本申请实施例中,在通过基础声学特征提取方式获得相应的声学特征序列后,则可以通过encoeder来对声学特征序列进行编码处理,encoder能够将声学特征序列编码为高级特征编码序列,即后续解码所需的帧特征序列。其中,对于序列的编码处理,encoeder通常可以采用循环神经网络(Recurrent Neural Network,RNN)来采用递归式的特征编码方式,针对各个声学特征进行编码,直至获得各个声学特征对应的帧特征,在每一次特征编码时,若本次编码帧为首帧,则基于本次编码帧的声学特征与预设的起始特征,获得本次编码帧的帧特征;或者,若本次编码帧为非首帧,则基于前一次编码得到的帧特征以及本次编码帧的声学特征,获得本次编码帧的帧特征。
其中,RNN是指一类以序列数据为输入,在序列的演进方向进行递归且所有节点按链式连接的递归神经网络,本申请实施例的RNN可以采用任意可能的模型结构,例如双向RNN(Bi-directional-RNN,Bi- RNN)、长短期记忆网络(Long Short-Term Memory,LSTM)或者双向长短期记忆网络(Bi-directional Long Short-Term Memory,Bi-LSTM)等。
示例性的,这里以基于Bi-LSTM的encoeder为例,输入模型的声学特征序列表示为X,编码器输出的帧特征序列为Y,则encoeder的编码过程可以表示为:
其中,X即表示经过预处理后的logfbank序列,即上述得到的声学特征序列,经过encoeder编码后生成了高级帧特征序列Y,在高级帧特征序列中已经将音频信息计算成更适应后续的解码器的信息序列,而且编码器放大了特征的维度,能够让音频特征信息在频域上有更好得表达。
参见图12所示,为本申请实施例提供的encoeder的具体结构示意图,即图8所示的encoeder部分的一种结构示意图。其中,当采用Bi-LSTM作为encoeder的基础编码器时,则其输入序列即上述的声学特征序列表示为:
其中,表征第一个音频帧对应的声学特征,后续依次类推。
当将声学特征序列输入encoeder时,则encoeder针对每一个音频帧进行编码处理,参见图12所示,Bi-LSTM包括两个时序编码过程,一个是顺时针编码过程,在该过程中,从第一个音频帧开始,基于其声学特征与起始特征(表征编码开始)编码得到的h
1(1),针对第二音频帧进行编码时,则以第一个音频帧的h1(1)和自身对应的共同作为输入,编码得到第二个音频帧对应的h2(1),后续则以此类推,直至编码得到最后一个音频帧的hT(1)。而另一个过程为逆时针编码过程,在该过程中,从最后一个音频帧开始,基于其声学特征与起始特征(表征编码开始)编码得到的hT(2),针对倒数第二个音频帧进行编码时,则以最后一个音频帧的hT(2)和自身对应的/>共同作为输入,编码得到倒数第二个音频帧对应的hT-1(2),后续则以此类推,直至编码得到第一个音频帧的h1(2),最终每个音频帧对应的h(1)和h(2)进行叠加得到相应的帧特征,则帧特征序列可以表示为:
其中,h1表征第一个音频帧对应的帧特征,后续依次类推。
最后,将帧特征序列输入到Decoder中进行注意力的计算然后解码出各个音素。
步骤902:对帧特征序列进行递归式的特征解码,并基于解码得到的各个音素解码结果,生成目标音频的音素识别结果。
其中,decoder针对帧特征序列的解码过程也是一个递归式的解码过程,即Decoder对帧特征序列进行递归式的特征解码,并基于解码得到的各个音素解码结果,生成目标音频最终的音素识别结果。同理的,decoder也可以使用RNN来搭建,则其也可以采用任意可能的模型结构,例如Bi-RNN、LSTM或者Bi-LSTM等。下面,主要以LSTM为例进行介绍。
本申请实施例中,decoder是基于注意力机制的端到端音素识别系统中重要的一部分,注意力机制和解码过程的计算都是在这部分进行。decoder的末端可以接一个全连接网络,网络的节点数为音素种类数目,以此来完成分类任务,获得一次解码的音素解码结果。
具体的,decoder接收从编码器输出的帧特征序列,参见图8所示,输入帧特征序列后,利用帧特征序列与decoder自身在本次解码时的隐藏状态来计算注意力向量a,辅助进行本次解码过程。由于每一次特征解码的过程是类似的,因此下面主要以一次特征解码过程为例进行介绍,每一次特征解码可以包括如下步骤:
步骤9021:基于各预设音素各自对应的语义特征,获得上一次解码得到的音素解码结果对应的音素语义特征。
本申请实施例中,各预设音素各自对应的语义特征被包含在嵌入矩阵embeddingmatrix中,embedding matrix是在第一阶段预先训练得到的,其包含了各个预设音素类型所对应的语义特征。以中文拼音为音素体系为例,则预设音素类型除了可以包含所有的声母和韵母之外,还可以包含起始符(start token)和终止符(end token)两个类型,起始符表征解码的开始,即解码到该类型时则可知新的解码过程开始了,终止符表征解码过程结束,当解码到该类型时则停止解码。
参见图13所示,为本申请实施例中进行音素语义特征映射的流程示意图。其中,decoder在本次解码时,会引入上一次解码得到的音素解码结果,即decoder会使用embedding matrix进行音素语义特征的映射。如图13所示,上一次解码得到的音素解码结果表示为一概率向量,该概率向量中的每一概率值为一种音素类型对应的后验概率,即上一次解码得到的音素属于各个音素类型的概率值,那么通过比较概率值的大小,则可以得到上一次解码得到的音素,即选取概率值最大的音素类型作为上一次解码的结果,如图13中选取出最大的概率值为,即表示t时刻的解码结果为第i个音素类型。
然后,根据word2vec训练出来的embedding matrix,映射成为一个音素embeddingvector。具体而言,embedding matrix中包含的是各种音素类型的语义特征向量,当确定上一次解码的音素为第i个音素类型时,则直接从embedding matrix中获取第i个音素类型对应的语义特征vi即可,vi,0~vi,n表征的是该语义特征在各个特征维度上的取值。
步骤9022:基于在上一次解码时得到的序列解码状态与帧特征序列之间的相关度,对帧特征序列进行特征增强处理,获得本次解码对应的上下文特征,序列解码状态表征:帧特征序列的历史解码信息。
本申请实施例中,序列解码状态也可以称为decoder的隐层状态,其能够表征decoder的历史解码记忆,基于此可以知晓解码得到了哪些音素,以及解码到哪里了,并且可以推测当前解码应当关注哪些音频帧。通常而言,在本申请实施例中的一个音频帧是唯一对应一个音素的,而一个音素可能对应一个音频帧,也可能对应多个音频帧,例如当读到“床前明月光”中的“光”字时,可能将“uang”的尾音拖得很长,那么则会出现多个音频帧对应同一个音素的情况,因此,在实际解码时,则需要将这些音频帧关联起来进行解码,来准确的得到这一个音素“uang”。因此,本申请实施例的decoder采用了基于注意力机制的解码过程,参见图14所示,其对应图8所示的decoder部分,其在每次进行解码时,需要基于在上一次解码时得到的序列解码状态si-1与帧特征序列h(h0,h1,h2,h3…,hT)之间的相关度,来对帧特征序列进行特征增强处理,获得本次解码对应的上下文特征,该上下文特征中则会将本次解码相关的音频帧所对应的帧特征进行权重增强,使得这些帧特征对于本次解码过程的影响力度更大。
在一种可能的实施方式中,decoder在进行解码的时候使用的attention机制可以是全局注意力(global attention)机制,就是每次解码时对encoder输出的帧特征序列进行相关度计算。
具体的,在每一次进行解码时,对上一次解码时的序列解码状态si-1与帧特征序列h(h0,h1,h2,h3…,hT)进行互相关处理,获得帧特征序列中各个帧特征各自对应的注意力权重,即图14中所示的注意力权重向量a i-1。其中,a i-1是与帧特征序列的维度相同的向量,其包含各个音频帧对应的注意力权重,每个注意力权重表征:序列解码状态与相应帧特征之间的相关度,即表明上一次解码时所针对的音频帧。进而,基于各个帧特征各自对应的注意力权重,来对帧特征序列进行基于注意力机制的特征加权处理,获得本次解码所使用的上下文特征。
在实际应用时,对于互相关处理的过程可以通过相似度衡量的方式来进行,即通过计算二者之间的相似度,来表征解码是否关注该帧特征。例如,可以将序列解码状态以及各个帧特征分别映射至相同的目标维度空间中,进而在目标维度空间中,基于映射后的序列解码状态与各个帧特征的空间距离,分别获得各个帧特征各自对应的注意力权重;其中,空间距离越大,表明其相似度更低,从而相关度更低,即注意力权重越小。
本申请实施例中,基于注意力机制的特征加权处理可以通过对位相乘并相加的方式来进行,即首先基于各个帧特征各自对应的注意力权重,对帧特征序列进行特征加权处理,获得加权特征序列,然后将加权特征序列与帧特征序列进行叠加处理,获得上下文特征。
参见图15所示,为本申请实施例提供的上下文特征的获得流程示意图,a i,T 表征第i次解码时第T个音频帧的注意力权重,则以第一个音频帧的注意力权重a i,0 为例,则会将a i,0 与对应的帧特征h 0进行相乘后,再将得到的加权特征与h 0进行相加,其他音频帧以此类推,从而得到上下文特征,表示为(h 0’,h 1’,h 2’,h 3’,…,h T’)。
在一种可能的实施方式中,考虑到语音音素序列是具有时序性的,前一次解码时关注的音频帧部分,在后一次解码时实质上就无需再关注,且考虑到为了提升解码过程的速度,在注意力计算时也可以采用加入时序的attention机制,也就是在进行本次解码时不再对之前使用过的帧特征进行计算,从而减少模型解码时的计算量,提高模型的预测速度。
具体的,在本次解码进行注意力权重的计算时,对上一次解码时计算的注意力权重进行监测,从其中确定出目标音频帧,从该帧或者该帧的下一帧开始进行注意力权重的计算。其中,目标音频帧可以为上一次解码时计算的注意力权重中大于设定权重阈值的音频帧,或者,上一次解码时计算的注意力权重中数值最大的音频帧,因为目标视频帧的注意力权重数值很大时,说明其所处的解码节点是与上一次解码是强相关的,与本次解码过程显然不相关,也就说明与本次解码过程相关的肯定在这个音频帧的后面,所以该音频帧之前的就不需要计算了。因此,基于目标音频帧,对帧特征序列进行分割,以从帧特征序列中剔除目标音频帧之前的音频帧,并对序列解码状态与分割后的帧特征序列进行互相关处理,获得分割后的帧特征序列中的各个帧特征各自对应的注意力权重,进而后续可以基于获得的各个注意力权重,对分割后的帧特征序列进行基于注意力机制的特征加权处理,获得上下文特征。
示例性的,参见图16所示,为本申请实施例提供的加入时序的attention机制的原理示意图。其中,这里以8个音频帧的帧特征序列为例,即对应帧特征h 0~h 7,虚线表征的是每次解码所针对的对象,另个相邻虚线内为一次解码重点关注的音频帧的注意力权重。参见图16的示例1,为上一次解码时计算的注意力权重,其中第4帧和5帧的注意力权重明显高于其他音频帧很多,因而可以说明上一次解码关注的对象即为这两帧,那么在本次解码时,则可以从第5帧或者其后一帧即第6帧开始进行注意力权重的计算;或者,参见图16的示例2,为上一次解码时计算的注意力权重,其中第4帧的注意力权重明显高于其他音频帧很多,因而可以说明上一次解码关注的对象即为第4帧,那么在本次解码时,则可以从第4帧或者其后一帧即第5帧开始进行注意力权重的计算。
步骤9023:基于上下文特征和音素语义特征,对序列解码状态进行更新,并基于更新后的序列解码状态进行音素预测,获得本次解码的音素解码结果。
即,将上下文特征和音素语义特征共同作为本次decoder的输入,来进行解码过程。具体的,可以对上下文特征以及音素语义特征进行融合处理,获得本次解码的融合特征,并基于为融合特征预设的特征权重,以及为序列解码状态预设的状态权重,对融合特征与序列解码状态进行加权求和处理,获得更新后的序列解码状态,即本次解码过程decoder的隐藏状态,进而将隐藏状态输出到末端的全连接网络,生成本次解码过程的音素的概率向量,从而确定本次解码得到的音素是什么。其中,特征权重与状态权重均为decoder的模型参数,其可以在模型训练过程训练得到。
在实际应用时,解码过程是否结束通过是否解码到end token来决定,当解码得到end token时,则解码结束,则输出最终的音素序列,若是未解码得到end token时,则继续下一次的解码过程,即继续执行步骤9021,直至解码得到end token为止。
综上所述,本申请实施例中创新性的提供了一种基于分段式训练的端到端语音音素识别模型,该模型是以encoder-decoder模型为基础架构,融入了attention机制后,将decoder中所使用的word embedding matrix进行单独分离训练,将训练离散后的matrix重新插入到encoder-decoder中进行分段式训练,从而能够让embedding matrix进行单独的离散化,能够让模型的不同模块分别进行训练,让不同模块最好的参数进行组合构建出最优的模型系统,从而提升最终的音素识别性能,并且对不同的模块进行分别训练,组合在一起的时候,能够大幅度减少整个系统的整体训练时间,提高训练效率。
并且,由于使用了基于word2vec训练的embedding matrix作为encoder-decoder中解码的embedding matrix,该方法能够让训练出来离散化的embedding矩阵来代替传统的encoder-decoder所使用的one-hot编码,使用该学习的编码能够更充分的表达识别出来的表征信息,也就是能够将上一次解码的结果通过decoder将表征更丰富的信息传递给当前解码过程,提高了解码的时许关联性,从而能够提升整个识别解码的性能。
此外,本申请实施例使用了word2vec网络加基于音素字典转录的海量音素文本训练了embedding matrix,能够在向量空间中将所有的音素embedding进行离散化,在空间距离上对所有的embedding进行分离,从而能够拉大不同音素在模型上表征的差别,进而能够提升在音素分类阶段中,对于不同音素的分类更为清晰,最终能够提升整个系统音素识别的性能和准确度。具体而言,首先是确定了音素类型数量以及音素字典,然后将收集的海量文本数据转录成为音素文本数据,创新性的将规整好的海量音素文本数据输入到word2vec网络中,把网络中的embedding matrix向量维度与音素种类数对齐,训练模型后将所有的音素embedding向量进行离散化,在向量空间中极大化的分散了所有音素向量距离。用该分段式训练好的embedding matrix替换融入attention机制的encoder-decoder中的one hotembedding matrix,并且在整个encoder-decoder训练时,创新性的关闭整个embeddingmatrix的权重更新权限,让音素embedding时刻保持着向量空间上的离散化。Encoder模块将输入的语音基础特征编码成为高级语义特征向量序列,然后统一输入到融入attention机制以及替换embedding matrix的decoder中,进行端到端的音素识别解码流程。Decoder的输入是encoder的输出以及前一次解码出来的音素结果,解码出来的音素结果经过embedding matrix映射之后转换为音素embedding,输入到下一step的解码过程中,最终完成整个序列的音素识别效果。
本申请实施例的方案可以应用于端到端音素识别相关场景。具体而言,若目标音频来源于目标视频,则基于音素识别结果为目标视频添加音素字幕,例如可以为少儿视频添加拼音字幕,辅助少儿进行节目的观看;或者,若目标音频来源于目标视频,基于音素识别结果生成目标视频对应的语音音素文本,用于后续的应用场景中。
在实际应用时,可以将输入的语音识别成为制定的音素体系,然后根据音素的排列可以拓展为特定关键词或者敏感词的检索定位,例如可以对于上传的视频进行安全审核,针对视频中语音是否涉及敏感词进行检索过滤;同时,还可以将音素和拼音进行打通,适用于所有影视剧和动漫,将其台词语音全部转换成为拼音音素,从而能够充实少儿板块的更多内容。
此外,本申请实施例的方案还可以作为端到端语音文字识别系统的前置模块,即通过本申请实施例的方案将输入的语音信号进行端到端的识别,获得音素识别结果后,还可以基于音素识别结果,生成目标音频的语音文本,即根据识别出来的音素序列生成最终的语音文本序列。本申请实施例的方案能够直接提升音素识别系统的性能,提高音素识别的准确率,从而能够最终提升语音识别的准确率和性能,在众多应用落地上都能够直接有质量的提升,例如可以应用于会议录像转录文本、翻译以及影视剧字幕制作等场景中。
请参见图17,基于同一发明构思,本申请实施例还提供了一种语音音素识别装置170,该装置包括:
特征编码单元1701,用于对目标音频包括的各音频帧进行特征编码,获得相应的帧特征序列;
特征解码单元1702,用于对帧特征序列进行递归式的特征解码,并基于解码得到的各个音素解码结果,生成目标音频的音素识别结果;其中,在每一次特征解码时,特征解码单元1702通过如下子单元执行如下操作:
音素特征映射子单元17021,用于基于各预设音素各自对应的语义特征,获得上一次解码得到的音素解码结果对应的音素语义特征;
注意力机制子单元17022,用于基于在上一次解码时得到的序列解码状态与帧特征序列之间的相关度,对帧特征序列进行特征增强处理,获得本次解码对应的上下文特征,序列解码状态表征:帧特征序列的历史解码信息;
解码器子单元17023,用于基于上下文特征和音素语义特征,对序列解码状态进行更新,并基于更新后的序列解码状态进行音素预测,获得本次解码的音素解码结果。
在一种可能的实施方式中,上述所述的语音音素识别方法通过已训练的语音音素识别模型来执行,则该装置还包括分段式训练单元1703,用于:
通过多个音素文本样本对词嵌入模型包括的嵌入矩阵进行训练,并在训练完成时,获得已训练的嵌入矩阵;其中,每个音素文本样本为多个单词各自对应的音素组成的句子,词嵌入模型用于通过嵌入矩阵将音素文本样本映射为唯一对应的词嵌入特征;
以已训练的嵌入矩阵,对语音音素识别模型中的嵌入矩阵进行赋值,获得目标嵌入矩阵,目标嵌入矩阵包括各预设音素各自对应的语义特征;
基于多个语音样本对赋值后的语音音素识别模型进行训练,并在训练完成时,获得已训练的语音音素识别模型;其中,每个语音样本包括:样本音频以及其对应的标注音素序列。
在一种可能的实施方式中,分段式训练单元1703,具体用于:
通过多个音素文本样本对词嵌入模型进行迭代训练,直至词嵌入模型达成迭代终止条件;其中,在每一次训练时,执行如下操作:
分别对本次输入的各个音素文本样本进行掩码处理,以掩盖各个音素文本样本中掩码位置的单词;
基于本次使用的嵌入矩阵,分别获得掩码处理后的各个音素文本样本各自对应的词嵌入特征;
基于获得的各个词嵌入特征,分别预测各个音素文本样本中掩码位置对应的单词;
基于各个音素文本样本各自实际掩盖的单词与预测的单词之间的差异度,对嵌入矩阵进行参数调整。
在一种可能的实施方式中,所述分段式训练单元1703,具体用于:
从多种预设类型的文本资源集合中,提取各个文本资源所包含的文本内容,构建基础文本内容集合;
从基础文本内容集合筛除不符合预设样本条件的文本内容,获得目标文本内容集合;
针对目标文本内容集合中各条文本内容,通过音素字典进行音素映射处理,以获得多个音素文本样本;其中,音素字典中包含每个单词对应的音素。
在一种可能的实施方式中,注意力机制子单元17022,具体用于:
对序列解码状态与帧特征序列进行互相关处理,获得帧特征序列中各个帧特征各自对应的注意力权重;其中,每个注意力权重表征:序列解码状态与相应帧特征之间的相关度;
基于各个帧特征各自对应的注意力权重,对帧特征序列进行基于注意力机制的特征加权处理,获得上下文特征。
在一种可能的实施方式中,注意力机制子单元17022,具体用于:
将序列解码状态以及各个帧特征分别映射至目标维度空间中;
基于映射后的序列解码状态与各个帧特征在目标维度空间中的空间距离,分别获得各个帧特征各自对应的注意力权重;其中,空间距离越大,注意力权重越小。
在一种可能的实施方式中,注意力机制子单元17022,具体用于:
从上一次解码时获得的注意力权重中,确定注意力权重大于预设权重阈值的目标音频帧,或者注意力权重最大的目标音频帧;
基于目标音频帧,对帧特征序列进行分割,以从帧特征序列中剔除目标音频帧之前的音频帧;
对序列解码状态与分割后的帧特征序列进行互相关处理,获得分割后的帧特征序列中的各个帧特征各自对应的注意力权重;
基于获得的各个注意力权重,对分割后的帧特征序列进行基于注意力机制的特征加权处理,获得上下文特征。
在一种可能的实施方式中,注意力机制子单元17022,具体用于:
基于各个帧特征各自对应的注意力权重,对帧特征序列进行特征加权处理,获得加权特征序列;
将加权特征序列与帧特征序列进行叠加处理,获得上下文特征。
在一种可能的实施方式中,解码器子单元17023,具体用于:
对上下文特征以及音素语义特征进行融合处理,获得本次解码的融合特征;
基于为融合特征预设的特征权重,以及为序列解码状态预设的状态权重,对融合特征与序列解码状态进行加权求和处理,获得更新后的序列解码状态;
其中,特征权重与状态权重是通过模型训练过程训练得到的。
在一种可能的实施方式中,特征编码单元1701,具体用于:
对目标音频进行声学特征提取,获得相应的声学特征序列,声学特征序列中每个声学特征对应一个音频帧;
对声学特征序列进行递归式的特征编码,直至获得各个声学特征对应的帧特征;其中,在每一次特征编码时,执行如下操作:
若本次编码帧为首帧,则基于本次编码帧的声学特征与预设的起始特征,获得本次编码帧的帧特征;
若本次编码帧为非首帧,则基于前一次编码得到的帧特征以及本次编码帧的声学特征,获得本次编码帧的帧特征;
基于获得的各个帧特征,得到帧特征序列。
在一种可能的实施方式中,特征编码单元1701,具体用于:
对目标音频进行频谱特征提取,获得相应的频谱特征序列,频谱特征序列中每个频谱特征对应一个音频帧;
针对频谱特征序列进行一阶差分处理,获得一阶差分特征序列,每个一阶差分特征表征相应音频帧与相邻一个音频帧之间的关联性;
针对频谱特征序列进行二阶差分处理,获得二阶差分特征序列,每个二阶差分特征表征相应音频帧与相邻两个音频帧之间的关联性;
将频谱特征序列与一阶差分特征序列、二阶差分特征序列中对应位置特征进行拼接处理,获得声学特征序列。
在一种可能的实施方式中,该装置还包括结果应用单元1704,具体用于:
基于音素识别结果,生成目标音频的语音文本;或者,
若目标音频来源于目标视频,则基于音素识别结果为目标视频添加音素字幕;或者,
若目标音频来源于目标视频,基于音素识别结果生成目标视频对应的语音音素文本。
通过上述装置,可以使得解码时需要关注的音频帧的特征能够被对应解码过程充分的感知和使用到,提升每次解码过程的准确性,从而提升整个音素识别过程的准确性,以及可以使得在解码时能够准确的感知到上一时刻解码结果的信息,从而能够让整个解码过程关联起来,产生足够的时序信息传递效应,提升每次解码的解码效果,最终提升最终的音素识别性能。
该装置可以用于执行本申请各实施例中所示的方法,因此,对于该装置的各功能模块所能够实现的功能等可参考前述实施例的描述,不多赘述。
请参见图18,基于同一技术构思,本申请实施例还提供了一种计算机设备。在一种实施例中,该计算机设备例如可以为图1所示的服务器,该计算机设备如图18所示,包括存储器1801,通讯模块1803以及一个或多个处理器1802。
存储器1801,用于存储处理器1802执行的计算机程序。存储器1801可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行本申请实施例的功能所需的程序等;存储数据区可存储各种功能信息和操作指令集等。
存储器1801可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1801也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者存储器1801是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1801可以是上述存储器的组合。
处理器1802,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器1802,用于调用存储器1801中存储的计算机程序时实现上述语音音素识别方法。
通讯模块1803用于与终端设备和其他服务器进行通信。
本申请实施例中不限定上述存储器1801、通讯模块1803和处理器1802之间的具体连接介质。本申请实施例在图18中以存储器1801和处理器1802之间通过总线1804连接,总线1804在图18中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1804可以分为地址总线、数据总线、控制总线等。为便于描述,图18中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。
存储器1801中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请实施例的语音音素识别方法,处理器1802用于执行上述各实施例的语音音素识别方法。
在另一种实施例中,计算机设备也可以是终端设备,如图1所示的终端设备。在该实施例中,计算机设备的结构可以如图19所示,包括:通信组件1910、存储器1920、显示单元1930、摄像头1940、传感器1950、音频电路1960、蓝牙模块1970、处理器1980等部件。
通信组件1910用于与服务器进行通信。在一些实施例中,可以包括电路无线保真(Wireless Fidelity,WiFi)模块,WiFi模块属于短距离无线传输技术,计算机设备通过WiFi模块可以帮助用户收发信息。
存储器1920可用于存储软件程序及数据。处理器1980通过运行存储在存储器1920的软件程序或数据,从而执行终端设备的各种功能以及数据处理。存储器1920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器1920存储有使得终端设备能运行的操作系统。本申请中存储器1920可以存储操作系统及各种应用程序,还可以存储执行本申请实施例语音音素识别方法的代码。
显示单元1930还可用于显示由用户输入的信息或提供给用户的信息以及终端设备的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元1930可以包括设置在终端设备正面的显示屏1932。其中,显示屏1932可以采用液晶显示器、发光二极管等形式来配置。显示单元1930可以用于显示本申请实施例中的音素识别请求页面或音素识别果显示页面。
显示单元1930还可用于接收输入的数字或字符信息,产生与终端设备的用户设置以及功能控制有关的信号输入,具体地,显示单元1930可以包括设置在终端设备正面的触摸屏1931,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
其中,触摸屏1931可以覆盖在显示屏1932之上,也可以将触摸屏1931与显示屏1932集成而实现终端设备的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元1930可以显示应用程序以及对应的操作步骤。
摄像头1940可用于捕获静态图像,用户可以将摄像头1940拍摄的图像通过应用发布评论。摄像头1940可以是一个,也可以是多个。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器1980转换成数字图像信号。
终端设备还可以包括至少一种传感器1950,比如加速度传感器1951、距离传感器1952、指纹传感器1953、温度传感器1954。终端设备还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
音频电路1960、扬声器1961、传声器1962可提供用户与终端设备之间的音频接口。音频电路1960可将接收到的音频数据转换后的电信号,传输到扬声器1961,由扬声器1961转换为声音信号输出。终端设备还可配置音量按钮,用于调节声音信号的音量。另一方面,传声器1962将收集的声音信号转换为电信号,由音频电路1960接收后转换为音频数据,再将音频数据输出至通信组件1910以发送给比如另一终端设备,或者将音频数据输出至存储器1920以便进一步处理。
蓝牙模块1970用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备可以通过蓝牙模块1970与同样具备蓝牙模块的可穿戴计算机设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
处理器1980是终端设备的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器1920内的软件程序,以及调用存储在存储器1920内的数据,执行终端设备的各种功能和处理数据。在一些实施例中,处理器1980可包括一个或多个处理单元;处理器1980还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器1980中。本申请中处理器1980可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例的语音音素识别方法。另外,处理器1980与显示单元1930耦接。
基于同一发明构思,本申请实施例还提供一种计算机存储介质,该计算机存储介质存储有计算机程序,当该计算机程序在计算机设备上运行时,使得计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的语音音素识别方法中的步骤。
在一些可能的实施方式中,本申请提供的语音音素识别方法的各个方面还可以实现为一种计算机程序产品的形式,其包括计算机程序,当该计算机程序产品在计算机设备上运行时,计算机程序用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的语音音素识别方法中的步骤,例如,计算机设备可以执行各实施例的步骤。
该计算机程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的计算机程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括计算机程序,并可以在计算机设备上运行。然而,本申请的计算机程序产品不限于此,在本申请件中,可读存储介质可以是任何包含或存储程序的有形介质,其包括的计算机程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的计算机程序,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机程序的计算机存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (15)
1.一种语音音素识别方法,其特征在于,所述方法包括:
对目标音频包括的各音频帧进行特征编码,获得相应的帧特征序列;
对所述帧特征序列进行递归式的特征解码,并基于解码得到的各个音素解码结果,生成所述目标音频的音素识别结果;其中,在每一次特征解码时,执行如下操作:
基于各预设音素各自对应的语义特征,获得上一次解码得到的音素解码结果对应的音素语义特征;
基于在上一次解码时得到的序列解码状态与所述帧特征序列之间的相关度,对所述帧特征序列进行特征增强处理,获得本次解码对应的上下文特征,所述序列解码状态表征:所述帧特征序列的历史解码信息;
基于所述上下文特征和所述音素语义特征,对所述序列解码状态进行更新,并基于更新后的序列解码状态进行音素预测,获得本次解码的音素解码结果。
2.如权利要求1所述的方法,其特征在于,所述语音音素识别方法通过已训练的语音音素识别模型来执行,则所述方法还包括:
通过多个音素文本样本对词嵌入模型包括的嵌入矩阵进行训练,并在训练完成时,获得已训练的嵌入矩阵;其中,每个音素文本样本为多个单词各自对应的音素组成的句子,所述词嵌入模型用于通过所述嵌入矩阵将音素文本样本映射为唯一对应的词嵌入特征;
以所述已训练的嵌入矩阵,对语音音素识别模型中的嵌入矩阵进行赋值,获得目标嵌入矩阵,所述目标嵌入矩阵包括所述各预设音素各自对应的语义特征;
基于多个语音样本对赋值后的语音音素识别模型进行训练,并在训练完成时,获得所述已训练的语音音素识别模型;其中,每个语音样本包括:样本音频以及其对应的标注音素序列。
3.如权利要求2所述的方法,其特征在于,通过多个音素文本样本对词嵌入模型包括的嵌入矩阵进行训练,包括:
通过所述多个音素文本样本对所述词嵌入模型进行迭代训练,直至所述词嵌入模型达成迭代终止条件;其中,在每一次训练时,执行如下操作:
分别对本次输入的各个音素文本样本进行掩码处理,以掩盖各个音素文本样本中掩码位置的单词;
基于本次使用的嵌入矩阵,分别获得掩码处理后的各个音素文本样本各自对应的词嵌入特征;
基于获得的各个词嵌入特征,分别预测各个音素文本样本中掩码位置对应的单词;
基于所述各个音素文本样本各自实际掩盖的单词与预测的单词之间的差异度,对所述嵌入矩阵进行参数调整。
4.如权利要求2所述的方法,其特征在于,在通过多个音素文本样本对词嵌入模型包括的嵌入矩阵进行训练之前,所述方法还包括:
从多种预设类型的文本资源集合中,提取各个文本资源所包含的文本内容,构建基础文本内容集合;
从所述基础文本内容集合筛除不符合预设样本条件的文本内容,获得目标文本内容集合;
针对所述目标文本内容集合中各条文本内容,通过音素字典进行音素映射处理,以获得所述多个音素文本样本;其中,所述音素字典中包含每个单词对应的音素。
5.如权利要求1~4任一所述的方法,其特征在于,所述基于在上一次解码时得到的序列解码状态与所述帧特征序列之间的相关度,对所述帧特征序列进行特征增强处理,获得本次解码对应的上下文特征,包括:
对所述序列解码状态与所述帧特征序列进行互相关处理,获得所述帧特征序列中各个帧特征各自对应的注意力权重;其中,每个注意力权重表征:所述序列解码状态与相应帧特征之间的相关度;
基于所述各个帧特征各自对应的注意力权重,对所述帧特征序列进行基于注意力机制的特征加权处理,获得所述上下文特征。
6.如权利要求5所述的方法,其特征在于,对所述序列解码状态与所述帧特征序列进行互相关处理,获得所述帧特征序列中各个帧特征各自对应的注意力权重,包括:
将所述序列解码状态以及所述各个帧特征分别映射至目标维度空间中;
基于映射后的序列解码状态与所述各个帧特征在所述目标维度空间中的空间距离,分别获得所述各个帧特征各自对应的注意力权重;其中,空间距离越大,注意力权重越小。
7.如权利要求5所述的方法,其特征在于,对所述序列解码状态与所述帧特征序列进行互相关处理,获得所述帧特征序列中各个帧特征各自对应的注意力权重,包括:
从上一次解码时获得的注意力权重中,确定注意力权重大于预设权重阈值的目标音频帧,或者注意力权重最大的目标音频帧;
基于所述目标音频帧,对所述帧特征序列进行分割,以从帧特征序列中剔除所述目标音频帧之前的音频帧;
对所述序列解码状态与分割后的所述帧特征序列进行互相关处理,获得所述分割后的所述帧特征序列中的各个帧特征各自对应的注意力权重;
则所述基于所述各个帧特征各自对应的注意力权重,对所述帧特征序列进行基于注意力机制的特征加权处理,获得所述上下文特征,包括:
基于获得的各个注意力权重,对所述分割后的所述帧特征序列进行基于注意力机制的特征加权处理,获得所述上下文特征。
8.如权利要求5所述的方法,其特征在于,基于所述各个帧特征各自对应的注意力权重,对所述帧特征序列进行基于注意力机制的特征加权处理,获得所述上下文特征,包括:
基于所述各个帧特征各自对应的注意力权重,对所述帧特征序列进行特征加权处理,获得加权特征序列;
将所述加权特征序列与所述帧特征序列进行叠加处理,获得所述上下文特征。
9.如权利要求1~4任一所述的方法,其特征在于,基于所述上下文特征和所述音素语义特征,对所述序列解码状态进行更新,包括:
对所述上下文特征以及所述音素语义特征进行融合处理,获得本次解码的融合特征;
基于为所述融合特征预设的特征权重,以及为所述序列解码状态预设的状态权重,对所述融合特征与所述序列解码状态进行加权求和处理,获得所述更新后的序列解码状态;
其中,所述特征权重与所述状态权重是通过模型训练过程训练得到的。
10.如权利要求1~4任一所述的方法,其特征在于,对目标音频包括的各音频帧进行特征编码,获得相应的帧特征序列,包括:
对所述目标音频进行声学特征提取,获得相应的声学特征序列,所述声学特征序列中每个声学特征对应一个音频帧;
对所述声学特征序列进行递归式的特征编码,直至获得各个声学特征对应的帧特征;其中,在每一次特征编码时,执行如下操作:
若本次编码帧为首帧,则基于所述本次编码帧的声学特征与预设的起始特征,获得所述本次编码帧的帧特征;
若本次编码帧为非首帧,则基于前一次编码得到的帧特征以及本次编码帧的声学特征,获得所述本次编码帧的帧特征;
基于获得的各个帧特征,得到所述帧特征序列。
11.如权利要求10所述的方法,其特征在于,对所述目标音频进行声学特征提取,获得相应的声学特征序列,包括:
对所述目标音频进行频谱特征提取,获得相应的频谱特征序列,所述频谱特征序列中每个频谱特征对应一个音频帧;
针对所述频谱特征序列进行一阶差分处理,获得一阶差分特征序列,每个一阶差分特征表征相应音频帧与相邻一个音频帧之间的关联性;
针对所述频谱特征序列进行二阶差分处理,获得二阶差分特征序列,每个二阶差分特征表征相应音频帧与相邻两个音频帧之间的关联性;
将所述频谱特征序列与所述一阶差分特征序列、二阶差分特征序列中对应位置特征进行拼接处理,获得所述声学特征序列。
12.如权利要求1~4任一所述的方法,其特征在于,在基于解码得到的各个音素解码结果,生成所述目标音频的音素识别结果之后,所述方法还包括:
基于所述音素识别结果,生成所述目标音频的语音文本;或者,
若所述目标音频来源于目标视频,则基于所述音素识别结果为目标视频添加音素字幕;或者,
若所述目标音频来源于目标视频,基于所述音素识别结果生成所述目标视频对应的语音音素文本。
13.一种语音音素识别装置,其特征在于,所述装置包括:
特征编码单元,用于对目标音频包括的各音频帧进行特征编码,获得相应的帧特征序列;
特征解码单元,用于对所述帧特征序列进行递归式的特征解码,并基于解码得到的各个音素解码结果,生成所述目标音频的音素识别结果;其中,在每一次特征解码时,所述特征解码单元通过如下子单元执行如下操作:
音素特征映射子单元,用于基于各预设音素各自对应的语义特征,获得上一次解码得到的音素解码结果对应的音素语义特征;
注意力机制子单元,用于基于在上一次解码时得到的序列解码状态与所述帧特征序列之间的相关度,对所述帧特征序列进行特征增强处理,获得本次解码对应的上下文特征,所述序列解码状态表征:所述帧特征序列的历史解码信息;
解码器子单元,用于基于所述上下文特征和所述音素语义特征,对所述序列解码状态进行更新,并基于更新后的序列解码状态进行音素预测,获得本次解码的音素解码结果。
14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,
所述处理器执行所述计算机程序时实现权利要求1至12任一项所述方法的步骤。
15.一种计算机存储介质,其上存储有计算机程序,其特征在于,
该计算机程序被处理器执行时实现权利要求1至12任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310885600.XA CN116612747B (zh) | 2023-07-19 | 2023-07-19 | 语音音素识别方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310885600.XA CN116612747B (zh) | 2023-07-19 | 2023-07-19 | 语音音素识别方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116612747A CN116612747A (zh) | 2023-08-18 |
CN116612747B true CN116612747B (zh) | 2023-09-22 |
Family
ID=87683906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310885600.XA Active CN116612747B (zh) | 2023-07-19 | 2023-07-19 | 语音音素识别方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116612747B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102254555A (zh) * | 2010-05-21 | 2011-11-23 | 索尼电脑娱乐公司 | 改进依赖上下文的语音识别器对环境变化的鲁棒性 |
CN111933129A (zh) * | 2020-09-11 | 2020-11-13 | 腾讯科技(深圳)有限公司 | 音频处理方法、语言模型的训练方法、装置及计算机设备 |
CN112967739A (zh) * | 2021-02-26 | 2021-06-15 | 山东省计算中心(国家超级计算济南中心) | 一种基于长短期记忆网络的语音端点检测方法及系统 |
CN116312639A (zh) * | 2023-02-13 | 2023-06-23 | 华南师大(清远)科技创新研究院有限公司 | 语音情感识别方法、装置、存储介质和计算机设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8831947B2 (en) * | 2010-11-07 | 2014-09-09 | Nice Systems Ltd. | Method and apparatus for large vocabulary continuous speech recognition using a hybrid phoneme-word lattice |
-
2023
- 2023-07-19 CN CN202310885600.XA patent/CN116612747B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102254555A (zh) * | 2010-05-21 | 2011-11-23 | 索尼电脑娱乐公司 | 改进依赖上下文的语音识别器对环境变化的鲁棒性 |
CN111933129A (zh) * | 2020-09-11 | 2020-11-13 | 腾讯科技(深圳)有限公司 | 音频处理方法、语言模型的训练方法、装置及计算机设备 |
CN112967739A (zh) * | 2021-02-26 | 2021-06-15 | 山东省计算中心(国家超级计算济南中心) | 一种基于长短期记忆网络的语音端点检测方法及系统 |
CN116312639A (zh) * | 2023-02-13 | 2023-06-23 | 华南师大(清远)科技创新研究院有限公司 | 语音情感识别方法、装置、存储介质和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116612747A (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110600017B (zh) | 语音处理模型的训练方法、语音识别方法、系统及装置 | |
Song | English speech recognition based on deep learning with multiple features | |
CN111312245B (zh) | 一种语音应答方法、装置和存储介质 | |
CN111326136B (zh) | 语音处理方法、装置、电子设备及存储介质 | |
CN111753549A (zh) | 一种基于注意力机制的多模态情感特征学习、识别方法 | |
CN112071330B (zh) | 一种音频数据处理方法、设备以及计算机可读存储介质 | |
CN110246488B (zh) | 半优化CycleGAN模型的语音转换方法及装置 | |
KR20210007786A (ko) | 시각 보조 음성 처리 | |
CN112528637B (zh) | 文本处理模型训练方法、装置、计算机设备和存储介质 | |
CN113837299B (zh) | 基于人工智能的网络训练方法及装置、电子设备 | |
CN112837669B (zh) | 语音合成方法、装置及服务器 | |
CN115662435B (zh) | 一种虚拟教师拟真化语音的生成方法及终端 | |
CN111653270B (zh) | 语音处理方法、装置、计算机可读存储介质及电子设备 | |
CN114399995A (zh) | 语音模型的训练方法、装置、设备及计算机可读存储介质 | |
WO2019138897A1 (ja) | 学習装置および方法、並びにプログラム | |
Qu et al. | Lipsound2: Self-supervised pre-training for lip-to-speech reconstruction and lip reading | |
CN114783459B (zh) | 一种语音分离方法、装置、电子设备和存储介质 | |
CN114882862A (zh) | 一种语音处理方法及相关设备 | |
WO2024018429A1 (en) | Audio signal processing method, audio signal processing apparatus, computer device and storage medium | |
CN116534700A (zh) | 爬楼机的控制系统及其方法 | |
CN116612747B (zh) | 语音音素识别方法、装置、设备及存储介质 | |
CN116092485A (zh) | 语音识别模型的训练方法及装置、语音识别方法及装置 | |
CN113571063B (zh) | 语音信号的识别方法、装置、电子设备及存储介质 | |
Shome et al. | Speaker Recognition through Deep Learning Techniques: A Comprehensive Review and Research Challenges | |
KR20230120790A (ko) | 가변적 언어모델을 이용한 음성인식 헬스케어 서비스 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40092618 Country of ref document: HK |