CN115116436A - 解码方法和解码设备 - Google Patents
解码方法和解码设备 Download PDFInfo
- Publication number
- CN115116436A CN115116436A CN202210026348.2A CN202210026348A CN115116436A CN 115116436 A CN115116436 A CN 115116436A CN 202210026348 A CN202210026348 A CN 202210026348A CN 115116436 A CN115116436 A CN 115116436A
- Authority
- CN
- China
- Prior art keywords
- decoding
- time
- lexical
- reuse
- sequence
- 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 57
- 239000013598 vector Substances 0.000 claims abstract description 57
- 238000013528 artificial neural network Methods 0.000 claims abstract description 52
- 230000015654 memory Effects 0.000 claims description 28
- 238000004891 communication Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 3
- 230000036961 partial effect Effects 0.000 description 80
- 238000012545 processing Methods 0.000 description 16
- 238000010845 search algorithm Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 238000012549 training Methods 0.000 description 7
- 230000002829 reductive effect Effects 0.000 description 4
- 230000035945 sensitivity Effects 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
-
- 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
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/04—Time compression or expansion
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- 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/083—Recognition 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
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
- G10L25/30—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L2015/085—Methods for reducing search complexity, pruning
-
- 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
- G10L2015/223—Execution procedure of a spoken command
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Quality & Reliability (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Error Detection And Correction (AREA)
- Machine Translation (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
Abstract
公开了解码方法和解码设备。所述解码方法包括:接收与当前时间的输入语音对应的输入序列;以及在用于语音识别的神经网络(NN)中,通过对输入序列进行编码来生成编码向量序列,通过比较两个或更多个先前时间的候选波束,从所述两个或更多个先前时间的候选波束确定重用词法单元,以及基于重用词法单元和编码向量序列,对重用词法单元之后的一个或多个词法单元进行解码。
Description
本申请要求于2021年3月18日在韩国知识产权局提交的第10-2021-0035353号韩国专利申请的权益,所述韩国专利申请的全部公开出于所有目的通过引用包含于此。
技术领域
下面的描述涉及用于语音识别的神经网络中的解码方法和解码设备。
背景技术
语音识别可表示用于通过用计算装置分析声学语音信号(诸如,由人类发出的语音声音)来识别或理解声学语音信号的技术。语音识别可包括例如通过使用隐马尔可夫模型(hidden Markov model,HMM)分析发音来识别语音,隐马尔可夫模型使用声学模型对从语音数据提取的频率特征进行处理,或者在没有单独的声学模型的情况下,使用被构造为人工神经网络(ANN)的端到端(end-to-end)型模型从语音数据直接地识别文本(诸如,词或句子)。
发明内容
提供本发明内容以简化的形式介绍在下面的具体实施方式中进一步描述的构思的选择。本发明内容不意在确定要求权利的主题的关键特征或必要特征,也不意在用于帮助确定要求权利的主题的范围。
在一个总体方面,一种解码方法包括:接收与当前时间的输入语音对应的输入序列;以及在用于语音识别的神经网络(NN)中,通过对输入序列进行编码来生成编码向量序列,通过比较两个或更多个先前时间的候选波束,从所述两个或更多个先前时间的候选波束确定重用词法单元,以及基于重用词法单元和编码向量序列,对重用词法单元之后的一个或多个词法单元进行解码。
确定重用词法单元的步骤可包括:基于先前时间n-2的候选波束与先前时间n-1的候选波束之间的比较结果,确定当前时间n的词法单元的重用时间,当前时间n是先前时间n-2之后的先前时间n-1之后的当前时间,其中,n是大于或等于“3”的自然数;以及将直到所述重用时间累积的候选波束确定为重用词法单元。
确定所述重用时间的步骤可包括:将在先前时间n-2的候选波束和先前时间n-1的候选波束中最大数量的子串匹配的时间确定为当前时间n的词法单元的重用时间。
所述方法可包括存储以下项中的任一者或两者:具有直到所述重用时间的候选波束的概率之中的最高概率的候选波束;以及与具有最高概率的候选波束对应的波束状态。
对所述一个或多个词法单元进行解码的步骤可包括:基于在所述两个或更多个先前时间之中的解码的先前时间的词法单元的组合的概率,确定将用于下一时间的解码的候选波束;以及使用候选波束之中的与词法单元的重用时间对应的一个或多个候选波束来对所述一个或多个词法单元进行解码。
对所述一个或多个词法单元进行解码的步骤可包括:将候选波束之中的与词法单元的重用时间对应的一个或多个候选波束输入到包括在NN中的自回归解码器层;以及对所述一个或多个词法单元进行解码。
对所述一个或多个词法单元进行解码的步骤可包括:响应于输入语音未被结束,对所述一个或多个词法单元解码预设的次数。
对所述一个或多个词法单元的进行解码的步骤可包括:基于重用词法单元和编码向量序列来预测重用词法单元之后的词法单元候选的概率;以及基于词法单元候选的概率来确定所述一个或多个词法单元。
生成编码向量序列的步骤可包括:通过使用包括在NN中的编码器层对输入序列进行编码来生成编码向量序列。
所述方法可包括:在NN中,通过将与当前时间的输入语音对应的输入序列累积到先前时间的输入序列来生成累积序列,其中,生成编码向量序列的步骤可包括通过对累积序列进行编码来生成编码向量序列。
NN可包括基于注意力的编码器-解码器模型,基于注意力的编码器-解码器模型包括编码器层和自回归解码器层。
所述方法可包括:基于重用词法单元之后的解码后的一个或多个词法单元来生成输入语音的语音识别结果。
在另一总体方面,一个或多个实施例包括一种存储指令的非暂时性计算机可读存储介质,所述指令在由处理器执行时,配置处理器执行在此描述的操作和方法中的任何一个、任何组合或全部。
在另一总体方面,一种具有用于语音识别的神经网络(NN)的解码设备包括:通信接口,被配置为接收与当前时间的输入语音对应的输入序列;以及处理器,被配置为使用神经网络来执行以下操作:通过对输入序列进行编码来生成编码向量序列,通过比较两个或更多个先前时间的候选波束,从所述两个或更多个先前时间的候选波束确定重用词法单元,以及基于重用词法单元和编码向量序列,对重用词法单元之后的一个或多个词法单元进行解码。
为了确定重用词法单元,处理器可被配置为:基于先前时间n-2的候选波束与先前时间n-1的候选波束之间的比较结果,确定当前时间n的词法单元的重用时间,当前时间n是先前时间n-2之后的先前时间n-1之后的当前时间,其中,n是大于或等于“3”的自然数;以及将直到所述重用时间累积的候选波束确定为重用词法单元。
为了确定所述重用词法单元,处理器可被配置为:将在先前时间n-2的候选波束和先前时间n-1的候选波束中最大数量的子串匹配的时间确定为当前时间n的词法单元的重用时间。
所述解码设备可包括:存储器,被配置为存储将用于下一时间的解码的候选波束,其中,为了对所述一个或多个词法单元进行解码,处理器可被配置为:基于在所述两个或更多个先前时间之中的解码的先前时间的词法单元的组合的概率,确定将用于下一时间的解码的候选波束,以及使用候选波束之中的与词法单元的重用时间对应的一个或多个候选波束来对所述一个或多个词法单元进行解码。
为了对所述一个或多个词法单元进行解码,处理器可被配置为:将候选波束之中的与词法单元的重用时间对应的一个或多个候选波束输入到包括在NN中的自回归解码器层;以及对所述一个或多个词法单元进行解码。
为了对所述一个或多个词法单元进行解码,处理器可被配置为:基于重用词法单元和编码向量序列来预测重用词法单元之后的词法单元候选的概率;以及基于词法单元候选的概率来确定所述一个或多个词法单元。
为了生成编码向量序列,处理器可被配置为:通过使用包括在NN中的编码器层对输入序列进行编码来生成编码向量序列。
处理器可被配置为使用NN来执行以下操作:通过将与当前时间的输入语音对应的输入序列累积到先前时间的输入序列来生成累积序列,并且为了生成编码向量序列,通过对累积序列进行编码来生成编码向量序列。
在另一总体方面,一种解码方法包括:在用于语音识别的神经网络(NN)中,通过对与当前解码时间步骤的输入语音对应的输入序列进行编码来生成编码向量序列,基于词法单元的最大序列在先前时间步骤的候选波束之间匹配来确定重用词法单元,以及基于重用词法单元和编码向量序列来对重用词法单元之后的一个或多个词法单元进行解码。
确定重用词法单元的步骤可包括:将先前时间步骤之一的候选波束的部分确定为重用词法单元,先前时间步骤是当前时间步骤之前直到与词法单元的最大序列在先前时间步骤的候选波束之间匹配对应的时间。
词法单元的最大序列在先前解码时间步骤的候选波束之间匹配是从初始时间步骤直到当前时间步骤之前的时间步骤。
从下面的具体实施方式、附图和权利要求,其他特征和方面将是清楚的。
附图说明
图1示出执行用于语音识别的部分解码的处理的示例。
图2示出解码设备的操作的示例。
图3示出解码方法的示例。
图4示出用于语音识别的人工神经网络(ANN)中的解码方法的示例。
图5和图6示出确定重用词法单元的示例。
图7和图8示出解码方法的示例。
图9示出解码设备的操作处理的示例。
图10示出解码设备的示例。
贯穿附图和具体实施方式,除非另外描述或提供,否则相同的附图参考标号将被理解为表示相同的元件、特征和结构。附图可不按比例,并且为了清楚、说明和方便,附图中的元件的相对大小、比例和描绘可被夸大。
具体实施方式
提供下面的具体实施方式以帮助读者获得对在此描述的方法、设备和/或***的全面理解。然而,在理解本申请的公开之后,在此描述的方法、设备和/或***的各种改变、修改和等同物将是清楚的。例如,在此描述的操作顺序仅是示例,并且不限于在此阐述的操作顺序,而是除了必须以特定次序发生的操作之外,可如在理解本申请的公开之后将是清楚地那样被改变。此外,为了更加清楚和简明,可省略在理解本申请的公开之后本领域已知的特征的描述。
在此使用的术语仅出于描述特定示例的目的,而不用于限制公开。如在此使用的,除非上下文另外清楚地指示,否则单数形式也意在包括复数形式。如在此使用的,术语“和/或”包括相关所列项中的任何一个和任何两个或更多个的任何组合。如在此使用的,术语“包括”、“包含”和“具有”表明存在陈述的特征、数量、操作、元件、组件和/或它们的组合,但不排除存在或添加一个或多个其他特征、数量、操作、元件、组件和/或它们的组合。在此针对示例或实施例的术语“可”的使用(例如,关于示例或实施例可包括或实现什么)表示存在包括或实现这样的特征的至少一个示例或实施例,而所有示例不限于此。
尽管在此使用术语“第一”或“第二”来描述各种构件、组件、区域、层或部分,但是这些构件、组件、区域、层或部分不受这些术语限制。相反,这些术语仅用于将一个构件、组件、区域、层或部分与另一构件、组件、区域、层或部分区分开。因此,在不脱离示例的教导的情况下,在此描述的示例中所称的第一构件、第一组件、第一区域、第一层或第一部分也可被称为第二构件、第二组件、第二区域、第二层或“第二”部分。
除非另外定义,否则在此使用的所有术语(包括技术术语和科学术语)具有与本公开所述领域的普通技术人员通常理解的含义一致和在理解本公开之后通常理解的含义相同的含义。除非在此明确地如此定义,否则术语(诸如,在通用词典中定义的那些术语)应被解释为具有与它们在相关领域的上下文和本公开中的含义一致的含义,并且不应以理想化或过于形式化的含义进行解释。
在此描述的特征可以以不同的形式来实现,而不应被解释为限于在此描述的示例。相反,在此描述的示例已被提供,以仅示出在理解本申请的公开之后将是清楚的实现在此描述的方法、设备和/或***的许多可行方式中的一些可行方式。
图1示出执行用于语音识别的部分解码的处理的示例。图1示出对输入语音(例如,“Hi Bixby,what is the weather like tomorrow?”)执行部分解码的处理。
具有基于注意力(attention)的编码器-解码器结构的语音识别设备可在没有关于波文件(wave file)与词法单元(token)之间的对准的信息的情况下,通过将高权重直接地应用于声源的预定部分来执行处理,并且可由于容易并行化而基于大量数据被快速地训练。在编码器-解码器结构中,编码器可接收声源,并且可将声源转换成可由解码器处理的编码向量的序列。此外,解码器可基于再次接收直到先前时间解码的词法单元的自回归(auto-regressive)方案,再次接收由解码器解码的词法单元输出以及由编码器编码的向量,并且可预测在下一次将被输出的词法单元的概率。
语音识别设备可重复“接收起始词法单元作为输入、再次接收由解码器解码的输出以及预测下一词法单元”的解码步骤,可在整个句子结束时输出结束词法单元,并且可终止解码步骤。
如上所述,为了实现语音识别中的灵敏性(responsiveness)(灵敏性示出用户的语音命令被立即处理),一个或多个实施例的语音识别设备可在语音正被输入的同时执行流传输(streaming)以输出中间结果。相比之下,当将在基于注意力的编码器-解码器语音识别模型中被解码的所有声源被输入并且将开始由典型的语音识别设备一次性解码时,典型的语音识别设备可能无法在语音正被输入的同时执行流传输以输出中间结果,因此用户可能对产生的不良灵敏性感到不满意。因此,由于示出用户的语音命令被立即处理的灵敏性改进了语音识别,所以一个或多个实施例的语音识别设备可在语音正被输入的同时执行流传输以输出识别结果。
为了进行在语音正被输入的同时输出解码结果的流传输,可使用在连续输入的声源正持续被累积在缓冲器中的同时对以规律的时段累积的声源进行解码的部分解码方案。
例如,为了进行自然解码,可对以极短时段(例如,300毫秒(msec))累积的声源执行部分解码。在该示例中,部分解码可在步骤0 110中被执行为“hi”,在步骤1 120中被执行为“hi bixby hu”,在步骤2 130中被执行为“hi bixby what esh”,在步骤3 140中被执行为“hi bixby what is thea”。
当如图1中所示执行部分解码时,当解码步骤的数量增加时,针对每个步骤将被添加的声源的长度减小。然而,由于需要对每次累积的所有输入重新执行整体操作,因此可能消耗相对大量的处理时间。此外,由于正被输入的语音的结束部分每隔300毫秒被突然切断(cut)(例如,步骤1 120中的“hu”、步骤2 130中的“eshh”以及步骤3 140中的“thea”),因此不准确的中间解码结果可能被输出。
另外,由于使用的处理时间量与解码步骤的重复次数成比例,随着声源的长度增大,大量的处理时间可被使用,因此在下一解码步骤开始的300毫秒之前部分解码可能不被终止。具体地,当声源被完全结束时,声源的最后部分的部分解码可被开始。在该示例中,当即使使用部分解码声源被累积的先前时间也未被完全使用时,声源结束时间与接收到最终语音解码结果的时间之间的最终延迟可能增大。
图2示出解码设备的操作的示例。图2示出输入语音(例如,“hi,bixby”)的自回归解码处理。
解码设备可通过执行自回归解码来关注说话者的输入语音,以计算具有未指定长度的输出,在自回归解码中,人工神经网络(ANN)的先前输出被用作每个词法单元的输入并且下一输出被继续输出。在此使用的术语“词法单元”可指示形成一个序列的单元,并且该单元可包括例如词(word)、子词(subword)、子串(substring)、字符或形成单个字符的单元(例如,韩语字母表中的起始辅音和元音或放置在元音后的辅音)。
例如,可顺序地输入输入语音“hi,bixby”。在该示例中,解码设备可通过如图2中所示的自回归解码来重复输入语音的解码步骤,以在每个步骤接收前一步骤的输出并找到下一步骤的词法单元。在自回归解码中,前一步骤的输出词法单元可影响下一步骤的输出词法单元的确定。
在一个示例中,编码设备的ANN可包括例如基于注意力的编码器-解码器语音识别模型。编码设备可使用“在连续输入的声源正持续被累积在缓冲器中的同时对以规律的时段累积的声源进行重复解码”的部分解码方案来执行解码。
解码设备可在开始下一步骤的部分解码之前终止前一解码步骤,并且可在用户说出语音命令时使用基于注意力的编码器-解码器语音识别模型立即执行解码,而无需特殊训练方案或用于流传输的结构改变。
在步骤0 210中,解码设备可对“hi”以及起始词法单元<s>执行部分解码,起始词法单元<s>指示输入语音的开始。解码设备可通过将高权重分配给与声源中的“hi”对应的部分来关注“hi”,并且可对声源进行解码。
在步骤1 220中,解码设备可对“hi”之后的“bix”执行部分解码。解码设备可关注与“bix”对应的部分,并且可对声源进行解码。
类似地,在步骤2 230中,解码设备可通过关注“bix”之后的“by”来执行部分解码。
在步骤3 240中,解码设备可对结束词法单元<e>进行解码,结束词法单元<e>在“by”之后并且指示输入语音的最后部分。
当执行部分解码时,一个或多个实施例的解码设备可从由起始词法单元<s>向右移位的输入语音立即找到具有结束词法单元<e>的最后词法单元,而不是需要在训练期间顺序地执行操作,这在并行化中可以是有利的。当在推断期间准确地知道直到预定步骤的输出时,解码设备可预测紧接在该步骤之后的步骤的词法单元,就好像连续执行解码一样。
解码结果可能由于不正确的预测或包括在部分解码结果中的声源附近的新累积的声源中的新词法单元而改变。然而,如图2中所示,累积了足够大量的声源的前部分的解码结果可几乎不改变。此外,能够并行执行训练的解码器可不需要仅在起始词法单元处开始自回归解码,并且可在接收到词法单元序列作为输入时预测将在下一步骤中输出词法单元的概率。
基于上面的描述,一个或多个实施例的解码设备可在每个部分解码中重用与先前部分解码结果的稳定部分对应的词法单元,因此一个或多个实施例的解码设备可减少用于处理在自回归解码步骤中重复的前部分的处理负荷。因为前一解码步骤的结果可在下一解码步骤中被重用,类似于前一跑步者将接力棒传递给下一跑步者的接力赛跑,所以上面的方案可被称为“接力解码(relay decoding)”。
此外,在一个示例中,自回归解码中的解码步骤的重复次数可被限制为预设次数,因此一个或多个实施例的解码设备可减小用于处理每个部分解码中的解码步骤的后部分的负荷。通过减少每个部分解码的解码步骤的总数,一个或多个实施例的解码设备可减少每个解码步骤中使用的操作总数和时间。因为除了上面描述的接力解码之外,部分解码的重复次数还可被限制,所以上面的方案可被称为“有限接力解码”。
图3示出解码方法的示例。图3示出解码设备经由操作310至操作340通过用于语音识别的ANN输出当前时间的输入语音的至少一个词法单元的处理。
ANN可包括例如基于注意力的编码器-解码器模型,基于注意力的编码器-解码器模型包括编码器层和自回归解码器层。
例如,ANN可包括自注意力神经网络(SANN)、循环神经网络(RNN)、卷积神经网络(CNN)、双向RNN(BRNN)、长短期记忆(LSTM)、双向LSTM(BLSTM)、门控循环单元(GRU)和/或双向GRU(BGRU),但不限于此。
ANN可接收与输入语音对应的输入特征向量,并且可输出与输入特征向量对应的识别结果。ANN中的层的节点可以以非线性关系彼此影响,并且ANN的参数(例如,从每个节点输出的值或节点之间的关系)可通过训练而被优化。
ANN可在一端处接收输入,可在另一端处生成输出,并且可基于输入和输出来优化网络权重。例如,ANN可包括编码器层和自回归解码器层。编码器层和解码器层可分别被称为“编码器”和“解码器”。在下面的描述中,术语“编码器层”和“编码器”可相对于彼此被互换地使用,术语“解码器层”和“解码器”可相对于彼此被互换地使用。
ANN可以是例如具有编码器-解码器结构的ANN。在ANN中,可针对单个损失函数同时地或单独地训练神经网络模型的所有参数。当针对单个损失函数同时地训练神经网络模型的所有参数时,可同时训练编码器和解码器。
编码器和解码器可被预训练,以从接收的特征向量生成识别结果的序列。例如,编码器和解码器可被预训练,以从与输入语音对应的正确答案文本对的序列生成识别结果的序列。
在操作310,解码设备可接收与当前时间的输入语音对应的输入序列。输入语音可包括例如以波的形式表示输入语音信号的波文件、以频率的形式表示波文件的频谱图、或梅尔频率倒谱系数(mel-frequency cepstral coefficient,MFCC)。输入序列可包括输入语音和从输入语音提取的输入语音特征向量。输入序列可对应于将由ANN处理的信号片段(signal cut)。
在操作320中,解码设备可通过对在操作310中接收的输入序列进行编码来生成编码向量序列。解码设备可使用包括在ANN中的编码层对输入序列进行编码,以生成编码向量序列。编码器层可通过对接收的输入序列进行编码来生成编码特征(例如,编码向量序列)。例如,编码器层还可通过变换特征向量的维度来生成编码信息。由编码器层生成的编码特征(例如,编码向量序列)可被应用于解码器。编码器层可顺序地对输入序列进行接收和编码并将编码结果发送到解码器层,并且解码器层可接收编码结果(例如,编码的结果)并基于编码结果逐个顺序地输出语音识别的词。
在操作320,解码设备可生成累积序列,在累积序列中,与当前时间的输入语音对应的输入序列被累积到先前时间的输入序列。解码设备可通过对累积序列进行编码来生成编码向量序列。
在操作330中,解码设备可通过比较至少两个先前时间的候选波束(candidatebeam)来从至少两个先前时间的候选波束确定重用词法单元(reuse token)。解码设备可基于先前时间n-2的候选波束与先前时间n-1的候选波束之间的比较结果,确定在先前时间n-2之后的先前时间n-1之后的当前时间n的词法单元的重用时间,其中,n可以是大于或等于“3”的自然数。例如,解码设备可将在先前时间n-1的候选波束与先前时间n-2的候选波束之间最大数量的子串匹配的时间确定为当前时间n的词法单元的重用时间。因为解码结果可保持不变和稳定,所以重用时间还可被称为“稳定时间”。在下面的描述中,术语“重用时间”和“稳定时间”可相对于彼此被互换地使用。在一个示例中,先前时间n-2可以是与第n-2解码步骤对应的时间,先前时间n-1可以是与第n-1解码步骤对应的时间,当前时间n可以是与第n解码步骤对应的时间。在下面的描述中,先前时间n-2和第n-2解码步骤可被互换地使用,先前时间n-1和第n-1解码步骤可被互换地使用,当前时间n和第n解码步骤可被互换地使用。
解码设备可将直到重用时间累积的候选波束确定为重用词法单元。当从自回归编码器层接收到编码特征时,解码器层可以以词法单元为单位输出识别结果。自回归解码器层可根据直到先前步骤选择的输入词法单元来生成输出词法单元。解码设备可将选择为输出词法单元的词法单元确定为下一输入词法单元。当在使用自回归解码器层的每个解码步骤中输出下一步骤的词法单元时,解码设备可使用重用词法单元。例如,自回归解码器层可在识别句子“How is the weather?”中的“How”时使用输出“weather”。下面将参照图5和图6进一步描述解码设备确定重用词法单元的非限制性示例。
在操作340中,解码设备可基于在操作330中确定的重用词法单元和在操作320中生成的向量序列,对重用词法单元之后的至少一个词法单元进行解码。例如,解码设备可基于先前时间的解码的词法单元的组合的概率来确定将用于下一时间的解码的候选波束。解码设备可使用候选波束之中的与词法单元的重用时间对应的至少一个候选波束来对至少一个词法单元进行解码。在该示例中,候选波束可对应于下一次将被执行波束搜索的候选波束。解码设备可使用候选波束之中的与词法单元的重用时间对应的至少一个候选波束来对至少一个词法单元进行解码。解码设备可通过“重用候选波束之中的具有高概率的候选波束”的波束搜索算法来确定与词法单元的重用时间对应的至少一个候选波束。解码设备可针对每个先前时间的解码存储将用于下一次解码的候选波束。例如,解码设备可存储“具有直到重用时间的候选波束的概率之中的最高概率的候选波束”和“与具有最高概率的候选波束对应的波束状态”中的至少一个。下面将描述波束状态的非限制性示例。
解码设备可通过将候选波束之中的与词法单元的重用时间对应的至少一个候选波束输入到包括在ANN中的自回归解码器层来对至少一个词法单元进行解码。对于每个词法单元,自回归解码器层可执行自回归解码,以基于直到先前步骤识别的词法单元来确定输出词法单元。解码设备可基于针对每个步骤从编码器层计算的信息来计算输出词法单元。输出词法单元可取决于直到先前步骤选择的输入词法单元。
在操作340中,解码设备可基于重用词法单元和向量序列来预测重用词法单元之后的词法单元候选。解码设备可基于词法单元候选的概率来确定至少一个词法单元。解码设备可将词法单元候选之中的具有最高概率的词法单元候选确定为最终解码词法单元。
例如,当输入语音未被结束时,解码设备可将至少一个词法单元解码预设的次数。预设的次数可以是例如三次或五次,而本公开不限于此。由于在语音未被结束时不需要完全执行所有自回归解码步骤,因此解码设备可通过执行有限次数的解码步骤来减少解码时间。在该示例中,解码设备可存储每个解码步骤的候选波束和/或候选波束的波束状态。下面将参照图7和图8进一步描述解码设备对至少一个词法单元进行解码的非限制性示例。
图4示出用于语音识别的ANN中的解码方法的示例。图4示出解码设备通过重用词法单元对输入语音“Hi Bixby,what is the weather like tomorrow?”进行解码的示例。
例如,可确定在部分解码步骤0 410中接收到“hi”。由于紧接在部分解码步骤0410之前的两个部分解码步骤不存在,因此解码设备可在没有候选波束的情况下对“hi”执行自回归解码。
可确定在部分解码步骤1 420中接收到“hi bixby hu”。类似地,因为紧接在部分解码步骤1 420之前的两个部分解码步骤不存在,所以解码设备可在没有候选波束的情况下对“hi bixby hu”执行自回归解码。
可确定在部分解码步骤2 430中接收到“hi bixby what eshh”。解码设备可生成与部分解码步骤2 430的“hi bixby what eshh”对应的候选波束(例如,图5的第n-2部分解码步骤510的候选波束)。
另外,可确定在部分解码步骤3 440中接收到“hi bixby what is thea”。解码设备可生成与部分解码步骤3 440的“hi bixby what is thea”对应的候选波束(例如,图5的第n-1部分解码步骤530的候选波束)。
解码设备可将在与“hi bixby what eshh”对应的候选波束和与“hi bixby whatis thea”对应的候选波束中最大数量的子串匹配的时间(例如,690毫秒)确定为重用时间。解码设备可将直到重用时间累积的候选波束(“hi bixby what”)确定为重用词法单元。
如上所述,解码设备可通过比较先前时间的部分解码结果来确定与稳定时间(即,重用时间)对应的重用词法单元。此外,解码设备可将重用时间的候选波束视为稳定候选波束,并且可将候选波束而不是起始词法单元用作解码器的输入。解码设备可使用重用词法单元开始解码以预测下一步骤的词法单元,就好像自回归解码从起始词法单元持续被执行一样。
当在下一部分解码步骤中从稳定候选波束和新累积的声源开始波束搜索时,解码设备可重新计算将被使用的候选波束的概率。例如,可一次计算用于注意力计算的隐藏状态,而不需要类似于ANN的训练那样通过矩阵运算重复多个解码步骤。
图5示出确定重用词法单元的示例。图5示出在不使用波束搜索算法的情况下确定重用词法单元的处理。
当解码设备通过自回归方案再次接收其输出并预测所有重用词法单元的下一词法单元的概率时,可比较所有可能的组合。
例如,可假设当前时间对应于部分解码步骤之中的第n部分解码步骤570。在该示例中,解码设备可将直到第三词法单元的候选波束(例如,<s>hi bixby)确定为稳定候选波束,第三词法单元对应于在紧接在第n部分解码步骤570之前的两个步骤(例如,第n-2部分解码步骤510和第n-1部分解码步骤530)的输出结果(例如,候选波束)中最大数量的子串匹配的时间。
当通过上述接力解码开始第n部分解码步骤570时,解码设备可将稳定候选波束“<s>hi bixby”550而不是起始词法单元<s>确定为重用词法单元,并且可使用稳定候选波束“<s>hi bixby”550作为解码器的输入575。解码设备可将候选波束“<s>hi bixby”550复制到解码器的输入575。
在第n部分解码步骤570中,解码设备可从候选波束“<s>hi bixby”550和新累积的声源(例如,“what”)重新计算将用于波束搜索的候选波束的概率。
然而,当相同的部分(例如,直到第三词法单元(<s>hi bixby))被确定为候选波束550并且在自回归解码期间被完全复制到解码器的输入575时,类似于第n部分解码步骤570,波束的大小可针对每个部分解码步骤被减小到“1”,这可能导致性能的降低。
图6示出确定重用词法单元的另一示例。图6示出使用波束搜索算法确定重用词法单元的处理。
在一个示例中,可使用波束搜索算法来计算最大数量的词法单元的组合的概率,波束搜索算法再次使用词法单元之中的具有高概率的前几个词法单元候选作为输入,并且可在概率之中找到类似于最优的正确答案。因此,一个或多个实施例的解码设备可防止由于每个部分解码步骤的波束的大小减小到“1”而导致的性能降低。
例如,当在具有最高概率的候选波束被保持的状态下无条件地重复解码步骤时,输出词法单元的预测概率可逐渐减小。当未能找到具有比当前具有最高概率的候选波束更高概率的词法单元候选或候选波束时,解码设备可终止波束搜索算法,并且可输出找到的候选波束之中的具有最高概率的候选波束作为最终解码结果。
例如,可假设当前时间对应于部分解码步骤之中的第n步骤670。解码设备可将直到第三词法单元的候选波束(例如,<s>hi bixby)视为稳定候选波束,第三词法单元对应于在紧接在第n步骤670之前的两个部分解码步骤(例如,第n-2步骤610和第n-1步骤630)的输出结果(例如,候选波束)中最大数量的子串匹配的时间。在该示例中,解码设备可存储与通过对每个紧接在前的部分解码步骤执行波束搜索算法而获得的结果对应的波束状态。波束状态可指示在自回归解码中输入到解码器层的序列(在下文中,被称为“波束”)。解码器层可输出在当前步骤中获得的所有词法单元(例如,与波束和词法单元总数的乘积相同数量的词法单元)的概率。当原始波束的概率与在当前步骤输出的词法单元的概率相乘时,可获得直到当前步骤输出的句子的概率。解码设备可从增加了一个词法单元的句子之中以概率的降序,提取与波束大小相同数量的词法单元,并且可使用提取的词法单元作为在下一自回归解码步骤中将被输入到解码器层的波束。由于解码设备每次选择固定数量,因此由于恒定的宽度,表述“波束搜索”可被使用。
如上所述,波束状态可对应于针对每个解码步骤从增加了一个词法单元的句子之中以概率的降序提取预设数量的词法单元的结果。通常,在下一解码步骤中最终被应用于解码器层的词法单元也可被称为波束。然而,在一个示例中,预设数量的词法单元可在每个步骤中以概率的降序被存储,并且存储的词法单元可被称为“波束状态”。
解码设备可存储第n-2步骤610的波束状态和第n-1步骤630的波束状态635。
当通过比较两个紧接在前的部分解码步骤的输出将稳定时间的位置确定为例如直到第三词法单元的位置时,解码设备可直接使用与稳定时间的位置对应的第n-1步骤630的波束状态635进行接力解码。
当开始第n步骤670时,解码设备可使用波束状态635而不是起始词法单元<s>作为解码器的输入675,波束状态635是通过执行波束搜索算法直到稳定时间的位置(例如,第三词法单元)而获得的结果。
在第n步骤670中,解码设备可从输入675和新累积的声源(例如,“what”)重新计算将用于波束搜索的候选波束的概率。
图7示出解码方法的示例。图7示出通过上述接力解码来减少执行部分解码步骤的次数的示例700。
在一个示例中,如示例700中的箭头710所示,通过上述接力解码,与稳定时间对应的词法单元而不是起始词法单元可在下一步骤中被重用,从而减少在部分解码期间与稳定时间对应的先前步骤730的执行。解码设备可在每个部分解码中执行除先前步骤730之外的自回归步骤750。
图8示出解码方法的另一示例。图8示出通过上述有限接力解码来减少执行部分解码步骤的次数的示例800。
类似于图7的描述,如示例800中的箭头810和820所示,解码设备可在下一步骤中重用与稳定时间对应的词法单元而不是起始词法单元,从而减少在部分解码期间与稳定时间对应的先前步骤830的执行。
此外,解码设备可将每个部分解码中除先前步骤830之外的自回归步骤的重复次数限制为例如三次或五次,并且可在超过限制的次数的后续步骤840中不执行解码。
例如,在训练期间,训练样本可暂时地包括由于对环境进行录音而来回的静音(silence)。在突然切断的声源中,静音可被确定为稳定时间,因此与切断部分相邻的部分的解码结果可能不准确。此外,可能难以在300毫秒(ms)内以人的正常语速说出至少两个或三个词法单元,300毫秒(ms)是执行部分解码的一个单位。因此,可在一个部分解码中附加地获得的重用词法单元的数量不会超过词法单元的预定数量。
在一个示例中,当声源输入未被结束并且被累积时,自回归步骤的重复次数可被限制为三次,自回归步骤可在先前步骤830之后被重复三次,并且超过限制的重复次数的后续步骤840可不被执行,这可导致存储器和处理负载的减少。
在另一示例中,当声源输入被结束时,解码设备可在声源输入被结束之后的最后部分解码步骤850中基于原始波束搜索算法的结束条件执行解码直到声源的结束。
图9示出解码设备的操作处理的示例。参照图9,解码设备900可包括:包括编码器层的编码器模块910(未示出)、有限自回归解码模块920(未示出)(在下文中,被称为“解码模块920”)、稳定波束决策模块950和概率重新计算模块960。
解码模块920可包括解码器模块923(未示出)和波束搜索模块926(未示出)。波束搜索模块926可通过重用候选波束之中的具有高概率的候选波束的波束搜索算法来确定与词法单元的重用时间对应的至少一个候选波束。解码器模块923可通过将候选波束之中的由波束搜索模块926确定的与词法单元的重用时间对应的至少一个候选波束输入到波束搜索模块926来对至少一个词法单元进行解码。
例如,在第n-2部分解码步骤中,可假设接收到与说话者的输入语音对应的以部分波的形式的输入序列905。
解码设备900可通过使用编码器模块910-1对输入序列905进行编码来生成编码向量序列。编码向量序列可被传送到解码模块920-1。编码向量序列可被应用于解码器模块923-1,并且可被解码。解码器模块923-1的解码结果可被传送到波束搜索模块926-1。波束搜索模块926-1可通过波束搜索算法确定候选波束之中的与解码器模块923-1的解码结果对应的具有最高概率的候选波束。具有最高概率的候选波束可被输出为第n-2部分解码步骤的解码结果930,并且可被重新输入到解码器模块923-1以进行自回归解码。
在300毫秒过去之后的第n-1部分解码步骤中,可假设接收到与说话者的输入语音对应的以部分波的形式的输入序列935。可通过附加地累积对应于300毫秒的后续输入语音到输入序列905来获得输入序列935。
解码设备900可通过使用编码器模块910-2对输入序列935进行编码来生成编码向量序列。编码向量序列可被传送到解码模块920-2。编码向量序列可被应用于解码器模块923-2,并且可被解码。解码器模块923-2的解码结果可被传送到波束搜索模块926-2。波束搜索模块926-2可通过波束搜索算法确定候选波束之中的与解码器模块923-2的解码结果对应的具有最高概率的候选波束。具有最高概率的候选波束可被输出为第n-1部分解码步骤的解码结果940,并且可被重新输入到解码器模块923-2以进行自回归解码。
由于不存在紧接在第n-2部分解码步骤和第n-1部分解码步骤之前的两个部分解码步骤,因此解码设备900可在没有候选波束的情况下执行有限次数(例如,三次或五次)的通用自回归解码。
当在每个部分解码步骤中执行波束搜索算法时,解码设备900可存储将被重新输入到解码器模块923以进行自回归解码的所有候选波束。此外,解码设备900可存储与通过针对每个解码步骤执行波束搜索算法获得的结果对应的所有波束状态。
例如,稳定波束决策模块950可比较两个紧接在前的步骤的解码结果(例如,第n-2部分解码步骤的解码结果930和第n-1部分解码步骤的解码结果940),并且可将最大数量的子串匹配的时间确定为稳定解码步骤。
稳定波束决策模块950可根据两个紧接在前的步骤的执行,调用存储的候选波束之中的与稳定解码步骤对应的候选波束,或者调用与通过在两个紧接在前的步骤中执行波束搜索算法获得的结果对应的波束状态,并且可将调用的候选波束或调用的波束状态提供给解码器模块923-3。解码设备900可从调用的候选波束或调用的波束状态开始第n部分解码步骤。
在第n部分解码步骤中,解码设备900可通过使用编码器模块910-3对输入序列955进行编码来生成编码向量序列。编码器模块910-3可将通过对输入序列955进行编码而生成的编码向量序列传送到概率重新计算模块960。
由于与第n-1部分解码步骤相比,输入序列955被增加了300毫秒(ms),因此解码设备900可使用概率重新计算模块960重新计算与声源的增加量相关联的候选波束的概率。由于候选波束的词法单元已经是已知的,因此概率重新计算模块960可通过并行计算每个词法单元的概率并对概率求和来一次获得概率,而不需要执行顺序地重复解码步骤的自回归解码。因此,尽管操作的数量相同,但是用于重复自回归解码直到相应步骤的时间可减少。
对于第n部分解码步骤,解码设备900可准备将被输入到解码器模块923-3的候选波束和将被输入到波束搜索模块926-3的初始概率值,使得解码模块920-3可执行有限次数的自回归解码。
解码器模块923-3可对通过对输入序列955进行编码而生成的编码向量序列、以及与稳定解码步骤对应的候选波束或与通过在紧接在前的两个步骤中执行波束搜索算法而获得的结果对应的波束状态进行解码。可从稳定波束决策模块950接收候选波束和波束状态。解码器模块923-3的输出结果可对应于例如“4×1088”个候选波束。
波束搜索模块926-3可输出“4×1088”个候选波束之中的具有最高概率的候选波束作为第n部分解码步骤的解码结果970。
在一个示例中,通过仅强制对具有高稳定可能性的开始部分进行解码,不稳定声源的概率可降低,因此一个或多个实施例的解码设备900可防止解码步骤被频繁地重复。此外,通过执行设定次数的自回归解码,即使声源的长度增加并且声源被延迟,一个或多个实施例的解码设备900也可保持用于每个部分解码步骤的恒定时间量。
在一个示例中,当由于语音输入具有清晰的发音而高的概率被保持时,稳定波束决策模块950可确定大多数附加解码结果在每个部分解码步骤接力续稳定,并且稳定(声源)区域的数量可针对每个部分解码步骤快速增加。在另一示例中,当解码结果被频繁地改变时,稳定波束决策模块950可在每个部分解码步骤中丢弃添加的结果,并且可重复地执行解码,直到波被充分累积,使得解码结果是稳定的。
在没有接收到声源的最后部分解码步骤中,解码设备900可执行解码直到波束搜索模块926满足结束条件,而不限制解码的次数,并且可输出结果。
图10示出解码设备的示例。参照图10,解码设备1000可包括通信接口1010、处理器1030(例如,一个或多个处理器)和存储器1050(例如,一个或多个存储器)。通信接口1010、处理器1030和存储器1050可经由通信总线1005彼此通信。
通信接口1010可接收与当前时间的输入语音对应的输入序列。
处理器1030可通过对输入序列进行编码来生成编码向量序列。处理器1030可通过比较至少两个先前时间的候选波束来从至少两个先前时间的候选波束确定重用词法单元。处理器1030可基于重用词法单元和编码向量序列来对重用词法单元之后的至少一个词法单元进行解码。处理器1030可基于重用词法单元之后的解码后的至少一个词法单元来生成输入语音的语音识别结果。通信接口1010可(例如,通过通信接口1010的显示器和/或扬声器)输出语音识别结果。
此外,处理器1030可执行参照图1至图9中描述的方法中的任何或全部、和/或对应于该方法中的任何或全部的一个或多个算法。处理器1030可以是硬件实现的数据处理设备,该硬件实现的数据处理设备具有被物理地构造为执行期望的操作的电路。例如,期望的操作可包括包含在程序中的代码或指令。硬件实现的数据处理设备可包括例如微处理器、中央处理器(CPU)、处理器核、多核处理器、多处理器、专用集成电路(ASIC)或现场可编程门阵列(FPGA)。
处理器1030可执行程序,并且可控制解码设备1000。由处理器1030执行的程序的代码可被存储在存储器1050中。
存储器1050可存储将用于针对先前解码时间中的每个解码的下一时间的解码的候选波束。存储器1050可存储在上述处理器1030的处理过程中生成的各种信息。此外,存储器1050可存储各种数据和程序。存储器1050可包括例如易失性存储器或非易失性存储器。存储器1050可包括高容量存储介质(诸如,硬盘),以存储各种数据。
在此关于图1至图10描述的解码设备、编码器模块、解码模块、解码器模块、波束搜索模块、稳定波束决策模块、概率重新计算模块、通信接口、处理器、存储器、通信总线、解码设备900、编码器模块910、编码器模块910-1、编码器模块910-2、编码器模块910-3、解码模块920、解码模块920-1、解码模块920-2、解码模块920-3、解码器模块923、解码器模块923-1、解码器模块923-2、解码器模块923-3、波束搜索模块926、波束搜索模块926-1、波束搜索模块926-2、波束搜索模块926-3、稳定波束决策模块950、概率重新计算模块960、解码设备1000、通信接口1010、处理器1030、存储器1050、通信总线1005以及其他设备、单元、模块、装置和组件由硬件组件实现或表示硬件组件。可用于执行在本申请中描述的操作的硬件组件的示例在适当的情况下包括:控制器、传感器、生成器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器、以及被配置为执行在本申请中描述的操作的任何其他电子组件。在其他示例中,执行在本申请中描述的操作的硬件组件中的一个或多个硬件组件通过计算硬件(例如,通过一个或多个处理器或计算机)来实现。处理器或计算机可由一个或多个处理元件(诸如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微型计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器、或者被配置为以限定的方式响应并执行指令以实现期望的结果的任何其他装置或装置的组合)来实现。在一个示例中,处理器或计算机包括或者连接到存储由处理器或计算机执行的指令或软件的一个或多个存储器。由处理器或计算机实现的硬件组件可执行用于执行在本申请中描述的操作的指令或软件(诸如,操作***(OS)和在OS上运行的一个或多个软件应用)。硬件组件还可响应于指令或软件的执行来访问、操控、处理、创建和存储数据。为了简明,单数术语“处理器”或“计算机”可在本申请中描述的示例的描述中被使用,但是在其他示例中,多个处理器或计算机可被使用,或者处理器或计算机可包括多个处理元件、或多种类型的处理元件、或两者。例如,单个硬件组件、或者两个或更多个硬件组件可由单个处理器、或者两个或更多个处理器、或者处理器和控制器来实现。一个或多个硬件组件可由一个或多个处理器、或者处理器和控制器来实现,并且一个或多个其他硬件组件可由一个或多个其他处理器、或者另外的处理器和另外的控制器来实现。一个或多个处理器、或者处理器和控制器可实现单个硬件组件、或者两个或更多个硬件组件。硬件组件可具有不同的处理配置中的任何一个或多个,不同的处理配置的示例包括:单个处理器、独立处理器、并行处理器、单指令单数据(SISD)多处理、单指令多数据(SIMD)多处理、多指令单数据(MISD)多处理和多指令多数据(MIMD)多处理。
图1至图10中示出的执行本申请中描述的操作的方法由计算硬件(例如,由一个或多个处理器或计算机)来执行,计算硬件被实现为如上所述执行指令或软件以执行在本申请中描述的由所述方法执行的操作。例如,单个操作、或者两个或更多个操作可由单个处理器、或者两个或更多个处理器、或者处理器和控制器来执行。一个或多个操作可由一个或多个处理器、或者处理器和控制器来执行,并且一个或多个其他操作可由一个或多个其他处理器、或者另外的处理器和另外的控制器来执行。一个或多个处理器、或者处理器和控制器可执行单个操作、或者两个或更多个操作。
用于控制计算硬件(例如,一个或多个处理器或计算机)以实现硬件组件并执行如上所述的方法的指令或软件可被编写为计算机程序、代码段、指令或它们的任何组合,以单独地或共同地指示或配置一个或多个处理器或计算机作为机器或专用计算机进行操作,以执行由如上所述的硬件组件和方法执行的操作。在一个示例中,指令或软件包括由一个或多个处理器或计算机直接执行的机器代码(诸如,由编译器产生的机器代码)。在另一示例中,指令或软件包括由一个或多个处理器或计算机使用解释器执行的高级代码。可基于附图中示出的框图和流程图以及说明书中的相应描述使用任何编程语言来编写指令或软件,附图中示出的框图和流程图以及说明书中的相应描述公开了用于执行由如上所述的硬件组件和方法执行的操作的算法。
用于控制计算硬件(例如,一个或多个处理器或计算机)以实现硬件组件并执行如上所述的方法的指令或软件以及任何相关联的数据、数据文件和数据结构可被记录、存储或固定在一个或多个非暂时性计算机可读存储介质中,或者可被记录、存储或固定在一个或多个非暂时性计算机可读存储介质上。非暂时性计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储装置、硬盘驱动器(HDD)、固态驱动器(SSD)、闪存、卡式存储器(诸如,多媒体卡或微型卡(例如,安全数字(SD)或极限数字(XD)))、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,任何其他装置被配置为以非暂时性方式存储指令或软件以及任何相关联的数据、数据文件和数据结构并将指令或软件以及任何相关联的数据、数据文件和数据结构提供给一个或多个处理器或计算机,使得一个或多个处理器或计算机能够执行指令。在一个示例中,指令或软件以及任何相关联的数据、数据文件和数据结构分布在联网的计算机***上,使得指令或软件以及任何相关联的数据、数据文件和数据结构以分布式方式被一个或多个处理器或计算机存储、访问和执行。
虽然本公开包括特定示例,但是在理解本申请的公开之后将清楚的是,在不脱离权利要求及其等同物的精神和范围的情况下,可在这些示例中进行形式和细节上的各种改变。在此描述的示例应仅被认为是描述性的,而不是出于限制的目的。每个示例中的特征或方面的描述应被认为可适用于其他示例中的相似特征或方面。如果描述的技术以不同的次序被执行,和/或如果描述的***、架构、装置或电路中的组件以不同的方式被组合、和/或由其他组件或其等同物替代或补充,则可实现合适的结果。
Claims (21)
1.一种解码方法,所述解码方法包括:
接收与当前时间的输入语音对应的输入序列;以及
在用于语音识别的神经网络中,
通过对输入序列进行编码来生成编码向量序列,
通过比较两个或更多个先前时间的候选波束,从所述两个或更多个先前时间的候选波束确定重用词法单元,以及
基于重用词法单元和编码向量序列,对重用词法单元之后的一个或多个词法单元进行解码。
2.根据权利要求1所述的解码方法,其中,确定重用词法单元的步骤包括:
基于先前时间n-2的候选波束与先前时间n-1的候选波束之间的比较结果,确定当前时间n的词法单元的重用时间,当前时间n是先前时间n-2之后的先前时间n-1之后的当前时间,其中,n是大于或等于3的自然数;以及
将直到所述重用时间累积的候选波束确定为重用词法单元。
3.根据权利要求2所述的解码方法,其中,确定所述重用时间的步骤包括:将在先前时间n-2的候选波束和先前时间n-1的候选波束中最大数量的子串匹配的时间确定为当前时间n的词法单元的重用时间。
4.根据权利要求2所述的解码方法,还包括存储以下项中的任一者或两者:
具有直到所述重用时间的候选波束的概率之中的最高概率的候选波束;以及
与具有最高概率的候选波束对应的波束状态。
5.根据权利要求1所述的解码方法,其中,对所述一个或多个词法单元进行解码的步骤包括:
基于在所述两个或更多个先前时间之中的先前时间解码的词法单元的组合的概率,确定将用于下一时间的解码的候选波束;以及
使用候选波束之中的与词法单元的重用时间对应的一个或多个候选波束来对所述一个或多个词法单元进行解码。
6.根据权利要求5所述的解码方法,其中,对所述一个或多个词法单元进行解码的步骤还包括:
将候选波束之中的与词法单元的重用时间对应的一个或多个候选波束输入到包括在神经网络中的自回归解码器层;以及
对所述一个或多个词法单元进行解码。
7.根据权利要求1所述的解码方法,其中,对所述一个或多个词法单元进行解码的步骤包括:响应于输入语音未被结束,将所述一个或多个词法单元解码预设的次数。
8.根据权利要求1所述的解码方法,其中,对所述一个或多个词法单元的进行解码的步骤包括:
基于重用词法单元和编码向量序列来预测重用词法单元之后的词法单元候选的概率;以及
基于词法单元候选的概率来确定所述一个或多个词法单元。
9.根据权利要求1所述的解码方法,其中,生成编码向量序列的步骤包括:通过使用包括在神经网络中的编码器层对输入序列进行编码来生成编码向量序列。
10.根据权利要求1至权利要求9中的任一项所述的解码方法,还包括:
在神经网络中,通过将与当前时间的输入语音对应的输入序列累积到先前时间的输入序列来生成累积序列,
其中,生成编码向量序列的步骤包括:通过对累积序列进行编码来生成编码向量序列。
11.根据权利要求1至权利要求9中的任一项所述的解码方法,其中,神经网络包括基于注意力的编码器-解码器模型,基于注意力的编码器-解码器模型包括编码器层和自回归解码器层。
12.根据权利要求1至权利要求9中的任一项所述的解码方法,还包括:基于重用词法单元之后的解码后的一个或多个词法单元来生成输入语音的语音识别结果。
13.一种存储指令的非暂时性计算机可读存储介质,所述指令在由处理器执行时,配置处理器执行根据权利要求1至权利要求12中的任一项所述的方法。
14.一种具有用于语音识别的神经网络的解码设备,所述解码设备包括:
通信接口,被配置为接收与当前时间的输入语音对应的输入序列;以及
处理器,被配置为使用神经网络来执行以下操作:
通过对输入序列进行编码来生成编码向量序列,
通过比较两个或更多个先前时间的候选波束,从所述两个或更多个先前时间的候选波束确定重用词法单元,以及
基于重用词法单元和编码向量序列,对重用词法单元之后的一个或多个词法单元进行解码。
15.根据权利要求14所述的解码设备,其中,为了确定重用词法单元,处理器被配置为:
基于先前时间n-2的候选波束与先前时间n-1的候选波束之间的比较结果,确定当前时间n的词法单元的重用时间,当前时间n是先前时间n-2之后的先前时间n-1之后的当前时间,其中,n是大于或等于3的自然数;以及
将直到所述重用时间累积的候选波束确定为重用词法单元。
16.根据权利要求15所述的解码设备,其中,为了确定所述重用时间,处理器被配置为:将在先前时间n-2的候选波束和先前时间n-1的候选波束中最大数量的子串匹配的时间确定为当前时间n的词法单元的重用时间。
17.根据权利要求14所述的解码设备,还包括:
存储器,被配置为存储将用于下一时间的解码的候选波束,
其中,为了对所述一个或多个词法单元进行解码,处理器被配置为:
基于在所述两个或更多个先前时间之中的先前时间解码的词法单元的组合的概率,确定将用于下一时间的解码的候选波束,以及
使用候选波束之中的与词法单元的重用时间对应的一个或多个候选波束来对所述一个或多个词法单元进行解码。
18.根据权利要求17所述的解码设备,其中,为了对所述一个或多个词法单元进行解码,处理器还被配置为:
将候选波束之中的与词法单元的重用时间对应的一个或多个候选波束输入到包括在神经网络中的自回归解码器层;以及
对所述一个或多个词法单元进行解码。
19.根据权利要求14所述的解码设备,其中,为了对所述一个或多个词法单元进行解码,处理器被配置为:
基于重用词法单元和编码向量序列来预测重用词法单元之后的词法单元候选的概率;以及
基于词法单元候选的概率来确定所述一个或多个词法单元。
20.根据权利要求14所述的解码设备,其中,为了生成编码向量序列,处理器被配置为:通过使用包括在神经网络中的编码器层对输入序列进行编码来生成编码向量序列。
21.根据权利要求14至权利要求20中的任一项所述的解码设备,其中,处理器还被配置为使用神经网络来执行以下操作:
通过将与当前时间的输入语音对应的输入序列累积到先前时间的输入序列来生成累积序列,并且
为了生成编码向量序列,通过对累积序列进行编码来生成编码向量序列。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0035353 | 2021-03-18 | ||
KR1020210035353A KR20220130450A (ko) | 2021-03-18 | 2021-03-18 | 음성 인식을 위한 인공 신경망에서의 디코딩 방법 및 디코딩 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115116436A true CN115116436A (zh) | 2022-09-27 |
Family
ID=78820457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210026348.2A Pending CN115116436A (zh) | 2021-03-18 | 2022-01-11 | 解码方法和解码设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220301578A1 (zh) |
EP (1) | EP4060657A1 (zh) |
JP (1) | JP2022145608A (zh) |
KR (1) | KR20220130450A (zh) |
CN (1) | CN115116436A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210016767A (ko) * | 2019-08-05 | 2021-02-17 | 삼성전자주식회사 | 음성 인식 방법 및 음성 인식 장치 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180174576A1 (en) * | 2016-12-21 | 2018-06-21 | Google Llc | Acoustic-to-word neural network speech recognizer |
KR102424540B1 (ko) * | 2017-10-16 | 2022-07-25 | 삼성전자주식회사 | 문장 생성 모델의 업데이트 방법 및 문장 생성 장치 |
WO2019079957A1 (en) * | 2017-10-24 | 2019-05-02 | Beijing Didi Infinity Technology And Development Co., Ltd. | SYSTEM AND METHOD FOR IDENTIFYING KEY EXPRESSIONS |
US11238845B2 (en) * | 2018-11-21 | 2022-02-01 | Google Llc | Multi-dialect and multilingual speech recognition |
US20200364303A1 (en) * | 2019-05-15 | 2020-11-19 | Nvidia Corporation | Grammar transfer using one or more neural networks |
US20210342686A1 (en) * | 2020-04-30 | 2021-11-04 | Nvidia Corporation | Content management using one or more neural networks |
US20220101113A1 (en) * | 2020-09-25 | 2022-03-31 | Nvidia Corporation | Knowledge discovery using a neural network |
US20220100676A1 (en) * | 2020-09-29 | 2022-03-31 | Microsoft Technology Licensing, Llc | Dynamic cache management in beam search |
US20220164520A1 (en) * | 2020-11-23 | 2022-05-26 | Microsoft Technology Licensing, Llc | Automatic document sketching |
US20230145535A1 (en) * | 2021-03-01 | 2023-05-11 | Nvidia Corporation | Neural network training technique |
-
2021
- 2021-03-18 KR KR1020210035353A patent/KR20220130450A/ko active Search and Examination
- 2021-10-27 US US17/511,900 patent/US20220301578A1/en active Pending
- 2021-12-01 EP EP21211649.5A patent/EP4060657A1/en active Pending
-
2022
- 2022-01-11 CN CN202210026348.2A patent/CN115116436A/zh active Pending
- 2022-03-11 JP JP2022038236A patent/JP2022145608A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220301578A1 (en) | 2022-09-22 |
JP2022145608A (ja) | 2022-10-04 |
KR20220130450A (ko) | 2022-09-27 |
EP4060657A1 (en) | 2022-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6818941B2 (ja) | 多言語音声認識ネットワークをトレーニングする方法、音声認識システム及び多言語音声認識システム | |
US11664020B2 (en) | Speech recognition method and apparatus | |
US11158305B2 (en) | Online verification of custom wake word | |
US11798535B2 (en) | On-device custom wake word detection | |
CN111480197B (zh) | 语音识别*** | |
EP3245652B1 (en) | Deployed end-to-end speech recognition | |
JP2020505650A (ja) | 音声認識システム及び音声認識の方法 | |
US9600764B1 (en) | Markov-based sequence tagging using neural networks | |
JP7368479B2 (ja) | モデルをトレーニングするためのトレーニング・データ修正 | |
JP2006113570A (ja) | 音声分類および音声認識のための隠れ条件付確率場モデル | |
CN112435654A (zh) | 通过帧***对语音数据进行数据增强 | |
CN112397058A (zh) | 解码方法、训练方法以及语音识别设备 | |
Morioka et al. | Multiscale recurrent neural network based language model. | |
CN115116436A (zh) | 解码方法和解码设备 | |
US20230076073A1 (en) | Method and apparatus for speech recognition | |
CN112668317A (zh) | 用于确定输出词法单元的方法和设备 | |
Schwarz et al. | Personalized predictive asr for latency reduction in voice assistants | |
CN111816164A (zh) | 用于语音识别的方法及设备 | |
Savitha | Deep recurrent neural network based audio speech recognition system | |
KR102592623B1 (ko) | 외부 정렬정보에 기반한 실시간 동시통역 모델 학습 방법, 동시통역 방법 및 시스템 | |
Niyozmatova et al. | Language and acoustic modeling in Uzbek speech recognition | |
KR20230064466A (ko) | 음성 인식 방법 및 장치 | |
Van Compernolle et al. | EXTRACTING, MODELLING AND COMBINING INFORMATION IN SPEECH RECOGNITION |
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 |