CN116682432A - 语音识别方法、电子设备及可读介质 - Google Patents

语音识别方法、电子设备及可读介质 Download PDF

Info

Publication number
CN116682432A
CN116682432A CN202211166850.XA CN202211166850A CN116682432A CN 116682432 A CN116682432 A CN 116682432A CN 202211166850 A CN202211166850 A CN 202211166850A CN 116682432 A CN116682432 A CN 116682432A
Authority
CN
China
Prior art keywords
audio
coding sequence
voice
voice signal
text
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202211166850.XA
Other languages
English (en)
Other versions
CN116682432B (zh
Inventor
谢继亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202211166850.XA priority Critical patent/CN116682432B/zh
Priority claimed from CN202211166850.XA external-priority patent/CN116682432B/zh
Publication of CN116682432A publication Critical patent/CN116682432A/zh
Application granted granted Critical
Publication of CN116682432B publication Critical patent/CN116682432B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/04Speech 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
    • G10L19/16Vocoder architecture
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

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)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请提供了一种应用于人工智能技术的语音识别方法、电子设备及介质。电子设备配置包括CTC辅助模块的自动语音识别系统,语音识别方法包括:获取语音信号,语音信号包括多个音频;确定语音信号对应的初始文本数据;得到多个音频的声学编码序列和文本编码序列;调用CTC辅助模块对每个音频的声学编码序列进行处理,得到每个音频的CTC概率分布矩阵;处理第一类音频的声学编码序列和文本编码序列,得到第一类音频的概率信息;第一类音频为:声学编码序列的CTC概率分布矩阵中的最大概率值的字符为非空白字符的音频;将语音信号的每个第一类音频的概率信息中的概率最高的字词,组合作为语音信号对应的文本数据,提高了解码效率。

Description

语音识别方法、电子设备及可读介质
技术领域
本申请涉及语音识别处理技术领域,尤其涉及一种语音识别方法、电子设备、计算机程序产品及计算机可读存储介质。
背景技术
语音识别,是人工智能(Artificial Intelligence,AI)领域的一个重要研究方向。基于变换器Transducer自动语音识别(Automatic Speech Recognition,ASR)系统,可部署于电子设备,实现对用户输入的语音信号、设备播放的语音信号等进行转换,得到文本数据。
目前,基于Transducer的自动语音识别系统,利用标准束搜索算法进行语音识别,得到识别结果。受限于标准束搜索算法理论上的路径对齐,使得自动语音识别系统的搜索时间过长、复杂度过高,导致解码效率偏低。
发明内容
本申请提供了一种语音识别方法、电子设备、程序产品及计算机可读存储介质,目的在于实现提高基于Transducer的自动语音识别系统的解码效率。
为了实现上述目的,本申请提供了以下技术方案:
第一方面,本申请提供了一种应用于电子设备的语音识别方法,电子设备配置有包括CTC辅助模块的自动语音识别系统;语音识别方法包括:获取语音信号,语音信号包括多个音频;确定语音信号对应的初始文本数据;对语音信号的每个音频进行编码,得到多个音频的声学编码序列,以及对语音信号对应的初始文本数据进行编码及处理,得到文本编码序列;调用CTC辅助模块对每个音频的声学编码序列进行处理,得到每个音频的CTC概率分布矩阵;处理语音信号中的第一类音频的声学编码序列和文本编码序列,得到第一类音频的概率信息,将语音信号的每个第一类音频的概率信息中的概率最高的字词,组合作为语音信号对应的文本数据;其中,第一类音频的概率信息包括第一类音频与词表中不同字词的对应关系的概率;第一类音频为:声学编码序列的CTC概率分布矩阵中的最大概率值的字符为非空白字符的音频。
由上述内容可以看出:由于仅处理语音信号中的第一类音频的声学编码序列和文本编码序列,得到第一类音频的概率信息,不对语音信号中的不是第一类音频的声学编码序列进行处理,如此减少了进行声学编码序列和文本编码序列进行处理的对象。并且,因第一类音频是指非空白字符对应的概率值最大的CTC概率分布矩阵的声学编码序列对应的音频,可基于此确定出语音信号的字所在的解码帧,也可以避免标准束搜索过程中,针对一帧语音信号进行反复解码,避免联合网络模型针对一帧语音信号的搜索时间过长、复杂度过高,导致解码效率偏低。
在一个可能的实施方式中,处理语音信号中的第一类音频的声学编码序列和文本编码序列,得到第一类音频的概率信息,包括:调用自动语音识别系统中的联合网络模型,处理语音信号中的第一类音频的声学编码序列和文本编码序列,得到第一类音频的概率分布矩阵,其中,第一类音频的概率分布矩阵,用于指示第一类音频与词表中不同字词的对应关系的概率。
在一个可能的实施方式中,联合网络模型包括:第一线性映射层、第二线性映射层以及第三线性映射层,其中:调用自动语音识别系统中的联合网络模型,处理语音信号中的第一类音频的声学编码序列和文本编码序列,得到第一类音频的概率分布矩阵,包括:调用第一线性映射层变换文本编码序列为第一向量;调用第二线性映射层变换第一类音频的声学编码序列为第二向量;第一向量和第二向量的维数相同;调用第三线性映射层变换融合编码序列为第一类音频的概率分布矩阵,融合编码序列为第一向量和第二向量的组合序列。
在一个可能的实施方式中,调用自动语音识别系统中的联合网络模型,处理语音信号中的第一类音频的声学编码序列和文本编码序列,得到第一类音频的概率分布矩阵之后,还包括:针对语音信号中的每一个第一类音频,在第一类音频的概率分布矩阵的基础上,以预设权值组合第一类音频的CTC概率分布矩阵,得到第一类音频的概率分布矩阵的最终值;其中,将语音信号的每个第一类音频的概率信息中的概率最高的字词,组合作为语音信号对应的文本数据,包括:将语音信号的每个第一类音频的概率分布矩阵的最终值中的概率最高的字词,组合作为语音信号对应的文本数据。
在上述可能的实施方式中,联合网络模型在预测得到概率分布矩阵的基础上,以一定的权值组合CTC概率分布矩阵,得到概率分布矩阵,可以增强输出概率分布矩阵中同音字的概率,从而减少语音识别过程中的替换错误。并且,因为CTC辅助模块得到确定数目的出字的声学特征帧,在概率分布矩阵的基础上融合CTC概率分布矩阵,也不会出现影响语音识别的插入错误和删除错误。
在一个可能的实施方式中,处理语音信号中的第一类音频的声学编码序列和文本编码序列,得到第一类音频的概率信息之前,还包括:调用CTC辅助模块,利用语音信号的每个音频的CTC概率分布矩阵,从语音信号的多个音频的声学编码序列,筛选出第一类音频的声学编码序列。
在一个可能的实施方式中,对语音信号的每个音频进行编码,得到多个音频的声学编码序列,以及对语音信号对应的初始文本数据进行编码及处理,得到文本编码序列,包括:调用自动语音识别系统中的声学编码模块,对语音信号的音频进行编码,得到每个音频的声学编码序列;调用自动语音识别系统中的嵌入层,对语音信号对应的初始文本数据进行编码,得到嵌入向量;调用自动语音识别系统中的语言预测模型处理嵌入向量,得到文本编码序列。
在一个可能的实施方式中,语言预测模型包括一维的第一卷积神经网络和一维的第二卷积神经网络;第一卷积神经网络的卷积核的大小为1,第二卷积神经网络的卷积核大小为2;其中,调用自动语音识别系统中的语言预测模型处理嵌入向量,得到文本编码序列,包括:调用第一卷积神经网络处理嵌入向量,得到第一高维矩阵;以及调用第二卷积神经网络处理嵌入向量,得到第二高维矩阵;组合第一高维矩阵和第二高维矩阵,得到文本编码序列。
在上述可能的实施方式中,语言预测模型包括:一维的第一卷积神经网络和一维的第二卷积神经网络,并且,第一卷积神经网络的卷积核的大小为1,第二卷积神经网络的卷积核大小为2,可保证语言预测模型的参数量小、计算量也较小,便于在端侧设备部署,避免端侧部署自动语音识别系统时,端侧设备出现被占用较大的空间,且自动语音识别系统运行时功耗较大的问题。并且,语言预测模型中,第一卷积神经网络的卷积核的大小为1,第二卷积神经网络的卷积核大小为2,相比较于长度为4的卷积核,能更好的捕捉短时语言特性,同时参数量、计算量也更小。
在一个可能的实施方式中,确定语音信号对应的初始文本数据之后,还包括:对语音信号对应的初始文本数据进行拆分,得到第一字符串和第二字符串,第一字符串的长度为1,第二字符串的长度为2;其中,调用自动语音识别系统中的嵌入层,对语音信号对应的初始文本数据进行编码,得到嵌入向量,包括:调用嵌入层对第一字符串进行编码,得到第一嵌入向量,以及对第二字符串进行编码,得到第二嵌入向量;调用第一卷积神经网络处理嵌入向量,得到第一高维矩阵;以及调用第二卷积神经网络处理嵌入向量,得到第二高维矩阵,包括:调用第一卷积神经网络处理第一嵌入向量,得到第一高维矩阵,以及调用第二卷积神经网络处理第二嵌入向量,得到第二高维矩阵。
在一个可能的实施方式中,确定语音信号对应的初始文本数据,包括:获取自动语音识别系统前一次得到的语音信号对应的文本数据,作为语音信号对应的初始文本数据。
在一个可能的实施方式中,在获取语音信号之前,还包括:获取语音训练数据,以及语音训练数据对应的文本标注训练数据;对语音训练数据进行编码,得到语音训练数据中的每个音频的声学编码序列,以及对文本标注训练数据进行编码及处理,得到文本编码序列;利用CTC辅助模块对语音训练数据中的每个音频的声学编码序列进行处理,得到语音训练数据中的每个音频的CTC概率分布矩阵,并利用CTC概率分布矩阵计算得到第一损失;处理每个音频的声学编码序列和文本编码序列,得到概率分布矩阵,并利用概率分布矩阵计算得到第二损失;利用第一损失和第二损失的组合值计算梯度,并以梯度更新自动语音识别系统中模型的参数,以更新参数后的自动语音识别系统返回执行获取语音训练数据,以及语音训练数据对应的文本标注训练数据,直至自动语音识别系统满足预设训练结束条件。
在一个可能的实施方式中,在获取语音信号之前,还包括:电子设备确定自动语音识别系统被启动,以执行人工智能领域的语音识别流程;其中:将语音信号的每个第一类音频的概率信息中的概率最高的字词,组合作为语音信号对应的文本数据之后,还包括:输出语音信号对应的文本数据。
在一个可能的实施方式中,自动语音识别系统被启动的场景包括:电子设备开启AI字幕功能,电子设备处于人机对话的场景,或者电子设备启动语音助手功能。
第二方面,本申请提供了一种电子设备,包括:一个或多个处理器、以及存储器;存储器与一个或多个处理器耦合,存储器用于存储计算机程序代码以及包括CTC辅助模块的自动语音识别系统,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,电子设备执行如第一方面中任意一项所述的语音识别方法。
第三方面,本申请提供了一种计算机可读存储介质,用于存储计算机程序,计算机程序被执行时,具体用于实现如第一方面中任意一项所述的语音识别方法。
第四方面,本申请提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面中任意一项所述的语音识别方法。
附图说明
图1为本申请实施例提供的语音识别方法的应用场景图;
图2为现有技术中基于变换器Transducer的自动语音识别系统的架构;
图3为本申请实施例提供的电子设备的硬件结构图;
图4为本申请实施例提供基于变换器Transducer的自动语音识别系统的架构;
图5为本申请实施例提供的基于变换器Transducer自动语音识别系统的训练方法的流程图;
图6为本申请实施例提供的语音识别方法的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例涉及的多个,是指大于或等于两个。需要说明的是,在本申请实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
语音识别,是人工智能(Artificial Intelligence,AI)领域的一个重要研究方向。基于变换器Transducer自动语音识别(Automatic Speech Recognition,ASR)系统,可部署于端侧设备,实现对用户输入的语音信号、设备播放的语音信号等进行转换,得到文本数据。
图1展示了手机开启AI字幕功能之后,显示屏显示一个视频的画面。该视频的展示界面上,AI字幕的显示框101位于画面的下方。当然,AI字幕的显示框101可被移动位置,用户可通过选中并拖动该显示框101的方式,移动显示框101。
手机的AI字幕功能被开启之后,手机中配置的自动语音识别系统,可识别手机播放的视频、音频等语音信号,并将其转换成对应的文字之后再进行显示。
通常情况下,基于变换器Transducer的自动语音识别系统的架构,如图2所示,包括:嵌入层embedding,语言预测模型Predict NN,声学编码器(也称为声学编码模块)encoder、以及联合网络模型Joint NN。
其中,嵌入层embedding用于对输入的初始文本数据进行编码,得到文本编码序列。
语言预测模型Predict NN通常采用有状态的循环神经网络或者无状态的卷积神经网络来建模,用于建模文本标记之间的时序依赖关系。具体的,针对嵌入层输出的文本编码序列,标记出其与上一次输入到该模型的文本编码序列的依赖关系,以得到文本编码序列。
声学编码器encoder用于对输入的语音信号进行编码,得到声学编码序列。声学编码序列可以理解成为多维向量,示例性的,128×1的向量。
需要说明的是,声学编码器encoder可包含一个卷积前端模块和12层Transformer编码层。其中,卷积前端模块包含有两个卷积层和一个线性映射层,卷积核的大小均为3×3(两个层卷积,即为两个堆叠的3×3卷积),第一层卷积的通道数与输入特征维度匹配,输出通道数等于模型维度,第二次卷积的输入通道数与输出通道数均等于模型维度,两层卷积的步长均为2,因此每层卷积降采样2倍,两层卷积近似将输入特征序列降采样了4倍,然后将通道维度和特征维度整合到同一纬度,然后通过线性变换以使得模块输出匹配声学编码器的输入维度。
声学编码器encoder也可以由使用多层单向或者双向循环神经网络和多层卷积编码器组成。
文本编码序列和声学编码序列,会输入到联合网络模型Joint NN,联合网络模型Joint NN用于预测得到Transducer概率分布矩阵,该Transducer概率分布矩阵可表达出本次输入到自动语音识别系统的语音信号对应在词表中的不同字词的概率。当然,概率最高的字词可以理解成为:自动语音识别系统针对本次输入的语音信号所识别出的文本数据。
目前,基于Transducer的自动语音识别系统,存在下述三个问题。
1、语言预测模型Predict NN的训练速度慢,语言预测模型Predict NN的参数量较大、计算量也较大,导致端侧部署自动语音识别系统时,端侧设备被占用较大的空间,且自动语音识别系统运行时功耗较大。
有状态的循环神经网络是一种自回归网络,每一步的计算均依赖前一步的输出结果。因此,有状态的循环神经网络的模型的训练速度慢。有状态循环神经网络的参数量较大,计算量较大,这样就导致在端侧设备部署有状态的循环神经网络的模型,模型的空间占用及功耗较大,不利于在端侧设备的高效部署。
2、语言预测模型Predict NN的训练过程中,不能捕获短时语言特性。
无状态的卷积神经网络,卷积核的长度为N,为了使得模型运行效果最佳,N通常设置为4。如此,会忽略了中文中2个字、3个字的短语语言的建模。例如,在预测“们”候,给定前一个字符“你”或者“我”即可,再比如在预测“好”的时候,只需要给定前面两个字符“你们”或者“我们”即可,而不需要额外的信息。
3、基于Transducer的自动语音识别系统的解码效率偏低。
Transducer模型的联合网络模型Joint NN利用标准束搜索算法,处理文本编码序列和声学编码序列,得到Transducer概率分布矩阵。受限于标准束搜索算法理论上的路径对齐,使得Transducer模型的搜索时间过长、复杂度过高,导致解码效率偏低。
具体地,在Transducer模型的训练阶段,联合网络模型JointNN接收分别来自声学编码器的声学编码序列和预测网络的语言编码序列,联合网络模型的两个输入均为三维Tensor,输出为四维转移后验概率。Transducer模型的结构所定义的输入与输出间的所有对齐路径即:对应该四维后验概率中的某个概率值,Transducer模型训练过程是优化给定输入序列的情况下,预测输出序列概率最大化的过程,Transducer模型利用前后向算法高效地计算该四维转移后验概率。
在Transducer模型的推理解码阶段,联合网络模型Joint NN将一帧语音信号的声学编码序列和文本编码序列(可以理解成是联合网络模型Joint NN对上一个声学编码序列的预测结果)进行融合,得到预测结果(可以理解成是联合网络模型Joint NN对声学编码序列进行对应文本识别的预测结果),并将预测结果再一次输入到嵌入层embedding,由嵌入层embedding和语言预测模型Predict NN分别对其处理,得到预测结果的文本编码序列。联合网络模型Joint NN再对该一帧语音信号的声学编码序列和预测结果的文本编码序列进行融合,再一次得到预测结果,再将本次得到的预测结果输入到嵌入层embedding,如此反复,直至联合网络模型Joint NN针对一帧语音信号的声学编码序列和前一次预测结果的文本编码序列进行融合,得到预测结果为空,该一帧语音信号的解码过程才可完结。反复解码的方式会导致联合网络模型Joint NN针对一帧语音信号的搜索时间过长、复杂度过高,导致解码效率偏低。
基于上述问题,本申请实施例提供了一种语音识别方法。本申请实施例提供的语音识别方法,可应用于手机,平板电脑,桌面型、膝上型、笔记本电脑,超级移动个人计算机(Ultra-mobile Personal Computer,UMPC),手持计算机,上网本,个人数字助理(PersonalDigital Assistant,PDA),可穿戴电子设备和智能手表等电子设备。
以下以手机为例,对本申请实施例的电子设备的硬件结构进行介绍。
如图2所示,电子设备100可以包括处理器110,内部存储器120,摄像头130,显示屏140,天线1,天线2,移动通信模块150,无线通信模块160以及音频模块170等。
可以理解的是,本实施例示意的结构并不构成对电子设备100的具体限定。在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,智能传感集线器(sensorhub)和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
内部存储器120可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在内部存储器120的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器120可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器120的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
一些实施例中,内部存储器120存储的是用于语音识别方法的指令以及自动语音识别系统。处理器110可以通过执行存储在内部存储器120中的指令,实现对语音信号的识别。
电子设备100可以通过ISP,摄像头130,视频编解码器,GPU,显示屏140以及应用处理器等实现拍摄功能。
ISP用于处理摄像头130反馈的数据。例如,电子设备拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头130中。
摄像头130用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头130,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
电子设备通过GPU,显示屏140以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏140和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏140用于显示图像,视频等。显示屏140包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oled,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备可以包括1个或N个显示屏140,N为大于1的正整数。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
手机可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。手机可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当手机接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。手机可以设置至少一个麦克风170C。在另一些实施例中,手机可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,手机还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
本申请实施例中,电子设备配置有自动语音识别系统,图4展示了一种自动语音识别系统的架构图。
参见图4,该自动语音识别系统包括:嵌入层embedding,语言预测模型PredictNN,声学编码器encoder,联合网络模型Joint NN以及连接时间分类(Connectionisttemporal classification,CTC)辅助模块。
其中,嵌入层embedding用于对输入的初始文本数据进行编码,得到嵌入向量,该嵌入向量一般为密集矩阵,即文本中每个单元(文本中的一个文字)被编码为各自的embedding向量。
可以理解的是,嵌入层embedding可将对初始文本数据采用读热(One-Hot)编码得到的稀疏矩阵进行线性变换,得到一个密集矩阵。
一些实施例中,输入到embedding的初始文本数据Text可先被拆分为长度为1和长度为2的两个字符串。因此,embedding将长度为1的字符串编码为长度为1的embedding向量(嵌入向量),以及将长度为2的字符串编码为长度为2的embedding向量(嵌入向量)。
语言预测模型Predict NN包括两个一维的卷积神经网络K1-CNN和K2-CNN,其中,卷积神经网络K1-CNN的卷积核的大小为1,模拟2gram语言模型;卷积神经网络K2-CNN的卷积核大小为2,模拟3gram语言模型。卷积神经网络K1-CNN和卷积神经网络K2-CNN可并行运行,二者在运行过程中并无关联关系。其中,卷积神经网络K1-CNN和卷积神经网络K2-CNN,可处理输入的向量,得到融合2gram和3gram语言模型信息的高维特征。
可以理解的是,卷积核的大小为1,指代卷积核为1×1;卷积核的大小为2,指代卷积核为2×1。
需要说明的是,因卷积神经网络K1-CNN的卷积核的大小为1,因此,长度为1的向量输入到卷积神经网络K1-CNN之后,卷积神经网络K1-CNN可得到长度为1的高维特征1。因卷积神经网络K2-CNN的卷积核的大小为2,因此,长度为2的向量输入到卷积神经网络K1-CNN之后,卷积神经网络K2-CNN也可得到长度为1的高维特征2。
进一步的,卷积神经网络K1-CNN得到的高维特征1和卷积神经网络K2-CNN得到的高维特征2,可进行组合得到文本编码序列,作为语言预测模型Predict NN的输出。一些实施例中,高维特征1和高维特征2的组合,可以理解成:高维特征1和高维特征2在对应维度的数值相加,得到文本编码序列,该文本编码序列为1×n的高维矩阵。
本实施例提供的自动语音识别系统中,语言预测模型Predict NN包括:两个一维的卷积神经网络K1-CNN和K2-CNN,并且,卷积神经网络K1-CNN的卷积核的大小为1,卷积神经网络K2-CNN的卷积核大小为2,可保证语言预测模型Predict NN的参数量小、计算量也较小,便于在端侧设备部署,避免端侧部署自动语音识别系统时,端侧设备出现被占用较大的空间,且自动语音识别系统运行时功耗较大的问题。
并且,语言预测模型Predict NN中,卷积神经网络K1-CNN的卷积核的大小为1,卷积神经网络K2-CNN的卷积核大小为2,相比较于长度为4的卷积核,能更好的捕捉短时语言特性,同时参数量、计算量也更小。
声学编码器encoder,如前述对应图2的实施例内容,用于对输入的语音信号进行编码,得到声学编码序列(或称为声学编码特征)。
CTC辅助模块,可用于将声学编码序列采用CTC解码算法进行CTC预处理,预测得到CTC概率分布矩阵。在Transducer模型的训练阶段,CTC辅助模块还可利用CTC概率分布矩阵,计算得到CTC损失LCTC。该CTC损失L_CTC作为Transducer模型的子任务辅助Transducer模型的训练。
一些实施例中,CTC辅助模块通常包含一层线性映射,其输入等于声学编码序列的维度,输出等于词表大小指示的维度。
在Transducer模型的推理解码阶段,CTC辅助模块还应用了尖峰后验特性,以控制encoder输出的声学编码序列是否输入到联合网络模型Joint NN,即对能够输入到联合网络模型Joint NN的声学编码序列进行搜索。尖峰后验特性是指:在语音信号的有效发音的时刻,CTC概率分布矩阵中的空白字符的概率极低,非空白字符的概率极高;反之,在语音信号的非发音的时刻,CTC概率分布矩阵中的空白字符的概率极高,而非空白字符的概率极低。其中,有效发音可以理解成是语音信号中语音强度达到门限值的信号,非发音可以理解成语音信号中语音强度小于门限值的信号,属于位于有效发音之间的信号,如静音、噪声等。
基于此,CTC辅助模块针对输入的声学编码序列,若检测出该声学编码序列得到的CTC概率分布矩阵中,非空白字符对应的概率值最大(即得分最高),则将该帧声学编码序列输入到联合网络模型Joint NN;若识别出该声学编码序列得到的CTC概率分布矩阵中,空白字符对应的概率值最大(即得分最高),则忽略该帧声学编码序列,不将其输入到联合网络模型Joint NN。
这样,由于CTC辅助模块能够将得到非空白字符对应的概率值最大的CTC概率分布矩阵的声学编码序列输入到联合网络模型Joint NN,可以将联合网络模型Joint NN解码对象减少,从而实现解码加速。并且,根据CTC辅助模块输出的CTC概率分布矩阵中的概率值最大字符为非空白字符,可基于此确定出字所在的解码帧,也可以避免transducer标准束搜索过程中,针对一帧语音信号进行反复解码,避免联合网络模型Joint NN针对一帧语音信号的搜索时间过长、复杂度过高,导致解码效率偏低。
语言预测模型Predict NN输出的文本编码序列,以及声学编码器得到的声学编码序列,输入到联合网络模型Joint NN,联合网络模型Joint NN用于处理文本编码序列和声学编码序列,预测得到Transducer概率分布矩阵,该Transducer概率分布矩阵可表达出:本次输入到自动语音识别系统的语音信号对应在词表中的不同字词的概率。当然,概率值最大的字词,则属于语言预测模型Predict NN认定的本次输入到自动语音识别系统的语音信号对应的字符(或称为文本或文本数据)。
一些实施例中,CTC辅助模块针对声学编码序列预测得到CTC概率分布矩阵,也可输入到语言预测模型Predict NN,由联合网络模型Joint NN在预测得到Transducer概率分布矩阵的基础上,以一定的权值组合CTC概率分布矩阵,示例性的,该权值可以为0.2,得到最终的Transducer概率分布矩阵,可以进一步提升Transducer模型的性能。
需要说明的是,Transducer模型的推理解码阶段还利用了CTC辅助模块基于条件独立假设,即CTC辅助模块任意时间输出的CTC概率分布矩阵之间没有依赖关系。因此,CTC辅助模块输出CTC概率分布矩阵更倾向于声学的建模,即在语音信号中具体的发音时刻的CTC概率分布矩阵中得分偏高的topk发音均类似的特性。
联合网络模型Joint NN在预测得到Transducer概率分布矩阵的基础上,以一定的权值组合CTC概率分布矩阵,得到概率分布矩阵,可以利用上述内容提出的特性,增强输出概率分布矩阵中同音字的概率,从而减少语音识别过程中的替换错误(即同音字之间的替换错误)。并且,因为CTC辅助模块得到确定数目的出字的声学特征帧,在Transducer概率分布矩阵的基础上融合CTC概率分布矩阵,也不会出现影响语音识别的插入错误(即在输入的语音信号对应的文本插入其他文字)和删除错误(即错误删除输入的语音信号对应的文本的部分文字)。
还需要说明的是,Transducer概率分布矩阵可以为一个四维的张量,其第一维度表示批的大小B;第二维度表示声学编码序列的长度T;第三个维度为U+1,表示文本编码序列的长度U再加上一个空格标记;最后一个维度表示词表的大小V。
在一些实施例中,同样参见图4,联合网络模型Joint NN可包括三个线性映射层linear和损失函数层Softmax。
其中,语言预测模型Predict NN对声学编码器encoder输出的声学编码序列和文本编码序列进行束搜索(BeamSearch),得到束输出(即CTC概率分布矩阵)。
需要说明的是,束搜索设置有束宽(beam size)超参数,假设为k,束搜索是指:对于输出序列任一时间步t′,选取当前时间步条件概率最大的k个字,分别组成k个候选输出序列的首字。具体的,在时间步1时,选取当前时间步条件概率最大的k个字,分别组成k个候选输出序列的首字。在之后的每个时间步,基于上个时间步的k个候选输出序列,从k|Y|个可能的输出序列中选取条件概率最大的k个,作为该时间步的候选输出序列。最终,从各个时间步的候选输出序列中筛选出包含特殊符号“<eos>”的序列,并将其中所有特殊符号“<eos>”后面的子序列舍弃,得到最终候选输出序列的集合。
还需要说明的是,对于基于Transducer的自动语音识别系统,因Transducer具有天然流式的特性,即声学解码器encoder遍历所有声学编码序列后,解码即停止,无需“<eos>”符号作为解码结束的标志,因此,从各个时间步的候选输出序列中筛选出包含特殊符号“<eos>”的序列,并将其中所有特殊符号“<eos>”后面的子序列舍弃,得到最终候选输出序列的集合,可作为可选的。
三个线性映射层linear中,一个线性映射层linear用于接收Predict NN输出的文本编码序列,将其变换为设定维数的向量,另一个线性映射层linear用于接收encoder输出的声学编码序列,也将其变换为设定维数的向量。当然,两个设定维数是相同维数,实现由两个线性映射层linear将文本编码序列和声学编码序列变换为相同维数的向量。示例性的,固定维数的向量,可为128维向量。
声学编码序列经linear变换之后的向量,与文本编码序列经linear变换之后的向量可进行组合,得到融合编码序列,该融合编码序列会输入到三个线性映射层linear中的最后一个线性映射层linear。最后一个线性映射层linear用于处理融合编码序列,将其变换为设定维数的向量。通常情况下,最后一个线性映射层linear将融合编码序列变换为词表大小的向量,即Transducer概率分布矩阵。当然,最后一个线性映射层linear还可在Transducer概率分布矩阵的基础上,以一定的权值组合CTC概率分布矩阵,得到最终的概率分布矩阵。
一些实施例中,声学编码序列经linear变换之后的向量,与文本编码序列经linear变换之后的向量的组合,可以理解成:声学编码序列经linear变换之后的向量和文本编码序列经linear变换之后的向量在对应维度的数值相加。
在Transducer模型的训练阶段,损失函数层Softmax利用CTC损失和Transducer损失两个损失,以多任务学习的策略对自动语音识别系统进行训练,由于解码加速时依赖CTC所提供的声学特征所在的具体帧位置,因此CTC损失是必须的。
一些实施例中,损失函数层Softmax将CTC损失L_CTC和Transducer损失L_Transducer采用下述公式1相加得到联合损失LJoint;再根据联合损失LJoint计算梯度,进行反向传播以训练自动语音识别系统。
公式1
LJoint=(1-λ)L_CTC+λL_Transducer
公式1中,λ表示对齐权重,典型值为0.9。
电子设备在利用自动语音识别系统进行语音信号识别并转换为对应的文字之前,自动语音识别系统需要先进行训练。以下结合图5,对图4展示的自动语音识别系统的训练方法进行介绍。如图5所示,自动语音识别系统的训练方法,包括如下步骤:
S501、获取语音训练数据和对应的文本标注训练数据。
其中,自动语音识别系统需要预先通过大量的样本数据进行训练。因此,训练自动语音识别系统之前,先获取大量的语音训练数据和每一个语音训练数据对应的文本标注训练数据。
每一个语音训练数据对应的文本标注训练数据,可以理解成是该语音训练数据对应的文本数据。示例性的,语音训练数据为:“我们是中国人”的语音数据,其对应的文本标注训练数据则为“我们是中国人”文本。
S502、将语音训练数据输入声学编码器encoder中,声学编码器encoder输出声学编码序列。
其中,针对每一个语音训练数据,声学编码器encoder可对其进行编码,得到该语音训练数据的声学编码序列。一个语音训练数据为一段连续音频,即包括多个音频。
一些实施例中,若一个语音训练数据包括多个文字的语音信号,可先将其拆分为多个语音训练词。当然,每个语音训练词中包含的文字的数量可进行设定。将每个语音训练词分别输入到声学编码器,由声学编码器得到每个语音训练词的声学编码序列。示例性的,语音训练数据为:“我们是中国人”,将其进行两个字组成的词,分别得到“我们”、“是中”以及“国人”三个语音训练词,每个语音训练词则作为一个语音训练数据。针对语音训练数据“我们”,可包括“我”以及“们”的音频,由“我”以及“们”的音频组成连续音频,当然,在一些情况下,该连续音频还包括静音、噪声等音频。
S503、利用CTC辅助模块对声学编码序列进行CTC解码,得到CTC概率分布矩阵,并计算得到CTC损失LCTC。
其中,将语音训练数据的每个音频的声学编码序列输入到CTC辅助模块中,由CTC辅助模块预测得到每个音频的CTC概率分布矩阵,并进一步利用CTC概率分布矩阵计算CTC损失函数LCTC。
S504、对文本标注训练数据进行拆分,得到长度为1和长度为2的两个字符串。
需要说明的是,语音训练数据被拆分为多个语音训练词的场景下,该语音训练数据对应的文本标注训练数据也同步拆分为多个文本训练词。示例性的,与步骤S530相同,语音训练数据对应的文本标注训练数据为:“我们是中国人”,将其进行两个字组成的词,分别得到“我们”、“是中”以及“国人”三个文本训练词。
针对每一个文本训练词,将其拆分为长度为1和长度为2的两个字符串。示例性的,针对“我们”这个文本训练词,将其拆分为长度为1的字符串为“我”;长度为2的字符串为“我们”。
S505、调用嵌入层embedding对长度为1的字符串进行编码,得到长度为1的embedding向量,以及对长度为2的字符串进行编码,得到长度为2的embedding向量。
S506、调用语言预测模型Predict NN处理长度为1的embedding向量和长度为2的embedding向量,得到文本编码序列。
如前述提出的自动语音识别系统的架构的内容,语言预测模型Predict NN包括可并行运行的两个一维的卷积神经网络K1-CNN和K2-CNN,因此,调用语言预测模型PredictNN处理长度为1的embedding向量和长度为2的embedding向量,可以理解成:
调用卷积核大小为1的卷积神经网络K1-CNN处理长度为1的embedding向量,得到长度为1的高维特征1,调用卷积核的大小为2的卷积神经网络K2-CNN处理长度为2的embedding向量,得到长度为1的高维特征2。
进一步的,卷积神经网络K1-CNN得到的高维特征1和卷积神经网络K2-CNN得到的高维特征2,进行组合得到文本编码序列,作为语言预测模型Predict NN的输出,即文本编码序列。
S507、将声学编码序列和文本编码序列输入联合网络模型Joint NN,联合网络模型Joint NN预测得到Transducer概率分布矩阵,并计算得到Transducer损失。
其中,将语音训练数据的每个音频的声学编码序列和文本编码序列输入联合网络模型Joint NN,由联合网络模型Joint NN得到每个音频的Transducer概率分布矩阵,并计算得到Transducer损失。
S508、联合网络模型Joint NN将CTC损失L_CTC和Transducer损失相加得到联合损失LJoint。
其中,如前述提及的自动语音识别系统的架构的内容,联合网络模型Joint NN采用前述公式1将CTC损失L_CTC和Transducer损失相加得到联合损失LJoint。
S509、根据联合损失LJoint计算梯度,并以该梯度更新自动语音识别系统中模型的参数,在以更新参数后的自动语音识别系统返回执行步骤S502至S509,直至达到预设的训练结束条件,完成自动语音识别系统的训练。
自动语音识别系统训练完成之后,可对语音信号进行识别,得到该语音信号对应的文本数据。以下结合图4展示的自动语音识别系统的架构,对语音识别的方法的流程进行介绍。
图6展示了本申请实施例提供的一种语音识别方法的流程图。如图6所示,该语音识别方法,包括步骤:
S601、获取语音信号和语音信号对应的初始文本数据。
自动语音识别系统被开启之后,可获取输入到该自动语音识别系统的语音信号。示例性的,如图1所示的应用场景中,电子设备开启了AI字幕,电子设备播放视频时,电子设备的显示屏需要显示该视频中语音对应的文本数据。因此,电子设备需控制自动语音识别系统运行,自动语音识别系统被开启之后,可获取电子设备播放的视频中的语音信号。
当然,在其他AI应用场景,如人机对话的场景、语音助手的场景等,电子设备也会开启自动语音识别系统,自动语音识别系统被启动之后,获取语音信号。
需要说明的是,语音信号对应的初始文本数据,有下述解释:
针对自动语音识别系统首次被调用执行语音识别方法,该自动语音识别系统首次获取的语音信号对应的初始文本数据为空白字符。从第二次获取到语音信号开始,该语音信号对应的初始文本数据为:自动语音识别系统的联合网络模型Joint NN前一次预测得到的语音信号对应的文本数据。
一些实施例中,若一个语音信号包括多个文字的语音信号,可先将其拆分为多个语音词。当然,每个语音词中包含的文字的数量可进行设定。
示例性的,一个完整的语音信号包括“我们是中国人”,按照自动语音识别系统执行一次语音识别的要求,该语音信号被分为“我们”、“是中”以及“国人”三个语音信号,每个语音信号会包括多个音频(音频也可以理解成是语音信号),如语音信号“我们”包括“我”以及“们”的音频。当然,在实际中,语音信号并非如该示例展示,仅包括“我”以及“们”的音频这种有效发音,还会包含有效发音之间的音频,例如静音、噪声等音频。
由此可以看出:语音信号可包括多个音频,多个音频通常连续,组成连续音频。在一些情况下,一段连续音频可包括静音、噪声等音频。
自动语音识别系统首次获取的语音信号为“我们”,该语音词对应的初始文本数据为空白字符。自动语音识别系统通过执行下述步骤S602至步骤S606,得到Transducer概率分布矩阵中的文字“我们”的概率值最大。待自动语音识别系统第二次获取的语音信号为“是中”,该语音信号对应的初始文本数据则为第一次的预测结果,即文字“我们”。自动语音识别系统第三次获取的语音信号为“国人”,该语音信号对应的初始文本数据则为第二次的预测结果,即文字“是中”。
S602、调用声学编码器encoder处理语音信号,得到声学编码序列。
步骤S602中,声学编码器encoder处理语音信号,得到其对应的声学编码序列的实现方式,可参见前述提及的自动语音识别系统的架构以及前述实施例中步骤S502的内容,此处不再赘述。
当然,因语音信号包括多个音频,声学编码器encoder处理语音信号,得到声学编码序列是指:声学编码器encoder处理多个音频中的每个音频,得到每个音频的声学编码序列。
S603、利用CTC辅助模块对声学编码序列进行CTC解码,得到CTC概率分布矩阵。
其中,将每个音频的声学编码序列输入到CTC辅助模块中,由CTC辅助模块预测得到每个音频的CTC概率分布矩阵。
在一些实施例中,CTC辅助模块包含一层线性映射,其输出为词表大小指示的维度的CTC概率分布矩阵。基于此,一个音频的声学编码序列输入到CTC辅助模块之后,CTC辅助模块可将该声学编码序列变换成词表大小指示的维度的矩阵。
S604、利用CTC辅助模块控制第一类音频的声学编码序列输入到联合网络模型。第一类音频是指:该音频的声学编码序列对应的CTC概率分布矩阵中的最大概率值的字符为非空白字符。
如前述提出的自动语音识别系统的架构的内容,CTC辅助模块还应用了尖峰后验特性。尖峰后验特性是指:在语音信号的有效发音的时刻,CTC概率分布矩阵中的空白字符的概率极低,非空白字符的概率极高;反之,在语音信号的非发音的时刻,CTC概率分布矩阵中的空白字符的概率极高,而非空白字符的概率极低。
基于此,CTC辅助模块针对输入的语音信号中的每个音频的声学编码序列,若识别出该音频的声学编码序列得到的CTC概率分布矩阵中,非空白字符对应的概率值最大(即得分最高),则将该音频的声学编码序列输入到因联合网络模型Joint NN;若识别出该声学编码序列得到的CTC概率分布矩阵中,空白字符对应的概率值最大(即得分最高),则忽略该音频的声学编码序列,不将其输入到联合网络模型Joint NN。
S605、对语音信号对应的初始文本数据进行拆分,得到长度为1和长度为2的两个字符串。
步骤S605的具体实现方式,可参见前述实施例中的步骤S504的内容,此处不再赘述。
S606、调用嵌入层embedding,对长度为1的字符串进行编码,得到长度为1的embedding向量,并对长度为2的字符串进行编码,得到长度为2的embedding向量。
其中,嵌入层embedding对长度为1的字符串采用读热(One-Hot)编码得到的稀疏矩阵进行线性变换,得到一个长度为1的密集矩阵,即长度为1的embedding向量。并且,嵌入层embedding还对长度为2的字符串采用读热(One-Hot)编码得到的稀疏矩阵进行线性变换,得到一个长度为2的密集矩阵,即长度为2的embedding向量。
可以理解的是,长度为1的embedding向量,为1×n的矩阵;长度为2的embedding向量,为2×n的矩阵。
S607、调用语言预测模型Predict NN处理长度为1的embedding向量和长度为2的embedding向量,得到文本编码序列。
步骤S607中,语言预测模型Predict NN处理长度为1的embedding向量和长度为2的embedding向量,得到文本编码序列的实现方式,可参见前述提及的自动语音识别系统的架构以及前述实施例中步骤S506的内容,此处不再赘述。
S608、调用联合网络模型处理声学编码序列和文本编码序列,预测得到Transducer概率分布矩阵。
可以理解的是,每个音频的Transducer概率分布矩阵中的概率值最大的字符组合之后,该组合字符可作为联合网络模型Joint NN认定的前述步骤S601中获取的语音信号所对应的文本数据。
步骤S608中,联合网络模型Joint NN预测得到Transducer概率分布矩阵的实现方式,可参见前述提及的自动语音识别系统的架构以及前述实施例中步骤S507的内容,此处不再赘述。
需要说明的是,联合网络模型Joint NN被输入的声学编码序列为:语音信号中的第一类音频的声学编码序列。因此,步骤S608中,调用联合网络模型处理每个第一类音频的声学编码序列和文本编码序列,预测得到每个第一类音频的Transducer概率分布矩阵。
S609、调用联合网络模型组合Transducer概率分布矩阵和CTC概率分布矩阵,得到更新后的Transducer概率分布矩阵。
如前述提及的自动语音识别系统的架构的内容,联合网络模型得到CTC概率分布矩阵和Transducer概率分布矩阵之后,可在预测得到Transducer概率分布矩阵的基础上,以一定的权值组合CTC概率分布矩阵,得到最终的Transducer概率分布矩阵,可以进一步提升Transducer模型的性能。
如步骤S608所述,调用联合网络模型得到语音信号中的每个第一类音频的Transducer概率分布矩阵。基于此,一些实施例中,得到每个第一类音频的Transducer概率分布矩阵之后,调用联合网络模型在每个第一类音频的Transducer概率分布矩阵的基础上,以预设权值组合该第一类音频的CTC概率分布矩阵,得到第一类音频的概率分布矩阵的最终值。
当然,还可将每个第一类音频的概率分布矩阵的最终值中的概率最高的字词进行组合,得到的组合字词,则作为步骤S601获取的语音信号所被识别出的文本数据。
本申请另一实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机或处理器上运行时,使得计算机或处理器执行上述任一个方法中的一个或多个步骤。
计算机可读存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请另一实施例还提供了一种包含指令的计算机程序产品。当该计算机程序产品在计算机或处理器上运行时,使得计算机或处理器执行上述任一个方法中的一个或多个步骤。

Claims (14)

1.一种语音识别方法,其特征在于,应用于电子设备,所述电子设备配置有包括连接时间分类CTC辅助模块的自动语音识别系统;所述语音识别方法包括:
获取语音信号,所述语音信号包括多个音频;
确定所述语音信号对应的初始文本数据;
对所述语音信号的每个音频进行编码,得到多个音频的声学编码序列,以及对所述语音信号对应的初始文本数据进行编码及处理,得到文本编码序列;
调用所述CTC辅助模块对每个所述音频的声学编码序列进行处理,得到每个音频的CTC概率分布矩阵;
处理所述语音信号中的第一类音频的声学编码序列和所述文本编码序列,得到所述第一类音频的概率信息,所述概率信息包括所述第一类音频与词表中不同字词的对应关系的概率;所述第一类音频为:声学编码序列的CTC概率分布矩阵中的最大概率值的字符为非空白字符的音频;
将所述语音信号的每个第一类音频的概率信息中的概率最高的字词,组合作为所述语音信号对应的文本数据。
2.根据权利要求1所述的语音识别方法,其特征在于,所述处理所述语音信号中的第一类音频的声学编码序列和所述文本编码序列,得到所述第一类音频的概率信息,包括:
调用所述自动语音识别系统中的联合网络模型,处理所述语音信号中的第一类音频的声学编码序列和所述文本编码序列,得到所述第一类音频的概率分布矩阵,其中,所述第一类音频的概率分布矩阵,用于指示所述第一类音频与词表中不同字词的对应关系的概率。
3.根据权利要求2所述的语音识别方法,其特征在于,所述联合网络模型包括:第一线性映射层、第二线性映射层以及第三线性映射层,其中:
调用所述自动语音识别系统中的联合网络模型,处理所述语音信号中的第一类音频的声学编码序列和所述文本编码序列,得到所述第一类音频的概率分布矩阵,包括:
调用所述第一线性映射层变换所述文本编码序列为第一向量;
调用所述第二线性映射层变换所述第一类音频的声学编码序列为第二向量;所述第一向量和所述第二向量的维数相同;
调用所述第三线性映射层变换融合编码序列为所述第一类音频的概率分布矩阵,所述融合编码序列为所述第一向量和所述第二向量的组合序列。
4.根据权利要求2所述的语音识别方法,其特征在于,所述调用所述自动语音识别系统中的联合网络模型,处理所述语音信号中的第一类音频的声学编码序列和所述文本编码序列,得到所述第一类音频的概率分布矩阵之后,还包括:
针对所述语音信号中的每一个所述第一类音频,在所述第一类音频的概率分布矩阵的基础上,以预设权值组合所述第一类音频的CTC概率分布矩阵,得到所述第一类音频的概率分布矩阵的最终值;
其中,所述将所述语音信号的每个第一类音频的概率信息中的概率最高的字词,组合作为所述语音信号对应的文本数据,包括:
将所述语音信号的每个第一类音频的概率分布矩阵的最终值中的概率最高的字词,组合作为所述语音信号对应的文本数据。
5.根据权利要求1至4中任意一项所述的语音识别方法,其特征在于,所述处理所述语音信号中的第一类音频的声学编码序列和所述文本编码序列,得到所述第一类音频的概率信息之前,还包括:
调用所述CTC辅助模块,利用所述语音信号的每个音频的CTC概率分布矩阵,从所述语音信号的多个音频的声学编码序列,筛选出所述第一类音频的声学编码序列。
6.根据权利要求1至5中任意一项所述的语音识别方法,其特征在于,所述对所述语音信号的每个音频进行编码,得到多个音频的声学编码序列,以及对所述语音信号对应的初始文本数据进行编码及处理,得到文本编码序列,包括:
调用所述自动语音识别系统中的声学编码模块,对所述语音信号的音频进行编码,得到每个音频的声学编码序列;
调用所述自动语音识别系统中的嵌入层,对所述语音信号对应的初始文本数据进行编码,得到嵌入向量;
调用所述自动语音识别系统中的语言预测模型处理所述嵌入向量,得到所述文本编码序列。
7.根据权利要求6所述的语音识别方法,其特征在于,所述语言预测模型包括一维的第一卷积神经网络和一维的第二卷积神经网络;所述第一卷积神经网络的卷积核的大小为1,所述第二卷积神经网络的卷积核大小为2;
其中,所述调用所述自动语音识别系统中的语言预测模型处理所述嵌入向量,得到所述文本编码序列,包括:
调用所述第一卷积神经网络处理所述嵌入向量,得到第一高维矩阵,以及调用所述第二卷积神经网络处理所述嵌入向量,得到第二高维矩阵;
组合所述第一高维矩阵和所述第二高维矩阵,得到所述文本编码序列。
8.根据权利要求7所述的语音识别方法,其特征在于,所述确定所述语音信号对应的初始文本数据之后,还包括:
对所述语音信号对应的初始文本数据进行拆分,得到第一字符串和第二字符串,所述第一字符串的长度为1,所述第二字符串的长度为2;
其中,所述调用所述自动语音识别系统中的嵌入层,对所述语音信号对应的初始文本数据进行编码,得到嵌入向量,包括:
调用所述嵌入层对所述第一字符串进行编码,得到第一嵌入向量,以及对所述第二字符串进行编码,得到第二嵌入向量;
所述调用所述第一卷积神经网络处理所述嵌入向量,得到第一高维矩阵,以及调用所述第二卷积神经网络处理所述嵌入向量,得到第二高维矩阵,包括:
调用所述第一卷积神经网络处理所述第一嵌入向量,得到所述第一高维矩阵,以及调用所述第二卷积神经网络处理所述第二嵌入向量,得到所述第二高维矩阵。
9.根据权利要求1至8中任意一项所述的语音识别方法,其特征在于,所述确定所述语音信号对应的初始文本数据,包括:
获取所述自动语音识别系统前一次得到的语音信号对应的文本数据,作为所述语音信号对应的初始文本数据。
10.根据权利要求1至9中任意一项所述的语音识别方法,其特征在于,在所述获取语音信号之前,还包括:
获取语音训练数据,以及所述语音训练数据对应的文本标注训练数据;
对所述语音训练数据进行编码,得到所述语音训练数据中的每个音频的声学编码序列,以及对所述文本标注训练数据进行编码及处理,得到文本编码序列;
利用所述CTC辅助模块对所述语音训练数据中的每个音频的声学编码序列进行处理,得到所述语音训练数据中的每个音频的CTC概率分布矩阵,并利用所述CTC概率分布矩阵计算得到第一损失;
处理所述每个音频的声学编码序列和文本编码序列,得到概率分布矩阵,并利用所述概率分布矩阵计算得到第二损失;
利用所述第一损失和所述第二损失的组合值计算梯度,并以所述梯度更新所述自动语音识别系统中的参数,以更新参数后的自动语音识别系统返回执行所述获取语音训练数据,以及所述语音训练数据对应的文本标注训练数据,直至所述自动语音识别系统满足预设训练结束条件。
11.根据权利要求1至10中任意一项所述的语音识别方法,其特征在于,在所述获取语音信号之前,还包括:
所述电子设备确定所述自动语音识别系统被启动,以执行人工智能领域的语音识别流程;
其中:将所述语音信号的每个第一类音频的概率信息中的概率最高的字词,组合作为所述语音信号对应的文本数据之后,还包括:
输出所述语音信号对应的文本数据。
12.根据权利要求11所述的语音识别方法,其特征在于,所述自动语音识别系统被启动的场景包括:所述电子设备开启AI字幕功能,所述电子设备处于人机对话的场景,或者所述电子设备启动语音助手功能。
13.一种电子设备,其特征在于,包括:
一个或多个处理器、以及存储器;
所述存储器与所述一个或多个所述处理器耦合,所述存储器用于存储计算机程序代码以及包括CTC辅助模块的自动语音识别系统,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述电子设备执行如权利要求1至12任意一项所述的语音识别方法。
14.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序被执行时,具体用于实现如权利要求1至12任意一项所述的语音识别方法。
CN202211166850.XA 2022-09-23 语音识别方法、电子设备及可读介质 Active CN116682432B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211166850.XA CN116682432B (zh) 2022-09-23 语音识别方法、电子设备及可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211166850.XA CN116682432B (zh) 2022-09-23 语音识别方法、电子设备及可读介质

Publications (2)

Publication Number Publication Date
CN116682432A true CN116682432A (zh) 2023-09-01
CN116682432B CN116682432B (zh) 2024-05-31

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117079653A (zh) * 2023-10-11 2023-11-17 荣耀终端有限公司 语音识别方法、语音识别模型的训练方法、设备及介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109923557A (zh) * 2016-11-03 2019-06-21 易享信息技术有限公司 使用连续正则化训练联合多任务神经网络模型
CN110689879A (zh) * 2019-10-10 2020-01-14 中国科学院自动化研究所 端到端语音转写模型的训练方法、系统、装置
US20200135179A1 (en) * 2018-10-27 2020-04-30 Qualcomm Incorporated Automatic Grammar Augmentation For Robust Voice Command Recognition
CN111626062A (zh) * 2020-05-29 2020-09-04 苏州思必驰信息科技有限公司 文本语义编码方法及系统
US20200335082A1 (en) * 2019-04-16 2020-10-22 Microsoft Technology Licensing, Llc Code-switching speech recognition with end-to-end connectionist temporal classification model
CN112712801A (zh) * 2020-12-14 2021-04-27 北京有竹居网络技术有限公司 一种语音唤醒方法、装置、电子设备及存储介质
CN113488028A (zh) * 2021-06-23 2021-10-08 中科极限元(杭州)智能科技股份有限公司 基于快速跳跃解码的语音转写识别训练解码方法及系统
CN113516968A (zh) * 2021-06-07 2021-10-19 北京邮电大学 一种端到端长时语音识别方法
CN113571045A (zh) * 2021-06-02 2021-10-29 北京它思智能科技有限公司 一种闽南语语音识别方法、系统、设备及介质
KR102344218B1 (ko) * 2020-08-26 2021-12-28 주식회사 카카오엔터프라이즈 음성 인식 시스템 및 음성 인식 시스템의 학습 방법
CN114694641A (zh) * 2020-12-31 2022-07-01 华为技术有限公司 语音识别方法及电子设备
CN114944148A (zh) * 2022-07-09 2022-08-26 昆明理工大学 融合外部语言知识的流式越南语语音识别方法
CN115206324A (zh) * 2021-03-24 2022-10-18 华为技术有限公司 语音识别方法及设备、计算机可读存储介质

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109923557A (zh) * 2016-11-03 2019-06-21 易享信息技术有限公司 使用连续正则化训练联合多任务神经网络模型
US20200135179A1 (en) * 2018-10-27 2020-04-30 Qualcomm Incorporated Automatic Grammar Augmentation For Robust Voice Command Recognition
US20200335082A1 (en) * 2019-04-16 2020-10-22 Microsoft Technology Licensing, Llc Code-switching speech recognition with end-to-end connectionist temporal classification model
CN110689879A (zh) * 2019-10-10 2020-01-14 中国科学院自动化研究所 端到端语音转写模型的训练方法、系统、装置
CN111626062A (zh) * 2020-05-29 2020-09-04 苏州思必驰信息科技有限公司 文本语义编码方法及系统
KR102344218B1 (ko) * 2020-08-26 2021-12-28 주식회사 카카오엔터프라이즈 음성 인식 시스템 및 음성 인식 시스템의 학습 방법
CN112712801A (zh) * 2020-12-14 2021-04-27 北京有竹居网络技术有限公司 一种语音唤醒方法、装置、电子设备及存储介质
CN114694641A (zh) * 2020-12-31 2022-07-01 华为技术有限公司 语音识别方法及电子设备
CN115206324A (zh) * 2021-03-24 2022-10-18 华为技术有限公司 语音识别方法及设备、计算机可读存储介质
CN113571045A (zh) * 2021-06-02 2021-10-29 北京它思智能科技有限公司 一种闽南语语音识别方法、系统、设备及介质
CN113516968A (zh) * 2021-06-07 2021-10-19 北京邮电大学 一种端到端长时语音识别方法
CN113488028A (zh) * 2021-06-23 2021-10-08 中科极限元(杭州)智能科技股份有限公司 基于快速跳跃解码的语音转写识别训练解码方法及系统
CN114944148A (zh) * 2022-07-09 2022-08-26 昆明理工大学 融合外部语言知识的流式越南语语音识别方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
JERMY·LU: "toy版fastText模型结构", pages 4, Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/375614469> *
JIAWEI CHEN 等: ""Speech-T: Transducer for Text to Speech and Beyond"", 《35TH CONFERENCE ON NEURAL INFORMATION PROCESSING SYSTEMS》, pages 1 - 13 *
JIAWEI CHEN 等: "Speech-T: Transducer for Text to Speech and Beyond", 《35TH CONFERENCE ON NEURAL INFORMATION PROCESSING SYSTEMS》, pages 1 - 13 *
Y. ZHANG 等: "Tiny Transducer: A Highly-Efficient Speech Recognition Model on Edge Device", 《ICASSP 2021》 *
ZHENGKUN TIAN: "Self-Attention Transducers for End-to-End Speech Recognition", Retrieved from the Internet <URL:https://arxiv.org/abs/1909.13037> *
谢旭康: "TCN-Transformer-CTC的端到端语音识别", 《计算机应用研究》, 31 March 2022 (2022-03-31) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117079653A (zh) * 2023-10-11 2023-11-17 荣耀终端有限公司 语音识别方法、语音识别模型的训练方法、设备及介质

Similar Documents

Publication Publication Date Title
CN113539290B (zh) 语音降噪方法和装置
WO2022033556A1 (zh) 电子设备及其语音识别方法和介质
US20230360634A1 (en) Text data processing method and apparatus
CN112634876A (zh) 语音识别方法、装置、存储介质及电子设备
CN114401417A (zh) 直播流对象跟踪方法及其装置、设备、介质
CN112183105A (zh) 人机交互方法及装置
WO2023030235A1 (zh) 目标音频的输出方法及系统、可读存储介质、电子装置
CN110931000B (zh) 语音识别的方法和装置
CN113297843B (zh) 指代消解的方法、装置及电子设备
CN111950255B (zh) 诗词生成方法、装置、设备及存储介质
CN114898736A (zh) 语音信号识别方法、装置、电子设备和存储介质
CN116682432B (zh) 语音识别方法、电子设备及可读介质
CN114691839A (zh) 一种意图槽位识别方法
CN117116264A (zh) 一种语音识别方法、电子设备以及介质
CN116682432A (zh) 语音识别方法、电子设备及可读介质
CN116682420B (zh) 语音识别方法、电子设备及可读介质
CN115841814A (zh) 语音交互方法及电子设备
CN114863916A (zh) 语音识别模型训练方法、语音识别方法、装置及存储介质
CN114238554A (zh) 一种文本标注提取方法
WO2023065854A1 (zh) 分布式语音控制方法及电子设备
WO2023078221A1 (zh) 语言翻译方法及电子设备
CN116665643B (zh) 韵律标注方法、装置和终端设备
CN116052648B (zh) 一种语音识别模型的训练方法、使用方法及训练系统
WO2023231936A1 (zh) 一种语音交互方法及终端
CN113903325B (zh) 文本转3d音频的方法及装置

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