一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

检测热词或短语的近似匹配的制作方法

2023-02-06 13:21:50 来源:中国专利 TAG:

检测热词或短语的近似匹配


背景技术:

1.人类可以参与人机对话,其中交互式软件应用在本文被称为“自动化助理”(也称为“数字智能体”、“交互式个人助理”、“智能个人助理”、“助理应用”、“会话智能体”等)。例如,人类(当他们与自动化助理交互时,可以被称为“用户”)可以使用口头自然语言输入(即,话语)向自动化助理提供命令和/或请求,在一些情况下,通过提供文本(例如,键入的)自然语言输入,和/或通过触摸和/或无话语的物理移动(例如,手势、眼睛注视、面部移动等),这些口头自然语言输入可以被转换成文本,并且然后被处理。自动化助理通过提供响应的用户界面输出(例如,可听和/或视觉用户界面输出)、控制一个或多个智能设备、和/或控制实施自动化助理的设备的一个或多个功能(例如,控制设备的其他应用)来响应请求。
2.如上所提及,许多自动化助理被配置成经由口头话语进行交互。为了保护用户隐私和/或节省资源,自动化助理避免基于经由(至少部分地)实施自动化助理的客户端设备的麦克风检测到的音频数据中存在的所有口头话语来执行一个或多个自动化助理功能。相反,基于口头话语的某个处理仅响应于确定某些条件存在而发生。
3.例如,包括自动化助理和/或与自动化助理接口连接的许多客户端设备包括热词检测模型。当这样的客户端设备的麦克风未被停用时,客户端设备可以使用热词检测模型来持续处理经由麦克风检测到的音频数据,以生成指示是否存在一个或多个热词(包括多词短语)的预测输出,诸如“hey assistant(嘿助理)”、“ok assistant(好的助理)”和/或“assistant(助理)”。当预测输出指示存在热词时,在阈值时间量内跟随的任何音频数据(并且可选地被确定为包括话音活动)可以由诸如语音识别组件、话音活动检测组件等的一个或多个设备上和/或远程自动化助理组件来处理。此外,可以使用自然语言理解引擎来处理(来自语音识别组件的)所识别的文本,和/或可以基于自然语言理解引擎输出来执行动作。这些动作可以包括例如生成和提供响应和/或控制一个或多个应用和/或智能设备。其他热词(例如,“no(否)”、“stop(停止)”、“cancel(取消)”、“volume up(调高音量)”、“volume down(调低音量)”、“next track(下一音轨)”、“previous track(上一音轨)”等)可以被映射到各种命令,并且当预测输出指示存在这些热词中的一个时,客户端设备可以处理映射的命令。然而,当预测输出指示不存在热词时,对应的音频数据将被丢弃而不进行任何进一步的处理,从而保存资源和用户隐私。
4.以上提及的和/或其预测输出指示自动化助理功能是否被激活的其他机器学习模型(例如,下面描述的附加机器学习模型)在许多情况下执行良好。然而,在某些情况下,自动化助理可能无法识别请求和/或对请求的响应。例如,在用户不知道、不记得或记错热词的情况下,用户的话语可能构成失败的热词尝试,并且自动化助理可能无法识别或响应失败的热词尝试。
5.在一些情况下,自动化助理可以在不同的场境(例如,一天中的时间)中或者基于运行的应用(例如,前台应用)来识别不同的热词集合。例如,如果音乐应用当前正在播放音乐,则自动化助理可以识别诸如“pause music(暂停音乐)”、“volume up(调高音量)”和“volume down(调低音量)”的附加热词。然而,在不同时间可用的不同热词集合(例如,“good morning(早安)”可能仅在早上是活动的)可能会给用户造成混淆。在用户不知道或不记得在特定场境中哪些热词可用或记错热词的情况下,用户的话语可能构成失败的热词尝试,并且自动化助理可能未能识别或响应失败的热词尝试。例如,用户可能说“volume increase(音量增加)”或“loudness up(调高响度)”而不是“volume up(调高音量)”,并且自动化助理可能无法识别并响应该请求。
6.在自动化助理因为用户不知道、不记得或记错热词而不识别和响应请求的情况下,自动化助理可以不向用户提供反馈。因此,用户可能难以确定是自动化助理未能识别用户的话语还是用户的话语包括不支持的词或短语(例如,不是热词的词或短语,潜在地由于用户不知道、不记得或记错了支持的热词)。在用户的话语包括不支持的词或短语的情况下,用户可能错误地认为自动化助理未能识别用户的话语,并且因此用户可能在一个或多个后续话语中通常在短时间连续重复相同的不支持的词或短语。然而,在这样的情况下,自动化助理也可能未能响应后续话语,因为它们也未能包括支持的热词,并且仅仅包括相同的不支持的词或短语的重复。
7.失败的热词尝试的出现能够延长人类/自动化助理的交互,迫使人类重复最初旨在激活自动化助理功能的话语(和/或执行其他动作)。此外,失败的热词尝试的发生能够浪费网络和/或计算资源。


技术实现要素:

8.本文公开的一些实施方式针对通过自动识别失败的热词尝试来改进机器学习模型的性能。如本文更详细描述的,这样的机器学习模型可以包括例如热词检测模型和/或其他机器学习模型。各种实施方式检测用户正在试图触发热词但失败(即,失败的热词尝试)的情况。响应于检测到这样的情况,系统可以向用户提供关于可用热词的提示。在其他实施方式中,系统可以通过将用户偏好的词或短语添加到可用热词来适应。
9.在一些实施方式中,系统可以检测与热词的近似匹配。例如,自动化助理可以支持一系列特定的媒体回放命令,包括“volume up(调高音量)”、“volume down(调低音量)”、“next track(下一音轨)”、“previous track(上一音轨)”。如果用户记错了这些命令中的一个,用户可能会说“previous song(上一歌曲)”而不是“previous track(上一音轨)”。常规系统可能不提供关于什么是错的,或者正确的短语应该是什么的反馈。各种实施方式可以通过向用户提供关于一个或多个支持的热词的提示来解决该词汇问题,在该词汇问题中,可能不清楚用户在任何给定的时间点可以说哪些短语。此外,实施方式可以向用户提供训练定制热词的机制。
10.在一些实施方式中,系统可以检测一系列弱热词模型触发。例如,在用户说出支持的热词的情况下,热词检测模型可以生成指示热词的高置信度检测的预测输出。在用户说出热词的变体或近似匹配(例如,在声学上类似于热词但不是支持的热词的词或短语)的情况下,热词检测模型可以生成指示热词的中等置信度检测的预测输出(例如,比基线水平高但比当用户说出支持的热词时的高置信度预测输出低)。在该情况下,中等置信度检测可能没有高到足以让系统确定说出了热词(例如,置信度水平可能低于初级阈值)。在实施方式中,系统寻找一连串相似的近似匹配触发,并且基于这一连串的近似匹配触发,自动识别失败的热词尝试。因此,这可以通过允许自动化助理响应接近匹配的触发、减少自动化助理的
处理和功率使用以及减少用户为了被理解需要进行的尝试次数来改进性能和灵活性。例如,在实施方式中,自动化助理可以响应作为所支持的热词的轻微声学变体的命令。
11.在一些实施方式中,当识别出失败的热词尝试时,基于将预测输出与真实值输出(例如,满足阈值的真实值输出)进行比较,在客户端设备本地生成梯度集合。在一些实施方式中,客户端设备的一个或多个处理器使用所生成的梯度来基于所生成的梯度更新机器学习模型的一个或多个权重。例如,可以使用反向传播和/或其他技术来基于梯度更新权重。以该方式,系统可以通过将用户偏好的词或短语添加到可用的热词来适应。这可以改进在客户端设备本地存储的机器学习模型的性能,基于使用机器学习模型生成的预测输出来减轻失败的热词尝试的发生。
12.在一些实施方式中,由客户端设备通过网络将生成的梯度附加地或替代地传输到远程系统。在那些实施方式中,远程系统利用所生成的梯度以及来自附加客户端设备的附加梯度,来使用联合学习技术更新对应的全局机器学习模型的全局权重。来自附加客户端设备的附加梯度可以类似地在对应的附加客户端设备本地地生成。在各种实施方式中,客户端设备传输所生成的梯度,而不传输用于生成预测输出的任何数据(例如,音频数据和/或其他传感器数据),并且不传输用于识别失败的热词尝试的任何数据(例如,进一步的用户界面输入)。远程系统可以在使用联合学习技术更新全局模型时利用生成的梯度,而不参考或使用这样的数据。仅传输梯度比传输用于生成预测输出和识别失败的热词尝试的较大数据大小的数据使用的网络资源更少。此外,梯度的传输保存了个人数据的隐私和安全性,因为在生成预测输出和识别失败的热词尝试中使用的数据可能无法从梯度中导出。在一些实施方式中,可以利用一个或多个差分隐私技术(例如,添加高斯噪声)来进一步确保这样的数据不能从梯度中导出。
13.在远程系统更新语音识别模型的全局权重的实施方式中,远程系统此后可以向客户端设备提供更新后的全局权重,以使客户端设备利用更新后的全局权重替换它们的设备上的机器学习模型的权重。在一些实施方式中,远程系统可以附加地或替代地向客户端设备提供更新后的机器学习模型,以使得客户端设备利用更新后的全局机器学习模型替换它们的设备上的机器学习模型。因此,通过利用更新后的全局权重或更新后的全局机器学习模型,改进了设备上的性能。
14.在各种实施方式中,可以经由客户端设备的一个或多个麦克风接收捕获用户的第一口头话语的第一音频数据;可以使用一个或多个机器学习模型来处理第一音频数据,以生成指示第一音频数据中存在一个或多个热词的概率的第一预测输出;可以确定第一预测输出满足次级阈值但不满足初级阈值,所述次级阈值比初级阈值更少指示在音频数据中存在所述一个或多个热词;可以经由客户端设备的所述一个或多个麦克风接收捕获用户的第二口头话语的第二音频数据;可以使用所述一个或多个机器学习模型来处理第二音频数据,以生成第二预测输出,该第二预测输出指示第二音频数据中存在所述一个或多个热词的概率;可以确定第二预测输出满足次级阈值但不满足初级阈值;响应于第一预测输出和第二预测输出满足次级阈值但不满足初级阈值,并且响应于第一口头话语和第二口头话语相对于彼此满足一个或多个时间标准,可以识别失败的热词尝试;并且响应于识别失败的热词尝试,可以提供响应于失败的热词尝试的提示。
15.在一些实施方式中,识别失败的热词尝试可以进一步响应于确定第一口头话语和
第二口头话语之间的相似性超过相似性阈值。在一些实施方式中,识别失败的热词尝试可以进一步响应于确定由第一预测输出指示的概率和由第二预测输出指示的概率与所述一个或多个热词中的相同热词相对应。在一些实施方式中,以声学特征为条件的模型可以被用于确定第一音频数据和第二音频数据包括命令,并且识别失败的热词尝试可以进一步响应于第一音频数据和第二音频数据包括所述命令。
16.在一些实施方式中,可以确定与失败的热词尝试相对应的意图热词。在一些实施方式中,可以基于第一音频数据的至少一部分、第二音频数据的至少一部分和意图热词之间的声学相似性来确定意图热词。这可以是隐式声学相似性(例如,经由来自热词模型的概率获得)。在一些实施方式中,提供提示可以包括在客户端设备的显示器上显示意图热词,或者由客户端设备提供包括意图热词的音频响应。在一些实施方式中,可以执行与意图热词相对应的动作。
17.在一些附加的或替代的实施方式中,可以经由客户端设备的一个或多个麦克风接收捕获用户的第一口头话语的第一音频数据;可以使用机器学习模型中的多个类别中的每一个来处理第一音频数据,以生成与第一音频数据相关联的对应概率,每个类别与多个热词中的对应热词相关联,并且每个对应概率与第一音频数据中存在对应热词的概率相关联;第一音频数据中存在多个热词中的一个热词的概率可以被确定以满足次级阈值但不满足初级阈值,所述次级阈值比初级阈值更少指示在音频数据中存在所述多个热词中的所述一个热词;可以经由客户端设备的所述一个或多个麦克风接收捕获用户的第二口头话语的第二音频数据;可以使用机器学习模型中的多个类中的每一个来处理第二音频数据,以生成与第二音频数据相关联的对应概率,每个对应概率与第二音频数据中存在对应热词的概率相关联;第二音频数据中存在多个热词中的所述一个热词的概率可以被确定以满足次级阈值但不满足初级阈值;响应于第一音频数据中存在多个热词中的所述一个热词的概率满足次级阈值但不满足初级阈值以及第二音频数据中存在多个热词中的所述一个热词的概率满足次级阈值但不满足初级阈值,并且响应于第一口头话语和第二口头话语相对于彼此满足一个或多个时间标准,可以识别失败的热词尝试;并且响应于识别失败的热词尝试,可以提供响应于失败的热词尝试的提示。
18.在一些实施方式中,识别失败的热词尝试可以进一步响应于确定第一口头话语和第二口头话语之间的相似性超过相似性阈值。在一些实施方式中,可以使用以声学特征(例如,韵律、非语言发声或其他类型的推断的音频命令属性)为条件的模型来确定第一音频数据和第二音频数据,以包括命令;以及可以进一步响应于第一音频数据和第二音频数据包括所述命令来识别失败的热词尝试。
19.在一些实施方式中,可以确定与失败的热词尝试相对应的意图热词。在一些实施方式中,可以基于第一音频数据的至少一部分、第二音频数据的至少一部分和意图热词之间的声学相似性来确定意图热词。
20.在一些实施方式中,提供提示可以包括在客户端设备的显示器上显示意图热词,或者由客户端设备提供包括意图热词的音频响应。在一些实施方式中,可以执行与意图热词相对应的动作。
21.通过利用本文描述的一个或多个技术,可以在对应的客户端设备本地识别失败的热词尝试的发生。此外,可以提供响应于失败的热词尝试的提示,并且可以执行与失败的热
词尝试相对应的动作。在实施方式中,系统寻找一连串相似的近似匹配触发,并且基于这样一连串的近似匹配触发,自动识别失败的热词尝试。这通过允许自动化助理提供关于热词的提示并响应接近匹配的触发,减少自动化助理处的处理和功率使用,并减少用户为被理解而需要进行的尝试的次数,从而改进了性能和灵活性。
22.提供以上描述作为本公开的一些实施方式的概述。下文将更详细地描述那些实施方式以及其他实施方式的进一步描述。
23.各种实施方式可以包括存储可由一个或多个处理器(例如,中央处理单元(cpu)、图形处理单元(gpu)、数字信号处理器(dsp)和/或张量处理单元(tpu))执行的指令以执行诸如本文描述的一个或多个方法的方法的非暂时性计算机可读存储介质。其他实施方式可以包括自动化助理客户端设备(例如,至少包括用于与基于云的自动化助理组件进行接口连接的自动化助理接口的客户端设备),该自动化助理客户端设备包括可操作来执行所存储的指令以执行诸如本文描述的一个或多个方法的方法的处理器。另外其他实施方式可以包括一个或多个服务器的系统,所述服务器包括一个或多个处理器,所述处理器可操作来执行存储的指令,以执行诸如本文描述的一个或多个方法的方法。
附图说明
24.图1a和图1b描绘了展示了根据各种实施方式的本公开的各个方面的示例性过程流程。
25.图2描绘了包括来自图1a和图1b的各种组件并且其中可以实施本文公开的实施方式的示例环境的框图。
26.图3描绘了示出根据各种实施方式的识别失败的热词尝试的示例方法的流程图。
27.图4描绘了示出根据各种实施方式的识别失败的热词尝试的示例方法的流程图。
28.图5描绘了计算设备的示例架构。
具体实施方式
29.图1a和图1b描绘了展示本公开的各个方面的示例过程流程。客户端设备110在图1a中示出,并且包括在表示客户端设备110的图1a的框内涵盖的组件。机器学习引擎122a可以接收与经由客户端设备110的一个或多个麦克风检测到的口头话语相对应的音频数据101和/或与经由客户端设备110的一个或多个非麦克风传感器组件检测到的无话语物理移动(例如,手势和/或移动、身体姿势和/或身体移动、眼睛凝视、面部移动、嘴部移动等)相对应的其他传感器数据102。所述一个或多个非麦克风传感器可以包括相机或其他视觉传感器、接近传感器、压力传感器、加速度计、磁力计和/或其他传感器。机器学习引擎122a使用机器学习模型152a处理音频数据101和/或其他传感器数据102,以生成预测输出103。如本文所述,机器学习引擎122a可以是热词检测引擎122b或替代引擎,诸如话音活动检测器(vad)引擎、端点检测器引擎、语音识别(asr)引擎和/或其他引擎。
30.在一些实施方式中,当机器学习引擎122a生成预测输出103时,它可以被本地存储在设备上存储111中的客户端设备上,并且可选地与对应的音频数据101和/或其他传感器数据102相关联。在那些实施方式的一些版本中,预测输出可以由梯度引擎126检索,以便在稍后的时间用于生成梯度106,诸如当本文描述的一个或多个条件被满足时。设备上存储设
备111可以包括例如只读存储器(rom)和/或随机存取存储器(ram)。在其他实施方式中,预测输出103可以被实时提供给梯度引擎126。
31.客户端设备110可以基于在框182处确定预测输出103是否满足阈值来做出是否发起当前休眠的自动化助理功能(例如,图2的自动化助理295)、避免发起当前休眠的自动化助理功能和/或使用助理激活引擎124关闭当前活动的自动化助理功能的决策。自动化助理功能可以包括:生成识别的文本的语音识别,生成自然语言理解(nlu)输出的nlu,基于识别的文本和/或nlu输出生成响应,将音频数据传输到远程服务器,将识别的文本传输到远程服务器,和/或直接触发响应于音频数据101的一个或多个动作(例如,诸如改变设备音量的常见任务)。例如,假设预测输出103是概率(例如,0.80或0.90),并且框182处的阈值是阈值概率(例如,0.85)。如果客户端设备110在框182处确定预测输出103(例如,0.90)满足阈值(例如,0.85),那么助理激活引擎124可以发起当前休眠的自动化助理功能。
32.在一些实施方式中,如图1b所描绘,机器学习引擎122a可以是热词检测引擎122b。注意的是,各种自动化助理功能,诸如设备上语音识别器142、设备上nlu引擎144和/或设备上履行引擎146,当前是休眠的(即,如虚线所指示)。此外,假设使用热词检测模型152b且基于音频数据101生成的预测输出103满足框182处的阈值,且话音活动检测器128检测针对客户端设备110的用户语音。
33.在这些实施方式的一些版本中,助理激活引擎124激活设备上语音识别器142、设备上nlu引擎144和/或设备上履行引擎146作为当前休眠的自动化助理功能。例如,设备上语音识别器142可以使用设备上语音识别模型142a来处理包括热词“ok assistant(好的助理)”以及热词“ok assistant”之后的附加命令和/或短语的口头话语的音频数据101,以生成识别的文本143a,设备上nlu引擎144可以使用设备上nlu模型144a来处理识别的文本143a,以生成nlu数据145a,设备上履行引擎146可以使用设备上履行模型146a来处理nlu数据以生成履行数据147a,并且客户端设备110可以在响应于音频数据101的一个或多个动作的执行150中使用履行数据147a。
34.在这些实施方式的其他版本中,助理激活引擎124仅激活设备上履行引擎146,而不激活设备上语音识别器142和设备上nlu引擎144,以处理各种命令,诸如“no(否)”、“stop(停止)”、“cancel(取消)”、“volume up(调高音量)”、“volume down(调低音量)”、“next track(下一音轨)”、“previous track(上一音轨)”,和/或可以在没有设备上语音识别器142和设备上nlu引擎144的情况下处理的其他命令。例如,设备上履行引擎146使用设备上履行模型146a处理音频数据101,以生成履行数据147a,并且客户端设备110可以在响应于音频数据101的一个或多个动作的执行150中使用履行数据147a。此外,在这些实施方式的版本中,助理激活引擎124可以通过最初仅激活设备上语音识别器142来确定音频数据101包括热词“ok assistant”来最初激活当前休眠的自动化功能以验证在框182做出的决策是正确的(例如,音频数据101实际上包括热词“ok assistant”),和/或助理激活引擎124可以将音频数据101传输到一个或多个服务器(例如,远程服务器160)以验证在框182做出的决策是正确的(例如,音频数据101实际上包括热词“ok assistant”)。
35.回到图1a,如果客户端设备110在框182处确定预测输出103(例如,0.80)未能满足阈值(例如,0.85),则助理激活引擎124可以避免发起当前休眠的自动化助理功能和/或关闭任何当前活动的自动化助理功能。此外,如果客户端设备110在框182确定预测输出103
(例如,0.80)未能满足阈值(例如,0.85),则客户端设备110可以在框184确定是否接收到进一步的用户界面输入。例如,进一步的用户界面输入可以是包括热词的附加口头话语、用作热词的代理服务的附加无话语物理移动、显式自动化助理调用按钮(例如,硬件按钮或软件按钮)的致动、客户端设备110设备的感测到的“挤压(squeeze)”(例如,当利用至少阈值量的力挤压客户端设备110调用自动化助理时)、和/或其他显式自动化助理调用。如果客户端设备110在框184确定没有接收到进一步的用户界面输入,则客户端设备110可以在框190结束。
36.然而,如果客户端设备110确定在框184处接收到进一步的用户界面输入,则系统可以在框186处确定在框184处接收到的进一步的用户界面输入连同未能满足框182处的阈值的先前接收到的用户界面输入是否指示失败的热词尝试。失败的热词尝试可以是用户试图使用不是热词但与热词近似匹配(例如,在声学上类似于热词)的词或短语来调用助理(或助理的特定动作)的结果。失败的热词尝试也可以是用户试图使用不是热词但语义上类似于热词的词或短语来调用助理(或助理的特定动作)的结果。
37.如果客户端设备110在框186确定在框184接收的进一步的用户界面输入不指示失败的热词尝试,则客户端设备110可以在框190结束。然而,如果客户端设备110在框186确定在框184接收的进一步的用户界面输入指示失败的热词尝试,则客户端设备110可以确定意图热词104并提供提示105。在一些实施方式中,客户端设备110还可以确定真实值输出109,其可以为指示客户端设备110应当已经发起当前休眠的自动化助理功能和/或避免关闭当前活动的自动化助理功能的概率(例如,1.00)。
38.在一些实施方式中,如果客户端设备110在框186处确定在框184处接收的进一步的用户界面输入指示失败的热词尝试,则客户端设备110的助理激活引擎124可以如用户所意图(例如,基于意图热词104)发起一个或多个当前休眠的自动化助理功能。
39.在一些实施方式中,梯度引擎126可以基于真实值输出109的预测输出103来生成梯度106。例如,梯度引擎126可以基于预测输出103与真实值输出109的比较来生成梯度106。在那些实施方式的一些版本中,客户端设备110在设备上存储111中本地存储预测输出103和对应的真实值输出109,并且当满足一个或多个条件时,梯度引擎126检索预测输出103和对应的真实值输出109以生成梯度106。所述一个或多个条件可以包括,例如,客户端设备正在充电,客户端设备至少具有阈值充电状态,客户端设备的温度(基于一个或多个设备上温度传感器)低于阈值,和/或客户端设备没有被用户握持。在那些实施方式的其他版本中,客户端设备110实时地向梯度引擎126提供预测输出103和真实值输出109,并且梯度引擎126实时地生成梯度106。
40.此外,梯度引擎126可以向设备上机器学习训练引擎132a提供生成的梯度106。当接收到梯度106时,设备上机器学习训练引擎132a使用梯度106来更新设备上机器学习模型152a。例如,设备上机器学习训练引擎132a可以利用反向传播和/或其他技术来更新设备上机器学习模型152a。注意的是,在一些实施方式中,设备上机器学习训练引擎132a可以基于梯度106和在客户端设备110处基于附加失败的热词尝试而本地确定的附加梯度,利用批处理技术来更新设备上机器学习模型152a。在一些实施方式中,设备上机器学习训练引擎132a可以要求用户在设备上训练新命令(通过提供多个示例),并基于该训练更新设备上机器学习模型152a。
41.此外,客户端设备110可以将生成的梯度106传输到远程系统160。当远程系统160接收到梯度106时,远程系统160的远程训练引擎162使用梯度106和来自附加客户端设备170的附加梯度107来更新全局热词模型152a1的全局权重。来自附加客户端设备170的附加梯度107可以各自基于与上文关于梯度106描述的技术相同或相似的技术来生成(但是基于本地识别的特定于那些客户端设备的失败热词尝试)。
42.更新分发引擎164可以响应于一个或多个条件被满足,向客户端设备110和/或其他客户端设备提供更新后的全局权重和/或更新后的全局热词模型本身,如108所指示。所述一个或多个条件可以包括例如自上次提供更新后的权重和/或更新后的语音识别模型以来的训练的阈值持续时间和/或数量。所述一个或多个条件可以附加地或替代地包括,例如,对更新后的语音识别模型的测量的改进和/或自从上次提供更新后的权重和/或更新后的语音识别模型以来经过的阈值持续时间。当更新后的权重被提供给客户端设备110时,客户端设备110可以利用更新后的权重替换设备上机器学习模型152a的权重。当更新后的全局热词模型被提供给客户端设备110时,客户端设备110可以利用更新后的全局热词模型来替换设备上机器学习模型152a。在其他实施方式中,客户端设备110可以基于用户期望说出的命令的类型从服务器下载更合适的一个或多个热词模型,并且利用下载的热词模型替换设备上机器学习模型152a。
43.在一些实施方式中,基于客户端设备110和/或客户端设备110的用户的地理区域和/或其他属性,(例如,由远程系统160或其他组件)传输设备上机器学习模型152a以在客户端设备110处存储和使用。例如,设备上机器学习模型152a可以是给定语言的n个可用的机器学习模型中的一个,但是可以基于特定于特定地理区域、设备类型、场境(例如,音乐播放)等的校正来被训练,并基于客户端设备110主要位于特定地理区域而被提供给客户端设备110。
44.现在转向图2,在实施方式中示出了客户端设备110,其中图1a和图1b的各种设备上机器学习引擎被包括作为自动化助理客户端240的一部分(或与之通信)。相应的机器学习模型也被示为与图1a和图1b的各种设备上机器学习引擎接口连接。为简单起见,图2中未示出来自图1a和图1b的其他组件。图2示出了自动化助理客户端240如何利用图1a和图1b的各种设备上机器学习引擎及其相应的机器学习模型来执行各种动作的一个示例。
45.图2中的客户端设备110被示为具有一个或多个麦克风211、一个或多个扬声器212、一个或多个相机和/或其他视觉组件213以及显示器214(例如,触敏显示器)。客户端设备110可以进一步包括压力传感器、接近传感器、加速度计、磁力计和/或用于生成对于由一个或多个麦克风211捕获的音频数据附加的其他传感器数据的其他传感器。客户端设备110至少选择性地执行自动化助理客户端240。在图2的示例中,自动化助理客户端240包括设备上热词检测引擎122b、设备上语音识别器142、设备上自然语言理解(nlu)引擎144和设备上履行引擎146。自动化助理客户端240进一步包括语音捕获引擎242和视觉捕获引擎244。自动化助理客户端140可以包括附加的和/或替代的引擎,诸如话音活动检测器(vad)引擎、端点检测器引擎和/或其他引擎。
46.一个或多个基于云的自动化助理组件280可以可选地在一个或多个计算系统(统称为“云”计算系统)上实施,所述计算系统经由总体上在290处指示的一个或多个局域网和/或广域网(例如,互联网)通信地耦合到客户端设备110。基于云的自动化助理组件280可
以例如经由高性能服务器集群来实施。
47.在各种实施方式中,自动化助理客户端240的实例通过其与一个或多个基于云的自动化助理组件280的交互,可以形成从用户的角度看起来是自动化助理295的逻辑实例,用户可以利用其参与人机交互(例如,口头交互、基于手势的交互和/或基于触摸的交互)。
48.客户端设备110可以是例如:台式计算设备、笔记本计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立的交互式扬声器、诸如智能电视的智能电器(或者配备有具有自动化助理能力的联网软件狗的标准电视),和/或包括计算设备的用户的可穿戴装置(例如,具有计算设备的用户的手表、具有计算设备的用户的眼镜、虚拟或增强现实计算设备)。可以提供附加的和/或替代的客户端设备。
49.所述一个或多个视觉组件213可以采取各种形式,诸如单相相机(monographic camera)、立体相机、lidar组件(或其他基于激光的组件)、雷达组件等。所述一个或多个视觉组件213可以例如由视觉捕获引擎242用来捕获部署了客户端设备110的环境的视觉帧(例如,图像帧、基于激光的视觉帧)。在一些实施方式中,这样的视觉帧可以被用于确定用户是否出现在客户端设备110附近和/或用户(例如,用户的面部)相对于客户端设备110的一定距离。例如,可以利用这样的确定来确定是否激活图2所描绘的各种设备上机器学习引擎和/或其他引擎。
50.语音捕获引擎242可以被配置成捕获用户的语音和/或经由麦克风211捕获的其他音频数据。此外,客户端设备110可以包括压力传感器、接近传感器、加速度计、磁力计和/或用于生成对于经由麦克风211捕获的音频数据附加的其他传感器数据的其他传感器。如本文所述,这样的音频数据和其他传感器数据可以被热词检测引擎122b和/或其他引擎用来确定是否发起一个或多个当前休眠的自动化助理功能、避免发起一个或多个当前休眠的自动化助理功能、和/或关闭一个或多个当前活动的自动化助理功能。自动化助理功能可以包括设备上语音识别器142、设备上nlu引擎144、设备上履行引擎146以及附加和/或替代引擎。例如,设备上语音识别器142可以利用设备上语音识别模型142a来处理捕获口头话语的音频数据,以生成与口头话语相对应的识别的文本143a。设备上nlu引擎144可选地利用设备上nlu模型144a对识别的文本143a执行设备上自然语言理解,以生成nlu数据145a。nlu数据145a可以包括,例如,与口头话语相对应的意图和可选地包括用于意图的参数(例如,槽值)。此外,设备上履行引擎146基于nlu数据145a可选地利用设备上履行模型146a,生成履行数据147a。该履行数据147a可以定义对口头话语的本地和/或远程响应(例如,回答)、基于口头话语来与本地安装的应用执行交互、基于口头话语向物联网(iot)设备(直接或经由对应的远程系统)传输的命令、和/或基于口头话语执行的其他解析动作。履行数据147a然后被提供用于所确定的动作的本地和/或远程执行/实施,以解析口头话语。执行可以包括例如呈现本地和/或远程响应(例如,视觉和/或听觉呈现(可选地利用本地文本到语音模块)、与本地安装的应用交互、向iot设备传输命令和/或其他动作。
51.显示器214可用于显示来自设备上语音识别器122的识别的文本143a和/或进一步识别的文本143b,和/或提示105(其可以包括意图热词104),和/或来自执行150的一个或多个结果。显示器214进一步可以是用户界面输出组件中的一个,通过它来呈现来自自动化助理客户端240的响应的可视部分。
52.在一些实施方式中,所述一个或多个扬声器212可以用于提供提示105,该提示105可以是包括意图热词104的音频响应。
53.在一些实施方式中,基于云的自动化助理组件280可以包括执行语音识别的远程asr引擎281、执行自然语言理解的远程nlu引擎282和/或生成履行的远程履行引擎283。还可以可选地包括远程执行模块,其基于本地或远程确定的履行数据来执行远程执行。可以包括附加的和/或替代的远程引擎。如本文所述,在各种实施方式中,至少由于在解析口头话语时它们提供的延迟和/或网络使用减少(由于不需要客户端-服务器往返来解析口头话语),可以优先考虑设备上语音处理、设备上nlu、设备上履行和/或设备上执行。然而,可以至少选择性地利用一个或多个基于云的自动化助理组件280。例如,这样的组件可以与设备上组件并行使用,并且当本地组件出现故障时使用来自这样的组件的输出。例如,在某些情况下(例如,由于客户端设备110的资源相对有限),设备上履行引擎146能够出现故障,并且在这样的情况下,远程履行引擎283可以利用云的更鲁棒的资源来生成履行数据。远程履行引擎283可以与设备上履行引擎146并行操作,并且当设备上履行失败时利用其结果,或者可以响应于确定设备上履行引擎146的故障而被调用。
54.在各种实施方式中,nlu引擎(设备上和/或远程的)可以生成包括所识别的文本的一个或多个注释以及自然语言输入的一个或多个(例如,全部)术语的nlu数据。在一些实施方式中,nlu引擎被配置成识别和注释自然语言输入中的各种类型的语法信息。例如,nlu引擎可以包括形态模块,该形态模块可以将单独的词分成语素和/或例如利用语素的类别来注释语素。nlu引擎还可以包括被配置成利用术语的语法角色来注释术语的词性标记器。此外,例如,在一些实施方式中,nlu引擎可以附加地和/或替代地包括依存解析器,该依存分析器被配置成确定自然语言输入中的术语之间的句法关系。
55.在一些实施方式中,nlu引擎可以附加地和/或替代地包括实体标记器,该实体标记器被配置成注释一个或多个片段中的实体引用,诸如对人的引用(包括例如文学人物、名人、公众人物等)、组织、(真实的和想象的)位置等。在一些实施方式中,nlu引擎可以附加地和/或替代地包括共指解析器(未描绘出),该共指解析器被配置成基于一个或多个场境线索来分组或“群集”对相同实体的引用。在一些实施方式中,nlu引擎的一个或多个组件可以依赖于来自nlu引擎的一个或多个其他组件的注释。
56.nlu引擎还可以包括意图匹配器,其被配置成确定参与与自动化助理295的交互的用户的意图。意图匹配器可以使用各种技术来确定用户的意图。在一些实施方式中,意图匹配器可以具有对一个或多个本地和/或远程数据结构的访问,所述数据结构包括例如语法和响应意图之间的多个映射。例如,在映射中包括的语法可以随着时间被选择和/或被学习,并且可以表示用户的共同意图。例如,一个语法“play《artist》(播放《艺术家》)”可以被映射到调用响应动作的意图,该响应动作使得在客户端设备110上播放《artist》(《艺术家》)的音乐。另一个语法“[weather|forecast]today([天气|预报]今天)”可以匹配诸如“what’s the weather today(今天的天气如何)”和“what’s the forecast for today?(今天的天气预报如何?)”的用户查询。除了语法之外或者代替语法,在一些实施方式中,意图匹配器还可以单独地或者与一个或多个语法相结合地采用一个或多个经过训练的机器学习模型。这些经过训练的机器学习模型可以被训练来识别意图,例如通过将来自口头话语的识别的文本嵌入到降维空间中,并且然后例如使用诸如欧几里德距离、余弦相似性等
技术来确定哪些其他嵌入(以及因此的意图)是最接近的。如上面的“play《artist》”示例语法所示,一些语法具有可以利用槽值(或“parameters(参数)”)填充的槽(例如《artist》)。可以利用各种方式来确定槽值。用户通常会主动提供槽值。例如,对于语法“order me a《topping》pizza(给我点《浇头》比萨饼)”,用户可能说出短语“order me a sausge pizza(给我点香肠比萨饼)”,在该情况下,槽《topping》(《浇头》)被自动填充。可以基于例如用户位置、当前呈现的内容、用户偏好和/或其他暗示来推断其他槽值。
[0057]
履行引擎(本地和/或远程)可以被配置成接收由nlu引擎输出的预测/估计的意图以及任何相关联的槽值,并履行(或“解析”)该意图。在各种实施方式中,用户意图的履行(或“解析”)可以使得例如由履行引擎生成/获得各种履行信息(也称为履行数据)。这可以包括确定对口头话语的本地和/或远程响应(例如,回答)、基于口头话语执行的与本地安装的应用的交互、基于口头话语向物联网(iot)设备(直接或经由对应的远程系统)进行传输的命令、和/或基于口头话语执行的其他解析动作。然后,设备上履行可以发起所确定的动作的本地和/或远程执行/实施,以解析口头话语。
[0058]
图3描绘了示出识别失败的热词尝试的示例方法300的流程图。为了方便起见,参考执行操作的系统来描述方法300的操作。方法300的该系统包括客户端设备的一个或多个处理器和/或其他组件。此外,尽管方法300的操作以特定次序示出,但这并不意味着是限制性的。可以重新排序、省略或添加一个或多个操作。
[0059]
在框305,系统经由客户端设备的一个或多个麦克风接收捕获用户的第一口头话语的第一音频数据。
[0060]
在框310,系统使用一个或多个机器学习模型来处理在框305接收的第一音频数据,以生成第一预测输出,该第一预测输出指示第一音频数据中存在一个或多个热词的概率。所述一个或多个机器学习模型可以是例如设备上热词检测模型和/或其他机器学习模型。每个机器学习模型可以是深度神经网络或任何其他类型的模型,并且可以被训练来识别一个或多个热词。此外,所生成的输出可以是例如概率和/或其他似然性度量。
[0061]
仍然参考框310,在示例中,机器学习模型可以是被训练来将包括多个词的热词识别为单个类别的热词模型。如果第一音频数据包括词“next song(下一歌曲)”,并且机器学习模型被训练来识别“next track(下一音轨)”,则由于“next song”和“next track”之间存在某个水平的声学相似性,所以机器学习模型可以生成第一预测输出0.5。在另一个示例中,可以使用具有多个类别的单个机器学习模型,并且每个类别可以从特定热词集合中检测单独的词。替代地,可以使用多个机器学习模型,并且每个模型可以从特定热词集合中检测单独的词。在该示例中,系统可以为“next(下一个)”类别生成高置信度匹配,但是没有其他匹配。
[0062]
在框315,系统确定在框310生成的第一预测输出是否满足次级阈值,该次级阈值比初级阈值更少指示在音频数据中存在所述一个或多个热词(例如,次级阈值可以是中等置信度阈值,并且初级阈值可以是高置信度阈值)。如果在框315的迭代中,系统确定在框310生成的第一预测输出不满足次级阈值,则系统前进到框320,并且流程结束。另一方面,如果在框315的迭代中,系统确定在框310生成的第一预测输出满足次级阈值,则系统前进到框325。在实施方式中,初级和次级阈值可以基于热词、命令、设备和/或场境而变化。
[0063]
仍然参考框315,在示例中,假设在框310生成的第一预测输出是概率,并且该概率
必须大于0.65以满足框315处的次级阈值,并且预测概率是0.88。基于预测概率0.88满足次级阈值0.65,系统前进到框325。
[0064]
在框325,系统确定在框310生成的第一预测输出是否满足初级阈值。如果在框325的迭代中,系统确定在框310生成的第一预测输出不满足初级阈值,则系统前进到框335。另一方面,如果在框325的迭代中,系统确定在框310生成的第一预测输出满足初级阈值,则系统前进到框330,并启动一个或多个当前休眠的自动化助理功能。在一些实施方式中,所述一个或多个自动化助理功能包括生成识别的文本的语音识别、生成自然语言理解(nlu)输出的nlu、基于识别的文本和/或nlu输出生成响应、向远程服务器传输音频数据、向远程服务器传输识别的文本、和/或直接触发响应于第一音频数据的一个或多个动作(例如,诸如改变设备音量的常见任务)。
[0065]
仍然参考框330,在示例中,假设在框310生成的第一预测输出是概率,并且该概率必须大于0.85以满足框325处的初级阈值并在框330处激活一个或多个当前休眠的自动化助理功能,并且预测概率是0.88。基于预测概率0.88满足阈值0.85,系统前进到框330,并如用户所意图来发起所述一个或多个当前休眠的自动化助理功能。
[0066]
在框335,系统经由客户端设备的一个或多个麦克风接收捕获用户的第二口头话语的第二音频数据。
[0067]
在框340,系统使用所述一个或多个机器学习模型来处理在框335接收的第二音频数据,以生成第二预测输出,该第二预测输出指示第二音频数据中存在所述一个或多个热词的概率。所述一个或多个机器学习模型可以是例如设备上的热词检测模型和/或其他机器学习模型。此外,所生成的输出可以是例如概率和/或其他似然性度量。
[0068]
在框345,系统确定在框340生成的第二预测输出是否满足次级阈值。如果在框345的迭代中,系统确定在框340生成的第二预测输出不满足次级阈值,则系统前进到框320,并且流程结束。另一方面,如果在框345的迭代中,系统确定在框340生成的第二预测输出满足次级阈值,则系统前进到框350。
[0069]
仍然参考框345,在示例中,假设在框340生成的第二预测输出是概率,并且该概率必须大于0.65以满足框345处的次级阈值,并且预测概率是0.88。基于预测概率0.88满足次级阈值0.65,系统前进到框350。
[0070]
在框350,系统确定在框340生成的第二预测输出是否满足初级阈值。如果在框350的迭代中,系统确定在框340生成的第二预测输出不满足初级阈值,则系统前进到框360。另一方面,如果在框350的迭代中,系统确定在框340生成的第二预测输出满足初级阈值,则系统前进到框355,并发起一个或多个当前休眠的自动化助理功能。在一些实施方式中,所述一个或多个自动化助理功能包括生成识别的文本的语音识别、生成自然语言理解(nlu)输出的nlu、基于识别的文本和/或nlu输出生成响应、向远程服务器传输音频数据、向远程服务器传输识别的文本、和/或直接触发响应于第二音频数据的一个或多个动作(例如,诸如改变设备音量的常见任务)。
[0071]
参考框350,在其他实施方式中,如果在框350的迭代中,系统确定在框340生成的预测输出不满足初级阈值,则系统可以返回框335一次或多次,并且可以使用捕获用户的第三口头话语的第三音频数据重复框335至350,以此类推。
[0072]
参考框355,在示例中,假设在框340生成的第二预测输出是概率,并且该概率必须
大于0.85以满足框350处的初级阈值并在框355处激活一个或多个当前休眠的自动化助理功能,并且预测概率是0.88。基于预测概率0.88满足阈值0.85,系统前进到框355,并如用户所意图来发起所述一个或多个当前休眠的自动化助理功能。
[0073]
在框360,系统确定由在框305接收的第一音频数据捕获的第一口头话语和由在框335接收的第二音频数据捕获的第二口头话语是否相对于彼此满足一个或多个时间标准(例如,话语被少于10秒分隔)。如果在框360的迭代中,系统确定不是由在框305接收的第一音频数据捕获的第一口头话语和由在框335接收的第二音频数据捕获的第二口头话语相对于彼此满足一个或多个时间标准的情况,则系统前进到框320,并且流程结束。另一方面,如果在框360的迭代中,系统确定由在框305接收的第一音频数据捕获的第一口头话语和由在框335接收的第二音频数据捕获的第二口头话语相对于彼此满足一个或多个时间标准,则系统前进到框365。
[0074]
在框365,响应于第一预测输出和第二预测输出满足次级阈值(分别在框315和框345确定)但不满足初级阈值(分别在框325和框350确定),并且响应于由在框305接收的第一音频数据捕获的第一口头话语和由在框335接收的第二音频数据捕获的第二口头话语相对于彼此满足一个或多个时间标准(如在框360确定的),系统识别失败的热词尝试(例如,系统确定用户使用不是热词的词或短语进行了调用助理的失败尝试)。
[0075]
仍然参考框365,在一些实施方式中,识别失败的热词尝试进一步响应于确定第一口头话语和第二口头话语之间的相似性超过相似性阈值。系统可以允许某个变化,因为用户可以在多个失败的热词尝试之后试用词或短语的不同变体。附加地,在一些实施方式中,识别失败的热词尝试进一步响应于确定由第一预测输出指示的概率和由第二预测输出指示的概率与所述一个或多个热词中的相同热词相对应(例如,它们都接近相同热词类别)。
[0076]
仍然参考框365,在一些实施方式中,系统使用以声学特征(例如,韵律、非语言发声或其他类型的推断的音频命令属性)为条件的模型来确定第一音频数据和第二音频数据包括命令。以声学特征为条件的模型可以作为第二阶段或者连同热词模型一起运行。在一些实施方式中,识别失败的热词尝试进一步响应于确定第一音频数据和第二音频数据包括命令。
[0077]
在框370,系统确定与在框365识别的失败的热词尝试相对应的意图热词。在一些实施方式中,可以基于第一音频数据的至少一部分、第二音频数据的至少一部分和意图热词之间的声学相似性来确定意图热词。在其他实施方式中,系统可以进入更高功率状态(例如,唤醒)并且使用设备上语音识别引擎对第一音频数据和第二音频数据执行第二阶段语音处理。在该情况下,系统可以使用自然语言理解来确定意图热词,例如,基于第一音频数据的转录、第二音频数据的转录和支持的热词之间的文本嵌入相似性。
[0078]
在框375,响应于在框365识别失败的热词尝试,系统提供响应于失败的热词尝试的提示。在一些实施方式中,提供提示包括在客户端设备的显示器上显示意图热词(在框370确定),或者由客户端设备提供包括意图热词的音频响应。该提示可以阐明可用词汇(即,支持的热词)。该提示可以指示系统已经确定用户可能尝试说出特定的支持的热词(例如,在框370确定的意图热词)。在失败的热词尝试(例如,“音量增大”)类似于多个支持的热词(例如,“调高音量”和“调低音量”)的情况下,提示可以包括多个支持的热词。在其他实施方式中,系统可以不在框375提供提示,并且可以改为直接从框370前进到框380。
[0079]
在框380,系统执行与在框370确定的意图热词相对应的动作。例如,系统可以发起一个或多个当前休眠的自动化助理功能。在一些实施方式中,所述一个或多个自动化助理功能包括生成识别的文本的语音识别,生成自然语言理解(nlu)输出的nlu,基于识别的文本和/或nlu输出生成响应,将音频数据传输到远程服务器,将识别的文本传输到远程服务器,和/或基于意图热词直接触发一个或多个动作(例如,诸如改变设备音量、前进到下一音轨、暂停等常见任务)。在一些实施方式中,不同的意图热词可以与不同的动作相对应(例如,“volume up(调高音量)”热词可以与增加音量的动作相对应,并且“volume down(调低音量)”热词可以与减少音量的动作相对应)。
[0080]
仍然参考框380,在一些实施方式中,系统可以确定与框370处的意图热词的确定相关联的置信度水平,并且只有当置信度水平超过阈值水平和/或只有当在框370处确定了单个意图热词时,系统才可以执行框380处的动作。附加地,在一些实施方式中,只有当意图热词在支持的热词的特定子集中时,系统才可以执行框380处的动作。
[0081]
在框380之后,系统然后返回到框305。
[0082]
图4描绘了示出识别失败的热词尝试的示例方法400的流程图。为了方便起见,参考执行操作的系统来描述方法400的操作。方法400的该系统包括客户端设备的一个或多个处理器和/或其他组件。此外,尽管方法400的操作以特定次序示出,但这并不意味着是限制性的。可以重新排序、省略或添加一个或多个操作。
[0083]
在框405,系统经由客户端设备的一个或多个麦克风接收捕获用户的第一口头话语的第一音频数据。
[0084]
在框410,系统使用机器学习模型中的多个类别中的每一个来处理在框405接收的第一音频数据,以生成与第一音频数据相关联的对应概率。在实施方式中,每个类别与多个热词中的对应热词相关联,并且每个对应概率与第一音频数据中存在该对应热词的概率相关联。机器学习模型可以是例如设备上的热词检测模型和/或其他机器学习模型。
[0085]
仍然参考框410,在示例中,机器学习模型中的第一类别可以与热词“next track(下一音轨)”相对应,机器学习模型中的第二类别可以与热词“previous track(前一音轨)”相对应,机器学习模型中的第三类别可以与热词“pause(暂停)”相对应。在实施方式中,系统可以在机器学习模型中的多个类别的活动子集选择性地处理音频数据。活动子集可以包括与在特定场境中活动的热词相对应的类别(例如,只有当音频和/或视频正在被活动地呈现时,机器学习模型中与“next track”、“previous track”和“pause”相对应的类别才可以被包括在活动子集中)。
[0086]
在其他实施方式中,在方法400中,代替使用具有多个类别的机器学习模型,系统可以使用多个机器学习模型,其中每个机器学习模型与多个热词中的对应热词相关联。
[0087]
在框415,系统确定(在框410生成的)第一音频数据中存在多个热词中的一个(或多个)热词的概率是否满足次级阈值,该次级阈值比初级阈值更少指示在音频数据中存在多个热词中的一个热词。如果在框415的迭代中,系统确定不是第一音频数据中存在多个热词中的一个热词的概率满足次级阈值的情况,则系统前进到框420,并且流程结束。另一方面,如果在框415的迭代中,系统确定在框410生成的第一音频数据中存在多个热词中的一个热词的概率满足次级阈值,则系统前进到框425。
[0088]
仍然参考框415,在示例中,假设(在框410生成的)第一音频数据中存在多个热词
中的一个热词的概率是0.88,并且该概率必须大于0.65以满足框415处的次级阈值。基于概率0.88满足次级阈值0.65,系统前进到框425。
[0089]
在框425,系统确定(在框410生成的)第一音频数据中存在多个热词中的一个热词的概率是否满足初级阈值。如果在框425的迭代中,系统确定不是第一音频数据中存在多个热词中的一个热词的概率满足初级阈值的情况,则系统前进到框435。另一方面,如果在框425的迭代中,系统确定在框410生成的第一音频数据中存在多个热词中的一个热词的概率满足初级阈值,则系统前进到框430,并发起一个或多个当前休眠的自动化助理功能。在一些实施方式中,所述一个或多个自动化助理功能包括生成识别的文本的语音识别、生成自然语言理解(nlu)输出的nlu、基于识别的文本和/或nlu输出生成响应、向远程服务器传输音频数据、向远程服务器传输识别的文本、和/或直接触发响应于第一音频数据的一个或多个动作(例如,诸如改变设备音量的常见任务)。
[0090]
仍然参考框430,在示例中,假设(在框410生成的)第一音频数据中存在多个热词中的一个热词的概率是0.88,并且该概率必须大于0.85以满足框425处的初级阈值并在框430处激活一个或多个当前休眠的自动化助理功能。基于概率0.88满足阈值0.85,系统前进到框430,并如用户意图来发起所述一个或多个当前休眠的自动化助理功能。
[0091]
在框435,系统经由客户端设备的一个或多个麦克风接收捕获用户的第二口头话语的第二音频数据。
[0092]
在框440,系统使用机器学习模型中的多个类别中的每一个来处理在框435接收的第二音频数据,以生成与第二音频数据相关联的对应概率。在实施方式中,每个对应概率与第二音频数据中存在的对应热词的概率相关联。在实施方式中,所生成的输出可以是例如概率和/或其他似然性度量。
[0093]
在框445,系统确定(在框440生成的)第二音频数据中存在多个热词中的一个(或多个)热词的概率是否满足次级阈值。如果在框445的迭代中,系统确定不是第二音频数据中存在多个热词中的一个热词的概率满足次级阈值的情况,则系统前进到框420,并且流程结束。另一方面,如果在框445的迭代中,系统确定第二音频数据中存在多个热词中的一个热词的概率满足次级阈值,则系统前进到框450。
[0094]
仍然参考框445,在示例中,假设(在框440生成的)第二音频数据中存在多个热词中的一个热词的概率是0.88,并且该概率必须大于0.65以满足框445处的次级阈值。基于概率0.88满足次级阈值0.65,系统前进到框450。
[0095]
在框450,系统确定(在框440生成的)第二音频数据中存在多个热词中的一个热词的概率是否满足初级阈值。如果在框450的迭代中,系统确定不是第二音频数据中存在多个热词中的一个热词的概率满足初级阈值的情况,则系统前进到框460。另一方面,如果在框450的迭代中,系统确定第二音频数据中存在多个热词中的一个热词的概率满足初级阈值,则系统前进到框455,并发起一个或多个当前休眠的自动化助理功能。在一些实施方式中,所述一个或多个自动化助理功能包括生成识别的文本的语音识别、生成自然语言理解(nlu)输出的nlu、基于识别的文本和/或nlu输出生成响应、向远程服务器传输音频数据、向远程服务器传输识别的文本、和/或直接触发响应于第二音频数据的一个或多个动作(例如,诸如改变设备音量的常见任务)。
[0096]
仍然参考框450,在一个示例中,假设(在框440生成的)第二音频数据中存在多个
热词中一个的概率是0.88,并且该概率必须大于0.85以满足框450处的初级阈值并在框455处激活一个或多个当前休眠的自动化助理功能。基于概率0.88满足阈值0.85,系统前进到框455,并如用户所意图来发起所述一个或多个当前休眠的自动化助理功能。
[0097]
在框460,系统确定由在框405接收的第一音频数据捕获的第一口头话语和由在框435接收的第二音频数据捕获的第二口头话语是否相对于彼此满足一个或多个时间标准。如果在框460的迭代中,系统确定不是由在框405接收的第一音频数据捕获的第一口头话语和由在框435接收的第二音频数据捕获的第二口头话语相对于彼此满足一个或多个时间标准的情况,则系统前进到框420,并且流程结束。另一方面,如果在框360的迭代中,系统确定由在框405接收的第一音频数据捕获的第一口头话语和由在框435接收的第二音频数据捕获的第二口头话语相对于彼此满足一个或多个时间标准,则系统前进到框465。
[0098]
在框465,响应于第一音频数据中存在的多个热词中的所述一个的概率满足次级阈值(如框415所确定)但不满足初级阈值(如框425所确定)以及第二音频数据中存在的多个热词中的所述一个满足次级阈值(如框445所确定)但不满足初级阈值(如框450所确定)的概率,并且响应于第一口头话语和第二口头话语相对于彼此满足一个或多个时间标准(如在框460所确定),系统识别失败的热词尝试(例如,系统确定用户使用不是热词的词或短语进行了调用助理的失败尝试)。
[0099]
仍然参考框465,在一些实施方式中,识别失败的热词尝试进一步响应于确定第一口头话语和第二口头话语之间的相似性超过相似性阈值。在一些实施方式中,该系统使用以声学特征为条件的模型来确定第一音频数据和第二音频数据包括命令。在一些实施方式中,识别失败的热词尝试进一步响应于确定第一音频数据和第二音频数据包括命令。
[0100]
在框470,系统确定与在框465识别的失败的热词尝试相对应的意图热词。在一些实施方式中,可以基于第一音频数据的至少一部分、第二音频数据的至少一部分和意图热词之间的声学相似性来确定意图热词。
[0101]
在框475,响应于在框465识别失败的热词尝试,系统提供响应于失败的热词尝试的提示。在一些实施方式中,提供提示包括在客户端设备的显示器上显示意图热词(在框470确定),或者由客户端设备提供包括意图热词的音频响应。在一些实施方式中,系统可以不在框475提供提示,并且可以改为直接从框470前进到框480。
[0102]
在框480,系统执行与意图热词(在框470确定)相对应的动作。例如,系统可以发起一个或多个当前休眠的自动化助理功能。在一些实施方式中,所述一个或多个自动化助理功能包括生成识别的文本的语音识别、生成自然语言理解(nlu)输出的nlu、基于识别的文本和/或nlu输出生成响应、向远程服务器传输音频数据、向远程服务器传输识别的文本、和/或基于意图热词直接触发一个或多个动作(例如,诸如改变设备音量的常见任务)。在框480之后,系统然后返回到框405。
[0103]
在实施方式中,系统可以基于失败的热词尝试的音频数据,识别要作为热词添加到模型中的新词。例如,系统可以基于在与失败的热词尝试相关联的音频数据中捕获的话语来本地训练/微调热词模型。在其他实施方式中,该系统可以呼叫服务器侧系统来获得更新后的热词模型,该模型包括用户在失败的热词尝试中尝试用作热词的话语中的词或短语(例如,该系统可以基于用户期望说出的命令的类型从服务器下载更合适的一个或多个热词模型)。在一些实施方式中,系统可以基于失败的热词尝试来降低一个或多个热词阈值
(例如,考虑到用户对热词的口音/发音)。
[0104]
在实施方式中,在热词在场境中活动的情况下,系统可以使用失败的热词尝试来使热词在这个新的场境中活动。作为提示,系统可以提供反馈来指示特定热词未来将在当前场境(例如,一天中的时间、运行的应用程序等)中工作。
[0105]
在其他实施方式中,响应于接收到包括在相近的时间接近性内的多个声学上相似的话语的音频数据,系统可以使用设备上的语音识别引擎来处理音频数据以生成文本。在该情况下,系统可以使用自然语言理解来确定意图热词,例如,基于由语音识别引擎生成的文本和支持的热词之间的语义相似性。
[0106]
注意的是,在方法300和400的各种实施方式中,第一音频数据、第二音频数据、第一预测输出、第二预测输出、概率、初级阈值、次级阈值和/或意图热词可以本地存储在客户端设备上。以这些和其他方式,可以减轻失败的热词尝试的发生。此外,这使能实现在用户记错热词的情况下处理捕获口头话语的音频数据的设备上机器学习模型的改进的性能。
[0107]
图5是示例计算设备510的框图,该示例计算设备510可以可选地用于执行本文描述的技术的一个或多个方面。在一些实施方式中,客户端设备、基于云的自动化助理组件和/或其他组件中的一个或多个可以包括示例计算设备510的一个或多个组件。
[0108]
计算设备510通常包括至少一个处理器514,其经由总线子系统512与多个外围设备通信。这些外围设备可以包括存储子系统524,包括例如存储器子系统525和文件存储子系统526、用户界面输出设备520、用户界面输入设备522和网络接口子系统516。输入和输出设备允许用户与计算设备510交互。网络接口子系统516提供到外部网络的接口,并且被耦合到其他计算设备中的对应接口设备。
[0109]
用户界面输入设备522可以包括键盘、诸如鼠标、轨迹球、触摸板或图形输入板的定点设备、扫描仪、结合到显示器中的触摸屏、诸如语音识别系统的音频输入设备、麦克风和/或其他类型的输入设备。一般而言,术语“输入设备”的使用旨在包括将信息输入计算设备510或通信网络的所有可能类型的设备和方式。
[0110]
用户界面输出设备520可以包括显示子系统、打印机、传真机或者诸如音频输出设备的非可视显示器。显示子系统可以包括阴极射线管(crt)、诸如液晶显示器(lcd)的平板设备、投影设备或用于创建可视图像的一些其他机构。显示子系统还可以诸如经由音频输出设备提供非视觉显示。一般而言,术语“输出设备”的使用旨在包括从计算设备510向用户或另一机器或计算设备输出信息的所有可能类型的设备和方式。
[0111]
存储子系统524存储提供本文描述的一些或所有模块的功能性的程序和数据结构。例如,存储子系统524可以包括执行本文公开的方法的选择的方面以及实施图1a和图1b中描绘的各种组件的逻辑。
[0112]
这些软件模块通常由处理器514独自执行或者与其他处理器组合执行。在存储子系统524中包括的存储器子系统525可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(ram)530和存储固定指令的只读存储器(rom)532。文件存储子系统526可以为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、cd-rom驱动器、光驱或可移动介质盒。实施某些实施方式的功能性的模块可以由文件存储子系统526存储在存储子系统524中,或者存储在处理器514可访问的其他机器中。
[0113]
总线子系统512提供了一种机制,用于让计算设备510的各种组件和子系统如意图相互通信。尽管总线子系统512被示意性地示为单个总线,但是总线子系统的替代实施方式可以使用多个总线。
[0114]
计算设备510可以是各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其他数据处理系统或计算设备。由于计算机和网络的不断改变的性质,图5中描绘的计算设备510的描述仅旨在作为用于说明一些实施方式的目的的特定示例。计算设备510的许多其他配置可能具有比图5中描绘的计算设备更多或更少的组件。
[0115]
在本文描述的系统收集或以其他方式监控关于用户的个人信息,或者可以利用个人和/或被监控的信息的情况下,可以向用户提供机会来控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户偏好或用户的当前地理位置的信息),或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容。此外,在存储或使用某些数据之前,可能会以一个或多个方式对其进行处理,以便移除个人身份信息。例如,可以处理用户的身份,使得没有用户的个人身份信息能够被确定,或者在地理位置信息被获得处可以概括用户的地理位置(诸如城市、邮政编码或州级),使得不能确定用户的具体地理位置。因此,用户可以具有对如何收集和/或使用关于用户的信息的控制。
[0116]
虽然本文已经描述和示出了若干实施方式,但是可以利用用于执行功能和/或获得结果和/或本文描述的一个或多个优点的各种其他手段和/或结构,并且每个这样的变化和/或修改被认为在本文描述的实施方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和配置都意味着是示例性的,并且实际的参数、尺寸、材料和/或配置将取决于使用该教导的具体一个或多个应用。本领域的技术人员将会认识到或者能够使用被不多于常规实验来确定本文描述的具体实施方式的许多等同物。因此,应当理解,前述实施方式仅作为示例提出,并且在所附权利要求及其等同物的范围内,实施方式可以以不同于具体描述和要求保护的方式实践。本公开的实施方式针对本文描述的每个单独的特征、系统、物品、材料、套件和/或方法。此外,两个或更多个这样的特征、系统、物品、材料、套件和/或方法的任何组合如果不是相互矛盾的,则这样的特征、系统、物品、材料、套件和/或方法被包括在本公开的范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献