CN116844529A - 语音识别方法、装置及计算机存储介质 - Google Patents
语音识别方法、装置及计算机存储介质 Download PDFInfo
- Publication number
- CN116844529A CN116844529A CN202310600981.2A CN202310600981A CN116844529A CN 116844529 A CN116844529 A CN 116844529A CN 202310600981 A CN202310600981 A CN 202310600981A CN 116844529 A CN116844529 A CN 116844529A
- Authority
- CN
- China
- Prior art keywords
- model
- phoneme
- output
- speech
- recognition
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 107
- 238000003860 storage Methods 0.000 title claims abstract description 21
- 238000012549 training Methods 0.000 claims abstract description 133
- 238000009826 distribution Methods 0.000 claims abstract description 65
- 238000000605 extraction Methods 0.000 claims description 45
- 238000012545 processing Methods 0.000 claims description 35
- 230000008569 process Effects 0.000 claims description 33
- 230000007246 mechanism Effects 0.000 claims description 18
- 230000015654 memory Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 6
- 239000013598 vector Substances 0.000 description 61
- 230000006870 function Effects 0.000 description 40
- 239000011159 matrix material Substances 0.000 description 36
- 238000011161 development Methods 0.000 description 32
- 238000007726 management method Methods 0.000 description 17
- 238000013528 artificial neural network Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 16
- 238000007792 addition Methods 0.000 description 15
- 238000007781 pre-processing Methods 0.000 description 15
- 238000013473 artificial intelligence Methods 0.000 description 12
- 238000010606 normalization Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000013139 quantization Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 241000282414 Homo sapiens Species 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000009432 framing Methods 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 241001672694 Citrus reticulata Species 0.000 description 2
- 108700019146 Transgenes Proteins 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000007621 cluster analysis Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013434 data augmentation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000037433 frameshift Effects 0.000 description 2
- 238000013140 knowledge distillation Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000004821 distillation Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 235000019580 granularity Nutrition 0.000 description 1
- 208000019622 heart disease Diseases 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000001228 spectrum 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/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- 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
- 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/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/28—Constructional details of speech recognition systems
- G10L15/30—Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
-
- 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)
- 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)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Machine Translation (AREA)
Abstract
本申请提供了语音识别方法、装置及计算机存储介质。实施例中方法包括获取目标低资源语言的待处理语音特征;将待处理语音特征输入到训练好的第一模型中进行音素识别,确定训练好的第一模型输出的音素概率分布;将音素概率分布输入到训练好的第二模型中进行语义识别,确定第一识别结果;第二模型通过文字误差训练得到,文字误差指示了第二模型针对音素概率分布的语义识别的结果和文字标签的偏差,音素概率分布为训练好的第二模型对第二语音特征进行音素识别的结果,文字标签指示了第二语音特征对应的语义。通过第一模型进行音素识别确定音素概率分布,第二模型基于音素概率分布进行语义识别,从而基于音素信息提高语义识别的准确性。
Description
技术领域
本申请涉及语音识别技术领域,尤其涉及一种语音识别方法、装置及计算机存储介质。
背景技术
端到端语音识别(Speech Recognition,SR)系统的训练需要大量的标注数据,这对低资源场景来说是一个挑战。
在相关技术中,提供了一种语音识别模型的训练方式,以解决存在较小的标注数据的低资源场景。其中,语音识别模型包含了基于卷积神经网络(Convolution NeuralNetwork,CNN)的特征提取网络,基于Transformer的上下文网络和一个特征量化模块用于学习离散的向量。在训练过程,特征提取网络的输出直接输入到特征量化模块,掩码后输入到上下文网络;具体地,训练过程分成两个阶段,第一个阶段采用多任务学习的方式;对于标记数据,指定了两个训练目标:第一个是音素级别的损失函数,该函数指示了上下文网络输出的音素概率分布和实际的音素分布的偏差;第二个是在掩码上下文表示和离散潜在表示上定义的对比任务,该任务用于减少Transformer输出和特征量化模块的输出之间的误差。对于未标记数据,采用单任务学习的方式,该任务是掩码上下文表示和离散潜在表示上定义的对比任务;在第二个阶段,其和第一个阶段类似,区别在于基于Transformer的上下文网络输出若干个字,对应的,音素级别的损失函数替换为字级别的损失函数,该函数指示了上下文网络输出的字和实际的字之间的偏差。
但是,上述方案中,语音识别模型在进行字识别的同时融合了音素信息,可能会导致语音识别模型学习到的音素信息无法准确的预测字,降低语义识别准确性。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容
本申请实施例提供了一种语音识别方法、装置及计算机存储介质,通过第一模型进行音素识别确定音素概率分布,第二模型基于音素概率分布进行语义识别,从而基于音素信息可以较为准确的预测字,提高语义识别的准确性。
第一方面,本申请实施例提供了一种语音识别方法,包括:
获取目标低资源语言的待处理语音特征;将待处理语音特征输入到训练好的第一模型中进行音素识别,确定训练好的第一模型输出的音素概率分布;将音素概率分布输入到训练好的第二模型中进行语义识别,确定第一识别结果;第二模型通过文字误差训练得到,文字误差指示了第二模型针对音素概率分布的语义识别的结果和文字标签的偏差,音素概率分布为训练好的第二模型对第二语音特征进行音素识别的结果,文字标签指示了第二语音特征对应的语义。
本方案中,通过第一模型进行音素识别确定音素概率分布,第二模型基于音素概率分布进行语义识别,从而基于音素信息可以较为准确的预测字,提高语义识别的准确性。另外,通过训练好的第一模型可以构建训练第二模型的音素概率分布和文字标签的数据对,提高用于第二模型训练的数据量,从而提高第二模型基于音素概率分布进行语义识别的准确性。
在一种可能的实现方式中,第一模型的训练过程包括:
基于多个第一语音特征,对待训练的第一模型进行预训练,得到预训练好的第一模型;其中,多个第一语音特征中的至少部分第一语音特征携带音素标签,多个第一语音特征中包括非目标高资源语言的第一语音特征;基于目标低资源语言的多个第三语音特征对预训练好的第一模型进行微调,得到训练好的第一模型;多个第三语音特征携带音素标签。
本方案中,在预训练的基础上进行微调,提高第一模型对目标低资源语言的语音识别的准确性。另外,通过标注数据和未标注数据预训练第一模型,能够提高数据量,进而提高第一模型进行音素识别的准确性。
在该实现方式的一个例子中,第一模型包括特征提取网络、学生模型和概率输出层;其中,特征提取网络连接学生模块的输入端,学生模型的输出端连接概率输出层的输入端;其中,特征提取网络对输入的数据进行特征提取;学生模型用于对至少部分掩码的特征提取网络的输出进行处理;概率输出层用于基于学生模型的输出,输出音素概率分布。
预训练好的第一模型通过具有音素标签的第一语音特征对应的第一误差和第二误差,不具有音素标签的第一语音特征对应的第一误差,对待训练的第一模型进行预训练得到;其中,第一误差指示了第一语音特征对应的学生模型的输出和教师模型的输出之间的误差,教师模型用于对特征提取网络的输出进行处理,第二误差指示了第一模型针对第一语音特征的音素识别的结果和音素标签之间的误差。
本方案中,通过学生模型学习教师模型的输出,从而使得学生模型可以学习到更多的音素相关的信息。另外,学生模型通过学生模型和教师模型的输出之间的偏差,第一模型的音素识别的结果和真实音素的偏差训练,使得学生模型的输出可以表征更多与语音结构相关的信息。
在该例子的一个示例中,多个第一语音特征中包括目标低资源语言的第一语音特征,目标低资源语言的至少部分第一语音特征不具有音素标签。
本方案中,通过高资源语言的语音特征和低资源语言的语音特征,预训练第一模型,使得第一模型能够从非目标高资源语言学习共同的发生信息来帮助目标低资源语言的语音识别。
在该例子的一个示例中,教师模型包括堆叠的多个基于自注意的编码器。
本方案中,通过基于自注意机制的教师模型,使得学生模型能够学习到音素前后的音素信息,和不同语言针对相同音素的发音区别,提高学生模型学习的音素信息的质量。
在该实现方式的一个例子中,第二语音特征有多个,包括多个第一语音特征中的至少部分第一语音特征或/或第三语音特征中的至少部分第三语音特征。
在一种可能的实现方式中,第二模型包括第二堆叠的多个基于自注意机制的解码器。
在该实现方式的一个例子中,解码器包括第一自注意层,第一卷积层、第二卷积层、第二自注意层、全连接层;其中,第一自注意层的输出连接第一卷积层和第二卷积层的输入,第一卷积层和第二卷积层的输出连接第二自注意层的输入,第二自注意层的输出连接全连接层的输入,全连接层的输出作为下一解码器的输入;解码器的输入为第一模型的输出或上一解码器的输出。
第二方面,本申请实施例提供了一种语音识别装置,包括:至少一个存储器,用于存储程序;至少一个处理器,用于执行存储器存储的程序,当存储器存储的程序被执行时,处理器用于执行第一方面中所提供的方法。
第三方面,本申请实施例提供了一种语音识别装置,其特征在于,装置运行计算机程序指令,以执行第一方面中所提供的方法。示例性的,该装置可以为芯片,或处理器。
在一个例子中,该装置可以包括处理器,该处理器可以与存储器耦合,读取存储器中的指令并根据该指令执行第二方面中所提供的方法,或者执行第三方面中所提供的方法。其中,该存储器可以集成在芯片或处理器中,也可以独立于芯片或处理器之外。
第四方面,本申请实施例提供了一种计算机存储介质,计算机存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行第一方面中所提供的方法。
第五方面,本申请实施例提供了一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行第一方面中所提供的方法。
附图说明
图1是本申请实施例提供的人工智能主体框架的示意图;
图2是本申请实施例提供的模型训练的示意图;
图3a是本申请实施例提供的模型训练系统的架构示意图一;
图3b是本申请实施例提供的模型训练系统的架构示意图二;
图3c是本申请实施例提供的模型训练系统的架构示意图三;
图4是本申请实施例提供的模型训练方法的流程示意图一;
图5是本申请实施例提供的第一模型训练原理的示意图;
图6是本申请实施例提供的第二模型中的Transcoder块的结构示意图;
图7是本申请实施例提供的模型训练方法的流程示意图二;
图8是本申请实施例提供的语音识别方法的流程示意图;
图9是本申请实施例提供的一种语音识别装置的结构示意图;
图10是本申请实施例提供的一种终端设备的结构示意图。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本申请实施例中的技术方案进行描述。
在本申请实施例的描述中,“示例性的”、“例如”或者“举例来说”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”、“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B这三种情况。另外,除非另有说明,术语“多个”的含义是指两个或两个以上。例如,多个系统是指两个或两个以上的系统,多个终端是指两个或两个以上的终端。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
以下,对本实施例中的部分用语进行解释说明。需要说明的是,这些解释是为了便于本领域技术人员理解,并不是对本发明所要求的保护范围构成限定。
人工智能(Artificial Intelligence,AI):是计算机科学的一个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。
归一化处理:指将数据特征按比例缩放,使之落入一个小的特定区间,以去除数据特征的单位限制,将其转化为无量纲的纯数值,便于使用不同单位或量级的指标进行比较和加权。
激活函数:在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端。激活函数可以为修正线性单元(ReLU)函数、S形函数(sigmoid函数)或双曲正切(hyperbolic tangent function,一般写作tanh)函数等中的任意一个。
损失函数:在训练模型比如神经网络的过程中,因为希望模型的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新模型的模型参数(当然,在第一次更新之前通常会有初始化的过程,即为模型中的各层预先配置参数,在模型为神经网络时,模型参数可以为权值向量),比如,如果网络的预测值高了,就调整模型参数让它预测低一些,不断的调整,直到模型能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么模型的训练就变成了尽可能缩小这个loss的过程。
低资源语言是语言数据集较少的语言,包括方言和小语种语言,如上海话。
高资源语言是与低资源语言相对的语言,高资源语言是语言数据集较多的语言,如普通话。
音素:最小的语音单位。
注意力机制:在认知科学中,由于信息处理的瓶颈,人类会选择性地关注所有信息的一部分,同时忽略其他可见的信息,上述机制通常被称为注意力机制。
注意力网络:利用注意力机制构建的网络,换言之,该网络具备专注于输入或特征上的子集的能力。
音素概率分布:指示了与预设数量个示例音素中每个示例音素的匹配概率值。其中,示例音素指的是当前可以穷举的所有音素,以汉语为例,汉语的示例音素可以为声母及韵母,示例因音素的总数量一共是83个;匹配概率值指示了与对应的示例元素相匹配的可能性。
知识蒸馏:知识蒸馏也是一种模型压缩方法,参数裁剪、精度转换、神经网络结构搜索这些模型压缩方法会破坏原模型的结构,也就是会损坏原模型从数据中学习到的知识,而知识蒸馏通过蒸馏的手段保护原模型中学习到的知识,然后将这些知识迁移到压缩模型中,使压缩模型虽然相比原模型体积要小的多,但是也可以学习到相同的知识。
图1示出一种人工智能主体框架示意图,该主体框架描述了人工智能系统总体工作流程,适用于通用的人工智能领域需求。
下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。
“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。
“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施:
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片提供,其中,智能芯片可以为中央处理器(central processing unit,CPU),网络处理器(neural-networkprocessing units,NPU),图形处理器(graphics processing unit,GPU),专用集成电路(application specific integrated circuit,ASIC),现场可编程逻辑门阵列(fieldprogrammable gate array,FPGA)等硬件加速芯片;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。本方案中,通用能力可以为计算机视觉的处理,图像的识别等。
(5)智能产品及行业应用
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶,平安城市,智能终端等。
在上述人工智能框架下,图1中数据可以为语音,数据处理可以为语音识别技术,也被称为自动语音识别(Automatic Speech Recognition,ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。
端到端的自动语音识别(ASR)系统通常需要大量标注数据进行训练,在许多语言中难以获得。这个问题使得大多数低资源语言的ASR训练成为一项挑战。跨语言学习是提高低资源语言ASR性能的一种方法,它可以从非目标高资源语言中学习共同的发音信息来帮助目标低资源语言的ASR。自监督预训练已在跨语言方面显示出卓越的效果,它通过在多语种数据上进行预训练(包括可用语言的标注和未标注数据),然后使用标注数据对目标低资源语言进行微调。
在相关技术中,提供了一种语音识别模型的训练方式,以解决存在较小的标注数据的低资源场景。其中,语音识别模型包含了基于卷积神经网络(Convolution NeuralNetwork,CNN)的特征提取网络,基于Transformer的上下文网络和一个特征量化模块用于学习离散的向量。在训练过程,特征提取网络的输出直接输入到特征量化模块,掩码后输入到上下文网络;具体地,训练过程分成两个阶段,第一个阶段采用多任务学习的方式;对于标记数据,指定了两个训练目标:第一个是音素级别的损失函数,该函数指示了上下文网络输出的音素概率分布和实际的音素分布的偏差;第二个是在掩码上下文表示和离散潜在表示上定义的对比任务,该任务用于减少Transformer输出和特征量化模块的输出之间的误差。对于未标记数据,采用单任务学习的方式,该任务是掩码上下文表示和离散潜在表示上定义的对比任务;在第二个阶段,其和第一个阶段类似,区别在于基于Transformer的上下文网络输出若干个字,对应的,音素级别的损失函数替换为文字级别的损失函数,该函数指示了上下文网络输出的字和实际的字之间的偏差。
但是,上述方案中,但是,上述方案中,语音识别模型在进行字识别的同时融合了音素信息,可能会导致语音识别模型学习到的音素信息无法准确的预测字,降低语义识别准确性。
为了解决上文问题,本申请实施例提供了一种语音识别方法。这里仅仅是对方法的概述,详细内容参见下文。如图2所示,本申请实施例提供的语音识别方法包括如下要点:
提供了第一模型和第二模型;其中,第一模型的输入为语音特征,输出为音素概率分布;第二模型的输入为音素概率分布,输出为语义识别的结果。
在模型训练时,对于第一模型,首先至少使用高资源语言的语音特征预训练第一模型;然后,基于低资源语言的语音特征对训练好的第一模型进行微调,得到最终训练好的第一模型。对于第二模型,对于高资源语言和低资源语言中具有文字标签的语音特征,将语音特征输入到最终训练好的第一模型,确定第一模型输出的音素概率分布;得到每个语音特征对应的音素概率分布;然后,使用语音特征对应的音素概率分布和文字标签,训练第二模型,得到训练好的第二模型。
在具体使用时,获取低资源语言的语音特征;将语音特征输入到训练好的第一模型中进行音素识别,确定第一模型输出的音素概率分布;将音素概率分布输入到第二模型中进行语义识别,确定识别结果。
综上,本申请实施例中,通过构建以音素概率分布为输入,句词为输出的第二模型,提高第二模型从音素概率分布中准确预测句词的可能性。
首先对第一模型的模型结构进行描述,需要说明的是,下文所示的第一模型的模型结构仅仅作为示例,并不构成具体限定,在具体实现时,可以结合实际需求灵活设计第一模型的结构。
在一种可行的实现方式中,第一模型设置有学生模型。
图2示出了本申请实施例提供的一种第二模型的模型结构的示意图。如图2所示,第一模型包括特征提取网络、学生模型和输出层。其中,特征提取网络连接学生模型的输入端,学生模型的输出端连接输出层的输入端,输出层的输出端连接第二模型。
示例性地,学生模型可以包括若干个的编码器。比如,学生模型可以包括1个编码器,再比如,可以包括堆叠的多个编码器。为了提高语音语音识别的准确率,避免单一编码方式带来的编码偏重某一方向而忽略别的方向的问题,本实施例中可以采用堆叠的多个编码器进行编码,比如可以设置同时设置2个编码器进行编码,编码器的数量和种类可以根据项目对语音识别准确性的要求而定。本申请实施例并不意图限制编码器的结构,比如可以为transformer(基于自注意机制的翻译模型),再比如可以为Conformer(基于transformer的变体模型),还可以为门控循环单元(Gated Recurrent Unit,GRU)、循环神经网络(Recurrent Neural Network,RNN)、长短期记忆网络(Long Short-Term Memory,LSTM)等神经网络,本申请实施例以transformer编码器为例进行描述。
示例性地,transfomer编码器由L个块堆叠而成,每个块均包含第一层归一化单元、多头自注意力模块MHA(Multi-headed Self-attention)、第一加法单元、第二层归一化单元、多层感知机MLP((MLP,Multi layer Perception))和第二加法单元。
其中,对于第1个块,其输入向量为y1-1,其中,第一个块的输入向量为y0为特征提取网络的输出掩码或未掩码的结果;上一个块的输出为下一个块的输入;
第一层归一化单元对输入向量y1-1进行层归一化处理得到向量X=LN(y1-1);在transfomer编码器为学生模型中的编码器时,输入向量y1-1为特征提取网络的输出掩码后的结果,在transfomer编码器为教师模型中的编码器时,输入向量y1-1为特征提取网络的输出未掩码的结果;
多头自注意力模块是注意力机制的一种扩展形式,可以在处理序列数据时更有效地提取信息。其中,多头注意力模块包括多个单头,每个单头采用自注意机制处理数据,自注意机制可以对输入进行线性变换,以得到查询向量矩阵Q、键向量矩阵K以及值向量矩阵V。这里,线性变换包括将输入向量矩阵乘于第一权值矩阵以得到查询向量矩阵Q、将输入向量矩阵乘于第二权值矩阵以得到键向量矩阵V以及将输入向量矩阵乘于第三权值矩阵以得到值向量矩阵V。
示例性地,多头自注意力模块包括M个单头,第m个单头的自注意机制的输出SAm为:
多头自注意力模块包括M个单头,第m个单头的自注意机制的输出SAm为:
其中,均表示线性转换矩阵,可以分别称为第一权值矩阵,第二权值矩阵和第三权值矩阵,/>表示查询向量矩阵Q,/>表示键向量矩阵K,/>表示值向量矩阵V,dk表示/>的向量维度,T表示转置。
将M个单头的自注意力机制的输出拼接起来,通过乘以1个线性变化矩阵W0得到多头自注意力模块的输出MHA(X)=Concat[SAm,...,SAM]W0。
第一加法单元,用于将多头自注意力模块的输出MHA(X)与输入向量y1-1进行相加,结果为y′1=MHA(X)+y1-1:
第二层归一化单元,用于对y′1进行层归一化处理得到向量LN(y′1);
多层感知机,用于对向量LN(y′1)进行处理,输出处理结果:MLP(LN(y′1))
第二加法单元,用于将多层感知机的输出与y′1进行相得到y1=MLP(LN(y′1))+y′1。
则第1个块的输出为y1,第L个块的输出yL为Transfomer编码器的输出。
从上述描述可知,通过从不同角度得到的多个自注意力结果,并且对这些结果进行组合,以得到更为准确的信息。当然,也可以理解为为了提取多重语义信息而进行了一个划分,最终还是会合并成词向量维度。多头自注意力具体指的是指做多次自注意力之后进行拼接,每一次算一个头,每次查询向量矩阵、键向量矩阵和值向量矩阵的权值参数是不一样的;可以看出,多头自注意力与传统的自注意力的区别在于计算了多次,这样可以从不同的维度和表示子空间里学习到相关的信息。
上面以基于多头自注意力机制的transformer神经网络为例进行编码器内部结构的说明,还应理解的是,编码器的内部结构有多种方式,同时不同编码器之间的连接方式也有多种方式,在本发明实施例中描述了上述采用基于多头自注意力机制的transformer神经网络,以及串联连接的连接方式,但本发明实施例对编码器的内部结构以及两个或多个编码器之间的连接方式不做限制。
另外,Transfomer编码器采用自注意力机制能够学习音素的上下文信息,也即音素和之前的音素和之后的音素之间的关系。
需要说明的是,大部分的AI仍然基于监督学习,它只适用于具有标注数据的任务。但是,假如希望机器可以完更多的任务,那么收集所有的标注数据将变得不现实。例如,虽然研究人员在为英语语音和文本创建大规模标注数据集方面做了大量工作,但对于地球上成千上万的语言来说,这样做是不可行的。自监督使计算机能够通过观察世界,然后弄清楚图像、语音或文本的结构来了解世界。不需要专门训练就能对图像进行分类或理解语音的机器,其扩展性也会大大提高。
在一种可能的实现方式中,在第一模型的训练过程,可以采用自监督的方式进行训练,可选地,可以构建教师模型,第一模型中的特征提取网络连接教师模型的输入端;在第一模型的训练过程,对于特征提取网络的输出,一方面,无需掩码可以直接输入到教师模型中,另一方面,至少部分掩码后输入到学生模型中。其中,掩码可以为学习到的,也可以为预先设置的,比如可以为掩码token。
具体来说,本申请实施例中第一模型的自监督的训练方式是通过在给定输入的部分视图的情况下预测完整输入模型表示:首先通过学生模型对特征提取网络的输出掩码后进行编码,然后通过使用相同模型参数化的教师模型对特征提取网络的输出未掩码进行编码来构建目标表示。学习任务是让学生模型在给定输入部分视图的情况下预测这些目标表示。需要说明的是,目标表示是上下文表示,不仅对特定的时间步长进行编码,还对来自样本的其他信息进行编码,这是由于在Transformer网络中使用了自注意力机制。
本申请实施例中,在一个例子中,教师模型的参数量可以和学生模型的参数量相同,比如和学生模型的结构相同,也可以大于学生模型的参数量。需要说明的是,本申请实施例中的教师模型能够学到到不同语言中相同音素的区别,确保经过教师模型能够编码更多的信息。示例性地,教师模型可以包括堆叠的多个transformer编码器。transformer编码器的结构可以参见学生模型的描述,不再赘述。
图3a为本发明实施例提供的一种模型训练系统的架构示意图。如图3所示,该系统包括计算设备310和终端设备320。
其中,终端设备320可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。本方案中涉及的终端设备320的示例性实施例包括但不限于搭载iOS、android、Windows、鸿蒙系统(Harmony OS)或者其他操作系统的电子设备。本发明实施例对电子设备的类型不做具体限定。
其中,计算设备310可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDeliveryNetwork,CDN)以及大数据和人工智能平台等基础云计算服务的云服务器或云服务器集群,云服务器集群部署在若干个云数据中心;软件可以是实现对象控制方法的应用等,但并不局限于以上形式。
其中,终端设备320和计算设备310通过网络连接,从而使得终端设备320可以访问云服务器集群100部署的云管理平台111。其中,网络可以为有线网络或无线网络。示例地,有线网络可以为电缆网络、光纤网络、数字数据网(Digital Data Network,DDN)等,无线网络可以为电信网络、内部网络、互联网、局域网络(Local Area Network,LAN)、广域网络(Wide Area Network,WAN)、无线局域网络(Wireless Local Area Network,WLAN)、城域网(Metropolitan Area Network,MAN)、公共交换电话网络(Public Service TelephoneNetwork,PSTN)、蓝牙网络、紫蜂网络(ZigBee)、移动电话(Global System for MobileCommunications,GSM)、CDMA(Code Division Multiple Access)网络、CPRS(GeneralPacketRadioService)网络等或其任意组合。可以理解的是,网络可使用任何已知的网络通信协议来实现不同客户端层和网关之间的通信,上述网络通信协议可以是各种有线或无线通信协议,诸如以太网、通用串行总线(universal serial bus,USB)、火线(firewire)、全球移动通讯系统(global system for mobile communications,GSM)、通用分组无线服务(general packet radio service,GPRS)、码分多址接入(code divisionmultiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA)、长期演进(long term evolution,LTE)、新空口(new radio,NR)、蓝牙(bluetooth)、无线保真(wireless fidelity,Wi-Fi)等通信协议。
在一种可能的场景,如图3b所示,计算设备310可以作为云端(是采用应用程序虚拟化技术(Application Virtualization)的软件平台,集软件搜索、下载、使用、管理、备份等多种功能为一体);在具体使用时,计算设备310部署云管理平台311和数据中心,则终端设备320和云端之间通过云管理平台311交互;另外,数据中心可以部署节点312,其中,数据中心中的节点可以是虚拟机实例、容器实例、物理服务器等;在数据中心中,节点312的数目一般是海量的。
在本申请实施例中,一方面,节点312可以用于模型训练;在一种可能的情况,当模型的规模较大时,可以基于模型并行的思想将模型分布式地部署在多个节点312上进行并行训练。在另一种可能的情况,可以在1个节点312训练模型。
另一方面,节点312可以用于部署训练好的模型。被部署后的模型可以成为一项AI应用,或者成为AI应用中的一部分。用户可以通过Web网页在线访问该AI应用,或者通过客户端app在线访问该AI应用,当该AI应用被使用时,可以通过在线调用的方式,调用部署在节点312的模型来提供响应。由此。通过云管理平台311和训练好的模型可以实现对在线请求数据的推理,返回推理结果。在利用训练好的AI模型提供在线服务对过程中,云管理平台311可以根据模型的调用次数计费,也可以根据AI模型推理的资源消耗计费。
在一种可能的场景,如图3c所示,本申请实施例提供的模型训练方法和语音识别方法可以通过软件实现。示例性地,该软件可以为小语种语音识别软件或服务。另外,该软件具有客户端和服务端,终端设备320运行该软件的客户端,计算设备310运行该软件的服务端;后续,终端设备320运行该软件的客户端的过程中,可以调用计算设备310上运行的服务端,实现本申请实施例提供的模型训练方法和语音识别方法。
综上,本申请实施例提供的模型训练方法和语音识别方法可以应用于上述终端设备320中,也可应用于计算设备310中,在具体实现时,可以通过软件的方式运行于终端设备320或计算设备310,比如,该软件可以为服务,也可以为应用程序。另外,本申请实施例提供的处理器评估程序生成方法可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络个人计算机(Personal Computer,PC)、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
另外,对于第一模型和第二模型的开发,开发者可以在终端设备320安装AI开发框架,然后在本地进行AI模型开发,也可以在线上的平台(例如:线上开源框架平台、公有云AI基础开发平台等)使用AI开发框架进行AI模型开发。业界中的AI开发框架通常是开源的,典型的用于进行深度学生模型的开发的AI开发框架,也称为深度学习框架,包括:PaddlePaddle、Tensorflow、Caffe、Theano、MXNet、Torch和PyTorch等。
接下来,对本发明实施例提供的一种模型训练方法进行详细介绍。
图4是本申请实施例提供的模型训练方法的流程示意图。可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。比如,终端设备120和云管理平台311。下面结合终端设备320和云管理平台311对本发明实施例提供的处理器评估程序生成方法进行介绍。
如图4所示,本申请实施例提供的模型训练方法至少包括如下步骤:
步骤401、云管理平台311提供配置接口。
步骤402、终端设备311访问配置接口,获取用户对配置接口的操作,配置第一模型训练任务,第一模型训练任务指示了第一数据集的位置、第一模型的位置、节点的配置信息,所述第一数据集包括目标低资源语言的语音特征和非目标高资源语言的语音特征。
在一些可能的实现情况,配置接口可以为访问AI基础开发平台的接口。AI基础开发平台是面向开发者的一站式AI开发平台,可以提供AI开发全流程中的各种能力。示例性地,AI基础开发平台提供的能力可以包括如下6大部分:数据预处理、模型构建与训练、模型管理、模型部署、数据优化、模型优化更新。在实际应用中,用户可以基于AI基础开发平台完成AI模型的开发和AI应用的部署和管理。AI基础开发平台中的各个能力可以整合起来供用户进行AI全流程的使用,也可以分别为用户提供独立的功能。
在具体实现时,用户通过配置接口访问AI基础开发平台,在AI基础开发平台配置第一模型训练任务。
在一些可能的情况,用户可以通过AI基础开发平台的模型构建与训练,确定第一模型训练任务。
在该情况的一个例子中,第一模型可以为人为预设设置好的模型。
第一模型训练任务可以包括第一数据集的地址(用于说明数据来源,为了便于描述和区别,称为数据地址);在一个例子中,数据地址指示的第一数据集可以为经过预处理的数据集,比如,第一数据集可以为通过AI基础开发平台提供的数据预处理功能处理后的数据集。在另一个例子中,数据地址指示的第一数据集可以为没有经过预处理的第一数据集,第一数据集中的语音数据可以为语音信号,在第一数据集没有经过预处理,后续进行模型训练的时候也需要经过预处理。本申请实施例以第一数据集为预处理后的数据集为例进行描述。
在第一数据集为通过AI基础开发平台提供的数据预处理功能处理后的数据集的场景下,具体实现时,用户可以通过AI基础开发平台的数据预处理功能,实现对数据集的预处理,得到第一数据集。其中,预处理可以包括数据选择、数据标注、数据增强、数据增广、数据清洗、聚类分析、特征分析等一种或多种操作。
其中,数据集可以由用户根据实际的应用场景进预先采集,也可以使用业界已经形成的开源数据集。在一些实施例中,用户可以预先在云管理平台311购买对象存储服务object storage service(OBS),这是一种基于对象的云存储服务,用户可以将数据集存储于OBS中,然后在利用AI基础开发平台提供的数据预处理的功能时,从OBS读取数据集中的数据,可以根据需求对数据进行数据选择、数据标注、数据增强、数据增广、数据清洗、聚类分析、特征分析等一种或多种操作。
本申请实施例中,未预处理的数据集包括非目标高资源语言和目标低资源语言的语音信号,预处理后的数据集包括非目标高资源语言和目标低资源语言的语音特征。非目标高资源语言是高资源语言,目标低资源语言是低资源语言,需要说明的是,高资源语言的音素与低资源语言的音素之间具有较高的相似度。示例性地,非目标高资源语言可以是普通话,目标低资源语言可以为上海话。详细地,低资源语言和高资源语言是根据实际业务场景需要选择对应的语言语种作为低资源语言,再根据与低资源语言的相似度,在多种具有大量数据资源的语言中选择一种或多种作为高资源语言。进一步地,本发明实施例中低资源语言的语音信号也可以从预设的数据库(第一数据库之外的数据库)中获取。为进一步强调低资源语言的语音信号的私密性和安全性,低资源语言的语音信号还可以从一区块链的节点中获取。高资源语言类同,不再赘述。
其中,语音信号可以理解为对声音采集设备采集的原始语音信号。对语音信号的预处理可以去除原始语音信号中可能存在的无效、冗余的语音信号,进而提高后续对语音信号的处理效率。获取原始语音信号的方式可以有多种,一方面,电子设备可以通过其内部配置的声音采集设备获取语音信号,另一方面,可以利用外部设备获取原始语音信号或语音信号,并将其发送给电子设备,或者,可从与电子设备相连接的外部存储设备中获取原始语音信号或语音信号,其中,上述外部存储设备可包括软盘、移动硬盘、U盘等,此处不作限定;示例性地,原始语音信号可以是电子设备上集成的录音模块或与电子设备相连的录音设备对大量的不带标识的用户进行录音所采集的录音数据。在另一种可能的情况,原始语音信号可以为网上开源的语音信号集中的语音信号。
其中,预处理包括但不限于语音降噪、混响消除、语音增强、加窗分帧、特征提取(提取语音信号中的有效信息)等;声音采集设备指的是具有声音采集功能的设备,比如麦克风。本实施例中,分帧是指将整段的语音信号切分成若干段的语音处理技术,每帧的大小在10-30ms的范围内,以大概1/2帧长作为帧移。帧移是指相邻两帧间的重叠区域,能够避免相邻两帧变化过大的问题。对语音信号进行分帧处理能够将语音信号分成若干段的语音信号,可以细分训练语音信号,便于训练语音特征的提取。在对语音信号进行分帧处理后,每一帧的起始段和末尾端都会出现不连续的地方,所以分帧越多与原始语音信号的误差也就越大。采用加窗能够解决这个问题,可以使分帧处理后的训练语音信号变得连续,并且使得每一帧能够表现出周期函数的特征。其中,加窗处理具体是指采用窗函数对训练语音信号进行处理,窗函数可以选择汉明窗。通过对语音信号进行加窗处理,能够使得分帧处理后的语音信号在时域上的信号变得连续,有助于提取语音信号的语音特征。
本实施例中,语音信号不能被计算机直接识别,无法直接用于训练第一模型和第二模型。因此,需根据加窗分帧后的语音信号提取语音特征,将加窗分帧后的语音信号转化为计算机能够识别的语音特征。该语音特征具体可以是频谱特征,例如,梅尔频率倒谱系数(Mel Frequency Cepstrum Coefficient,简称MFCC)、FBank(FilterBank)特征、PCEN(Per-channel energy normalization,每通道能量归一化)特征,其中,MFCC特征、FBank特征、PCEN特征具有多维的特征(以向量的形式表示),能够较好地描述语音信号。Fbank、MFCC和PCEN特征的提取方法为可以参见相关技术,此处不做过多赘述。应当理解的,Fbank、MFCC和PCEN特征仅是示例,在实际应用中可结合实际需求确定语音特征。下面以语音特征为MFCC特征为例说明语音特征的获取过程。
对加窗分帧后的语音信号进行特征提取得到语音特征的方式可以有多种。
可选地,语音特征可以理解为特征提取网络对语音信号进行特征提取后得到的多维度向量,该多维度向量用于表征语音特征,表征可以理解为是对语音特征的表现形式。其中,特征提取网络可以为采用神经网络结构,比如可以选择双向长短期记忆模型循环神经网络(LSTM,Long-Short Term Memory RNN)、循环神经网络(RNN Transducer)、基于自注意力机制的翻译模型(Transformer)等神经网络结构中的任意一种。
可选地,语音特征可以为通过频谱运算得到的特征。示例性地,语音特征可以为MFCC特征。
在该情况下的一个可行的实现方式,AI基础开发平台可以内置有标注工具,供用户进行人工标注,不同的标注任务可以用不同的标注方式进行;本申请实施例中,在未预处理的数据集中的语音信号没有标注标签的场景下,用户可以通过AI基础开发平台为特征提取后的语音特征标注音素标签和文字标签。另外,当人工标注一定数量的数据后,平台可以自动基于人工标注数据对内置的预标注模型进行训练,训练到一定精度后,可以由预标注模型对其余未标注数据进行推理(也即智能标注),并对标注结果进行评估。对于准确率较高的智能标注数据可以直接存储至OBS以用于后续模型训练。对于准确率较低的难例,可以再通过结果显示的方式由用户进行人工确认或者修正,将人工确认后的标注数据存储至OBS。
进一步地,第一模型训练任务可以包括第一模型的地址(用于说明模型来源,为了便于描述和区别,称为第一模型地址)。在一个例子中,用户可以将第一模型存储于OBS中,以确定第一模型的存储地址。
进一步地,第一模型训练任务可以包括节点的配置信息。比如,可以包括节点数目、处理器类型、处理器规格。比如,处理器类型可以为CPU或GPU;在处理器类型为CPU时,处理器规格指示了CPU的核数和内存的大小;在处理器类型为GPU时,处理器规格指示了GPU的显存大小,CPU的核数和内存的大小。
步骤403、终端设备311向云管理平台311发送第一模型训练任务。
步骤404、云管理平台311基于第一模型训练任务,确定用于训练模型的节点312。
在一种可能的场景,第一模型训练任务中的节点的数目为1个时,表示采用一个节点312进行模型训练;在节点的数目为多个时,用于训练模型的节点312有多个,采用分布式训练的方式进行模型训练。目前分布式训练主要有两种思路,一种思路是模型并行,即将一个模型分拆成多个小模型,分别放在不同的设备上,每个设备跑模型的一部分。由于模型各个部分关系很大,这种方式效率很低,需要不同设备模型之间的频繁通信,一般不会使用这种方法。另一种思路是数据并行,完整的模型在每个机器上都有,但是把数据分成多份给每个模型,每个模型输入不同的数据进行训练。
需要说明的是,对于第一模型训练任务包括的节点的配置信息,若该配置信息中包括处理器类型和处理器规格,对应的,节点312所在的虚拟机的配置满足处理器类型和处理器规格。
步骤405、云管理平台311向用于训练模型的节点312下发第二模型任务,第二模型任务包括第一数据集的位置和第一模型的位置。
步骤406、训练模型的节点312基于第二模型训练任务,获取第一数据集和第一模型。
具体地,根据第二模型训练任务中的第一模型地址,可以从第一模型地址指示的存储空间中获取第一模型。
本申请实施例,若第二模型训练任务中的数据地址指示的数据集为经过预处理的数据集,则数据集包括语音特征,训练模型的节点312可以直接基于数据地址,获取第一数据集。在另一个例子中,若第二模型训练任务中的数据地址指示的数据集为没有经过预处理的数据集,则数据集包括语音信号,训练模型的节点312可以基于数据地址,获取数据集,对数据集中的语音信号进行预处理,将预处理后的数据集作为第一数据集。
步骤407、训练模型的节点312基于第一数据集中的多个第一语音特征,对待训练的第一模型进行预训练,得到预训练好的第一模型;多个第一语音特征中的至少部分第一语音特征携带音素标签,包括非目标高资源语言的第一语音特征。
在一种可能的情况,第一模型包括特征提取网络、学生模型、和输出层,,特征提取网络连接学生模型的输入端和教师模型的输入端,学生模型的输出端连接输出层的输入端,输出层输出音素概率分布;特征提取网络的输出,一方面可以直接输入到教师模型中,另一方面,至少部分掩码后输入到学生模型中。
在一种可能的情况,如图5所示,多个第一语音特征包括具有音素标签的第一语音特征和不具有音素标签的第一语音特征。
可选地,在对第一模型进行预训练的过程中,对于每个具有音素标签的第一语音特征,可以将第一语音特征输入到第一模型中,一方面,可以确定教师模型的输出和第一模型中的学生模型的输出的误差(为了便于描述和区别,可以称为第一误差);另一方面,可以确定第一模型输出的音素概率分布和第一语音特征的音素标签的误差(为了便于描述和区别,可以称为第二误差)。在一些可能的情况,第一损失也可以称为自监督损失和第二损失也可以称为监督损失。
其中,音素概率分布指示了该语音特征与预设数量个示例音素中每个示例音素的匹配概率值。其中,示例音素指的是当前可以穷举的所有音素,以汉语为例,汉语的示例音素可以为声母及韵母,示例因音素的总数量一共是83个;匹配概率值指示了该语音特征与对应的示例元素相匹配的可能性。一方面,音素概率分布可以通过编码向量进行表征,通过编码向量来表示语音特征与所有示例音因素之间的匹配关系,以示例音因素的数量为n个为例,某第一语音特征与n个示例音素序列中的第三个示例音素匹配,则可得到该第一语音特征对应的编码向量为(0、0、1、0....0),其中,1后面跟着n-3个0。另一方面,音素概率分布可以为某一语音特征与每一示例音素的匹配概率值,例如,以示例因音素的数量为n个为例,对于某一语音特征,计算该语音特征与每一示例音素的匹配概率值,则可得到n个匹配概率值,n个匹配概率值拼接即可形成音素概率分布。需要说明的是,本发明本公开实施例不对音素概率分布的表现方式作具体限定。
对于每个不具有音素标签的第一语音特征,可以将第一语音特征输入到第一模型中,确定教师模型的输出和第一模型中的学生模型的输出的第一误差。
最后,基于每个具有音素标签的第一语音特征对应的第一误差和第二误差,以及,不具有音素标签的第一语音特征,对第一模型进行预训练。
在具体地训练过程,对于每个具有音素标签的第一语音特征(假设为第i个第一语音特征),将第i个第一语音特征输入至特征提取网络中,特征提取网络输出编码后的特征P1,将特征P1输入到教师模型中,教师模型对特征P1进行处理,输出特征Y;将特征P1中的至少部分掩码后输入到学生模型,学生模型对掩码后的特征P1进行处理,输出特征C,基于特征Y和特征C,确定第一损失Ls(Y,C)。示例性地,第i个第一语音特征对应的第一损失Lis(Y,C)的计算公式可以如下:
其中,β为预设常数,具体可结合实际需求确定,本申请实施例对此不做具体限定,比如可以为0.2。
接着将特征C输入到输出层,输出层输出音素概率分布。基于音素概率分布和第一语音特征的音素标签,确定第二损失。其中,第一语音特征的音素标签可以为音素模块对应的热编码向量[0、0、1、0、…、0],其中,音素模板指示了按序排列的N个音素,热编码向量中的N个元素分别与N个音素一一对应,N个元素的顺序和N个音素的顺序适配。其中,热编码向量中的元素对应的元素值用于表示元素对应的音素是否存在,0表示不存在,1表示存在。音素的数目N一般大于等于2。第二损失Li通过如下损失函数计算损失值Li,损失函数可以为交叉熵损失函数,具体公式如下。
其中,lir表示第i个语音特征的语音标签中第r个的元素的元素值;sir表示第i个语音特征的音素概率分布中的第r个概率值。
对于每个不具有音素标签的第一语音特征(假设为第j个第一语音特征),将第j个第一语音特征输入至特征提取网络中,特征提取网络输出编码后的特征P1,将特征P1输入到教师模型中,教师模型对特征P1进行处理,输出特征Y;将特征P1中的至少部分掩码后输入到学生模型,学生模型对掩码后的特征P1进行处理,输出特征C,基于特征Y和特征C,确定第j个第一语音特征对应的第一损失Ljs(Y,C)。详细内容参见上文对第一损失的描述,不再赘述。
然后,基于每个具有音素标签的第一语音特征对应的第一误差和第二误差Ls(Y,C),每个不具有音素标签的第一语音特征对应的第二误差Ls(U,C),确定整体损失,基于整体损失,对第一模型进行预训练。示例性地,整体损失的具体公式如下。
其中,α为自监督训练的权重,具体可集合实际需求确定,本申请实施例对比不做具体限定;n表示具有音素标签的第一语音特征的数目;m表示不具有音素标签的第一语音特征的数目。
示例性地,如图5所示,多个第一语音特征包括具有音素标签的非目标高资源语言的第一语音特征,不具有音素标签的非目标高资源语言和目标低资源语言的第一语音特征。
对于具有音素标签的非目标高资源语言的第一语音特征,将第一语音特征输入到第一模型中,确定教师模型的输出和第一模型中的学生模型的输出之间的第一误差,以及,第一模型中的概率输出层和第一语音特征的音素标签之间的第二误差。
对于不具有音素标签的非目标高资源语言的第一语音特征,将第一语音特征输入到第一模型中,确定教师模型的输出和第一模型中的学生模型的输出之间的第一误差。
对于不具有音素标签的目标低资源语言的第一语音特征,将第一语音特征输入到第一模型中,确定教师模型的输出和第一模型中的学生模型的输出之间的第一误差。
最后,基于具有音素标签的非目标高资源语言的第一语音特征对应的第一误差和第二误差,不具有音素标签的非目标高资源语言和目标低资源语言的第一语音特征对应的第一误差,训练第一模型。
步骤408、训练模型的节点312基于第一数据集中的多个第三语音特征,对预训练好的第一模型进行微调,得到训练好的第一模型;多个第三语音特征中的第三语音特征携带音素标签。
对预训练的第一模型进行微调的过程中,可以固定第一模型中的特征编码层和学生模型,对于目标低资源语言的每个第三语音特征,可以将该第三语音特征输入到第一模型中,可以确定第一模型输出的音素概率分布和第三语音特征的音素标签的第二误差。第二误差参见步骤407中的描述,不再赘述。
然后,基于目标低资源语言的每个第三语音特征对应的第一误差,对预训练好的第一模型进行微调。
综上,本申请实施例中,一方面,第一模型的训练过程采用预训练+微调的方式,从非目标高资源语言学习共同的发生信息来帮助目标低资源语言的语音识别,确保第一模型的音素识别的准确性;另一方面,第一模型中的学生模型学习教师模型的输出,从而使得学生模型可以学习到更多的音素相关的信息;再一方面,教师模型为基于自注意的编码器,使得学生模型能够学习到音素前后的音素信息,和不同语言针对相同音素的发音区别,提高学生模型学习的音素信息的质量。
接着描述第二模型的训练。
首先,对第二模型的模型结构进行说明。图6示出了本申请实施例提供的一种第二模型的模型结构的示意图。第二模型可以包括若干个transcoder(解码器)。为了提高语音语义识别的准确率,避免单一解码方式带来的解码偏重某一方向而忽略别的方向的问题,本实施例中可以采用多个transcoder对编码层的编码结果进行解码,比如可以设置同时设置第一解码层和第二解码层对编码层的编码结果进行解码,还可以设置第一解码层、第二解码层和第三解码层进行解码,解码层的数量和种类可以根据项目对语音识别准确性的要求而定。
示例性地,transcoder可以为基于注意力的网络,比如,可以为transformer,再比如可以为Conformer,还可以为门控循环单元(GRU)、循环神经网络(RNN)、长短期记忆网络(LSTM)等神经网络,。可以包括2个多头注意力模块、2个卷积层和前馈层。为了便于描述和区别,将2个多头注意力模块记为多头注意力模块MHA1和多头注意力模块MHA2,2个卷积层记为卷积层C1和卷积层C2。
其中,多头注意力层MHA1的输出端连接卷积层C1的输入端,卷积层C1的输出端连接多头注意力层MHA2的输入端,多头注意力层MHA2的输出端连接前馈层的输入端。
前馈层可以为具有多层线性层的全连接网络,可以输出句词。
示例性地,对于卷积层C1和卷积层C2,卷积层可以包括很多个卷积算子,卷积算子也称为卷积核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长str ide的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depth d imens ion)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用维度相同的多个权重矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化……该多个权重矩阵维度相同,经过该多个维度相同的权重矩阵提取后的特征图维度也相同,再将提取到的多个维度相同的特征图合并形成卷积运算的输出。这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以从输入图像中提取信息,从而帮助进行正确的预测。
当transcoder有多个时候,初始的transcoder的卷积层往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着transcoder的深度的加深,越往后的卷积层提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
另外,卷积层C1和卷积层C2中的卷积核的尺寸可以相同,也可以不同,一般不同,从而提取不同粒度的文字信息,从而提高对不同长度的单词或句子识别的准确性。在一些可能的情况,卷积层可以包括多个不同尺寸的卷积核。示例性地,卷积层包括卷积核11-1n,其中,卷积核11-1n为多个不同尺寸的卷积核,例如,卷积核11的尺寸为1x1,卷积核12的尺寸为3x3,卷积核13的尺寸为5x5。本方案中,卷积核11-1n主要用于对输入的数据分别进行特征提取,从而获取到不同尺度的特征表示。可以理解的是,如果使用相同尺寸的卷积核进行特征提取,那提取出的特征将会是固定不变的,即获取到的感受野下的上下文信息是一致的,这就难以找寻到最优的感受野下的上下文信息;而本方案中,使用多个不同尺寸的卷积核进行特征提取,则使得提取出的特征是变化的,即获取到的感受野下的上下文信息是不一致的,从而使得可以从不同的感受野下的上下文信息中,寻到最优的感受野下的上下文信息,提升了语音处理的准确度。此外,通过将卷积层设置为多个不同尺寸的卷积核,也减少了卷积层的个数,从而减少了卷积操作数,降低了系统功耗。
多头注意力模块MHA1和MHA2参见上文对第一模型中的多头自注意力模块MHA的描述,不再赘述。
其中,对于多头注意力模块MHA1,其输入为第一模型中输出层输出的音素概率分布Po,输出为MHA1(Po)。
多头注意力模块MHA1的输出和输入的音素概率分布Po相加,得到第一相加结果S1。
第一相加结果S1输入到卷积层C1和卷积层C2中,对卷积层C1和卷积层C2的输出相加,得到第二相加结果S2。
对第一相加结果S1、第二相加结果S2继续相加,得到第三相加结果S2。
将第三相加结果S2作为多头注意力模块MHA2的输入,对MHA2的输出和第三相加结果S2相加,得到第四相加结果S4。
将第四相加结果S4作为前馈层的输入,对前馈层的输出和第四相加结果S4相加,得到第五相加结果S5,作为第1个transcoder的输出y1。第1个transcoder的输出y1作为第2个transcoder的输入。
假设一共有N个transcoder,第N个transcoder的输出yN作为第二模型的输出。
图7是本申请实施例提供的模型训练方法的流程示意图。如图7所示,在图4所示的步骤401至408的基础上,本申请实施例提供的模型训练方法至少还包括如下步骤:
步骤409、训练模型的节点312基于第二模型训练任务,获取待训练的第二模型和用于训练第二模型的第二数据集。
具体地,第二模型训练任务中包括第二模型的地址(为了便于描述和区别,称为第二模型地址);对应的,训练模型的节点312根据第二模型训练任务中的第二模型地址,可以从第二模型地址指示的存储空间中获取第二模型。
在一个例子中,第二数据集可以为第一数据集中具有文字标签的语音特征形成的集合。这里,从第一数据集确定第二数据集的方式仅仅作为示例,并不构成具体限定,在另一些例子中,第二数据集也可以为第一数据集之外的语音特征形成的集合,在该例子中,第二模型训练任务中可以包括第二数据集的地址。
步骤410、训练模型的节点312基于训练好的第一模型,对第二数据集中的多个第二语音特征分别进行音素识别,确定多个第二语音特征各自对应的音素概率分布,多个第二语音特征具有文字标签。
具体地,对于第二数据集中的每个第二语音特征,将该第二语音特征输入到训练好的第一模型,确定训练好的第一模型输出的音素概率分布,对该音素概率分布和该第二语音特征具有的文字标签关联后作为数据对。
示例性地,在从第一数据集确定第二数据集的情况下,多个第二语音特征可以包括步骤407中的多个第一语音特征的至少部分第一语音特征,和/或,多个第三语音特征的至少部分第三语音特征。
步骤411、训练模型的节点312将每个第二语音特征分别输入到待训练的第二模型,确定第二模型输出的每个第二语音特征对应的识别结果。
步骤412、训练模型的节点312基于多个第二语音特征各自对应的识别结果和具有的文字标签,训练待训练的第二模型,确定训练好的第二模型。
示例性地,文字标签可以表示1个字的标识,或者,多个字的标识和多个词的顺序。示例性地,标识可以为编码向量,该编码向量用于表示M个字的排布,包括M个元素的元素值;其中,M个元素分别与M个字一一对应,编码向量中的M个元素的顺序表示M个字的顺序;元素值表示是否存在元素对应的字,比如,元素值可以为0或1,0表示不存在该元素对应的字,1表示存在该元素对应的字。
识别结果包括若干个字的标识,在字的数目为多个时,还包括多个字的顺序。
在文字标签通过编码向量构建的前提下,示例性地,标识可以为编码向量,该编码向量用于表示M个字的排布,包括M个元素的元素值;其中,M个元素分别与M个字一一对应,编码向量中的M个元素的顺序表示M个字的顺序。M个字一般可以表示所有可能使用的字。
在一个例子中,元素值表示是否存在元素对应的字,比如,元素值可以为0或1,0表示不存在该元素对应的字,1表示存在该元素对应的字。对应的,第一识别结果可以为按序排列的编码向量形成的矩阵,每个编码向量表示1个字,编码向量的顺序表示字的顺序。
在另一个例子中,元素值表示存在元素对应的字的概率值,比如,概率值可以为0到1之间的任一数值。对应的,识别结果可以为按序排列的编码向量形成的矩阵,每个编码向量用于指示1个字,编码向量的顺序表示字的顺序。
在具体实现时,基于第二语音特征对应的识别结果和具有的文字标签,确定第二语音特征对应的第三损失;基于多个第二语音特征对应的第三损失,训练第二模型。
示例性地,对于第i个语音特征,需要计算对应的识别结果中第i个编码向量(为了便于描述和区别,称为预测编码向量)和文字标签中第i个编码向量(为了便于描述和区别,称为标签编码向量)之间的损失(为了便于描述和区别,称为第三损失),记为Li;需要说明的是,若文字标签中没有第i个标签编码向量,则第i个标签编码向量为0组成的向量。
具体地,可以通过交叉熵损失函数计算第i个标签编码向量,以及,第i个预测编码向量之间的损失。交叉熵损失函数如下:
其中,lir表示第i个标签编码向量中第r个元素的元素值;yir表示第i个预测编码向量中的第r个元素的元素值;M表示编码向量中元素的数目。
在计算得到L1、L2、…、Li、…、LN之后,基于L1、L2、…、Li、…、LN确定第i个第二语音特征对应的第三损失。
综上,本申请实施例中,一方面,通过训练好的第一模型可以构建海量音素概率分布-文字标签的数据对,由此基于海量数据对训练第二模型,提高第二模型基于音素概率分布进行语义识别的准确性。另一方面,通过第一模型进行音素识别确定音素概率分布,第二模型基于音素概率分布进行语义识别,从而基于音素信息可以较为准确的预测字,提高语义识别的准确性。
需要说明的是,图7示出的第二模型的训练方法仅仅作为示例,并不构成具体限定。比如,在一些可能的情况,可以通过AI基础开发平台的数据预处理的能力,构建多个第二语音特征各自对应的识别结果和具有的文字标签;然后,基于模型构建与训练,确定第三模型训练任务,第三模型训练任务指示了多个第二语音特征各自对应的识别结果和具有的文字标签的数据地址,第二模型的地址、用于训练第二模型的节点312的数目等,详细内容可以参见对第一模型训练任务的描述。在具体实现时,终端设备311向云管理平台311发送第三模型训练任务。云管理平台311基于第一模型训练任务,确定用于训练第二模型的节点312;然后,用于训练第二模型的节点312执行步骤411和步骤412的内容。
本申请实施例,第一模型和第二模型训练好以后,在一种可能的情况,AI基础开发平台通过模型部署的功能部署模型。在另一种可能的情况,AI基础开发平台可以将训练好的第一模型和第二模型发送到终端设备320,用户操作终端设备320进行模型部署。
需要说明的是,训练第一模型和第二模型涉及到了对语音信号的预处理,因此,需要将语音信号的预处理的算法、训练好的第一模型和训练好的第二模型一同部署。
对于通过AI基础开发平台部署模型的场景,在一个例子中,用户可以通过终端设备311访问AI基础开发平台,配置模型部署任务。模型部署任务可以包括部署模型的设备地址。在另一个例子中,AI基础开发平台可以自动化部署模型,将部署好的模型的地址反馈给用户。
对于用户通过终端设备320部署的场景,在一个例子中,用户可以通过终端设备311配置模型部署任务。模型部署任务可以包括部署模型的设备地址。
在一些可能的场景中,第一模型和第二模型可以部署在数据中心中的一个或多个节点312上,也可以部署在一个或多个智能设备上比如音箱,机器人上。
在一些可能的情况,可以将第一模型和第二模型部署在不同的设备。这样,部署第一模型的设备需要将第一模型的输出发送到部署第二模型的设备,部署第二模型的设备基于第一模型的输出进行语义识别。
在另一些可能的情况,可以将第一模型和第二模型部署在同一个设备。本申请实施例以第一模型和第二模型部署在同一个设备为例进行描述,为了便于描述和区别,将第一模型和第二模型所在设备称为目标设备。在实际应用中,目标设备还包括用于处理语音信号的预处理的算法。
图8是本申请实施例提供的语音识别方法的流程示意图。如图8所示,本申请实施例提供的语音识别方法至少包括如下步骤:
步骤810、终端设备320获取目标低资源语言对应的语音信号。
在具体实现时,终端设备320具有声音采集装置比如麦克风,声音采集装置用于采集外部的声波,得到音频信号。
步骤820、终端设备320向目标设备发送目标低资源语言对应的语音信号。
步骤830、目标设备基于目标低资源语言对应的语音信号,确定目标低资源语言对应的待处理的语音特征。
在具体实现时,目标设备基于预处理的算法处理语音信号,确定语音特征。
步骤840、目标设备将待处理的语音特征输入到训练好的第一模型中进行音素识别,确定训练好的第一模型输出的音素概率分布。
第一模型的训练方式参见图4的描述,不再赘述。需要说明的是,图4示出的第一模型的训练方式仅仅作为示例,并不构成具体限定,在实际应用中,还可以采用其他的方式训练第一模型。
步骤850、目标设备将训练好的第一模型输出的音素概率分布输入到训练好的第二模型中进行语义识别,确定识别结果。
第二模型的训练方式参见图7的描述,不再赘述。需要说明的是,图7示出的第一模型的训练方式仅仅作为示例,并不构成具体限定,在实际应用中,还可以采用其他的方式训练第二模型。
综上,本申请实施例中,通过第一模型进行音素识别确定音素概率分布,第二模型基于音素概率分布进行语义识别,从而基于音素信息可以较为准确的预测字,提高语义识别的准确性。
需要说明的是,终端设备320和目标设备交互实现语音识别仅仅作为示例,在一些可能的实现方式中,目标设备可以为终端设备320,终端设备320在本地部署训练好的第一模型、训练好的第二模型和语音信号的预处理算法,从而使得终端设备320可以在本地实现语音识别。
基于与本发明方法实施例相同的构思,本发明实施例还提供了一种语音识别装置。语音识别装置包括若干个模块,各个模块用于执行本发明实施例提供的个人信息识别方法中的各个步骤,关于模块的划分在此不做限制。示例地,语音识别装置装置用于执行本发明实施例提供的语音识别方法,图9是本申请实施例提供的语音识别装置的结构示意图。如图9所示,本申请实施例提供的语音识别装置,包括:
特征获取模块901,用于获取目标低资源语言的待处理语音特征;
音素识别模块902,用于将所述待处理语音特征输入到训练好的第一模型中进行音素识别,确定训练好的第一模型输出的音素概率分布;
语义识别模块903,用于将所述音素概率分布输入到训练好的第二模型中进行语义识别,确定第一识别结果;所述第二模型通过文字误差训练得到,所述文字误差指示了所述第二模型针对音素概率分布的语义识别的结果和文字标签的偏差,所述音素概率分布为所述训练好的第二模型对第二语音特征进行音素识别的结果,所述文字标签指示了所述第二语音特征对应的语义。
在一种可能的实现方式中,所述第一模型的训练过程包括:
基于多个第一语音特征,对待训练的第一模型进行预训练,得到预训练好的第一模型;其中,所述多个第一语音特征中的至少部分第一语音特征携带音素标签,所述多个第一语音特征中包括非目标高资源语言的第一语音特征;基于目标低资源语言的多个第三语音特征对预训练好的第一模型进行微调,得到训练好的第一模型;所述多个第三语音特征携带音素标签。
在该实现方式的一个例子中,所述第一模型包括特征提取网络、学生模型和概率输出层;其中,所述特征提取网络连接所述学生模块的输入端,所述学生模型的输出端连接所述概率输出层的输入端;其中,所述特征提取网络对输入的数据进行特征提取;所述学生模型用于对至少部分掩码的所述特征提取网络的输出进行处理;所述概率输出层用于基于所述学生模型的输出,输出音素概率分布;
所述预训练好的第一模型通过具有音素标签的第一语音特征对应的第一误差和第二误差,不具有音素标签的第一语音特征对应的第一误差,对待训练的第一模型进行预训练得到;其中,所述第一误差指示了所述第一语音特征对应的所述学生模型的输出和教师模型的输出之间的误差,所述教师模型用于对所述特征提取网络的输出进行处理,所述第二误差指示了所述第一模型针对所述第一语音特征的音素识别的结果和所述音素标签之间的误差。
在该例子的一个示例中,所述多个第一语音特征中包括目标低资源语言的第一语音特征,目标低资源语言的至少部分第一语音特征不具有音素标签。
在该例子的一个示例中,所述教师模型包括堆叠的多个基于自注意的编码器。
在该实现方式的一个例子中,所述第二语音特征有多个,包括所述多个第一语音特征中的至少部分第一语音特征或/或所述第三语音特征中的至少部分第三语音特征。
在一种可能的实现方式中,所述第二模型包括第二堆叠的多个基于自注意机制的解码器。
在该实现方式的一个例子中,所述解码器包括第一自注意层,第一卷积层、第二卷积层、第二自注意层、全连接层;其中,所述第一自注意层的输出连接第一卷积层和第二卷积层的输入,所述第一卷积层和第二卷积层的输出连接第二自注意层的输入,所述第二自注意层的输出连接所述全连接层的输入,所述全连接层的输出作为下一解码器的输入;所述解码器的输入为所述第一模型的输出或上一解码器的输出。
基于与本发明方法实施例相同的构思,本发明实施例还提供了一种终端设备320。
如图10所示,终端设备320包括处理器321、存储器322、网络接口323、声音采集装置324。
处理器321可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,存储器322可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器104还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard diskdrive,HDD)或固态硬盘(solid state drive,SSD)。
网络接口323用于收发数据,例如,将处理器321处理后的数据发送至其他的电子设备,或者,接收其他的电子设备发送的数据等。
声音采集装置324用于采集外部的声波,得到音频信号。
当然,为了简化,图10中仅示出了该终端设备320中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。本领域技术人员可以理解,图10仅仅是终端设备320的示例,并不构成对终端设备320的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
另外,计算设备310的结构和终端设备320类似,区别在于计算设备310可以包括更多的处理器、存储器,或者,处理器和/或存储器的类型不同,计算设备310不包括声音采集装置324,计算设备310可以用于执行图4和图7中节点312执行的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品。所述计算机程序产品可以是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当所述计算机程序产品在至少一个计算设备上运行时,使得至少一个计算设备执行语音识别方法或模型训练方法。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行语音识别方法或模型训练方法。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。
Claims (11)
1.一种语音识别方法,其特征在于,包括:
获取目标低资源语言的待处理语音特征;
将所述待处理语音特征输入到训练好的第一模型中进行音素识别,确定训练好的第一模型输出的音素概率分布;
将所述音素概率分布输入到训练好的第二模型中进行语义识别,确定第一识别结果;所述第二模型通过文字误差训练得到,所述文字误差指示了所述第二模型针对音素概率分布的语义识别的结果和文字标签的偏差,所述音素概率分布为所述训练好的第二模型对第二语音特征进行音素识别的结果,所述文字标签指示了所述第二语音特征对应的语义。
2.根据权利要求1所述的方法,其特征在于,所述第一模型的训练过程包括:
基于多个第一语音特征,对待训练的第一模型进行预训练,得到预训练好的第一模型;其中,所述多个第一语音特征中的至少部分第一语音特征携带音素标签,所述多个第一语音特征中包括非目标高资源语言的第一语音特征;
基于目标低资源语言的多个第三语音特征对预训练好的第一模型进行微调,得到训练好的第一模型;所述多个第三语音特征携带音素标签。
3.根据权利要求2所述的方法,其特征在于,所述第一模型包括特征提取网络、学生模型和概率输出层;其中,所述特征提取网络连接所述学生模块的输入端,所述学生模型的输出端连接所述概率输出层的输入端;
其中,所述特征提取网络对输入的数据进行特征提取;
所述学生模型用于对至少部分掩码的所述特征提取网络的输出进行处理;
所述概率输出层用于基于所述学生模型的输出,输出音素概率分布。
所述预训练好的第一模型通过具有音素标签的第一语音特征对应的第一误差和第二误差,不具有音素标签的第一语音特征对应的第一误差,对待训练的第一模型进行预训练得到;其中,所述第一误差指示了所述第一语音特征对应的所述学生模型的输出和教师模型的输出之间的误差,所述教师模型用于对所述特征提取网络的输出进行处理,所述第二误差指示了所述第一模型针对所述第一语音特征的音素识别的结果和所述音素标签之间的误差。
4.根据权利要求3所述的方法,其特征在于,所述多个第一语音特征中包括目标低资源语言的第一语音特征,目标低资源语言的至少部分第一语音特征不具有音素标签。
5.根据权利要求3所述的方法,其特征在于,所述教师模型包括堆叠的多个基于自注意的编码器。
6.根据权利要求2至5任一所述的方法,其特征在于,所述第二语音特征有多个,包括所述多个第一语音特征中的至少部分第一语音特征或/或所述第三语音特征中的至少部分第三语音特征。
7.根据权利要求1至6任一所述的方法,其特征在于,所述第二模型包括第二堆叠的多个基于自注意机制的解码器。
8.根据权利要求7所述的方法,其特征在于,所述解码器包括第一自注意层,第一卷积层、第二卷积层、第二自注意层、全连接层;其中,所述第一自注意层的输出连接第一卷积层和第二卷积层的输入,所述第一卷积层和第二卷积层的输出连接第二自注意层的输入,所述第二自注意层的输出连接所述全连接层的输入,所述全连接层的输出作为下一解码器的输入;所述解码器的输入为所述第一模型的输出或上一解码器的输出。
9.一种语音识别装置,其特征在于,包括:
至少一个存储器,用于存储程序;
至少一个处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行如权利要求1-8任一所述的方法。
10.一种语音识别装置,其特征在于,所述装置运行计算机程序指令,以执行如权利要求1-8任一所述的方法。
11.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1-8任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310600981.2A CN116844529A (zh) | 2023-05-25 | 2023-05-25 | 语音识别方法、装置及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310600981.2A CN116844529A (zh) | 2023-05-25 | 2023-05-25 | 语音识别方法、装置及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116844529A true CN116844529A (zh) | 2023-10-03 |
Family
ID=88162491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310600981.2A Pending CN116844529A (zh) | 2023-05-25 | 2023-05-25 | 语音识别方法、装置及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116844529A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117558264A (zh) * | 2024-01-12 | 2024-02-13 | 联通(广东)产业互联网有限公司 | 一种基于自知识蒸馏的方言语音识别训练方法及系统 |
-
2023
- 2023-05-25 CN CN202310600981.2A patent/CN116844529A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117558264A (zh) * | 2024-01-12 | 2024-02-13 | 联通(广东)产业互联网有限公司 | 一种基于自知识蒸馏的方言语音识别训练方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110534087B (zh) | 一种文本韵律层级结构预测方法、装置、设备及存储介质 | |
US11798535B2 (en) | On-device custom wake word detection | |
US11158305B2 (en) | Online verification of custom wake word | |
US10957309B2 (en) | Neural network method and apparatus | |
CN109887484B (zh) | 一种基于对偶学习的语音识别与语音合成方法及装置 | |
Vashisht et al. | Speech recognition using machine learning | |
US9208778B2 (en) | System and method for combining frame and segment level processing, via temporal pooling, for phonetic classification | |
WO2023160472A1 (zh) | 一种模型训练方法及相关设备 | |
CN107408111A (zh) | 端对端语音识别 | |
CN111368993A (zh) | 一种数据处理方法及相关设备 | |
CN111161715B (zh) | 一种基于序列分类的特定声音事件检索与定位的方法 | |
CN112216307B (zh) | 语音情感识别方法以及装置 | |
WO2022253061A1 (zh) | 一种语音处理方法及相关设备 | |
KR20220130565A (ko) | 키워드 검출 방법 및 장치 | |
US11961515B2 (en) | Contrastive Siamese network for semi-supervised speech recognition | |
WO2023207541A1 (zh) | 一种语音处理方法及相关设备 | |
CN116844529A (zh) | 语音识别方法、装置及计算机存储介质 | |
CN116541492A (zh) | 一种数据处理方法及相关设备 | |
CN116912642A (zh) | 基于双模多粒度交互的多模态情感分析方法、设备及介质 | |
CN115688937A (zh) | 一种模型训练方法及其装置 | |
CN114360584A (zh) | 一种基于音素级的语音情感分层式识别方法及系统 | |
CN116052714A (zh) | 一种数据处理方法及其装置 | |
CN115206284A (zh) | 一种模型训练方法、装置、服务器和介质 | |
CN113948060A (zh) | 一种网络训练方法、数据处理方法及相关设备 | |
CN114333772A (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 |