CN113412514A - 用于设备上语音识别模型的训练的文本片段的设备上语音合成 - Google Patents
用于设备上语音识别模型的训练的文本片段的设备上语音合成 Download PDFInfo
- Publication number
- CN113412514A CN113412514A CN201980091350.4A CN201980091350A CN113412514A CN 113412514 A CN113412514 A CN 113412514A CN 201980091350 A CN201980091350 A CN 201980091350A CN 113412514 A CN113412514 A CN 113412514A
- Authority
- CN
- China
- Prior art keywords
- client device
- speech recognition
- text
- audio data
- speech
- 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
- 230000015572 biosynthetic process Effects 0.000 title claims abstract description 59
- 238000003786 synthesis reaction Methods 0.000 title claims abstract description 59
- 238000012549 training Methods 0.000 title description 23
- 238000012545 processing Methods 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims description 115
- 238000013518 transcription Methods 0.000 claims description 58
- 230000035897 transcription Effects 0.000 claims description 58
- 230000004044 response Effects 0.000 claims description 32
- 230000009471 action Effects 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 16
- 230000003993 interaction Effects 0.000 description 10
- 230000000007 visual effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000013507 mapping Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012015 optical character recognition Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
- G10L13/04—Details of speech synthesis systems, e.g. synthesiser structure or memory management
- G10L13/047—Architecture of speech synthesisers
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/30—Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
- G10L2015/0635—Training updating or merging of old and new templates; Mean values; Weighting
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Machine Translation (AREA)
- Telephonic Communication Services (AREA)
Abstract
客户端设备的(多个)处理器可以:识别在客户端设备处本地存储的文本片段;使用在客户端设备处本地存储的语音合成模型处理文本片段,以生成包括识别的文本片段的合成的语音的合成的语音音频数据;使用在客户端设备处本地存储的设备上语音识别模型处理合成的语音,以生成预测的输出;并且基于将预测的输出与对应于文本片段的基本事实输出进行比较来生成梯度。在一些实施方式中,客户端设备的处理器使用生成的梯度来更新设备上语音识别模型的权重。在一些实施方式中,另外地或替代地向远程系统发送生成的梯度发送,以用于远程更新全局语音识别模型的全局权重。
Description
背景技术
基于声音的用户接口被越来越多地用于计算机和其他电子设备的控制。基于声音的用户接口已经不断从只能够理解简单和直接命令的早期初级接口演变到响应自然语言请求并且能够理解语境并管理与用户的来回对话或交谈的更复杂的接口。许多基于声音的用户接口执行关于口头话语的语音识别(例如,使用语音到文本模型)以生成对应的文本,执行文本的语义分析以尝试确定口头话语的含义,并且基于确定的含义采取一个或多个动作。
虽然语音识别性能已经不断提高,但在许多情形下仍能够发生不准确的语音识别。作为非限制性示例,对于新术语和/或在训练语音识别模型的训练语料库中相对不常用(或不存在)的术语能够发生不准确的语音识别。在尝试有效地识别新术语和/或不常用术语中,已经提出了一些技术来生成除一个初始假设(或多个初始假设)之外的另外的语音识别假设,并且将另外的语音识别假设视为语音识别的候选。然而,这种技术需要另外的后处理,并且在许多情况下仍然无法导致许多术语的有效识别,诸如当一个初始假设/多个初始假设太离谱和/或当用于另外的假设的词典不包括某些术语时。
此外,当在设备上(即,在客户端设备上)执行语音识别时,不准确的语音识别能够被加剧。这能够由于,例如,设备上的语音识别模型不如基于云的模型稳健,设备上的存储器和/或处理器资源比基于云的资源更受限制,和/或另外的假设生成词典在设备上更受限制。
发明内容
本文公开的一些实施方式涉及利用设备上语音识别模型(在本文中被称为“设备上语音识别”)提高在客户端设备处本地执行的语音识别的性能。在这些实施方式中,客户端设备的(多个)处理器:识别在客户端设备处(例如,在客户端设备的RAM和/或ROM中)本地存储的文本片段;使用在客户端设备处本地存储的语音合成模型处理文本片段,以生成包括识别的文本片段的合成的语音的合成的语音音频数据;使用在客户端设备处本地存储的设备上语音识别模型来处理合成的语音,以生成预测的输出;并且基于将预测的输出与对应于文本片段的基本事实输出进行比较来生成梯度。例如,设备上语音识别模型能够是端到端语音识别模型,该端到端语音识别模型被用于生成预测的文本片段的预测的输出,并且生成梯度能够基于将预测的文本片段与文本片段进行比较。另外,例如,设备上语音识别模型能够替代地被用于生成预测的音素序列的预测的输出,并且生成梯度能够基于将预测的音素序列与对应于文本片段的基本事实音素序列进行比较。
在一些实施方式中,由客户端设备的一个或多个处理器使用生成的梯度基于生成的梯度来更新设备上语音识别模型的一个或多个权重。例如,反向传播和/或其他(多种)技术能够被用于基于梯度来更新权重。这能够提高使用设备上语音识别模型的客户端设备处对于包括文本片段的口头话语的语音识别性能。此外,这使设备上语音识别模型能够基于特定文本片段而被训练,而不需要特定文本片段的任何实际人类话语。因此,能够使用设备上语音识别模型正确地识别特定文本片段,尽管该文本片段可能尚未被包括在之前在客户端设备处检测的任何口头话语中。此外,许多实施方式对于在客户端设备处本地存储的大量文本片段重复该过程,从而提高针对于包括文本片段中的任何一个的口头话语的设备上语音识别性能。这将设备上语音识别模型有效地定制为实际文本片段,该实际文本片段(暂态地或非暂态地)被存储在设备上并且可能被包括在涉及客户端设备的口头话语中。
在一些实施方式中,基于生成的梯度而被更新的设备上语音识别模型能够是对当前被客户端设备利用来执行对在客户端设备处检测的口头话语的语音识别的设备上语音识别模型的添加。在这些实施方式中,响应于一个或多个条件被满足而部署被更新的设备上语音识别模型,以有效地替换当前正在被利用的设备上语音识别模型(从而变成当前正在被利用的设备上语音识别模型)。例如,(多个)条件能够包括:被更新的设备上语音识别模型的设备上验证;设备上确定被更新的设备上语音识别模型比当前正在被利用的设备上语音识别模型进行得更好(例如,在精度和/或召回方面);和/或被更新的设备上语音识别模型的至少阈值训练量和/或训练持续时间的发生。确定被更新的设备上语音识别模型比当前正在被利用的设备上语音识别模型表现得更好能够基于,例如,基于根据本文中描述的技术生成但尚未在训练中使用(即,替代地被保留用于测试)的训练实例来比较执行。部署当前被利用的设备上语音识别模型以有效地替换更新的设备上语音识别模型能够包括利用更新的模型的权重来更新当前被利用的模型的权重,或者利用更新的模型来替换当前被利用的模型。一旦更新的模型有效地替换当前被利用的模型并且被用于语音识别,更新的模型的副本然后能够被用作要被更新的新模型。
在一些实施方式中,另外或替代地由客户端设备并通过网络向远程系统发送生成的梯度。在这些实施方式中,远程系统利用生成的梯度和来自另外的客户端设备的另外的梯度来更新全局语音识别模型的全局权重。能够基于对应的本地存储的文本片段以及其本地生成的合成的语音,在对应的另外的客户端设备处相似地本地生成来自另外的客户端设备的另外的梯度。在各种实施方式中,客户端设备发送生成的梯度而不发送以下中的任何一个:文本片段、合成语音音频数据和预测的文本片段。远程系统能够利用生成的梯度来更新全局模型,而不参考或使用文本片段、合成的语音音频数据和预测的文本片段。仅发送梯度比发送文本片段、合成的语音音频数据和预测的文本片段的较大的数据大小组合利用较少的网络资源。此外,梯度的发送保护了设备上文本片段的隐私和安全性,因为不能从梯度导出文本片段和合成的语音音频数据。在一些实施方式中,能够利用一种或多种差分隐私技术(例如,添加高斯噪声)来进一步确保不能从梯度导出文本片段和/或合成的语音音频数据。
在远程系统更新语音识别模型的全局权重的实施方式中,远程系统此后能够向客户端设备提供更新的全局权重,以使客户端设备将其设备上语音识别模型的权重替换为更新的全局权重。在一些实施方式中,远程系统能够另外地或替代地向客户端设备提供更新的全局语音识别模型,以使客户端设备将其设备上语音识别模型替换为更新的全局语音识别模型。因此,通过利用更新的全局权重或更新的全局语音识别模型,提高了设备上语音识别性能。
客户端设备能够利用各种技术来识别本地存储的文本片段,以用于基于(多个)文本片段和对应的本地生成的合成的语音来生成梯度。
例如,能够基于文本片段被包括在联系人列表、媒体播放列表、链接的智能设备的别名(例如,智能灯、智能插头和/或与客户端设备的帐户链接的其他智能设备)的列表中和/或根据在客户端设备处接收的键入的输入而识别所述文本片段。例如,能够基于确定它是联系人列表中新添加的联系人的别名或者是新添加的智能设备的别名来识别文本片段。以这些方式和其他方式,能够对于新添加的别名快速提高设备上语音识别,从而支持正确识别涉及对应的联系人和/或对应的智能设备的基于声音的交互。另外,例如,能够基于包括这些文本片段的键入的用户接口输入,诸如涉及提供的接口的键入的用户接口输入来识别一个或多个文本片段,以使用户能够提供对用户很重要的文本片段的列表。
作为另一示例,能够另外或替代地基于确定(多个)文本片段不在词汇表中来识别文本片段(即,设备上语音识别模型之前尚未被训练的文本片段)。确定(多个)文本片段不在词汇表中能够基于确定它们不被包括在本地存储的词典中和/或基于其他考虑。
作为又一示例,文本片段能够基于确定经由客户端设备的一个或多个麦克风检测的先前人类话语包括文本片段、并且确定使用设备上语音识别模型执行的先前人类话语的先前语音识别无法正确识别文本片段而被识别。确定先前语音识别无法正确识别文本片段能够基于接收的用户输入,该接收的用户输入删除基于先前语音识别的不正确的预测。此外,能够基于接收的用户输入和/或基于在该用户输入之后接收的另外的接收到的用户输入来确定先前人类话语包括该文本片段,另外的接收的用户输入删除基于先前语音识别的不正确的预测。例如,不正确的预测能够是口头话语的渲染的转录,并且删除不正确的预测的该接收的用户输入能够是渲染的转录的全部或部分的修改。例如,的不正确的转录能够被渲染,删除不正确预测的接收的用户输入能够是在名称末尾添加“e”的用户接口输入(将其更正为),并且确定口头话语包括能够基于在名称末尾添加“e”的用户接口输入。另外,例如,“Francis”的不正确的转录能够被渲染,删除不正确的预测的该接收的用户输入能够是删除不正确的转录的用户接口输入,并且确定口头话语包括能够基于代替删除的“Francis”转录的另外的键入的用户接口输入作为另一示例,能够生成和渲染多个候选转录,并提示用户选择正确的转录(例如,“你的意思是(1)(2)还是(3)Francis”),并且选择正确的候选转录(例如,点击“(3)Francis”或者说出“3”)能够删除不正确的转录(例如,和“Francis”)并指示正确的转录(例如,)。作为另一示例,不正确的预测能够是要被执行的动作,删除不正确的预测的该接收的用户输入能够是在执行之前或期间删除动作,并且另外的接收的用户输入能够包括文本片段的输入。
为了节省客户端设备的有限电池、处理器、存储器和/或其他资源,在各种实施方式中,客户端设备仅响应于确定客户端设备的当前状态满足一个或多个条件来执行本文中所公开的一个或多个步骤。例如,能够响应于确定客户端设备的当前状态满足一个或多个条件来执行生成合成的语音音频数据、和/或处理合成的语音音频数据以生成预测的文本片段、和/或生成梯度、和/或更新一个或多个权重。能够基于来自客户端设备的一个或多个传感器的传感器数据来确定一个或多个条件是否被满足。一个或多个条件能够包括,例如:客户端设备正在充电、客户端设备至少具有阈值充电状态、客户端设备的温度(基于一个或多个设备上温度传感器)小于阈值、和/或客户端设备没有正在被用户持有。
在一些实施方式中,能够生成合成的语音音频数据,该合成的语音音频数据包括识别的文本片段以及另外的文本片段的合成的语音。例如,能够在文本片段之前和/或之后附加(多个)另外的的文本片段,并且使用语音合成模型处理具有(多个)附加的另外的文本片段的文本片段以生成合成的语音。在这些实施方式中的一些中,确定文本片段的另外的文本片段基于另外的文本片段与从其识别文本片段的特定语料库的定义的关系。例如,“呼叫”、“消息”和“联系人”的另外的文本片段能够具有与联系人列表语料库的定义的关系。作为另一示例,“打开…”、“…的状态是什么”和“调整”的另外的文本片段能够与一般的智能设备语料库或具体智能设备的语料库具有定义的关系。包括另外的文本片段能够导致训练实例的多样性,这能够提高语音识别模型的性能。此外,在基于与文本片段的定义的关系和/或其他语境相关性而确定另外的文本片段中,当文本片段被包括在具有另外的文本片段或相似的另外的文本片段的话语中时,基于这种另外的文本片段的训练实例能够提高语音识别性能。
在一些实施方式中,以适应客户端设备的用户的语音特性的方式生成合成的语音音频数据。这能够导致提高的设备上语音识别性能,该性能为在客户端设备处处理的口头话语中更有可能遇到的那些语音特性而被定制。在这些实施方式中的一些中,合成的语音音频数据基于使用特定的本地存储的语音合成模型而被生成适应用户的语音特性。特定本地存储的语音合成模型能够是给定语言的多个候选语音合成模型中的一个,并且能够至少部分地基于客户端设备的地理区域而被本地存储在客户端设备处。
在一些另外的或替代的实施方式中,语音合成模型实际上基于客户端设备的用户的先前话语而被训练,从而使合成的语音更准确地反映用户的语音特性(例如,用户的口音)。例如,在生成合成的语音音频数据之前,能够识别经由客户端设备的一个或多个麦克风检测的并且捕获先前人类话语的音频数据。此外,能够识别先前人类话语的基本事实转录。此外,能够使用语音合成模型处理基本事实转录以生成先前合成的语音音频数据、基于将先前合成的语音音频数据与先前音频数据进行比较而生成的梯度、以及语音合成模型的基于梯度的一个或多个权重。识别先前人类话语的基本事实转录能够包括使用语音识别模型生成转录,以及基于生成转录的置信度度量和/或基于响应于转录而执行的用户动作来将转录识别为基本事实转录。用户动作能够包括,例如,确认转录的用户接口输入。例如,转录能够被并入要被发送的电子消息中,并且用户动作能够包括发送消息的用户输入(不修改生成的转录)。
在一些另外的或替代的实施方式中,能够使用语音合成模型(或多个语音合成模型)对于给定的文本片段生成合成的语音的多个不同实例。例如,对于作为德语名称的文本片段,能够利用语音合成模型来生成作为德语名称的英语发音(即,不会讲德语的母语为英语者会利用的发音)的合成的语音的第一实例,并且生成作为德语名称的德语发音(即,母语为德语者会使用的发音)的合成的语音的第二实例。能够利用合成的语音的第一实例和基本事实口头话语来更新设备上语音识别模型。还能够利用合成的语音的第二实例和基本事实口头话语来更新设备上语音识别模型。基于合成的语音的两个实例来更新设备上语音识别模型能够实现对发音的任一种的有效语音识别。这例如在用户的(多个)声音特性未知的情况下能够是有益的,从而当利用多种不同发音中的任何一种说话时,能够适应设备上的语音识别模型以识别德语名称。
如本文中所述,在根据本文中所公开的实施方式更新设备上语音识别模型之后,能够利用设备上语音识别模型处理对应于来自对应设备的(多个)用户的口头话语的音频数据,以生成对应的预测的文本片段。在这些实施方式中的一些版本中,能够基于将预测的文本片段的实例与基本事实文本片段的实例进行比较来生成设备上梯度。能够基于用户的响应于在设备处渲染的基于预测的文本片段的实例的内容的一个或多个动作和/或不作为、和/或基于在设备处采取的基于预测的文本片段的实例的动作来确定设备上基本事实文本片段的实例。例如,如果用户确认了预测的文本片段,则能够将预测的文本片段视为基本事实文本片段。例如,如果口头话语是“呼叫Francis”,并且预测的文本片段是“呼叫Francis”,则用户能够通过不删除产生的对名为“Francis”的联系人的电话号码的拨号来确认预测的文本片段。另外,例如,如果口头话语为“呼叫Francis”,预测的文本片段为“呼叫Francis”,则能够为“是否要呼叫Francis”的提示提供可选择的“是”选项,并且用户能够通过选择“是”选项来确认识别的文本。作为另一示例,如果用户修改了预测的文本片段(例如,通过添加和/或删除(多个)字符;和/或通过将其删除并将其替换为替代文本),能够将修改的文本视为基本事实文本片段。例如,如果提供了要包括在文本消息中的口头话语“你好请尽快给我打电话”,并且将不正确地识别的文本“你好Francis,请尽快给我打电话”并入文本消息中,则用户可以选择“Francis”并用替换。响应于用户选择“Francis”并用替换,能够利用修改的文本“你好请尽快给我打电话”作为基本事实文本片段。由客户端设备并且通过网络向远程系统发送基于这些技术而生成的梯度。在这些实施方式中,远程系统以相似的方式(例如,在本地更新设备上语音识别模型之后并基于将预测的文本片段与确定的基本事实文本片段进行比较)利用生成的梯度以及从另外的客户端设备生成的另外的梯度,以更新全局语音识别模型的全局权重。注意,基于这种梯度来更新全局权重能够与基于以下梯度来更新全局权重一起发生或分开发生,该梯度基于本地存储的文本片段以及其本地生成的合成的语音(如前所述)。还注意,发送这种梯度能够发生而不发送以下中的任何一个:对应于口头片段或基本事实文本片段的音频数据。远程系统能够利用生成的梯度来更新全局模型,而不参考或使用对应于口头片段或基本事实文本片段的音频数据。仅发送梯度利用了较少的网络资源,并且保护了设备上文本片段的隐私和安全性。在一些实施方式中,能够利用一种或多种差分隐私技术来进一步确保隐私和安全性的保护。
在一些实施方式中,在根据本文中所公开的实施方式更新设备上语音识别模型之后,当设备上语音识别模型正在处理对应于口头话语的音频数据以生成对应的预测的文本片段时,还能够利用基于文本片段的设备上语音识别的偏置。例如,能够将设备上语音识别向存储在设备上的一个或多个文本片段偏置,诸如(多个)联系人别名、(多个)道路名称、(多个)媒体名称和/或(多个)其他文本片段。设备上语音识别偏置于的文本片段能够在语音识别的多次迭代中相同和/或能够在迭代之间变化。例如,向第一文本片段偏置能够在(多个)第一设备语境(例如,基于哪些应用正在执行或在前台、基于一天中的时间、基于星期几等的语境)中发生,并且向不同的第二文本片段偏置能够在(多个)第二设备语境中发生。使设备上语音识别向(多个)文本片段偏置能够包括,例如,通过在解码期间提升文本片段的概率将(多个)文本片段注入语音识别。在更新根据本文中公开的实施方式的设备上语音识别模型之后基于文本片段而将设备上语音识别偏置能够比没有这种更新的偏置更有效。这能够由于,例如,因为已经基于合成的语音而被更新,已经在来自文本片段的声音序列上训练了设备上语音识别模型,该合成的语音基于文本片段。
本文中所公开的客户端设备的一些实施方式包括生成设备上语音识别和/或利用生成的设备上语音识别的自动化助理应用。自动化助理应用能够被安装在客户端设备的操作系统“顶上”和/或自身能够形成客户端设备的操作系统的一部分(或全部)。自动化助理应用包括和/或访问设备上语音识别以及可选的设备上自然语言理解和/或设备上履行。设备上自然语言理解(NLU)能够使用设备上NLU模块而被执行,该模块处理使用设备上语音识别生成的识别的文本和可选的语境数据,以生成NLU数据。NLU数据能够包括对应于口头话语的(多个)意图和可选的(多个)意图参数(例如,插槽值)。能够使用设备上履行模块执行设备上履行,该设备上履行模块利用NLU数据(来自设备上NLU)和可选的其他本地数据,以确定要采取的(多个)动作来解析口头话语的(多个)意图(和可选的意图的(多个)参数)。这能够包括确定对口头话语的本地和/或远程响应(例如,回答),基于口头话语执行的与本地安装的应用的(多个)交互、基于口头话语的向(多个)物联网(IoT)设备发送(直接或经由对应的远程系统)的(多个)命令,和/或基于口头话语执行的(多个)其他解析动作。然后,设备上履行能够发起解析口头话语的确定的动作的本地和/或远程实现/执行。
在各种实施方式中,能够至少选择性地利用远程语音处理、远程NLU和/或远程履行。例如,能够至少选择性地将识别的文本发送到远程自动化助理部件以用于远程NLU和/或远程履行。例如,为了实现与设备上执行并行的远程执行,或者响应设备上NLU和/或设备上执行的故障,能够可选地发送识别的文本。然而,由于它们在解析口头话语时提供的延迟减少(由于不需要客户端-服务器往返来解析口头话语),设备上语音处理、设备上NLU、设备上履行和/或设备上执行能够至少被优先。此外,在没有网络连接或限制的网络连接的情况下,设备上功能能够是唯一可用的功能。
提供以上描述作为本公开的一些实施方式的综述。下面更详细地描述这些实施方式和其他实施方式的进一步描述。
本文中所公开的一些实施方式包括一个或多个计算设备,该一个或多个计算设备包括一个或多个处理器,诸如(多个)中央处理单元(CPU)、(多个)图形处理单元(GPU)、(多个)数字信号处理器(DSP)和/或(多个)张量处理单元(TPU)。处理器中的一个或多个可操作为执行存储在相关联的存储器中的指令,并且指令被配置为使本文中所描述的方法中的任何一个的实现。计算设备能够包括例如具有(多个)麦克风、至少一个显示器和/或其他传感器组件的客户端助理设备。一些实施方式还包括存储计算机指令的一个或多个非暂时性计算机可读存储介质,该计算机指令可由一个或多个处理器执行以实现本文中所描述的方法中的任何一个。
附图说明
图1A描绘了根据各个实施方式的演示本公开的各种方面的示例过程流。
图1B是包括来自图1的各个组件的示例环境的框图,并且其中实现本文中公开的实施方式可以被实现。
图2描绘了图示在客户端设备处本地生成梯度并且发送梯度和/或利用生成的梯度来更新设备上语音识别模型的权重的示例方法的流程图。
图3描绘了图示基于从远程客户端设备接收的梯度来更新全局语音识别模型的权重并且向远程客户端设备发送更新的权重或更新的全局语音识别模型的示例方法的流程图。
图4描绘了图示在客户端设备处本地生成梯度并且使用生成的梯度来更新设备上语音合成模型的权重的示例方法的流程图。
图5图示了计算设备的示例架构。
具体实施方式
图1A图示了演示本公开的各种方面的示例过程流。图1A中图示了客户端设备110,并且包括图1A中表示客户端设备110的框内涵盖的组件。客户端设备110的片段标识符120访问设备上存储装置111以识别文本片段101。设备上存储装置110能够包括,例如,只读存储器(ROM)和/或随机存取存储器(RAM)。由片段标识符120识别的文本片段101是瞬时地或非瞬时地存储在设备上存储装置111中的文本片段。例如,文本片段101能够是:存储在联系人列表中的联系人的别名;被存储为在联系人列表中的地址的道路名称;被包括在媒体应用的播放列表中的歌曲或其他媒体项的名称;智能设备的别名,其中该别名被存储在客户端设备处,并且智能设备与用户的账户相关联;经由客户端设备处的虚拟键盘键入的文本片段;复制到客户端设备处的粘贴板上的文本片段;通过计算设备的应用渲染的文本片段(并且可选地使用屏幕截图和图像识别来识别);或其他文本片段。
在一些实施方式中,片段标识符120基于文本片段101在客户端设备110处新遇到的或新存储而识别所述文本片段。例如,片段标识符120能够基于文本片段101被包括在新添加的联系人中、是新添加的智能设备的别名或者是播放列表中新添加的歌曲的别名来识别所述文本片段。在一些实施方式中,片段标识符120基于确定文本片段101不在词汇表中来识别文本片段101,这能够基于确定文本片段101不被包括在本地存储的词典中。
在一些实施方式中,片段标识符120能够基于确定经由客户端设备110的一个或多个麦克风检测的先前人类话语包括文本片段101并且确定先前人类话语的先前语音识别无法正确地识别文本片段来标识文本片段101。在这些实施方式中,片段标识符120能够基于删除基于先前语音识别的不正确预测的在客户端设备110处接收的用户输入来确定先前语音识别无法正确地识别文本片段。此外,片段标识符120能够基于另外接收的用户输入来确定先前人类话语包括文本片段101,另外接收的用户输入是在删除基于先前语音识别的不正确预测的用户输入之后被接收的。
片段标识符120向设备上语音合成器122至少提供文本片段101。在一些实施方式中,片段标识符120向设备上语音合成器122提供识别的文本片段以及另外的文本片段。例如,片段标识符120能够在文本片段之前和/或之后附加另外的文本片段,并且向设备上语音合成器122提供具有附加的另外的文本片段的文本片段101。在这些实施方式中的一些中,片段标识符120基于另外的文本片段与从其识别文本片段101的特定语料库的定义的关系来确定文本片段101的另外的文本片段。例如,如果从媒体语料库识别文本片段101,则“播放”和“给我看”的另外的文本片段能够具有与媒体语料库定义的关系,并且这些另外的文本片段中的一个能够被附加在文本片段之前。
设备上语音合成器122使用设备上语音合成模型152处理文本片段101(和任何附加的另外的文本片段),以生成合成的语音音频数据102,该合成的语音音频数据包括识别的文本片段101的合成的语音。例如,设备上语音合成器122能够确定被确定为对应于文本片段101(和任何附加的另外的文本片段)的音素序列,并且使用设备上语音合成模型152处理音素序列,以生成合成的语音音频数据102。合成的语音音频数据102能够,例如,是音频波形的形式。在确定对应于文本片段101的音素序列时,设备上语音合成器122能够访问在客户端设备110处本地存储的诸如可选的令牌到音素映射157的令牌到音素映射。
在一些实施方式中,基于客户端设备100的地理区域和/或其他属性和/或客户端设备110的用户,设备上语音合成模型152(例如,通过远程系统160或其他组件)被发送以用于在客户端设备110处的存储和使用。例如,设备上语音合成模型152能够是给定语言的N个可用语音合成模型中的一个,但能够基于口头话语而而被训练,该口头话语针对特定地理区域并且基于客户端设备主要位于该特定地理区域中而被提供给客户端设备110。
在一些另外的或替代的实施方式中,通过可选的设备上语音合成器训练引擎130训练设备上语音合成模型152,以使设备上语音合成模型152适应客户端设备110的(多个)用户的(多个)声音特性。例如,在生成合成的语音音频数据102之前,设备上语音合成器训练引擎130能够识别经由客户端设备110的一个或多个麦克风被检测并且捕获了先前人类话语的音频数据。此外,设备上语音合成器训练引擎130能够识别先前人类话语的基本事实转录。此外,设备上语音合成器训练引擎130能够使用设备上语音合成模型152处理基本事实转录以生成先前合成的语音音频数据,并且能够基于将先前合成的语音音频数据与先前音频数据进行比较来生成梯度。设备上语音合成器训练引擎130然后可以基于梯度(例如,使用反向传播和/或其他训练技术)来更新设备上语音合成模型152的权重。
在一些实施方式中,设备上语音合成器训练引擎130通过生成转录(例如,通过使用设备上语音识别模型154处理对应的音频数据)来识别先前人类话语的基本事实转录,并且将转录识别为基本事实转录。将转录识别为“基本事实”能够可选地取决于满足阈值的转录的置信度度量和/或基于响应于转录的指示转录是正确的(多个)用户动作(或不作为)。在一些实施方式中,先前人类话语能够是由用户说出的用于与文本无关或与文本有关的识别的注册短语,并且能够向用户渲染登记短语以通知用户在注册期间要说什么。在这些实施方式中,能够利用向用户渲染的注册短语作为基本事实转录。
设备上语音合成器122向设备上语音识别器124提供合成的语音音频数据102。设备上语音识别器124使用设备上语音识别模型154处理合成的语音音频数据102,以生成预测的文本片段103A或预测的音素序列103B。
例如,当设备上语音识别模型154是端到端语音识别模型时,设备上语音识别器124能够直接使用该模型生成预测的文本片段103A。例如,设备上语音识别模型154能够是用于在逐个字符的基础上(或在其他逐个令牌的基础上)生成预测的文本的端到端模型。用于在逐个字符的基础上生成预测的文本的这种端到端模型的一个非限制性示例是递归神经网络换能器(RNN-T)模型。RNN-T模型是一种不采用注意力机制的序列到序列模型的形式。与通常需要处理整个输入序列(例如,音频数据波形或梅尔频率倒谱系数(MFCC)或其他表现形式)以产生输出(例如,预测的文本片段)的大多数序列到序列模型不同,RNN-T模型能够被用于连续处理输入样本和流输出符号(例如,字母表中的字符)。
另外,例如,当设备上语音识别模型154不是端到端语音识别模型时,设备上语音识别器124能够代替地生成预测的音素103B(和/或其他表现形式)。例如,在这种模型的情况下,设备上语音识别器124然后利用预测的音素103B(和/或其他表现形式)来确定符合音素的序列的预测的文本片段。这样做时,设备上语音识别器124能够可选地采用解码图、词典和/或其他资源。
当设备上语音识别器124生成预测的文本片段103A时,其被提供给梯度引擎126。梯度引擎126将预测的文本片段103A与文本片段101进行比较以生成梯度105。梯度可以从用于训练模型的损失函数导出,使得梯度表示该损失函数(或其导数)的从基本事实输出与预测的输出的比较而获得的值。例如,当预测的文本片段103A与文本片段101相匹配时,梯度引擎126能够生成零梯度。另外,例如,当预测的文本片段103A与文本片段101不匹配时,梯度引擎126能够生成非零梯度,该非零梯度可选地取决于不匹配的程度。不匹配的程度能够基于文本片段的字符之间的不匹配程度、文本片段之间的音素不匹配的程度和/或基于其他确定性比较。作为一个非限制性特定示例,在生成预测的文本片段103A的每次迭代中,设备上语音识别器124能够生成多个字符中的每一个的对应的概率,并且选择概率最高的字符作为“下一个”字符。在这种示例中,梯度引擎126能够基于将每次迭代的预测的概率与每次迭代的基本事实概率进行比较来确定梯度(即,其中每次迭代的基本事实字符是文本片段101中的“下一个”字符并且被分配了概率“1”,并且所有其他字符被分配了概率“0”)。
当设备上语音识别器124生成预测的音素103B时,它们被提供给梯度引擎126。梯度引擎126将预测的音素103B与被确定为对应于文本片段101的音素104的基本事实序列进行比较。在一些实施方式中,音素引擎127能够访问令牌到音素映射157以确定对应于文本片段101的音素104的基本事实序列。作为示例,当预测的音素103B与音素104相匹配时,梯度引擎126能够生成零梯度。作为另一示例,当预测的音素103B与音素104不匹配时,梯度引擎126能够生成非零梯度,该非零梯度可选地取决于不匹配的程度。不匹配的程度能够基于不匹配的音素的数量、正确地排序的音素的数量和/或不匹配的音素之间的距离(在音素空间中),和/或基于其他确定性比较。
应当注意,在如本文中所描述的将另外的文本片段附加到文本片段的实施方式中,预测的文本片段103A还将包括对附加的另外的文本片段的预测。附加的另外的片段的预测在生成梯度时能够被忽略(例如,丢弃对应于附加的另外的片段的(多个)项),或者可替代地,能够在生成梯度时考虑附加的另外的片段(例如,能够将预测与具有附加的另外的文本片段的文本片段进行比较)。
梯度引擎126向设备上训练引擎128提供梯度105和/或向远程系统105发送梯度105。设备上训练引擎128在其接收到梯度105时使用梯度105来更新设备上语音识别模型154。例如,设备上训练引擎128能够利用反向传播和/或其他技术以更新设备上语音识别模型154。注意,在一些实施方式中,设备上训练引擎128能够利用批处理技术以基于梯度105和以另外的文本片段为基础的在客户端设备110处本地确定的另外的梯度以更新设备上语音识别模型154。
当远程系统160接收梯度105时,远程系统的远程训练引擎162使用梯度105和来自另外的客户端设备170的另外的梯度106来更新全局语音识别模型154A的全局权重。能够分别基于与上文相对于梯度105描述的相同或相似的技术来生成来自另外的客户端设备170的另外的梯度106(但是以特定于这些客户端设备的本地识别的文本片段101为基础)。
更新分配引擎164能够响应于一个或多个条件被满足而向客户端设备110和/或(多个)其他客户端设备提供更新的全局权重和/或更新的全局语音识别模型本身,如107所指示的。一个或多个条件能够包括,例如,自上次提供更新的权重和/或更新的语音识别模型以来的阈值持续时间和/或训练量。一个或多个条件能够另外或可替代地包括,例如,对更新的语音识别模型的测量的提高和/或自上次提供更新的权重和/或经更新的语音识别模型以来经过的阈值持续时间。当更新的权重被提供给客户端设备110时,客户端设备110能够利用更新的权重替换设备上语音识别模型154的权重。当更新的全局语音识别模型被提供给客户端设备110时,客户端设备110能够利用更新的全局语音识别模型替换设备上语音识别模型154。
现在转向图1B,客户端设备110在图1A的设备上语音识别器124被包括作为自动化助理客户端140的一部分(或与之通信)的实施方式中被图示。设备上语音识别模型154被图示为与设备上语音识别器124借口。为简单起见,图1B中未图示来自图1A的其他组件。图1B图示了设备上语音识别器124和设备上语音识别模型154如何被利用在生成由自动化助理客户端140在执行各种动作时使用的识别的文本的一个示例。
图1B中的客户端设备110被图示具有一个或多个麦克风111、一个或多个扬声器112、一个或多个相机和/或其他视觉部件113以及显示器114(例如,触敏显示器)。客户端设备110至少选择性地执行自动化助理客户端140。在图1B的示例中,自动化助理客户端140包括设备上语音识别器引擎124、设备上自然语言理解(NLU)引擎144以及设备上履行引擎145。自动化助理客户端140进一步包括语音捕获引擎141和视觉捕获引擎142。自动化助理客户端140能够包括另外的和/或替代的引擎,诸如声音活动检测器(VAD)、端点检测器、热字检测器和/或其他引擎。
一个或多个基于云的自动化助理部件180能够可选地在一个或多个计算系统(统称为“云”计算系统)上实现,一个或多个计算系统经由总体上以190指示的一个或多个本地和/或广域网
(例如,互联网)可通信地耦合至客户端设备110。基于云的自动化助理部件180能够,例如,经由高性能服务器的集群而被实现。
在各种实施方式中,自动化助理客户端140的实例,通过其与一个或多个基于云的自动化助理部件180的交互的方式,可以形成从用户的角度看来似乎是自动化助理195的逻辑实例,用户可以利用它进行人机交互(例如,口头交互、基于手势的交互和/或基于触摸的交互)。
客户端设备110能够是,例如:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立交互式扬声器、诸如智能电视的智能家电(或配备有具有自动化助理能力的网络软件保护器的标准电视),和/或用户的包括计算设备的可穿戴装置(例如,用户的具有计算设备的手表、用户的具有计算设备的眼镜、虚拟或增强现实计算设备)。可以提供另外的和/或替代的客户端设备。
视觉部件113能够采用各种形式,诸如单像相机、立体相机、LIDAR组件(或其他基于激光的部件)、雷达组件等。一个或多个视觉部件113可以,例如,通过视觉捕获引擎142被用于捕获其中部署了客户端设备110的环境的视觉帧(例如,图像帧、基于激光的视觉帧)。在一些实施方式中,这种视觉帧能够被用于确定用户是否存在于客户端设备110附近和/或用户(例如,用户的面部)相对于客户端设备的距离。例如,这种确定能够被用于确定是否激活设备上语音识别器124时。
语音捕获引擎141能够被配置为捕获用户的语音和/或经由(多个)麦克风111捕获的其他音频数据。如本文中所述,这种音频数据能够通过设备上语音识别器124被利用(可选地在预处理之后)。例如,设备上语音识别器124能够利用设备上语音识别模型154来处理捕获口头话语的音频数据,以生成对应于口头话语的经识别的文本。设备上NLU引擎140对识别的文本执行设备上自然语言理解以生成NLU数据。NLU引擎144能够可选地利用一个或多个设备上NLU模型(为了简单起见未在图1B中图示)来生成NLU数据。NLU数据能够包括,例如,对应于口头话语的意图和可选的有关意图的参数(例如,插槽值)。此外,设备上履行引擎145使用NLU数据生成履行数据。设备上履行引擎145能够可选地利用一个或多个设备上履行模型(为了简单起见未在图1B中图示)来生成履行数据。该履行数据能够定义对口头话语的本地和/或远程响应(例如,回答)、基于口头话语执行的与本地安装的(多个)应用的(多个)交互、基于口头话语的向(多个)物联网(IoT)设备发送(直接或经由对应的远程系统)的(多个)命令,和/或基于口头话语执行的其他(多个)解析动作。然后履行数据被提供用于解析口头话语的确定的(多个)动作的本地和/或远程实现/执行。执行能够包括,例如,渲染本地和/或远程响应(例如,在视觉和/或听觉上渲染(可选地利用本地文本到语音模块))、与本地安装的应用交互、向IoT设备发送(多个)命令和/或其他(多个)动作。
(多个)显示器114能够被用于渲染来自设备上语音识别器124的流文本转录。(多个)显示器114还能够是(多个)用户接口输出组件中的一个,通过该用户接口输出组件渲染来自自动化助理客户端140的响应的(多个)视觉部分。
在一些实施方式中,(多个)基于云的自动化助理组件180能够包括:进行语音识别的远程ASR引擎182;进行自然语言理解的远程NLU引擎183;和/或生成履行的远程履行引擎184。还能够可选地包括远程实行模块,该远程实行模块基于本地或远程确定的履行数据来进行远程执行。能够包括另外的和/或替代的远程引擎。如本文中所述,在各个实施方式中,优先考虑设备上语音处理、设备上NLU、设备上履行和/或设备上执行至少由于它们在解析口头话语时提供的延迟和/或网络使用减少(由于不需要客户端-服务器往返来解析口头话语),设备上语音处理、设备上NLU、设备上履行和/或设备上实行执行能够被优先。然而,能够至少选择性地利用一个或多个基于云的自动化助理部件180。例如,(多个)这种组件能够与(多个)设备上组件并行利用,并且当(多个)本地组件发生故障时利用来自(多个)这种组件的输出。例如,设备上履行引擎145在某些情形下能够发生故障(例如,由于客户端设备160的资源相对有限),并且远程履行引擎184能够利用云的更稳健的资源以在这种情况下生成履行数据。远程履行引擎184能够与设备上履行引擎145并行操作,并且当设备上履行发生故障时利用其结果,或者能够响应于确定设备上履行引擎145的故障而被调用。
在各种实施方式中,NLU引擎(设备上NLU引擎144和/或远程NLU引擎183)能够生成包括识别的文本的一个或多个注释和自然语言输入的术语中的一个或多个(例如,所有)的注释的输出。在一些实施方式中,NLU引擎被配置成识别并注释自然语言输入中的各种类型的语法信息。例如,NLU引擎可以包括词素模块,该词素模块可以将个别单词分成词素,和/或,例如,利用词素的类别来注释语素。NLU引擎还可以包括词性标注器的一部分,该词性标注器被配置为利用它们的语法作用来注释术语。另外,例如,在一些实施方式中,NLU引擎可以另外地和/或替代地包括依赖关系分析器,该依赖关系分析器被配置为确定自然语言输入中的术语之间的句法关系。
在一些实施方式中,NLU引擎可以另外地和/或替代地包括实体标注器,该实体标注器被配置为注释一个或多个片段中的实体引用,诸如对人的引用(包括,例如,文学角色、名人、公众人物等)、组织、地点(真实的和想象的)等等。在一些实施方式中,NLU引擎可以另外地和/或替代地包括共指解析器(未描绘),该共指解析器被配置成基于一个或多个语境线索对同一实体的引用进行分组或“聚类”。在一些实施方式中,NLU引擎的一个或多个组件可以依赖于来自NLU引擎的一个或多个其他组件的注释。
NLU引擎还可以包括意图匹配器,该意图匹配器被配置为确定进行与自动化助理195的交互的用户的意图。意图匹配器能够使用各种技术来确定用户的意图。在一些实施方式中,意图匹配器可以访问一个或多个本地和/或远程数据结构,该数据结构,例如,包括语法与响应性意图之间的多个映射。例如,能够随着时间的推移选择和/或学习该映射中包括的语法,并且可以表示用户的共同意图。例如,一种语法“播放<艺术家>”可以被映射到调用响应性动作的意图,该响应性动作使在客户端设备110上播放该<艺术家>的音乐。另一种语法“[天气|预报]今天,”可能与诸如“今天的天气如何”和“今天的预报是什么?”的用户查询相匹配。除了语法之外或代替语法,在一些实施方式中,意图匹配器能够单独或与一种或多种语法结合采用一种或多种训练的机器学习模型。这些训练的机器学习模型能够被训练以识别意图,例如,通过将来自口头话语的识别的文本嵌入到降维空间中,并且然后确定哪些其他嵌入(并且因此,意图)是最接近的,例如,使用诸如欧几里得距离、余弦相似度等技术。如上面的“播放<艺术家>”示例语法中看出,一些语法具有能够被填充插槽值(或“参数”的插槽(例如,<艺术家>)。可以以各种方式确定插槽值。通常用户将主动提供插槽值。例如,对于语法“帮我点一个<配料的>的披萨”,用户可能会说出短语“给我点一个香肠披萨”,在这种情况下,会自动填充插槽<配料的>。能够基于例如用户位置、当前渲染的内容、用户偏好和/或(多个)其他线索来推断(多个)其他插槽值。
履行引擎(本地引擎145和/或远程引擎184)可以被配置为接收由NLU引擎输出的预测的/估计的意图以及任何相关联的插槽值,并且履行(或“解析”)意图。在各种实施方式中,用户意图的履行(或“解析”)可以使例如通过履行引擎生成/获得各种履行信息(也称为履行数据)。这能够包括确定对口头话语的本地和/或远程响应(例如,回答)、基于口头话语进行的与本地安装的(多个)应用的(多个)交互,基于口头话语向(多个)物联网(IoT)设备(直接或经由对应的远程系统)发送的(多个)命令,和/或基于口头话语进行的(多个)其他解析动作。然后,设备上履行可以发起解析口头话语的确定的动作的(多个)本地和/或远程实现/执行。
图2描绘了图示在客户端设备处本地生成梯度并且发送梯度和/或利用生成的梯度来更新设备上语音识别模型的权重的示例方法200的流程图。为方便起见,参考执行操作的系统来描述方法200的操作。方法200的该系统包括客户端设备的一个或多个处理器和/或(多个)其他组件。此外,虽然以特定顺序示出了方法200的操作,但这并不意味着是限制性的。一个或多个操作可以被重新排序、省略或添加。
在框252处,系统确定一个或多个条件是否被满足。虽然被图示在框254之前,但是应当注意,框252也能够在框256、258、260和/或262中的每个之前被执行,和/或替代地仅在框256、258、260和/或262的子集之前被执行。在一些实施方式中,框252包括确定客户端设备的当前状态是否满足一个或多个条件。例如,系统能够基于来自客户端设备的传感器的传感器数据来确定客户端设备的当前状态,并且确定客户端设备的当前状态是否满足条件。条件能够包括,例如,客户端设备正在充电、客户端设备至少具有阈值充电状态、和/或客户端设备当前没有正在移动和/或在阈值时间量内没有移动(例如,基于来自(多个)加速度计、(多个)磁力计和/或(多个)其他传感器的传感器数据)。
在框254处,系统识别本地存储的文本片段。在框256处,系统使用设备上语音合成模型生成包括文本片段的合成的语音的合成的语音音频数据。例如,系统能够使用设备上语音合成模型处理文本片段的音素序列,以生成合成的语音音频数据。在一些实施方式中,系统基于文本片段以及附加在文本片段之前或之后的一个或多个另外的文本片段来生成合成的语音音频数据。
在框258处,系统通过使用设备上语音识别模型处理合成的语音音频数据来生成预测的输出。在一些实施方式中,设备上语音识别模型是端到端语音识别模型,并且系统生成作为预测的文本片段的预测的输出。在一些其他实施方式中,设备上语音识别模型不是端到端模型,并且系统生成预测的音素序列和/或另一预测的表示。
在框260处,系统基于将预测的输出与对应于文本片段的基本事实输出进行比较来生成梯度。例如,当系统生成作为预测的文本片段的预测的输出时,在生成梯度时能够将预测的文本片段与文本片段进行比较。另外,例如,当系统生成作为预测作为音素序列的预测的输出时,在生成梯度时,能够将预测的音素序列与对应于文本片段的音素序列进行比较。就用于训练语音识别模型的损失函数或该损失函数的导数而言,梯度可以表示预测的输出与基本事实输出之间的差异。即,在语音识别模型被训练以使给定的损失函数的幅值最小化中,可以通过较基本事实输出与就损失函数而言的预测的输出的比较来确定梯度。
在框262处,系统基于框260的梯度来更新设备上语音识别模型的权重,和/或向远程系统发送(例如,经由互联网或其他广域网)框260的梯度(而不发送文本片段、合成的语音音频数据和预测的文本片段中的任何一个)。当向远程系统发送梯度时,远程系统利用生成的梯度和来自额外客户端设备的另外的梯度来更新全局语音识别模型的全局权重。在框262之后,系统然后返回到框252。更新本地或全局语音识别模型的权重可以包括通过反向传播过程(例如,梯度下降反向传播)应用梯度以更新权重。
注意,在各个实施方式中,能够在给定的客户端设备上并行执行方法200的多个实例。还注意,在一些实施方式中,方法200能够至少响应于诸如客户端设备的初始配置和/或在客户端设备处导入联系人数据和/或其他数据的某些事件而被执行。例如,方法200能够在客户端设备的初始配置过程之后不久和/或期间以及在联系人列表、媒体播放列表、应用、智能设备别名和/或其他信息已经被导入到客户端设备之后执行。以这些方式和其他方式,设备上语音识别模型能够对于正在配置客户端设备的用户被快速地适应和个性化。
图3描绘了图示基于从远程客户端设备接收的梯度来更新全局语音识别模型的(多个)权重并且向远程客户端设备发送更新的权重或更新的全局语音识别模型的示例方法300的流程图。为方便起见,参考执行操作的系统来描述方法300的操作。该系统可以包括诸如一个或多个服务器设备的各种计算机系统的各种部件。此外,虽然以特定顺序示出了方法300的操作,但这并不意味着是限制性的。一个或多个操作可以被重新排序、省略或添加。
在框352处,系统从远程客户端设备接收梯度。例如,系统能够从正在执行图2的方法200的对应实例的多个客户端设备接收梯度。
在框354处,系统基于在框352处接收的梯度来更新全局语音识别模型的(多个)权重。框352和354的迭代能够在接收新的梯度和/或在接收到新的梯度之后进行排队时继续被执行。
在框356处,系统至少周期性地确定一个或多个条件是否被满足,诸如本文中所描述的条件中的一个或多个。通常,(多个)条件充当代理,该代理用于确定全局模型是否已经被更新到证明在发送模型的更新的权重和/或更新的模型本身时利用网络资源是合理的程度。换句话说,(多个)条件被用作用于确定模型的性能增益是否证明网络资源的使用是合理的代理。如果是,则系统前进到框358,并且向多个客户端设备发送当前更新的权重和/或当前更新的全局语音识别模型。响应于来自给定的客户端设备的请求,诸如在更新过程期间的请求和/或由于客户端设备空闲和/或正在充电而发送的请求,能够可选地向给定客户端设备发送更新的权重和/或全局语音识别模型。
图4描绘了图示在客户端设备处本地生成梯度并且使用生成的梯度来更新设备上语音合成模型的权重的示例方法400的流程图。为方便起见,参考执行操作的系统来描述方法400的操作。方法400的该系统包括客户端设备的一个或多个处理器和/或其他部件。此外,虽然以特定顺序示出了方法400的操作,但这并不意味着是限制性的。一个或多个操作可以被重新排序、省略或添加。
在框452处,系统识别捕获人类话语并且经由客户端设备的麦克风被检测到的先前音频数据。
在框454处,系统识别人类话语的基本事实转录。例如,系统能够使用设备上语音识别模型处理音频数据以生成转录,并且如果转录的置信度度量满足阈值和/或如果响应于转录的表示的(多个)用户动作(或不作为)指示转录是正确的,则该转录被识别为“基本事实”。在一些实施方式中,先前人类话语能够是由用户说出的用于与文本无关或与说话者无关的识别的注册短语,并且能够向用户渲染注册短语以通知用户要为注册短语说什么。在这些实施方式中,系统能够利用向用户渲染的注册短语作为基本事实转录。
在框456处,系统使用设备上语音合成模型处理基本事实转录以生成合成的语音音频数据。
在框458处,系统基于将合成的语音音频数据与先前音频数据进行比较来生成梯度。
在框460处,系统基于在框458处生成的梯度来更新设备上语音合成模型的权重。注意,能够在给定的客户端设备上执行方法200(图2)的一次或多次迭代之前在给定客户端设备处执行方法400的一次或多次迭代。通过方法400的执行,鉴于给定的客户端设备的用户的语音特性,设备上语音合成模型被定制。这能够导致使用设备上语音合成模型在方法200中生成的合成的语音更准确地反映用户的语音特性,这能够导致利用方法200提高设备上语音识别模型的训练。
图5是可以可选地被用于执行本文中所描述的技术的一个或多个方面的示例计算设备510的框图。在一些实施方式中,客户端设备、基于云的自动化助理部件和/或(多个)其他组件中的一个或多个可以包括示例计算设备510的一个或多个组件。
计算设备510通常包括至少一个处理器514,该至少一个处理器经由总线子系统512与若干外围设备通信。这些外围设备可以包括存储子系统524,存储子系统524包括,例如,存储器子系统525和文件存储子系统526、用户接口输出设备520、用户接口输入设备522和网络接口子系统516。输入和输出设备允许用户与计算设备510交互。网络接口子系统516提供对外部网络的接口,并且被耦合到其他计算设备中的对应接口设备。
用户接口输入设备522可以包括:键盘;诸如鼠标、轨迹球、触摸板或图形输入板等定点设备;扫描仪;并入显示器中的触摸屏;诸如声音识别系统、麦克风等声音输入设备;和/或其他类型的输入设备。一般而言,术语“输入设备”的使用意在包括所有可能类型的设备以及将信息输入到计算设备510或通信网络上的方式。
用户接口输出设备520可以包括显示子系统、打印机、传真机或诸如音频输出设备等非视觉显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备或用于创建视觉图像的某种其他机制。显示子系统还可以提供诸如经由音频输出设备的非视觉显示器,。一般地,术语“输出设备”的使用旨在包括所有可能类型的设备和将信息从计算设备510向用户或另一机器或计算设备输出的方式。
存储子系统524存储提供本文中所描述的模块中的一些或全部的功能的编程和数据构造。例如,存储子系统524可以包括执行本文中所公开的方法的选择的方面以及实现图1A和图1B中所描绘的各种组件的逻辑。
这些软件模块通常由处理器514单独或与其他处理器组合执行。存储子系统524中使用的存储器525能够包括多个存储器,多个存储器包括用于存储在程序实行期间的指令和数据的主随机存取存储器(RAM)530和其中固定指令被存储的只读存储器(ROM)532。文件存储子系统526能够为程序和数据文件提供持久的存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移除介质、CD-ROM驱动器、光学驱动器或可移除介质盒。实现某些实施方式的功能的模块可以由文件存储子系统526存储在存储子系统524中,或存储在通过(多个)处理器514可访问的其他机器中。
总线子系统512提供了一种用于让计算设备510的各个组件和子系统按预期彼此通信的机制。虽然总线子系统512被示意性地示出为单个总线,但是总线子系统的替代的实施方式可以使用多个总线。
计算设备510能够是各种类型,各种类型包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图5中描绘的计算设备510的描述仅旨在作为用于说明一些实施方式的目的的具体示例。计算设备510的许多其他配置可能具有比图5中描绘的计算设备更多或更少的组件。
在本文中所描述的系统收集或以其他方式监测关于用户的个人信息,或者可以利用个人和/或监测到的信息的情形下,用户可以被提供控制程序或特征是否收集用户信息(例如,关于用户社交网络、社交动作或活动、职业、用户偏好或用户当前地理位置的信息)的机会,或控制是否和/或如何从内容服务器接收可能与用户更相关的内容的机会。另外,某些数据可能在其被存储或使用之前以一种或多种方式被处理,使得个人可识别信息被移除。例如,用户的身份可以被处理,使得无法确定用户的个人可识别信息,或者用户的地理位置可以被概括为获得了地理位置信息(诸如城市、邮政编码或州级)的地方,使得无法确定用户的特定地理位置。因此,用户可以具有关于如何收集和/或使用关于用户的信息的控制权。
在一些实施方式中,提供了一种由客户端设备的一个或多个处理器执行的方法,并且包括识别客户端设备处本地存储在的文本片段。方法进一步包括生成合成的语音音频数据,该合成的语音音频数据包括识别的文本片段的合成的语音。生成合成的语音音频数据包括使用在客户端设备处本地存储的语音合成模型处理文本片段。方法进一步包括使用在客户端设备处本地存储的端到端语音识别模型来处理合成的音频数据,以生成预测的文本片段。方法进一步包括基于将预测的文本片段与文本片段进行比较来生成梯度,并且基于生成的梯度来更新端到端语音识别模型的一个或多个权重。
该技术的这些实施方式和其他实施方式能够包括以下特征中的一个或多个。
在一些实施方式中,方法进一步包括通过网络向远程系统发送生成的梯度,而不发送以下中的任何一个:文本片段、合成的语音音频数据和预测的文本片段。远程系统利用生成的梯度和来自另外的客户端设备的另外的梯度来更新全局端到端语音识别模型的全局权重。全局端到端语音识别模型的更新的全局权重能够被存储在远程系统的存储器中。在这些实施方式的一些版本中,方法进一步包括:在客户端设备处并且从远程系统接收全局端到端语音识别模型;以及响应于接收全局语音识别模型,将在客户端设备的本地存储装置中的端到端语音识别模型替换为全局语音识别模型。接收全局端到端语音识别模型在远程系统基于梯度和另外的梯度来更新全局端到端语音识别模型的全局权重之后。在这些实施方式的一些替代版本中,方法进一步包括:在客户端设备处并且从远程系统接收更新的全局权重;以及响应于接收更新的全局权重,将客户端设备的本地存储装置中的端到端语音识别模型的权重替换为更新的全局权重。接收更新的全局权重在远程系统基于梯度和另外的梯度来更新全局端到端语音识别模型的全局权重之后。
在一些实施方式中,从联系人列表、媒体播放列表、链接的智能设备的别名列表、从在所述客户端设备处接收的键入的输入和/或从对在所述客户端设备处捕获的屏幕截图执行的光学字符识别处理来识别文本片段。
在一些实施方式中,基于被新添加作为联系人的别名或链接的智能设备的别名的文本片段来识别文本片段。
在一些实施方式中,方法进一步包括基于来自客户端设备的一个或多个传感器的传感器数据来确定客户端设备的当前状态满足一个或多个条件。在这些实施方式中,响应于确定客户端设备的当前状态满足一个或多个条件来执行生成合成的语音音频数据、和/或处理合成的语音音频数据以生成预测的文本片段、和/或生成梯度、和/或更新一个或多个权重。在这些实施方式中的一些中,一个或多个条件包括:客户端设备正在充电、客户端设备至少具有阈值充电状态,和/或客户端设备没有正在被用户携带。
在一些实施方式中,识别文本片段基于:确定经由一个或多个麦克风检测的先前人类话语包括文本片段;以及确定使用端到端语音识别模型执行的先前人类话语的先前语音识别未能正确识别文本片段。在这些实施方式中的一些中,确定先前语音识别未能正确识别文本片段是基于接收的用户输入,该接收的用户输入删除基于先前语音识别而预测的动作。在这些实施方式的一些版本中,确定先前人类话语包括文本片段基于用户输入之后接收的另外的接收的用户输入,该用户输入删除基于先前语音识别而预测的动作。另外的接收的用户输入可以能够:文本片段的输入,或者从文本片段列表中选择文本片段。
在一些实施方式中,生成包括识别的文本片段的合成的语音的合成的语音音频数据包括:确定另外的文本片段。在这些实施方式中,生成合成的语音音频数据包括使用语音合成模型处理文本片段以及另外的文本片段。在这些实施方式中的一些中,确定另外的文本片段基于另外的文本片段与从其识别文本片段的特定语料库的定义的关系。
在一些实施方式中,使用语音合成模型处理文本片段包括处理被确定为对应于文本片段的音素序列。
在一些实施方式中,语音合成模型是给定的语言的多个候选语音合成模型中的一个,并且至少部分地基于客户端设备的地理区域而被本地存储在客户端设备处。
在一些实施方式中,方法进一步包括在生成合成的语音音频数据之前:识别经由客户端设备的一个或多个麦克风检测的并且捕获先前人类话语的先前音频数据;识别先前人类话语的基本事实转录;使用语音合成模型处理基本事实转录以生成先前合成的语音音频数据;基于将先前合成的语音音频数据与先前音频数据进行比较来生成梯度;以及基于梯度来更新语音合成模型的一个或多个权重。在这些实施方式中的一些中,识别基本事实转录包括使用语音识别模型生成转录,以及基于生成转录的置信度度量和/或基于响应于转录而执行的用户动作来将转录识别为基本事实转录。
在一些实施方式中,提供了一种由客户端设备的一个或多个处理器执行的方法,并且包括识别在客户端设备处本地存储的文本片段。方法进一步包括生成合成的语音音频数据,该合成的语音音频数据包括识别的文本片段的合成的语音。生成合成的语音音频数据包括使用在客户端设备处本地存储的语音合成模型处理文本片段。方法进一步包括使用在客户端设备处本地存储的端到端语音识别模型处理合成的音频数据,以生成预测的文本片段。方法进一步包括基于将预测的文本片段与文本片段进行比较来生成梯度。方法进一步包括通过网络向远程系统发送生成的梯度,而不发送以下中的任何一个:文本片段、合成的语音音频数据和预测的文本片段。远程系统利用生成的梯度和来自另外的客户端设备的另外的梯度来更新全局端到端语音识别模型的全局权重。
技术的这些实施方式和其他实施方式能够包括以下特征中的一个或多个。
在一些实施方式中,全局端到端语音识别模型的更新的全局权重被存储在远程系统的存储器中。
在一些实施方式中,方法进一步包括:在客户端设备处并且从远程系统接收全局端到端语音识别模型;响应于接收全局端到端语音识别模型,将客户端设备的本地存储装置中的语音识别模型替换为全局端到端语音识别模型。接收全局端到端语音识别模型在远程系统基于梯度和另外的梯度来更新全局端到端语音识别模型的全局权重之后。
在一些实施方式中,方法进一步包括:在客户端设备处并且从远程系统接收更新的全局权重;以及响应于接收更新的全局权重,将客户端设备的本地存储装置中的语音识别模型的权重替换为更新的全局权重。接收更新的全局权重在远程系统基于梯度和另外的梯度来更新全局端到端语音识别模型的全局权重之后。
在一些实施方式中,方法jyb1包括:基于来自客户端设备的一个或多个传感器的传感器数据来确定客户端设备的当前状态满足一个或多个条件。在这些实施方式的一些版本中,从远程系统接收更新的全局权重或从远程系统接收全局端到端语音识别模型响应于由客户端设备响应于确定客户端设备的当前状态满足一个或多个条件而发送请求。在这些实施方式的一些另外的或替代版本中,响应于确定客户端设备的当前状态满足一个或多个条件来执行生成合成的语音音频数据、和/或处理合成的语音音频数据以生成预测的文本片段、和/或生成梯度、和/或发送生成的梯度。
在一些实施方式中,生成包括识别的文本片段的合成的语音的合成的语音音频数据进一步包括确定另外的文本片段,以及通过使用语音合成模型处理文本片段以及另外的文本片段来生成合成的语音音频数据。
在一些实施方式中,语音合成模型是给定的语言的多个候选语音合成模型中的一个,并且至少部分地基于客户端设备的地理区域而被本地存储在客户端设备处。
在一些实施方式中,方法进一步包括在生成合成的语音音频数据之前:识别经由客户端设备的一个或多个麦克风检测的并且捕获先前人类话语的先前音频数据;识别先前人类话语的基本事实转录;使用语音合成模型处理基本事实转录以生成先前合成的语音音频数据;基于将先前合成的语音音频数据与先前音频数据进行比较来生成梯度;以及基于梯度来更新语音合成模型的一个或多个权重。
在一些实施方式中,提供了一种由客户端设备的一个或多个处理器执行的方法,并且包括识别在客户端设备处本地存储的文本片段。方法进一步包括生成合成的语音音频数据,该合成的语音音频数据包括识别的文本片段的合成的语音。生成合成的语音音频数据包括使用在客户端设备处本地存储的语音合成模型处理文本片段。方法进一步包括使用在客户端设备处本地存储的识别模型处理合成的语音音频数据,以生成预测的输出。方法进一步包括基于将预测的输出与对应于文本片段的基本事实输出进行比较来生成梯度。方法进一步包括基于生成的梯度来更新语音识别模型的一个或多个权重。
技术的这些实施方式和其他实施方式能够包括以下特征中的一个或多个。
在一些实施方式中,预测的输出包括预测的音素序列,并且基本事实输出包括对应于文本片段的基本事实音素序列。
在一些实施方式中,预测的输出包括预测的文本片段,并且基本事实输出包括文本片段。
Claims (32)
1.一种由客户端设备的一个或多个处理器执行的方法,所述方法包括:
识别在所述客户端设备处本地存储的文本片段;
生成合成的语音音频数据,所述合成的语音音频数据包括所识别的文本片段的合成的语音,其中,生成所述合成的语音音频数据包括使用在所述客户端设备处本地存储的语音合成模型来处理所述文本片段;
使用在所述客户端设备处本地存储的端到端语音识别模型来处理所述合成的音频数据,以生成预测的文本片段;
基于将所述预测的文本片段与所述文本片段进行比较来生成梯度;以及
基于所生成的梯度来更新所述端到端语音识别模型的一个或多个权重。
2.根据权利要求1所述的方法,进一步包括:
通过网络向远程系统发送所生成的梯度,而不发送以下中的任何一个:所述文本片段、所述合成的语音音频数据和所述预测的文本片段;
其中,所述远程系统利用所生成的梯度和来自另外的客户端设备的另外的梯度来更新全局端到端语音识别模型的全局权重。
3.根据权利要求2所述的方法,其中,所述全局端到端语音识别模型的所更新的全局权重被存储在所述远程系统的存储器中。
4.根据权利要求2或3所述的方法,进一步包括:
在所述客户端设备处并且从所述远程系统接收所述全局端到端语音识别模型,其中,接收所述全局端到端语音识别模型是在所述远程系统基于所述梯度和所述另外的梯度来更新所述全局端到端语音识别模型的所述全局权重之后;以及
响应于接收所述全局语音识别模型,在所述客户端设备的本地存储装置中用所述全局语音识别模型替换所述端到端语音识别模型。
5.根据权利要求2或3所述的方法,进一步包括:
在所述客户端设备处并且从所述远程系统接收所更新的全局权重,其中,接收所更新的全局权重是在所述远程系统基于所述梯度和所述另外的梯度来更新所述全局端到端语音识别模型的所述全局权重之后;以及
响应于接收所更新的全局权重,在所述客户端设备的本地存储装置中用所更新的全局权重替换所述端到端语音识别模型的权重。
6.根据任何前述权利要求所述的方法,其中,从联系人列表、媒体播放列表、链接的接智能设备的别名列表或从在所述客户端设备处接收的键入的输入识别所述文本片段。
7.根据任何前述权利要求所述的方法,其中,基于被新添加为联系人的别名或链接的智能设备的别名的所述文本片段来识别所述文本片段。
8.根据任何前述权利要求所述的方法,进一步包括:
基于来自所述客户端设备的一个或多个传感器的传感器数据来确定所述客户端设备的当前状态满足一个或多个条件;
其中,响应于确定所述客户端设备的所述当前状态满足所述一个或多个条件而执行生成所述合成的语音音频数据和/或处理所述合成的语音音频数据以生成所述预测的文本片段和/或生成所述梯度和/或更新所述一个或多个权重。
9.根据权利要求8所述的方法,其中,所述一个或多个条件包括以下中的至少一个:所述客户端设备正在充电、所述客户端设备至少具有阈值充电状态或所述客户端设备没有正在被用户携带。
10.根据权利要求9所述的方法,其中,所述一个或多个条件包括以下中的两个或更多个:所述客户端设备正在充电、所述客户端设备至少具有阈值充电状态或所述客户端设备没有正在被用户携带。
11.根据权利要求1所述的方法,其中,识别所述文本片段包括:
基于以下来识别所述文本片段:
确定经由一个或多个麦克风检测的先前人类话语包括所述文本片段;以及
确定使用所述端到端语音识别模型执行的所述先前人类话语的先前语音识别无法正确识别所述文本片段。
12.根据权利要求11所述的方法,其中,确定所述先前语音识别无法正确识别所述文本片段是基于接收的用户输入,所述接收的用户输入删除基于所述先前语音识别预测的动作,并且其中,确定所述先前人类话语包括所述文本片段是基于在删除基于所述先前语音识别预测的动作的所述用户输入之后接收的另外的接收的用户输入。
13.根据权利要求12所述的方法,其中,所述另外的接收的用户输入包括所述文本片段的输入。
14.根据任何前述权利要求所述的方法,其中,生成包括所识别的文本片段的合成的语音的所述合成的语音音频数据进一步包括:
确定另外的文本片段;以及
其中,生成所述合成的语音音频数据包括使用所述语音合成模型处理所述文本片段以及所述另外的文本片段。
15.根据权利要求14所述的方法,其中,确定所述另外的文本片段是基于所述另外的文本片段与从其识别所述文本片段的特定语料库的定义的关系。
16.根据任何前述权利要求所述的方法,其中,使用所述语音合成模型处理所述文本片段包括处理被确定为对应于所述文本片段的音素序列。
17.根据任何前述权利要求所述的方法,其中,所述语音合成模型是给定的语言的多个候选语音合成模型中的一个,并且至少部分地基于所述客户端设备的地理区域被本地存储在所述客户端设备处。
18.根据任何前述权利要求所述的方法,进一步包括在生成所述合成的语音音频数据之前:
识别经由所述客户端设备的一个或多个麦克风检测的并且捕获先前人类话语的先前音频数据;
识别所述先前人类话语的基本事实转录;
使用所述语音合成模型处理所述基本事实转录以生成先前合成的语音音频数据;
基于将所述先前合成的语音音频数据与所述先前音频数据进行比较来生成梯度;以及
基于所述梯度来更新所述语音合成模型的一个或多个权重。
19.根据权利要求18所述的方法,其中,识别所述基本事实转录包括:
使用所述语音识别模型生成转录;
基于生成所述转录的置信度度量和/或基于响应于所述转录而执行的用户动作来将所述转录识别为所述基本事实转录。
20.一种由客户端设备的一个或多个处理器执行的方法,所述方法包括:
识别在所述客户端设备处本地存储的文本片段;
生成合成的语音音频数据,所述合成的语音音频数据包括所识别的文本片段的合成的语音,其中,生成所述合成的语音音频数据包括使用在所述客户端设备处本地存储的语音合成模型来处理所述文本片段;
使用在所述客户端设备处本地存储的端到端语音识别模型处理所述合成的音频数据,以生成预测的文本片段;
基于将所述预测的文本片段与所述文本片段进行比较来生成梯度;以及
通过网络向远程系统发送所生成的梯度,而不发送以下中的任何一个:所述文本片段、所述合成的语音音频数据和所述预测的文本片段,
其中,所述远程系统利用所生成的梯度和来自另外的客户端设备的另外的梯度来更新全局端到端语音识别模型的全局权重。
21.根据权利要求20所述的方法,其中,所述全局端到端语音识别模型的所更新的全局权重被存储在所述远程系统的存储器中。
22.根据权利要求20或21所述的方法,还包括:
在所述客户端设备处并且从所述远程系统接收所述全局端到端语音识别模型,其中,接收所述全局端到端语音识别模型是在所述远程系统基于所述梯度和所述另外的梯度来更新所述全局端到端语音识别模型的所述全局权重之后;以及
响应于接收所述全局端到端语音识别模型,在所述客户端设备的本地存储装置中用所述全局端到端语音识别模型替换所述语音识别模型。
23.根据权利要求20或21所述的方法,还包括:
在所述客户端设备处并且从所述远程系统接收所更新的全局权重,其中,接收所更新的全局权重是在所述远程系统基于所述梯度和所述另外的梯度来更新所述全局端到端语音识别模型的所述全局权重之后;以及
响应于接收所更新的全局权重,在所述客户端设备的本地存储装置中用所更新的全局权重替换所述语音识别模型的权重。
24.根据权利要求20至23中的任一项所述的方法,进一步包括:
基于来自所述客户端设备的一个或多个传感器的传感器数据来确定所述客户端设备的当前状态满足一个或多个条件;
其中,响应于确定所述客户端设备的所述当前状态满足所述一个或多个条件来执行生成所述合成的语音音频数据和/或处理所述合成的语音音频数据以生成所述预测的文本片段和/或生成所述梯度和/或传输所生成的梯度。
25.根据权利要求20至24中的任一项所述的方法,其中,生成包括所识别的文本片段的合成的语音的所述合成的语音音频数据进一步包括:
确定另外的文本片段;以及
其中,生成所述合成的语音音频数据包括使用所述语音合成模型处理所述文本片段以及所述另外的文本片段。
26.根据权利要求20至25中的任一项所述的方法,其中,所述语音合成模型是给定的语言的多个候选语音合成模型中的一个,并且至少部分地基于所述客户端设备的地理区域被本地存储在所述客户端设备处。
27.根据权利要求20至26中的任一项所述的方法,进一步包括在生成所述合成的语音音频数据之前:
识别经由所述客户端设备的一个或多个麦克风检测的并且捕获先前人类话语的先前音频数据;
识别所述先前人类话语的基本事实转录;
使用所述语音合成模型处理所述基本事实转录以生成先前合成的语音音频数据;
基于将所述先前合成的语音音频数据与所述先前音频数据进行比较来生成梯度;以及
基于所述梯度来更新所述语音合成模型的一个或多个权重。
28.一种由客户端设备的一个或多个处理器执行的方法,所述方法包括:
识别在所述客户端设备处本地存储的文本片段;
生成合成的语音音频数据,所述合成的语音音频数据包括所识别的文本片段的合成的语音,其中,生成所述合成的语音音频数据包括使用在所述客户端设备处本地存储的语音合成模型来处理所述文本片段;
使用在所述客户端设备处本地存储的识别模型处理所述合成的语音音频数据,以生成预测的输出;
基于将所述预测的输出与对应于所述文本片段的基本事实输出进行比较来生成梯度;以及
基于所生成的梯度来更新所述语音识别模型的一个或多个权重。
29.根据权利要求28所述的方法,其中,所述预测的输出包括预测的音素序列,并且其中,所述基本事实输出包括对应于所述文本片段的基本事实音素序列。
30.根据权利要求29所述的方法,其中,所述预测的输出包括预测的文本片段,并且其中,所述基本事实输出包括所述文本片段。
31.一种客户端设备,包括:
至少一个麦克风;
至少一个显示器;
一个或多个处理器,所述一个或多个处理器执行本地存储的指令以使所述处理器执行根据权利要求1至29中的任一项所述的方法。
32.一种包括指令的计算机程序产品,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行根据权利要求1至29中的任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962872140P | 2019-07-09 | 2019-07-09 | |
US62/872,140 | 2019-07-09 | ||
PCT/US2019/054314 WO2021006920A1 (en) | 2019-07-09 | 2019-10-02 | On-device speech synthesis of textual segments for training of on-device speech recognition model |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113412514A true CN113412514A (zh) | 2021-09-17 |
Family
ID=68296774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980091350.4A Pending CN113412514A (zh) | 2019-07-09 | 2019-10-02 | 用于设备上语音识别模型的训练的文本片段的设备上语音合成 |
Country Status (6)
Country | Link |
---|---|
US (3) | US11127392B2 (zh) |
EP (1) | EP3791383B1 (zh) |
JP (1) | JP7104247B2 (zh) |
KR (1) | KR102413616B1 (zh) |
CN (1) | CN113412514A (zh) |
WO (1) | WO2021006920A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114898733A (zh) * | 2022-05-06 | 2022-08-12 | 深圳妙月科技有限公司 | Ai语音数据的分析处理方法及系统 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10605172B2 (en) | 2013-03-14 | 2020-03-31 | United Technologies Corporation | Low noise turbine for geared gas turbine engine |
CN113412514A (zh) | 2019-07-09 | 2021-09-17 | 谷歌有限责任公司 | 用于设备上语音识别模型的训练的文本片段的设备上语音合成 |
US11545133B2 (en) * | 2020-10-12 | 2023-01-03 | Google Llc | On-device personalization of speech synthesis for training of speech model(s) |
US11823697B2 (en) | 2021-08-20 | 2023-11-21 | Google Llc | Improving speech recognition with speech synthesis-based model adapation |
WO2023059959A1 (en) * | 2021-10-06 | 2023-04-13 | Google Llc | Fusion of acoustic and text representations in an automatic speech recognition system implemented as a rnn-t |
US20230177382A1 (en) * | 2021-12-02 | 2023-06-08 | Google Llc | Method(s) and system(s) for improved efficiency in federated learning of machine learning model(s) |
US20230317082A1 (en) * | 2022-03-31 | 2023-10-05 | Google Llc | Generating and/or utilizing unintentional memorization measure(s) for automatic speech recognition model(s) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11338489A (ja) * | 1998-05-25 | 1999-12-10 | Ricoh Co Ltd | 音声認識装置および音声認識方法および記録媒体 |
JP2005043461A (ja) * | 2003-07-23 | 2005-02-17 | Canon Inc | 音声認識方法及び音声認識装置 |
JP2005301097A (ja) * | 2004-04-15 | 2005-10-27 | Nippon Telegr & Teleph Corp <Ntt> | 音声認識方法およびこの方法を実施する装置 |
US20060136205A1 (en) * | 2004-12-21 | 2006-06-22 | Song Jianming J | Method of refining statistical pattern recognition models and statistical pattern recognizers |
JP2013218095A (ja) * | 2012-04-09 | 2013-10-24 | Clarion Co Ltd | 音声認識サーバ統合装置および音声認識サーバ統合方法 |
US20150161983A1 (en) * | 2013-12-06 | 2015-06-11 | Fathy Yassa | Method and apparatus for an exemplary automatic speech recognition system |
US20170069311A1 (en) * | 2015-09-09 | 2017-03-09 | GM Global Technology Operations LLC | Adapting a speech system to user pronunciation |
CN108133705A (zh) * | 2017-12-21 | 2018-06-08 | 儒安科技有限公司 | 基于对偶学习的语音识别与语音合成模型训练方法 |
CN109215637A (zh) * | 2017-06-30 | 2019-01-15 | 三星Sds株式会社 | 语音识别方法 |
JP2019101291A (ja) * | 2017-12-05 | 2019-06-24 | 株式会社日立製作所 | 成長型対話装置 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0389294A (ja) * | 1989-08-31 | 1991-04-15 | Fujitsu Ltd | 語学訓練装置 |
JP3457578B2 (ja) * | 1999-06-25 | 2003-10-20 | Necエレクトロニクス株式会社 | 音声合成を用いた音声認識装置および音声認識方法 |
US7668718B2 (en) * | 2001-07-17 | 2010-02-23 | Custom Speech Usa, Inc. | Synchronized pattern recognition source data processed by manual or automatic means for creation of shared speaker-dependent speech user profile |
US7013276B2 (en) * | 2001-10-05 | 2006-03-14 | Comverse, Inc. | Method of assessing degree of acoustic confusability, and system therefor |
US8818793B1 (en) * | 2002-12-24 | 2014-08-26 | At&T Intellectual Property Ii, L.P. | System and method of extracting clauses for spoken language understanding |
WO2005071663A2 (en) * | 2004-01-16 | 2005-08-04 | Scansoft, Inc. | Corpus-based speech synthesis based on segment recombination |
US20070055526A1 (en) * | 2005-08-25 | 2007-03-08 | International Business Machines Corporation | Method, apparatus and computer program product providing prosodic-categorical enhancement to phrase-spliced text-to-speech synthesis |
US7698140B2 (en) * | 2006-03-06 | 2010-04-13 | Foneweb, Inc. | Message transcription, voice query and query delivery system |
US7472061B1 (en) * | 2008-03-31 | 2008-12-30 | International Business Machines Corporation | Systems and methods for building a native language phoneme lexicon having native pronunciations of non-native words derived from non-native pronunciations |
US9236047B2 (en) * | 2010-05-21 | 2016-01-12 | Microsoft Technology Licensing, Llc | Voice stream augmented note taking |
US10672399B2 (en) * | 2011-06-03 | 2020-06-02 | Apple Inc. | Switching between text data and audio data based on a mapping |
US10453479B2 (en) * | 2011-09-23 | 2019-10-22 | Lessac Technologies, Inc. | Methods for aligning expressive speech utterances with text and systems therefor |
US9495966B2 (en) * | 2012-05-31 | 2016-11-15 | Elwha Llc | Speech recognition adaptation systems based on adaptation data |
WO2014144579A1 (en) * | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
US10885918B2 (en) * | 2013-09-19 | 2021-01-05 | Microsoft Technology Licensing, Llc | Speech recognition using phoneme matching |
US9613619B2 (en) * | 2013-10-30 | 2017-04-04 | Genesys Telecommunications Laboratories, Inc. | Predicting recognition quality of a phrase in automatic speech recognition systems |
US9508338B1 (en) * | 2013-11-15 | 2016-11-29 | Amazon Technologies, Inc. | Inserting breath sounds into text-to-speech output |
US10325590B2 (en) * | 2015-06-26 | 2019-06-18 | Intel Corporation | Language model modification for local speech recognition systems using remote sources |
US9792897B1 (en) * | 2016-04-13 | 2017-10-17 | Malaspina Labs (Barbados), Inc. | Phoneme-expert assisted speech recognition and re-synthesis |
US10909978B2 (en) * | 2017-06-28 | 2021-02-02 | Amazon Technologies, Inc. | Secure utterance storage |
CN108182936B (zh) | 2018-03-14 | 2019-05-03 | 百度在线网络技术(北京)有限公司 | 语音信号生成方法和装置 |
CN112997247A (zh) * | 2018-11-05 | 2021-06-18 | 株式会社赛斯特安国际 | 利用大数据的最佳语言模型生成方法及用于其的装置 |
US10388272B1 (en) * | 2018-12-04 | 2019-08-20 | Sorenson Ip Holdings, Llc | Training speech recognition systems using word sequences |
CN109887484B (zh) | 2019-02-22 | 2023-08-04 | 平安科技(深圳)有限公司 | 一种基于对偶学习的语音识别与语音合成方法及装置 |
CN113412514A (zh) | 2019-07-09 | 2021-09-17 | 谷歌有限责任公司 | 用于设备上语音识别模型的训练的文本片段的设备上语音合成 |
US10789956B1 (en) * | 2019-08-20 | 2020-09-29 | Capital One Services, Llc | Text-to-speech modeling |
-
2019
- 2019-10-02 CN CN201980091350.4A patent/CN113412514A/zh active Pending
- 2019-10-02 JP JP2021541637A patent/JP7104247B2/ja active Active
- 2019-10-02 KR KR1020217024199A patent/KR102413616B1/ko active IP Right Grant
- 2019-10-02 WO PCT/US2019/054314 patent/WO2021006920A1/en unknown
- 2019-10-02 US US16/959,546 patent/US11127392B2/en active Active
- 2019-10-02 EP EP19791047.4A patent/EP3791383B1/en active Active
-
2021
- 2021-09-20 US US17/479,285 patent/US11705106B2/en active Active
-
2023
- 2023-05-31 US US18/204,324 patent/US11978432B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11338489A (ja) * | 1998-05-25 | 1999-12-10 | Ricoh Co Ltd | 音声認識装置および音声認識方法および記録媒体 |
JP2005043461A (ja) * | 2003-07-23 | 2005-02-17 | Canon Inc | 音声認識方法及び音声認識装置 |
JP2005301097A (ja) * | 2004-04-15 | 2005-10-27 | Nippon Telegr & Teleph Corp <Ntt> | 音声認識方法およびこの方法を実施する装置 |
US20060136205A1 (en) * | 2004-12-21 | 2006-06-22 | Song Jianming J | Method of refining statistical pattern recognition models and statistical pattern recognizers |
JP2013218095A (ja) * | 2012-04-09 | 2013-10-24 | Clarion Co Ltd | 音声認識サーバ統合装置および音声認識サーバ統合方法 |
US20150161983A1 (en) * | 2013-12-06 | 2015-06-11 | Fathy Yassa | Method and apparatus for an exemplary automatic speech recognition system |
US20170069311A1 (en) * | 2015-09-09 | 2017-03-09 | GM Global Technology Operations LLC | Adapting a speech system to user pronunciation |
CN109215637A (zh) * | 2017-06-30 | 2019-01-15 | 三星Sds株式会社 | 语音识别方法 |
JP2019101291A (ja) * | 2017-12-05 | 2019-06-24 | 株式会社日立製作所 | 成長型対話装置 |
CN108133705A (zh) * | 2017-12-21 | 2018-06-08 | 儒安科技有限公司 | 基于对偶学习的语音识别与语音合成模型训练方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114898733A (zh) * | 2022-05-06 | 2022-08-12 | 深圳妙月科技有限公司 | Ai语音数据的分析处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US11705106B2 (en) | 2023-07-18 |
US11127392B2 (en) | 2021-09-21 |
KR102413616B1 (ko) | 2022-06-27 |
KR20210102456A (ko) | 2021-08-19 |
JP7104247B2 (ja) | 2022-07-20 |
US20230306955A1 (en) | 2023-09-28 |
US11978432B2 (en) | 2024-05-07 |
US20220005458A1 (en) | 2022-01-06 |
US20210104223A1 (en) | 2021-04-08 |
WO2021006920A1 (en) | 2021-01-14 |
EP3791383A1 (en) | 2021-03-17 |
JP2022531524A (ja) | 2022-07-07 |
EP3791383B1 (en) | 2021-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11817080B2 (en) | Using corrections, of predicted textual segments of spoken utterances, for training of on-device speech recognition model | |
US11978432B2 (en) | On-device speech synthesis of textual segments for training of on-device speech recognition model | |
US11797772B2 (en) | Word lattice augmentation for automatic speech recognition | |
US11545133B2 (en) | On-device personalization of speech synthesis for training of speech model(s) | |
EP3956884B1 (en) | Identification and utilization of misrecognitions in automatic speech recognition | |
KR20230005966A (ko) | 거의 일치하는 핫워드 또는 구문 검출 | |
CN115605951A (zh) | 多因素音频水印 | |
US20230419964A1 (en) | Resolving unique personal identifiers during corresponding conversations between a voice bot and a human | |
US20230352004A1 (en) | Mixed client-server federated learning of machine learning model(s) | |
US20240112673A1 (en) | Identifying and correcting automatic speech recognition (asr) misrecognitions in a decentralized manner | |
CN117121098A (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 |