CN109509475A - 语音识别的方法、装置、电子设备及计算机可读存储介质 - Google Patents

语音识别的方法、装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN109509475A
CN109509475A CN201811618015.9A CN201811618015A CN109509475A CN 109509475 A CN109509475 A CN 109509475A CN 201811618015 A CN201811618015 A CN 201811618015A CN 109509475 A CN109509475 A CN 109509475A
Authority
CN
China
Prior art keywords
data
time window
layer
audio signal
multiplex data
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
CN201811618015.9A
Other languages
English (en)
Other versions
CN109509475B (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.)
Volkswagen China Investment Co Ltd
Mobvoi Innovation Technology Co Ltd
Original Assignee
Chumen Wenwen Information Technology 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 Chumen Wenwen Information Technology Co Ltd filed Critical Chumen Wenwen Information Technology Co Ltd
Priority to CN201811618015.9A priority Critical patent/CN109509475B/zh
Publication of CN109509475A publication Critical patent/CN109509475A/zh
Application granted granted Critical
Publication of CN109509475B publication Critical patent/CN109509475B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems

Abstract

本申请提供了一种语音识别的方法、装置、电子设备及计算机可读存储介质,涉及语音识别领域。该方法包括:在接收到原始音频信号后,从原始音频信号中提取出对应的音频信号特征序列,并将音频信号特征序列输入预置的时间卷积网络模型,采用预置的算法依次生成对应的建模单元的分类概率值,再将建模单元的分类概率值输入预置的语音模型进行解码,就能够得到与语音对应的文本结果了。相对于现有技术,本申请采用预置的算法能够避免相邻时间窗口之间的重复计算,从而提高语音识别的速度。

Description

语音识别的方法、装置、电子设备及计算机可读存储介质
技术领域
本申请涉及语音识别技术领域,具体而言,本申请涉及一种语音识别的方法、装置、电子设备及计算机可读存储介质。
背景技术
时间卷积网络(Temporal Convolutional Network)是一类用于对时间序列特征进行建模的神经网络架构,在语言识别、自然语言处理领域相关问题上体现了很好的效果,典型的结构如图1所示。
通常这类神经网络的输入为包括前后一段时间内上下文信息在内的时间序列特征,比如,语音识别问题中的音频信号特征序列、自然语言处理问题中的文本特征序列等。输入特征序列经过逐层叠加的卷积计算之后得到对应于这一段的输出结果,比如,在语音识别问题中可以是一段音频信息对应的音节类型。
随着时间方向,输入的特征序列以滑动窗口的形式移动,从而逐步计算出每一段时间片段对应的输出,如图2所示,到下一个时刻,输入输出以及进行卷积计算的中间数据由深灰色圆圈表示,浅灰色圆圈表示上一时刻的输入输出以及进行卷积计算的中间数据。
基于以上示例,可以进一步分析得出,常规的时间卷积网络,为了得到每个时间窗口对应的输出,会存在部分重复的卷积计算和数据存储,如图3所示,其中黑色圆圈表示的数据就是前后两个时间窗口的计算中重复的部分。
可以看到,现有的时间卷积网络存在着大量重复的卷积计算和数据存储,不仅耗费较多的硬件资源,还导致基于时间卷积网络的语音识别系统的延迟较大,用户体验较差。
发明内容
本申请提供了一种语音识别的方法、装置、电子设备及计算机可读存储介质,可以解决现有的基于时间卷积网络模型的语音识别系统的延迟较大,用户体验较差的问题。所述技术方案如下:
第一方面,提供了一种语音识别的方法,该方法包括:
接收原始音频信号;
从所述原始音频信号中提取出对应的音频信号特征序列;
将所述音频信号特征序列输入预置的时间卷积网络模型,采用预置的算法依次生成对应的建模单元的分类概率值;
将所述建模单元的分类概率值输入预置的语音模型进行解码,得到与所述语音对应的文本结果。
优选的,所述音频信号特征序列包括T个时间窗口,所述时间卷积网络模型为N层树形结构,其中,T、N为大于1的正整数;
所述将所述音频信号特征序列输入预置的时间卷积网络模型,采用预置的算法生成对应的建模单元的分类概率值的步骤,包括:
S1、基于第t时间窗口、第n-1层的卷积步长s确定复用数据的数量m;所述复用数据为第t-1个时间窗口、第n-1层的历史数据;其中,s、m为正整数,t为大于1不大于T的正整数,n为大于1且不大于N的正整数;
S2、获取m个复用数据;
S3、生成s个第n-1层的第一新数据;
S4、采用m个复用数据和s个第一新数据生成第t时间窗口、第n层的第二新数据;
S5、从n等于2开始,执行步骤S1~S4,直到n等于N时,达到所述树形结构的顶层;
S6、将所述顶层的第二新数据确定为第t时间窗口、所述建模单元的分类概率值;
S7、从t等于2开始,执行步骤S1~S6,直到t等于T,依次生成各个时间窗口、所述建模单元的分类概率值。
优选的,所述基于第t时间窗口、第n-1层的卷积步长s确定复用数据的数量m的步骤,包括:
获取所述第t时间窗口、第n-1层的卷积核覆盖长度k;其中,所述k为正整数;
所述m为所述k与所述s的差值。
优选的,所述的方法还包括:
判断所述n是否等于N;
若否,则将所述第二新数据存储到预置的循环双队列中Lend+L和Lend-L的内存中;其中,所述Lend为所述循环双队列的队尾,所述L为所述循环双队列一半的长度。
优选的,所述预置的循环双队列用于存储所述第t-1个时间窗口、第n-1层的历史数据;
所述获取m个复用数据的步骤,包括:从预置的循环双队列中提取出m个复用数据。
第二方面,提供了一种语音识别的装置,该装置包括:
接收模块,用于接收原始音频信号;
提取模块,用于从所述原始音频信号中提取出对应的音频信号特征序列;
计算模块,用于将所述音频信号特征序列输入预置的时间卷积网络模型,采用预置的算法依次生成对应的建模单元的分类概率值;
解码模块,用于将所述建模单元的分类概率值输入预置的语音模型进行解码,得到与所述语音对应的文本结果。
优选的,所述音频信号特征序列包括T个时间窗口,所述时间卷积网络模型为N层树形结构,其中,T、N为大于1的正整数;
所述计算模块包括:
复用数据确定子模块,用于基于第t时间窗口、第n-1层的卷积步长s确定复用数据的数量m;所述复用数据为第t-1个时间窗口、第n-1层的历史数据;其中,s、m为正整数,t为大于1不大于T的正整数,n为大于1且不大于N的正整数;
复用数据获取子模块,用于获取m个复用数据;
第一生成子模块,用于生成s个第n-1层的第一新数据;
第二生成子模块,用于采用m个复用数据和s个第一新数据生成第t时间窗口、第n层的第二新数据;
第一判定子模块,用于从n等于2开始,执行步骤S1~S4,判断n是否等于N,直到n等于N时,达到所述树形结构的顶层;
分类概率值确定子模块,用于将所述顶层的第二新数据确定为第t时间窗口、所述建模单元的分类概率值;
第二判定子模块,用于从t等于2开始,执行步骤S1~S6,判断t是否等于T,直到t等于T,依次生成各个时间窗口、所述建模单元的分类概率值。
优选的,所述复用数据确定子模块,包括:
卷积核覆盖长度获取单元,用于获取所述第t时间窗口、第n-1层的卷积核覆盖长度k;其中,所述k为正整数;
复用数据计算单元,用于计算所述k与所述s的差值,得到所述m。
优选的,所述的装置还包括:
判断模块,用于判断所述n是否等于N;
缓存模块,用于则将所述第二新数据存储到预置的循环双队列中Lend+L或Lend-L的内存中;其中,所述Lend为所述循环双队列的队尾,所述L为所述循环双队列一半的长度。
优选的,所述预置的循环双队列用于存储所述第t-1个时间窗口、第n-1层的历史数据;
所述复用数据获取子模块具体用于从预置的循环双队列中提取出m个复用数据。
第三方面,提供了一种电子设备,该电子设备包括:
处理器、存储器和总线;
所述总线,用于连接所述处理器和所述存储器;
所述存储器,用于存储操作指令;
所述处理器,用于通过调用所述操作指令,可执行指令使处理器执行如本申请的第一方面所示的语音识别的方法对应的操作。
第四方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现本申请第一方面所示的语音识别的方法。
本申请提供的技术方案带来的有益效果是:
在接收到原始音频信号后,从原始音频信号中提取出对应的音频信号特征序列,并将音频信号特征序列输入预置的时间卷积网络模型,采用预置的算法依次生成对应的建模单元的分类概率值,再将建模单元的分类概率值输入预置的语音模型进行解码,就能够得到与语音对应的文本结果了。相对于现有技术,本申请采用预置的算法能够显著地降低在使用时间卷积网络模型时,语音识别系统的延迟,从而提高语音识别的速度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为现有技术的一种时间卷积网络模型结构图;
图2为现有技术的一种时间卷积网络模型“下一时间窗口”的结构图;
图3为现有技术的一种时间卷积网络模型在“下一时间窗口”的计算演示图;
图4为本申请一个实施例提供的一种语音识别的方法的流程示意图;
图5为本申请又一实施例提供的一种时间卷积网络模型在“下一时间窗口”的计算演示图;
图6为本申请又一实施例提供的一种时间卷积网络模型在“下一时间窗口”的简化计算演示图;
图7为本申请又一实施例提供的“循环队列”的工作方式示意图;
图8为本申请又一实施例提供的“循环双队列”的工作方式示意图;
图9为本申请又一实施例提供的一种语音识别的装置的结构示意图;
图10本申请又一实施例提供的一种语音识别的的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
时间卷积网络(Temporal Convolutional Network)是一类用于对时间序列特征进行建模的神经网络架构,在语言识别、自然语言处理领域相关问题上体现了很好的效果,典型的结构如图1所示。
通常这类神经网络的输入为包括前后一段时间内上下文信息在内的时间序列特征,比如,语音识别问题中的音频信号特征序列、自然语言处理问题中的文本特征序列等。输入特征序列经过逐层叠加的卷积计算之后得到对应于这一段的输出结果,比如,在语音识别问题中可以是一段音频信息对应的音节类型。
随着时间方向,输入的特征序列以滑动窗口的形式移动,从而逐步计算出每一段时间片段对应的输出,如图2所示,到下一个时刻,输入输出以及进行卷积计算的中间数据由深灰色圆圈表示,浅灰色圆圈表示上一时刻的输入输出以及进行卷积计算的中间数据。
基于以上示例,可以进一步分析得出,常规的时间卷积网络,为了得到每个时间窗口对应的输出,会存在部分重复的卷积计算和数据存储,如图3所示,其中黑色圆圈表示的数据就是前后两个时间窗口的计算中重复的部分。
可以看到,现有的时间卷积网络存在着大量重复的卷积计算和数据存储,不仅耗费较多的硬件资源,还导致基于时间卷积网络的语音识别系统的延迟较大,用户体验较差。
本申请提供的语音识别的方法、装置、电子设备和计算机可读存储介质,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
在一个实施例中提供了一种语音识别的的方法,如图4所示,该方法包括:
步骤S401,接收原始音频信号;
原始音频信号,简单来说就是终端将采集到的语音,转换为机器可以识别的信号。其中,该终端可以具有如下特点:
(1)在硬件体系上,设备具备中央处理器、存储器、输入部件和输出部件,也就是说,设备往往是具备通信功能的微型计算机设备。另外,还可以具有多种输入方式,诸如键盘、鼠标、触摸屏、送话器和摄像头等,并可以根据需要进行调整输入。同时,设备往往具有多种输出方式,如受话器、显示屏等,也可以根据需要进行调整;
(2)在软件体系上,设备必须具备操作系统,如Windows Mobile、Symbian、Palm、Android、iOS等。同时,这些操作系统越来越开放,基于这些开放的操作系统平台开发的个性化应用程序层出不穷,如通信簿、日程表、记事本、计算器以及各类游戏等,极大程度地满足了个性化用户的需求;
(3)在通信能力上,设备具有灵活的接入方式和高带宽通信性能,并且能根据所选择的业务和所处的环境,自动调整所选的通信方式,从而方便用户使用。设备可以支持GSM(Global System for Mobile Communication,全球移动通信系统)、WCDMA(Wideband CodeDivision Multiple Access,宽带码分多址)、CDMA2000(Code Division MultipleAccess,码分多址)、TDSCDMA(Time Division-Synchronous Code Division MultipleAccess,时分同步码分多址)、Wi-Fi(WIreless-Fidelity,无线保真)以及WiMAX(WorldwideInteroperability for Microwave Access,全球微波互联接入)等,从而适应多种制式网络,不仅支持语音业务,更支持多种无线数据业务;
(4)在功能使用上,设备更加注重人性化、个性化和多功能化。随着计算机技术的发展,设备从“以设备为中心”的模式进入“以人为中心”的模式,集成了嵌入式计算、控制技术、人工智能技术以及生物认证技术等,充分体现了以人为本的宗旨。由于软件技术的发展,设备可以根据个人需求调整设置,更加个性化。同时,设备本身集成了众多软件和硬件,功能也越来越强大。
步骤S402,从所述原始音频信号中提取出对应的音频信号特征序列;
例如,可以是提取FBank特征、MFCC特征等等。
步骤S403,将所述音频信号特征序列输入预置的时间卷积网络模型,采用预置的算法依次生成对应的建模单元的分类概率值;
为了避免时间卷积网络在相邻时间窗口之间的重复计算,可以根据网络结构分析为了完成下一时刻的计算,至少需要的数据。如图5所示的网络结构,为了计算最上层的最终输出结果,需要下一层的三个中间数据,而这三个中间数据中的前两个已经在前一个时间窗口的计算中得到了,因此需要新计算的只有最后一个中间数据。以此类推,可以分析得到每一层需要新计算的数据(以深灰色圆圈表示),以及能够复用之前计算结果的数据(以白色圆圈表示)。
在本发明一种优选实施例中,所述音频信号特征序列包括T个时间窗口,所述时间卷积网络模型为N层树形结构,其中,T、N为大于1的正整数。
在实际应用中,终端是随着时间的推移来接收用户的语音,所以,终端提取到的音频信号特征序列也是一个时间段的,包括多个时间窗口。例如,用户的语音有5秒,时间窗口为1秒,那么,用户的语音就有5个时间窗口。
而时间卷积网络模型则可以采用N层的树形结构,为方便描述,在本申请中,采用N等于5来举例说明。
在时间卷积网络模式中,最下面的一层(第一层)为提取的音频信号特征序列,最上面的一层(第五层)为通过卷积计算得到的输出结果,也就是当前时间窗口对应的建模单元的分类概率值,假设用户的语音只有一个时间窗口,如图1所示,那么当前时间窗口对应一个建模单元的分类概率值;假设用户的语音有两个时间窗口,如图2所示,那么第一个时间窗口对应的建模单元的分类概率值为顶层的浅灰色圆圈,第二个时间窗口对应的建模单元的分类概率值为顶层的深灰色圆圈。其中,常用的建模单元可以包括音素、音节、字等等。
在本发明一种优选实施例中,所述将所述音频信号特征序列输入预置的时间卷积网络模型,生成对应的建模单元的分类概率值的步骤,包括:
S1、基于第t时间窗口、第n-1层的卷积步长s确定复用数据的数量m;所述复用数据为第t-1个时间窗口、第n-1层的历史数据;其中,s、m为正整数,t为大于1不大于T的正整数,n为大于1且不大于N的正整数;
S2、获取m个复用数据;
S3、生成s个第n-1层的第一新数据;
S4、采用m个复用数据和s个第一新数据生成第t时间窗口、第n层的第二新数据;
S5、从n等于2开始,执行步骤S1~S4,直到n等于N时,达到所述树形结构的顶层;
S6、将所述顶层的第二新数据确定为第t时间窗口、所述建模单元的分类概率值;
S7、从t等于2开始,执行步骤S1~S6,直到t等于T,依次生成各个时间窗口、所述建模单元的分类概率值。
具体而言,时间卷积网络模型中的每一层(除了底层和顶层)都有独立的卷积步长s,简单来说,可以理解为随着时间方向,输入的特征序列以滑动窗口的形式移动了s个时间窗口,比如在图2、3、5中,特征序列随着时间方向,移动了一个时间窗口。
将图5进行简化,得到图6,在图6中,深灰色圆圈代表了各层需要新计算的数据(顶层的数据除外,顶层新数据为新输入的音频信号特征序列),而白色圆圈代表的是能够复用之前卷积计算得到的数据,在现有技术中,白色圆圈对应的这些数据会重复计算,而在本申请中,直接复用即可。
在本发明一种优选实施例中,所述基于第t时间窗口、第n-1层的卷积步长s确定复用数据的数量m的步骤,包括:
获取所述第t时间窗口、第n-1层的卷积核覆盖长度k;其中,所述k为正整数;
所述m为所述k与所述s的差值。
具体的,时间卷积网络模型中的每一层(除了底层和顶层)的卷积步长s,其实就是各个层在当前时间窗口需要计算的新数据的数量,另外,每一层还有对应的卷积核覆盖长度,简单来说,就是在计算某一层的某个新数据时,需要上一层的数据的数量,包括新数据和复用数据。
如在图6中,第二层的卷积步长为2,那么在当前时间窗口,第二层需要计算的新数据的数量就是2个,第二层中每三个数据为一组来计算第三层的数据,所以,第二层中,卷积核覆盖长度为3,卷积步长为2,因此,可以复用的数据有1(3-2)个,需要新计算的数据有2个。
在本申请中,因为音频信号特征序列是按照时间窗口的顺序输入的,所以,也会按照时间窗口的顺序来卷积计算并输出结果的,而时间卷积网络模型的第一层是输入的音频信号特征序列。因此,在本申请中,针对当前时间窗口,会从第二层开始执行卷积计算,直到得到顶层的输出结果。例如,以T=8,t=2,n=4进行举例说明:
S1、基于第2时间窗口、第3层的卷积步长1确定复用数据的数量2;该复用数据为第1个时间窗口、第3层的历史数据(如图4中第三层的两个白色圆圈);
S2、获取2个复用数据(如图4中第三层的两个白色圆圈);
S3、生成1个第3层的第一新数据(如图4中第三层的一个深灰色圆圈);
S4、采用2个复用数据和1个第一新数据生成第2时间窗口、第4层的第二新数据(如图4中第四层的一个深灰色圆圈);
S5、继续执行步骤S1~S4,直到n等于5时,达到该树形结构的顶层(如图4中顶层的一个深灰色圆圈);
S6、将该顶层的第二新数据确定为第2时间窗口、所述建模单元的分类概率值;
S7、继续执行步骤S1~S6,直到t等于8,依次生成8个时间窗口、所述建模单元的分类概率值。
需要说明的是,如果只有一个时间窗口,比如用户说的“是”、“好”等,几乎只有一瞬间,那么就不需要执行步骤S7了,也就是t=T=1的时候,将音频信号特征序列输入预置的时间卷积网络模型后,直接生成对应的建模单元的分类概率值即可。
在本发明一种优选实施例中,所述的方法还包括:
判断所述n是否等于N;
若否,则将所述第二新数据存储到预置的循环双队列中Lend+L和Lend-L的内存中;其中,所述Lend为所述循环双队列的队尾,所述L为所述循环双队列一半的长度。
具体而言,时间网络卷积模型具有N层树形结构,而第一层是输入的源数据,第N层是输入的结果数据,中间的第2~N层其实都是中间数据,但是这些中间数据在卷积计算的过程中又必不可少,所以,本申请可以使用一个循环队列,来存储时间卷积网络模型中每一层需要复用的历史数据,用于后续的卷积计算,如图7所示,假设循环队列的长度为3,某一层的新数据计算出来后,就存储到循环队列的队尾,循环队列中队首的数据就被“挤”出去了,这样,循环队列中就存储着两个复用数据和一个新数据,上一层的新数据就可以基于循环队列中的这三个数据计算所得。
首先,说明一下循环队列的工作方式:
循环队列的目的是保存卷积网络模型中,前后两层之间计算得到的中间数据。
为了提高数据读写的效率,使用循环队列来实现对中间数据进行缓存。基本的循环队列使用固定长度的连续内存空间来存储数据,使用指针记录队列的首发位置。入队操作在队尾指针处写入数据,然后相应地将队尾指针向后移动,指向新的队尾;出队操作在卫仲道指针处读取数据,然后相应地将队首指针向后移动,指向新的队首。
如果队首和队尾指针在移动时超出预设循环队列内存空间的最末尾,则重新移动到内存空间的最前面。
因为由于典型的计算机系统在从内存中读取数据时,会将一段位于连续地址的数据读进缓存(例如L1cache、L2cache等),如果将需要计算的数据放在连续的内存空间,通常能够有效提高缓存被命中的机率;如果不连续,计算机系统在读取数据时,缓存的命中率低,会极大地增加访问内存的次数。毕竟访问缓存的速度远远高于访问内存,因此使用连续的内存空间存储输入数据可以提高整体的运算效率。
基于上述循环队列的工作原理,在本申请中,当队尾指针重新移动到内存空间最前面的时候,新入队的缓存数据则和之前的缓存数据在内存地址不再保持连续。如果此时后一层的卷积计算读取一批缓存数据进行计算,则会因为需要访问内存地址不连续的数据而影响计算速度。
因此如果使用简单的循环队列进行新数据入队和旧数据出队,为了保持数据的内存地址连续,则需要进行相对耗时的内存分配和额外拷贝操作。
为了进一步提高时间卷积网络的计算效率,本申请还可以通过一种基于双倍容量数组的循环队列(为方便描述,后文简称为“循环双队列”)来存储中间数据,也就是用来存储第t-1个时间窗口、第n-1层的历史数据,这样,获取m个复用数据也就是从预置的循环双队列中提取出m个复用数据。
具体而言,将循环双队列的内存空间长度扩大一倍(假设从长度L扩大为2L),并设计两个队尾指针,两个队尾指针之间距离为L。与队尾指针相应的,两个队首指针之间距离也为L。当进行入队操作时,同时在两个队尾指针处写入数据,并按照上述方式向后移动两个队尾指针。
同样的,当队尾指针超出预设队内空间的最末尾,则重新移动到内存空间的最前面。
在这种双倍长度的循环双队列中,缓存数据同时存在两份,当其中一个队尾指针重新移动到内存空间最前面的时候,只有一份缓存数据在内存地址会出于非连续,而至少有一份缓存数据总是出于连续的内存地址上。执行出队操作时,选择从地址连续的那一份熂的队首位置读取数据,并同时将两个队首指针向后移动。
具体的,循环双队列的存储空间预先分配好,入队和出队的位置在分配的这段内存空间“循环”移动,例如每入队一个元素,则入队位置往后移一位,直到入队位置移到存储空间的末尾,则重新回到最前面。相对于简单队列,可以避免每次入队出队时重新移动其他元素。
例如,如图8所示,假设数组长度为2L,队尾位置在数组索引中为Lend,在将新计算得到的数据存入队列时,除了在Lend写入数据外,还在距离L的位置Lend-L,写入相同的数据。
中间数据缓存到循环双队列中的位置是-L还是+L,取决于入队位置是否已经超出队列空间的末尾,如果没有超出末尾则为往后+L,如果超出则为往前-L。另外,如果从“循环”的角度来理解,也可以认为总是在往后+l的位置写入数据,当+L位置超出末尾时,会根据“循环”的逻辑重新换算到队列空间的前面某个位置上。
往后或者往前写入中间数据,都是为了确保在任意时刻,这个循环双队列中总是有一段内地地址连续的数据,可以直接用于作为下一层卷积计算的输入。这样,在无需重新分配内存空间和拷贝原有数据的情况下,确保后续卷积计算的输入数据位于连续内存地址上,从而进一步提高了卷积计算的速度,进而提高了语音识别的整体速度。
步骤S404,将所述建模单元的分类概率值输入预置的语音模型进行解码,得到与所述语音对应的文本结果。
依次生成各个时间窗口对应的建模单元的分类概率值后,将各个分类概率值输入预置的语音模型后进行解码,就可以得到语音对应的文本结果了。
在本申请中,在接收到原始音频信号后,从原始音频信号中提取出对应的音频信号特征序列,并将音频信号特征序列输入预置的时间卷积网络模型,采用预置的算法依次生成对应的建模单元的分类概率值,再将建模单元的分类概率值输入预置的语音模型进行解码,就能够得到与语音对应的文本结果了。相对于现有技术,本申请采用预置的算法能够避免相邻时间窗口之间的重复计算,从而提高语音识别的速度。
进一步,本申请采用了循环双队列来缓存卷积计算过程中的中间数据,确保了用于卷积计算的中间数据的内存连续性,从而显著地降低在使用时间卷积网络模型时,语音识别系统的延迟,
图9为本申请又一实施例提供的一种语音识别的装置的结构示意图,如图9所示,本实施例的装置可以包括:
接收模块901,用于接收原始音频信号;
提取模块902,用于从所述原始音频信号中提取出对应的音频信号特征序列;
计算模块903,用于将所述音频信号特征序列输入预置的时间卷积网络模型,采用预置的算法依次生成对应的建模单元的分类概率值;
解码模块904,用于将所述建模单元的分类概率值输入预置的语音模型进行解码,得到与所述语音对应的文本结果。
在本发明一种优选实施例中,所述音频信号特征序列包括T个时间窗口,所述时间卷积网络模型为N层树形结构,其中,T、N为大于1的正整数;
所述计算模块包括:
复用数据确定子模块,用于基于第t时间窗口、第n-1层的卷积步长s确定复用数据的数量m;所述复用数据为第t-1个时间窗口、第n-1层的历史数据;其中,s、m为正整数,t为大于1不大于T的正整数,n为大于1且不大于N的正整数;
复用数据获取子模块,用于获取m个复用数据;
第一生成子模块,用于生成s个第n-1层的第一新数据;
第二生成子模块,用于采用m个复用数据和s个第一新数据生成第t时间窗口、第n层的第二新数据;
第一判定子模块,用于从n等于2开始,控制复用数据确定子模块、复用数据获取子模块、第一生成子模块以及第二生成子模块相应执行,判断n是否等于N,直到n等于N时,达到所述树形结构的顶层;
分类概率值确定子模块,用于将所述顶层的第二新数据确定为第t时间窗口、所述建模单元的分类概率值;
第二判定子模块,用于从t等于2开始,控制复用数据确定子模块、复用数据获取子模块、第一生成子模块以及第二生成子模块、第一判定子模块、分类概率值确定子模块相应执行,判断t是否等于T,直到t等于T,依次生成各个时间窗口、所述建模单元的分类概率值。
在本发明一种优选实施例中,所述复用数据确定子模块,包括:
卷积核覆盖长度获取单元,用于获取所述第t时间窗口、第n-1层的卷积核覆盖长度k;其中,所述k为正整数;
复用数据计算单元,用于计算所述k与所述s的差值,得到所述m。
在本发明一种优选实施例中,所述的装置还包括:
判断模块,用于判断所述n是否等于N;
缓存模块,用于则将所述第二新数据存储到预置的循环双队列中Lend+L或Lend-L的内存中;其中,所述Lend为所述循环双队列的队尾,所述L为所述循环双队列一半的长度。
在本发明一种优选实施例中,所述预置的循环双队列用于存储所述第t-1个时间窗口、第n-1层的历史数据;
所述复用数据获取子模块具体用于从预置的循环双队列中提取出m个复用数据。
本实施例的语音识别的装置可执行本申请第一个实施例所示的语音识别的方法,其实现原理相类似,此处不再赘述。
本申请的又一实施例中提供了一种电子设备,该电子设备包括:存储器和处理器;至少一个程序,存储于存储器中,用于被处理器执行时,与现有技术相比可实现:在接收到原始音频信号后,从原始音频信号中提取出对应的音频信号特征序列,并将音频信号特征序列输入预置的时间卷积网络模型,采用预置的算法依次生成对应的建模单元的分类概率值,再将建模单元的分类概率值输入预置的语音模型进行解码,就能够得到与语音对应的文本结果了。相对于现有技术,本申请采用预置的算法能够避免相邻时间窗口之间的重复计算,从而提高语音识别的速度。
在一个可选实施例中提供了一种电子设备,如图10所示,图10所示的电子设备10000包括:处理器10001和存储器10003。其中,处理器10001和存储器10003相连,如通过总线10002相连。可选地,电子设备10000还可以包括收发器10004。需要说明的是,实际应用中收发器10004不限于一个,该电子设备10000的结构并不构成对本申请实施例的限定。
处理器10001可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器10001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线10002可包括一通路,在上述组件之间传送信息。总线10002可以是PCI总线或EISA总线等。总线10002可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器10003可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器10003用于存储执行本申请方案的应用程序代码,并由处理器10001来控制执行。处理器10001用于执行存储器10003中存储的应用程序代码,以实现前述任一方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。
本申请的又一实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与现有技术相比,在接收到原始音频信号后,从原始音频信号中提取出对应的音频信号特征序列,并将音频信号特征序列输入预置的时间卷积网络模型,采用预置的算法依次生成对应的建模单元的分类概率值,再将建模单元的分类概率值输入预置的语音模型进行解码,就能够得到与语音对应的文本结果了。相对于现有技术,本申请采用预置的算法能够避免相邻时间窗口之间的重复计算,从而提高语音识别的速度。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种语音识别的方法,其特征在于,包括:
接收原始音频信号;
从所述原始音频信号中提取出对应的音频信号特征序列;
将所述音频信号特征序列输入预置的时间卷积网络模型,采用预置的算法依次生成对应的建模单元的分类概率值;
将所述建模单元的分类概率值输入预置的语音模型进行解码,得到与所述语音对应的文本结果。
2.根据权利要求1所述的语音识别的方法,其特征在于,所述音频信号特征序列包括T个时间窗口,所述时间卷积网络模型为N层树形结构,其中,T、N为大于1的正整数;
所述将所述音频信号特征序列输入预置的时间卷积网络模型,采用预置的算法生成对应的建模单元的分类概率值的步骤,包括:
S1、基于第t时间窗口、第n-1层的卷积步长s确定复用数据的数量m;所述复用数据为第t-1个时间窗口、第n-1层的历史数据;其中,s、m为正整数,t为大于1不大于T的正整数,n为大于1且不大于N的正整数;
S2、获取m个复用数据;
S3、生成s个第n-1层的第一新数据;
S4、采用m个复用数据和s个第一新数据生成第t时间窗口、第n层的第二新数据;
S5、从n等于2开始,执行步骤S1~S4,直到n等于N时,达到所述树形结构的顶层;
S6、将所述顶层的第二新数据确定为第t时间窗口、所述建模单元的分类概率值;
S7、从t等于2开始,执行步骤S1~S6,直到t等于T,依次生成各个时间窗口、所述建模单元的分类概率值。
3.根据权利要求2所述的语音识别的方法,其特征在于,所述基于第t时间窗口、第n-1层的卷积步长s确定复用数据的数量m的步骤,包括:
获取所述第t时间窗口、第n-1层的卷积核覆盖长度k;其中,所述k为正整数;
所述m为所述k与所述s的差值。
4.根据权利要求2所述的语音识别的方法,其特征在于,所述的方法还包括:
判断所述n是否等于N;
若否,则将所述第二新数据存储到预置的循环双队列中Lend+L和Lend-L的内存中;其中,所述Lend为所述循环双队列的队尾,所述L为所述循环双队列一半的长度。
5.根据权利要求2或4所述的语音识别的方法,其特征在于,所述预置的循环双队列用于存储所述第t-1个时间窗口、第n-1层的历史数据;
所述获取m个复用数据的步骤,包括:从预置的循环双队列中提取出m个复用数据。
6.一种语音识别的装置,其特征在于,包括:
接收模块,用于接收原始音频信号;
提取模块,用于从所述原始音频信号中提取出对应的音频信号特征序列;
计算模块,用于将所述音频信号特征序列输入预置的时间卷积网络模型,采用预置的算法依次生成对应的建模单元的分类概率值;
解码模块,用于将所述建模单元的分类概率值输入预置的语音模型进行解码,得到与所述语音对应的文本结果。
7.根据权利要求1所述的语音识别的装置,其特征在于,所述音频信号特征序列包括T个时间窗口,所述时间卷积网络模型为N层树形结构,其中,T、N为大于1的正整数;
所述计算模块包括:
复用数据确定子模块,用于基于第t时间窗口、第n-1层的卷积步长s确定复用数据的数量m;所述复用数据为第t-1个时间窗口、第n-1层的历史数据;其中,s、m为正整数,t为大于1不大于T的正整数,n为大于1且不大于N的正整数;
复用数据获取子模块,用于获取m个复用数据;
第一生成子模块,用于生成s个第n-1层的第一新数据;
第二生成子模块,用于采用m个复用数据和s个第一新数据生成第t时间窗口、第n层的第二新数据;
第一判定子模块,用于从n等于2开始,控制复用数据确定子模块、复用数据获取子模块、第一生成子模块以及第二生成子模块相应执行,判断n是否等于N,直到n等于N时,达到所述树形结构的顶层;
分类概率值确定子模块,用于将所述顶层的第二新数据确定为第t时间窗口、所述建模单元的分类概率值;
第二判定子模块,用于从t等于2开始,控制复用数据确定子模块、复用数据获取子模块、第一生成子模块以及第二生成子模块、第一判定子模块、分类概率值确定子模块相应执行,判断t是否等于T,直到t等于T,依次生成各个时间窗口、所述建模单元的分类概率值。
8.根据权利要求7所述的语音识别的装置,其特征在于,所述复用数据确定子模块,包括:
卷积核覆盖长度获取单元,用于获取所述第t时间窗口、第n-1层的卷积核覆盖长度k;其中,所述k为正整数;
复用数据计算单元,用于计算所述k与所述s的差值,得到所述m。
9.一种电子设备,其特征在于,其包括:
处理器、存储器和总线;
所述总线,用于连接所述处理器和所述存储器;
所述存储器,用于存储操作指令;
所述处理器,用于通过调用所述操作指令,执行上述权利要求1-5中任一项所述的语音识别的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行上述权利要求1至5中任一项所述的语音识别的方法。
CN201811618015.9A 2018-12-28 2018-12-28 语音识别的方法、装置、电子设备及计算机可读存储介质 Active CN109509475B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811618015.9A CN109509475B (zh) 2018-12-28 2018-12-28 语音识别的方法、装置、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811618015.9A CN109509475B (zh) 2018-12-28 2018-12-28 语音识别的方法、装置、电子设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN109509475A true CN109509475A (zh) 2019-03-22
CN109509475B CN109509475B (zh) 2021-11-23

Family

ID=65755661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811618015.9A Active CN109509475B (zh) 2018-12-28 2018-12-28 语音识别的方法、装置、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN109509475B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110163129A (zh) * 2019-05-08 2019-08-23 腾讯科技(深圳)有限公司 视频处理的方法、装置、电子设备及计算机可读存储介质
CN111968635A (zh) * 2020-08-07 2020-11-20 北京小米松果电子有限公司 语音识别的方法、装置及存储介质
CN113112993A (zh) * 2020-01-10 2021-07-13 阿里巴巴集团控股有限公司 一种音频信息处理方法、装置、电子设备以及存储介质
CN113240084A (zh) * 2021-05-11 2021-08-10 北京搜狗科技发展有限公司 一种数据处理方法、装置、电子设备及可读介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106227718A (zh) * 2016-07-18 2016-12-14 中国民航大学 基于cnn的陆空通话语义一致性校验方法
US20170243387A1 (en) * 2016-02-18 2017-08-24 Pinscreen, Inc. High-fidelity facial and speech animation for virtual reality head mounted displays
CN107451654A (zh) * 2017-07-05 2017-12-08 深圳市自行科技有限公司 卷积神经网络的加速运算方法、服务器及存储介质
CN107798382A (zh) * 2017-11-21 2018-03-13 北京地平线信息技术有限公司 用于适配卷积神经网络中的特征数据的方法和装置
CN108010514A (zh) * 2017-11-20 2018-05-08 四川大学 一种基于深度神经网络的语音分类方法
CN108416430A (zh) * 2017-02-10 2018-08-17 耐能股份有限公司 卷积神经网络的池化运算装置及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170243387A1 (en) * 2016-02-18 2017-08-24 Pinscreen, Inc. High-fidelity facial and speech animation for virtual reality head mounted displays
CN106227718A (zh) * 2016-07-18 2016-12-14 中国民航大学 基于cnn的陆空通话语义一致性校验方法
CN108416430A (zh) * 2017-02-10 2018-08-17 耐能股份有限公司 卷积神经网络的池化运算装置及方法
CN107451654A (zh) * 2017-07-05 2017-12-08 深圳市自行科技有限公司 卷积神经网络的加速运算方法、服务器及存储介质
CN108010514A (zh) * 2017-11-20 2018-05-08 四川大学 一种基于深度神经网络的语音分类方法
CN107798382A (zh) * 2017-11-21 2018-03-13 北京地平线信息技术有限公司 用于适配卷积神经网络中的特征数据的方法和装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110163129A (zh) * 2019-05-08 2019-08-23 腾讯科技(深圳)有限公司 视频处理的方法、装置、电子设备及计算机可读存储介质
CN110163129B (zh) * 2019-05-08 2024-02-13 腾讯科技(深圳)有限公司 视频处理的方法、装置、电子设备及计算机可读存储介质
CN113112993A (zh) * 2020-01-10 2021-07-13 阿里巴巴集团控股有限公司 一种音频信息处理方法、装置、电子设备以及存储介质
CN113112993B (zh) * 2020-01-10 2024-04-02 阿里巴巴集团控股有限公司 一种音频信息处理方法、装置、电子设备以及存储介质
CN111968635A (zh) * 2020-08-07 2020-11-20 北京小米松果电子有限公司 语音识别的方法、装置及存储介质
CN111968635B (zh) * 2020-08-07 2024-03-05 北京小米松果电子有限公司 语音识别的方法、装置及存储介质
CN113240084A (zh) * 2021-05-11 2021-08-10 北京搜狗科技发展有限公司 一种数据处理方法、装置、电子设备及可读介质
CN113240084B (zh) * 2021-05-11 2024-02-02 北京搜狗科技发展有限公司 一种数据处理方法、装置、电子设备及可读介质

Also Published As

Publication number Publication date
CN109509475B (zh) 2021-11-23

Similar Documents

Publication Publication Date Title
US11158102B2 (en) Method and apparatus for processing information
CN109509475A (zh) 语音识别的方法、装置、电子设备及计算机可读存储介质
CN106887225B (zh) 基于卷积神经网络的声学特征提取方法、装置和终端设备
CN107077464B (zh) 电子设备和用于其口头交互的方法
CN110288980A (zh) 语音识别方法、模型的训练方法、装置、设备及存储介质
CN109871800B (zh) 一种人体姿态估计方法、装置和存储介质
CN109256147B (zh) 音频节拍检测方法、装置及存储介质
CN109767758B (zh) 车载语音分析方法、系统、存储介质以及设备
JP2022502758A (ja) 符号化方法、装置、機器およびプログラム
CN112687266B (zh) 语音识别方法、装置、计算机设备和存储介质
CN106601254A (zh) 信息输入方法和装置及计算设备
US20190066669A1 (en) Graphical data selection and presentation of digital content
CN111291882A (zh) 一种模型转换的方法、装置、设备和计算机存储介质
CN112149699A (zh) 用于生成模型的方法、装置和用于识别图像的方法、装置
WO2021068493A1 (zh) 用于处理信息的方法和装置
CN110009101B (zh) 用于生成量化神经网络的方法和装置
CN109829431B (zh) 用于生成信息的方法和装置
CN112633420B (zh) 图像相似度确定及模型训练方法、装置、设备和介质
CN109710939B (zh) 用于确定主题的方法和装置
CN111694768B (zh) 运算方法、装置及相关产品
CN113689866B (zh) 一种语音转换模型的训练方法、装置、电子设备及介质
CN113450764B (zh) 文本语音识别方法、装置、设备及存储介质
CN113378541B (zh) 文本标点预测方法、装置、系统及存储介质
US11921782B2 (en) VideoChat
CN114677623A (zh) 模型训练方法、视频处理方法、计算机设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211129

Address after: 210038 8th floor, building D11, Hongfeng science and Technology Park, Nanjing Economic and Technological Development Zone, Jiangsu Province

Patentee after: New Technology Co.,Ltd.

Patentee after: Volkswagen (China) Investment Co., Ltd

Address before: 100007 1001, 10th floor, office building a, 19 Zhongguancun Street, Haidian District, Beijing

Patentee before: MOBVOI INFORMATION TECHNOLOGY Co.,Ltd.