CN113412516B - 处理自动语音识别asr请求的方法和系统 - Google Patents

处理自动语音识别asr请求的方法和系统 Download PDF

Info

Publication number
CN113412516B
CN113412516B CN201980091504.XA CN201980091504A CN113412516B CN 113412516 B CN113412516 B CN 113412516B CN 201980091504 A CN201980091504 A CN 201980091504A CN 113412516 B CN113412516 B CN 113412516B
Authority
CN
China
Prior art keywords
asr
user device
speech input
pending
request
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.)
Active
Application number
CN201980091504.XA
Other languages
English (en)
Other versions
CN113412516A (zh
Inventor
M.谢里菲
A.克拉库恩
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 CN113412516A publication Critical patent/CN113412516A/zh
Application granted granted Critical
Publication of CN113412516B publication Critical patent/CN113412516B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • G10L25/60Speech 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 for measuring the quality of voice signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephonic Communication Services (AREA)

Abstract

一种方法包括从用户设备接收自动语音识别(ASR)请求,该请求包括由用户设备捕获的语音输入和与语音输入相关联的内容元数据。内容元数据由用户设备生成。方法还包括:基于与语音输入相关联的内容元数据来确定针对ASR请求的优先级分数,且将ASR请求缓存在未决ASR请求的预处理的待办事项中,每个未决ASR请求具有对应优先级分数。预处理的待办事项中的未决ASR请求以优先级分数的顺序被排名。方法还包括从预处理的待办事项中向后端侧ASR模块提供未决ASR请求中的一个或多个,其中,与较高优先级分数相关联的未决ASR请求在与较低优先级分数相关联的未决ASR请求之前被处理。

Description

处理自动语音识别ASR请求的方法和系统
技术领域
本公开涉及基于客户端计算的内容元数据的话音查询服务质量(QoS)。
背景技术
启用语音的环境(例如家庭、工作场所、学校、汽车等)允许用户向基于计算机的系统大声说出查询或命令,该系统对查询进行处理和回答且/或基于命令来执行功能。启用语音的环境可以使用分布在环境的各个房间或区域中的连接的麦克风设备的网络来实现。这些设备可以使用热词来帮助辨别给定话语何时针对系统,而不是针对环境中存在的另一个人的话语。因此,设备可以在睡眠状态或休眠状态下操作且仅当检测到的话语包括热词时才唤醒。发生在后端服务器处的查询处理成本很高,且服务器可能在查询多于在给定时间该服务器可以处置的查询的情况下变得过载。例如,在大型事件期间存在于电视节目/商业广告中的热词可能使服务器变得过载,从而导致中断。
发明内容
话音启用的设备(例如执行话音助手的用户设备)允许用户大声说出查询或命令且对查询进行处理和回答且/或基于命令来执行功能。通过使用“热词”(也被称为“关键字”、“注意词”、“唤醒短语/词”、“触发短语”或“话音动作发起命令”),其中,约好保留了被说出以引起对话音启用的设备的注意的预定术语/短语,话音启用的设备能够在针对系统的话语(即,以发起用于处理话语中的热词之后的一个或多个术语的唤醒处理)与针对环境中的个人的话语之间进行辨别。通常,话音启用的设备在睡眠状态或低功率状态下操作以节省电池电力且处理输入音频数据以检测口述热词。例如,当处于低功率状态时,话音启用的设备经由麦克风捕获输入音频且使用所训练的热词检测器以检测输入音频中的热词的存在。当热词在输入音频中被检测到时,话音启用的设备发起唤醒处理以用于处理热词和/或热词之后的输入音频中的任何其他术语。
通常,在话音启用的设备通过检测语音话语(例如输入音频)中存在热词而唤醒之后,话音启用的设备通过网络将热词和热词之后的一个或多个其他术语发送给基于服务器的处理堆栈(也称为查询处理后端),基于服务器的处理堆栈至少包括被配置成处理热词和/或热词之后的任何其他术语的自动语音识别器(ASR)。在此,ASR可以将接收到的音频视为ASR请求且将热词和/或热词之后的其他术语转录成对应文本。文本可以被提供给解释层以确定由输入音频指定的话音查询且将查询提供给适当的组件以执行与查询相关的动作。因此,当话音启用的设备的用户发出以下语音时:“嘿Google,哪些餐馆现在仍在营业?”,话音启用的设备可以响应于检测到热词(“嘿Google”)而唤醒,且将对应于话音查询的热词之后的术语(“附近的哪些餐馆现在仍在营业?”)提供给基于服务器的处理堆栈以进行处理。在该示例中,基于服务器的处理堆栈的ASR将话音查询转录成对应文本,解释层将确定需要搜索附近餐馆的营业时间,且搜索引擎将获得包含当前营业的附近餐馆的搜索结果列表。搜索结果可以被提供回话音启用的设备以用于显示或可听输出。在一些场景中,基于服务器的处理堆栈还包括文本到语音(TTS)转换器,该文本到语音转换器被配置成将搜索结果列表转换成合成语音,该合成语音被提供回话音启用的设备以用于其上的可听输出。
基于服务器的处理堆栈被配置成处理从与整个用户群相关联的多个话音启用的设备接收到的话音查询。这种情况可能包括数百万个话音启用的设备发送话音查询以供基于服务器的处理堆栈处理。处理话音查询是昂贵的任务,且在一些情况下,基于服务器的处理堆栈在相比于在给定时间该基于服务器的处理堆栈可以处理的查询而言查询太多的情况下变得过载。例如,当热词或听起来类似热词的其他术语存在于大型电视节目事件(例如超级碗期间的商业广告)中时,附近的话音启用的设备(例如靠近家庭中的电视)可能检测到热词且向基于服务器的处理堆栈发出非预期话音查询,从而导致基于服务器的处理堆栈的业务中出现非常大的尖峰。虽然可以想象基于服务器的处理堆栈简单地丢弃不是由真实用户发起和/或时间不紧迫的话音查询,但很难在不开始昂贵的处理的情况下标识这些查询。
本文中的实现针对一种从话音启用的设备(例如用户设备)接收ASR请求的查询处理后端(例如基于服务器的处理堆栈)。除了每个ASR请求包括由用户设备捕获的对应语音输入(包括用于处理的话音查询)之外,每个ASR请求还包括与由话音启用的设备生成的语音输入相关联的内容元数据。基于与语音输入相关联的内容元数据,查询处理后端能够确定针对每个ASR请求的优先级分数,且将ASR请求缓存在未决ASR请求的预处理的待办事项中,每个未决ASR请求具有对应优先级分数且以优先级分数的顺序被排名。此后,查询处理后端可以基于后端侧ASR模块的处理可用性将一个或多个未决ASR请求从预处理的待办事项提供给后端侧ASR模块(或查询处理后端的其他组件)。在此,不是后端侧ASR模块通过尝试在先到先得的基础上处理每个未决ASR请求而在业务尖峰期间变得过载,而是ASR请求被优先处理,以使得后端侧ASR模块在处理与较低优先级分数相关联的未决ASR请求之前处理与较高优先级分数相关联的未决ASR请求。当新ASR请求进来时,预处理的待办事项中的未决ASR请求将基于优先级分数被重新排序。在理想情况下,那些与不太可能由真实用户发起和/或时间不紧迫的非预期话音查询相关联的ASR请求被分配较低优先级分数。如此,与较低优先级分数相关联的ASR请求在业务尖峰期间保留在预处理的待办事项中,以使得后端ASR模块将首先处理与较高优先级分数相关联的ASR请求。
在一些示例中,低于某个阈值的优先级分数可能只会导致对应ASR请求被丢弃。根据内容元数据确定的低优先级分数也可能是对应ASR请求的处理将不成功的强指示符。例如,内容元数据可能指示与语音输入相关联的音频的质量极差,且因此,较差音频质量可以提供后端ASR模块将难以成功地将音频数据转录成对应文本的指示。同时,与由话音启用的设备捕获的语音相关联的较差音频质量也可能指示说出热词(或类似发音的词)的用户不靠近话音启用的设备,且因此,很可能不旨在向话音启用的设备提供语音输入。内容元数据还可以指示语音输入是否有可能由与话音启用的设备相关联的用户说出。例如,话音启用的设备上的热词检测器可以将语音输入与针对该用户的音频配置文件进行比较,且确定语音输入是否更有可能由该用户说出。当内容元数据确实指示用户确实有可能说出语音输入时,对应ASR请求可以被分配比在不同用户说出语音输入的情况下更高的优先级分数。另一方面,当内容元数据指示不同用户或来自音频广播设备(例如TV、音乐扬声器或其他能够输出声学声音的非人类源)的广播音频发起语音输入时,对应ASR请求可能被分配低优先级分数。内容元数据可以包括由话音启用的设备计算/生成且被包括在被提供给查询处理后端的ASR请求中的任何类型的数据,以使得查询处理后端可以优先处理ASR请求的重要性,而不引起对ASR请求的任何处理(或至少极有限的处理量)。鉴于前述内容,与语音输入相关联的内容元数据表示对应ASR请求将被后端侧ASR模块成功处理的可能性和/或对应ASR请求的处理将对与话音启用的设备相关联的用户有影响的可能性。
家庭设备中的语音处理通常发生在服务器处及高峰时间,这可能产生针对语音处理的请求的大量待办事项。这些请求中的一些可能是真实请求,而另一些可能是广播音频(例如来自非人类源的音频输出,诸如电视、收音机或合成语音)的结果。本发明的目的是提供一种改进大量语音识别请求的处理的方法。通过对请求进行优先处理,它允许语音识别模块处理更重要或更紧急的请求,这些请求为其他请求分配较低优先级。这种情况优化了语音识别模块在过载时的使用。
本公开的一个方面提供了一种用于提供针对话音查询的服务质量的方法。方法包括在查询处理后端的数据处理硬件处接收来自用户设备的自动语音识别(ASR)请求。ASR请求包括由用户设备捕获的语音输入以及与语音输入相关联的内容元数据。语音输入包括话音查询,且内容元数据由用户设备生成。方法还包括由数据处理硬件基于与语音输入相关联的内容元数据来确定针对ASR请求的优先级分数。方法还包括由数据处理硬件将ASR请求缓存在未决ASR请求的预处理的待办事项中,每个未决ASR请求具有对应优先级分数。预处理的待办事项中的未决ASR请求以优先级分数的顺序被排名。方法进一步包括通过数据处理硬件从预处理的待办事项基于后端侧ASR模块的处理可用性来将未决ASR请求中的一个或多个提供给后端侧ASR模块。与较高优先级分数相关联的未决ASR请求在与较低优先级分数相关联的未决ASR请求之前由后端侧ASR模块处理。
本公开的实现可以包括以下可选特征中的一个或多个:在一些实现中,后端侧ASR模块被配置成响应于接收到来自未决ASR请求的预处理的待办事项的每个未决ASR请求,处理未决ASR请求以生成针对与未决ASR请求相关联的对应语音输入的ASR结果。在一些实现中,方法进一步包括响应于在未决ASR请求的预处理的待办事项中缓存一个或多个新ASR请求,由数据处理硬件以优先级分数的顺序对预处理的待办事项中的未决ASR请求进行重新排名。另外或替代地,方法可以包括由数据处理硬件拒绝驻留在预处理的待办事项中达满足超时阈值的时间段的任何未决ASR请求被后端侧ASR模块处理。在一些实现中,方法进一步包括响应于接收到具有小于优先级分数阈值的相应优先级分数的新ASR请求,由数据处理硬件拒绝新ASR请求被后端侧ASR模块处理。
与语音输入相关联的内容元数据可以表示对应ASR将被后端侧ASR模块成功处理的可能性。在一些实现中,与语音输入相关联的内容元数据表示对应ASR请求的处理将对与用户设备相关联的用户有影响的可能性。与语音输入相关联且由用户设备生成的内容元数据可以包括以下至少一个:登录指示符,指示与用户设备相关联的用户是否被登录到用户设备;针对语音输入的说话者标识分数,指示语音输入匹配与用户设备相关联的说话者配置文件的可能性;针对语音输入的广播语音分数,指示语音输入对应于来自非人类源的广播或合成语音输出的可能性;热词置信度分数,指示语音输入中的话音查询之前的一个或多个术语对应于预定义的热词的可能性;活动指示符,指示用户设备与查询处理后端之间是否正在进行多轮交互;语音输入的音频信号分数;空间定位分数,指示用户相对于用户设备的距离和位置;语音输入的转录,由驻留在用户设备上的设备上ASR模块生成;用户设备行为信号,指示用户设备的当前行为;或环境情况信号,指示相对于用户设备的当前环境情况。
在一些实现中,用户设备被配置成响应于在口述话语中检测到在话音查询之前的热词:捕获包括话音查询的语音输入;生成与语音输入相关联的内容元数据;以及向数据处理硬件传输对应ASR请求。语音输入可以进一步包括热词。在一些示例中,方法进一步包括从数据处理硬件向用户设备传输设备上处理指令。当用户设备确定查询处理后端过载时,设备上处理指令提供用于本地处理由用户设备在设备上捕获的任何新语音输入的至少一部分的一个或多个准则。在这些示例中,用户设备可以被配置成确定所述查询处理后端通过以下至少一个过载:获得与由用户设备传达给数据处理硬件的先前ASR请求相关联的历史数据;在查询处理后端处从数据处理硬件接收过去和/或预测的过载情况的计划表;或从运行中的数据处理硬件接收指示处理后端处的当前过载情况的过载情况状态通知。此外,用于本地处理任何新语音输入的至少一部分的一个或多个准则可以包括指导用户设备执行以下至少一个:使用驻留在设备上的本地ASR模块转录新语音输入;解释新语音输入的转录以确定对应于新语音输入的话音查询;确定用户设备是否可以执行与对应于新语音输入的话音查询相关联的动作;或当用户设备无法执行与话音查询相关联的动作时,将语音输入的转录传输给查询处理系统。在一些实现中,提供一个或多个准则的设备上处理指令包括内容元数据的对应部分必须满足以便用户设备将ASR请求传输给查询处理后端的一个或多个阈值。在一些示例中,当阈值中的至少一个不被满足时,设备上处理指令进一步指导用户设备丢弃ASR请求。
本公开的另一方面提供了一种用于提供针对话音查询的服务质量的方法。系统包括查询处理后端的数据处理硬件和与数据处理硬件通信的存储器硬件。存储器硬件存储指令,当在数据处理硬件上被执行时,这些指令使数据处理硬件执行操作。操作包括从用户设备接收自动语音识别(ASR)请求。ASR请求包括由用户设备捕获的语音输入以及与语音输入相关联的内容元数据。语音输入包括话音查询,且内容元数据由用户设备生成。操作还包括:基于与语音输入相关联的内容元数据来确定针对ASR请求的优先级分数,且将ASR请求缓存在未决ASR请求的预处理的待办事项中,每个未决ASR请求具有对应优先级分数。预处理的待办事项中的未决ASR请求以优先级分数的顺序被排名。操作进一步包括从预处理的待办事项基于后端侧ASR模块的处理可用性来将未决ASR请求中的一个或多个提供给后端侧ASR模块。与较高优先级分数相关联的未决ASR请求在与较低优先级分数相关联的未决ASR请求之前由后端侧ASR模块处理。
该方面可以包括以下可选特征中的一个或多个。在一些实现中,后端侧ASR模块被配置成响应于接收到来自未决ASR请求的预处理的待办事项的每个未决ASR请求,处理未决ASR请求以生成针对与未决ASR请求相关联的对应语音输入的ASR结果。在一些示例中,操作进一步包括响应于在未决ASR请求的预处理的待办事项中缓存一个或多个新ASR请求,以优先级分数的顺序对预处理的待办事项中的未决ASR请求进行重新排名。另外或替代地,操作可以进一步包括拒绝驻留在预处理的待办事项中达满足超时阈值的时间段的任何未决ASR请求被后端侧ASR模块处理。在一些实现中,操作进一步包括响应于接收到具有小于优先级分数阈值的相应优先级分数的新ASR请求,拒绝新ASR请求被后端侧ASR模块处理。
与语音输入相关联的内容元数据可以表示对应ASR请求将被后端侧ASR模块成功处理的可能性。在一些示例中,与语音输入相关联的内容元数据表示对应ASR请求的处理将对与用户设备相关联的用户有影响的可能性。与语音输入相关联且由用户设备生成的内容元数据可以包括以下至少一个:登录指示符,指示与用户设备相关联的用户是否被登录到用户设备;针对语音输入的说话者标识分数,指示语音输入匹配与用户设备相关联的说话者配置文件的可能性;针对语音输入的广播语音分数,指示语音输入对应于来自非人类源的广播或合成语音输出的可能性;热词置信度分数,指示语音输入中的话音查询之前的一个或多个术语对应于预定义的热词的可能性;活动指示符,指示用户设备与查询处理后端之间是否正在进行多轮交互;语音输入的音频信号分数;空间定位分数,指示用户相对于用户设备的距离和位置;语音输入的转录,由驻留在用户设备上的设备上ASR模块生成;用户设备行为信号,指示用户设备的当前行为;或环境情况信号,指示相对于用户设备的当前环境情况。
在一些实现中,用户设备被配置成响应于在口述话语中检测到在话音查询之前的热词:捕获包括话音查询的语音输入;生成与语音输入相关联的内容元数据;以及向数据处理硬件传输对应ASR请求。语音输入可以进一步包括热词。在一些示例中,操作进一步包括向用户设备传输设备上处理指令。当用户设备确定查询处理后端过载时,设备上处理指令提供用于本地处理由用户设备在设备上捕获的任何新语音输入的至少一部分的一个或多个准则。在这些示例中,用户设备可以被配置成确定所述查询处理后端通过以下至少一个过载:获得与由用户设备传达给数据处理硬件的先前ASR请求相关联的历史数据;在查询处理后端处从数据处理硬件接收过去和/或预测的过载情况的计划表;或从运行中的数据处理硬件接收指示处理后端处的当前过载情况的过载情况状态通知。在其他示例中,用于本地处理任何新语音输入的至少一部分的一个或多个准则包括指导用户设备执行以下至少一个:使用驻留在设备上的本地ASR模块转录新语音输入;解释新语音输入的转录以确定对应于新语音输入的话音查询;确定用户设备是否可以执行与对应于新语音输入的话音查询相关联的动作;或当用户设备无法执行与话音查询相关联的动作时,将语音输入的转录传输给查询处理系统。在一些实现中,提供一个或多个准则的设备上处理指令包括内容元数据的对应部分必须满足以便用户设备将ASR请求传输给查询处理后端的一个或多个阈值。在一些示例中,当阈值中的至少一个不被满足时,设备上处理指令进一步指导用户设备丢弃ASR请求。
在附图和以下描述中阐述了本公开的一种或多种实现的细节。其他方面、特征和优点将根据说明书和附图和根据权利要求书而明显。
附图说明
图1示意性地说明了用于对从用户设备接收到的未决自动语音识别(ASR)请求进行优先处理的示例系统。
图2示意性地说明了生成与由用户设备捕获的语音输入相关联的内容元数据的示例用户设备。
图3A至3C示意性地说明了被配置成对未决ASR请求连续地进行重新排名的示例语音查询服务质量(QoS)管理器。
图4示意性地说明了图1的向用户设备提供设备上处理指令的QoS管理器。
图5是针对用于基于查询处理堆栈处的处理可用性来处理查询处理堆栈处的未决ASR请求的方法的示例操作布置的流程图。
图6是针对当基于服务器的查询处理堆栈过载时执行设备上处理指令的方法的示例操作布置的流程图。
图7是可以被用于实现本文中所描述的系统和方法的示例计算设备的示意图。
在各个附图中,相似附图标记指示相似元件。
具体实施方式
参考图1,在一些实现中,系统100包括用户设备200、200a-n,每个用户设备与用户10、10a-n相关联,用户可以经由网络130与远程系统140通信。一些用户10可以与多于一个用户设备200相关联且/或一些用户设备200可以与多于一个用户10(例如家庭的家庭成员)相关联。远程系统140可以是具有可扩展/弹性资源142的分布式系统(例如云计算环境)。资源142包括计算资源144(例如数据处理硬件)和/或存储资源146(例如存储器硬件)。在一些实现中,远程系统140包括话音查询服务质量(QoS)管理器300和查询处理堆栈700、700a。查询处理堆栈700a可以被称为查询处理后端、基于服务器的或后端侧查询处理堆栈700a。QoS管理器300被配置成从用户设备200接收包括与语音输入104相关联的音频数据103和内容元数据110的自动语音识别(ASR)请求102。QoS管理器300然后可以至少基于内容元数据110向ASR请求102分配优先级分数311。使用分配给每个接收到的ASR请求102的优先级分数311且基于查询处理堆栈700的处理可用性,QoS管理器300将对应排名312分配给每个ASR请求102且将ASR请求102以从最高到最低的排名312的顺序提供给查询处理堆栈700,即具有与较高优先级分数311相关联的排名312的ASR请求在具有与较低优先级分数311相关联的排名312的ASR请求102之前由查询处理堆栈700处理。
用户设备200包括数据处理硬件204和存储器硬件206。用户设备200可以包括用于捕获来自用户10的语音输入104且将其转换成音频数据103(例如电信号)的音频捕获设备(例如麦克风)。在一些实现中,数据处理硬件204被配置成执行查询处理堆栈700、700b而不是或代替在远程系统140上执行的查询处理堆栈700a。例如,查询处理堆栈700b可以包括与在远程系统140上执行的查询处理堆栈700a相同或不同的组件中的一些,诸如但不限于设备上ASR模块220n(图2)、解释器模块720或文本到语音(TTS)模块730中的至少一个。在一些示例中,用户设备200执行设备上ASR模块220n(图2)以用于快速地且在不需要网络连接的情况下生成低保真转录,而远程系统140执行基于服务器的ASR模块710,该基于服务器的ASR模块能够与设备上低保真转录相比,以更高的延迟为代价生成高保真转录。用户设备200可以是能够通过网络130与远程系统140通信的任何计算设备。用户设备200包括但不限于台式计算设备和移动计算设备,诸如膝上型计算机、智能扬声器、智能显示器、平板计算机、智能电话和可穿戴式计算设备(例如耳机和/或手表)。
在所示出的示例中,用户10可以通过说话向用户设备200提供语音输入104,且用户设备200可以捕获语音输入104且将其转换成音频数据103。用户设备200然后可以将包括与语音输入104相关联的音频数据103和内容元数据110的ASR请求102传输给在远程系统140上执行的QoS管理器300a。在此,QoS管理器300至少基于内容元数据110向ASR请求102分配排名312,且以从最高排名312到最低排名312的顺序将ASR请求102发送给查询处理堆栈700。用户设备200可以可选地在设备上执行查询处理堆栈700b以处理ASR请求102或ASR请求102的某个部分。例如,当网络通信中断或不可用时,用户设备200可以在本地执行查询处理堆栈700b以处理ASR请求102。在一些示例中,当确定ASR请求102是时间敏感的(例如ASR请求102将定时器设置为一分钟)时,用户设备200可以在本地执行查询处理堆栈700b以处理ASR请求102。本文中的实现进一步包括在当在远程系统140上执行的QoS管理器300a确定/检测到基于服务器的查询处理堆栈700过载和/或当前经历要处理的ASR请求102中的大尖峰时的场景中,用户设备200在本地执行查询处理堆栈700b。
由QoS管理器300获得的内容元数据110可以包括与语音输入104相关联的语音识别类别、在与用户10相关联的用户设备200上运行的应用、在接收到语音输入104时用户10的地点、标识用户10的用户标识符、与用户10相关联的人口统计信息、用户10是否登录到用户设备200、用户10当前是否是与系统100的多轮交互的部分、确定用户10相对于用户设备200的距离和位置的空间定位信息或通过在用户设备200上执行添加分类器而获得的广告似然信息中的至少一个,该添加分类器利用来自多个源220、220a-n(图2)的数据/信息。具体地,且在下文参考图2更详细地描述,用户设备200被配置成生成与每个语音输入104相关联的内容元数据110且将包括内容元数据110和语音输入104(例如音频数据103)的相关联的ASR请求102提供给在远程系统140上执行的QoS管理器300a。
QoS管理器300包括排名器310和预处理的待办事项320。排名器310被配置成分析ASR请求102中所包含的内容元数据110以确定ASR请求102为真实的可能性,且基于ASR请求102为真实的可能性为ASR请求102分配对应排名312。如本文中所使用,“真实的”ASR请求102是指ASR请求102,其包括由真实用户10说出且作为语音查询被引导到用户设备200以供查询处理堆栈700处理的语音输入104。在一些示例中,QoS管理器300基于ASR请求102中所包含的内容元数据110为每个接收到的ASR请求102确定对应优先级分数311。在此,QoS管理器300可以基于对应优先级分数311将排名312分配给每个ASR请求102。因此,基于针对每个接收到的ASR请求102的内容元数据110的优先级分数311可以指示ASR请求是真实的可能性。例如,内容元数据110可以指示ASR请求102在电视/无线电广告、公告或其他节目期间来自除用户10、10a-n中的一个之外的源,诸如来自非人类源(例如电视或无线电)12。因此,排名器310针对ASR请求102确定低优先级分数311,这是因为内容元数据110指示ASR请求102很可能不是真实的,从而使排名器310基于ASR请求102是真实的低可能性来将低排名312分配给ASR请求102。在其他示例中,内容元数据110指示ASR请求102来自用户10、10a-n中的一个,因此,排名器310可以针对ASR请求102确定高优先级分数311且基于ASR请求102是真实的高可能性来将高排名312分配给ASR请求102。另外或替代地,除了内容元数据110之外或不是内容元数据110,排名器310可以分析音频数据103和/或任何其他合适的信息以确定ASR请求102是真实的可能性。
在针对每个ASR请求102确定优先级分数311且分配排名312之后,排名器310将ASR请求102缓存在未决ASR请求102的预处理的待办事项320中,每个未决ASR请求具有对应优先级分数311(先前由排名器310确定)。在此,预处理的待办事项320中的未决ASR请求102以优先级分数311的顺序被排名,以使得查询处理堆栈700在处理与较低排名312相关联的未决ASR请求102之前处理与较高排名312相关联的未决ASR请求102。
排名器310连续地或半连续地接收预处理的待办事项320中的未决ASR请求102的列表322,且当新ASR请求102由QoS管理器300通过网络130接收到时对未决ASR请求102进行重新排名。例如,排名器310可以确定新ASR请求102具有比当前缓存在预处理的待办事项320中的未决ASR请求102的列表322中的任何优先级分数311高的对应优先级分数311,同时等待被查询处理堆栈700处理。待办事项320可以将未决ASR请求102的列表322提供给排名器310作为反馈,且排名器310可以为新ASR请求102分配比未决ASR请求102的列表322中的排名312高的排名312,以使得新ASR请求102优先于待办事项320中的其他未决ASR请求102以供查询处理堆栈700处理。在一些实现中,排名器310丢弃列表322中的未决ASR请求102中的至少一个。例如,排名器310可以确定待办事项320中的未决ASR请求102的数量超过预定阈值。为了针对具有较高排名312的新ASR请求102清除待办事项320中的空间和/或增加其带宽,排名器310可以丢弃与较低排名312相关联的未决ASR请求102中的至少一个。另外或替代地,排名器310可以丢弃(即,已在待办事项320中未决达超过预定阈值的持续时间)未决ASR请求102的列表322中的已超时的未决ASR请求102中的至少一个。
预处理的待办事项320中的每个未决ASR请求102正在等待由查询处理堆栈700基于被分配给未决ASR请求102的排名312进行处理。例如,最高排名的ASR请求102(例如与最高优先级分数311相关联的ASR请求102)在第二高排名的ASR请求102(例如与次高优先级分数311相关联的ASR请求102)之前被处理,第二高排名的ASR请求102在第三高排名的ASR请求102之前被处理等。待办事项320连续地或半连续地将列表322传达给排名器310以促进对未决ASR请求102的重新排名。
远程系统140上的查询处理堆栈700、700a以排名312的降序从QoS管理器300接收未被丢弃或超时的每个ASR请求102,包括与语音输入104相关联的音频数据103和内容元数据110。查询处理堆栈700至少包括ASR模块710、解释器模块720或TTS模块730。ASR模块710可以对ASR请求102执行各种操作,诸如例如处理、噪声建模、声学建模、语言模型、注释等,以生成针对语音输入104的语音识别结果(例如转录)。ASR模块710将该语音识别结果发送给解释器720以确定ASR请求102的意图且生成响应。例如,请求当前时间的ASR请求102将由查询处理堆栈700确定且生成用户10的时区中的当前时间的响应来满足。TTS模块730可以将该响应从文本转换成语音且将响应以音频形式输出到用户设备200,该响应然后作为合成语音经由例如用户设备200的扬声器被输出到用户10。另外或替代地,响应可以以文本形式被输出到用户设备200,该响应然后经由例如用户设备200的屏幕被传输给用户10。在其他实现中,用户设备200可以从查询处理堆栈700a接收呈文本或其他数据的形式的响应且使用设备上TTS模块将响应转换成语音。
图2示出了示例用户设备200,该用户设备捕获语音输入104、从多个源220、220a-n中的一个或多个收集信息/数据且生成与语音输入104相关联的内容元数据110以包括在被发送给QoS管理器300的ASR请求102中。用户设备200包括屏幕212且执行图形用户界面214以显示在屏幕212上。如图2中所示出,语音输入104对应于被引导至用户设备200(例如在用户设备200上执行的日历应用220e)的热词(“嘿Google”)和随后的语音查询,以将给定日期(12月8日)的事件(跳过Fikany的生日)添加到日历应用200e。在一些实现中,用户设备200在图形用户界面214中所显示的语音搜索/命令窗口216中呈现语音输入104的转录。
在用户设备200接收到语音输入104之后,用户设备200利用来自多个源220的语音输入104所关联的信息/数据且执行信号生成器218(在数据处理硬件204上)以生成内容元数据110,该内容元数据可以被用于提供关于语音输入104的上下文或提示以供QoS管理器300使用,而不需QoS管理器300或在远程系统140上执行的查询处理堆栈700开始处理ASR请求102。与语音输入104相关联且由信号生成器218生成的内容元数据110包括以下至少一个:登录指示符,指示与用户设备200相关联的用户10是否被登录到用户设备200;针对语音输入104的说话者标识分数,指示语音输入匹配与用户设备200相关联的说话者配置文件的可能性;针对语音输入104的广播语音分数,指示语音输入104对应于来自非人类源(例如电视)的广播或合成语音输出的可能性;热词置信度分数,指示语音输入104中所检测到的话音查询之前的一个或多个术语对应于热词的可能性;活动指示符,指示用户设备200与查询处理堆栈700(例如查询处理后端)之间是否正在进行多轮交互;语音输入104的音频信号质量度量;空间定位分数,指示用户10相对于用户设备200的距离和位置;语音输入104的转录(例如低保真转录),由设备上ASR模块220n生成;用户设备行为信号,指示用户设备200的当前行为;或环境情况信号,指示相对于用户设备200的当前环境情况。多个源220包括但不限于说话者分类器220、220a、广播音频分类器220、200b、热词检测器220、220c、会话活动日志220、220d、在用户设备200上执行的一个或多个应用220、220e、音频质量评分器220、220f、用户设备200的一个或多个传感器220、220g以及设备上ASR 220、220n中的至少一个。如将明显的是,信号生成器218被配置成利用来自任何源220以及任何其他相关源的数据/信息以用于生成与语音输入104相关联的内容元数据110。此外,从两个或更多个源220获得的数据/信息更多地重叠,从而使得信号生成器218能够生成更稳健的内容元数据110。
说话者分类器220a可以将语音输入104的音频数据103(例如与发音、定时等相关的声学特征)与针对与用户设备200的一个或多个用户10相关联的说话者配置文件的声学特征进行比较。例如,说话者配置文件可以在说话者注册处理期间由被授权使用用户设备200(诸如智能扬声器)的家庭的一个或多个用户10学习和/或生成。如果语音输入104的音频数据103匹配针对与用户设备200相关联的一个或多个用户10的说话者配置文件的声学特征,那么说话者分类器220a可以输出高说话者标识分数,该高说话者标识分数指示语音输入104可能由与用户设备200相关联的用户10说出。在该实例中,信号生成器218可以使用高说话者标识分数来提供指示对应ASR请求102是真实的高可能性的内容元数据110。另一方面,当语音输入104的音频数据103不匹配针对与用户设备200相关联的用户10的说话者配置文件的声学特征时,说话者分类器220a可以提供低说话者标识分数。因此,说话者标识分数可以对应于音频数据103匹配已知说话者配置文件的置信度值或概率。
广播音频分类器220b可以分析语音输入104的音频数据103以提供针对语音输入的广播语音分数,该广播语音分数指示语音输入104对应于来自非人类源12(诸如例如电视、收音机、计算机或能够输出广播和/或合成语音的任何其他音频输出设备)的广播或合成语音输出的可能性。如本文中所使用,广播语音是指由人类(例如新闻播音员、演员、广播人物等)说出但对应于在媒体事件(诸如商业广告、无线电节目、电视节目和/或电影)期间从非人类源12发出/广播的音频内容的语音。另一方面,合成语音是指由例如文本到语音(TTS)系统生成的非人类语音。广播音频分类器220b可能能够检测水印或其他特征,这些水印或其他特征可以被附加到从非人类源12发出/广播的音频内容且/或可以自学习以区分来自靠近用户设备200的真实人类的语音输出与来自非人类源12的作为合成语音或在媒体事件期间被广播的语音输出。
在一些示例中,广播音频分类器220b还分析由说话者分类器220a提供的说话者标识分数作为确定广播语音分数的基础。例如,从说话者分类器输出的高说话者标识分数是语音输入104不是从非人类源12输出的强指示,而从说话者分类器220a输出的低说话者标识分数打开了语音输入104可能从非人类源12发出的可能性。
热词检测器220c计算针对语音输入104的热词置信度分数且将热词置信度分数与热词置信度分数阈值进行比较。热词置信度分数阈值表示当由热词检测器220c检测到时触发用户设备200从睡眠状态唤醒以捕获对应于语音查询的语音输入104的剩余部分且生成要发送给查询处理堆栈700的ASR请求102的热词置信度分数。在用户10清楚地说出指定的热词“好的,Google”且在用户设备200附近的实例中,热词置信度分数可能较高(例如,>0.9)。在一些实例中,用户设备200附近的用户10可能说出短语(诸如“好的,poodle”),其听起来与指定的热词“好的,Google”类似,从而产生较低的置信度分数(例如0.7)但仍然满足热词置信度分数阈值(例如0.68)。此外,如果说话者离用户设备200较远或说话不太清楚,那么热词置信度分数可能降低。因此,提供包括语音输入104(即语音输入104的初始部分)的热词置信度分数的内容元数据110可以指示尽管满足了热词置信度分数阈值以触发用户设备200唤醒,但热词置信度分数可能足够低以指示说话者在远处和/或说出听起来与热词类似的某一其他短语,且因此不旨在唤起用户设备200。因此,热词置信度分数可以对指示ASR请求是否可能是真实的内容元数据110作出贡献。
会话活动日志220d可以提供用户设备200与查询处理堆栈700之间的交互日志。例如,日志220d可以包括发送给查询处理堆栈700的最近ASR请求102的时间戳和从查询处理堆栈返回的对应TTS响应。信号生成器218可以访问会话活动日志220d以确定内容元数据110,该内容元数据指示用户设备200与查询处理堆栈700之间是否正在进行多轮交互。例如,如果ASR请求102是针对询问“我应该带雨伞吗”的话音查询,那么会话活动日志220d可以示出用户设备200刚刚提供了询问“明天早上底特律的温度将是多少”的先前的话音查询且接收到来自查询处理堆栈700的TTS响应,该TTS响应陈述了“底特律明天早上7点的温度将是62度,且到上午11点将达到73度”。因此,信号生成器218可以生成用于包括在ASR请求102中的内容元数据110,指示ASR请求102可能是真实的,这是因为用户10当前参与了与用户设备200的持续讨论。在另一示例中,用户10可能最近提交了要求用户设备200搜索本地餐馆的ASR请求102。如果随后的ASR请求102被提交,从而请求用户设备200在本地餐厅中的一个处进行预订,那么会话活动日志220d可以指示用户设备200和查询处理堆栈700之间正在进行多轮交互。此外,信号生成器218可以进一步确定特定应用220e(诸如数字话音助理),当前正在用户设备200上执行,以提供针对用户设备200与查询处理堆栈之间正在进行的多轮交互正在进行的活动指示符。在一些示例中,数字话音助理应用220e在会话活动日志220d中记录会话活动以供信号生成器218使用。音频质量评分器220f可以被配置成确定语音输入的音频质量评分。在一些示例中,音频质量评分器220f测量与语音输入104相关联的音频数据103的响度(例如分贝)。测量到的响度可以对应于音频数据103的对应于由热词检测器220c检测到的热词的部分、音频数据103的对应于热词之后的话音查询的部分或由用户设备200捕获的整个音频数据103。语音输入104的音频质量分数可以进一步指示音频数据103中存在的背景噪声水平。因此,音频质量分数可以简单地指语音输入104的音频质量的置信度分数,即语音输入104被用户设备200的麦克风捕获的程度(how well)。
信号生成器218可以通过利用来自多个源220的数据/信息来确定包括针对语音输入104的空间定位分数的内容元数据110以便例如指示用户10相对于用户设备200的距离和位置。在一些示例中,来自热词检测器220c的热词置信度分数和/或来自音频质量评分器220f的音频质量分数可以对空间定位分数有贡献。例如,低热词置信度分数和/或低音频质量分数可以被用于指示说出语音输入104的源(例如用户10)不在用户设备200附近。另外或替代地,空间定位分数可以基于由用户设备200的一个或多个传感器220、200g收集的数据/信息。传感器220g可以包括但不限于光检测传感器、加速度计、麦克风、陀螺仪、磁力计、接近传感器、触摸屏传感器、气压计或全球定位系统(GPS)传感器中的至少一个。例如,如果用户设备200包括一副智能耳机,那么传感器220g中的一个或多个可以被用于确定用户10当前是否佩戴耳机或耳机是否未被佩戴,且因此,不处于使用中。用户10是否佩戴智能耳机可以由传感器220g(例如接近传感器、加速度计等)中的一个确定。在该示例中,当用户10佩戴智能耳机时,信号生成器218可以生成高空间定位分数(例如二进制值1),且当用户10未佩戴智能耳机时生成低空间定位分数(例如二进制值0)。作为另一示例,传感器220g中的一个可能能够检测位于房屋的房间中的用户设备200的环境中的光能以指示房间是否黑暗。例如,低于指定阈值的光能水平可以指示用户设备200位于暗室中。如此,当用户设备200在晚上期间(例如通过进一步访问一天中的当前时间)位于暗室中时,信号生成器218可以确定低空间定位分数以指示可能没有用户10存在于与用户设备200相同的房间中。相反,信号生成器218在确定空间定位分数时可以利用来自会话活动日志220d的信息,该信息指示存在请求用户设备200关闭房间中的灯的当前ASR请求102,且因此,空间定位分数可能反而反映暗室中存在用户10。作为又一示例,作为车辆的信息娱乐系统的一部分的用户设备200可以使用传感器220g来确定用户10是否在车辆的舱室中、车辆是否正在运行等。在该示例中,尽管用户设备200捕获语音输入104,但没有人在车辆的舱内且车辆不处于操作中的事实可以指示语音输入104被引导到某个其他用户设备200或被信息娱乐系统意外捕获的背景噪音。
包括登录指示符的内容元数据110可以确定用户10是否登录到用户设备200,例如,用户10键入了正确的凭证来访问/解锁用户设备200。登录到用户设备200的用户10的存在可以增加ASR请求102是真实的可能性。此外,登录指示符可以指示用户10是否登录到在用户设备200上执行的特定应用220e。例如,信号生成器218可以通过访问在登录用户10的用户设备200上执行的日历应用220e来生成登录指示符且确定登录用户10在五分钟内有会议。在该示例中,登录指示符可以提供内容元数据110,内容元数据指示快速处理针对语音输入104的ASR请求102很重要,这是因为登录用户10可能需要针对会议的信息(例如引导、注意等)。作为另一示例,登录用户10可以是房主,且信号生成器218可以通过访问日历应用220e来生成登录指示符以确定登录用户10在除登录用户10的家之外的地点处有约会。如果用户设备200例如是位于登录用户10的家中的智能扬声器且用户设备200在日历应用220e中的约会的同时检测到口述热词时被触发,那么登录指示符可以提供内容元数据110,该内容元数据指示登录用户10不提供语音输入104的可能性,从而将对应ASR请求102呈现为不太可能是真实的。可能要求用户10明确同意提供登录信息、应用使用和地点信息。
信号生成器218可以通过利用来自多个源220的数据/信息来确定包括用户设备行为信号的内容元数据110,以便例如指示用户10在语音输入104被捕获时与用户设备200交互的可能性有多大。例如,来自一个或多个传感器220g的信息可以指示用户设备是否上下颠倒、面朝下(例如,当用户设备是智能手机或平板计算机时)、用户设备200是否在抽屉/钱包中等。在这些场景中,用户设备200很可能被意外触发,从而将对应ASR请求102呈现为不太可能是真实的。来自传感器220g的信息可以进一步包括用户设备的位置(例如,从GPS传感器220g获得)和/或用户设备200网络连接的信号强度。例如,指示用户设备200当前具有较差的信号强度并且处于以具有参差不齐的小区覆盖而臭名昭著的地点(例如基于历史知识)的用户设备行为信号对于QoS管理器300在对对应ASR请求102进行优先处理时是有用的,这是因为存在以下很大的可能性:即使ASR请求102是真实的,用户设备200也可能无法接收到由查询处理堆栈处理的对应响应(例如ASR输出和/或TTS响应)。在该情况下,当查询处理堆栈700正在经历高业务尖峰时,首先处理其他未决ASR请求102可能是有益的,这些其他未决ASR请求将产生具有被成功返回给其相应用户设备200的更强可能性的相应响应。
信号生成器218可以通过利用来自多个源220的数据/信息来确定包括环境情况信号的内容元数据110,以便例如评估和分析用户设备200周围的情况。具体地,环境情况信号可以利用传感器220g中的一个或多个来确定用户设备200周围的环境情况。例如,环境情况信号可以指示在用户设备200附近存在数个用户设备200、用户设备200连接到的网络的情况(例如,网络过载)、用户设备200的GPS坐标、用户设备200是否在外面、当前正在移动、接近较差蜂窝或数据接收的区域等。
如上文评论中所阐述,用户设备200可以具有执行设备上ASR模块220n(例如本地查询处理堆栈700b)的能力,以用于快速地且在不需要网络连接的情况下生成低保真转录。有利地,由信号生成器218生成的内容元数据110可以包括由设备上ASR模块220n生成的语音输入104的低保真转录以向QoS管理器300提供关于ASR请求102的潜在相关信息或细节。在此,低保真转录可以揭示ASR请求102包括时间敏感的话音查询(例如将定时器设置为一分钟的命令),从而通知QoS管理器300将高优先级分数311分配给ASR请求102以使得立即处理ASR请求102。在该相同场景中,如果在ASR请求102被缓存在待办事项320中时查询处理堆栈700a过载且处于全部处理能力,那么查询处理堆栈700a可能无法立即处理ASR请求102(例如发送指令以将计时器设置为一分钟)且可以简单地丢弃ASR请求102且可选地通知用户10请求目前无法完成。这种情况对于用户10是优选的,这是由于在自从提供ASR请求102的时间流逝之后将计时器设置为短的持续时间几乎没有用。然而,如果命令是将定时器设置为更长的持续时间,诸如10分钟,那么可以允许ASR请求102保持未决且被缓存在预处理的待办事项320中,直到查询处理堆栈700a能够处理ASR请求102,由此用于设置定时器的指令可以补偿由在ASR请求102在预处理的待办事项320中未决时业务增加引起的延迟。
在所示出的示例中,在信号生成器218编译且生成与语音输入104相关联的内容元数据110之后,用户设备200嵌入内容元数据110以用于与对应语音输入104和音频数据103一起包括在ASR请求102中。用户设备200然后向QoS管理器300发送ASR请求102。
图3A至3C提供了话音查询QoS管理器300的示意图,话音查询QoS管理器将排名312分配给从用户设备200接收到的ASR请求102且基于查询处理堆栈700的处理可用性以从最高到最低的排名312将ASR请求102提供给查询处理堆栈700。查询处理堆栈700可以包括但不限于ASR模块710(图1)、解释器模块720(图1)或TTS模块730(图1)中的至少一个。在所示出的示例中,查询处理堆栈700当前可能正在经历使查询处理堆栈700过载的ASR请求102的大业务尖峰。例如,在大型媒体事件(例如超级碗)期间广播的电视广告可以包括口述热词,当从用户家庭中的电视(例如非人类源12)输出时口述热词使那些家庭中的语音启用的用户设备200触发且生成错误ASR请求102,所述错误ASR请求包括在检测到从电视输出的热词之后捕获的音频数据103。
参考图3A,当话音查询QoS管理器300的排名器310从用户设备200接收到新ASR请求D 102d时,预处理的待办事项320包括等待由查询处理堆栈700处理的未决ASR请求A102a、B 102b、C 102c。排名器310可以基于与新ASR请求D 102d相关联的内容元数据110来确定针对新ASR请求D 102d的对应优先级分数311。在接收到新ASR请求D 102d时,预处理的待办事项320中的未决ASR请求102a、102b、102c以其优先级分数311的顺序被排名,以使得ASR请求A 102a与最高排名312相关联,ASR请求C 102b与下一最高排名312相关联,且ASR请求B 102b与最低排名312相关联。因此,虽然在QoS管理器300接收到ASR请求B 102b之后,ASR请求C 102c可能已经在QoS管理器300处从对应用户设备200接收到,但排名器310将比分配给ASR请求B 102b的排名312高的排名312分配给ASR请求C 102c。预处理的待办事项320可以包括等待由查询处理堆栈700处理的以优先级分数311的顺序排名的数千到数百万个未决ASR请求102。继续参考图3A,预处理的待办事项320向排名器310提供未决ASR请求A102a、C 102c、B 102b的列表322,且排名器310基于优先级分数将未决ASR请求A 102a、C102c、B 102b与新ASR请求D 102d一起重新排名。
在一些实现中,排名器310拒绝驻留在预处理的待办事项320中达满足超时阈值的时间段的任何未决ASR请求102被查询处理堆栈700(例如后端侧ASR模块710)处理。图3B示出自从(since)未决ASR请求B 102b满足超时阈值而拒绝未决ASR请求B 102b由查询处理堆栈700处理的排名器310。例如,未决ASR请求B 102b可能已经包括如此低使得ASR请求B102b停留在列表322的底部处的优先级分数311,以使得即使在新ASR请求102稍后被接收到时,ASR请求B 102b也绝不被处理。因此,ASR请求B 102b被从预处理的待办事项320丢弃。图3B进一步示出确定新ASR请求D 102d包括高于未决ASR请求C 102c的优先级分数311且低于未决ASR请求A102a的优先级分数的优先级分数311的排名器310。如此,排名器310向预处理的待办事项320提供未决ASR请求A 102a、D 102d、C 102c的重新排名列表322,以使得ASR请求A 102a仍与最高排名312相关联,ASR请求D 102d现在与下一最高排名312相关联,且ASR请求C 102c现在与最低排名312相关联。因此,在未决ASR请求102的列表322中排名高于ASR请求C 102c的新ASR请求D 102d导致新ASR请求D 102d优先于待办事项320中的ASR请求C102c以供查询处理堆栈700处理。然而,ASR请求A 102a优先于新ASR请求D 102d以供查询处理堆栈700处理。
参考图3C,查询处理堆栈700可用于处理缓存在预处理的待办事项320中的下一未决ASR请求102。由于ASR请求A 102a与等待在预处理的待办事项320中处理的未决ASR请求102的列表322中的最高排名312相关联,所以预处理的待办事项320向查询处理堆栈700提供ASR请求A102a以供处理。因此,ASR请求A 102a从待办事项320和未决ASR请求102的列表322去除。
在将ASR请求A 102a提供给查询处理堆栈700以进行处理的同时,话音查询QoS管理器300的排名器310从对应用户设备200接收新ASR请求E 102e且作为反馈接收来自预处理的待办事项320的未决ASR请求D 102d、C 102c的列表322。在此,排名器310可以基于与新ASR请求E 102e相关联的内容元数据110来确定针对新ASR请求E 102e的对应优先级分数311,且然后基于优先级分数将未决ASR请求D 102d、C 102c与新ASR请求E102e一起重新排名。当接收到新ASR请求102时,预处理的待办事项320中未决ASR请求102的连续重新排名是迭代处理,且取决于查询处理堆栈700的处理可用性。
图4示出了QoS管理器300的示意图400,该QoS管理器将设备上处理指令420传达给用户设备200,设备上处理指令允许用户设备200决定是否将ASR请求102发送给查询处理堆栈700(例如查询处理后端)以用于在查询处理堆栈处存在高负载情况时进行处理。高负载情况可以指示查询处理堆栈700a由于发送给查询处理堆栈700以进行处理的ASR请求102的数量中的大业务尖峰而过载。QoS管理器300可以向查询处理堆栈700a负责处理的话音启用的用户设备200的群体的所有或选定的子集提供设备上处理指令420。与一种设备类型(例如智能扬声器)相关联的用户设备200可以接收与另一设备类型(例如智能电话)相关联的用户设备200不同的ASR请求指令420。当用户设备200确定查询处理堆栈700a过载时,设备上处理指令420可以提供用于本地(例如,在设备上查询处理堆栈700b处)处理由用户设备200在设备上捕获的任何新语音输入104的至少一部分的一个或多个标准则。
基于与ASR请求102相关联的内容元数据110,当查询处理堆栈700a过载时,设备上处理指令420可以提供用于将ASR请求102发送给查询处理堆栈700a的准则。在一些实现中,设备上处理指令420提供内容元数据110的对应部分必须满足的一个或多个阈值,以便用户设备200在高负载情况期间将ASR请求102传输给查询处理堆栈700a。例如,设备上处理指令420可以提供热词置信度分数必须满足的热词置信度分数阈值和/或语音输入104的音频质量分数必须满足的音频质量分数阈值。虽然用户设备200通常应用默认阈值,但是设备上处理指令420中所提供的阈值可能更加保守,以使得仅具有真实的高置信度(或对用户具有高影响)的ASR请求102被发送给查询处理堆栈700a以进行处理。在示例中,用户设备200可以通常将与大于0.68的热词置信度分数相关联的ASR请求102发送给查询处理堆栈700a以用于处理。然而,当查询处理堆栈700a过载时,设备上处理指令420可以指示ASR请求102必须与至少0.8的热词置信度分数相关联,以便被发送给查询处理堆栈700a以进行处理。当阈值中的至少一个不被满足时,设备上处理指令420可以进一步指导用户设备200丢弃ASR请求102。QoS管理器300可以在每当存在高负载情况时在运行中(on the fly)发送设备上处理指令420,或QoS管理器300可以随时向用户设备200发送设备上处理指令420,以使得当稍后出现高负载情况时,用户设备200可以应用/执行设备上处理指令420。可以类似地提供音频质量阈值以供用户设备200在查询处理堆栈700a过载时在过滤掉具有不满足指令420定义的阈值的音频质量的ASR请求102时使用。
在所示出的示例中,用户设备200捕获语音输入104且生成与语音输入104相关联的内容元数据110。例如,用户设备200执行信号生成器218,信号生成器被配置成基于从源220中的一个或多个获得的信息/数据来生成内容元数据110。上文参考图2描述了由用户设备200生成的内容元数据110。在发送(或本地处理)包括语音输入104和相关联的内容元数据110的对应ASR请求102之前,用户设备200可以确定在查询处理堆栈700a处是否存在高负载情况。在一些示例中,用户设备200从在运行中的QoS管理器300接收指示在查询处理堆栈700a处存在过载情况的通知410(例如过载情况状态通知)。另外或替代地,用户设备200可以在查询处理堆栈700a处接收包括过去和/或预测的过载情况的计划表的通知410。用户设备200可以将该计划表存储在存储器硬件206上。
在其他示例中,用户设备200通过获得与由用户设备200传达给查询处理堆栈700a的先前ASR请求102相关联的历史数据250(例如ASR请求历史)来确定查询处理堆栈700a处存在过载情况。历史数据250可以被存储在用户设备200的存储器硬件206上(或远程存储)。历史数据250可以指示当查询处理堆栈700a过载时用户设备200和/或其他用户设备200经历过场景的特定日期、天、时间等。例如,在过去2周期间的每个工作日晚上大约晚上7:36,用户设备200在查询处理堆栈处经历了过载情况。在该示例中,Jeopardy节目期间的电视广告可能包括演员以听起来与指定的热词(“嘿,Google”)基本类似的口音说出的短语(嘿,poodle”),从而导致在众多家庭中错误触发话音启用的设备。
另外,当用户设备200确定查询处理堆栈700a过载时,设备上处理指令420可以提供用于本地处理由用户设备200在设备上捕获的任何新语音输入104的至少一部分的一个或多个准则。例如,用于本地处理任何新语音输入104的至少一部分的一个或多个准则可以包括指示用户设备200执行以下至少一个:使用驻留在用户设备200上的本地ASR模块200n(例如,当可用时)转录新语音输入104;;解释新语音输入104的转录以确定对应于新语音输入104的话音查询;确定用户设备200是否可以执行与对应于新语音输入104的话音查询相关联的动作;或当用户设备200无法执行与话音查询相关联的动作时,将语音输入104的转录传输给查询处理堆栈700a。在一些实现中,由设备上处理指令420提供的一个或多个准则委托ASR请求102的一些部分由用户设备200进行本地处理,而查询处理堆栈700a处理其他部分。例如,用户设备200可以包括客户端侧TTS模块,以使得查询处理堆栈700a可以以文本形式向用户设备200提供ASR响应,且用户设备200可以使用客户端侧TTS模块来生成对应的合成语音。该场景将减轻如下情况:服务器侧查询处理堆栈700a在过载情况期间必须生成TTS响应。
图5是用于基于查询处理堆栈700a处的处理可用性在查询处理堆栈700a(例如,在查询处理堆栈700a处的后端侧ASR模块710a)处处理未决ASR请求102的方法500的示例操作布置的流程图。在操作502处,方法500包括在查询处理堆栈700a(例如查询处理后端)的数据处理硬件144处从用户设备200接收ASR请求102。ASR请求102包括由用户设备200捕获的语音输入104,语音输入包括话音查询和与语音输入104相关联的内容元数据110。内容元数据110由用户设备200生成,如上文参考图2所描述。在操作504处,方法500包括由数据处理硬件144基于与语音输入相关联的内容元数据110来确定针对ASR请求102的优先级分数311。
在操作506处,方法500包括由数据处理硬件144将ASR请求102缓存在未决ASR请求102的预处理的待办事项320中,每个未决ASR请求具有对应优先级分数311。预处理的待办事项320中的未决ASR请求102以优先级分数311的顺序排名,如上文参考图3A至3C所描述。预处理的待办事项320可以驻留在远程系统140的存储资源(例如存储器硬件)146上。在操作508处,方法500包括由数据处理硬件144基于后端侧ASR模块710的处理可用性从预处理的待办事项320向后端侧ASR模块710(或查询处理堆栈700a处的其他模块)提供未决ASR请求102中的一个或多个。如上文参考图3A至3C所描述,待办事项320中的与较高优先级分数311相关联的未决ASR请求102在与较低优先级分数311相关联的未决ASR请求102之前由后端侧ASR模块710处理。
图6是针对当基于服务器的查询处理堆栈700a过载(例如,过载情况存在于堆栈700a处)时执行设备上处理指令的方法600的示例操作布置的流程图。方法600可以在用户设备200的数据处理硬件204上执行。在操作602处,方法600包括在用户设备200处生成ASR请求102。在此,ASR请求102包括由用户设备200捕获的包括话音查询的语音输入104以及由用户设备200生成且与语音输入104相关联的内容元数据110。上文参考图2描述了生成与语音输入104相关联的内容元数据110。在操作604处,方法包括在用户设备200处从服务器侧查询处理堆栈700a接收设备上处理指令420。例如,图4示出了接收设备上处理指令420的用户设备200。当查询处理堆栈700a过载时,基于与ASR请求102相关联的内容元数据110,设备上处理指令420可以提供用于将ASR请求102发送给查询处理堆栈700a的准则。在一些实现中,设备上处理指令420提供内容元数据110的对应部分必须满足的一个或多个阈值,以便用户设备200在过载情况期间将ASR请求102传输给查询处理堆栈700a。
在操作606处,方法600还包括由用户设备200确定服务器侧查询处理堆栈700a是否过载。如上文参考图4更详细地描述,用户设备200可以基于与由用户设备200(和/或其他用户设备)传达给查询处理堆栈700a的或在从查询处理堆栈700a接收通知410时的先前ASR请求相关联的历史数据250(例如基于预测的)中的至少一个来确定过载情况。通知410a可以包括查询处理堆栈700a处的过去和/或预测的过载情况的计划表和/或由查询处理堆栈700a在运行中发送以指示当前过载情况的过载情况状态通知。在操作608处,当用户设备200确定查询处理堆栈700a过载时,方法600包括由用户设备200执行设备上处理指令420。上文参考图4描述了由用户设备200执行设备上处理指令420。
软件应用(即软件资源)可以指使计算设备执行任务的计算机软件。在一些示例中,软件应用可以称为“应用”、“app”或“程序”。示例应用包括但不限于系统诊断应用、系统管理应用、系统维护应用、词处理应用、电子表格应用、消息传送应用、媒体流传输应用、社交联网应用和游戏应用。
非暂时性存储器可以是用于在暂时或永久的基础上存储程序(例如指令序列)或数据(例如程序状态信息)以供计算设备使用的物理设备。非暂时性存储器可以是易失性和/或非易失性可寻址半导体存储器。非易失性存储器的示例包括但不限于闪速存储器和只读存储器(ROM)/可编程只读存储器(PROM)/可擦除可编程只读存储器(EPROM)/电子可擦除可编程只读存储器(EEPROM)(例如,通常用于固件,诸如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、相变存储器(PCM)以及磁盘或磁带。
图7是可以被用于实现本文档中所描述的系统和方法的示例计算设备700的示意图。计算设备700旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机和其他适合的计算机。此处示出的组件、其连接和关系以及其功能仅仅意味着为示例性的,且不意味着限制本文档中所描述的和/或要求保护的本发明的实现。
计算设备700包括:处理器711(例如数据处理硬件144)、存储器721(例如存储器硬件146)、存储设备731、连接到存储器721和高速扩展端口750的高速接口/控制器740以及连接到低速总线770和存储设备731的低速接口/控制器760。组件711、721、731、740、750、和760中的每一个使用各种总线互相连接,且可以安装在公共主板上或根据需要以其他的方式安装。处理器711可以处理在计算设备700内执行的指令,包括存储在存储器721中或存储设备731上以在外部输入/输出设备(诸如,耦接到高速接口740的显示器780)上显示针对图形用户界面(GUI)的图形信息的指令。在其他实现中,视需要,可以将多个处理器和/或多条总线与多个存储器和多种存储器一起使用。同样,可以连接多个计算设备700,其中,每个设备提供必要的操作的部分(例如,作为服务器库、一组刀片式服务器或多处理器系统)。
存储器721将信息非暂时性地存储在计算设备700内。存储器721可以是计算机可读介质、易失性存储器单元或非易失性存储器单元。非暂时性存储器721可以是用于在暂时或永久的基础上存储程序(例如指令序列)或数据(例如程序状态信息)以供计算设备700使用的物理设备。非易失性存储器的示例包括但不限于闪速存储器和只读存储器(ROM)/可编程只读存储器(PROM)/可擦除可编程只读存储器(EPROM)/电子可擦除可编程只读存储器(EEPROM)(例如,通常用于固件,诸如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、相变存储器(PCM)以及磁盘或磁带。
存储设备731能够为计算设备700提供海量存储。在一些实现中,存储设备731是计算机可读介质。在各种不同的实现中,存储设备731可以是软盘设备、硬盘设备、光盘设备或磁带设备、闪速存储器或其他类似的固态存储器设备或设备阵列,包括处于存储区域网络或其他配置的设备。在附加实现中,计算机程序产品有形地体现为信息载体。计算机程序产品包含指令,这些指令在被执行时执行一种或多种方法,诸如上文所描述的那些方法。信息载体是计算机或机器可读介质,诸如存储器721、存储设备731或在处理器711上的存储器。
高速控制器740管理针对计算装备700的带宽密集型操作,而低速控制器760管理较低带宽密集型的操作。这种责任分配仅仅是示例性的。在一些实现中,高速控制器740耦接到存储器721、显示器780(例如,通过图形处理器或加速器)和高速扩展端口750,该高速扩展端口可以接受各种扩展卡(未示出)。在一些实现中,低速控制器760耦接到存储设备731和低速扩展端口790。可以例如通过网络适配器来将可以包括各种通信端口(例如USB、蓝牙、以太网、无线以太网)的低速扩展端口790耦接到一个或多个输入/输出设备,诸如键盘、指向设备、扫描器或联网设备(诸如交换机或路由器)。
如图中所示出,可以以多种不同的形式来实现计算设备700。例如,其可以被实现为标准服务器700a或分多次实现在一组这种服务器701中,作为膝上型计算机703或作为机架式服务器系统705的一部分。
本文中所描述的系统和技术的各种实现可以在数字电子和/或光学电路系统、集成电路系统、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实现可以包括:一个或多个计算机程序中的实现,该一个或多个计算机程序可以在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或通用的,可以被耦接以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,且将数据和指令传输给该存储系统、该至少一个输入设备和该至少一个输出设备。
这些计算机程序(也称为程序、软件、软件应用或代码)包括针对可编程处理器的机器指令,且可以以高级过程和/或面向对象的编程语言和/或以汇编/机器语言来实现。如本文中所使用,术语“机器可读介质”和“计算机可读介质”是指用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、非暂时性计算机可读介质、装置和/或设备(例如磁盘、光盘、存储器、可编程逻辑设备(PLD)),包括接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”是指用于将机器指令和/或数据提供给可编程处理器的任何信号。
可以由执行一个或多个计算机程序的一个或多个可编程处理器(也称为数据处理硬件)来执行本说明书中所描述的处理和逻辑流以通过对输入数据进行操作且生成输出来执行功能。处理和逻辑流还可以被专用逻辑电路系统(例如FPGA(现场可编程门阵列)或ASIC(专用集成电路))执行。举例说明,适用于执行计算机程序的处理器包括通用微处理器和专用微处理器以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将接收来自只读存储器或随机存取存储器或两者的指令和数据。计算机的必要元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个海量存储设备(例如磁盘、磁光盘或光盘),或计算机将可操作地耦接以接收来自该一个或多个海量存储设备的数据或将数据传送给该一个或多个海量存储设备或进行两者。然而,计算机不需要具有这种设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,举例说明,包括半导体存储器设备(例如EPROM、EEPROM和闪速存储器设备)、磁盘(例如内部硬盘或可移除盘)、磁光盘以及CD-ROM盘和DVD-ROM盘。处理器和存储器可以被专用逻辑电路系统补充或可以被并入该专用逻辑电路系统中。
为了提供与用户的交互,可以在计算机上实现本公开的一个或多个方面,该计算机具有:用于向用户显示信息的显示设备(例如CRT(阴极射线管)、LCD(液晶显示器)监测器或触摸屏);以及可选地,键盘和指向设备(例如鼠标或轨迹球),用户可以通过该键盘和该指向设备来将输入提供给计算机。其他种类的设备还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈,例如视觉反馈、听觉反馈或触觉反馈;且可以用任何形式(包括声输入、语音输入或触觉输入)来接收来自用户的输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户进行交互;例如,响应于从web浏览器接收到的请求,通过向在用户的客户端设备上的web浏览器发送网页。
已经描述了多种实现。然而,要理解,在不脱离本公开的精神和范围的情况下,可以做出各种修改。因此,其他实现在以下权利要求书的范围内。

Claims (30)

1.一种处理自动语音识别ASR请求的方法,包括:
在查询处理后端的数据处理硬件处接收来自用户设备的ASR请求,所述ASR请求包括:
语音输入,其被所述用户设备捕获,所述语音输入包括话音查询;以及
内容元数据,其与所述语音输入相关联,所述内容元数据由所述用户设备生成;
由所述数据处理硬件基于与所述语音输入相关联的所述内容元数据来确定针对所述ASR请求的优先级分数;
由所述数据处理硬件将所述ASR请求缓存在未决ASR请求的预处理的待办事项中,每个未决ASR请求具有对应优先级分数,所述预处理的待办事项中的所述未决ASR请求以所述优先级分数的顺序被排名;以及
由所述数据处理硬件从所述预处理的待办事项基于后端侧ASR模块的处理可用性来将所述未决ASR请求中的一个或多个提供给所述后端侧ASR模块,其中,与较高优先级分数相关联的未决ASR请求在与较低优先级分数相关联的未决ASR请求之前被所述后端侧ASR模块处理。
2.根据权利要求1所述的方法,其中,所述后端侧ASR模块被配置成响应于接收到来自未决ASR请求的所述预处理的待办事项的每个未决ASR请求,处理所述未决ASR请求以生成针对与所述未决ASR请求相关联的对应语音输入的ASR结果。
3.根据权利要求1或2所述的方法,进一步包括响应于在未决ASR请求的所述预处理的待办事项中缓存一个或多个新ASR请求,由所述数据处理硬件以所述优先级分数的顺序对所述预处理的待办事项中的所述未决ASR请求进行重新排名。
4.根据权利要求1或2所述的方法,进一步包括由所述数据处理硬件拒绝驻留在所述预处理的待办事项中达满足超时阈值的时间段的任何未决ASR请求被所述后端侧ASR模块处理。
5.根据权利要求1或2所述的方法,进一步包括响应于接收到具有小于优先级分数阈值的相应优先级分数的新ASR请求,由所述数据处理硬件拒绝所述新ASR请求被所述后端侧ASR模块处理。
6.根据权利要求1或2所述的方法,其中,与所述语音输入相关联的所述内容元数据表示对应ASR请求将被所述后端侧ASR模块成功处理的可能性。
7.根据权利要求1或2所述的方法,其中,与所述语音输入相关联的所述内容元数据表示对应ASR请求的处理将对与所述用户设备相关联的用户有影响的可能性。
8.根据权利要求1或2所述的方法,其中,与所述语音输入相关联且由所述用户设备生成的所述内容元数据包括以下至少一个:
登录指示符,其指示与所述用户设备相关联的用户是否被登录到所述用户设备;
针对所述语音输入的说话者标识分数,其指示所述语音输入匹配与所述用户设备相关联的说话者配置文件的可能性;
针对所述语音输入的广播语音分数,其指示所述语音输入对应于来自非人类源的广播或合成语音输出的可能性;
热词置信度分数,其指示所述语音输入中的所述话音查询之前的一个或多个术语对应于预定义的热词的可能性;
活动指示符,其指示所述用户设备与所述查询处理后端之间是否正在进行多轮交互;
所述语音输入的音频信号分数;
空间定位分数,其指示用户相对于所述用户设备的距离和位置;
所述语音输入的转录,其由驻留在所述用户设备上的设备上ASR模块生成;
用户设备行为信号,其指示所述用户设备的当前行为;或
环境情况信号,其指示相对于所述用户设备的当前环境情况。
9.根据权利要求1或2所述的方法,其中,所述用户设备被配置成响应于在口述话语中检测到在所述话音查询之前的热词:
捕获包括所述话音查询的所述语音输入;
生成与所述语音输入相关联的所述内容元数据;以及
向所述数据处理硬件传输对应ASR请求。
10.根据权利要求9所述的方法,其中,所述语音输入进一步包括所述热词。
11.根据权利要求1或2所述的方法,进一步包括将设备上处理指令从所述数据处理硬件传输给所述用户设备,所述设备上处理指令提供当所述用户设备确定所述查询处理后端过载时用于本地处理由所述用户设备在设备上捕获到的任何新语音输入的至少一部分的一个或多个准则。
12.根据权利要求11所述的方法,其中,所述用户设备被配置成通过以下至少一个确定所述查询处理后端过载:
获得与由所述用户设备传达给所述数据处理硬件的先前ASR请求相关联的历史数据;
从所述数据处理硬件接收在所述查询处理后端处过去和/或预测的过载情况的计划表;或
从运行中的所述数据处理硬件接收指示所述处理后端处的当前过载情况的过载情况状态通知。
13.根据权利要求11所述的方法,其中,用于本地处理任何新语音输入的至少一部分的所述一个或多个准则包括指导所述用户设备执行以下至少一个:
使用驻留在设备上的本地ASR模块转录新语音输入;
解释所述新语音输入的所述转录以确定对应于所述新语音输入的话音查询;
确定所述用户设备是否可以执行与对应于所述新语音输入的所述话音查询相关联的动作;或
当所述用户设备无法执行与所述话音查询相关联的所述动作时,将所述语音输入的所述转录传输给所述查询处理后端。
14.根据权利要求11所述的方法,其中,提供所述一个或多个准则的所述设备上处理指令包括所述内容元数据的对应部分必须满足以便所述用户设备将所述ASR请求传输给所述查询处理后端的一个或多个阈值。
15.根据权利要求14所述的方法,其中,当所述阈值中的至少一个不被满足时,所述设备上处理指令进一步指导所述用户设备丢弃所述ASR请求。
16.一种处理自动语音识别ASR请求的系统,包括:
查询处理后端的数据处理硬件;以及
存储器硬件,与所述数据处理硬件通信且存储指令,当在所述数据处理硬件上被执行时,所述指令使所述数据处理硬件执行包括以下的操作:
从用户设备接收自动语音识别(ASR)请求,所述ASR请求包括:
语音输入,被所述用户设备捕获,所述语音输入包括话音查询;以及
内容元数据,与所述语音输入相关联,所述内容元数据被所述用户设备生成;
基于与所述语音输入相关联的所述内容元数据来确定针对所述ASR请求的优先级分数;
将所述ASR请求缓存在未决ASR请求的预处理的待办事项中,每个未决ASR请求具有对应优先级分数,所述预处理的待办事项中的所述未决ASR请求以所述优先级分数的顺序被排名;以及
从所述预处理的待办事项基于后端侧ASR模块的处理可用性来将所述未决ASR请求中的一个或多个提供给所述后端侧ASR模块,其中,与较高优先级分数相关联的未决ASR请求在与较低优先级分数相关联的未决ASR请求之前被所述后端侧ASR模块处理。
17.根据权利要求16所述的系统,其中,所述后端侧ASR模块被配置成响应于接收到来自未决ASR请求的所述预处理的待办事项的每个未决ASR请求,处理所述未决ASR请求以生成针对与所述未决ASR请求相关联的对应语音输入的ASR结果。
18.根据权利要求16或17所述的系统,其中,所述操作进一步包括响应于在未决ASR请求的所述预处理的待办事项中缓存一个或多个新ASR请求,以所述优先级分数的顺序对所述预处理的待办事项中的所述未决ASR请求进行重新排名。
19.根据权利要求16或17所述的系统,其中,所述操作进一步包括拒绝驻留在所述预处理的待办事项中达满足超时阈值的时间段的任何未决ASR请求被所述后端侧ASR模块处理。
20.根据权利要求16或17所述的系统,其中,所述操作进一步包括响应于接收到具有小于优先级分数阈值的相应优先级分数的新ASR请求,拒绝所述新ASR请求被所述后端侧ASR模块处理。
21.根据权利要求16或17所述的系统,其中,与所述语音输入相关联的所述内容元数据表示对应ASR请求将被所述后端侧ASR模块成功处理的可能性。
22.根据权利要求16或17所述的系统,其中,与所述语音输入相关联的所述内容元数据表示对应ASR请求的处理将对与所述用户设备相关联的用户有影响的可能性。
23.根据权利要求16或17所述的系统,其中,与所述语音输入相关联且由所述用户设备生成的所述内容元数据包括以下至少一个:
登录指示符,指示与所述用户设备相关联的用户是否被登录到所述用户设备;
针对所述语音输入的说话者标识分数,指示所述语音输入匹配与所述用户设备相关联的说话者配置文件的可能性;
针对所述语音输入的广播语音分数,指示所述语音输入对应于来自非人类源的广播或合成语音输出的可能性;
热词置信度分数,指示所述语音输入中的所述话音查询之前的一个或多个术语对应于预定义的热词的可能性;
活动指示符,指示所述用户设备与所述查询处理后端之间是否正在进行多轮交互;
所述语音输入的音频信号分数;
空间定位分数,指示用户相对于所述用户设备的距离和位置;
所述语音输入的转录,由驻留在所述用户设备上的设备上ASR模块生成;
用户设备行为信号,指示所述用户设备的当前行为;或
环境情况信号,指示相对于所述用户设备的当前环境情况。
24.根据权利要求16或17所述的系统,其中,所述用户设备被配置成响应于在口述话语中检测到在所述话音查询之前的热词:
捕获包括所述话音查询的所述语音输入;
生成与所述语音输入相关联的所述内容元数据;以及
向所述数据处理硬件传输对应ASR请求。
25.根据权利要求24所述的系统,其中,所述语音输入进一步包括所述热词。
26.根据权利要求16或17所述的系统,其中,所述操作进一步包括将设备上处理指令传输给所述用户设备,所述设备上处理指令提供用于本地处理当所述用户设备确定所述查询处理后端过载时由所述用户设备在设备上捕获到的任何新语音输入的至少一部分的一个或多个准则。
27.根据权利要求26所述的系统,其中,所述用户设备被配置成通过以下至少一个确定所述查询处理后端过载:
获得与由所述用户设备传达给所述数据处理硬件的先前ASR请求相关联的历史数据;
从所述数据处理硬件接收在所述查询处理后端处过去和/或预测的过载情况的计划表;或
从运行中的所述数据处理硬件接收指示所述处理后端处的当前过载情况的过载情况状态通知。
28.根据权利要求26所述的系统,其中,用于本地处理任何新语音输入的至少所述部分的所述一个或多个准则包括指导所述用户设备执行以下至少一个:
使用驻留在设备上的本地ASR模块转录新语音输入;
解释所述新语音输入的所述转录以确定对应于所述新语音输入的话音查询;
确定所述用户设备是否可以执行与对应于所述新语音输入的所述话音查询相关联的动作;或
当所述用户设备无法执行与所述话音查询相关联的所述动作时,将所述语音输入的所述转录传输给所述查询处理后端。
29.根据权利要求26所述的系统,其中,提供所述一个或多个准则的所述设备上处理指令包括所述内容元数据的对应部分必须满足以便所述用户设备将所述ASR请求传输给所述查询处理后端的一个或多个阈值。
30.根据权利要求29所述的系统,其中,当所述阈值中的至少一个不被满足时,所述设备上处理指令进一步指导所述用户设备丢弃所述ASR请求。
CN201980091504.XA 2019-02-06 2019-02-06 处理自动语音识别asr请求的方法和系统 Active CN113412516B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/016882 WO2020162930A1 (en) 2019-02-06 2019-02-06 Voice query qos based on client-computed content metadata

Publications (2)

Publication Number Publication Date
CN113412516A CN113412516A (zh) 2021-09-17
CN113412516B true CN113412516B (zh) 2024-04-05

Family

ID=65529789

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980091504.XA Active CN113412516B (zh) 2019-02-06 2019-02-06 处理自动语音识别asr请求的方法和系统

Country Status (6)

Country Link
US (3) US20220093104A1 (zh)
EP (2) EP3906549B1 (zh)
JP (2) JP7241190B2 (zh)
KR (3) KR102585673B1 (zh)
CN (1) CN113412516B (zh)
WO (1) WO2020162930A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200394994A1 (en) * 2019-06-12 2020-12-17 Nvidia Corporation Invertible neural network to synthesize audio signals
US20210050003A1 (en) * 2019-08-15 2021-02-18 Sameer Syed Zaheer Custom Wake Phrase Training
KR102629796B1 (ko) * 2019-10-15 2024-01-26 삼성전자 주식회사 음성 인식의 향상을 지원하는 전자 장치
US11557300B2 (en) * 2020-10-16 2023-01-17 Google Llc Detecting and handling failures in other assistants
US20230055511A1 (en) * 2021-08-20 2023-02-23 International Business Machines Corporation Optimizing clustered filesystem lock ordering in multi-gateway supported hybrid cloud environment
KR20230043397A (ko) * 2021-09-24 2023-03-31 삼성전자주식회사 사용자 발화를 처리하는 서버, 전자 장치 및 그의 동작 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008073850A2 (en) * 2006-12-08 2008-06-19 Sri International Method and apparatus for reading education
JP2008287697A (ja) * 2007-04-16 2008-11-27 Sony Corp 音声チャットシステム、情報処理装置およびプログラム
CN101535983A (zh) * 2006-10-16 2009-09-16 沃伊斯博克斯科技公司 协作会话语音用户界面的系统和方法
CN108648750A (zh) * 2012-06-26 2018-10-12 谷歌有限责任公司 混合模型语音识别
CN109300472A (zh) * 2018-12-21 2019-02-01 深圳创维-Rgb电子有限公司 一种语音识别方法、装置、设备及介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2323693B (en) * 1997-03-27 2001-09-26 Forum Technology Ltd Speech to text conversion
US8239197B2 (en) * 2002-03-28 2012-08-07 Intellisist, Inc. Efficient conversion of voice messages into text
US20100010823A1 (en) * 2008-07-14 2010-01-14 Ebay Inc. Systems and methods for network based customer service
WO2011148594A1 (ja) 2010-05-26 2011-12-01 日本電気株式会社 音声認識システム、音声取得端末、音声認識分担方法および音声認識プログラム
US9620122B2 (en) * 2011-12-08 2017-04-11 Lenovo (Singapore) Pte. Ltd Hybrid speech recognition
DE102013001219B4 (de) * 2013-01-25 2019-08-29 Inodyn Newmedia Gmbh Verfahren und System zur Sprachaktivierung eines Software-Agenten aus einem Standby-Modus
JP2014153663A (ja) * 2013-02-13 2014-08-25 Sony Corp 音声認識装置、および音声認識方法、並びにプログラム
WO2014125736A1 (ja) * 2013-02-14 2014-08-21 ソニー株式会社 音声認識装置、および音声認識方法、並びにプログラム
US10235996B2 (en) * 2014-10-01 2019-03-19 XBrain, Inc. Voice and connection platform
KR102346302B1 (ko) * 2015-02-16 2022-01-03 삼성전자 주식회사 전자 장치 및 음성 인식 기능 운용 방법
US9875081B2 (en) * 2015-09-21 2018-01-23 Amazon Technologies, Inc. Device selection for providing a response
KR20180092380A (ko) * 2017-02-09 2018-08-20 주식회사 엘지유플러스 음원 제공 방법 및 그 장치
CN117577099A (zh) * 2017-04-20 2024-02-20 谷歌有限责任公司 设备上的多用户认证的方法、系统和介质
US10170112B2 (en) * 2017-05-11 2019-01-01 Google Llc Detecting and suppressing voice queries
US11106729B2 (en) * 2018-01-08 2021-08-31 Comcast Cable Communications, Llc Media search filtering mechanism for search engine
KR20190084789A (ko) * 2018-01-09 2019-07-17 엘지전자 주식회사 전자 장치 및 그 제어 방법
US10742799B2 (en) * 2018-02-27 2020-08-11 Leo Technologies, Llc Automated speech-to-text processing and analysis of call data apparatuses, methods and systems
US11017778B1 (en) * 2018-12-04 2021-05-25 Sorenson Ip Holdings, Llc Switching between speech recognition systems
KR20200074680A (ko) * 2018-12-17 2020-06-25 삼성전자주식회사 단말 장치 및 이의 제어 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101535983A (zh) * 2006-10-16 2009-09-16 沃伊斯博克斯科技公司 协作会话语音用户界面的系统和方法
WO2008073850A2 (en) * 2006-12-08 2008-06-19 Sri International Method and apparatus for reading education
JP2008287697A (ja) * 2007-04-16 2008-11-27 Sony Corp 音声チャットシステム、情報処理装置およびプログラム
CN108648750A (zh) * 2012-06-26 2018-10-12 谷歌有限责任公司 混合模型语音识别
CN109300472A (zh) * 2018-12-21 2019-02-01 深圳创维-Rgb电子有限公司 一种语音识别方法、装置、设备及介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Automatic multimedia indexing: combining audio, speech, and visual information to index broadcast news;K. Ohtsuki et al.;《IEEE Signal Processing Magazine》;第23卷(第2期);全文 *
呼叫中心IVR系统的设计与实现;刘益佳;《中国优秀硕士学位论文全文库(信息科技辑)》(第7期);全文 *

Also Published As

Publication number Publication date
KR102393876B1 (ko) 2022-05-02
EP4187534A1 (en) 2023-05-31
US20220093104A1 (en) 2022-03-24
US20240029740A1 (en) 2024-01-25
JP2023075215A (ja) 2023-05-30
CN113412516A (zh) 2021-09-17
KR102638177B1 (ko) 2024-02-16
US20220262367A1 (en) 2022-08-18
KR20220058976A (ko) 2022-05-10
KR102585673B1 (ko) 2023-10-05
JP7241190B2 (ja) 2023-03-16
JP7470839B2 (ja) 2024-04-18
KR20210112403A (ko) 2021-09-14
EP3906549A1 (en) 2021-11-10
EP3906549B1 (en) 2022-12-28
WO2020162930A1 (en) 2020-08-13
KR20230141950A (ko) 2023-10-10
JP2022519648A (ja) 2022-03-24

Similar Documents

Publication Publication Date Title
CN113412516B (zh) 处理自动语音识别asr请求的方法和系统
EP3622510B1 (en) Intercom-style communication using multiple computing devices
KR101726945B1 (ko) 수동 시작/종료 포인팅 및 트리거 구문들에 대한 필요성의 저감
JP2022136197A (ja) 記録メディアのホットワードトリガ抑制
US10789041B2 (en) Dynamic thresholds for always listening speech trigger
US11789695B2 (en) Automatic adjustment of muted response setting
CN115699165A (zh) 自动热词阈值调谐
JPWO2020003851A1 (ja) 音声処理装置、音声処理方法及び記録媒体
US20230143177A1 (en) Contextual suppression of assistant command(s)
US20230186909A1 (en) Selecting between multiple automated assistants based on invocation properties
WO2023113877A1 (en) Selecting between multiple automated assistants based on invocation properties
KR20230153450A (ko) 자동 스피치 인식의 로컬 실행을 위한 디바이스 중재
CN118016067A (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
GR01 Patent grant
GR01 Patent grant