首页 / 专利库 / 人工智能 / 人工智能 / 机器学习 / 监督学习 / 用户自适应音量选择

用户自适应音量选择

阅读:544发布:2020-05-12

专利汇可以提供用户自适应音量选择专利检索,专利查询,专利分析的服务。并且本公开涉及用户自适应音量选择。公开了用于用户自适应音量选择的技术。系统接收包括对虚拟助理的用户 请求 的音频输入。所述系统确定对应于所述音频输入的一个或多个声音特性,并将所述声音特性应用于音量选择模型。所述音量选择模型基于所述声音特性来选择音量 水 平。所述系统以选择的音量水平播放对用户的请求的音频响应。随后,所述系统接收将输出音量 修改 到不同的音量水平的用户输入。基于所述用户输入,所述系统校准所述音量选择模型。当所述系统接收到另一音频输入时,所述系统分析所述另一音频输入以确定所述另一音频输入的一个或多个声音特性。所述系统使用所述经校准的音量选择模型来选择对所述另一音频输入的音频响应的音量水平。,下面是用户自适应音量选择专利的具体信息内容。

1.包括指令的一个或多个非暂时性计算机可读介质,当由一个或多个硬件处理器执行时,所述指令使得执行包括以下的操作:
接收包括第一请求的第一音频输入;
分析所述第一音频输入以确定对应于所述第一音频输入的一个或多个声音特性;
将对应于所述第一音频输入的所述一个或多个声音特性应用于音量选择模型以计算第一音量平;
以所述第一音量水平播放对应于所述第一请求的第一音频响应;
在以所述第一音量水平播放所述第一音频响应之后,接收将输出音量从所述第一音量水平修改为第二音量水平的第一用户输入;
基于所述第一用户输入来校准所述音量选择模型,以获得更新的音量选择模型;
接收包括第二请求的第二音频输入;
分析所述第二音频输入以确定对应于所述第二音频输入的一个或多个声音特性,其中,对应于所述第二音频输入的所述一个或多个声音特性基本上类似于对应于所述第一音频输入的所述一个或多个声音特性;
将对应于所述第二音频输入的所述一个或多个声音特性应用于所述更新的音量选择模型,以计算基本上类似于所述第二音量水平的第三音量水平;
经由音频设备,以所述第三音量水平播放对应于所述第二请求的第二音频响应;
在所述第二音频响应之后,检测阈值时间段的流逝而未接收到修改所述输出音量的任何用户输入;和
基于检测到所述阈值时间段的流逝而未接收到修改所述输出音量的任何用户输入:在所述音量选择模型中,确认所述第三音量水平对于响应具有一个或多个声音特性的音频输入是正确的,所述一个或多个声音特性基本上类似于对应于所述第二音频输入的所述一个或多个声音特性。
2.根据权利要求1所述的一个或多个介质,
其中,分析所述第一音频输入以确定对应于所述第一音频输入的所述一个或多个声音特性包括,确定所述第一音频输入包括所述音频设备的多个用户中的第一用户的语音,以及
其中,校准所述音量选择模型是为所述音频设备的所述多个用户中的第一用户而不是第二用户而执行的。
3.根据权利要求1所述的一个或多个介质,所述操作进一步包括:
在以所述第三音量水平播放所述第二音频响应之后,接收请求重复所述第二音频响应的第二用户输入;
基于所述第二用户输入,进一步校准所述音量选择模型;和
以高于所述第三音量水平的第四音量水平重复所述第二音频响应。
4.根据权利要求1所述的一个或多个介质,所述操作进一步包括:
至少通过基于包括多个预先标记的音频输入的训练数据来执行监督学习来生成所述音量选择模型。
5.根据权利要求1所述的一个或多个介质,所述操作进一步包括:
至少通过以下方式来训练所述音量选择模型:
提示所述音频设备的用户提供一系列音频输入;和
基于所述一系列音频输入来校准所述音量选择模型。
6.根据权利要求1所述的一个或多个介质,所述操作进一步包括:
将与所述音量选择模型相关联的校准数据传输到服务器;和
在所述服务器处,将所述校准数据结合到被分配给一个或多个其它音频设备的基线音量选择模型中。
7.根据权利要求1所述的一个或多个介质,所述操作进一步包括:
至少通过基于包括多个预先标记的音频输入的训练数据来执行监督学习来生成所述音量选择模型;
至少通过以下方式来训练所述音量选择模型:
提示所述音频设备的用户提供一系列音频输入,和
基于所述一系列音频输入来校准所述音量选择模型;
在以所述第三音量水平播放所述第二音频响应之后,接收请求重复所述第二音频响应的第二用户输入;
基于所述第二用户输入,进一步校准所述音量选择模型;
以高于所述第三音量水平的第四音量水平重复所述第二音频响应;
将与所述音量选择模型相关联的校准数据传输到服务器;
在所述服务器处,将所述校准数据结合到被分配给一个或多个其它音频设备的基线音量选择模型中;
基于与所述第二音频输入相关联的一个或多个非声音特性来调整所述第三音量水平,其中所述一个或多个非声音特性包括所述第二音频输入的一天中的时间和环境光水平,其中,分析所述第一音频输入以确定对应于所述第一音频输入的所述一个或多个声音特性包括:
(a)确定所述第一音频输入包括所述音频设备的多个用户中的第一用户的语音,其中校准所述音量选择模型是为所述音频设备的所述多个用户中的第一用户而不是第二用户而执行的,
(b)确定所述第一音频输入中的语音的响度,
(c)估计所述音频设备的用户离所述音频设备的距离,
(d)确定环境音量水平,
(e)确定所述音频设备是特定种类的音频设备,
(f)计算所述第一音频输入中的信噪比
(g)确定所述第一音频输入是针对与所述音频设备相关联的多个虚拟助理色中的特定虚拟助理角色的,以及
(h)确定所述第一音频设备的用户有听障碍。
8.包括指令的一个或多个非暂时性计算机可读介质,当由一个或多个硬件处理器执行时,所述指令使得执行包括以下的操作:
接收包括请求的音频输入,其中所述请求没有指定对所述请求的响应的音量水平;
生成对所述请求的所述响应;
将来自所述请求和所述响应中的至少一个的内容应用于音量选择模型以确定响应音量;
配置音频设备来以所述响应音量播放所述响应;和
经由所述音频设备以所述响应音量播放所述响应。
9.包括指令的一个或多个非暂时性计算机可读介质,当由一个或多个硬件处理器执行时,所述指令使得执行包括以下的操作:
接收包括请求的音频输入,其中所述请求没有指定对所述请求的响应的音量水平;
分析所述音频输入以确定对应于所述音频输入的一个或多个声音特性;
基于所述一个或多个声音特性来计算音量修正因子;
将基线音量水平乘以所述音量修正因子以确定调整后的音量水平;
配置音频设备来以所述调整后的音量水平播放对所述请求的所述响应;和经由所述音频设备以所述调整后的音量水平播放对所述请求的所述响应。
10.包括指令的一个或多个非暂时性计算机可读介质,当由一个或多个硬件处理器执行时,所述指令使得执行包括以下的操作:
接收包括请求的音频输入;
确定被配置为播放对所述请求的响应的响应回放设备;
基于确定所述响应回放设备:为对所述请求的所述响应选择音量水平;和经由所述响应回放设备,以所述音量水平播放对所述请求的所述响应。

说明书全文

用户自适应音量选择

技术领域

[0001] 本公开涉及音频响应。具体而言,本公开涉及音频响应音量。

背景技术

[0002] 虚拟助理是响应于用户输入(例如,语音输入或文本输入)执行任务的软件服务。用户输入是对虚拟助理执行特定任务的请求。用户请求可以采取许多不同的形式,诸如问题(例如,“今天天气如何?”)、指令(例如,“告诉我今天天气”)、句子片段(例如,“今天的天气”)或单个单词(例如,“天气”)。通常,虚拟助理不限于使用单个软件应用来执行任务。虚拟助理可以访问各种软件应用和/或服务的应用编程接口(API),以便基于用户请求来执行任务。根据具体实现方式,虚拟助理可以执行的任务的示例包括但不限于:安排提醒;检查天气;控制音乐或视频播放;启动应用;检查日历中的约会;安排约会;发出音频和/或视频呼叫;检查语音邮件;发送文本消息;口述接收到的文本消息或电子邮件;设置计时器;检查股票;执行单位转换(例如,英里到公里);解决数学问题;控制相机功能;启用和/或禁用硬件功能(例如蓝牙或wi-fi);搜索互联网;提供到位置的路线等等。
[0003] 一些虚拟助理被包含在诸如智能手机、平板电脑、电视机、扬声器等之类的消费类硬件中。被包含在消费类硬件中的虚拟助理的示例包括但不限于:Apple Google AssistantTM;Amazon AlexaTM。替代地或附加地,虚拟助理可以用于其它情境中,诸如呼叫中心或在线客户支持。存在许多不同种类的虚拟助理。
[0004] 在某些情况下,当用户向虚拟助理提交请求时,虚拟助理生成对用户请求的音频响应。音频响应可以包括由用户请求的信息、对所请求的任务已经完成的确认、请求用户重复或澄清用户输入、或任何其它种类的音频响应或其组合。在一个示例中,用户询问虚拟助理,“明天天气如何?”虚拟助理访问天气服务以获得关于第二天的天气的信息。响应于用户请求,虚拟助理经由扬声器响应,“明天天气将达到64度,有雷暴。”在另一个示例中,用户告诉虚拟助理,“将计时器设置为五分钟。”虚拟助理将计时器设置为五分钟。响应于用户请求,虚拟助理经由扬声器响应,“计时器已经被设置”。在另一个示例中,用户向虚拟助理提交仅包含单词“文本”的请求。虚拟助理经由扬声器响应,“我应该把您的文本消息发送给谁?”基于虚拟助理的响应,用户可以提供附加输入,诸如用户的数字地址簿中的个人的名字。响应于附加输入,虚拟助理可以生成附加音频响应。虚拟助理可以对许多不同种类的用户请求提供许多不同种类的音频响应。
[0005] 当虚拟助理对用户请求提供音频响应时,响应可能声太小或太大,即,对于提供响应的情境来说,响应的音量平可能太低或太高。虚拟助理响应的音量水平可以是最后使用的音量。例如,用户可能已经将音量设置为适合铃声音量、媒体播放或某种其它用途的水平。用户设置的适用于一种用途的音量水平可能不适用于虚拟助理的响应。替代地或附加地,最后使用的音量可能是在不同的环境情境中设置的。用户设置的适用于一种情境的音量水平可能不适用于另一种情境。在一个示例中,用户在沿着喧嚣的街道行走时向虚拟助理提交请求。虚拟助理的响应声太小,用户无法辨别出响应。在另一个示例中,用户在安顿婴儿睡觉时向虚拟助理提交请求。虚拟助理的响应声太大,吵醒婴儿。存在许多不同的情况,其中虚拟助理的响应对于提供响应的情境来说可能声太小或声太大。一般来说,声太小的虚拟助理的响应可能无法辨别,而声太大的虚拟助理的响应可能是破坏性的。
[0006] 本节描述的方法是可以采用的方法,但不一定是以前设想或采用的方法。因此,除非另有说明,否则不应认为本节中描述的任何方法仅仅因为包含在本节中就是现有技术附图说明
[0007] 这些实施例在附图中以示例的方式示出,而不是以限制的方式示出。应当注意,在本公开中提到“一”或“一个”实施例不一定是指同一个实施例,并且是指至少一个实施例。在附图中:
[0008] 图1示出了根据实施例的系统;
[0009] 图2示出了根据实施例的音量选择模型;
[0010] 图3示出了根据实施例的训练系统;
[0011] 图4示出了根据实施例的用于用户自适应音量选择的操作集;
[0012] 图5示出了根据实施例的用于使用音量选择模型来选择音量水平的操作集;
[0013] 图6A-图6F示出了根据实施例的示例;和
[0014] 图7示出了根据一个或多个实施例的计算机系统

具体实施方式

[0015] 在以下描述中,出于解释的目的,阐述了许多具体细节,以便提供透彻的理解。可以在没有这些具体细节的情况下实践一个或多个实施例。在一个实施例中描述的特征可以与在不同实施例中描述的特征相结合。在一些示例中,参考框图形式描述了众所周知的结构和设备,以避免不必要地使本发明模糊。
[0016] 1.总体概述
[0017] 2.架构概述
[0018] 2.1.音量选择模型
[0019] 2.2.训练系统
[0020] 3.用户自适应音量选择
[0021] 4.说明性示例
[0022] 5.杂项;扩展
[0023] 6.硬件概述
[0024] 7.计算机网络网络
[0025] 8.微服务应用
[0026] 1.总体概述
[0027] 一个或多个实施例包括校准虚拟助理的音量选择模型。音量选择模型为虚拟助理选择初始音量水平以播放对请求的响应。然而,在播放响应之后或播放响应期间,用户输入指定新的音量水平。基于用户输入,音量选择模型被校准,以便当接收到具有与先前请求基本相似特性的未来请求时,音量选择模型为响应选择与由用户输入指定的新的音量水平基本相似的音量水平。请求特性可以包括非声音特性(例如,请求的时间、环境光、所使用的音频设备的种类和/或任何其它种类的非声音特性)。请求特性可以包括声音特性(例如,语请求、指示用户离麦克的距离的回声、连同产生低信噪比的背景噪声接收到的请求、连同产生高信噪比的背景噪声接收到的请求和/或任何其它种类的声音特性)。
[0028] 本说明书中描述的和/或权利要求中列举的一个或多个实施例可能不包括在本“总体概述”节中。
[0029] 2.架构概述
[0030] 图1示出了根据一个或多个实施例的系统100。如图1所示,系统100包括音频设备102、虚拟助理106、服务器112及其各种组件。在一个或多个实施例中,系统100可以包括比图1所示组件更多或更少的组件。图1所示的组件可以是本地的或彼此远离。图1所示的组件可以用软件和/或硬件来实现。每个组件都可以分布在多个应用和/或机器上。多个组件可以组合成一个应用和/或机器。针对一个组件描述的操作可以代之以由另一个组件执行。下面描述与计算机网络相关的附加实施例和/或示例。
[0031] 在实施例中,系统100包括音频设备102。音频设备102可以是被配置为接收音频输入和/或输出音频的任何种类的设备。音频设备102可以在一个或多个数字设备上实现。术语“数字设备”通常是指包括处理器的任何硬件设备。数字设备可以指执行应用或虚拟机的物理设备。数字设备的示例包括计算机、平板电脑、膝上型电脑、台式机、上网本、服务器、web服务器、网络策略服务器、代理服务器、通用机器、功能特定的硬件设备、硬件路由器、硬件交换机、硬件防火墙、硬件防火墙、硬件网络地址转换器(NAT)、硬件负载平衡器、大型机、电视机、内容接收器、机顶盒、打印机、移动手持设备、智能手机、个人数字助理(“PDA”),无线接收器和/或发射器、基站、通信管理设备、路由器、交换机、控制器、接入点和/或客户端设备。
[0032] 在实施例中,音频设备102包括麦克风104,用户通过麦克风104供应音频输入,诸如对虚拟助理106的请求。替代地或附加地,音频设备102可以包括扬声器105,音频设备通过扬声器105输出音频,诸如由虚拟助理106生成的音频响应。音频输入和输出功能可以分布在多个音频设备上。系统100可以经由一个音频设备中的麦克风接收音频输入,并通过另一个音频设备中的扬声器输出音频响应。
[0033] 在实施例中,系统100包括虚拟助理106。虚拟助理106可以包括被配置为接收用户输入(例如,音频输入和/或文本输入)并基于用户输入执行任务的任何种类的硬件和/或软件。在实施例中,虚拟助理106包括被配置为生成对用户请求的响应的响应引擎108。为了生成对用户请求的响应,响应引擎108可以访问一个或多个软件应用和/或服务的一个或多个应用编程接口(API)(未示出)。在实施例中,虚拟助理106包括被配置为执行这里描述的用于用户自适应音量选择的操作的硬件和/或软件。下面描述用于用户自适应音量选择的操作的示例。
[0034] 在实施例中,虚拟助理106被配置为使用音量选择模型110来执行用户自适应音量选择。下面描述音量选择模型110的示例。虚拟助理106可以包括用于为单个用户执行用户自适应音量选择的单个音量选择模型110。替代地或附加地,虚拟助理106可以包括用于为多个用户(即,单个音频设备102的多个用户或不同音频设备的多个用户)执行用户自适应音量选择的单个音量选择模型110。替代地或附加地,虚拟助理106可以包括多个音量选择模型110,每个音量选择模型110都与一个或多个不同的用户相关联。虚拟助理106可能能够区分不同的用户,并且可以根据检测到的用户来使用不同的音量选择模型。替代地或附加地,虚拟助理106可能能够区分不同的语言,并且可以根据检测到的语言来使用不同的音量选择模型。基于许多不同的标准,可以使用一个或多个音量选择模型的许多不同配置。
[0035] 在实施例中,系统100包括服务器112。服务器112可以包括与多个虚拟助理进行通信的硬件和/或软件(未示出)。服务器112可以包括基线音量选择模型114,基线音量选择模型114表示音量选择模型的基线或“开箱即用”(“out-of-the-box”)配置。服务器112可以被配置为将基线音量选择模型114传输到虚拟助理106,以用作音量选择模型110的初始状态。替代地或附加地,服务器112可以被配置为从虚拟助理106接收与音量选择模型110相关联的校准数据。服务器112可以被配置为将校准数据结合到基线音量选择模型114中。
[0036] 在实施例中,音频设备102包括虚拟助理106的所有功能。音频设备102可以是智能手机、智能扬声器或包括麦克风104、扬声器105以及实现虚拟助理106的所有功能的硬件和/或软件的其它设备。替代地,音频设备102可以包括仅实现虚拟助理106的功能的子集的硬件和/或软件。例如,在音频设备106中操作的虚拟助理106可以被配置为将用户的输入传输到服务器112,用于自然语言处理。基于自然语言处理,服务器112可以被配置为向虚拟助理106返回数据。由服务器112返回给虚拟助理106的数据可以包括用户输入的标准化形式、执行特定任务的编程指令和/或对应于提供给用户的响应的内容(例如,文本和/或音频内容)。在音频设备102内操作的虚拟助理106可以被配置为基于由服务器返回的数据来执行所请求的任务和/或向用户供应响应。
[0037] 在实施例中,虚拟助理106在与音频设备102分开的设备中操作。在一个示例中,智能手机包括虚拟助理106的一些或全部功能。音频设备102是包括麦克风104和扬声器105的耳机(例如,有线耳机或 (蓝牙)耳机)。耳机与智能手机通信耦合。用户经由耳机向智能手机供应音频输入,并经由耳机从智能手机接收音频响应。在另一个示例中,服务器112包括虚拟助理106的全部功能。在该示例中,音频设备102向在服务器112上操作的虚拟助理106传输用户输入。基于用户输入,虚拟助理106可以执行任务。虚拟助理106生成响应,服务器112将该响应传输回音频设备102。
[0038] 上面描述了音频设备102、虚拟助理106和服务器112的各种配置。这些配置仅通过示例的方式描述,不应被解释为限制一个或多个实施例。
[0039] 2.1.音量选择模型
[0040] 如上所述,虚拟助理可以包括音量选择模型。图2示出了根据实施例的音量选择模型200。在一个或多个实施例中,音量选择模型200可以包括比图2所示组件更多或更少的组件。图2所示的组件可以是本地的或彼此远离。图2所示的组件可以用软件和/或硬件来实现。每个组件都可以分布在多个应用和/或机器上。多个组件可以组合成一个应用和/或机器。针对一个组件描述的操作可以代之以由另一个组件执行。下面描述与计算机网络相关的附加实施例和/或示例。
[0041] 音量选择模型200是被配置为接收一个或多个输入并将输入应用于音量选择函数202的硬件和/或软件的集合。基于输入,音量选择函数202输出选择的音量。
[0042] 在实施例中,音量调节函数202基于一个或多个机器学习特征204。机器学习特征204是整体或部分确定音量选择函数202的输出的可测量属性。在一个实施例中,对于每个机器学习特征204,音量选择模型200包括计算音量调节因子208的相应特征特定函数206。
音量调节函数202可以是基于为每个机器学习特征204计算的音量调节因子208的线性函数。在一个示例中,音量选择模型200包括两个机器学习特征:特征A和特征B。基于对音量选择模型200的输入,音量选择模型200计算特征A的音量调节因子(F1)和特征B的音量调节因子(F2)。音量调节函数202是线性函数,其根据音频设备的当前音量(C)和两个音量调节因子(F1和F2)来选择音量(V)。以下是线性音量选择函数的示例:
[0043] V=C x(F1+F2)/2
[0044] 可以使用许多不同种类的线性和/或非线性音量选择函数。继续该示例,音量选择模型200确定当前音量为百分之八十(80%)。基于对音量选择模型200的输入,音量选择模型200计算F1为0.5,F2为1.3。将这些值应用于音量调节函数202,产生:
[0045] V=0.8x(0.5+1.3)/2=0.72
[0046] 在该示例中,音量选择模型200将选择72%的音量,这低于80%的当前音量。
[0047] 如上所述,音量调节函数202可以基于一个或多个机器学习特征204。可以使用许多不同种类的机器学习特征204。在实施例中,机器学习特征204基于在音频输入中检测到的语音的响度。系统可以被配置为检测用户是在耳语、喊叫还是以对话音量说话。检测语音的响度可以基于客观响度(例如,波振幅)、图像识别(例如,检测用户的脸和/或身体与音频设备中的相机的接近度,或者用户不在音频设备所位于的房间)、讲话特性(例如,与耳语以及喊叫相关联的波形特性),或者响度的任何其它度量或其组合。该系统可以使用机器学习来随着时间提高其确定用户语音的响度的能。如果用户语音很响,则相应的特征特定函数206可以计算音量调节因子208,该音量调节因子208提高虚拟助理的音频响应的音量。如果用户语音声小,则相应的特征特定函数206可以计算音量调节因子208,该音量调节因子208减小虚拟助理的音频响应的音量。
[0048] 在实施例中,机器学习特征204基于音频设备与向音频设备供应音频输入的用户的距离。该距离可以是基于一个或多个测量属性的估计。在一个示例中,系统确定用户语音具有与喊叫相关联的属性。系统还确定音频输入具有相对较低的振幅。基于这些属性,系统估计用户在远处(例如,从另一个房间向音频设备喊叫出请求)。在另一个示例中,系统确定用户语音具有与喊叫相关联的属性。系统还确定音频输入具有相对较高的振幅。基于这些属性,系统估计用户在附近(例如,直接对着音频设备喊叫)。在另一个示例中,系统确定用户语音具有与耳语相关联的属性。系统还确定音频输入具有中等的振幅。基于这些属性,系统估计用户在附近(例如,直接对着音频设备耳语)。在另一个示例中,系统确定用户语音具有与耳语相关联的属性。系统还确定音频输入具有相对较低的振幅。基于这些属性,系统估计用户不紧挨着音频设备(例如,在房间的另一边耳语)。在另一个示例中,系统分析音频输入中的前导和尾随回声。基于前导和尾随回声,系统估计用户离音频设备有多远。在一个示例中,在没有过多反射声音的空间中,全向声音的响度与距声源的距离的平方成反比。系统可以应用平方反比定律来估计用户离音频设备有多远。如果用户远离音频设备,则相应的特征特定函数206可以计算音量调节因子208,该音量调节因子208提高虚拟助理的音频响应的音量。如果用户靠近音频设备,则相应的特征特定函数206可以计算音量调节因子208,该音量调节因子208减小虚拟助理的音频响应的音量。
[0049] 在实施例中,机器学习特征204基于环境音量水平。在一个示例中,系统分析音频输入并将其分成对应于信号(即用户语音)和噪声(即音频输入中不是用户语音的其它噪声)的两个波形。该系统确定音频输入中的用户语音和其它噪声之间的信噪比(SNR)。低信噪比(SNR)可能指示用户正在嘈杂的环境中说话。相应的特征特定函数206可以计算音量调节因子208,该音量调节因子208提高虚拟助理的音频响应的音量。高信噪比(SNR)可能指示用户正在安静的环境中说话。相应的特征特定函数206可以计算音量调节因子208,该音量调节因子208使用正常音量或者减小虚拟助理的音频响应的音量。在另一个示例中,即使当用户不提供音频输入时,系统也执行环境噪声监控。系统可以捕获并存储运行环境噪声样本(例如,最近10秒)。替代地或附加地,系统可以计算环境噪声的平均或峰值波形。该系统可以在多个位置(例如,建筑物中的多个房间)执行环境噪声监控,并且可能能够区分用户所处的位置处的环境噪声和音频设备所处的位置处的环境噪声。当用户提供音频输入时,系统可以将环境噪声监控的结果与用户语音的响度进行比较,并使用相应的特征特定函数206来计算适当的音量调节因子208。
[0050] 在实施例中,系统能够识别来自音频设备本身的环境音频(例如,音乐、播客、新闻或任何其它种类的环境音频)。当确定环境噪声的量时,系统可以对来自音频设备本身的环境音频打折。当输出虚拟助理的音频响应时,音频设备可以降低其自身的环境音频(例如,暂停播客或降低音乐音量)。
[0051] 在实施例中,机器学习特征204基于接收音频输入的音频设备的种类和/或被配置为输出虚拟助理的音频响应的音频设备的种类。在一个示例中,系统确定用户正在喊叫。系统还确定用户佩戴着音频耳机。基于用户佩戴着音频耳机这一事实,相应的特征特定函数206可以计算音量调节因子208,该音量调节因子208将音量保持在正常水平,或者增大音量小于用户在房间的另一边对着扬声器喊叫的音量。
[0052] 在实施例中,机器学习特征204基于音频输入的语言内容。某些词或词的组合可以使相应的特征特定函数206计算音量调节因子208,该音量调节因子208增大或减小虚拟助理的音频响应的音量。在一个示例中,虚拟助理具有可以在不同情况下调用的多个“色”。“角色”可以对应于用于向虚拟助理发出用户正在提交请求的信号的“唤醒词”。在此示例中,一个角色被命名为“Stan”,并在正常情况下被调用。另一个角色被命名为“Nanny”,在婴儿睡觉时被调用。当用户向“Stan”角色提交请求时(例如,通过询问“Stan,几点了?”),相应的特征特定函数206计算音量调节因子208,该音量调节因子208不更改虚拟助理的音频响应的音量。当用户向“Nanny”角色提交请求时,相应的特征特定函数206计算音量调节因子
208,该音量调节因子208减小虚拟助理的音频响应的音量。
[0053] 替代地或附加地,机器学习特征204可以基于在音频输入的语言内容中表达的情感。简短和/或简短而失礼(curt)的请求(例如,“告诉我天气”)可能比更长和/或更温和的请求(例如,“请告诉我今天天气如何”)保证更响的响应。一般来说,基于在音频输入的语言内容中表达的情感,相应的特征特定函数206可以计算音量调节因子208,该音量调节因子208增大或减小虚拟助理的音频响应的音量。
[0054] 替代地或附加地,用户请求中的关键词可以用作增大或减小虚拟助理的音频响应的音量的基础。例如,用户可能会说,“悄悄地告诉我天气”,或者“大声告诉我几点了”。替代地或附加地,用户请求中的短语可以用作增大或减小虚拟助理的音频响应的音量的触发器。例如,用户可能会说,“为婴儿播放歌曲‘Baby Beluga(白鲸宝宝)’”。基于短语“为婴儿”,相应的特征特定函数206可以计算音量调节因子208,该音量调节因子208减小虚拟助理的音频响应的音量。用户请求中的许多不同种类的语言内容可以用作增大或减小虚拟助理的音频响应的音量的基础。
[0055] 在实施例中,机器学习特征204基于用户向虚拟助理提交请求的一天中的时间。在典型的苏醒时间,相应的特征特定函数206可以计算音量调节因子208,该音量调节因子208不改变虚拟助理的音频响应的音量。在典型的睡眠时间,相应的特征特定函数206可以计算音量调节因子208,该音量调节因子208减小虚拟助理的音频响应的音量。
[0056] 在实施例中,机器学习特征204基于环境光。系统可以包括光传感器或其它硬件元件,诸如相机,其可以用于获得光水平读数。基于光传感器,系统可以确定音频设备是位于黑暗环境还是明亮环境中。如果音频设备位于黑暗的环境中(暗示夜晚和/或黑暗的房间),则相应的特征特定函数206可以计算音量调节因子208,该音量调节因子208减小虚拟助理的音频响应的音量。如果音频设备位于明亮的环境中(暗示白天和/或光线充足的房间),则相应的特征特定函数206可以计算音量调节因子208,该音量调节因子208不改变虚拟助理的音频响应的音量。如果音频设备位于闪光灯和/或彩灯的环境中(暗示酒吧或夜总会),则相应的特征特定函数206可以计算音量调节因子208,该音量调节因子208增大虚拟助理的音频响应的音量。
[0057] 在实施例中,机器学习特征204基于用户的位置。系统可以包括全球定位系统(GPS)单元和/或其它定位技术。通过使用定位技术,系统可以确定用户的物理位置。此外,系统可以将用户的物理位置与地图上的诸如餐馆、商店、博物馆、住宅等之类的已知位置相关联。基于已知位置,相应的特征特定函数206可以计算音量调节因子208,该音量调节因子208增大或减小虚拟助理的音频响应的音量。作为一个示例,用户向虚拟助理提交请求。通过使用与商业位置数据相关的GPS定位,系统确定用户位于餐馆。基于用户的位置,相应的特征特定函数206计算音量调节因子208,该音量调节因子208降低虚拟助理的音频响应的音量。作为另一个示例,用户向虚拟助理提交请求。通过使用与商业位置数据相关的GPS定位,系统确定用户位于足球场。基于用户的位置,相应的特征特定函数206计算音量调节因子208,该音量调节因子208增大虚拟助理的音频响应的音量。
[0058] 在实施例中,机器学习特征204基于向虚拟助理提交请求的用户的身份。系统可以基于面部识别(经由相机)、语音识别、指纹识别和/或能够区分不同用户的任何其它种类的系统来确定用户的身份。如上所述,虚拟助理可以包括用于为多个用户(即,单个音频设备的多个用户或不同音频设备的多个用户)执行用户自适应音量选择的单个音量选择模型200。替代地或附加地,虚拟助理可以包括多个音量选择模型200,每个音量选择模型与一个或多个不同的用户相关联。如下所述,每个用户都可能能够配置与机器学习特征204相关联的不同音量偏好。替代地或附加地,音量选择模型200可以使用机器学习来使特征特定函数
206适应特定用户。
[0059] 在实施例中,机器学习特征204基于如在音频输入中检测到的用户讲话的特性。作为一个示例,有听力障碍的用户向虚拟助理提交请求。系统分析音频输入并确定用户讲话具有通常与听力障碍相关联的一个或多个特征。基于分析结果,相应的特征特定函数206计算音量调节因子208,该音量调节因子208增大虚拟助理的音频响应的音量。
[0060] 在实施例中,机器学习特征204基于音频设备的当前音量水平。当音量调节函数202输出选择的音量时,选择的音量可以对应于编码虚拟助理的音频响应的波形的振幅。波形的振幅可以独立于音频设备的主音量设置。在这种情况下,如果波形振幅很高并且音频设备的主音量已经很高,则虚拟助理的音频响应可能比预期的更响。如果波形振幅较低,并且音频设备的主音量已经较低,则虚拟助理的音频响应可能比预期的更声小。为了考虑音频设备的主音量的变化,系统可以检测音频设备的主音量。相应的特征特定函数206可以计算音量调节因子208,该音量调节因子208增大或减小虚拟助理的音频响应的音量。替代地,当音量调节函数202输出选择的音量时,系统可以使用选择的音量来直接控制音频设备的主音量。
[0061] 在实施例中,机器学习特征204基于从多个位置(例如,建筑物中的多个房间)中的音频传感器接收到的音频输入。在一个示例中,系统包括被配置为在多个位置中接收音频的多个 (蓝牙)信标。通过使用多个音频传感器,可以提高系统检测环境噪声、估计用户与扬声器的距离等的能力。
[0062] 在实施例中,机器学习特征204可由用户配置。具体而言,用户可以访问界面(未示出),该界面提供用于配置一个或多个机器学习特征204的一个或多个用户界面控件。控件可以允许用户针对与机器学习特征204相关联的特定值或值范围指示虚拟助理的音频响应音量应该增大还是减小。作为一个示例,音量选择模型200包括基于一天中的时间的机器学习特征204。有小孩的用户可以经由配置界面指示虚拟助理的响应音量应该在10:00p.m.到6:00a.m.之间减小。另一个值夜班的用户可以经由配置界面指示虚拟助理的响应音量应该从12:00p.m.到8:00p.m.之间减小(甚至静音)。配置界面可以供应许多不同的配置选项。
[0063] 2.2.训练系统
[0064] 在实施例中,系统被配置为使用机器学习技术,基于训练数据和/或实时数据来训练音量选择模型。如这里所使用的,训练音量选择模型意味着配置音量选择模型以基于一个或多个特定输入来选择特定音量。为了训练音量选择模型,训练系统可以调整特征特定函数,使得特征特定函数输出与训练之前它可能已输出的不同的音量调整因子。
[0065] 图3示出了根据一个或多个实施例的训练系统300。在一个或多个实施例中,训练系统300可以包括比图3所示组件更多或更少的组件。图3所示的组件可以是本地的或彼此远离。图3所示的组件可以用软件和/或硬件来实现。每个组件都可以分布在多个应用和/或机器上。多个组件可以组合成一个应用和/或机器。针对一个组件描述的操作可以代之以由另一个组件执行。下面描述与计算机网络相关的附加实施例和/或示例。
[0066] 在实施例中,在任何配置之前,音量选择模型302具有初始状态。从初始状态开始,训练系统300可以基于训练数据304来训练音量选择模型302。训练数据304包括预先标记的输入306的一个或多个集。预先标记的输入306可以包括音频文件和/或与音量选择模型302中包括的机器学习特征(未示出)相关的任何其它种类的输入。如这里所使用的,术语“预先标记的”意味着训练数据304包括,对于每个预先标记的输入306定义对应于所提供的音频和/或其它种类的输入的输出(即音量选择模型202的音量选择)的数据。训练系统300可以基于训练数据304,应用监督学习技术来训练音量选择模型302。在实施例中,监督学习训练音量选择模型,使得在给定与训练数据304中的值相同或基本相似的机器学习特征的值的情况下,音量选择模型302根据与训练数据304相关联的标签来选择被认为“正确”的音量水平。在一个示例中,训练系统300使用线性回归模型来训练音量选择模型302。一旦训练系统300已经基于训练数据304训练了音量选择模型302,虚拟助理就可以使用所得到的音量选择模型302作为初始的“开箱即用”配置。
[0067] 在实施例中,在将音量选择模型302部署到“实时”环境中的虚拟助理之后,训练系统300继续使用实时数据310来训练音量选择模型302。实时数据310包括未标记的输入312的一个或多个集。未标记的输入312可以包括音频文件和/或与音量选择模型302中包括的机器学习特征(未示出)相关的任何其它种类的输入。如这里所使用的,术语“实时”意味着实时数据310包括与由一个或多个最终用户做出的请求相关联的数据。“实时”环境也可以称为“生产”环境。如这里所使用的,术语“未标记的”意味着训练数据304不包括,对于未标记的输入312定义对应于所提供的音频和/或其它种类的输入的输出(即音量选择模型202的音量选择)的任何数据。训练系统300可以基于实时数据310,应用机器学习技术来训练音量选择模型302。在实施例中,训练系统300可以基于用户输入(例如,音量调节和/或其它种类的用户输入)和/或在音频设备回放虚拟助理的音频响应之后缺乏接收到的用户输入,来应用机器学习技术,以支持如本文所述的用户自适应音量选择。
[0068] 3.用户自适应音量选择
[0069] 图4示出了根据一个或多个实施例的用于用户自适应音量选择的示例操作集。图4中所示的一个或多个操作可以被修改、重新排列或一起省略。因此,图4中所示的特定操作顺序不应被解释为限制一个或多个实施例的范围。
[0070] 在实施例中,系统生成基线音量选择模型(操作402)。基线音量选择模型表示音量选择模型的初始状态。在一个实施例中,如上所述,通过使用训练数据来训练音量选择模型,来获得基线音量选择模型。
[0071] 在实施例中,系统基于实时音频数据来训练音量选择模型(操作404)。为了基于实时音频来训练音量选择模型,系统可以进入训练或“教程”模式,在该模式中,要求用户提供满足特定标准的音频输入。作为一个示例,智能手机中的虚拟助理包括用于训练音量选择模型的训练模式。虚拟助理发出一系列提示,要求用户向麦克风提供音频输入。一个提示要求用户用正常语音说话。另一个提示要求用户耳语。另一个提示要求用户喊叫。基于由用户供应的每个音频输入,虚拟助理训练音量选择模型以更好地识别该特定用户的语音响度的不同水平。替代地或附加地,虚拟助理可以生成一系列音频输出,并提示用户指出每个音频输出是声太大还是声太小。基于用户的响应,虚拟助理训练音量选择模型来为音频响应选择合适的音量水平。系统可以与许多不同的机器学习特征一起使用许多不同种类的训练方法。
[0072] 在实施例中,系统接收音频输入(操作406),该音频输入包括用户对虚拟助理执行任务的请求。系统确定对请求的响应(操作408)。为了确定对请求的响应,系统可以访问对应于该请求的一个或多个应用和/或服务的一个或多个API。作为一个示例,请求是提供天气报告。响应于请求,该系统访问气象服务的API以获得气象数据。除了音频输入之外,系统还可以接收与一个或多个机器学习特征相关联的其它数据。例如,系统可以接收来自光传感器、时间服务、环境音量监控的数据和/或与一个或多个机器学习特征相关的任何其它种类的数据。
[0073] 在实施例中,系统为对请求的响应选择音量水平(操作410)。系统可以使用音量选择模型来为请求选择音量水平。下面将更详细地讨论使用音量选择模型来选择音量水平。如上所述,所选择的音量可以对应于编码虚拟助理的音频响应的波形的振幅。波形的振幅可以独立于音频设备的主音量设置。在这种情况下,如果波形振幅很高并且音频设备的主音量已经很高,则虚拟助理的音频响应可能比预期的更响。如果波形振幅较低,并且音频设备的主音量已经较低,则虚拟助理的音频响应可能比预期的更声小。替代地,当音量调节函数202输出选择的音量时,系统可以使用选择的音量来直接控制音频设备的主音量。在为对请求的响应选择音量水平之后,系统以选择的音量水平播放对请求的响应(操作412)。
[0074] 在实施例中,系统选择音量水平,并且在自接收到用户请求以来已过去某一有效时间量之后回放对请求的响应。在一个示例中,用户提交对设置计时器的请求。在计时器完成后,系统播放音频响应指示计时器完成。由于时间的流逝,系统可以对与一个或多个机器学习特征相关的数据进行重新采样。系统可以基于在时间上更接近响应的数据来选择响应的音量水平。例如,如果用户不再在房间中,则系统可以选择比用户仍然在房间中时它已经选择的音量更响的响应音量。如果自用户提交了请求以来环境噪声已经减小,则系统可以选择比环境噪声较响时它已经选择的音量更小的响应音量。许多不同机器学习特征的值在用户请求和虚拟助理的音频响应之间的时间上可能不同,并且一个或多个值的改变可能影响所选择的音量水平。
[0075] 在实施例中,在以所选择的音量水平播放对请求的响应之后,系统确定所选择的音量水平是否对用户来说可接受。系统可以以许多不同的方式来确定所选择的音量水平是否对用户来说可接受。在实施例中,系统确定用户是否已经调整了音频设备的输出水平(操作414)。具体而言,在系统以选择的音量水平回放对请求的响应之后,用户可以增大或减小音频设备的输出水平。增大或减小音频设备的输出水平可能指示所选择的音量太小(导致用户增大输出水平)或太响(导致用户减小输出水平)。在回放虚拟助理对请求的响应之后,对用户是否已经调整了音频设备的输出水平的确定可以被限制到特定的时间量(例如三秒或某个其它预定义的阈值时间量)。如果用户在阈值时间段之外增大或减小音频设备的输出水平,则该调整不再被认为是对所选择的音量水平的反应。
[0076] 在实施例中,如果用户调整音频设备的输出水平,则系统基于用户输入,即用户用于调整输出水平的输入,来校准音量选择模型(操作418)。校准音量选择模型可以调整一个或多个特征特定函数,以便在在未来给定相同机器学习特征的相同值的情况下,音量选择模型将选择更高的音量(如果用户增大了输出水平)或更低的音量(如果用户减小了输出水平)。
[0077] 在实施例中,系统确定用户是否要求重复对用户的请求的响应(操作416)。用户可以明确地要求虚拟助理重复相同的响应,向虚拟助理重新发出相同的查询,向虚拟助理发出措辞不同但基本相似的查询,和/或提供相当于请求的任何其它种类的输入,以提供相同或基本上类似的另一个响应。要求重复响应可能指示所选择的音量太小。如果用户要求重复响应,则系统可以基于用户输入,即要求重复响应的音频输入,来校准音量选择模型(操作418)。具体而言,系统可以使用机器学习技术(例如线性回归和/或另一种类的机器学习技术)来校准音量选择模型。校准音量选择模型可以调整一个或多个特征特定函数,以便在在未来给定相同机器学习特征的相同值的情况下,音量选择模型将选择较低的音量。
[0078] 在实施例中,在基于用户输入校准音量选择模型之后,系统将校准数据传输到服务器(操作420)。服务器可以使用校准数据来校准基线音量选择模型,从而将来自一个或多个实时音量选择模型的机器学习结合到基线音量选择模型中。然后,服务器可以向其它虚拟助理提供基线音量选择模型,向其它虚拟助理提供更准确的“开箱即用”音量选择模型。在实施例中,只有当用户已经选择了共享程序,即,为系统向服务器传输校准数据提供知情同意时,系统才向服务器传输校准数据。
[0079] 在实施例中,用户不调整输出水平,不要求重复响应,和/或不给出所选择的音量水平太小或太响的任何其它指示。当已经过了足够的时间(例如三秒或某个其它预定义的阈值时间量)而没有所选择的音量水平太小或太响的任何指示时,系统可以确认所选择的音量水平(操作420)。系统可以在接收到与基本相似的机器学习特征的值的集合相关联的预定义的数量的用户查询(例如,两个、三个、四个或任何其它预定义的数量)之后确认所选择的音量水平,而无需用户调整输出水平。在实施例中,为了确认所选择的音量水平,系统将置信度度量结合到音量选择模型,置信度度量指示所选择的音量水平对于机器学习特征的相关联的值是正确的增大的置信度。系统可以以许多不同的方式将置信度度量结合到音量选择模型中。例如,系统可以将置信度度量作为新的机器学习特征、与特定机器学习特征和/或数据点(例如,对应于所选择的音量的数据点)相关联的较高数值权重、和/或任何其它种类的置信度度量或其组合来结合。系统可以使用机器学习技术来将置信度度量结合到音量选择模型中。在确认所选择的音量水平后,在在未来给定相同机器学习特征的相同值的情况下,音量选择模型更有可能选择与以前相同的音量。
[0080] 在实施例中,系统随后接收附加音频输入(操作406),其包括对虚拟助理执行任务的用户请求。系统可以在与先前音频输入类似的情况(例如,环境音量、一天中的时间、用户语音的响度等)下或者在不同的情况下接收音频输入。如上所述,系统继续确定对请求的响应,为响应选择音量水平等等。如果系统基于较早的音频输入校准了音量选择模型,则系统可以为该响应选择与它在没有校准时选择的音量不同的音量水平。以这种方式,基于较早的机器学习过程,随后的响应可以具有更合适的音量水平。
[0081] 图5示出了根据一个或多个实施例的使用音量选择模型来选择音量水平的示例操作集。图5所示的一个或多个操作可以被修改、重新排列或一起省略。因此,图5所示的特定操作顺序不应被解释为限制一个或多个实施例的范围。
[0082] 在实施例中,在接收到来自用户的音频输入之后,系统分析音频输入以确定对应于音频输入的一个或多个声音特性(操作502)。如上所述,声音特性可以包括与机器学习特征相关的任何特性。声音特性的示例可以包括但不限于:语音的响度(例如,波形的振幅);指示耳语、喊叫和/或听力障碍的语音的属性;前导和/或尾随回声的检测;区分两个或多个用户语音;计算信噪比;执行自然语言处理以确定音频输入的语言内容;环境噪声水平;和/或任何其它种类的声音特性。
[0083] 在实施例中,系统可以确定与音频输入相关联的一个或多个非声音特性(操作504)。非声音特性是与机器学习特征相关的特性,并且与音频输入本身无法辨别。非声音特性的示例可以包括但不限于:一天中的时间;环境光;用户的物理位置;被配置为播放音频响应的设备的种类;面部识别;和/或任何其它种类的非声音特性。由于接收音频输入和确定非声音特性的时间接近,因此,非声音特性可以被认为与音频输入相关联。
[0084] 在实施例中,系统将与音频输入相关联的特性(即,声音特性和/或非声音特性)应用于音量选择模型(操作506)。具体而言,一个或多个特性可以用作计算音量调节因子的特征特定函数的输入。基于音量调节因子,音量选择模型计算音量调节函数,以基于与音频输入相关联的特性来选择音量水平。
[0085] 这里描述的实施例允许虚拟助理以适合于提供响应的情境的音量水平提供音频响应。系统使用机器学习来基于用户输入调整音量选择模型,有助于确保所选择的音量水平满足用户的偏好和期望。在需要大声响应的环境中,实施例有助于确保用户能够听到音频响应。在需要小声响应的环境中,实施例有助于避免由不适当的大声音频响应引起的干扰。
[0086] 4.说明性示例
[0087] 为了清楚起见,下面参照图6A-图6F描述详细的示例。下面描述的组件和/或操作应该被理解为可能不适用于某些实施例的一个特定示例。因此,下面描述的组件和/或操作不应被解释为限制任何权利要求的范围。
[0088] 如图6A所示,用户602与移动电话604交互。移动电话604包括虚拟助理,该虚拟助理依赖于由与移动电话604通信耦合的服务器(未示出)提供的后端功能。在该示例中,用户602是正在在黑暗房间中安顿婴儿睡觉的父母。用户602对着移动电话604的麦克风耳语,“明天天气如何?”虚拟助理处理用户602的请求并生成响应。此外,虚拟助理还为响应选择音量水平。所选择的音量水平对应于移动电话的全音量。在图6B中,移动电话604以选择的全音量回放虚拟助理的响应:“明天晴,65度。”给定了情境(即,安顿婴儿睡觉),用户602发现所选择的音量太响。在图6C中,在听到虚拟助理的响应之后,用户602使用移动电话604上的物理音量调节控件来减小移动电话604的主输出音量。基于用户602调整移动电话604的主输出音量,虚拟助理校准音量选择模型。具体而言,虚拟助理校准音量选择模型,以便在未来类似的情况下(例如,黑暗的房间和用户耳语),音量选择模型将选择更小的音量。
[0089] 如图6D所示,用户602随后增大移动电话604的主输出音量。例如,用户602可以在离开婴儿房后增大移动电话604的主输出音量。稍后,用户604返回婴儿房,例如拿来一瓶奶。在图6E中,用户602向移动电话604耳语另一个请求:“早上8点提醒我将垃圾带出去。”用户602忽略了减小移动电话604的主输出音量。如果移动电话604以与以前相同的音量回放响应,则该响应将再次声太响。相反,基于房间的黑暗和用户耳语,经校准的音量选择模型现在选择较低的音量水平。在图6F中,即使移动电话604的主输出音量高,移动电话604也以相对较低的音量回放响应:“您的提醒已经被设置。”用户602发现该后续响应的音量是可接受的,并且不调整移动设备604的主输出音量。
[0090] 5.杂项;扩展
[0091] 实施例涉及具有一个或多个设备的系统,所述一个或多个设备包括硬件处理器,并且被配置为执行这里描述的和/或在下面的权利要求中叙述的任何操作。
[0092] 在实施例中,非暂时性计算机可读存储介质包括指令,当由一个或多个硬件处理器执行时,这些指令使得执行这里描述的和/或权利要求中叙述的任何操作。
[0093] 根据一个或多个实施例,可以使用这里描述的特征和功能的任何组合。在前面的说明书中,已经参考许多具体细节描述了实施例,这些细节可以根据实现而变化。因此,说明书和附图被认为是说明性的,而不是限制性的。本发明范围以及申请人所意图成为本发明范围的唯一和排他性的指示,是从本申请发出的权利要求的集合的书面和等效范围,以这种权利要求发出的具体形式,包括任何后续校正。
[0094] 6.硬件概述
[0095] 根据一个实施例,这里描述的技术由一个或多个专用计算设备(即,专配置为执行特定功能的计算设备)来实现。专用计算设备可以是硬连线的以执行这些技术,或者可以包括数字电子设备(诸如被永久编程以执行这些技术的一个或多个专用集成电路(ASIC)、现场可编程门阵列(FPGA)或网络处理单元(NPU)),或者可以包括被编程以根据固件存储器、其它存储装置或其组合中的程序指令来执行这些技术的一个或多个通用硬件处理器。这种专用计算设备也可以将定制的硬连线逻辑、专用集成电路(ASIC)、FPGA或NPU与定制的编程相结合来实现这些技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持设备、网络设备或结合硬连线和/或程序逻辑来实现这些技术的任何其它设备。
[0096] 例如,图7是示出可以在其上实现本发明实施例的计算机系统700的框图。计算机系统700包括总线702或用于传送信息的其它通信机制、以及与总线702耦合用于处理信息的硬件处理器704。硬件处理器704可以是例如通用微处理器
[0097] 计算机系统700还包括耦合到总线702的主存储器706,诸如随机存取存储器(RAM)或其它动态存储设备,用于存储信息和将由处理器704执行的指令。主存储器706还可以用于在执行要由处理器704执行的指令期间存储临时变量或其它中间信息。当这些指令存储在处理器704可访问的非暂时性存储介质中时,使计算机系统700呈现为被定制以执行指令中指定的操作的专用机器。
[0098] 计算机系统700还包括耦合到总线702的只读存储器(ROM)708或其它静态存储设备,用于为处理器704存储静态信息和指令。诸如磁盘或光盘之类的存储设备710被提供并被耦合到总线702,用于存储信息和指令。
[0099] 计算机系统700可以经由总线702耦合到显示器712,诸如液晶显示器(LCD)、等离子显示器、电子墨水显示器、阴极射线管(CRT)监视器或用于向计算机用户显示信息的任何其它种类的设备。包括字母数字键和其它键的输入设备714可以耦合到总线702,用于向处理器704传送信息和命令选择。替代地或附加地,计算机系统700可以经由光标控件716(诸如鼠标轨迹球、触控板、触摸屏或光标方向键)接收用户输入,用于向处理器704传送方向信息和命令选择,并用于控制显示器712上的光标移动。该输入设备通常在两个轴[第一轴(例如,x)和第二轴(例如,y)]上具有两个自由度,这允许设备指定平面中的位置。显示器712可以被配置为经由一个或多个压敏传感器、多点触摸传感器和/或手势传感器来接收用户输入。替代地或附加地,计算机系统700可以经由麦克风、视频相机和/或某种其它种类的用户输入设备(未示出)来接收用户输入。
[0100] 计算机系统700可以使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实现这里描述的技术,前述各项与计算机系统相结合使得计算机系统700成为或被编程为专用机器。根据一个实施例,这里的技术由计算机系统700响应于处理器704执行包含在主存储器706中的一个或多个指令的一个或多个序列来执行。这种指令可以被从诸如存储设备710之类的另一存储介质读入主存储器706中。包含在主存储器706中的指令序列的执行使得处理器704执行这里描述的处理步骤。在替代实施例中,可以使用硬连线电路来代替软件指令或者与软件指令组合。
[0101] 如这里所使用的,术语“存储介质”指的是存储使得机器以特定方式运行的数据和/或指令的任何非暂时性介质。这种存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,诸如存储设备710。易失性介质包括动态存储器,诸如主存储器706。存储介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带或任何其它磁性数据存储介质、CD-ROM、任何其它光学数据存储介质、任何具有孔模式的物理介质、RAM、可编程只读存储器(PROM)和可擦除PROM(EPROM)、闪存EPROM(FLASH-EPROM)、非易失性随机存取存储器(NVRAM)、任何其它存储芯片或盒式存储器、内容可寻址存储器(CAM)和三进制内容可寻址存储器(TCAM)。
[0102] 存储介质不同于传输介质,但可以与传输介质结合使用。传输介质参与在存储介质之间传递信息。例如,传输介质包括同轴电缆线和光纤,包括包含总线702的导线。传输介质也可以采用声波或光波的形式,诸如在无线电波和红外数据通信期间生成的声波或光波。
[0103] 各种形式的介质可以参与在将一个或多个指令的一个或多个序列携带到处理器704以供执行。例如,指令最初可以被携带在远程计算机的磁盘或固态驱动器上。远程计算机可以将指令加载到其动态存储器中,并经由网络接口控制器(NIC),诸如以太网控制器或无线网络控制器,在网络上发送指令。计算机系统700本地的NIC可以从网络接收数据并将数据放在总线702上。总线702将数据携带到主存储器706,处理器704从主存储器706检索并执行指令。由主存储器706接收到的指令可以可选地在由处理器704执行之前或之后存储在存储设备710上。
[0104] 计算机系统700还包括耦合到总线702的通信接口718。通信接口718提供耦合到网络链路720的双向数据通信,网络链路720连接到本地网络722。例如,通信接口718可以是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器或提供到相应类型电话线的数据通信连接的调制解调器。作为另一个示例,通信接口718可以是局域网(LAN)卡,以提供到兼容LAN的数据通信连接。也可以实现无线链路。在任何这样的实现中,通信接口718发送和接收携带表示各种类型信息的数字数据流的电信号、电磁信号或光信号
[0105] 网络链路720通常通过一个或多个网络向其它数据设备提供数据通信。例如,网络链路720可以通过本地网络722提供到主计算机724或由互联网服务提供商(ISP)726操作的数据设备的连接。ISP 726进而通过现在通常称为“互联网”728的全球分组数据通信网络提供数据通信服务。本地网络722和互联网728都使用携带数字数据流的电信号、电磁信号或光信号。通过各种网络的信号和网络链路720上并通过通信接口718的信号是传输介质的示例形式,其中通信接口718将数字数据携带到计算机系统700和从计算机系统700携带数字数据。
[0106] 计算机系统700可以通过网络、网络链路720和通信接口718发送消息和接收数据,包括程序代码。在互联网示例中,服务器730可以通过互联网728、ISP 726、本地网络722和通信接口718发送对应用程序的请求代码。
[0107] 接收到的代码可以在被接收时由处理器704执行,和/或存储在存储设备710或其它非易失性存储器中以供以后执行。
[0108] 7.计算机网络和云网络
[0109] 在一个或多个实施例中,计算机网络提供运行利用这里描述的技术的软件的节点集之间的连接。节点可以是本地的和/或彼此远离的。节点通过一组链路连接。链路的示例包括同轴电缆、无屏蔽绞合电缆、铜缆、光纤和虚拟链路。
[0110] 节点子集实现计算机网络。这种节点的示例包括交换机、路由器、防火墙和网络地址转换器(NAT)。另一个节点子集使用计算机网络。这种节点(也称为“主机”)可以执行客户端进程和/或服务器进程。客户端进程进行对计算服务(例如,特定应用的执行和/或特定数据量的存储)的请求。服务器进程通过执行所请求的服务和/或返回相应的数据来响应。
[0111] 计算机网络可以是物理网络,包括通过物理链路连接的物理节点。物理节点是任何数字设备。物理节点可以是功能特定的硬件设备,诸如硬件交换机、硬件路由器、硬件防火墙和硬件NAT。附加地或替代地,物理节点可以是提供计算能力来执行任务的任何物理资源,诸如被配置为执行各种虚拟机和/或执行相应功能的应用的物理资源。物理链路是连接两个或多个物理节点的物理介质。链路的示例包括同轴电缆、无屏蔽绞合电缆、铜缆和光纤。
[0112] 计算机网络可以是覆盖网络。覆盖网络是在另一个网络(诸如物理网络)之上实现的逻辑网络。覆盖网络中的每个节点对应于底层网络中的相应节点。因此,覆盖网络中的每个节点与覆盖地址(来寻址覆盖节点)和底层地址(来寻址实现覆盖节点的底层节点)两者相关联。覆盖节点可以是数字设备和/或软件进程(诸如虚拟机、应用实例或线程)。连接覆盖节点的链路被实现为通过底层网络的隧道。隧道两端的覆盖节点将它们之间的底层多跳路径视为单个逻辑链路。隧道建立(tunneling)通过封装和解封装来执行。
[0113] 在实施例中,客户端可以位于计算机网络的本地和/或远离计算机网络。客户端可以通过诸如专用网络或互联网之类的其它计算机网络来访问计算机网络。客户端可以使用诸如超文本传输协议(HTTP)之类的通信协议将请求传送到计算机网络。这些请求通过诸如客户端接口(诸如网络浏览器)、程序接口或应用编程接口(API)之类的接口进行通信。
[0114] 在实施例中,计算机网络提供客户端和网络资源之间的连接。网络资源包括被配置为执行服务器进程的硬件和/或软件。网络资源的示例包括处理器、数据存储器、虚拟机、容器和/或软件应用。网络资源在多个客户端之间共享。客户端相互独立地从计算机网络请求计算服务。网络资源根据需要动态分配给请求和/或客户端。分配给每个请求和/或客户端的网络资源可以基于例如(a)由特定客户端请求的计算服务、(b)由特定租户请求的聚合计算服务和/或(c)计算机网络的被请求的聚合计算服务,来按比例放大或缩小。这种计算机网络可以称为“云网络”。
[0115] 在实施例中,服务提供商向一个或多个最终用户提供云网络。云网络可以实现各种服务模型,包括但不限于软件即服务(SaaS)、平台即服务(PaaS)和基础设施即服务(IaaS)。在SaaS中,服务提供商为最终用户提供使用服务提供商的应用的能力,这些应用在网络资源上执行。在PaaS中,服务提供商为最终用户提供将定制应用部署到网络资源上的能力。定制应用可以使用由服务提供商支持的编程语言、库、服务和工具来创建。在IaaS中,服务提供商为最终用户提供供给处理、存储、网络和由网络资源提供的其它基本计算资源的能力。任何应用,包括操作系统,都可以部署在网络资源上。
[0116] 在实施例中,各种部署模型可以由计算机网络来实现,包括但不限于私有云、公共云和混合云。在私有云中,网络资源被提供给一个或多个实体的特定组专用(这里使用的术语“实体”是指公司、组织、个人或其它实体)。网络资源可以是实体的特定组的本地的和/或远程的。在公共云中,云资源是为彼此独立的多个实体(也称为“租户”或“客户”)提供的。计算机网络及其网络资源由对应于不同租户的客户端访问。这种计算机网络可以被称为“多租户计算机网络”。几个租户可以在不同的时间和/或在相同的时间使用相同的特定网络资源。网络资源可以是租户场所本地的和/或远程的。在混合云中,计算机网络包括私有云和公共云。私有云和公共云之间的接口允许数据和应用的可移植性。存储在私有云中的数据和存储在公共云中的数据可以通过接口进行交换。在私有云处实现的应用和在公共云处实现的应用可能相互依赖。从私有云处的应用到公共云处的应用的调用(反之)可以通过接口来执行。
[0117] 在实施例中,多租户计算机网络的租户彼此独立。例如,一个租户(通过操作、租户特定的实践、员工和/或对外部世界的标识)可能与另一个租户分离。不同的租户可能会对计算机网络提出不同的网络要求。网络要求的示例包括处理速度、数据存储量、安全性要求、性能要求、吞吐量要求、时延要求、弹性要求、服务质量(QoS)要求、租户隔离和/或一致性。相同的计算机网络可能需要实现由不同租户所要求的不同网络要求。
[0118] 在一个或多个实施例中,在多租户计算机网络中,实现租户隔离,以确保不同租户的应用和/或数据不会彼此共享。可以使用各种租户隔离方法。
[0119] 在实施例中,每个租户与租户ID相关联。多租户计算机网络的每个网络资源用租户ID标记。只有当租户和特定网络资源与同一租户ID相关联时,才允许该租户访问特定网络资源。
[0120] 在实施例中,每个租户与租户ID相关联。由计算机网络实现的每个应用用租户ID标记。附加地或替代地,由计算机网络存储的每个数据结构和/或数据集用租户ID标记。只有当租户和特定应用、数据结构和/或数据集与同一租户ID相关联时,才允许该租户访问特定应用、数据结构和/或数据集。
[0121] 例如,由多租户计算机网络实现的每个数据库都可以用租户ID标记。只有与相应租户ID相关联的租户才能访问特定数据库的数据。作为另一个示例,由多租户计算机网络实现的数据库中的每个条目可以用租户ID标记。只有与相应租户ID相关联的租户才能访问特定条目的数据。但是,数据库可以由多个租户共享。
[0122] 在实施例中,订阅列表指示哪些租户有权访问哪些应用。对于每个应用,存储了被授权访问该应用的租户的租户ID列表。只有当租户的租户ID被包含在对应于特定应用的订阅列表中时,才允许该租户访问特定应用。
[0123] 在实施例中,对应于不同租户的网络资源(诸如数字设备、虚拟机、应用实例和线程)被隔离到由多租户计算机网络维护的租户特定的覆盖网络。作为示例,来自租户覆盖网络中任何源设备的数据包只能被传输到同一租户覆盖网络中的其它设备。封装隧道用于禁止从租户覆盖网络上的源设备到其它租户覆盖网络中的设备的任何传输。具体而言,从源设备接收到的数据包被封装在外部数据包内。外部数据包从第一封装隧道端点(与租户覆盖网络中的源设备通信)传输到第二封装隧道端点(与租户覆盖网络中的目的设备通信)。第二封装隧道端点解封装外部数据包,以获得由源设备传输的原始数据包。原始数据包从第二封装隧道端点传输到同一特定覆盖网络中的目的设备。
[0124] 8.微服务应用
[0125] 根据一个或多个实施例,这里描述的技术在微服务架构中实现。本文中的微服务是指设计为可独立部署的软件逻辑,其端点可以逻辑耦合到其它微服务以构建各种应用。使用微服务构建的应用不同于单片应用(monolithic application),单片应用被设计为单个固定单元并通常包含单个逻辑可执行文件。利用微服务应用,不同的微服务可以作为分开的可执行文件独立部署。微服务可以使用超文本传输协议(HTTP)消息和/或根据其它通信协议经由API端点进行通信。微服务可以分开管理和更新,是用不同的语言编写的,并独立于其它微服务执行。
[0126] 微服务为管理和构建应用提供灵活性。不同的应用可以通过连接不同的微服务集来构建,而不改变微服务的源代码。因此,微服务充当逻辑构建,可以以各种方式排列这些逻辑构建块来构建不同的应用。微服务可以提供监控服务,当暴露给微服务管理器的触发事件集中的触发事件发生时,监控服务会通知微服务管理器(诸如“If-This-Then-That(IFTTT)”、Zapier或Oracle自助服务自动化(OSSA))。为应用暴露的微服务可以替代地或附加地提供动作服务,动作服务基于从微服务管理器接收到的数据,在应用中执行动作(可经由微服务管理器,通过传入值、将动作连接到微服务管理器中的其它触发器和/或从其它动作传来的数据,来可控制和可配置)。微服务触发器和/或动作可以链在一起,以形成在可选的不同应用中发生的动作的配方,否则这些不同应用彼此不知道或彼此没有控制或依赖。这些被管理的应用可以,例如,使用用户供应给管理器的应用凭证,被认证或插入微服务管理器中,而不需要每次被管理的应用单独使用或与其它应用组合使用时重新认证。
[0127] 在一个或多个实施例中,微服务可以通过GUI连接。例如,微服务可以在窗口、框架、GUI的其它元素内显示为逻辑块。用户可以将微服务拖放到用于构建应用的GUI区域中。用户可以使用定向箭头或任何其它GUI元素,将一个微服务的输出连接到另一个微服务的输入。应用构建器可以运行核实测试来确认输出和输入是兼容的(例如,通过检查数据类型、大小限制等)。
[0128] 触发器
[0129] 根据一个或多个实施例,上述技术可以封装到微服务中。换句话说,微服务可以基于上述技术触发通知(进入微服务管理器,供其它插入的应用(这里称为“目标”微服务)可选使用)和/或可以表示为GUI块并连接到一个或多个其它微服务。触发条件可以包括值的绝对阈值或相对阈值,和/或用于要分析的数据量或持续时间的绝对阈值或相对阈值,以便每当插入的微服务应用检测到阈值被越过时,对微服务管理器的触发发生。例如,当微服务应用检测到值已经越过触发阈值时,用户可以向微服务管理器请求触发器。
[0130] 在一个实施例中,触发器当被满足时,可以输出数据供目标微服务消费。在另一个实施例中,触发器当被满足时,输出指示触发器已经被满足的二进制值,或者输出触发条件被满足的字段名称或其它情境信息。附加地或替代地,目标微服务可以连接到一个或多个其它微服务,以便警报被输入到其它微服务。其它微服务可以基于上述技术来执行响应动作,包括但不限于部署附加资源、调整系统配置和/或生成GUI。
[0131] 动作
[0132] 在一个或多个实施例中,插入的微服务应用可以向微服务管理器暴露动作。暴露的动作可以接收数据或数据对象的标识或数据的位置作为输入,这使得数据被移动到数据云中。
[0133] 在一个或多个实施例中,暴露的动作可以接收增大或减小现有警报阈值的请求作为输入。输入可以识别现有的应用内警报阈值,以及是增大还是减小、还是删除阈值。附加地或者替代地,输入可能会请求微服务应用创建新的应用内警报阈值。应用内警报可以在登录到应用时触发对用户的警报,或者可以使用微服务应用本身内可用的默认或用户选择的警报机制来触发对用户的警报,而不是通过插入微服务管理器的其它应用。
[0134] 在一个或多个实施例中,微服务应用可以基于识别、定位或提供历史数据并定义所请求的输出的范围或程度的输入,来生成并提供输出。动作当被触发时,会使得微服务应用提供、存储或显示输出,例如,作为数据模型或描述数据模型的聚合数据。
[0135] 在前面的说明书中,已经参考许多具体细节描述了本发明的实施例,这些细节可以根据实现而变化。因此,说明书和附图被认为是说明性的,而不是限制性的。本发明范围以及申请人意图成为本发明范围的唯一和排他性的指示,是从本申请发出的权利要求的集合的书面和等效范围,以这种权利要求发出的具体形式,包括任何后续校正。
[0136] 实施例1是包括指令的一个或多个非暂时性计算机可读介质,当由一个或多个硬件处理器执行时,所述指令使得执行包括以下的操作:
[0137] 接收包括第一请求的第一音频输入;
[0138] 分析所述第一音频输入以确定对应于所述第一音频输入的一个或多个声音特性;
[0139] 将对应于所述第一音频输入的所述一个或多个声音特性应用于音量选择模型以计算第一音量水平;
[0140] 以所述第一音量水平播放对应于所述第一请求的第一音频响应;
[0141] 在以所述第一音量水平播放所述第一音频响应之后,接收将输出音量从所述第一音量水平修改为第二音量水平的第一用户输入;
[0142] 基于所述第一用户输入来校准所述音量选择模型,以获得更新的音量选择模型;
[0143] 接收包括第二请求的第二音频输入;
[0144] 分析所述第二音频输入以确定对应于所述第二音频输入的一个或多个声音特性,其中,对应于所述第二音频输入的所述一个或多个声音特性基本上类似于对应于所述第一音频输入的所述一个或多个声音特性;
[0145] 将对应于所述第二音频输入的所述一个或多个声音特性应用于所述更新的音量选择模型,以计算基本上类似于所述第二音量水平的第三音量水平;和
[0146] 经由音频设备,以所述第三音量水平播放对应于所述第二请求的第二音频响应。
[0147] 实施例2包括实施例1所述的一个或多个介质,所述操作进一步包括:
[0148] 在所述第二音频响应之后,检测阈值时间段的流逝而未接收到修改所述输出音量的任何用户输入;和
[0149] 基于检测到所述阈值时间段的流逝而未接收到修改所述输出音量的任何用户输入:在所述音量选择模型中,确认所述第三音量水平对于响应具有一个或多个声音特性的音频输入是正确的,所述一个或多个声音特性基本上类似于对应于所述第二音频输入的所述一个或多个声音特性。
[0150] 实施例3包括实施例1所述的一个或多个介质,
[0151] 其中,分析所述第一音频输入以确定对应于所述第一音频输入的所述一个或多个声音特性包括,确定所述第一音频输入包括所述音频设备的多个用户中的第一用户的语音,以及
[0152] 其中,校准所述音量选择模型是为所述音频设备的所述多个用户中的第一用户而不是第二用户而执行的。
[0153] 实施例4包括实施例1所述的一个或多个介质,所述操作进一步包括:
[0154] 在以所述第三音量水平播放所述第二音频响应之后,接收请求重复所述第二音频响应的第二用户输入;
[0155] 基于所述第二用户输入,进一步校准所述音量选择模型;和
[0156] 以高于所述第三音量水平的第四音量水平重复所述第二音频响应。
[0157] 实施例5包括实施例1所述的一个或多个介质,所述操作进一步包括:
[0158] 至少通过基于包括多个预先标记的音频输入的训练数据来执行监督学习来生成所述音量选择模型。
[0159] 实施例6包括实施例1所述的一个或多个介质,所述操作进一步包括:
[0160] 至少通过以下方式来训练所述音量选择模型:
[0161] 提示所述音频设备的用户提供一系列音频输入;和
[0162] 基于所述一系列音频输入来校准所述音量选择模型。
[0163] 实施例7包括实施例1所述的一个或多个介质,所述操作进一步包括:
[0164] 将与所述音量选择模型相关联的校准数据传输到服务器;和
[0165] 在所述服务器处,将所述校准数据结合到被分配给一个或多个其它音频设备的基线音量选择模型中。
[0166] 实施例8包括实施例1所述的一个或多个介质,其中分析所述第一音频输入以确定对应于所述第一音频输入的所述一个或多个声音特性包括确定所述第一音频输入中的语音的响度。
[0167] 实施例9包括实施例1所述的一个或多个介质,其中分析所述第一音频输入以确定对应于所述第一音频输入的所述一个或多个声音特性包括估计所述音频设备的用户离所述音频设备的距离。
[0168] 实施例10包括实施例1所述的一个或多个介质,其中分析所述第一音频输入以确定对应于所述第一音频输入的所述一个或多个声音特性包括确定环境音量水平。
[0169] 实施例11包括实施例1所述的一个或多个介质,其中分析所述第一音频输入以确定对应于所述第一音频输入的所述一个或多个声音特性包括确定所述音频设备是特定种类的音频设备。
[0170] 实施例12包括实施例1所述的一个或多个介质,其中分析所述第一音频输入以确定对应于所述第一音频输入的所述一个或多个声音特性包括计算所述第一音频输入中的信噪比。
[0171] 实施例13包括实施例1所述的一个或多个介质,其中分析所述第一音频输入以确定对应于所述第一音频输入的所述一个或多个声音特性包括确定所述第一音频输入是针对与所述音频设备相关联的多个虚拟助理角色中的特定虚拟助理角色的。
[0172] 实施例14包括实施例1所述的一个或多个介质,其中分析所述第一音频输入以确定对应于所述第一音频输入的所述一个或多个声音特性包括确定所述第一音频设备的用户有听力障碍。
[0173] 实施例15包括实施例1所述的一个或多个介质,所述操作进一步包括:
[0174] 基于与所述第二音频输入相关联的一个或多个非声音特性来调整所述第三音量水平。
[0175] 实施例16包括实施例15所述的一个或多个介质,其中所述一个或多个非声音特性包括所述第二音频输入的一天中的时间。
[0176] 实施例17包括实施例15所述的一个或多个介质,其中所述一个或多个非声音特性包括环境光水平。
[0177] 实施例18包括实施例1所述的一个或多个介质,所述操作进一步包括:
[0178] 至少通过基于包括多个预先标记的音频输入的训练数据来执行监督学习来生成所述音量选择模型;
[0179] 至少通过以下方式来训练所述音量选择模型:
[0180] 提示所述音频设备的用户提供一系列音频输入,和
[0181] 基于所述一系列音频输入来校准所述音量选择模型;
[0182] 在以所述第三音量水平播放所述第二音频响应之后,接收请求重复所述第二音频响应的第二用户输入;
[0183] 基于所述第二用户输入,进一步校准所述音量选择模型;
[0184] 以高于所述第三音量水平的第四音量水平重复所述第二音频响应;
[0185] 将与所述音量选择模型相关联的校准数据传输到服务器;
[0186] 在所述服务器处,将所述校准数据结合到被分配给一个或多个其它音频设备的基线音量选择模型中;
[0187] 基于与所述第二音频输入相关联的一个或多个非声音特性来调整所述第三音量水平,其中所述一个或多个非声音特性包括所述第二音频输入的一天中的时间和环境光水平,
[0188] 其中,分析所述第一音频输入以确定对应于所述第一音频输入的所述一个或多个声音特性包括:
[0189] (a)确定所述第一音频输入包括所述音频设备的多个用户中的第一用户的语音,其中校准所述音量选择模型是为所述音频设备的所述多个用户中的第一用户而不是第二用户而执行的,
[0190] (b)确定所述第一音频输入中的语音的响度,
[0191] (c)估计所述音频设备的用户离所述音频设备的距离,
[0192] (d)确定环境音量水平,
[0193] (e)确定所述音频设备是特定种类的音频设备,
[0194] (f)计算所述第一音频输入中的信噪比
[0195] (g)确定所述第一音频输入是针对与所述音频设备相关联的多个虚拟助理角色中的特定虚拟助理角色的,以及
[0196] (h)确定所述第一音频设备的用户有听力障碍。
[0197] 实施例19是包括指令的一个或多个非暂时性计算机可读介质,当由一个或多个硬件处理器执行时,所述指令使得执行包括以下的操作:
[0198] 接收包括请求的音频输入,其中所述请求没有指定对所述请求的响应的音量水平;
[0199] 生成对所述请求的所述响应;
[0200] 将来自所述请求和所述响应中的至少一个的内容应用于音量选择模型以确定响应音量;
[0201] 配置音频设备来以所述响应音量播放所述响应;和
[0202] 经由所述音频设备以所述响应音量播放所述响应。
[0203] 实施例20是包括指令的一个或多个非暂时性计算机可读介质,当由一个或多个硬件处理器执行时,所述指令使得执行包括以下的操作:
[0204] 接收包括请求的音频输入,其中所述请求没有指定对所述请求的响应的音量水平;
[0205] 分析所述音频输入以确定对应于所述音频输入的一个或多个声音特性;
[0206] 基于所述一个或多个声音特性来计算音量修正因子;
[0207] 将基线音量水平乘以所述音量修正因子以确定调整后的音量水平;
[0208] 配置音频设备来以所述调整后的音量水平播放对所述请求的所述响应;和[0209] 经由所述音频设备以所述调整后的音量水平播放对所述请求的所述响应。
[0210] 实施例21是包括指令的一个或多个非暂时性计算机可读介质,当由一个或多个硬件处理器执行时,所述指令使得执行包括以下的操作:
[0211] 接收包括请求的音频输入;
[0212] 确定被配置为播放对所述请求的响应的响应回放设备;
[0213] 基于确定所述响应回放设备:为对所述请求的所述响应选择音量水平;和[0214] 经由所述响应回放设备,以所述音量水平播放对所述请求的所述响应。
[0215] 实施例22是用于音频响应的方法,所述方法包括:
[0216] 接收包括第一请求的第一音频输入;
[0217] 分析所述第一音频输入以确定对应于所述第一音频输入的一个或多个声音特性;
[0218] 将对应于所述第一音频输入的所述一个或多个声音特性应用于音量选择模型以计算第一音量水平;
[0219] 以所述第一音量水平播放对应于所述第一请求的第一音频响应;
[0220] 在以所述第一音量水平播放所述第一音频响应之后,接收将输出音量从所述第一音量水平修改为第二音量水平的第一用户输入;
[0221] 基于所述第一用户输入来校准所述音量选择模型,以获得更新的音量选择模型;
[0222] 接收包括第二请求的第二音频输入;
[0223] 分析所述第二音频输入以确定对应于所述第二音频输入的一个或多个声音特性,其中,对应于所述第二音频输入的所述一个或多个声音特性基本上类似于对应于所述第一音频输入的所述一个或多个声音特性;
[0224] 将对应于所述第二音频输入的所述一个或多个声音特性应用于所述更新的音量选择模型,以计算基本上类似于所述第二音量水平的第三音量水平;和
[0225] 经由音频设备,以所述第三音量水平播放对应于所述第二请求的第二音频响应,[0226] 其中所述方法由包括硬件处理器的至少一个设备执行。
[0227] 实施例23包括实施例22所述的方法,所述方法进一步包括:
[0228] 在所述第二音频响应之后,检测阈值时间段的流逝而未接收到修改所述输出音量的任何用户输入;和
[0229] 基于检测到所述阈值时间段的流逝而未接收到修改所述输出音量的任何用户输入:在所述音量选择模型中,确认所述第三音量水平对于响应具有一个或多个声音特性的音频输入是正确的,所述一个或多个声音特性基本上类似于对应于所述第二音频输入的所述一个或多个声音特性。
[0230] 实施例24包括实施例22所述的方法,
[0231] 其中,分析所述第一音频输入以确定对应于所述第一音频输入的所述一个或多个声音特性包括,确定所述第一音频输入包括所述音频设备的多个用户中的第一用户的语音,以及
[0232] 其中,校准所述音量选择模型是为所述音频设备的所述多个用户中的第一用户而不是第二用户而执行的。
[0233] 实施例25包括实施例22所述的方法,所述方法进一步包括:
[0234] 在以所述第三音量水平播放所述第二音频响应之后,接收请求重复所述第二音频响应的第二用户输入;
[0235] 基于所述第二用户输入,进一步校准所述音量选择模型;和
[0236] 以高于所述第三音量水平的第四音量水平重复所述第二音频响应。
[0237] 实施例26包括实施例22所述的方法,所述方法进一步包括:
[0238] 至少通过基于包括多个预先标记的音频输入的训练数据来执行监督学习来生成所述音量选择模型。
[0239] 实施例27包括实施例22所述的方法,所述方法进一步包括:
[0240] 至少通过以下方式来训练所述音量选择模型:
[0241] 提示所述音频设备的用户提供一系列音频输入;和
[0242] 基于所述一系列音频输入来校准所述音量选择模型。
[0243] 实施例28包括实施例22所述的方法,所述方法进一步包括:
[0244] 将与所述音量选择模型相关联的校准数据传输到服务器;和
[0245] 在所述服务器处,将所述校准数据结合到被分配给一个或多个其它音频设备的基线音量选择模型中。
[0246] 实施例29包括实施例22所述的方法,其中分析所述第一音频输入以确定对应于所述第一音频输入的所述一个或多个声音特性包括确定所述第一音频输入中的语音的响度。
[0247] 实施例30包括实施例22所述的方法,其中分析所述第一音频输入以确定对应于所述第一音频输入的所述一个或多个声音特性包括估计所述音频设备的用户离所述音频设备的距离。
[0248] 实施例31包括实施例22所述的方法,其中分析所述第一音频输入以确定对应于所述第一音频输入的所述一个或多个声音特性包括确定环境音量水平。
[0249] 实施例32包括实施例22所述的方法,其中分析所述第一音频输入以确定对应于所述第一音频输入的所述一个或多个声音特性包括确定所述音频设备是特定种类的音频设备。
[0250] 实施例33包括实施例22所述的方法,其中分析所述第一音频输入以确定对应于所述第一音频输入的所述一个或多个声音特性包括计算所述第一音频输入中的信噪比。
[0251] 实施例34包括实施例22所述的方法,其中分析所述第一音频输入以确定对应于所述第一音频输入的所述一个或多个声音特性包括确定所述第一音频输入是针对与所述音频设备相关联的多个虚拟助理角色中的特定虚拟助理角色的。
[0252] 实施例35包括实施例22所述的方法,其中分析所述第一音频输入以确定对应于所述第一音频输入的所述一个或多个声音特性包括确定所述第一音频设备的用户有听力障碍。
[0253] 实施例36包括实施例22所述的方法,所述操作进一步包括:
[0254] 基于与所述第二音频输入相关联的一个或多个非声音特性来调整所述第三音量水平。
[0255] 实施例37包括实施例22所述的方法,其中所述一个或多个非声音特性包括所述第二音频输入的一天中的时间。
[0256] 实施例38包括实施例22所述的方法,其中所述一个或多个非声音特性包括环境光水平。
[0257] 实施例39包括实施例22所述的方法,所述方法进一步包括:
[0258] 至少通过基于包括多个预先标记的音频输入的训练数据来执行监督学习来生成所述音量选择模型;
[0259] 至少通过以下方式来训练所述音量选择模型:
[0260] 提示所述音频设备的用户提供一系列音频输入,和
[0261] 基于所述一系列音频输入来校准所述音量选择模型;
[0262] 在以所述第三音量水平播放所述第二音频响应之后,接收请求重复所述第二音频响应的第二用户输入;
[0263] 基于所述第二用户输入,进一步校准所述音量选择模型;
[0264] 以高于所述第三音量水平的第四音量水平重复所述第二音频响应;
[0265] 将与所述音量选择模型相关联的校准数据传输到服务器;
[0266] 在所述服务器处,将所述校准数据结合到被分配给一个或多个其它音频设备的基线音量选择模型中;
[0267] 基于与所述第二音频输入相关联的一个或多个非声音特性来调整所述第三音量水平,其中所述一个或多个非声音特性包括所述第二音频输入的一天中的时间和环境光水平,
[0268] 其中,分析所述第一音频输入以确定对应于所述第一音频输入的所述一个或多个声音特性包括:
[0269] (a)确定所述第一音频输入包括所述音频设备的多个用户中的第一用户的语音,其中校准所述音量选择模型是为所述音频设备的所述多个用户中的第一用户而不是第二用户而执行的,
[0270] (b)确定所述第一音频输入中的语音的响度,
[0271] (c)估计所述音频设备的用户离所述音频设备的距离,
[0272] (d)确定环境音量水平,
[0273] (e)确定所述音频设备是特定种类的音频设备,
[0274] (f)计算所述第一音频输入中的信噪比
[0275] (g)确定所述第一音频输入是针对与所述音频设备相关联的多个虚拟助理角色中的特定虚拟助理角色的,以及
[0276] (h)确定所述第一音频设备的用户有听力障碍。
[0277] 实施例40是用于音频响应的方法,所述方法包括:
[0278] 接收包括请求的音频输入,其中所述请求没有指定对所述请求的响应的音量水平;
[0279] 生成对所述请求的所述响应;
[0280] 将来自所述请求和所述响应中的至少一个的内容应用于音量选择模型以确定响应音量;
[0281] 配置音频设备来以所述响应音量播放所述响应;和
[0282] 经由所述音频设备以所述响应音量播放所述响应,
[0283] 其中所述方法由包括硬件处理器的至少一个设备执行。
[0284] 实施例41是用于音频响应的方法,所述方法包括:
[0285] 接收包括请求的音频输入,其中所述请求没有指定对所述请求的响应的音量水平;
[0286] 分析所述音频输入以确定对应于所述音频输入的一个或多个声音特性;
[0287] 基于所述一个或多个声音特性来计算音量修正因子;
[0288] 将基线音量水平乘以所述音量修正因子以确定调整后的音量水平;
[0289] 配置音频设备来以所述调整后的音量水平播放对所述请求的所述响应;和[0290] 经由所述音频设备以所述调整后的音量水平播放对所述请求的所述响应,[0291] 其中所述方法由包括硬件处理器的至少一个设备执行。
[0292] 实施例42是用于音频响应的方法,所述方法包括:
[0293] 接收包括请求的音频输入;
[0294] 确定被配置为播放对所述请求的响应的响应回放设备;
[0295] 基于确定所述响应回放设备:为对所述请求的所述响应选择音量水平;和[0296] 经由所述响应回放设备,以所述音量水平播放对所述请求的所述响应,[0297] 其中所述方法由包括硬件处理器的至少一个设备执行。
[0298] 实施例43是用于音频响应的系统,所述系统包括:
[0299] 一个或多个处理器;
[0300] 与所述一个或多个处理器耦合的存储器,其上存储有指令,当由所述一个或多个处理器执行时,所述指令使得所述一个或多个处理器执行如实施例22-42中任一项所述的方法。
[0301] 实施例44是用于音频响应的装置,所述装置包括用于执行如实施例22-42中任一项所述的方法的单元。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈