CN116762126A - 用于自动语音识别的本地执行的设备仲裁 - Google Patents

用于自动语音识别的本地执行的设备仲裁 Download PDF

Info

Publication number
CN116762126A
CN116762126A CN202180088457.0A CN202180088457A CN116762126A CN 116762126 A CN116762126 A CN 116762126A CN 202180088457 A CN202180088457 A CN 202180088457A CN 116762126 A CN116762126 A CN 116762126A
Authority
CN
China
Prior art keywords
additional
client device
spoken utterance
text representation
audio data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180088457.0A
Other languages
English (en)
Inventor
马修·谢里菲
维克托·克尔布内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN116762126A publication Critical patent/CN116762126A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/32Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/69Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for evaluating synthetic or decoded voice signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

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)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Telephonic Communication Services (AREA)

Abstract

能够基于使用给定客户端设备生成的口头话语的候选文本表示和/或基于各自使用对应的附加客户端设备生成的口头话语的一个或多个附加候选文本表示来生成口头话语的文本表示。各种实施方式包括从具有给定客户端设备的环境中的一组附加客户端设备确定附加客户端设备。各种实施方式附加地或可替代地包括基于由给定客户端设备的麦克风捕获的音频数据和/或基于由附加客户端设备的麦克风捕获的附加音频数据来确定附加客户端设备是否将生成口头话语的附加候选文本表示。

Description

用于自动语音识别的本地执行的设备仲裁
背景技术
自动语音识别(ASR)技术将口头自然语言输入转换为文本。例如,能够将使用麦克风捕获的音频数据转换为文本。ASR系统能够包括用于生成候选识别集合的ASR模型。ASR系统能够从候选识别集合中选择生成的文本。
人类能够利用本文中称为“自动化助理”(也称为“数字智能体”、“聊天机器人”、“交互式个人助理”、“智能个人助理”、“助理应用”、“会话智能体”等)的交互式软件应用参与人机对话。例如,人类(当他们与自动化助理交互时可以被称为“用户”)能够使用口头自然语言输入(即,话语)向自动化助理提供命令和/或请求,所述口头自然语言输入在一些情况下能够被转换为文本(例如,使用ASR技术被转换为文本)然后被处理。
发明内容
本文描述的实施方式涉及基于在给定客户端设备处生成的口头话语的候选文本表示和/或基于口头话语的一个或多个附加候选文本表示来生成口头话语的文本表示。口头话语的附加候选文本表示中的每一个附加候选文本表示在一个或多个附加客户端设备中的对应一个附加客户端设备处本地生成,一个或多个附加客户端设备与给定客户端设备处于本地环境中并且利用一个或多个本地网络与给定客户端设备通信,一个或多个附加客户端设备与给定客户端设备处于同一房间中,一个或多个附加客户端设备位于给定客户端设备的定义范围内,一个或多个附加客户端设备对应于同一用户账户,一个或多个附加客户端设备以附加或替代的方式处于具有给定客户端设备的环境中和/或其组合。能够通过处理捕获口头话语并且在给定客户端设备处捕获的音频数据来生成口头话语的候选文本表示。使用在给定客户端设备处本地存储的自动语音识别(ASR)模型来生成候选文本表示。附加候选文本表示能够由附加客户端设备通过在附加客户端设备处并使用本地存储在附加客户端设备处的ASR模型处理音频数据来生成。在附加客户端设备处处理的音频数据能够是在给定客户端设备处捕获的音频数据(例如,它能够被从给定客户端设备发送到附加客户端设备),或者它能够是经由附加客户端设备的麦克风捕获的附加音频数据。
作为一个示例,能够在用户的移动电话处捕获捕获口头话语“set thethermostat to 70degrees(将恒温器设置为70度)”的音频数据,并且能够通过使用本地存储在用户的移动电话处的ASR模型处理音频数据来生成口头话语的候选文本表示。在一些实施方式中,捕获口头话语的音频数据还能够被发送到在具有移动电话的环境中的附加客户端设备,诸如膝上型计算机、自动化助理智能扬声器和/或自动化助理智能显示器。在那些实施方式中,附加客户端设备的每一个能够通过使用对应的本地存储的附加ASR模型处理音频数据来生成对应的附加候选文本表示。然后能够将附加候选文本表示发送到用户的移动电话,并且移动电话能够基于(在移动电话处生成的)候选文本表示和所接收的附加候选文本表示(各自在附加客户端设备中的对应一个处生成)来生成文本表示。例如,能够在移动电话处接收两个附加候选文本表示,每个候选文本表示由对应的附加客户端设备生成。
然后,移动电话能够基于两个附加候选文本表示和候选文本表示来确定最终文本表示。能够利用各种技术来确定最终文本表示。例如,候选文本表示能够以置信度度量(例如,用于每个单词或其他片段的对应度量)被生成,并且附加候选表示每一个能够以对应的置信度度量被接收,并且移动电话能够使用置信度度量来确定最终文本表示。例如,给定附加候选表示能够基于其具有最指示高置信度的置信度度量而被用作最终文本表示。作为另一示例,能够生成最终文本表示以包括在候选文本表示和附加候选文本表示中最常见的单词片段。例如,假设候选文本表示是“get the thermostat to 70degrees(将恒温器调到70度)”,第一附加候选文本表示是“set the thermostat to 7degrees(将恒温器设置为7度)”,而第二附加候选文本表示是“set the thermometer to 70degrees(将温度计设置为70度)”。在这种情况下,“set the thermostat to70degrees(将恒温器设置为70度)”能够被生成为最终文本表示,其中,选择出现两次的“set”,而不是出现一次的“get”,选择出现两次的“thermostat”,而不是出现一次的“thermometer”,并且选择出现两次的“70”,而不是出现一次的“7”。
前述示例描述了移动电话将本地捕获的音频数据发送到附加客户端设备,以供附加客户端设备在执行本地ASR时使用。然而,如上所述,在一些实施方式中,附加客户端设备中的一个或多个能够附加地或可替代地在生成对应的候选文本表示时利用经由附加客户端设备的麦克风本地捕获的音频数据。在这些实施方式中的一些实施方式中,给定客户端设备能够可选地不将在给定客户端设备处捕获的音频数据发送到任何附加客户端设备。作为示例,并且继续先前的示例,“Hey Assistant,set the thermostat to 70degrees(嘿,助理,将恒温器设置为70度)”的口头话语的附加候选文本表示能够由附加客户端设备通过使用本地存储在附加客户端设备处的ASR模型处理附加音频数据来生成。附加音频数据能够捕获口头话语,并且能够经由附加客户端设备的麦克风来捕获。
在一些实施方式中,并且可选地,对于附加客户端设备中的每一个,确定是否将音频数据从给定客户端设备发送到附加客户端设备以供附加客户端设备在执行本地ASR时使用。例如,给定客户端设备(或系统的其他组件)能够基于附加客户端设备的硬件和/或软件能力来确定是否将使用给定客户端设备捕获的音频数据发送到附加客户端设备。附加客户端设备的硬件和/或软件能力能够从本地存储在给定客户端设备处的主页图表或其他数据和/或基于由附加客户端设备发送到给定客户端设备的数据来确定。例如,当确定附加客户端设备具有低质量麦克风时,系统能够将在给定客户端设备处捕获的音频数据发送到附加客户端设备。例如,系统可以基于智能手表具有低质量麦克风的知识而将在移动电话处捕获的音频数据发送到智能手表。附加地或可替代地,系统能够确定使用给定设备捕获的音频数据的特征(例如,信噪比),并且能够基于特征并可选地基于在附加客户端设备处捕获的附加音频数据的特征(例如,信噪比)来确定是否将音频数据发送到附加客户端设备。例如,当信噪比指示所捕获的音频数据具有较差质量时,系统能够确定不发送在给定客户端设备处捕获的音频数据。作为另一示例,当附加音频数据的特征指示其具有高质量和/或指示其具有比在给定客户端设备处捕获的音频数据更好的质量时,系统能够确定不发送在给定客户端设备处捕获的音频数据。附加地或可替代地,系统能够基于给定客户端设备和附加客户端设备之间的通信链路(例如,设备之间的有线连接、设备之间的无线连接等)来确定不发送音频数据。例如,当给定客户端设备和附加客户端设备之间存在低带宽连接时,和/或当给定客户端设备和附加客户端设备之间的连接中存在高延迟时,系统能够确定不发送音频数据。
作为又一示例,系统能够基于给定客户端设备和/或附加客户端设备处的音频数据的历史实例来确定是否将在给定客户端设备处捕获的音频数据发送到附加客户端设备。例如,当在给定客户端设备处捕获的音频数据的实例在历史上具有低质量和/或在附加客户端设备处捕获的音频数据的实例在历史上具有高质量时,系统能够确定不发送音频数据。类似地,当在给定客户端设备处捕获的音频数据的实例在历史上具有高质量和/或在附加客户端设备处捕获的音频数据的实例在历史上具有低质量时,系统能够确定发送音频数据。作为又一示例,系统能够基于(例如,如使用存储的主页图表和/或主动技术来确定当前接近度所确定的)附加客户端设备是否物理上接近给定客户端设备来确定是否将在给定客户端设备处捕获的音频数据发送到附加客户端设备。例如,系统能够仅当(例如,如基于主页图表所确定的)附加客户端设备与给定客户端设备不在同一房间中和/或(例如,如基于主动技术来确定给定客户端设备与附加客户端设备之间的距离所确定的)距给定客户端设备大于阈值距离时才确定发送音频数据。作为又一示例,系统能够基于附加客户端设备是否在本地检测到语音活动(例如,使用本地语音活动检测器),来确定是否将在给定客户端设备处捕获的音频数据发送到附加客户端设备。例如,仅当附加客户端设备没有在本地检测到语音活动时,系统能够确定发送音频数据。
在附加客户端设备从给定客户端设备接收音频数据的一些附加或替代实施方式中,附加客户端设备能够确定在执行本地ASR时是利用音频数据还是替代地利用本地捕获的附加音频数据。在这些实施方式中的一些实施方式中,附加客户端设备能够在确定是利用音频数据还是附加音频数据时,利用关于确定是否发送音频数据的上述考虑中的一个或多个考虑。例如,附加客户端设备能够比较音频数据和附加音频数据的信噪比,并且利用具有较高信噪比的音频数据。
如上所述,在一些实施方式中,给定客户端设备能够处于具有一个或多个附加客户端设备的环境中。例如,作为移动电话的给定客户端设备能够处于具有用户的智能手表、独立的交互式扬声器和智能相机的环境中。在这些实施方式中的一些实施方式中,系统能够选择一个或多个附加客户端设备中的一个或多个以用于生成口头话语的一个或多个附加候选文本表示。例如,系统能够基于与一个或多个客户端设备的历史交互、基于一个或多个附加客户端设备的硬件和/或软件能力等来选择附加客户端设备中的一个或多个。例如,系统能够基于指示附加客户端设备包括由附加客户端设备在ASR中使用的本地存储的ASR模型的数据来选择附加客户端设备,该ASR模型比给定客户端设备的本地ASR模型更稳健、更准确和/或更新。附加地或可替代地,系统能够基于用户与附加客户端设备之间的先前交互来选择附加客户端设备。例如,系统能够基于附加客户端设备已经从用户接收到更多查询(并且因此用户有更多机会向ASR模型提供反馈)来选择附加客户端设备。在这些实施方式中的一些实施方式中,用户更频繁使用的附加客户端设备处的ASR模型能够更好地针对用户的语音定制,并且可以生成口头话语的更准确的候选文本表示。
还如上所述,在一些实施方式中,能够基于在给定客户端设备处生成的口头话语的候选文本表示并且基于在一个或多个对应的附加客户端设备处生成的口头话语的一个或多个附加候选文本表示,来生成口头话语的文本表示。例如,系统能够随机地(或伪随机地)选择口头话语的候选文本表示中的一个或多个候选文本表示作为口头话语的文本表示,系统能够基于给定客户端设备与一个或多个附加客户端设备之间的历史交互来选择口头话语的文本表示,系统能够基于给定客户端设备和/或一个或多个附加客户端设备的硬件和/或软件配置来选择口头话语的文本表示,系统能够基于是否满足附加或替代条件来选择文本表示,系统能够基于候选文本表示中最频繁和/或最高置信度的那些单词片段来选择口头话语的文本表示,系统能够基于最高置信度候选文本表示来选择口头话语的文本表示,和/或其组合。
例如,系统能够基于给定客户端设备和第一附加客户端设备之间的历史交互来选择使用第一附加客户端设备生成的第一附加候选文本表示作为口头话语的文本表示,该历史交互指示第一附加客户端设备更频繁地生成准确的候选文本表示。附加地或可替代地,系统能够基于与ASR模型相关联的质量度量和/或其他度量来选择使用第二附加客户端设备生成的第二附加候选文本表示作为口头话语的文本表示,该ASR模型对于第二附加客户端设备是本地的并且在生成第二附加候选文本表示中被使用。
因此,各种实施方式阐述了用于基于本地语音识别的实例生成口头话语的文本表示的技术,每个实例由环境中的多个客户端设备中的对应一个客户端设备执行。使用设备仲裁技术,能够选择具有用户的环境中的单个客户端设备来生成由用户说出的口头话语的文本表示。然而,环境中的一个或多个附加客户端设备能够生成口头话语的更准确的文本表示。例如,第一附加客户端设备能够具有比所选择的客户端设备更新和/或更稳健和/或准确版本的ASR模型,第二附加客户端设备能够在包含比由所选择的客户端设备捕获的音频数据的实例更少的噪声的音频数据的实例中捕获口头话语等。因此,本文所公开的实施方式在执行本地语音识别时至少能够选择性地利用附加客户端设备,并且在生成所口头话语的最终文本表示时,至少能够选择性地利用由本地语音识别生成的附加候选文本表示的至少一部分。这些和其他实施方式能够导致更准确和/或更稳健的语音识别的发生。这实现了更有效的人/机交互,因为语音识别更可能是准确的,并且鉴于更准确的语音识别,能够更准确地执行依赖于识别的下游过程(例如,自然语言理解)。因此,减少了由于语音识别失败而需要重复口头话语的用户的发生。这减少了人/机交互的总持续时间,并且因此减少了延长交互所需的网络和/或计算资源。
本文公开的各种实施方式涉及选择性地选择在具有给定客户端设备的环境中的一个或多个附加客户端设备,以用于生成口头话语的一个或多个对应的附加候选文本表示,其中,口头话语的文本表示能够基于使用给定客户端设备生成的候选文本表示和使用对应的一个或多个附加客户端设备生成的一个或多个候选文本表示来生成。换句话说,本文公开的一些实施方式并不总是利用附加的客户端设备来生成附加候选文本表示,和/或并不总是利用所有可用的附加客户端设备来生成附加候选文本表示。相反,一些实施方式可以仅选择性地利用任何附加客户端设备来生成附加候选文本表示,和/或可以选择性地仅利用一些附加客户端设备来生成附加候选文本表示。那些实施方式能够替代地基于一个或多个标准来确定是否使用和/或使用哪些附加客户端设备。考虑这样的标准能够努力平衡对更准确的语音识别(以及所产生的计算资源节省、网络资源节省和/或系统延迟)的期望与更准确的语音识别所需的计算和/或网络资源的使用。以这些和其他方式,能够通过仅选择性地确定生成口头话语的一个或多个附加候选文本表示来节省计算资源(例如,电池电力、电源、处理器周期、存储器等)。
作为一个示例,给定客户端设备能够确定指示口头话语包括热词的概率的热词置信度得分,并且利用热词置信度得分来确定是否利用附加客户端设备进行语音识别和/或利用多少附加客户端设备。例如,给定客户端设备能够确定热词置信度得分满足调用自动化助理所需的阈值,但是热词置信度得分未能满足第二阈值(例如,比阈值高不到5%)。这能够潜在地指示捕获口头话语的低质量音频数据流。在这些实施方式中的一些实施方式中,系统能够基于所标识的对热词的较弱置信度来确定使用一个或多个对应的附加客户端设备来生成口头话语的一个或多个附加候选文本表示。利用口头话语的附加候选文本表示能够提高口头话语的文本表示的准确性。在一些情况下,这能够防止系统生成口头话语的不正确文本表示,这又能够防止用户必须重复口头话语。
作为另一示例,除了确定热词置信度得分满足阈值之外,系统还能够确定给定客户端设备能够确定热词置信度得分指示对热词的非常强的置信度(例如,它比阈值高10%或更多)。例如,给定客户端设备可以确定热词置信度得分充裕地满足阈值,这可以指示捕获口头话语的良好质量的音频数据流。在这些实施方式中的一些中,系统可以不利用任何附加客户端设备来生成口头话语的一个或多个对应的附加候选文本表示。在系统确信捕获口头话语的音频数据流的质量的情况下,选择性地使用一个或多个附加客户端设备来生成口头话语的一个或多个附加的对应候选文本表示能够附加地或可替代地节省生成口头话语的一个或多个附加候选文本表示所需的计算资源。
本文描述了关于使用ASR模型来生成口头话语的文本表示的技术。然而,这并不意味着限制。在一些实施方式中,本文描述的技术能够附加地或可替代地用于确定口头话语的意图和/或基于使用本地自然语言理解(NLU)模型处理口头话语的文本表示来确定意图的参数。
以上描述仅作为本文公开的一些实施方式的概述来提供。本技术的这些和其他实施方式在下文另外详细地公开。
应当意识到,本文更详细描述的前述概念和附加概念的所有组合被认为是本文公开的主题的一部分。例如,出现在本公开结尾处的所要求保护的主题的所有组合被认为是本文公开的主题的一部分。
附图说明
图1图示了根据本文公开的各种实施方式的在具有多个客户端设备的环境中的用户的示例。
图2图示了根据本文公开的各种实施方式的使用客户端设备、第一附加客户端设备和第二附加客户端设备生成口头话语的文本表示的示例。
图3图示了可以实现本文公开的各种实施方式的示例性环境。
图4是图示根据本文公开的各种实施方式的生成口头话语的文本表示的示例性过程的流程图。
图5是图示根据本文公开的各种实施方式的选择一个或多个附加客户端设备的子集的示例性过程的流程图。
图6是图示根据本文公开的各种实施方式的生成口头话语的附加候选文本表示的示例性过程的流程图。
图7是图示根据本文公开的各种实施方式的生成口头话语的文本表示的另一示例性过程的流程图。
图8图示了可以实现本文公开的各种实施方式的另一示例性环境。
图9图示了计算设备的示例性架构。
具体实施方式
图1图示了具有多个客户端设备的示例性环境100中的用户。在所示的示例中,用户102处于具有移动电话104、智能手表106、具有显示器108的自动化助理、Wi-Fi接入点110、智能相机112和膝上型计算机114的环境100中。环境100中的客户端设备仅仅是说明性的,并且用户能够处于具有一个或多个附加和/或替代客户端设备的环境中。例如,环境能够包括台式计算机、膝上型计算机、平板计算设备、移动电话、智能手表、一个或多个附加或替代可穿戴计算设备、独立交互式扬声器、具有集成显示器的自动化助理、Wi-Fi接入点、智能恒温器、智能烤箱、智能相机、一个或多个附加或替代智能计算设备、一个或多个附加或替代计算设备和/或其组合中的一个或多个。
在一些实施方式中,具有用户的环境中的客户端设备能够执行自动化助理客户端的实例。例如,智能手表106能够执行自动化助理客户端的实例,移动电话104能够执行自动化助理客户端的实例,具有显示器108的自动化助理能够执行自动化助理客户端的实例,Wi-Fi接入点110能够执行自动化助理客户端的实例,智能相机112能够执行自动化助理客户端的实例,和/或膝上型计算机114能够执行自动化助理客户端的实例。
在一些实施方式中,不同的客户端设备能够各自包括不同的硬件和/或软件配置。例如,移动电话104的麦克风可以比智能手表106的麦克风更好。与使用智能手表106捕获的附加音频数据流相比,这能够导致移动电话104捕获更高质量的音频数据流。附加地或可替代地,膝上型计算机114的ASR模型可以生成比智能相机112的ASR模型更准确的候选文本预测。
作为说明性示例,用户102能够说出“Hey Assistant,turn on all the lights(嘿,助理,打开所有灯)”的口头话语。环境100中的一个或多个客户端设备能够捕获捕获口头话语的音频数据。不同的因素能够影响在一个或多个客户端设备中的每一个处捕获的音频数据的质量。在一些实施方式中,用户在环境中相对于客户端设备的姿势(例如,用户的位置和/或定向)能够影响在一个或多个客户端设备处捕获的音频数据的质量。例如,与用户后面的客户端设备相比,用户前面的客户端设备可以捕获口头话语的更高质量的音频数据流。
附加地或可替代地,环境中的噪声源(例如,吠叫的狗、白噪声机器、来自电视的音频数据、一个或多个附加用户说话、一个或多个附加或替代噪声源和/或其组合)能够影响在客户端设备处捕获的音频数据流的质量。例如,当用户正在说出口头话语时,狗可能在环境中吠叫。环境中的狗相对于客户端设备的姿势(例如,狗的位置和/或定向)能够影响在一个或多个客户端设备处捕获的音频数据的质量。例如,与更远离狗的客户端设备相比,最靠近狗的客户端设备可能捕获较低质量的音频数据流。换句话说,与环境中的一个或多个其他客户端设备相比,由最靠近狗的设备捕获的音频数据流可能捕获更高百分比的吠叫狗和更低百分比的口头话语。附加和/或替代因素能够影响在环境中的客户端设备处捕获的音频数据流的质量。
在一些实施方式中,系统能够从环境中的客户端设备确定给定客户端设备。例如,系统能够选择移动电话104作为给定客户端设备,并且能够通过使用移动电话104本地的ASR模型处理捕获口头话语的音频数据来生成口头话语的候选文本表示。附加地或可替代地,系统能够选择环境中的附加客户端设备的子集,以生成口头话语的对应的附加候选文本表示。在一些实施方式中,系统能够根据如本文所述的图5的过程404来选择一个或多个附加客户端设备。例如,系统能够选择具有显示器108、智能相机112和膝上型计算机114的自动化助理的子集。
在一些实施方式中,系统能够确定是否将捕获在给定客户端设备处捕获的口头话语的音频数据发送到所选择的附加客户端设备的子集。在一些实施方式中,系统能够确定是否将在给定客户端设备处捕获的音频数据发送到附加客户端设备的子集中的一个或多个。附加地或可替代地,系统能够以各种方式将捕获在给定客户端设备处捕获的口头话语的音频数据发送到一个或多个附加客户端设备。例如,系统能够发送(例如,通过使用有损和/或无损音频压缩来处理音频数据而生成的)音频数据的压缩版本,能够发送音频数据的加密版本,能够以流式传输方式(例如,与说出话语实时或接近实时,以最小化延迟)发送音频数据,能够发送音频数据的未处理版本,和/或其组合。
在一些实施方式中,系统能够生成口头话语的一个或多个附加候选文本表示。对于客户端设备子集中的每个附加客户端设备,客户端设备能够基于在给定客户端设备处捕获的音频数据和/或在对应的附加客户端设备处捕获的音频数据来确定是否生成对应的附加候选文本表示。在一些实施方式中,附加客户端设备能够通过使用在对应的附加客户端设备处本地的ASR模型处理所选择的音频数据,来生成话语的对应的附加候选文本表示。在一些实施方式中,系统能够根据本文描述的图6的过程408生成口头话语的一个或多个附加候选文本表示。例如,系统能够通过在具有显示器108的自动化助理的本地ASR模型处处理音频数据来生成口头话语的第一附加候选文本表示,通过在智能相机112本地的ASR模型处处理音频数据来生成口头话语的第二附加候选文本表示,以及通过在膝上型计算机114本地的ASR模型处处理音频数据来生成口头话语的第三候选文本表示。
在一些实施方式中,给定客户端设备能够基于口头话语的候选文本表示来生成口头话语的文本表示。在一些实施方式中,系统能够根据如本文所述的图7的过程412来生成口头话语的文本表示。例如,系统能够基于使用移动电话104生成的候选文本表示、使用具有显示器108的自动化助理生成的第一附加候选文本表示、使用智能相机112生成的第二附加候选文本表示和/或使用膝上型计算机114生成的第三附加候选文本表示来生成口头话语的文本表示。
图2图示了根据各种实施方式的生成口头话语的候选文本表示的示例200。所示的示例200包括在具有用户的环境中的客户端设备202、第一附加客户端设备204和第二附加客户端设备206。例如,客户端设备能够是用户的移动电话,第一附加客户端设备能够是具有显示器的自动化助理,而第二附加客户端设备能够是智能相机。在一些实施方式中,客户端设备202、第一附加客户端设备204和/或第二附加客户端设备206能够各自执行自动化助理客户端的实例。
在点208处,客户端设备202能够捕获捕获口头话语的音频数据。例如,客户端设备202能够捕获“set the temperature to 72degrees(将温度设置为72度)”的口头话语。在一些实施方式中,在点210处,第一附加客户端设备204能够捕获捕获口头话语的音频数据的第一附加实例。例如,第一附加客户端设备能够捕获“set the temperature to72degrees(将温度设置为72度)”的口头话语的第一附加实例。附加地或可替代地,在点212处,第二附加客户端设备206能够捕获捕获口头话语的音频数据的第二附加实例。例如,第二附加客户端设备能够捕获“set the temperature to 72degrees(将温度设置为72度)”的口头话语的第二附加实例。
在一些实施方式中,在客户端设备、第一附加客户端设备和/或第二附加客户端设备处捕获不同质量的音频数据。例如,客户端设备之一可以具有更好质量的麦克风,从而使得对应的客户端设备能够捕获更高质量的音频数据流。附加地或可替代地,可以在一个或多个音频数据流中捕获背景噪声(例如,另外的用户说话、狗吠叫、由电子设备生成的噪声、婴儿哭泣、来自电视的音频、附加或替代噪声源和/或其组合)。在一些实施方式中,与另一客户端设备相比,能够在一个客户端设备处捕获更多的背景噪声。例如,狗可以比第二附加客户端设备更靠近第一附加客户端设备,并且与捕获口头话语的音频数据的第二附加实例相比,捕获口头话语的音频数据的第一附加实例能够捕获更多的狗吠叫。在一些实施方式中,客户端设备中的一个或多个可以不具有捕获音频数据所需的用户接口输入能力(例如,客户端设备不具有麦克风),并且因此客户端设备可以不在点208、210和/或212处捕获对应的音频数据。
在一些实施方式中,在点214处,客户端设备202能够将捕获口头话语的音频数据(即,在点208处使用客户端设备202捕获的音频数据)发送到第一附加客户端设备204和/或第二附加客户端设备206。在一些其他实施方式中,客户端设备202可以不将音频数据发送到第一附加客户端设备204和/或第二附加客户端设备206(未描绘)。例如,客户端设备202可以基于音频数据质量差的指示而不发送捕获口头话语的音频数据。
在点216处,第一附加客户端设备204能够确定是否处理在客户端设备202处捕获的音频数据和/或在点212处捕获的音频数据的第一附加实例。在一些实施方式中,第一附加客户端设备204能够根据本文描述的图6的过程408来确定是否处理音频数据和/或音频数据的第一附加实例。类似地,在点218处,第二附加客户端设备206能够确定是否处理在客户端设备202处捕获的音频数据和/或在点212处捕获的音频的第二附加实例。在一些实施方式中,第二附加客户端设备206能够根据本文描述的图6的过程408来确定是否处理音频数据和/或音频数据的第二附加实例。
在点220,客户端设备202能够生成口头话语的候选文本表示。在一些实施方式中,客户端设备202能够通过使用本地存储在客户端设备202处的ASR模型处理捕获口头话语的所捕获的音频数据来生成口头话语的候选文本表示。在一些实施方式中,第一附加客户端设备204能够在点222处生成口头话语的第一附加候选文本表示。在一些实施方式中,能够通过使用在第一附加客户端设备处本地存储的ASR模型处理音频数据和/或音频数据的第一附加实例来生成口头话语的第一附加候选文本表示。在一些实施方式中,能够根据本文描述的图6的过程408来生成口头话语的第一附加候选文本表示。类似地,在点224处,能够使用第二附加客户端设备206生成口头话语的第二附加候选文本表示。在一些实施方式中,能够通过使用在第二附加客户端设备处本地存储的ASR模型处理音频数据和/或音频数据的第二附加实例来生成口头话语的第二附加候选文本表示。
在点226处,第一附加客户端设备204能够将口头话语的第一附加候选文本表示发送到客户端设备202。类似地,在点228处,第二附加客户端设备206能够将口头话语的第二附加候选文本表示发送到客户端设备202。
在点230处,客户端设备202能够生成口头话语的文本表示。在一些实施方式中,客户端设备202能够基于口头话语的候选文本表示、口头话语的第一附加候选文本表示和/或口头话语的第二附加候选文本表示来生成口头话语的文本表示。在一些实施方式中,客户端设备202能够根据本文描述的图7的过程412来生成口头话语的文本表示。
图3图示了可以实现本文公开的实施方式的示例性环境300的框图。示例性环境300包括客户端设备302和附加客户端设备314。客户端设备302能够包括用户接口输入/输出设备304、候选文本表示引擎306、文本表示引擎308、附加设备引擎310、附加或替代引擎(未图示)、ASR模型312和/或附加或替代模型(未图示)。附加客户端设备314能够包括附加用户接口输入/输出设备316、音频源引擎318、附加候选文本表示引擎320、附加或替代引擎(未图示)、附加ASR模型322和/或附加或替代模型(未图示)。
在一些实施方式中,客户端设备302和/或附加客户端设备314可以包括用户接口输入/输出设备,其可以包括例如物理键盘、(例如,实现虚拟键盘或其他文本输入机制的)触摸屏、麦克风、相机、显示屏和/或扬声器。例如,用户的移动电话可以包括用户接口输入输出设备;独立的数字助理硬件设备可以包括用户接口输入/输出设备;第一计算设备可以包括用户接口输入设备,而单独的计算设备可以包括用户接口输出设备等。在一些实施方式中,客户端设备302和/或附加客户端设备314的全部或方面可以在还包含用户接口输入/输出设备的计算系统上实现。
客户端设备302和/或附加客户端设备314的一些非限制性示例包括以下中的一个或多个:台式计算设备、膝上型计算设备、至少部分专用于自动化助理的独立硬件设备、平板计算设备、移动电话计算设备、车辆的计算设备(例如,车载通信系统和车载娱乐系统、车载导航系统、车载导航系统)、或包括计算设备的用户的可穿戴装置(例如,具有计算设备的用户的手表、具有计算设备、虚拟或增强现实计算设备的用户的眼镜)。可以提供附加的和/或替代的计算系统。客户端设备302和/或附加客户端设备314可以包括用于存储数据和软件应用的一个或多个存储器、用于访问数据和执行应用的一个或多个处理器,以及促进通过网络进行通信的其他组件。由客户端设备302和/或附加客户端设备314执行的操作可以分布在多个计算设备上。例如,在一个或多个位置中的一个或多个计算机上运行的计算程序能够通过网络彼此耦合。
在一些实施方式中,客户端设备302可以包括用户接口输入/输出设备304,而附加客户端设备314能够包括附加用户接口输入/输出设备316,附加用户接口输入/输出设备316可以包括例如物理键盘、(例如,实现虚拟键盘或其他文本输入机制的)触摸屏、麦克风、相机、显示屏和/或扬声器。在一些实施方式中,客户端设备302和/或附加客户端设备314可以包括自动化助理(未描绘),并且自动化助理的全部或方面可以在与包含用户接口输入/输出设备的客户端设备分离且远离的计算设备上实现(例如,全部或方面可以“在云中”实现)。在那些实施方式中的一些实施方式中,自动化助理的那些方面可以经由诸如局域网(LAN)和/或广域网(WAN)(例如,互联网)的一个或多个网络与计算设备通信。
在一些实施方式中,用户接口输入/输出设备304能够捕获音频数据,该音频数据捕获由用户说出的口头话语。例如,客户端设备304的一个或多个麦克风能够捕获捕获口头话语“Hey Assistant,set an alarm for 8am(嘿,助理,设置上午8点的闹钟)”的音频数据。在一些实施方式中,候选文本表示引擎306能够使用ASR模型312处理捕获口头话语的音频数据,以生成口头话语的候选文本表示。
附加地或可替代地,附加设备引擎310能够被用于选择环境300中的一个或多个附加客户端设备的子集,并且能够被用于确定是否将在客户端设备302处捕获的音频数据发送到一个或多个所选择的附加客户端设备,和/或能够被用于将捕获口头话语的音频数据发送到一个或多个所选择的附加客户端设备。在一些实施方式中,附加设备引擎310能够根据如本文所述的图5的过程404来选择一个或多个附加客户端设备的子集。例如,附加设备引擎310能够被用于选择附加客户端设备314。附加地或可替代地,附加设备引擎310能够确定是否将在客户端设备302处捕获的音频数据发送到一个或多个附加客户端设备。
在一些实施方式中,文本表示引擎308能够被用于基于使用客户端设备302生成的口头话语的候选文本表示和/或使用一个或多个对应的附加客户端设备生成的口头话语的一个或多个附加候选文本表示,来生成口头话语的文本表示。例如,文本表示引擎308能够基于使用客户端设备302生成的口头话语的候选文本表示和/或使用附加客户端设备314生成的口头话语的附加候选文本表示,来生成口头话语的文本表示。在一些实施方式中,文本表示引擎308能够根据本文描述的图7的过程412来生成口头话语的文本表示。
在一些实施方式中,附加客户端设备314能够使用附加用户接口输入/输出设备316来捕获捕获口头话语的音频数据的附加实例。例如,附加客户端设备314能够使用附加客户端设备的一个或多个附加麦克风来捕获口头话语“Hey Assistant,set an alarm for8am(嘿,助理,设置上午8点的闹钟)”的附加实例。在一些实施方式中,附加客户端设备314能够使用音频源引擎318来确定是否处理捕获使用客户端设备302生成的口头话语的音频数据和/或捕获使用附加客户端设备314生成的口头话语的附加音频数据,以生成口头话语的附加候选文本表示。在一些实施方式中,附加客户端设备314能够使用附加候选文本表示引擎320,以通过使用附加ASR模型322处理使用音频源引擎318选择的音频数据,来生成口头话语的附加候选文本表示。在一些实施方式中,附加候选文本表示引擎320能够根据本文描述的图6的过程408来生成口头话语的附加候选文本表示。
图4是图示根据本文公开的各种实施方式的生成口头话语的候选文本表示的示例性过程400的流程图。为方便起见,参考执行操作的系统来描述流程图的操作。该系统可以包括各种计算机系统的各种组件,诸如客户端设备302、附加客户端设备314、客户端设备802和/或计算系统810的一个或多个组件。此外,虽然以特定顺序示出了过程400的操作,但这并不意味着限制。可以重新排序、省略和/或添加一个或多个操作。
在框402处,系统在客户端设备处捕获口头话语的音频数据,其中,客户端设备处于具有一个或多个附加客户端设备的环境中。在一些实施方式中,客户端设备和/或附加客户端设备能够执行自动化助理客户端的对应实例。在一些实施方式中,用户能够处于具有若干客户端设备(诸如移动电话、膝上型计算机、独立自动化助理等)的房间中。在一些实施方式中,当两个或更多个客户端设备能够捕获由用户说出的口头话语时,能够使用经典的设备仲裁技术来确定用于处理口头话语的给定客户端设备。例如,能够在独立的交互式扬声器的给定客户端设备处捕获捕获口头话语的音频数据,并且独立的交互式扬声器能够处于具有移动电话的第一附加客户端设备和智能相机的第二附加客户端设备的环境中。
在框404处,系统选择一个或多个附加客户端设备的子集。在一些实施方式中,系统能够根据如图5所示的过程404来选择一个或多个附加客户端设备的子集。例如,系统能够选择移动电话的第一附加客户端设备、智能相机的第二附加客户端设备、或者移动电话的第一附加客户端设备和智能相机的第二附加客户端设备。
在框406处,系统通过使用本地ASR模型处理所捕获的音频数据来生成口头话语的候选文本表示。在一些实施方式中,口头话语的候选文本表示能够是使用ASR模型生成的排名最高的假设。附加地或可替代地,口头话语的候选文本表示能够包括使用ASR模型生成的多个假设。
在框408处,系统(可选地)在一个或多个附加客户端设备处生成口头话语的一个或多个附加候选文本表示。在一些实施方式中,系统能够根据如图6所示的过程408,在一个或多个附加客户端设备处生成一个或多个附加候选文本表示。例如,系统能够使用本地存储在第一附加客户端设备处的第一附加ASR模型来生成口头话语的第一附加候选文本表示,和/或系统能够使用本地存储在第二附加客户端设备处的第二附加ASR模型来生成口头话语的第二附加候选文本表示。
在框410处,系统从一个或多个附加客户端设备的所选子集接收口头话语的一个或多个附加候选文本表示。例如,如果系统在框404处选择第一附加客户端设备和第二附加客户端设备,则系统能够接收在第一附加客户端设备处生成的(例如,根据图6的过程408生成的)第一附加候选文本表示,和在第二附加客户端设备处生成的(例如,根据图6的过程408生成的)第二附加候选文本表示。
在框412处,系统基于口头话语的候选文本表示和口头话语的一个或多个附加候选文本表示来生成口头话语的文本表示。在一些实施方式中,系统能够根据图7的过程412,基于候选文本表示和一个或多个附加候选文本表示来生成口头话语的文本表示。
图5是图示根据本文公开的各种实施方式来选择一个或多个附加客户端设备的子集的示例性过程404的流程图。为方便起见,参考执行操作的系统来描述流程图的操作。该系统可以包括各种计算机系统的各种组件,诸如客户端设备302、附加客户端设备314、客户端设备802和/或计算系统810的一个或多个组件。此外,虽然以特定顺序示出了过程404的操作,但这并不意味着限制。可以重新排序、省略和/或添加一个或多个操作。
在框502处,系统选择一个或多个附加客户端设备中的附加客户端设备,其中,一个或多个附加客户端设备处于具有给定客户端设备的环境中。例如,给定客户端设备能够处于具有第一附加客户端设备、第二附加客户端设备和第三附加客户端设备的环境中。
在框504处,系统基于一个或多个客户端设备参数来确定是否选择附加客户端设备。在一些实施方式中,一个或多个客户端设备参数能够包括客户端设备的电源、客户端设备的硬件(例如,客户端设备是否具有麦克风、处理器、可用存储器等)、客户端设备的软件(例如,ASR模型版本、ASR模型大小、ASR模型容量、一个或多个附加或替代模型版本等)、一个或多个附加或替代设备参数和/或其组合。例如,在一些实施方式中,系统能够包括子集中的一个或多个附加客户端设备中的每一个。
在一些实施方式中,系统能够选择通过插入电源插座而被供电的一个或多个附加客户端设备中的每一个(例如,运行交流电的每个客户端设备)。换句话说,当电力成本可忽略时,系统能够选择附加客户端设备。在一些实施方式中,如果客户端设备的电池电力满足一个或多个条件,则系统能够选择附加客户端设备。例如,如果剩余电池电力超过阈值(例如,电池具有超过25%的剩余电力),如果电池的容量超过阈值(例如,电池容量超过1000mAh),如果电池当前正在充电,如果满足附加或替代条件,和/或其组合,则系统能够选择附加客户端设备。在一些实施方式中,系统能够基于附加客户端设备的硬件来选择附加客户端设备。例如,系统能够使用机器学习模型来处理一个或多个附加客户端设备中的每一个的硬件,以选择一个或多个客户端设备的子集。
在一些实施方式中,系统能够基于在过程的先前迭代中是否先前选择了附加客户端设备来选择附加客户端设备。例如,如果系统确定在处理先前口头话语时第一附加客户端设备被选择而第二附加客户端设备未被选择,则系统能够选择第一附加客户端设备而不选择第二附加客户端设备。
系统能够确定指示在客户端设备处使用ASR模型生成的候选文本表示的置信度的置信度值。在一些实施方式中,系统能够确定置信度值是否满足一个或多个条件,诸如置信度值是否满足阈值。当置信度值指示候选文本表示中的低置信度时,系统能够选择一个或多个附加客户端设备。例如,当置信度值低于阈值时,系统能够选择一个或多个附加客户端设备。
在框506处,系统确定是否选择另外的附加客户端设备。在一些实施方式中,系统能够基于是否存在任何剩余的未使用的附加客户端设备、是否已经选择了阈值数量的附加客户端设备、是否满足一个或多个附加或替代条件和/或其组合,来确定是否选择另外的附加客户端设备。如果是,则系统返回到框502,选择另外的附加客户端设备,并基于该另外的附加客户端设备进行到框504。如果不是,则过程结束。
图6是图示根据本文公开的各种实施方式来生成口头话语的附加候选文本表示的408的示例性过程的流程图。为方便起见,参考执行操作的系统来描述流程图的操作。该系统可以包括各种计算机系统的各种组件,诸如客户端设备302、附加客户端设备314、客户端设备802和/或计算系统810的一个或多个组件。此外,虽然以特定顺序示出了过程408的操作,但这并不意味着限制。可以重新排序、省略和/或添加一个或多个操作。
在框602处,在附加客户端设备处,系统捕获捕获口头话语的音频数据的附加实例。例如,附加客户端设备能够捕获口头话语“Hey Assistant,what is the temperatureon Tuesday(嘿,助理,星期二的温度怎么样)”。
在框604处,在附加客户端设备处,系统接收捕获在给定客户端设备处捕获的口头话语的音频数据的实例,其中,给定客户端设备处于具有附加客户端设备的环境中。例如,附加客户端设备能够接收在给定客户端设备处捕获的音频数据,该给定客户端设备捕获口头话语“Hey Assistant,what is the temperature on Tuesday(嘿,助理,星期二的温度怎么样)”。
在框606处,系统将音频数据的附加实例与所接收的音频数据的实例进行比较。
在框608处,系统基于该比较来确定是否处理音频数据的附加实例和/或所接收的音频数据的实例。在一些实施方式中,系统能够随机地(或伪随机地)选择音频数据的实例或音频数据的附加实例以进行处理。在一些实施方式中,系统能够选择音频数据的实例和音频数据的附加实例两者。在一些实施方式中,系统能够基于音频数据的质量来选择用于处理的音频数据。例如,系统能够基于附加客户端设备的麦克风和/或给定客户端设备的麦克风来选择音频数据的附加实例或音频数据的实例。例如,当附加客户端设备的麦克风比给定客户端设备的麦克风捕获更好质量的音频数据时,系统能够选择音频数据的附加实例。
附加地或可替代地,系统能够确定音频数据的实例的信噪比和音频数据的附加实例的附加信噪比。系统能够选择具有指示更好质量的音频数据流的信噪比的音频数据的实例。能够利用附加的或替代的感知质量度量来确定更好质量的音频数据流。例如,能够在选择音频数据流时利用已经被训练以预测音频数据流的质量水平的机器学习模型。
在框610处,系统使用在附加客户端设备处本地存储的附加ASR模型来处理所确定的音频数据,以生成口头话语的附加候选文本表示。例如,如果音频数据的附加实例被选择以进行处理,则系统能够通过使用本地存储在附加客户端设备处的附加ASR模型处理音频数据的附加实例来生成口头话语的附加候选文本表示。作为另一示例,如果音频数据的实例被选择以进行处理,则系统能够通过使用本地存储在附加客户端设备处的附加ASR模型处理音频数据的实例来生成口头话语的附加候选文本表示。
在框612处,系统将口头话语的附加候选文本表示发送到给定客户端设备。
图7是图示根据本文公开的各种实施方式来生成口头话语的文本表示的412的示例性过程的流程图。为方便起见,参考执行操作的系统来描述流程图的操作。该系统可以包括各种计算机系统的各种组件,诸如客户端设备302、附加客户端设备314、客户端设备802和/或计算系统810的一个或多个组件。此外,虽然以特定顺序示出了过程412的操作,但这并不意味着限制。可以重新排序、省略和/或添加一个或多个操作。
在框702处,系统在客户端设备处捕获口头话语的音频数据,其中,客户端设备处于具有一个或多个附加客户端设备的环境中。例如,独立的交互式扬声器能够捕获音频数据,该音频数据捕获“Hey Assistant,turn off the living room lights(嘿,助理,关闭起居室灯)”的口头话语,其中独立的交互式扬声器处于具有移动电话和智能电视的环境中。
在框704处,系统通过使用本地ASR模型在客户端设备处处理音频数据来生成口头话语的候选文本表示。例如,系统能够使用独立交互式扬声器的本地ASR模型来处理捕获口头话语“Hey Assistant,turn off the living room lights(嘿,助理,关闭起居室灯)”的音频数据,以生成口头话语的候选文本表示。在一些实施方式中,系统能够使用本地ASR模型生成口头话语的候选文本表示。附加地或可替代地,系统能够使用本地ASR模型生成口头话语的文本表示的多个假设。
在框706处,系统从一个或多个附加客户端设备接收口头话语的一个或多个候选文本表示。例如,系统能够从移动电话接收口头话语“Hey Assistant,turn off theliving room lights(嘿,助理,关闭起居室灯)”的第一附加候选文本表示,并且从智能电视接收口头话语“Hey Assistant,turn off the living room lights(嘿,助理,关闭起居室灯)”的第二附加候选文本表示。在一些实施方式中,能够根据如本文所述的图6的过程408,使用一个或多个附加客户端设备生成一个或多个附加候选文本表示。在一些实施方式中,系统能够使用附加客户端设备本地的对应本地ASR模型,从一个或多个附加客户端设备中的每一个接收口头话语的附加候选文本表示。在一些其他实施方式中,系统能够从一个或多个附加客户端设备中的每一个接收使用附加客户端设备本地的对应本地ASR模型生成的口头话语的多个候选文本表示。
在框708处,系统将口头话语的候选文本表示与口头话语的一个或多个附加候选文本表示进行比较。
在框710处,系统基于比较生成口头话语的文本表示。在一些实施方式中,系统能够随机地(或伪随机地)选择口头话语的候选文本表示之一作为口头话语的文本表示。例如,系统能够随机地(或伪随机地)选择使用第一附加客户端设备生成的口头话语的候选文本表示作为口头话语的文本表示。附加地或可替代地,系统能够随机地(或伪随机地)选择使用给定客户端设备生成的口头话语的候选文本表示作为口头话语的文本表示。
在一些实施方式中,系统能够对口头话语的候选文本表示进行排名,其中,能够选择具有最多“投票”的口头话语的候选文本表示作为口头话语的文本表示。例如,系统能够将使用给定客户端设备生成的口头话语“Hey Assistant,turn off the living roomlights(嘿,助理,关闭起居室灯)”的候选文本表示、使用第一附加客户端设备生成的口头话语“Hey Assistant,turn on the living room lights(嘿,助理,打开起居室灯)”的第一附加候选文本表示、以及使用第二附加客户端设备生成的口头话语“Hey Assistant,turn off the living room lights(嘿,助理,关闭起居室灯)”的第二附加候选文本表示进行比较。换句话说,客户端设备中的两个(例如,给定客户端设备和第二附加客户端设备)生成“Hey Assistant,turn off the living room lights(嘿,助理,关闭起居室灯)”的口头话语的候选文本表示,而客户端设备中的仅一个(例如,第一附加客户端设备)生成“HeyAssistant,turn on the living room lights(嘿,助理,打开起居室灯)”的口头话语的候选文本表示。在一些实施方式中,能够对口头话语的候选文本表示进行均匀加权。例如,系统能够基于三个客户端设备中的两个生成“Hey Assistant,turn off the living roomlights(嘿助理,关闭起居室灯)”作为口头话语的候选文本表示来选择“Hey Assistant,turn off the living room lights(嘿助理,关闭起居室灯)”作为口头话语的文本表示。
在一些其他实施方式中,能够基于在生成口头话语时使用的客户端设备来对口头话语的候选文本表示进行加权。例如,能够基于在生成候选文本表示时使用的ASR模型的版本(例如,当使用更高质量的ASR模型生成口头话语的候选文本表示时,系统能够更重地对口头话语的候选文本表示进行加权)、对应的客户端设备的硬件(例如,当对应的客户端设备捕获更高质量的音频数据流时,系统能够更重地对口头话语的候选文本表示进行加权)、基于一个或多个附加或替代条件,和/或其组合,来对口头话语的候选文本表示进行加权。例如,移动电话可以具有更好的硬件(诸如更好的麦克风)以捕获更高质量的音频数据,并且可以具有更高质量版本的ASR模型。在一些实施方式中,与口头话语的其他候选文本表示相比,系统可以更重地加权使用移动电话(具有更高质量的麦克风和更高质量的ASR模型)生成的口头话语的第一附加候选文本表示。在一些实施方式中,系统能够选择使用移动电话生成的“Hey Assistant,turn on the living room lights(嘿,助理,打开起居室灯)”的候选文本表示作为口头话语的文本表示,尽管口头话语的其他两个候选表示指示关闭起居室灯。
在一些实施方式中,系统能够选择性地组合口头话语的候选文本表示的部分。在一些实施方式中,系统能够使用使用给定客户端设备生成的一个或多个候选文本表示和使用一个或多个附加客户端设备生成的一个或多个候选文本表示来协作地生成前N个假设列表。例如,系统能够合并来自各种设备的假设的列表。
在一些实施方式中,系统能够确定指示候选文本表示捕获口头话语的概率的置信度得分。例如,系统能够生成指示口头话语的候选文本表示的概率的置信度得分、指示第一附加候选文本表示捕获口头话语的概率的第一附加置信度得分,以及指示第二附加候选文本表示捕获口头话语的概率的第二附加候选文本表示。在一些实施方式中,系统能够基于具有最高置信度得分的口头话语的候选文本表示来确定口头话语的文本表示。
附加地或可替代地,系统能够基于口头话语的候选文本表示的一个或多个部分来生成置信度得分。在一些实施方式中,系统能够基于口头话语捕获热词的概率来生成热词置信度得分。例如,系统能够生成指示口头话语的候选文本表示包括热词“Hey Assistant(嘿,助理)”的概率的热词置信度得分。
在一些实施方式中,系统能够使用给定客户端设备生成多个候选文本表示,使用第一附加客户端设备生成口头话语的多个第一附加候选文本表示,和/或使用第二附加客户端设备生成口头话语的多个第二附加候选文本表示。在一些实施方式中,系统能够根据本文描述的技术,基于口头话语的多个候选文本表示、口头话语的多个第一附加候选文本表示和/或口头话语的多个第二附加候选文本表示来确定口头话语的文本表示。
在一些实施方式中,系统可以偏置口头话语的多个候选文本表示中的一个或多个。例如,移动电话可以具有更好的ASR模型,但是用于偏置的联系人列表可以是经由独立的交互式扬声器可访问的(或仅可访问的)。在一些实施方式中,可以使用存储在独立交互式扬声器处的联系人列表来偏置使用移动电话(即,具有“更好”ASR模型的设备)生成的多个第一附加候选文本表示。在这些实施方式中的一些中,系统能够基于偏置来确定口头话语的文本表示。
现在转到图8,图示了能够执行各种实施方式的示例性环境。图8最初被描述,并且包括客户端计算设备802,其执行自动化助理客户端804的实例。一个或多个基于云的自动化助理组件810能够在一个或多个计算系统(统称为“云”计算系统)上实现,该一个或多个计算系统经由通常在808处指示的一个或多个局域网和/或广域网(例如,互联网)可通信地耦合到客户端设备802。
自动化助理客户端804的实例通过其与一个或多个基于云的自动化助理组件810的交互可以形成从用户的角度看起来是自动化助理800的逻辑实例的内容,用户可以利用该自动化助理800参与人机对话。图8中描绘了这种自动化助理800的实例。因此,应当理解,在一些实施方式中,参与在客户端设备802上执行的自动化助理客户端804的用户实际上可以参与他或她自己的自动化助理800的逻辑实例。为了简洁和简单起见,本文中用作“服务于”特定用户的术语“自动化助理”通常将指代在由用户操作的客户端设备802上执行的自动化助理客户端804和一个或多个基于云的自动化助理组件810(其可以在多个客户端计算设备的多个自动化助理客户端之间共享)的组合。还应当理解,在一些实施方式中,自动化助理800可以响应来自任何用户的请求,而不管用户是否实际上由自动化助理800的该特定实例“服务”。
客户端计算设备802可以是例如:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立的交互式扬声器、诸如智能电视的智能电器、和/或包括计算设备的用户的可穿戴设备(例如,具有计算设备的用户的手表、具有计算设备的用户的眼镜、虚拟或增强现实计算设备)。可以提供附加的和/或替代的客户端计算设备。在各种实施方式中,客户端计算设备802还可以可选地操作除了自动化助理客户端804之外的一个或多个其他应用,诸如消息交换客户端(例如,SMS、MMS、在线聊天)、浏览器等。在那些各种实施方式中的一些中,其他应用中的一个或多个能够可选地(例如,经由应用编程接口)与自动化助理800对接,或者包括它们自己的自动化助理应用的实例(其还可以与基于云的自动化助理组件810对接)。
自动化助理800经由客户端设备802的用户接口输入和输出设备与用户进行人机对话会话。为了保护用户隐私和/或节省资源,在许多情况下,在自动化助理将完全处理口头话语之前,用户必须经常显式地调用自动化助理800。自动化助理800的显式调用能够响应于在客户端设备802处接收的某个用户接口输入而发生。例如,能够经由客户端设备802调用自动化助理800的用户接口输入能够可选地包括客户端设备802的硬件和/或虚拟按钮的致动。此外,自动化助理客户端能够包括一个或多个本地引擎806,诸如可操作以检测一个或多个口头调用短语的存在的调用引擎。调用引擎能够响应于检测到口头调用短语之一而调用自动化助理800。例如,调用引擎能够响应于检测到诸如“Hey Assistant(嘿助理)”、“OK Assistant(OK助理)”和/或“Assistant(助理)”的口头调用短语而调用自动化助理800。调用引擎能够连续地处理(例如,如果不处于“不活动”模式)基于来自客户端设备802的一个或多个麦克风的输出的音频数据帧流,以监视口头调用短语的发生。在监视口头调用短语的发生时,调用引擎丢弃(例如,在临时存储在缓冲器中之后)不包括口头调用短语的任何音频数据帧。然而,当调用引擎检测到在处理的音频数据帧中出现口头调用短语时,调用引擎能够调用自动化助理800。如本文所使用的,“调用”自动化助理800能够包括使得自动化助理800的一个或多个先前不活动的功能被激活。例如,调用自动化助理800能够包括使一个或多个本地引擎806和/或基于云的自动化助理组件810进一步处理基于其检测到调用短语的音频数据帧,和/或一个或多个后续音频数据帧(而在调用之前,没有发生音频数据帧的进一步处理)。
自动化助理800的一个或多个本地引擎806是可选的,并且能够包括例如上述调用引擎、本地语音到文本(“STT”)引擎(其将捕获的音频转换为文本)、本地文本到语音(“TTS”)引擎(其将文本转换为语音)、本地自然语言处理器(其确定音频和/或从音频转换的文本的语义含义)和/或其他本地组件。因为客户端设备802在计算资源(例如,处理器周期、存储器、电池等)方面相对受限,所以本地引擎806相对于包括在基于云的自动化助理组件810中的任何对应物可以具有有限的功能。
相对于本地引擎806的任何对应物,基于云的自动化助理组件810利用云的几乎无限的资源来执行音频数据和/或其他用户接口输入的更稳健和/或更准确的处理。再次,在各种实施方式中,客户端设备802能够响应于调用引擎检测到口头调用短语或检测到自动化助理800的一些其他显式调用而向基于云的自动化助理组件810提供音频数据和/或其他数据。
所示的基于云的自动化助理组件810包括基于云的TTS模块812、基于云的STT模块814、自然语言处理器816、对话状态跟踪器818和对话管理器820。在一些实施方式中,自动化助理800的引擎和/或模块中的一个或多个可以被省略、组合和/或实施在与自动化助理800分离的组件中。此外,在一些实施方式中,自动化助理800能够包括附加的和/或可替代的引擎和/或模块。基于云的STT模块814能够将音频数据转换为文本,该文本然后可以被提供给自然语言处理器816。
基于云的TTS模块812能够将文本数据(例如,由自动化助理800制定的自然语言响应)转换为计算机生成的语音输出。在一些实施方式中,TTS模块812可以将计算机生成的语音输出提供给客户端设备802以例如使用一个或多个扬声器直接输出。在其他实施方式中,可以将由自动化助理800生成的文本数据(例如,自然语言响应)提供给本地引擎806之一,然后本地引擎806可以将文本数据转换为本地输出的计算机生成的语音。
自动化助理800的自然语言处理器816处理自由形式的自然语言输入,并基于自然语言输入生成注释输出以供自动化助理800的一个或多个其他组件使用。例如,自然语言处理器816能够处理自然语言自由形式输入,该自然语言自由形式输入是文本输入,该文本输入是由STT模块814对由用户经由客户端设备802提供的音频数据的转换。所生成的注释输出可以包括自然语言输入的一个或多个注释,并且可选地包括自然语言输入的一个或多个(例如,所有)词项。
在一些实施方式中,自然语言处理器816被配置为标识和注释自然语言输入中的各种类型的语法信息。在一些实施方式中,自然语言处理器816可以附加地和/或可替代地包括实体标记器(未描绘),该实体标记器被配置为注释一个或多个片段中的实体引用,诸如对人(包括例如文学人物、名人、公众人物等)、组织、位置(真实的和假想的)等的引用。在一些实施方式中,自然语言处理器816可以附加地和/或可替代地包括共指解析器(coreference resolver,未描绘),其被配置为基于一个或多个场境线索来分组或“聚类”对相同实体的引用。例如,可以利用共指解析器来将自然语言输入“I liked HypotheticalCafélast time we ate there”(上次我们在Hypothetical咖啡馆吃饭时我很喜欢那里)中的词项“there”解析为“Hypothetical Café”。在一些实施方式中,自然语言处理器816的一个或多个组件可以依赖于来自自然语言处理器816的一个或多个其他组件的注释。在一些实施方式中,在处理特定自然语言输入时,自然语言处理器816的一个或多个组件可以使用相关的先前输入和/或特定自然语言输入之外的其他相关数据来确定一个或多个注释。
在一些实施方式中,对话状态跟踪器818可以被配置为跟踪“对话状态”,该“对话状态”包括例如在人机对话会话的过程中和/或跨多个对话会话的一个或多个用户的目标(或“意图”)的信念状态。在确定对话状态时,一些对话状态跟踪器可以寻求基于对话会话中的用户和系统话语来确定在对话中实例化的槽的最可能的值。一些技术利用定义槽的集合和与那些槽相关联的值的集合的固定本体。附加地或可替代地,一些技术可以针对各个槽和/或域进行定制。例如,一些技术可能需要针对每个域中的每个槽类型训练模型。
对话管理器820可以被配置为将例如由对话状态跟踪器818提供的当前对话状态映射到然后由自动化助理800执行的多个候选响应动作中的一个或多个“响应动作”。响应动作可以以各种形式出现,这取决于当前对话状态。例如,与在最后一轮之前(例如,当执行最终的用户期望的任务时)发生的对话会话的轮相对应的初始和中游对话状态可以被映射到包括输出附加自然语言对话的自动化助理800的各种响应动作。该响应对话可以包括例如用户为对话状态跟踪器818认为用户意图执行的某个动作(即,填充槽)提供参数的请求。在一些实施方式中,响应动作可以包括诸如“请求”(例如,寻找用于槽填充的参数)、“提议”(例如,为用户建议动作或动作过程)、“选择”、“通知”(例如,向用户提供所请求的信息)、“不匹配”(例如,通知用户不理解用户的最后输入)、对外围设备的命令(例如,关闭灯泡)等的动作。
图9是可以可选地用于执行本文描述的技术的一个或多个方面的示例性计算设备910的框图。在一些实施方式中,客户端计算设备和/或其他组件中的一个或多个可以包括示例性计算设备910的一个或多个组件。
计算设备910通常包括经由总线子系统912与多个外围设备通信的至少一个处理器914。这些外围设备可以包括存储子系统924(包括例如存储器子系统925和文件存储子系统926)、用户接口输出设备920、用户接口输入设备922、以及网络接口子系统916。输入和输出设备允许用户与计算设备910进行交互。网络接口子系统916提供到外部网络的接口并耦合到其他计算设备中的对应接口设备。
用户接口输入设备922可以包括、键盘、诸如鼠标、轨迹球、触摸板或图形输入板的定点设备、扫描仪、并入到显示器中的触摸屏、诸如语音辨识系统、麦克风的音频输入设备、和/或其他类型的输入设备。通常,术语“输入设备”的使用旨在包括将信息输入到计算设备910中或通信网络上的所有可能类型的设备和方式。
用户接口输出设备920可以包括显示子系统、打印机、传真机或诸如音频输出设备的非可视显示器。显示子系统可以包括阴极射线管(“CRT”)、诸如液晶显示器(“LCD”)的平板设备、投影设备、或用于创建可见图像的一些其他机构。显示子系统还可以诸如经由音频输出设备来提供非视觉显示。通常,术语“输出设备”的使用旨在包括用于将信息从计算设备910输出到用户或另一机器或计算设备的所有可能类型的设备和方式。
存储子系统924存储提供本文所述的一些或所有模块的功能的编程和数据结构。例如,存储子系统924可以包括执行图4、图5、图6和/或图7的过程中的一个或多个的所选方面,以及实现图3和/或图9中描绘的各种组件的逻辑。
这些软件模块通常由处理器914单独或与其他处理器结合地执行。存储子系统924中使用的存储器925能够包括多个存储器,其包括用于在程序执行期间存储指令和数据的主随机存取存储器(“RAM”)930和其中存储固定指令的只读存储器(“ROM”)932。文件存储子系统926能够为程序和数据文件提供永久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移除介质、CD-ROM驱动器、光盘驱动器或可移除介质盒。实现某些实施方式的功能的模块可以由文件存储子系统926存储在存储子系统924中,或者存储在处理器914可访问的其他机器中。
总线子系统912提供了一种机制,该机制让计算设备910的各个组件和子系统按预期彼此通信。尽管总线子系统912被示意性地示出为单条总线,但是总线子系统912的可替代实施方式可以使用多条总线。
计算设备910能够是各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,对图9中描绘的计算设备910的描述仅旨在作为出于图示一些实施方式的目的的特定示例。计算设备910的许多其他配置可能具有比图9描绘的计算设备更多或更少的组件。
在本文描述的系统收集关于用户(或者在本文中有时称为“参与者”)的个人信息或者可以利用个人信息的情况下,可以向用户提供机会来控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交行为或活动、职业、用户的偏好或用户的当前地理位置的信息)或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容。而且,某些数据可以在其被存储或使用之前以一种或多种方式被处理,使得个人可标识信息被移除。例如,可以处理用户的身份,使得不能确定用户的个人可标识信息,或者可以在获得地理位置信息的情况下将用户的地理位置一般化(诸如到城市、邮政编码或州级别),使得不能确定用户的具体地理位置。因此,用户可以控制如何收集和/或使用关于用户的信息。
在一些实施方式中,提供了一种由一个或多个处理器实现的方法,所述方法包括:在客户端设备处检测捕获用户的口头话语的音频数据,其中,所述客户端设备处于具有一个或多个附加客户端设备的环境中并且经由本地网络与所述一个或多个附加客户端设备进行本地通信,所述一个或多个附加客户端设备至少包括第一附加客户端设备。所述方法进一步包括在所述客户端设备处,使用在所述客户端设备处本地存储的自动语音识别(“ASR”)模型来处理所述音频数据,以生成所述口头话语的候选文本表示。所述方法进一步包括在所述客户端设备处,从所述第一附加客户端设备并且经由所述本地网络接收所述口头话语的第一附加候选文本表示,在所述第一附加客户端设备处本地生成的所述口头话语的所述第一附加候选文本表示是基于(a)所述音频数据和/或(b)捕获在所述第一附加客户端设备处检测到的所述口头话语的本地检测到的音频数据,其中,所述口头话语的所述第一附加候选文本表示是通过使用本地存储在所述第一附加客户端设备处的第一附加ASR模型处理所述音频数据和/或所述本地生成的音频数据来生成的。所述方法进一步包括基于所述口头话语的所述候选文本表示和由所述第一附加客户端设备生成的所述口头话语的所述第一附加候选文本表示来确定所述口头话语的文本表示。
该技术的这些和其他实施方式能够包括下述特征中的一个或多个。
在一些实施方式中,所述一个或多个附加客户端设备至少包括所述第一附加客户端设备和第二附加客户端设备。在一些实施方式中,在所述客户端设备处从所述第一附加客户端设备并且经由所述本地网络接收所述第一附加候选文本表示进一步包括:在所述客户端设备处,从所述第二附加客户端设备并且经由所述本地网络接收所述口头话语的第二附加候选文本表示,在所述第二附加客户端设备处本地生成的所述口头话语的所述第二附加候选文本表示是基于(a)所述音频数据和/或(b)捕获在所述第二附加客户端设备处检测到的所述口头话语的附加本地检测到的音频数据,其中,所述口头话语的所述第二附加候选文本表示是通过使用在所述第二附加客户端设备处本地存储的第二附加ASR模型处理所述音频数据和/或所述附加本地生成的音频数据来生成的。在一些实施方式中,基于所述口头话语的所述候选文本表示和由所述第一附加客户端设备生成的所述口头话语的所述第一附加候选文本表示来确定所述口头话语的所述文本表示进一步包括:基于所述口头话语的所述候选文本表示、由所述第一附加客户端设备生成的所述口头话语的所述第一附加候选文本表示以及由所述第二附加客户端设备生成的所述口头话语的所述第二附加候选文本表示来确定所述口头话语的所述文本表示。
在一些实施方式中,基于所述口头话语的所述候选文本表示和由所述第一附加客户端设备生成的所述口头话语的所述第一附加候选文本表示来确定所述口头话语的所述文本表示包括:随机选择所述口头话语的所述候选文本表示或所述口头话语的所述第一附加候选文本表示。在一些实施方式中,所述方法进一步包括基于所述随机选择来确定所述口头话语的所述文本表示。
在一些实施方式中,基于所述口头话语的所述候选文本表示和由所述第一附加客户端设备生成的所述口头话语的所述第一附加候选文本表示来确定所述口头话语的所述文本表示包括:确定所述候选文本表示的置信度得分,所述置信度得分指示所述候选文本表示是所述文本表示的概率,其中,所述置信度得分基于所述客户端设备的一个或多个设备参数。在一些实施方式中,所述方法进一步包括确定所述附加候选文本表示的附加置信度得分,所述附加置信度得分指示所述附加候选文本表示是所述文本表示的附加概率,其中,所述附加置信度得分基于所述附加客户端设备的一个或多个附加设备参数。在一些实施方式中,所述方法进一步包括比较所述置信度得分和所述附加置信度得分。在一些实施方式中,所述方法进一步包括基于所述比较来确定所述口头话语的所述文本表示。
在一些实施方式中,基于所述口头话语的所述候选文本表示和由所述第一附加客户端设备生成的所述口头话语的所述第一附加候选文本表示来确定所述口头话语的所述文本表示包括:确定音频质量值,所述音频质量值指示捕获在所述客户端设备处检测到的所述口头话语的所述音频数据的质量。在一些实施方式中,所述方法进一步包括确定附加音频质量值,所述附加音频质量值指示捕获在所述第一附加客户端设备处检测到的所述口头话语的所述附加音频数据的质量。在一些实施方式中,所述方法进一步包括将所述音频质量值与所述附加音频质量值进行比较。在一些实施方式中,所述方法进一步包括基于所述比较来确定所述口头话语的所述文本表示。
在一些实施方式中,基于所述口头话语的所述候选文本表示和由所述第一附加客户端设备生成的所述口头话语的所述第一附加候选文本表示来确定所述口头话语的所述文本表示包括:确定ASR质量值,所述ASR质量值指示在所述客户端设备处本地存储的所述ASR模型的质量。在一些实施方式中,所述方法进一步包括确定附加ASR质量值,所述附加ASR质量值指示在所述附加客户端设备处本地存储的所述附加ASR模型的质量。在一些实施方式中,所述方法进一步包括将所述ASR质量值与所述附加ASR质量值进行比较。在一些实施方式中,所述方法进一步包括基于所述比较来确定所述口头话语的所述文本表示。
在一些实施方式中,所述口头话语的所述第一附加候选文本表示包括多个假设,并且其中,基于所述口头话语的所述候选文本表示和由所述第一附加客户端设备生成的所述口头话语的所述第一附加候选文本表示来确定所述口头话语的所述文本表示包括:使用所述客户端设备对所述多个假设进行重新排序。在一些实施方式中,所述方法进一步包括基于所述口头话语的所述候选文本表示和所述重新排序的多个假设来确定所述口头话语的所述文本表示。
在一些实施方式中,在所述客户端设备处经由所述本地网络从所述第一附加客户端设备接收所述口头话语的所述第一附加候选文本表示之前,并且进一步包括(a)所述音频数据和/或(b)捕获在所述第一附加客户端设备处检测到的所述口头话语的所述本地检测到的音频数据,确定是否在所述第一附加客户端设备处本地生成所述口头话语的所述第一附加候选表示,其中,基于(a)所述音频数据和/或(b)捕获在所述第一附加客户端设备处检测到的所述口头话语的所述本地检测到的音频数据,确定是否在所述第一附加客户端设备处本地生成所述口头话语的所述第一附加候选表示包括:确定音频质量值,所述音频质量值指示捕获在所述客户端设备处检测到的所述口头话语的所述音频数据的质量。在一些实施方式中,所述方法进一步包括确定附加音频质量值,所述附加音频质量值指示捕获在所述第一附加客户端设备处检测到的所述口头话语的所述本地检测到的音频数据的质量。在一些实施方式中,所述方法进一步包括将所述音频质量值与所述附加音频质量值进行比较。在一些实施方式中,所述方法进一步包括基于所述比较,基于(a)所述音频数据和/或(b)捕获在所述第一附加客户端设备处检测到的所述口头话语的所述本地检测到的音频数据,确定是否在所述第一附加客户端设备处本地生成所述口头话语的所述第一附加候选表示。在那些实施方式的一些版本中,确定指示捕获在所述客户端设备处检测到的所述口头话语的所述音频数据的质量的所述音频质量值包括标识所述客户端设备的一个或多个麦克风。在那些实施方式的一些版本中,所述方法进一步包括基于所述客户端设备的所述一个或多个麦克风来确定所述音频质量值。在那些实施方式的一些版本中,确定指示捕获在所述第一附加客户端设备处检测到的所述口头话语的所述本地检测到的音频数据的质量的所述附加音频质量值包括标识所述第一附加客户端设备的一个或多个第一附加麦克风。在那些实施方式的一些版本中,所述方法进一步包括基于所述第一附加客户端设备的所述一个或多个第一附加麦克风来确定所述附加音频质量值。在那些实施方式的一些版本中,确定指示捕获在所述客户端设备处检测到的所述口头话语的所述音频数据的质量的所述音频质量值包括基于处理捕获所述口头话语的所述音频数据来生成信噪比值。在那些实施方式的一些版本中,所述方法进一步包括基于所述信噪比值确定所述音频质量值。在那些实施方式的一些版本中,确定指示捕获在所述第一附加客户端设备处检测到的所述口头话语的所述本地检测到的音频数据的质量的所述附加音频质量值包括基于处理捕获所述口头话语的所述音频数据来生成附加信噪比值。在那些实施方式的一些版本中,所述方法进一步包括基于所述附加信噪比值来确定所述附加音频质量值。
在一些实施方式中,在所述客户端设备处经由所述本地网络从所述第一附加客户端设备接收所述口头话语的第一附加候选文本表示之前,所述方法进一步包括确定是否向所述第一附加客户端设备发送对所述口头话语的所述第一附加候选文本表示的请求。在一些实施方式中,响应于确定向所述第一附加客户端设备发送对所述口头话语的所述第一附加候选文本表示的所述请求,所述方法进一步包括向所述第一附加客户端设备发送对所述口头话语的所述第一附加候选文本表示的所述请求。在那些实施方式的一些版本中,确定是否向所述第一附加客户端设备发送对所述口头话语的所述第一附加候选文本表示的所述请求包括基于使用热词模型处理捕获所述用户的所述口头话语的所述音频数据的至少部分来确定热词置信度得分,其中,所述热词置信度得分指示所述音频数据的至少所述部分是否包括热词的概率。在那些实施方式的一些版本中,所述方法进一步包括确定所述热词置信度得分是否满足一个或多个条件,其中,确定所述热词置信度得分是否满足所述一个或多个条件包括确定所述热词置信度得分是否满足阈值。在那些实施方式的一些版本中,响应于确定所述热词置信度得分满足阈值,所述方法进一步包括确定所述热词置信度得分是否指示所述音频数据的至少所述部分包括所述热词的弱概率。在那些实施方式的一些版本中,响应于确定所述热词置信度得分指示所述音频数据的所述至少部分包括所述热词的所述弱概率,所述方法进一步包括确定向所述第一附加客户端设备发送对所述口头话语的所述第一附加候选文本表示的所述请求。
另外,一些实施方式包括一个或多个计算设备的一个或多个处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)和/或张量处理单元(TPU)),其中,该一个或多个处理器可操作以执行存储在相关联的存储器中的指令,并且其中,该指令被配置为使得执行本文所述的任一方法。一些实施方式还包括一个或多个暂时性或非暂时性计算机可读存储介质,其存储可由一个或多个处理器执行以执行本文所述的任一方法的计算机指令。

Claims (14)

1.一种由一个或多个处理器实现的方法,所述方法包括:
在客户端设备处检测用于捕获用户的口头话语的音频数据,其中,所述客户端设备处于具有一个或多个附加客户端设备的环境中并且经由本地网络与所述一个或多个附加客户端设备进行本地通信,所述一个或多个附加客户端设备至少包括第一附加客户端设备;
在所述客户端设备处,使用在所述客户端设备处本地存储的自动语音识别“ASR”模型来处理所述音频数据,以生成所述口头话语的候选文本表示;
在所述客户端设备处,从所述第一附加客户端设备并且经由所述本地网络接收所述口头话语的第一附加候选文本表示,在所述第一附加客户端设备处本地生成的所述口头话语的所述第一附加候选文本表示是基于(a)所述音频数据和/或(b)用于捕获在所述第一附加客户端设备处检测到的所述口头话语的本地检测到的音频数据,其中,所述口头话语的所述第一附加候选文本表示是通过使用本地存储在所述第一附加客户端设备处的第一附加ASR模型处理所述音频数据和/或所述本地生成的音频数据来生成的;以及
基于所述口头话语的所述候选文本表示和由所述第一附加客户端设备生成的所述口头话语的所述第一附加候选文本表示,来确定所述口头话语的文本表示。
2.根据权利要求1所述的方法,
其中,所述一个或多个附加客户端设备至少包括所述第一附加客户端设备和第二附加客户端设备;
其中,在所述客户端设备处从所述第一附加客户端设备并且经由所述本地网络接收所述第一附加候选文本表示进一步包括:
在所述客户端设备处,从所述第二附加客户端设备并且经由所述本地网络接收所述口头话语的第二附加候选文本表示,在所述第二附加客户端设备处本地生成的所述口头话语的所述第二附加候选文本表示是基于(a)所述音频数据和/或(b)用于捕获在所述第二附加客户端设备处检测到的所述口头话语的附加本地检测到的音频数据,其中,所述口头话语的所述第二附加候选文本表示是通过使用在所述第二附加客户端设备处本地存储的第二附加ASR模型处理所述音频数据和/或所述附加本地生成的音频数据来生成的;以及
其中,基于所述口头话语的所述候选文本表示和由所述第一附加客户端设备生成的所述口头话语的所述第一附加候选文本表示来确定所述口头话语的所述文本表示进一步包括:
基于所述口头话语的所述候选文本表示、由所述第一附加客户端设备生成的所述口头话语的所述第一附加候选文本表示以及由所述第二附加客户端设备生成的所述口头话语的所述第二附加候选文本表示,来确定所述口头话语的所述文本表示。
3.根据权利要求1所述的方法,其中,基于所述口头话语的所述候选文本表示和由所述第一附加客户端设备生成的所述口头话语的所述第一附加候选文本表示来确定所述口头话语的所述文本表示包括:
随机选择所述口头话语的所述候选文本表示或所述口头话语的所述第一附加候选文本表示;以及
基于所述随机选择来确定所述口头话语的所述文本表示。
4.根据权利要求1所述的方法,其中,基于所述口头话语的所述候选文本表示和由所述第一附加客户端设备生成的所述口头话语的所述第一附加候选文本表示来确定所述口头话语的所述文本表示包括:
确定所述候选文本表示的置信度得分,所述置信度得分指示所述候选文本表示是所述文本表示的概率,其中,所述置信度得分是基于所述客户端设备的一个或多个设备参数;
确定所述附加候选文本表示的附加置信度得分,所述附加置信度得分指示所述附加候选文本表示是所述文本表示的附加概率,其中,所述附加置信度得分是基于所述附加客户端设备的一个或多个附加设备参数;
比较所述置信度得分和所述附加置信度得分;以及
基于所述比较来确定所述口头话语的所述文本表示。
5.根据权利要求1或权利要求4所述的方法,其中,基于所述口头话语的所述候选文本表示和由所述第一附加客户端设备生成的所述口头话语的所述第一附加候选文本表示来确定所述口头话语的所述文本表示包括:
确定音频质量值,所述音频质量值指示用于捕获在所述客户端设备处检测到的所述口头话语的所述音频数据的质量;
确定附加音频质量值,所述附加音频质量值指示用于捕获在所述第一附加客户端设备处检测到的所述口头话语的所述附加音频数据的质量;
将所述音频质量值与所述附加音频质量值进行比较;以及
基于所述比较来确定所述口头话语的所述文本表示。
6.根据权利要求1、权利要求4或权利要求5所述的方法,其中,基于所述口头话语的所述候选文本表示和由所述第一附加客户端设备生成的所述口头话语的所述第一附加候选文本表示来确定所述口头话语的所述文本表示包括:
确定ASR质量值,所述ASR质量值指示在所述客户端设备处本地存储的所述ASR模型的质量;
确定附加ASR质量值,所述附加ASR质量值指示在所述附加客户端设备处本地存储的附加ASR模型的质量;
将所述ASR质量值与所述附加ASR质量值进行比较;以及
基于所述比较来确定所述口头话语的所述文本表示。
7.根据前述权利要求中任一项所述的方法,其中,所述口头话语的所述第一附加候选文本表示包括多个假设,并且其中,基于所述口头话语的所述候选文本表示和由所述第一附加客户端设备生成的所述口头话语的所述第一附加候选文本表示来确定所述口头话语的所述文本表示包括:
使用所述客户端设备对所述多个假设进行重新排序;以及
基于所述口头话语的所述候选文本表示和重新排序的多个假设来确定所述口头话语的所述文本表示。
8.根据前述权利要求中任一项所述的方法,进一步包括:在所述客户端设备处经由所述本地网络从所述第一附加客户端设备接收所述口头话语的所述第一附加候选文本表示之前:
基于(a)所述音频数据和/或(b)用于捕获在所述第一附加客户端设备处检测到的所述口头话语的所述本地检测到的音频数据,来确定是否在所述第一附加客户端设备处本地生成所述口头话语的所述第一附加候选表示,其中,基于(a)所述音频数据和/或(b)用于捕获在所述第一附加客户端设备处检测到的所述口头话语的所述本地检测到的音频数据来确定是否在所述第一附加客户端设备处本地生成所述口头话语的所述第一附加候选表示包括:
确定音频质量值,所述音频质量值指示用于捕获在所述客户端设备处检测到的所述口头话语的所述音频数据的质量;
确定附加音频质量值,所述附加音频质量值用于指示捕获在所述第一附加客户端设备处检测到的所述口头话语的所述本地检测到的音频数据的质量;
将所述音频质量值与所述附加音频质量值进行比较;以及
基于所述比较,基于(a)所述音频数据和/或(b)用于捕获在所述第一附加客户端设备处检测到的所述口头话语的所述本地检测到的音频数据,来确定是否在所述第一附加客户端设备处本地生成所述口头话语的所述第一附加候选表示。
9.根据权利要求8所述的方法,其中,确定指示用于捕获在所述客户端设备处检测到的所述口头话语的所述音频数据的质量的所述音频质量值包括:
标识所述客户端设备的一个或多个麦克风;以及
基于所述客户端设备的所述一个或多个麦克风来确定所述音频质量值;以及
其中,确定指示用于捕获在所述第一附加客户端设备处检测到的所述口头话语的所述本地检测到的音频数据的质量的所述附加音频质量值包括:
标识所述第一附加客户端设备的一个或多个第一附加麦克风;以及
基于所述第一附加客户端设备的所述一个或多个第一附加麦克风来确定所述附加音频质量值。
10.根据权利要求8或权利要求9所述的方法,其中,确定指示用于捕获在所述客户端设备处检测到的所述口头话语的所述音频数据的质量的所述音频质量值包括:
基于处理用于捕获所述口头话语的所述音频数据来生成信噪比值;以及
基于所述信噪比值确定所述音频质量值;以及
其中,确定指示用于捕获在所述第一附加客户端设备处检测到的所述口头话语的所述本地检测到的音频数据的质量的所述附加音频质量值包括:
基于处理用于捕获所述口头话语的所述音频数据来生成附加信噪比值;以及
基于所述附加信噪比值来确定所述附加音频质量值。
11.根据前述权利要求中任一项所述的方法,进一步包括:
在所述客户端设备处经由所述本地网络从所述第一附加客户端设备接收所述口头话语的第一附加候选文本表示之前,确定是否向所述第一附加客户端设备发送对所述口头话语的所述第一附加候选文本表示的请求;
响应于确定向所述第一附加客户端设备发送对所述口头话语的所述第一附加候选文本表示的所述请求,向所述第一附加客户端设备发送对所述口头话语的所述第一附加候选文本表示的所述请求。
12.根据权利要求11所述的方法,其中,确定是否向所述第一附加客户端设备发送对所述口头话语的所述第一附加候选文本表示的所述请求包括:
基于使用热词模型处理用于捕获所述用户的所述口头话语的所述音频数据的至少部分来确定热词置信度得分,其中,所述热词置信度得分指示所述音频数据的至少部分是否包括热词的概率;
确定所述热词置信度得分是否满足一个或多个条件,其中,确定所述热词置信度得分是否满足所述一个或多个条件包括确定所述热词置信度得分是否满足阈值;
响应于确定所述热词置信度得分满足阈值,确定所述热词置信度得分是否指示所述音频数据的所述至少部分包括所述热词的弱概率;以及
响应于确定所述热词置信度得分指示所述音频数据的所述至少部分包括所述热词的所述弱概率,确定向所述第一附加客户端设备发送对所述口头话语的所述第一附加候选文本表示的所述请求。
13.一种被配置为存储指令的非暂时性计算机可读介质,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器执行操作,所述操作包括:
在客户端设备处检测用于捕获用户的口头话语的音频数据,其中,所述客户端设备处于具有一个或多个附加客户端设备的环境中并且经由本地网络与所述一个或多个附加客户端设备进行本地通信,所述一个或多个附加客户端设备至少包括第一附加客户端设备;
在所述客户端设备处,使用在所述客户端设备处本地存储的自动语音识别“ASR”模型来处理所述音频数据,以生成所述口头话语的候选文本表示;
在所述客户端设备处,从所述第一附加客户端设备并且经由所述本地网络接收所述口头话语的第一附加候选文本表示,在所述第一附加客户端设备处本地生成的所述口头话语的所述第一附加候选文本表示是基于(a)所述音频数据和/或(b)用于捕获在所述第一附加客户端设备处检测到的所述口头话语的本地检测到的音频数据,其中,所述口头话语的所述第一附加候选文本表示是通过使用本地存储在所述第一附加客户端设备处的第一附加ASR模型处理所述音频数据和/或所述本地生成的音频数据来生成的;以及
基于所述口头话语的所述候选文本表示和由所述第一附加客户端设备生成的所述口头话语的所述第一附加候选文本表示,来确定所述口头话语的文本表示。
14.一种系统,包括:
一个或多个处理器;以及
存储器,所述存储器被配置为存储指令,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行操作,所述操作包括:
在客户端设备处检测用于捕获用户的口头话语的音频数据,其中,所述客户端设备处于具有一个或多个附加客户端设备的环境中并且经由本地网络与所述一个或多个附加客户端设备进行本地通信,所述一个或多个附加客户端设备至少包括第一附加客户端设备;
在所述客户端设备处,使用在所述客户端设备处本地存储的自动语音识别“ASR”模型来处理所述音频数据,以生成所述口头话语的候选文本表示;
在所述客户端设备处,从所述第一附加客户端设备并且经由所述本地网络接收所述口头话语的第一附加候选文本表示,在所述第一附加客户端设备处本地生成的所述口头话语的所述第一附加候选文本表示是基于(a)所述音频数据和/或(b)用于捕获在所述第一附加客户端设备处检测到的所述口头话语的本地检测到的音频数据,其中,所述口头话语的所述第一附加候选文本表示是通过使用本地存储在所述第一附加客户端设备处的第一附加ASR模型处理所述音频数据和/或所述本地生成的音频数据来生成的;以及
基于所述口头话语的所述候选文本表示和由所述第一附加客户端设备生成的所述口头话语的所述第一附加候选文本表示,来确定所述口头话语的文本表示。
CN202180088457.0A 2021-03-11 2021-12-14 用于自动语音识别的本地执行的设备仲裁 Pending CN116762126A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/198,679 US20220293109A1 (en) 2021-03-11 2021-03-11 Device arbitration for local execution of automatic speech recognition
US17/198,679 2021-03-11
PCT/US2021/063370 WO2022191892A1 (en) 2021-03-11 2021-12-14 Device arbitration for local execution of automatic speech recognition

Publications (1)

Publication Number Publication Date
CN116762126A true CN116762126A (zh) 2023-09-15

Family

ID=79927589

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180088457.0A Pending CN116762126A (zh) 2021-03-11 2021-12-14 用于自动语音识别的本地执行的设备仲裁

Country Status (6)

Country Link
US (1) US20220293109A1 (zh)
EP (1) EP4139918A1 (zh)
JP (1) JP2024505788A (zh)
KR (1) KR20230153450A (zh)
CN (1) CN116762126A (zh)
WO (1) WO2022191892A1 (zh)

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8010369B2 (en) * 2007-10-30 2011-08-30 At&T Intellectual Property I, L.P. System and method for controlling devices that are connected to a network
US20110184740A1 (en) * 2010-01-26 2011-07-28 Google Inc. Integration of Embedded and Network Speech Recognizers
WO2012116110A1 (en) * 2011-02-22 2012-08-30 Speak With Me, Inc. Hybridized client-server speech recognition
JP6198432B2 (ja) * 2013-04-09 2017-09-20 小島プレス工業株式会社 音声認識制御装置
US20150032238A1 (en) * 2013-07-23 2015-01-29 Motorola Mobility Llc Method and Device for Audio Input Routing
US9443527B1 (en) * 2013-09-27 2016-09-13 Amazon Technologies, Inc. Speech recognition capability generation and control
KR102389313B1 (ko) * 2015-01-16 2022-04-21 삼성전자주식회사 문법 모델을 이용하여 음성인식을 수행하는 방법 및 디바이스
KR102387567B1 (ko) * 2015-01-19 2022-04-18 삼성전자주식회사 음성 인식 방법 및 음성 인식 장치
US10559309B2 (en) * 2016-12-22 2020-02-11 Google Llc Collaborative voice controlled devices
CN109523991B (zh) * 2017-09-15 2023-08-18 阿里巴巴集团控股有限公司 语音识别的方法及装置、设备
KR102471493B1 (ko) * 2017-10-17 2022-11-29 삼성전자주식회사 전자 장치 및 음성 인식 방법
US10616726B1 (en) * 2018-02-22 2020-04-07 Amazon Technologies, Inc. Outputing notifications using device groups
US11514917B2 (en) * 2018-08-27 2022-11-29 Samsung Electronics Co., Ltd. Method, device, and system of selectively using multiple voice data receiving devices for intelligent service
US11017778B1 (en) * 2018-12-04 2021-05-25 Sorenson Ip Holdings, Llc Switching between speech recognition systems
WO2020196955A1 (ko) * 2019-03-27 2020-10-01 엘지전자 주식회사 인공 지능 기기 및 인공 지능 기기의 동작 방법
US20190318742A1 (en) * 2019-06-26 2019-10-17 Intel Corporation Collaborative automatic speech recognition
US11138969B2 (en) * 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
CN111768783B (zh) * 2020-06-30 2024-04-02 北京百度网讯科技有限公司 语音交互控制方法、装置、电子设备、存储介质和系统

Also Published As

Publication number Publication date
KR20230153450A (ko) 2023-11-06
WO2022191892A1 (en) 2022-09-15
US20220293109A1 (en) 2022-09-15
EP4139918A1 (en) 2023-03-01
JP2024505788A (ja) 2024-02-08

Similar Documents

Publication Publication Date Title
JP7386878B2 (ja) アシスタントの応答を動的に適応させること
CN112262430A (zh) 自动确定经由自动助理界面接收到的口头话语的语音识别的语言
US11545157B2 (en) Speaker diartzation using an end-to-end model
US11922951B2 (en) Targeted voice separation by speaker conditioned on spectrogram masking
US11854533B2 (en) Speaker awareness using speaker dependent speech model(s)
JP2024019405A (ja) 2パスエンドツーエンド音声認識
US20220284049A1 (en) Natural language understanding clarifications
US11817106B2 (en) Selectively storing, with multiple user accounts and/or to a shared assistant device: speech recognition biasing, NLU biasing, and/or other data
EP3939033B1 (en) Automated assistant control of external applications lacking automated assistant application programming interface functionality
US20230237312A1 (en) Reinforcement learning techniques for selecting a software policy network and autonomously controlling a corresponding software client based on selected policy network
US20220293109A1 (en) Device arbitration for local execution of automatic speech recognition
CN113767379B (zh) 使用内容代理和/或存储的内容参数来渲染内容
US20230317082A1 (en) Generating and/or utilizing unintentional memorization measure(s) for automatic speech recognition model(s)

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