首页 > 乐器声学 专利正文
用于说话时间估计的方法和设备与流程

时间:2022-02-24 阅读: 作者:专利查询

用于说话时间估计的方法和设备与流程
用于说话时间估计的方法和设备
1.本技术要求于2020年5月15日在韩国知识产权局提交的第10-2020-0058322号韩国专利申请的权益,所述韩国专利申请的全部公开出于所有目的通过引用包含于此。
技术领域
2.下面的描述涉及一种用于说话时间估计的方法和设备。


背景技术:

3.语音识别可表示用于通过使用计算装置分析声学语音信号(诸如,由人类说出的声音表达),来识别或理解声学语音信号的技术。基于从音频数据提取的频率特性或特征来识别语音的方法可应用隐马尔可夫模型(hmm)。这样的基于hmm的语音识别方法可通过分析来自音频数据的发音并通过基于分析的发音而组合词或句子来识别语音。
4.这样的基于hmm的语音识别方法可在不分析来自音频数据的发音的情况下,使用包括人工神经网络的声学模型从音频数据直接识别包括词或句子的文本。


技术实现要素:

5.提供本发明内容以便以简化的形式介绍以下在具体实施方式中进一步描述的构思的选择。本发明内容不意在确定要求权利的主题的关键特征或必要特征,也不意在用于帮助确定要求权利的主题的范围。
6.在一个总体方面,一种处理器实现的说话时间估计方法包括:使用基于注意力的序列到序列模型来确定多个注意力权重矩阵;从所述多个注意力权重矩阵选择注意力权重矩阵;和基于选择的注意力权重矩阵来估计与输出序列对应的说话时间。
7.选择选择的注意力权重矩阵的步骤可包括:对所述多个注意力权重矩阵执行单调回归分析,并且基于单调回归分析的结果来选择选择的注意力权重矩阵。
8.估计说话时间的步骤可包括:对选择的注意力权重矩阵执行单调回归分析,并且基于单调回归分析的结果来估计与输出序列对应的说话时间。
9.选择的注意力权重矩阵可包括输入序列的并且与输出序列的输出词法单元对应的输入帧的注意力权重作为元素,并且估计说话时间的步骤可包括:从输入帧的注意力权重选择预定数量的高注意力权重;和基于选择的注意力权重来估计与输出序列对应的说话时间。
10.基于选择的注意力权重来估计说话时间的步骤可包括:基于选择的注意力权重来校正选择的注意力权重矩阵;和基于校正后的注意力权重矩阵来估计与输出序列对应的说话时间。
11.预定数量的高注意力权重可以是与每个输出词法单元对应的注意力权重之中的预定数量的最高注意力权重。
12.估计说话时间的步骤可包括:对选择的注意力权重矩阵执行扩散校正;和基于被执行了扩散校正的选择的注意力权重矩阵来估计与输出序列对应的说话时间。
13.选择的注意力权重矩阵可包括输入序列的并且与输出序列的输出词法单元对应的输入帧的注意力权重作为元素,并且估计说话时间的步骤可包括:从输入帧的注意力权重选择预定数量的高注意力权重;基于选择的注意力权重对选择的注意力权重矩阵执行扩散校正;和基于被执行了扩散校正的选择的注意力权重矩阵来估计与输出序列对应的说话时间。
14.所述多个注意力权重矩阵的数量可对应于基于注意力的序列到序列模型的注意力层的数量和基于注意力的序列到序列模型的解码器层的数量的乘积。
15.所述方法还可包括:训练基于注意力的序列到序列模型,使得所述多个注意力权重矩阵之中的预定矩阵生成为选择的注意力权重矩阵。
16.训练基于注意力的序列到序列模型的步骤可包括:掩蔽与预定矩阵对应的注意力层,并且基于掩蔽的注意力层来训练基于注意力的序列到序列模型。
17.一种非暂时性计算机可读存储介质可存储指令,所述指令在由处理器执行时,配置所述处理器执行所述方法。
18.在另一总体方面,一种处理器实现的说话时间估计方法包括:接收输入序列;通过对输入序列进行编码来生成编码特征;针对至少一个注意力层中的每个注意力层,确定输入序列的输入帧的注意力权重;针对一个或多个步骤中的每个步骤,基于编码特征和注意力权重来估计输出序列的输出词法单元;基于注意力权重来确定与所述至少一个注意力层中的每个注意力层的输出词法单元对应的输入帧;和基于与输出词法单元对应的输入帧来估计与输出序列对应的说话时间。
19.估计说话时间的步骤可包括:基于与输出词法单元对应的输入帧,确定所述至少一个注意力层中的每个注意力层的注意力权重矩阵;从所述至少一个注意力层中的每个注意力层的注意力权重矩阵选择与单调性对应的注意力权重矩阵;和基于选择的注意力权重矩阵来估计与输出序列对应的说话时间。
20.从所述至少一个注意力层中的每个注意力层的注意力权重矩阵选择与单调性对应的注意力权重矩阵的步骤可包括:对注意力权重矩阵执行单调回归分析;和将具有单调回归分析的最小误差的注意力权重矩阵选择为与单调性对应的注意力权重矩阵。
21.在另一总体方面,一种说话时间估计设备包括:处理器,被配置为:使用基于注意力的序列到序列模型确定多个注意力权重矩阵;从所述多个注意力权重矩阵选择注意力权重矩阵;和基于选择的注意力权重矩阵来估计与输出序列对应的说话时间。
22.为了选择选择的注意力权重矩阵,处理器可被配置为:对所述多个注意力权重矩阵执行单调回归分析,并且基于单调回归分析的结果来选择选择的注意力权重矩阵。
23.为了估计说话时间,处理器可被配置为:对选择的注意力权重矩阵执行单调回归分析,并且基于单调回归分析的结果来估计与输出序列对应的说话时间。
24.选择的注意力权重矩阵可包括输入序列的并且与输出序列的输出词法单元对应的输入帧的注意力权重作为元素,并且为了估计说话时间,处理器可被配置为:从输入帧的注意力权重选择预定数量的高注意力权重;和基于选择的注意力权重来估计与输出序列对应的说话时间。
25.为了估计说话时间,处理器可被配置为:基于选择的注意力权重来校正选择的注意力权重矩阵;和基于校正后的注意力权重矩阵来估计与输出序列对应的说话时间。
26.为了估计说话时间,处理器可被配置为:对选择的注意力权重矩阵执行扩散校正;和基于被执行了扩散校正的选择的注意力权重矩阵来估计与输出序列对应的说话时间。
27.选择的注意力权重矩阵可包括输入序列的并且与输出序列的输出词法单元对应的输入帧的注意力权重作为元素,并且为了估计说话时间,处理器可被配置为:从输入帧的注意力权重选择预定数量的高注意力权重;基于选择的注意力权重对选择的注意力权重矩阵执行扩散校正;和基于被执行了扩散校正的选择的注意力权重矩阵来估计与输出序列对应的说话时间。
28.所述多个注意力权重矩阵的数量可对应于基于注意力的序列到序列模型的注意力层的数量和基于注意力的序列到序列模型的解码器层的数量的乘积。
29.处理器可被配置为:训练基于注意力的序列到序列模型,使得将所述多个注意力权重矩阵之中的预定矩阵生成为选择的注意力权重矩阵。
30.处理器可被配置为:掩蔽与预定矩阵对应的注意力层,并且基于掩蔽的注意力层来训练基于注意力的序列到序列模型。
31.在另一总体方面,一种移动设备包括:至少一个传感器,被配置为接收输入序列;和处理器,被配置为:通过对输入序列进行编码来生成编码特征;针对至少一个注意力层中的每个注意力层,确定输入序列的输入帧的对应的注意力权重;针对一个或多个步骤中的每个步骤,基于编码特征和注意力权重来估计输出序列的输出词法单元;基于注意力权重来确定与所述至少一个注意力层中的每个注意力层的输出词法单元对应的输入帧;和基于与输出词法单元对应的输入帧来估计与输出序列对应的说话时间。
32.为了估计说话时间,处理器可被配置为:基于与输出词法单元对应的输入帧,确定所述至少一个注意力层中的每个注意力层的注意力权重矩阵;从所述至少一个注意力层中的每个注意力层的注意力权重矩阵选择与单调性对应的注意力权重矩阵;和基于选择的注意力权重矩阵来估计与输出序列对应的说话时间。
33.所述至少一个传感器可包括麦克风,输入序列可包括语音,并且所述移动设备还包括用户接口,用户接口被配置为输出输出序列和说话时间。
34.在另一总体方面,一种处理器实现的说话时间估计方法包括:通过对包括输入帧的输入序列进行编码来生成编码特征;基于编码特征来估计与输入序列对应的输出序列的输出词法单元;确定包括注意力权重的注意力权重矩阵,每个注意力权重与输入帧之一和输出词法单元之一对应;和基于注意力权重矩阵来估计与输出序列对应的说话时间。
35.从下面的具体实施方式、附图以及权利要求,其它特征和方面将是清楚的。
附图说明
36.图1示出语音识别系统的示例。
37.图2示出具有具备编码器-解码器结构的端到端(end-to-end)的人工神经网络(ann)的语音识别设备的操作的示例。
38.图3示出语音识别设备的示例。
39.图4a和图4b示出确定注意力(attention)权重的示例。
40.图5示出估计说话时间的方法的示例。
41.图6示出从多个注意力权重矩阵选择预定的注意力权重矩阵的示例。
42.图7示出基于第一注意力权重矩阵来估计与输出序列对应的说话时间的示例。
43.图8a示出说话时间估计结果的示例。
44.图8b示出使用说话时间估计结果的示例。
45.图9a和图9b示出训练基于注意力的序列到序列模型的示例。
46.贯穿附图和具体实施方式,除非另外描述或提供,否则相同的附图参考标号将被理解为表示相同的元件、特征和结构。附图可不按比例,并且为了清楚、说明和方便,附图中的元件的相对尺寸、比例和描绘可被夸大。
具体实施方式
47.提供下面的具体实施方式以帮助读者获得对在此描述的方法、设备和/或系统的全面理解。然而,在理解本技术的公开之后,在此描述的方法、设备和/或系统的各种改变、修改和等同物将是清楚的。例如,在此描述的操作的顺序仅是示例,并且不限于在此阐述的那些顺序,而是除了必须以特定的顺序发生的操作之外,可如在理解本技术的公开之后将是清楚的那样被改变。此外,为了更加清楚和简明,可省略已知的特征的描述。
48.在此描述的特征可以以不同的形式来实现,而不应被解释为限于在此描述的示例。相反,在此描述的示例已仅被提供,以示出在理解本技术的公开之后将是清楚的实现在此描述的方法、设备和/或系统的许多可行方式中的一些可行方式。
49.下面的具体的结构性的或功能性的描述仅描述示例,并且本公开或这样的示例的范围不限于在本说明书中提供的描述。可对示例进行各种改变和修改。这里,示例不被解释为限于公开,而是应被理解为包括在公开的理念和技术范围内的所有改变、等同物和替换。
50.在此使用的术语仅出于描述特定示例的目的,并不意在限制公开。如在此使用的,除非上下文另外清楚地指示,否则单数形式也意在包括复数形式。如在此使用的,术语“和/或”包括相关联的所列项中的任何一个和任何两个或更多个的任何组合。如在此使用的,术语“包括”、“包含”和“具有”说明存在叙述的特征、数量、操作、元件、组件和/或它们的组合,但不排除存在或添加一个或多个其它特征、数量、操作、元件、组件和/或它们的组合。在此针对示例或实施例的术语“可”的使用(例如,关于示例或实施例可包括或实现什么)表示存在包括或实现这样的特征的至少一个示例或实施例,而所有示例不限于此。
51.除非另有定义,否则在此使用的所有术语(包括技术术语和科学术语)具有与本公开所属领域的普通技术人员通常理解和在理解本公开之后的含义相同的含义。除非在此明确地如此定义,否则术语(诸如,在通用词典中定义的术语)将被解释为具有与它们在相关领域中的上下文和本公开中的含义一致的含义,并且不应以理想化或过于形式化的意义被解释。
52.当参照附图描述示例时,相同的参考标号表示相同的构成元件,并且与相同的构成元件相关的重复描述将被省略。在示例的描述中,当认为公知的相关结构或功能的详细描述将导致本公开的模糊解释时,将省略这样的详细描述。
53.尽管在此使用“第一”或“第二”的术语来描述各种构件、组件、区域、层或部分,但是这些构件、组件、区域、层或部分不应被这些术语限制。相反,这些术语仅用于将一个构件、组件、区域、层或部分与另一构件、组件、区域、层或部分区分开。因此,在不脱离示例的教导的情况下,在此描述的示例中所称的第一构件、第一组件、第一区域、第一层或第一部
分也可被称为第二构件、第二组件、第二区域、第二层或第二部分。
54.在一个示例中与包括在另一示例中的组件具有共同功能的组件使用相同的名称来描述。除非另有描述,否则在一个示例中进行的描述可适用于另一示例,并且重复范围内的详细描述被省略。
55.图1示出语音识别系统的的示例。
56.参照图1,语音识别系统可包括用户终端110和语音识别设备120。在一个示例中,语音识别设备120可以是用户终端110外部的设备(例如,服务器装置),在另一示例中,根据非限制性示例,语音识别设备120可被嵌入在或包括在用户终端110中。
57.在语音识别系统中,用户终端110可以是被配置为接收说话者的输入序列130(例如,用户或说话者的音频语音)、将输入序列130传送到语音识别设备120、并且向用户(例如,说话者)提供输出序列140(例如,where are you)的终端,输出序列140是由语音识别设备120确定的识别结果。用户终端110可通过用户终端110的至少一个传感器(例如,麦克风)来接收输入序列130,并且可通过用户终端110的用户接口或显示器来提供输出序列。尽管在图1中用户终端110被示出为智能电话,但是用户终端110可以是电子装置(例如,计算机、超级移动个人计算机(umpc)、工作站、上网本、个人数字助理(pda)、便携式计算机、网络平板计算机、无线电话、移动电话、电子书、便携式多媒体播放器(pmp)、便携式游戏控制台、导航装置、黑匣子和/或数码相机)中的任何一个或任何组合。
58.在语音识别系统中,语音识别设备120可以是被配置为接收说话者的输入序列130并且提供作为识别结果的输出序列140的计算装置。输入序列130可包括输入语音和从输入语音提取的输入语音特征向量。输入语音可综合地包括梅尔频率倒谱系数(mel-frequency cepstral coefficient,mfcc)或声谱图,在mfcc或声谱图中,以波形表示说话者的输入语音信号的波文件以频率的形式被表示。计算装置可以是移动装置(例如,笔记本计算机、膝上型计算机、台式计算机和/或智能电话),然而,示例不限于此。例如,计算装置可包括包含操作或计算装置的所有类型的装置。
59.语音识别设备120可提供端到端(end-to-end)的语音识别。在典型的语音识别中,可使用隐马尔可夫模型(hmm)。这样的典型的基于hmm的语音识别可分析来自音频数据的发音,并且基于分析的发音来组合词或句子。然而,发音可根据说话者和说话者的语言的类型而变化,因此这样的典型的通过分析发音来识别语音可能不利地包括包含大量试验和错误的校正处理。另外,因为语音基于发音而被识别,所以典型的基于hmm的语音识别方法可能易受环境噪声的影响。
60.与典型的语音识别相比,一个或多个实施例的基于端到端的人工神经网络(ann)的语音识别系统可通过使用ann表现出优异的性能,ann被学习或训练以对用于实现语音识别的信号处理、发音转换、语言模型和/或解码进行建模,同时最小化信号处理、发音转换、语言模型和/或解码中的专业知识的干预,从而改进语音识别系统和设备的功能,并且改进语音识别的技术领域。
61.为了提供端到端的语音识别,语音识别设备120可构建包括ann的序列到序列模型,并且响应于输入序列130而使用构建的序列到序列模型来提供作为识别结果的输出序列140。ann可以是例如循环神经网络(rnn)、卷积神经网络(cnn)、自注意力神经网络(self-attention neural network,sann)、双向rnn(brnn)、长短期记忆(lstm)网络、双向lstm
(blstm)网络、门控循环单元(gated recurrent unit,gru)和/或双向gru(bgru)。然而,示例不限于前述中描述的示例。
62.此外,语音识别设备120可被配置为估计与输出序列对应的说话时间(utterance time),和/或可包括被配置为估计与输出序列对应的说话时间的说话时间估计设备。
63.一个或多个实施例的语音识别设备120可使用说话时间估计设备来确定和提供关于在输入序列130中识别的每个词被说出的时间点(例如,准确或基本精确的时间点)的信息、以及作为输入序列130的识别结果的输出序列140。
64.当通过综合考虑输入序列来预测每个识别的词时,典型的基于序列到序列模型的语音识别方法可能不能够确定(或者可能不被配置为确定)每个识别的词被说出的时间点。特别地,当被训练为隐式地执行各种功能的多个注意力层被用于预测每个识别的词时,典型的多头注意力(multi head attention)序列到序列模型可能不能够估计(或者可能不被配置为估计)每个识别的词被说出的时间点。
65.与这样的典型的方法和模型相比,即使当执行基于序列到序列模型的语音识别方法时,一个或多个实施例的语音识别系统也可使用说话时间估计设备来确定和提供关于输出序列140中的每个识别的词被说出的时间点的信息,从而改进语音识别系统和设备的功能,并且改进语音识别的技术领域。以下将参照图2至图9b进一步描述一个或多个实施例的这样的语音识别系统的非限制性示例。
66.图2示出具有具备编码器-解码器结构的端到端的ann的语音识别设备的操作的示例。
67.参照图2,ann可包括编码器220和解码器230。
68.ann可以是具有包括编码器220和解码器230的结构(在下文中,被称为“编码器220-解码器230结构”)的端到端的ann。当针对一个损失函数同时训练模型的所有参数通过的路径被获得时,编码器220和解码器230可同时被训练。输入可在ann的一侧(或输入)被接收,输出可在ann的另一侧(或输出)被生成。网络权重可通过直接考虑输入和输出而被优化。ann中层的节点可对彼此具有非线性的影响,ann的参数(例如,从节点输出的值或节点之间的关系)可通过训练而被优化。
69.具有编码器220-解码器230结构的端到端的ann可以是编码器220和解码器230被集成的网络结构,并且编码器220和解码器230可从输入语音直接生成与输入语音对应的识别结果。
70.语音识别设备可从输入语音210提取输入语音特征向量215,编码器220可通过对输入语音特征向量215进行编码来生成编码特征225。例如,编码器220可通过变换输入语音特征向量215的维度来生成编码特征225。换句话说,编码器220可用于有效地概括输入序列的含义。
71.编码特征225可被应用于ann的解码器230。解码器230可基于编码特征225和预先确定的识别结果,以词法单元(token)为单位确定输出词法单元。
72.例如,当编码特征225被接收到时,解码器230可以以词法单元为单位输出识别结果。词法单元可以是例如词、子词、字符或配置字符的单元(例如,韩语音节结构的首音、中音和尾音)。在下面的描述中,由解码器230输出的整个识别结果可被称为输出序列,输出序列可包括输出的一个或多个词法单元。
73.为了使用ann计算具有未指定长度的输出,解码器230可响应于预测的输出词法单元的输入而继续逐个预测随后的词法单元,直到指示结束的特殊词法单元(例如,结束<e>或语音的结束<eos>(或<eos>))出现或被确定为止。例如,解码器230可基于从编码器220计算的信息来确定每个步骤的输出词法单元(例如,这里的每个步骤可以是用于估计一个输出词法单元的过程)。在这个示例中,解码器230可根据先前步骤的输出词法单元来确定输出词法单元,这样的方法可被称为“自回归解码”。
74.例如,在执行自回归解码的端到端的ann模型中,被选择为输出词法单元的词法单元可被确定为随后的输入词法单元。例如,当识别输入语音210的句子“tell me a joke”时,可基于作为在前一步骤中识别的输出词法单元的输入“tell”来识别“me”。
75.然而,当具有编码器-解码器结构的典型的端到端的ann使用单个向量处理输入语音的所有部分时,随着估计的语音通过输出词法单元的顺序估计变长,用于估计随后的输出词法单元的输入语音的前面或开始部分的信息可逐渐被稀释(dilute),这可能导致语音识别质量的降低。为了解决以上问题,针对解码器230估计输出词法单元的每个步骤,一个或多个实施例的语音识别设备可通过引用或使用编码器220中的输入语音的所有部分(例如,编码特征225的所有部分)来估计输出词法单元。此外,为了甚至更准确地估计每个输出词法单元,针对解码器230估计输出词法单元的每个步骤,一个或多个实施例的语音识别设备可不通过以相同的速率或注意力引用或使用输入语音的所有部分来估计输出词法单元。相反,针对解码器230估计输出词法单元的每个步骤,与输入语音的其它部分相比,一个或多个实施例的语音识别设备可通过以更高的注意力引用或使用输入语音的与输出词法单元相关联的部分来估计输出词法单元。因此,一个或多个实施例的语音识别设备可改善语音识别系统和设备的功能,并且改善语音识别的技术领域。
76.例如,构成输入序列的输入帧的注意力权重可基于与将在对应步骤中被预测的输出词法单元相关联的程度而被设置,解码器230可基于设置的注意力权重来估计每个步骤的输出词法单元。
77.编码器220和解码器230可被预先训练,以从接收的输入语音特征向量215生成识别结果的序列。例如,可通过训练编码器220和解码器230以从与输入语音对应的正确答案文本对的序列生成识别结果的序列,来预先训练编码器220和解码器230的模型参数(例如,突触连接的权重和节点的偏转(例如,偏置))。此外,可通过训练编码器220和解码器230以从与输入语音对应的正确答案文本对的序列生成识别结果的序列,来预先训练编码器220和解码器230的注意力权重。
78.一个或多个实施例的说话时间估计设备可基于注意力权重来估计与输出序列对应的说话时间。例如,即使在基于多头注意力的序列到序列模型中,说话时间估计设备也可估计每个识别的词被说出的时间点。
79.图3示出语音识别设备的示例。
80.参照图3,语音识别设备可包括特征向量提取模块310、编码器320、解码器330以及说话时间估计设备340。语音识别设备还可包括其它组件。图3的语音识别设备的组件可被实现为单独的组件,或者可被集成。在下文中,将详细描述语音识别设备的示出的组件中的每个。
81.语音识别设备可使用说话时间估计设备340,来提供作为输入序列的识别结果的
输出序列并且提供关于在输出序列中识别的每个词被说出的时间点的信息。
82.特征向量提取模块310可从自说话者接收的输入语音提取输入语音特征向量。输入语音可以是包括多个帧中的每个帧的信息的语音信号,输入语音特征向量可以是以至少一个帧为单位提取的信息的序列,并且可被表示为多维向量。在下面的描述中,输入序列可包括输入语音和从输入语音提取的输入语音特征向量,并且可包括以输入帧为单位的信息。
83.作为非限制性示例,图3的编码器320和解码器330可分别对应于图2的编码器220和解码器230,因此在此不重复编码器320和解码器330的进一步描述。解码器330可包括注意力模块331,注意力模块331被配置为每当在每个步骤中输出词法单元被估计出时确定将被进一步关注的输入帧。例如,注意力模块331可确定输入帧的注意力权重,输入帧构成对应步骤中的输入序列并且在解码器330针对每个步骤估计输出词法单元时被使用。解码器330可基于设置的注意力权重来估计每个步骤的一个或多个输出词法单元。注意力模块331可以是多头注意力模块。多头注意力模块可将整个维度划分为多个维度并且多次应用注意力,而不是使用被训练为执行各种功能的多个注意力层来对整个维度应用一次注意力。
84.说话时间估计设备340可包括单调回归分析模块341和扩散模块(diffusion module)343。单调回归分析模块341还可包括第一注意力权重矩阵选择模块。说话时间估计设备340可基于从注意力模块331接收的注意力权重来估计与输出序列对应的说话时间。在使用单调回归分析模块341和扩散模块343描述说话时间估计设备340的操作之前,以下将参照图4a和图4b进一步描述确定注意力权重的非限制性示例。
85.图4a和图4b示出确定注意力权重的示例。
86.参照图4a,编码器320可接收包括输入帧(例如,帧i1至帧i
n
,其中,n表示输入帧的数量)的输入序列,并且可生成编码器320的隐藏状态向量(例如,向量h1至向量h
n
)。
87.注意力模块331可确定输入帧(例如,帧i1至帧i
n
)的注意力权重,并且可基于确定的注意力权重生成上下文向量(例如,向量c1至向量c
m
,其中,m表示输出词法单元的数量),输入帧(例如,帧i1至帧i
n
)构成对应步骤中的输入序列并且当解码器330针对每个步骤估计输出词法单元时被使用。例如,注意力模块331可以是多头注意力模块,并且可包括多个注意力层(例如,第一注意力层至第k注意力层)。每个注意力层可并行地确定注意力权重,并且可基于确定的注意力权重来生成上下文向量。
88.解码器330可接收前一步骤的解码器330的隐藏状态向量s
t-1
、前一步骤的输出词法单元y
t-1
以及当前步骤的上下文向量c
t
作为输入,并且可例如基于接收的输入提取当前步骤的解码器330的隐藏状态向量s
t
和当前步骤的输出词法单元y
t
。例如,由解码器330在当前步骤提取输出词法单元y
t
时使用的当前步骤的上下文向量c
t
可如以下等式1所示被确定。
89.等式1:
[0090][0091]
在等式1中,表示步骤t的第i输入帧的注意力权重,h
i
表示第i输入帧的编码器320的隐藏状态向量。
[0092]
参照图4b,表示作为当前步骤的步骤t的第i输入帧的注意力权重,“1”可通过将步骤t的所有输入帧(例如,帧i1至帧i
n
)的注意力权重至相加而被确定。例如,当注意力权重具有注意力权重至之中的最高值时,解码器330可通过在步骤t最关注第二输入帧来提取输出词法单元。
[0093]
因此,基于步骤t的输入帧的注意力权重的分布,当在对应步骤提取输出词法单元时最关注哪个输入帧可被确定,因此在对应步骤与输出词法单元对应的输入帧可被确定。例如,对应步骤中的具有最高注意力权重的输入帧可被映射到输出词法单元。
[0094]
然而,当典型的语音识别设备将对应步骤中的具有最高注意力权重的输入帧映射到输出词法单元时,可能发生两个问题。第一,当典型的语音识别设备将对应步骤中的具有最高注意力权重的输入帧映射到输出词法单元时,通过在所有步骤中随时间映射输入序列和输出序列而确定的结果可能不总是具有单调性。例如,在前一步骤中映射的输入帧可在时间上比在当前步骤中映射的输入帧晚。例如,基于上述方法,步骤t中的最高注意力权重可为步骤t+1中的最高注意力权重可为其中,k是自然数。
[0095]
第二,当输出词法单元的时间单位比输入帧的时间单位大时(例如,比输入帧的时间单位大至少5倍(例如,在输出词法单元的单位是字符的情况下)至30倍(例如,在输出词法单元的单位是词的情况下)),典型的语音识别设备可能通过在输出词法单元被提取的单个步骤中确定单个输入帧来不准确地映射输入序列和输出序列。
[0096]
为了解决典型的语音识别设备的以上问题,一个或多个实施例的说话时间估计设备340可确定注意力权重矩阵。注意力权重矩阵可具有针对构成输出序列的输出词法单元的构成输入序列的输入帧的注意力权重作为元素。例如,当语音识别设备输出输出序列(例如,“tell me a joke”)时,注意力权重矩阵可由以下表1表示。
[0097]
表1:
[0098] i1i2i3i4i5i6i7i8i9tell0.90.070.020.0040.0010.0010.0010.0010.001me0.0040.020.90.070.0010.0010.0010.0010.001a0.0010.0010.0010.0040.330.30.360.0010.001joke0.0010.0010.0010.0010.0010.620.370.0040.001
[0099]
在表1中,输出词法单元可以是词的单位,每个输入帧可具有10毫秒(ms)的单位。在输出词法单元“tell”中,输入帧i1具有最高注意力权重“0.9”,输入帧i2具有第二高注意力权重“0.07”,输入帧i3具有第三高注意力权重“0.02”。“0.99”可通过将输入帧i1至i3的所有注意力权重相加而被确定,因此可发现输出词法单元“tell”通过关注输入帧i1至i3而被提取。因此,输出词法单元“tell”的说话时间可被估计为“0”至“30”ms的时间量。在一个示例中,针对给定的输出词法单元(例如,“tell”),说话时间估计设备340可迭代地将最高注意力权重(例如,“0.9”)与下一最高注意力权重求和,直到迭代和满足阈值(例如,“0.99”)为止,并且可将给定的输出词法单元的说话时间确定为从用于获得迭代和的注意力权重之中的最高注意力权重的输入帧的时间到最低注意力权重的输入帧的时间。
[0100]
说话时间估计设备340可基于预定条件来校正注意力权重矩阵,可对校正后的注意力权重矩阵执行单调回归分析,并且可基于注意力权重矩阵估计与输出句子对应的说话时间。
[0101]
例如,当多个权重矩阵通过执行多头注意力而被生成时,说话时间估计设备340可选择满足预定条件的第一权重矩阵,并且可基于选择的第一权重矩阵来估计与输出句子对应的说话时间。以下将参照图5至图9b进一步描述估计说话时间的方法的非限制性示例。
[0102]
图5示出估计说话时间的方法的示例。
[0103]
参照图5,操作510至操作560可由例如语音识别设备执行。作为非限制性示例,语音识别设备可由至少一个硬件模块实现或包括至少一个硬件模块,至少一个硬件模块可包括被配置为执行指令以执行操作510至操作560的一个或多个处理器。如上所述,语音识别设备可包括说话时间估计设备。在一个或多个非限制性示例中,图1至图4b的描述可适用于图5的示例。例如,图5的操作可由如以上参照图1至图4b所述的语音识别设备来实现。
[0104]
在操作510中,语音识别设备可接收输入语音。
[0105]
在操作515中,语音识别设备可提取与输入语音对应的输入语音特征向量。
[0106]
在操作520中,语音识别设备可对输入语音特征向量进行编码,并且将当前步骤(例如,步骤t)设置为“0”。
[0107]
在操作525中,语音识别设备可计算在对应步骤(例如,当前步骤)的注意力权重。
[0108]
在操作530中,语音识别设备可接收前一步骤的解码器的隐藏状态向量、前一步骤的输出词法单元以及当前步骤的上下文向量作为输入,并且可提取当前步骤的解码器的隐藏状态向量和当前步骤的输出词法单元(例如,output token
t
)。
[0109]
在操作535中,语音识别设备可针对每个注意力层基于对应步骤(例如,当前步骤)中的相对高的“n”个注意力权重(例如,其中“n”是最高注意力权重的预定数量和/或其中“n”是满足预定阈值的最高注意力权重的最小数量),来估计与对应步骤的输出词法单元对应的输入帧。此外,语音识别设备可存储输入帧的位置和注意力权重。
[0110]
通过操作540和操作545,语音识别设备可重复地执行操作525至操作535,直到当前步骤的输出词法单元变成词法单元<eos>为止。因此,说话时间估计设备可确定包括所有步骤的注意力权重的注意力权重矩阵。例如,当多头注意力被执行时或者当解码器包括多个标签时,说话时间估计设备可确定多个注意力权重矩阵。在这个示例中,多个注意力权重矩阵的数量可对应于注意力层的数量和解码器层的数量的乘积。在这个示例中,解码器层可以与输出词法单元相关联,例如,解码器层的数量可以与输出词法单元的数量相同。在一个示例中,语音识别设备可使用基于注意力的序列到序列模型来确定多个注意力权重矩阵。在这个示例中,基于注意力的序列到序列模型的输入可以是输入帧,基于注意力的序列到序列模型可基于输入帧和包括在多个注意力权重矩阵中的注意力权重输出输出词法单元。在一个示例中,说话时间估计设备可基于与输出词法单元对应的输入帧,确定至少一个注意力层中的每个注意力层的注意力权重矩阵。
[0111]
在操作550中,说话时间估计设备可通过对多个注意力权重矩阵执行单调回归分析来选择预定的注意力权重矩阵。例如,说话时间估计设备可使用包括在说话时间估计设备中的单调回归分析模块,对多个注意力权重矩阵执行单调回归分析。以下将参照图6进一步描述从多个注意力权重矩阵选择预定的注意力权重矩阵的非限制性示例。
[0112]
在操作555中,说话时间估计设备可对选择的注意力权重矩阵执行后处理。例如,说话时间估计设备可基于预设条件来校正选择的注意力权重矩阵,并且可对校正后的注意力权重矩阵执行单调回归分析。在一个示例中,说话时间估计设备可对选择的注意力权重矩阵执行单调回归分析,并且基于单调回归分析的结果来估计与输出序列对应的说话时间。
[0113]
在操作560中,说话时间估计设备可通过(例如,基于被执行后处理的选择的注意力权重矩阵)获取与输出词法单元对应的时间信息,来估计与输出序列对应的说话时间。
[0114]
图6示出从多个注意力权重矩阵选择预定的注意力权重矩阵的示例。
[0115]
参照图6,当多头注意力被执行时或者当解码器包括多个标签时,说话时间估计设备可确定与注意力层的数量和解码器层的数量的乘积相同数量的注意力权重矩阵。
[0116]
注意力权重矩阵的注意力权重可以以颜色来表示。例如,当注意力权重增大时,注意力权重可被表示为接近白色。当注意力权重减小时,注意力权重可被表示为接近黑色。例如,较高的注意力权重可在阴影上比较低的注意力权重浅,较低的注意力权重可在阴影上比较高的注意力权重深。在一个示例中,注意力权重“1”可以是白色的,注意力权重“0”可以是黑色的。
[0117]
当输出序列使用多个注意力权重矩阵而被估计时,多个注意力权重矩阵可执行不同的功能。例如,注意力权重矩阵可对应于噪声,并且另外的注意力权重矩阵可对应于实际用户的话语。
[0118]
说话时间估计设备可从多个注意力权重矩阵(例如,多个注意力权重矩阵620)选择具有最单调性的注意力权重矩阵(例如,注意力权重矩阵630),并且可估计实际用户的说话时间。例如,说话时间估计设备可对多个注意力权重矩阵执行单调回归分析,并且可基于来自多个注意力权重矩阵的分析结果来选择具有最小误差和单调性的注意力权重矩阵。
[0119]
说话时间估计设备可基于选择的注意力权重矩阵来估计与输出序列对应的说话时间,在下文中,选择的注意力权重矩阵被称为“第一注意力权重矩阵”。当第一注意力权重矩阵被选择一次时,说话时间估计设备可响应于另外的输入序列基于选择的第一注意力权重矩阵来估计与输出序列对应的说话时间。例如,当第一注意力权重矩阵被选择一次时,说话时间估计设备可基于选择的第一注意力权重矩阵来估计与输出序列对应的说话时间,而不是再次选择第一注意力权重矩阵。以下将参照图7进一步描述基于第一注意力权重矩阵来估计与输出序列对应的说话时间的非限制性示例。
[0120]
图7示出基于第一注意力权重矩阵来估计与输出序列对应的说话时间的示例。
[0121]
参照图7,说话时间估计设备可从与每个步骤的输出词法单元对应的输入帧的注意力权重选择输入帧的预定数量的相对高的注意力权重(例如,注意力权重之中最高的“n”个注意力权重,其中,“n”是预定数量)。说话时间估计设备可基于选择的注意力权重来估计与输出序列对应的说话时间。说话时间估计设备可对选择的注意力权重执行单调回归分析,并且可估计与输出序列对应的说话时间。
[0122]
此外,说话时间估计设备可基于选择的注意力权重来校正第一注意力权重矩阵,并且可基于校正的第一注意力权重矩阵来估计与输出序列对应的说话时间。
[0123]
一个或多个实施例的说话时间估计设备可选择多个注意力权重,而不是仅选择对应步骤中的最高注意力权重,因此,即使最高注意力权重不在所有部分(例如,帧部分)中具
有单调性,第一注意力权重矩阵也可在之后被校正为在所有部分中具有单调性。
[0124]
例如,图像720示出三个输入帧的相对高的注意力权重预先从与图像710中的每个步骤的输出词法单元对应的输入帧的注意力权重(例如,注意力权重矩阵)被选择,并且指示按照注意力权重721、722和723的顺序注意力权重更高。例如,图像720的注意力权重721、722和723可对应于图像710中的注意力权重。当具有最高注意力权重的输入帧不能在所有部分中满足单调性时,说话时间估计设备可校正不满足单调性的部分,使得可使用第二高注意力权重在所有部分中满足单调性。
[0125]
说话时间估计设备可使用扩散模块对第一注意力权重矩阵执行扩散校正。在一个示例中,说话时间估计设备可基于选择的注意力权重对第一注意力权重矩阵执行扩散校正。在一个示例中,说话时间估计设备可基于被执行了扩散校正的第一注意力权重矩阵来估计与输出序列对应的说话时间。为了确定与输出词法单元对应的连续输入帧部分而不是单位输入帧,说话时间估计设备可对第一注意力权重矩阵执行扩散校正。例如,当对第一注意力权重矩阵的扩散校正被执行时,说话时间估计设备可将超过预定阈值的连续部分确定为与输出词法单元对应的输入帧部分。扩散校正可以是将第一注意力权重矩阵的转置矩阵与第一注意力权重矩阵相乘的运算。通过扩散校正,接近白色的注意力权重(例如,较高值)与接近黑色的注意力权重(例如,较低值)之间的边界可进一步被明确。
[0126]
此外,说话时间估计设备可选择多个注意力权重,而不是仅选择对应步骤中的最高注意力权重,因此一个或多个实施例的说话时间估计设备可通过将多个输入帧映射到单个输出词法单元来提高估计的准确度。
[0127]
图8a示出通过估计说话时间获得的结果的示例。
[0128]
如图8a的图像810中所示,说话时间估计设备可映射与输出序列830(例如,hi bixby remind me to check the air cleaner filters when i get home)对应的输入序列820。
[0129]
如图像810中所示,说话时间估计设备可估计构成输出序列830的输出词法单元的话语的开始时间。此外,说话时间估计设备可估计包括构成输出序列830的输出词法单元的话语的开始时间和结束时间的说话时间。
[0130]
图8b示出使用通过估计说话时间获得的结果的示例。
[0131]
参照图8b,说话时间估计设备可被用在语音记录器中,或者可包括语音记录器。例如,包括说话时间估计设备的语音识别设备可识别记录的语音的文本,可将识别的文本与记录的语音的波形匹配,并且可向用户提供与波形匹配的识别的文本以及对应时间。此外,语音识别设备可突出并示出根据语音说出的词。响应于用于选择预定字符的用户输入,语音识别设备可跳转到记录有与选择的字符对应的语音的部分,并且可再现该语音。除了语音记录器之外,说话时间估计设备还可适用于执行语音识别的所有领域(例如,智能扬声器、运动图像或电影)。语音识别设备可使用语音识别设备的至少一个传感器(例如,麦克风)来接收和记录语音,并且可使用语音识别设备的显示器和用户接口中的任何一个或两个来输出识别的文本、波形和/或对应时间。
[0132]
图9a和图9b示出训练基于注意力的序列到序列模型的方法的示例。
[0133]
参照图9a,语音识别设备可训练基于注意力的序列到序列模型,使得多个注意力权重矩阵之中的注意力权重矩阵900可变成(或者可被生成为)第一注意力权重矩阵。语音
识别设备可通过从训练的时间点起引导或训练预定注意力层使得与预定注意力层对应的注意力权重矩阵(例如,注意力权重矩阵900)具有单调性来训练基于注意力的序列到序列模型,并且可通过单调回归分析基于训练的注意力权重矩阵来估计与输出句子对应的说话时间,而不选择第一注意力权重矩阵。例如,语音识别设备可掩蔽(mask)与注意力权重矩阵900对应的注意力层,并且可训练基于注意力的序列到序列模型。在一个示例中,语音识别设备可基于掩蔽的注意力层来训练基于注意力的序列到序列模型。
[0134]
特征向量提取模块310、编码器320、解码器330、注意力模块331、说话时间估计设备340、单调回归分析模块341以及扩散模块343的描述也适用于图9b中示出的特征向量提取模块910、编码器920、解码器930、注意力模块931、说话时间估计设备940、单调回归分析模块941以及扩散模块943,因此在此不重复进一步的描述。
[0135]
参照图9b,语音识别设备可包括单调注意力引导模块950,而不是第一注意力权重矩阵选择模块。单调注意力引导模块950可通过从训练的时间点起引导注意力权重矩阵900具有单调性来训练基于注意力的序列到序列模型。此外,单调注意力引导模块950可向单调回归分析模块941通知训练的预定注意力层的注意力权重矩阵900,使得与输出序列对应的说话时间可使用注意力权重矩阵900而被估计。
[0136]
单调注意力引导模块950可训练注意力权重矩阵900具有硬单调性(hard monotonic property),或者可通过将恒定权重应用于对角权重来训练注意力权重矩阵900具有软单调性。
[0137]
在此针对图1至图9b描述的用户终端、语音识别设备、编码器、解码器、模块、注意力模块、说话时间估计设备、单调回归分析模块、扩散模块、特征向量提取模块、单调注意力引导模块、用户终端110、语音识别设备120、编码器220、解码器230、特征向量提取模块310、编码器320、解码器330、注意力模块331、说话时间估计设备340、单调回归分析模块341、扩散模块343、特征向量提取模块910、编码器920、解码器930、注意力模块931、说话时间估计设备940、单调回归分析模块941、扩散模块943、单调注意力引导模块950、设备、单元、装置以及其它组件通过硬件组件来实现。可用于执行在本技术中描述的操作的硬件组件的示例在适当的情况下包括:控制器、传感器、生成器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器和被配置为执行在本技术中描述的操作的任何其它电子组件。在其它示例中,执行在本技术中描述的操作的硬件组件中的一个或多个通过计算硬件(例如,通过一个或多个处理器或计算机)来实现。处理器或计算机可通过一个或多个处理元件(诸如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微型计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器或被配置为以限定的方式响应并执行指令以实现期望的结果的任何其它装置或装置的组合)来实现。在一个示例中,处理器或计算机包括或连接到存储由处理器或计算机执行的指令或软件的一个或多个存储器。由处理器或计算机实现的硬件组件可执行用于执行在本技术中描述的操作的指令或软件(诸如,操作系统(os)和在os上运行的一个或多个软件应用)。硬件组件还可响应于指令或软件的执行来访问、操控、处理、创建和存储数据。为了简明起见,单数术语“处理器”或“计算机”可用在本技术中描述的示例的描述中,但是在其它示例中,多个处理器或计算机可被使用,或者处理器或计算机可包括多个处理元件或多种类型的处理元件或二者。例如,单个硬件组件或者两个或更多个硬件组件可通过单个处理器、或者两个或更多个处理器、
或者处理器和控制器来实现。一个或多个硬件组件可通过一个或多个处理器、或者处理器和控制器来实现,一个或多个其它硬件组件可通过一个或多个其它处理器、或者另外的处理器和另外的控制器来实现。一个或多个处理器、或者处理器和控制器可实现单个硬件组件或者两个或更多个硬件组件。硬件组件可具有不同的处理配置中的任何一个或多个,其中,不同的处理配置的示例包括:单个处理器、独立处理器、并行处理器、单指令单数据(sisd)多处理、单指令多数据(simd)多处理、多指令单数据(misd)多处理以及多指令多数据(mimd)多处理。
[0138]
图1至图9b中示出的执行在本技术中描述的操作的方法通过计算硬件(例如,通过一个或多个处理器或计算机)来执行,计算硬件被如上所述地实现为执行指令或软件,以执行在本技术中描述的由所述方法执行的操作。例如,单个操作或者两个或更多个操作可通过单个处理器、或者两个或更多个处理器、或者处理器和控制器来执行。一个或多个操作可通过一个或多个处理器、或者处理器和控制器来执行,并且一个或多个其它操作可通过一个或多个其它处理器、或者另外的处理器和另外的控制器来执行。一个或多个处理器、或者处理器和控制器可执行单个操作或者两个或更多个操作。
[0139]
用于控制计算硬件(例如,一个或多个处理器或计算机)以实现硬件组件并执行如上所述的方法的指令或软件可被编写为计算机程序、代码段、指令或它们的任何组合,以单独地或共同地指示或配置一个或多个处理器或计算机如机器或专用计算机那样进行操作,以执行由如上所述的硬件组件和方法执行的操作。在一个示例中,指令或软件包括由一个或多个处理器或计算机直接执行的机器代码(诸如,由编译器产生的机器代码)。在另一示例中,指令或软件包括由一个或多个处理器或计算机使用解释器执行的高级代码。可基于附图中示出的框图和流程图以及在此使用的相应描述,使用任何编程语言编写指令或软件,附图中示出的框图和流程图以及在此使用的相应描述公开了用于执行由如上所述的硬件组件和方法执行的操作的算法。
[0140]
用于控制计算硬件(例如,一个或多个处理器或计算机)以实现硬件组件并执行如上所述的方法的指令或软件以及任何相关联的数据、数据文件和数据结构可被记录、存储或固定在一个或多个非暂时性计算机可读存储介质中或可被记录、存储或固定在一个或多个非暂时性计算机可读存储介质上。非暂时性计算机可读存储介质的示例包括:只读存储器(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)))、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘、以及任何其它装置,任何其它装置被配置为以非暂时性方式存储指令或软件以及任何相关联的数据、数据文件和数据结构并将指令或软件以及任何相关联的数据、数据文件和数据结构提供给一个或多个处理器或计算机,使得一个或多个处理器和计算机可执行指令。在一个示例中,指令或软件以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得指令和软件以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式的方式被存储、访问和执行。
[0141]
虽然本公开包括特定的示例,但是在理解本技术的公开之后将清楚,在不脱离权利要求及它们的等同物的精神和范围的情况下,可在这些示例中进行形式和细节上的各种改变。在此描述的示例将被认为仅是描述性的,而不是出于限制的目的。每个示例中的特征或方面的描述将被认为可适用于其它示例中的类似特征或方面。如果描述的技术以不同的顺序被执行,和/或如果描述的系统、架构、装置或电路中的组件以不同的方式被组合,和/或由其它组件或它们的等同物替换或补充,则可实现合适的结果。因此,公开的范围不是由具体实施方式限定,而是由权利要求及它们的等同物限定,并且在权利要求及它们的等同物的范围内的所有变化应被解释为包括在公开中。