用于语音识别的方法及设备与流程
本申请要求于2019年4月5日在韩国知识产权局提交的第10-2019-0040120号韩国专利申请和于2019年11月7日在韩国知识产权局提交的第10-2019-0141750号韩国专利申请的权益,所述韩国专利申请的全部公开出于所有目的通过引用包含于此。
下面的描述涉及语音识别的方法及设备,更具体地,涉及用于在端到端的基于人工神经网络的语音识别系统中防止噪声的输出并且专注于主要说话者的话语的语音识别方法。
背景技术:
语音识别表示用于通过经由计算装置分析声学语音信号(诸如,由人类用户发出的声音表达)识别或理解声学语音信号的技术。在现有技术中已经主要使用了使用从音频数据提取的频率特性或特征来识别话语的方法,并且隐马尔可夫模型(hmm)已经被主要应用于该方法。这种基于hmm的语音识别方法可通过分析来自音频数据的发音并基于分析的发音而组合词或句子来识别话语。
随着基于深度学习的机器学习已经被进一步发展,对端到端的语音识别技术积极地进行了研究,端到端的语音识别技术可在不分析来自音频数据的发音的情况下,使用包括人工神经网络的声学模型从音频数据直接识别包括词或句子的文本。
然而,使用该技术的端到端的基于人工神经网络的语音识别系统可以基于逐个音素实时地执行解码,并且由于强制的语音识别,即使在不存在用户的话语的白噪声间隔中也输出不期望的文本。
技术实现要素:
提供本发明内容以简化的形式介绍在以下具体实施方式中进一步描述的构思的选择。本发明内容不意在确定要求保护的主题的关键特征或必要特征,也不意在用于帮助确定要求保护的主题的范围。
在一个总体方面,一种语音识别方法包括:将预设特殊序列添加到与说话者的输入话语对应的输入序列的前端;使用人工神经网络来识别预设特殊序列和输入序列;和基于预设特殊序列和通过对预设特殊序列和输入序列进行识别而获得的语音识别结果来识别输入序列。
输入序列可包括输入话语或从输入话语提取的向量。
预设特殊序列可包括说话者的预设话语,或者从所述预设话语提取的至少一个向量。
预设特殊序列可以是说话者的预设话语。
预设特殊序列可以是“hi”。
识别预设特殊序列和输入序列的步骤可包括:通过对预设特殊序列和输入序列进行编码来生成编码特征;基于编码特征来输出与预设特殊序列对应的至少一个特殊词法单元;和基于编码特征和特殊词法单元来确定与输入序列对应的至少一个输出词法单元。
特殊词法单元可包括与说话者的预设话语对应的文本。
识别预设特殊序列和输入序列的步骤可包括:通过对预设特殊序列和输入序列进行编码来生成编码特征;和基于编码特征和与预设特殊序列对应的特殊词法单元来确定与输入序列对应的至少一个输出词法单元。
识别预设特殊序列和输入序列的步骤可包括:通过将预设特殊序列和输入序列输入到编码器-解码器架构的端到端的人工神经网络,输出与预设特殊序列和输入序列对应的语音识别结果。
端到端的人工神经网络的解码器可在每个步骤中基于从端到端的人工神经网络的编码器计算的信息,依赖于来自先前步骤的语音识别结果来输出所述语音识别结果。
人工神经网络可包括循环神经网络(rnn)、卷积神经网络(cnn)以及自注意力神经网络(sann)中的一个或多个。
识别输入序列的步骤可包括:从与预设特殊序列和输入序列对应的语音识别结果,排除与预设特殊序列对应的语音识别结果。
预设特殊序列可包括从说话者的预设话语的部分提取的至少一个特征向量。识别预设特殊序列和输入序列的步骤可包括:通过将预设特殊序列和输入序列输入到具有编码器-解码器架构的端到端的人工神经网络来生成编码特征;和基于编码特征来输出与特征向量对应的特殊词法单元。人工神经网络可被训练为响应于特征向量被输入而输出特殊词法单元。
在输入序列仅包括噪声的情况下,所述语音识别方法还可包括:将在预设特殊序列之后的输入序列识别为状态结束(eos)词法单元。
在另一总体方面,一种语音识别设备可包括:处理器,被配置为:将预设特殊序列添加到与说话者的输入话语对应的输入序列的前端;使用人工神经网络来识别预设特殊序列和输入序列;和基于预设特殊序列和通过对预设特殊序列和输入序列进行识别而获得的语音识别结果来识别输入序列。
输入序列可包括输入话语或从输入话语提取的向量。
预设特殊序列可包括说话者的预设话语,或者从预设话语提取的至少一个向量。
所述处理器可通过对预设特殊序列和输入序列进行编码来生成编码特征;基于生成的编码特征来输出与预设特殊序列对应的特殊词法单元;和基于编码特征和特殊词法单元来确定与输入序列对应的至少一个输出词法单元。
特殊词法单元可包括与说话者的预设话语对应的文本。
所述处理器可通过对预设特殊序列和输入序列进行编码来生成编码特征;和基于生成的编码特征和与预设特殊序列对应的特殊词法单元来确定与输入序列对应的至少一个输出词法单元。
所述处理器可将预设特殊序列和输入序列输入到具有编码器-解码器架构的端到端的人工神经网络,并且输出与预设特殊序列和输入序列对应的语音识别结果。
端到端的人工神经网络的解码器可在每个步骤中基于从端到端的人工神经网络的编码器计算的信息,依赖于来自先前步骤的语音识别结果来输出所述语音识别结果。
人工神经网络可包括rnn、cnn以及sann中的一个或多个。
所述处理器可从与预设特殊序列和输入序列对应的语音识别结果排除与预设特殊序列对应的语音识别结果。
预设特殊序列可包括从说话者的预设话语的部分提取的至少一个特征向量,并且所述处理器可通过将预设特殊序列和输入序列输入到具有编码器-解码器架构的端到端的人工神经网络的编码器来生成编码特征;并且基于编码特征来输出与特征向量对应的特殊词法单元。人工神经网络可被训练为响应于特征向量被接收而输出特殊词法单元。
在输入序列仅包括噪声的情况下,所述处理器可将在预设特殊序列之后的输入序列识别为eos词法单元。
在另一总体方面,一种处理器实现的语音识别方法包括:从包括输入话语和在输入话语之前添加的特殊话语的话语提取特征向量;对特征向量进行编码以生成编码特征;和基于编码特征和先前确定的识别结果来确定输出词法单元。
所述处理器实现的语音识别方法可包括:输出与特殊话语对应的特殊词法单元作为输出词法单元。
所述处理器实现的语音识别方法可包括:对输入词法单元和编码特征进行解码以输出特殊词法单元。
所述处理器实现的语音识别方法可包括:从包括特殊话语的识别结果去除特殊词法单元;和输出仅与输入话语对应的当前识别结果。
所述处理器实现的语音识别方法可包括:基于特殊词法单元来预测随后的输出词法单元的候选的概率;基于所述概率来确定随后的输出词法单元;和将随后的输出词法单元确定为随后的输入词法单元。
对特征向量进行编码的步骤可包括:变换特征向量的维度以生成编码特征。
从下面的具体实施方式、附图以及权利要求,其它特征和方面将是清楚的。
附图说明
图1示出语音识别系统的示例。
图2a和图2b示出防止在不存在话语的间隔中输出噪声的示例。
图3a示出语音识别设备的一个示例。
图3b示出语音识别设备的一个示例。
图3c示出语音识别设备的一个示例。
图4a和图4b示出包括编码器-解码器架构的端到端的人工神经网络的语音识别设备的操作的示例。
图5a和图5b示出通过语音识别设备专注于主要说话者的话语的示例。
图6示出通过语音识别设备去除噪声的示例。
图7示出语音识别方法的示例的流程图。
图8示出语音识别设备的硬件配置的示例。
贯穿附图和具体实施方式,除非另外描述或提供,否则相同的附图参考标号将被理解为表示相同的元件、特征和结构。附图可不按比例,并且为了清楚、说明和方便,附图中的元件的相对尺寸、比例和描绘可被夸大。
具体实施方式
提供下面的具体实施方式以帮助读者获得对在此描述的方法、设备和/或系统的全面理解。然而,在理解本申请的公开之后,在此描述的方法、设备和/或系统的各种改变、修改和等同物将是清楚的。例如,在此描述的操作的顺序仅是示例,并且不限于在此阐述的那些顺序,而是除了必须以特定的顺序发生的操作之外,可如在理解本申请的公开之后将是清楚的那样被改变。
在此描述的特征可以以不同的形式来实现,而不被解释为限于在此描述的示例。相反,在此描述的示例已仅被提供,以示出在理解本申请的公开之后将是清楚的实现在此描述的方法、设备和/或系统的许多可行方式中的一些可行方式。
尽管在此可使用诸如“第一”、“第二”和“第三”的术语来描述各种构件、组件、区域、层或部分,但是这些构件、组件、区域、层或部分不被这些术语所限制。相反,这些术语仅用于将一个构件、组件、区域、层或部分与另一构件、组件、区域、层或部分进行区分。因此,在不脱离示例的教导的情况下,在此描述的示例中所称的第一构件、第一组件、第一区域、第一层或第一部分也可被称为第二构件、第二组件、第二区域、第二层或第二部分。
贯穿说明书,当组件被描述为“连接到”或“结合到”另一组件时,该组件可直接“连接到”或“结合到”另一组件,或者可存在介于其间的一个或多个其它组件。相反,当元件被描述为“直接连接到”或“直接结合到”另一元件时,可不存在介于其间的其它元件。同样地,相似的表述(例如,“在……之间”与“紧接在……之间”以及“与……邻近”与“与……紧邻”)也应以相同的方式解释。如在此使用的,术语“和/或”包括相关联的所列项中的任何一个以及任何两个或更多个的任何组合。
在此使用的术语仅用于描述各种示例,并不用于限制公开。除非上下文另外清楚地指示,否则单数形式也意在包括复数形式。术语“包含”、“包括”和“具有”说明存在叙述的特征、数量、操作、构件、元件和/或它们的组合,但不排除存在或添加一个或多个其它特征、数量、操作、构件、元件和/或它们的组合。
除非另有定义,否则在此使用的所有术语(包括技术术语和科学术语)具有与由本公开所属领域的普通技术人员通常理解以及基于对本申请的公开的理解的含义相同的含义。除非在此明确地如此定义,否则术语(诸如,在通用词典中定义的术语)将被解释为具有与它们在相关领域和本申请的公开的上下文中的含义一致的含义,并且不应被理想化或过于形式化地解释。
此外,在示例实施例的描述中,当认为在理解本申请的公开之后由此得知的结构或功能的详细描述将导致对示例实施例的模糊解释时,将省略这样的描述。
在下文中,将参照附图详细描述示例,并且在附图中同样的参考标号始终表示同样的元件。
图1示出语音识别系统的示例。
参照图1,语音识别系统包括用户终端110和语音识别设备120。然而,图1中示出的语音识别系统的组件可以是按它们的功能分类的功能元件,并且组件中的一个或多个可以在实际物理环境中以整体形式实现。例如,尽管在图1中将语音识别设备120示出为一种类型的服务器,但是根据示例,语音识别设备120的每个功能可被嵌入在用户终端110中。
语音识别系统的用户终端110是被配置为从用户或说话者接收语音或话语序列(输入序列)130并将接收的话语序列130传送到语音识别设备120,并且向用户提供由语音识别设备120获得的识别结果140的终端。尽管在图1中用户终端110被示出为智能电话,但是用户终端110可被实现为其它装置。
语音识别系统的语音识别设备120是被配置为接收说话者的输入序列130并且提供识别结果140的计算装置。输入序列130包括输入话语和从输入话语提取的输入话语特征向量。输入话语可以是由用户或说话者发出的综合的话语或声音表达,其包含在其中说话者的输入话语信号通过波型表示的波形文件、在其中波形文件通过来自梅尔频率倒谱系数(mfcc)的频率表示的声谱图等。计算装置可包括例如膝上型计算机、台式计算机、智能电话等。然而,计算装置的示例不限于前述中描述的示例,并且计算装置可包括包含操作或计算装置的所有类型的装置。
语音识别设备120被配置为提供端到端的语音识别。在现有技术中,针对语音识别,主要使用隐马尔可夫模型(hmm)。这种基于hmm的语音识别方法可分析来自音频数据的发音,并且基于分析的发音来组合词或句子。然而,发音可针对每个说话者和语言的类型而变化,并且因此这种分析发音并识别话语的方法可需要包括通过许多试验和错误进行的校正。另外,因为基于hmm的语音识别方法基于发音来识别话语,所以它会易受环境噪声的影响。
相反,因为神经网络对建模必要的部分进行学习,因此端到端的基于人工神经网络的语音识别系统可具有高水平的性能,同时最小化现有语音识别需要的信号处理、发音转换、语言模型和解码中的专业知识的干预。
为了提供端到端的语音识别,语音识别设备120被配置为构建包括人工神经网络的声学模型,并且使用构建的声学模型响应于输入序列130来提供识别结果140。人工神经网络可以是例如循环神经网络(rnn)、卷积神经网络(cnn)、自注意力神经网络(sann)、双向rnn(brnn)、长短期记忆(lstm)网络、双向lstm(blstm)网络、门控循环单元(gru)、双向gru(bgru)等。然而,人工神经网络的示例不限于前述中描述的示例。
另外,语音识别设备120被配置为通过将与说话者对应的预设特殊序列添加到与说话者的输入话语对应的输入序列130的前端来执行语音识别。此外,语音识别设备120被配置为执行自回归解码,通过该自回归解码,为了通过人工神经网络计算未定义长度的输出,人工神经网络的先前输出被用作输入,以针对作为构造序列的单元的每个词法单元(token)计算随后的输出。因此,语音识别设备120可防止噪声的输出,并且专注于主要说话者的话语。在下文中将参照图2a和图2b简要描述语音识别设备120的输入和输出数据的示例。
图2a和图2b示出防止在不存在话语的间隔中输出噪声的示例。
在描述根据示例的语音识别方法之前,将参照图2a中的参考标号210所示来简要描述一般的端到端的基于人工神经网络的语音识别方法。说话者的输入序列包括说话者的话语,例如,从0.3秒(s)到0.4s的间隔中的一点起的“whereareyou”。从0s到0.3s的间隔是其中不存在说话者的话语的间隔,并且因此语音识别设备可被假定为输出指示在该间隔中不存在话语的结果。然而,一般的端到端的基于人工神经网络的语音识别系统可实时地对每个音素执行解码,并且在不存在用户的话语的情况下,在噪声间隔中执行强制的语音识别,并且相应地输出不期望的文本。
当仅存在噪声而不存在实际话语时,一般的端到端的人工神经网络可不输出指示不存在话语的结果,而是输出与噪声的特性最相似的结果。例如,一般的端到端的人工神经网络可在从0s到0.1s的间隔中输出“hibixby”,在从0s到0.2s的间隔中输出“higalaxy”,在从0s到0.3s的间隔中输出“turnon”。
为了解决这个问题,可需要学习噪声数据的方法。然而,该方法可另外需要噪声数据,并且具有它可能不能够学习所有类型的噪声的限制。
参照图2b中的参考标号220所示,语音识别设备可通过将预设特殊序列添加到说话者的输入序列的前端来执行语音识别,并且因此基于自回归解码的特性来防止噪声的输出并专注于主要说话者的话语,在自回归解码中,先前的输出词法单元影响随后的输出词法单元的确定。语音识别设备将与对应于说话者的预设特殊序列对应的说话者的话语(例如,“hi”)添加到与说话者的输入序列对应的话语(例如,“whereareyou”)的前端。特殊序列是被强制添加到用于语音识别的输入话语的前端的序列,它与由说话者实际发出的输入话语不同,并且包括预先获得的说话者的能够被语音识别设备清楚识别的特殊话语,或者从说话者的特殊话语提取的特殊特征向量。例如,语音识别可被划分为注册处理和测试处理,特殊序列可在注册处理中预先获得,并且在测试处理中自动地添加到说话者的输入话语的前端。
在测试处理中,语音识别设备可接收特殊序列,并且输出识别结果(例如,“hi”)。语音识别设备可被自回归解码影响,并且因此响应于特殊序列的识别结果“hi”可影响随后的输出并且随后的输出可专注于发出“hi”的说话者的话语。因此,可仅输出具有说话者的话语的特性的词法单元。在下文中,将参照图4a和图4b以及图5a和图5b详细描述解码方法。
如上所述,一般的端到端的语音识别系统可无法输出指示在从0s到0.3s的间隔中不存在话语的结果,并且输出与噪声的特性最相似的结果。相反,如参考标号220所示,因为识别结果“hi”影响随后的输出,所以语音识别设备可不另外地识别作为响应于特殊序列的识别结果的“hi”之后的输入序列中的噪声间隔中的输出。随后,语音识别设备可从“hiwhereareyou”去除识别结果“hi”,并且最终仅输出“whereareyou”。因此,语音识别设备可简单地使用特殊序列来防止噪声的输出,并且专注于主要说话者的话语。
尽管以上已经将特殊序列描述为对应于说话者,但是特殊序列可不必是说话者的特殊话语。例如,可用普通话语(averageutterance)“hi”或任意话语“hi”来替换与特殊序列“hi”对应的说话者的话语。尽管专注于主要说话者的这样的效果可稍微降低,但是即使通过使用不与说话者对应的特殊序列,仍然可获得不另外地识别噪声部分的输出的效果。
图3a示出语音识别设备的示例。
参照图3a,语音识别设备包括人工神经网络310、特征向量提取器320以及特殊词法单元去除器330。尽管图3a的示例中仅示出了相关组件,但是除了图3a中示出的组件之外,还可进一步包括其它通常使用的组件。另外,示出的语音识别设备的组件可在功能和逻辑上被划分,并且因此它们可不必是单独的物理组件或单独的代码。因此,示出组件中的至少一个可以在实际物理环境中以整体形式实现。在下文中,将详细描述示出的语音识别设备的组件中的每个组件。
当语音识别设备接收到说话者的输入话语时,语音识别设备将预设特殊话语添加到说话者的输入话语的前端。特殊话语表示被强制添加到用于语音识别的输入话语的前端的话语,并且可被语音识别设备清楚地识别并预先获得(例如,在注册处理中)。在此,预设特殊话语可不必是说话者的特殊话语。
特征向量提取器320从自说话者接收的输入话语提取输入特征向量,并且从特殊话语提取特殊特征向量。话语或语音可在此指示包括每帧的信息的语音信号,并且特征向量可以是从至少一个帧的每个提取的并由多维向量表示的信息的序列。
人工神经网络310从特征向量提取器320接收输入特征向量和特殊特征向量,并且输出相应的识别结果。人工神经网络310可以是包括编码器311和解码器312的编码器-解码器架构的端到端的人工神经网络。人工神经网络310可由例如rnn、cnn、sann、brnn、lstm网络、blstm网络、gru、bgru等来实现。然而,人工神经网络310的示例不限于前述中描述的示例。人工神经网络310中的层的节点可彼此非线性地影响,并且人工神经网络310的参数(诸如,从节点输出的值、节点之间的关系等)可通过学习或训练来优化。
这种端到端的编码器-解码器具有编码器311和解码器312集成在一起的网络架构。端到端的编码器-解码器可接收输入特征向量和特殊特征向量,并且生成识别结果的序列。例如,这种端到端的架构中实现的编码器311和解码器312可直接从输入话语生成与输入话语对应的识别结果。编码器311和解码器312可被预先训练以从接收的特征向量生成识别结果的序列。例如,编码器311和解码器312可被预先训练以从输入话语和与输入话语对应的正确文本的对的序列生成识别结果的序列。
如图3a中所示,编码器311通过对接收的特征向量(例如,输入特征向量和特殊特征向量)进行编码来生成编码特征。编码器311通过从特征向量提取特征来生成编码信息。例如,编码器311通过变换特征向量的维度来生成编码信息。
编码特征被应用于解码器312。解码器312基于编码特征来生成识别结果。接收编码特征的解码器312按每个词法单元来输出识别结果,并且词法单元可以是词、子词、字符或包括在字符中的单元(例如,韩语拼法音节中的辅音和元音)。
解码器312通过多个识别步骤(或多个解码步骤)获得与编码特征对应的多个词法单元(或者识别结果),并且在每个识别步骤中,基于从编码器311计算的信息来获得(或者,选择或输出))输出词法单元(或者,多个词法单元的至少一部分或识别结果的至少一部分)。根据直到前一识别步骤选择的输入词法单元来获得输出词法单元。在执行自回归解码的端到端的人工神经网络模型中,被选择为输出词法单元的词法单元可被确定(或选择)为随后的输入词法单元(即,将在随后的识别步骤中使用的词法单元)。当解码器312在每个识别步骤中输出随后的词法单元时,解码器312使用先前输出的输出词法单元。例如,为了识别句子“iamahuman”中的“ahuman”,解码器312使用输出“iam”。在这个示例中,这样的特性可以是自回归。
解码器312基于作为输入词法单元的起始词法单元和编码特征来输出与特殊话语对应的至少一个特殊词法单元。特殊词法单元可以是与特殊话语对应的文本。
输出特殊词法单元的解码器312基于特殊词法单元来预测随后的输出词法单元的候选的概率。识别步骤i中的词法单元ti的条件概率可由等式1表示。
[等式1]
p(ti|t1,t2,...,ti-1,he)
在等式1中,he表示通过隐藏表示(hiddenrepresentation)编码特征,t1至ti-1表示直到当前时间点选择的输入词法单元,并且t1表示特殊词法单元。如等式1所示,解码器312基于特殊词法单元来确定随后的输出词法单元,并且因此随后的输出词法单元可被说话者的话语偏置(bias)。因此,语音识别设备可专注于主要说话者的话语。这里,噪声的输出的防止也可受特殊词法单元影响,并且即使特殊词法单元不与说话者的话语对应,也可获得这样的结果。
特殊词法单元去除器330从包括特殊话语的识别结果去除特殊词法单元,并且最终输出仅与输入话语对应的识别结果。
图3b示出语音识别设备的另一示例。
参照图3b,语音识别设备包括人工神经网络310、特征向量提取器321以及特殊词法单元去除器330。以上参照图3a所描述的可应用于此,并且因此为了增加的简洁和清楚,这里重复的描述被省略。
语音识别设备将预设特殊特征向量添加到输入特征向量,而不是将特殊话语添加到说话者的输入话语。特征向量提取器321从自说话者接收的输入话语提取输入特征向量。语音识别设备将预设特殊特征向量添加到提取的输入特征向量。特殊特征向量可在注册处理中预先获得,并且包括说话者的语音或者话语特性或特征。
人工神经网络310从特征向量提取器321接收输入特征向量和特殊特征向量,并且输出相应的识别结果。
图3c示出语音识别设备的另一示例。
参照图3c,语音识别设备包括人工神经网络315、输入特征向量提取器322、特殊特征向量提取器323、特殊词法单元去除器330以及输出控制器340。
语音识别设备可针对输入话语和特殊话语使用不同的特征向量提取器。例如,输入特征向量提取器322从输入话语提取输入特征向量,并且特殊特征向量提取器323从特殊话语提取特殊特征向量。另外,为了增加计算的效率或出于其它这样的目的,特殊特征提取器323可与应用于图3a中示出的特征向量提取器320的方式不同的方式来提取特征向量。例如,特殊特征向量提取器323从特殊话语的部分提取特殊特征向量。
人工神经网络315是包括编码器316和解码器317的编码器-解码器架构的端到端的人工神经网络。编码器316通过对接收的特征向量(例如,输入特征向量和特殊特征向量)进行编码来生成编码特征,并且将生成的编码特征应用于解码器317。解码器317基于编码特征来生成识别结果。
人工神经网络315被训练为:当接收到特殊特征向量时输出特殊词法单元。以上参照图3a和3b描述的特殊词法单元可以是与特殊话语对应的文本。然而,除了特殊词法单元仅包括说话者信息之外,由解码器317输出的特殊词法单元可以不是与特殊话语对应的文本。例如,由于人工神经网络310被预先训练为从输入话语和与输入话语对应的正确文本的对的序列来生成识别结果的序列,所以人工神经网络310可不需要另外学习与特殊话语对应的特殊词法单元。然而,由于人工神经网络315接收人工神经网络310可能没有学习的特殊特征向量,因此人工神经网络315可需要被训练为:当人工神经网络315接收到特殊特征向量时输出与特殊特征向量对应的特殊词法单元。在下文中,参照图3c描述的特殊特征向量和与特殊特征向量对应的特殊词法单元将分别被称为语音身份(id)特征向量和语音id词法单元,以将它们与参照图3a和3b描述的特殊特征向量和特殊词法单元区分开。
接收语音id特征向量的人工神经网络315输出语音id词法单元。当语音id词法单元被输出时,输出控制器340向语音id词法单元中的说话者信息施加偏置。解码器317基于在其中说话者信息被偏置的语音id词法单元来预测随后的输出词法单元的候选的概率。解码器317基于语音id词法单元来预测随后的输出词法单元的候选的概率,并且因此随后的输出词法单元可被说话者的话语偏置。因此,语音识别设备可防止噪声的输出,并且专注于主要说话者的话语。
特殊词法单元去除器330从包括特殊话语的识别结果去除特殊词法单元,并且输出仅与输入话语对应的识别结果。
图4a和图4b示出包括编码器-解码器架构的端到端的人工神经网络的语音识别设备的操作的示例。
参照图4a,人工神经网络400包括编码器410和解码器420。
人工神经网络400是编码器-解码器架构的端到端的人工神经网络,其启用针对单个损失函数同时地训练所有参数的路径,并且因此编码器410和解码器420可被同时训练。人工神经网络400在其一端接收输入并在其另一端生成输出,并且直接基于输入和输出来优化网络权重。
语音识别设备从话语411提取特征向量412。话语411包括输入话语和特殊话语。特征向量412包括输入特征向量和特殊特征向量。在下文中,为了便于描述,将特殊话语描述为“hi”。
编码器410通过对特征向量412进行编码来生成编码特征413。编码器410通过变换编码特征413的维度来生成编码信息。编码特征413被施加到人工神经网络400的解码器420。解码器420基于编码特征413和先前确定的识别结果来确定输出词法单元。
人工神经网络400的解码器420对作为输入词法单元的起始词法单元和编码特征413进行解码,并且输出与特殊话语对应的至少一个特殊词法单元“hi”。输出“hi”的解码器420基于特殊词法单元“hi”来预测随后的输出词法单元的候选的概率,并且将候选中具有最大概率的候选确定为随后的输出词法单元。例如,当解码器420确定“hi”为输出词法单元时,解码器420确定“hi”为随后的输入词法单元。
参照图4b,与解码器420相反,人工神经网络450的解码器421跳过对起始词法单元和编码特征413进行解码并输出与特殊话语对应的至少一个特殊词法单元“hi”的识别步骤。解码器421可不通过解码单独地输出特殊词法单元,而是预先具有特殊词法单元并输入该特殊词法单元作为随后的输入词法单元。语音识别设备可使用特殊词法单元作为随后的输入词法单元,并且使用直接输入这样预提供的特殊词法单元作为随后的输入词法单元的解码器421,以便输出与通过解码器420获得的结果相同的结果。因此,语音识别设备可提高计算的效率。除了人工神经网络400之外,图3a的人工神经网络310和图3c的人工神经网络315可包括人工神经网络450。
图5a和图5b示出通过语音识别设备来专注于主要说话者的话语的示例。
除了主要说话者的输入话语之外,语音识别设备可接收另一说话者的输入话语。为了将另一说话者与主要说话者进行区分,另一说话者将被称为子说话者,并且可存在一个或多个子说话者。例如,当在声音来自电视(tv)的环境中执行语音识别时,这样的tv声音可被输入到语音识别设备。在这个示例中,tv声音可以是子说话者的声音。在下文中,为了便于描述,将描述主要说话者的输入话语是“whereareyou”并且子说话者的输入话语是“breakingnewstodayprimemini...”的示例。
参照图5a,来自一般的语音识别设备的识别结果由参考标号510示出。当子说话者的输入话语在主要说话者的输入话语被输入之前被输入时,子说话者的输入话语可被偏置,并且与子说话者的输入话语对应的文本(例如,“breakingnewstodayprimemini...”)可被输出。
参照图5b,来自在此描述的语音识别设备的识别结果由参考标号520示出。尽管子说话者的输入话语在主要说话者的输入话语被输入之前被输入,但是语音识别设备可通过在子说话者的输入话语被输入之前添加与主要说话者对应的特殊话语来输出与主要说话者的输入话语对应的文本。在一个示例中,语音识别设备将与主要说话者对应的特殊话语添加到子说话者的输入话语的前端,并且输出与特殊话语对应的识别结果“hi”。随后,语音识别设备基于识别结果“hi”来预测随后的输出词法单元的候选的概率。因此,随后的输出词法单元被主要说话者的输入话语偏置。语音识别设备可专注于主要说话者的话语,并且因此输出与主要说话者的输入话语对应的文本“whereareyou”。
图6示出通过语音识别设备来去除噪声的示例。
参照图6,语音识别设备接收包括噪声611的输入话语610。语音识别设备将特殊特征向量620添加到输入特征向量630的前端。输入特征向量630包括与噪声对应的部分特征向量631。
语音识别设备输出与特殊特征向量620对应的特殊词法单元,并且基于自回归特性来专注于说话者的话语。因此,如在自注意力(self-attention)权重640中所示出的,噪声可被忽略,并且与噪声对应的文本可不被输出。在整个自注意力权重640中,与噪声对应的特定的自注意力权重641是0。
图7示出语音识别方法的示例的流程图。
参照图7的操作710至操作730可由以上参照图1至图6描述的语音识别设备执行。语音识别设备可由至少一个硬件模块、至少一个软件模块或其各种组合来实现。
参照图7,在操作710中,语音识别设备将预设特殊序列添加到与说话者的输入话语对应的输入序列的前端。输入序列可包括输入话语,或者可包括从输入话语提取的向量。特殊序列可包括说话者的预设话语,或者从预设话语提取的至少一个向量。
在操作720中,语音识别设备识别特殊序列和输入序列。语音识别设备通过对特殊序列和输入序列进行编码来生成编码特征,基于生成的编码特征来输出与特殊序列对应的至少一个特殊词法单元,并且基于编码特征和特殊词法单元来确定与输入序列对应的至少一个输出词法单元。特殊词法单元可包括与说话者的预设话语对应的文本。
语音识别设备通过对特殊序列和输入序列进行编码来生成编码特征,并且基于生成的编码特征和与特殊序列对应的特殊词法单元来确定与输入序列对应的至少一个输出词法单元。
语音识别设备将特殊序列和输入序列输入到编码器-解码器架构的端到端的人工神经网络,并且输出与特殊序列和输入序列对应的语音识别结果。人工神经网络可在每个识别步骤中基于由人工神经网络的编码器计算的信息,依赖于来自先前识别步骤的语音识别结果来输出语音识别结果。
在操作730中,语音识别设备基于特殊序列和语音识别结果来识别输入序列。语音识别设备通过从与特殊序列和输入序列对应的语音识别结果排除与特殊序列对应的语音识别结果,来输出识别输入序列的语音识别结果。
图8示出语音识别设备的硬件配置的示例。
参照图8,语音识别设备包括:至少一个处理器810、总线840、网络接口850、被配置为加载将由处理器810执行的计算机程序的存储器820、以及被配置为存储语音识别软件(sw)830的存储装置860。
处理器810可控制语音识别设备的组件中的每个组件的整体操作。处理器810可通过包括中央处理单元(cpu)、微处理器单元(mpu)、微控制器单元(mcu)、图形处理单元(gpu)以及相关技术领域中的其它公知类型的处理器来实现。另外,处理器810可执行至少一个应用或程序的操作以执行以上根据各种示例描述的方法。语音识别设备可包括一个或多个处理器。
存储器820可存储各种数据、指令和/或信息的集合。存储器820可从存储装置860加载语音识别sw830,以执行在此根据各种示例描述的语音识别方法。作为示例,存储器820可被提供为随机存取存储器(ram)。
总线840可提供用于语音识别设备的组件之间的通信的通信功能。总线840可以以各种类型实现,例如,地址总线、数据总线、控制总线等。
网络接口850可支持语音识别设备的有线和无线互联网通信。另外,网络接口850可支持除了互联网通信之外的各种通信方法。为此,网络接口850可通过包括相关技术领域中的公知通信模块来实现。
存储装置860可非临时地存储语音识别sw830。
存储装置860可通过包括非易失性存储器(诸如,只读存储器(rom)、可擦除可编程rom(eprom)、电eprom(eeprom))以及闪存),或硬盘、可移动盘或其它公知的计算机可读类型的记录介质来实现。
语音识别sw830可通过执行根据各种示例在此描述的语音识别方法来构造基于人工神经网络的声学模型,并且响应于将使用构造的声学模型识别的目标语音或音频数据来输出最终的文本。
例如,语音识别sw830可被加载到存储器820中。通过语音识别sw830,处理器810可将预设特殊序列添加到与说话者的输入话语对应的输入序列的前端,识别特殊序列和输入序列,并且基于特殊序列以及通过识别特殊序列和输入序列而获得的语音识别结果来识别输入序列。另外,处理器810可通过对特殊序列和输入序列进行编码来生成编码特征,基于生成的编码特征来输出与特殊序列对应的特殊词法单元,并且基于编码特征和特殊词法单元来确定与输入序列对应的至少一个输出词法单元。可选地,处理器810可通过对特殊序列和输入序列进行编码来生成编码特征,并且基于生成的编码特征和与特殊序列对应的特殊词法单元来确定与输入序列对应的至少一个输出词法单元。另外,处理器810可将特殊序列和输入序列输入到编码器-解码器架构的端到端的人工神经网络,并且输出与特殊序列和输入序列对应的语音识别结果。另外,处理器810可从与特殊序列和输入序列对应的语音识别结果排除与特殊序列对应的语音识别结果。另外,处理器810可将在特殊序列之后的输入序列的间隔识别为状态结束(eos)词法单元。例如,如图2a和图2b的示例中所示,在输入序列中仅存在噪声的情况下,处理器810可将特殊序列之后的间隔(例如,仅包括噪声的从0s到0.3s的间隔)识别为eos词法单元。
在此针对图1、图3a至图3c和图8描述的语音识别设备以及其它设备、单元、模块、装置和其它组件通过硬件组件来实现。可用于执行在本申请中描述的操作的硬件组件的示例在适当的情况包括:控制器、传感器、产生器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器和被配置为执行在本申请中描述的操作的任何其它电子组件。在其它示例中,执行在本申请中描述的操作的硬件组件中的一个或多个通过计算硬件(例如,通过一个或多个处理器或计算机)来实现。处理器或计算机可通过一个或多个处理元件(诸如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微型计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器或被配置为以限定的方式响应并执行指令以实现期望的结果的任何其它装置或装置的组合)来实现。在一个示例中,处理器或计算机包括或连接到存储由处理器或计算机执行的指令或软件的一个或多个存储器。由处理器或计算机实现的硬件组件可执行用于执行在本申请中描述的操作的指令或软件(诸如,操作系统(os)和在os上运行的一个或多个软件应用)。硬件组件还可响应于指令或软件的执行来访问、操控、处理、创建和存储数据。为了简单起见,单数术语“处理器”或“计算机”可用在本申请中描述的示例的描述中,但是在其它示例中,多个处理器或计算机可被使用,或者处理器或计算机可包括多个处理元件或多种类型的处理元件或二者。例如,单个硬件组件或者两个或更多个硬件组件可通过单个处理器、或者两个或更多个处理器、或者处理器和控制器来实现。一个或多个硬件组件可通过一个或多个处理器、或者处理器和控制器来实现,一个或多个其它硬件组件可通过一个或多个其它处理器,或者另外的处理器和另外的控制器来实现。一个或多个处理器、或者处理器和控制器可实现单个硬件组件或者两个或更多个硬件组件。硬件组件可具有不同的处理配置中的任何一个或多个,不同的处理配置的示例包括:单个处理器、独立处理器、并行处理器、单指令单数据(sisd)多处理、单指令多数据(simd)多处理、多指令单数据(misd)多处理以及多指令多数据(mimd)多处理。
图2a至图2b、图4a至图4b、图5a至图5b、图6和图7中示出的执行在此描述的操作的方法通过计算硬件(例如,通过一个或多个处理器或计算机)来执行,计算硬件被实现为如上所述地执行指令或软件,以执行在本申请中描述的由所述方法执行的操作。例如,单个操作或者两个或更多个操作可通过单个处理器或者两个或更多个处理器、或者处理器和控制器来执行。一个或多个操作可通过一个或多个处理器、或者处理器和控制器来执行,并且一个或多个其它操作可通过一个或多个其它处理器、或者另外的处理器和另外的控制器来执行。一个或多个处理器、或者处理器和控制器可执行单个操作或者两个或更多个操作。
用于控制处理器或计算机以实现硬件组件并执行如上所述的方法的指令或软件被编写为计算机程序、代码段、指令或它们的任意组合,以单独地或共同地指示或配置处理器或计算机如机器或专用计算机那样进行操作,以执行由如上所述的硬件组件和方法执行的操作。在一个示例中,指令或软件包括由处理器或计算机直接执行的机器代码(诸如,由编译器产生的机器代码)。在另一示例中,指令或软件包括由处理器或计算机使用解释器执行的高级代码。本领域普通编程人员可基于附图中示出的框图和流程图以及说明书中的相应描述,容易地编写指令或软件,附图中示出的框图和流程图以及说明书中的相应描述公开了用于执行由如上所述的硬件组件和方法执行的操作的算法。
用于控制处理器或计算机以实现硬件组件并执行如上所述的方法的指令或软件以及任何相关联的数据、数据文件和数据结构被记录、存储或固定在一个或多个非暂时性计算机可读存储介质中或一个或多个非暂时性计算机可读存储介质上。非暂时性计算机可读存储介质的示例包括:只读存储器(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-rlth、bd-re、蓝光或光盘存储器、硬盘驱动器(hdd)、固态驱动器(ssd)、卡式存储器(诸如,多媒体卡或者微型卡(例如,安全数字(sd)或者极速数字(xd)))、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘、以及任何其它装置,其中,任何其它装置被配置为以非暂时性方式存储指令或软件以及任何相关联的数据、数据文件和数据结构并将指令或软件以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机,使得处理器和计算机能够执行指令。
虽然本公开包括特定的示例,但是对于本领域普通技术人员来说将清楚的是,在不脱离权利要求及它们的等同物的精神和范围的情况下,可在这些示例中进行形式和细节上的各种改变。在此描述的示例将被认为仅是描述性的,而不是出于限制的目的。每个示例中的特征或方面的描述应被认为可适用于其它示例中的类似特征或方面。如果描述的技术以不同的顺序被执行,和/或如果描述的系统、架构、装置或电路中的组件以不同的方式被组合,和/或由其它组件或它们的等同物替换或补充,则可实现合适的结果。因此,公开的范围不是由具体实施方式限定,而是由权利要求及它们的等同物限定,并且在权利要求及它们的等同物的范围内的所有变化应被解释为包括在公开中。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除