基于接近度的语音启用特征的制作方法

文档序号:19128288发布日期:2019-11-13 02:21阅读:218来源:国知局
基于接近度的语音启用特征的制作方法

语音激活或语音命令设备越来越受欢迎。这样的设备由人声控制,从而允许用户操作设备,而无需用按钮或键来控制设备。该设备通常使用某种形式的声音识别接收和标识命令。



技术实现要素:

描述了用于控制语音激活设备的语音激活特征的方法和系统。接收来自一个或多个数据源的指示用户的状态的数据。基于对数据的分析,基于多个可能位置的概率来选择用户的可能位置。确定相对于语音激活设备的位置的用户的可能接近度。接近度可以部分地基于计算状态信息和传感器的可用性而被确定。至少部分地基于所确定的接近度、一个或多个规则以及一个或多个用户偏好,来启用语音激活设备的一个或多个语音激活特征。

特征、功能和优点可以在各种实施例中独立地实现,或者可以在又一些其他实施例中组合,其进一步的细节可以参考以下描述和图示看出。

附图说明

图1是根据一个实施例的示例计算机环境的系统图。

图2是根据一个实施例的示例语音启用系统的框图。

图3是示出根据一个实施例的示例计算系统的操作模式和操作模式之间的示例转变的状态图。

图4是可以在各种实施例中使用的系统的图示。

图5是示出用于基于接近度来启用语音激活特征的示例操作集的流程图。

具体实施方式

本公开描述了用于基于用户与设备的接近度、通过使用语音识别和关键字检出来激活语音激活或语音命令设备的特征的技术和系统,实际上充当语音激活或语音命令设备的“按键通话”。在一些情况下,语音激活或语音命令设备可能被无意地激活,例如,由来自附近房间、电视或可能产生环境声音的其他语音源的语音无意地激活。当无意中被激活时,语音激活或语音命令设备可能造成不想要的动作,诸如打开或关闭设备,使门解锁或锁上,甚至从卖方网站订购物品。另外,由于环境噪声和其他因素,环境声音可能具有较低的保真度,因此语音识别可能是错误的,从而导致处理不正确或非预期的命令。

在本公开的一个实施例中,互连网络可以耦合到一个或多个用户计算设备以及数据源,诸如遍布家庭或办公室环境的传感器和计算设备。设备中的至少一个设备是语音激活设备。传感器可以包括光度传感器、被动红外(ir)传感器、具有图像识别的相机、深度传感器等。计算设备可以是可操作用于在互连网络上进行交互的任何其他设备。基于来自数据源的数据,语音激活设备可以关于用户相对于语音激活设备的位置和状态而做出确定。语音激活设备可以被配置为使得其仅在用户的位置和状态满足一个或多个标准时对语音命令做出响应。例如,语音激活设备可以仅在检测到用户处于距语音激活设备的指定半径内(诸如3英尺或5英尺)时对语音命令做出响应。当用户打算激活语音激活设备时,该距离可以与用户的预期接近度相关。

在另一示例中,语音激活设备可以仅在基于可用存在信息推断用户在指定位置内时对语音命令做出响应。可以使用推理逻辑从用户的计算设备、其他计算设备和可用传感器两者来推断用户的存在状态。传感器信息可以包括光模式和移动模式,并且用户设备信息可以包括蓝牙连接状态、计算设备活动或非活动等。推理逻辑可以在本地网络上的设备上执行,诸如语音激活设备或者网络中的另一设备。

通过将语音激活功能链接到用户的存在,诸如语音激活恒温器之类的设备可以被配置为基于高保真度语音输入来操作,高保真度语音输入基于靠近的物理接近度而更容易获取。远场麦克风通常很大并且不适用于可能家庭网络所期望的较小设备。然而,用于这种较小设备的近场设备通常具有较低的保真度,并且因此,使用接近度来启用语音激活可以通过不允许来自远场语音源的输入激活设备,来确保对这种设备的更高保真度激活。另外,可以在互连网络的各种设备上减少系统资源消耗和功耗。例如,可以仅在确定用户接近度时,调用用于检测和识别语音输入的处理,因此避免了执行处理和使用系统资源。

可以使用各种传感器和设备来直接或间接地提供用户存在信息。例如,可以使用被动红外(ir)设备来检测运动,以推断用户的存在。相机可以提供数据,并且图像识别可以用于确定用户在设备的估计接近度内。深度传感器连同颜色传感器可以用于检测用户距设备有多远。

另外,可以基于次级或非直接信息来推断用户的存在。例如,可以使用诸如钥匙链或智能电话之类的用户设备的存在,来推断用户在语音激活或语音命令设备的估计接近度内。可以使用诸如用于用户的蓝牙连接变为断开之类的信息来推断用户的存在,“用于用户的蓝牙连接变为断开”表明用户已经离开房间并且具有足够的距离以便与语音激活设备的蓝牙收发器断开连接。例如,其他次级信息可以包括:检测门打开和关闭的传感器、热传感器、以及来自用户的移动设备的自我报告的位置信息。

在一些实施例中,语音激活设备可以配置有用于何时允许语音激活特征的默认参数集。这样的参数可以包括距语音激活设备的半径(距离)、或者语音激活参数是否有效的时间段。在一些实施例中,可以向用户提供选择语音激活参数的选项的能力。例如,用户可以基于语音激活设备的位置和房间的几何形状来指定半径。

在另一示例中,用户可以选择完全关闭语音激活的选项,例如,如果房间将具有众多占用者并且应当禁用语音激活特征。在一些实施例中,用于在语音激活设备上启用语音激活特征的激活操作可以基于由用户配置的简档而限于时间段和/或位置。例如,可以在夜间或在所标识的位置(诸如室外位置或车库)处限制或禁用操作。

在一些实施例中,用于在语音激活设备上启用语音激活特征的激活操作可以包括确定用户的移动设备的状态。在一些示例中,状态可以是指与计算设备的位置随时间的变化相关联的计算设备的运动状态的变化。通过监测计算设备的现有信号和/或由计算设备上的应用生成的位置数据,可以确定该状态。这样的现有信号和位置数据可以包括间接或直接提示计算设备的状态的信号。

通常,所确定的用户的状态或位置的准确性可以具有相关联的不确定性,并且可以为所确定的状态或位置分配得分或度量。得分或度量可以量化所确定的状态或位置表示计算设备的实际状态的可能性。

在一个实施例中,用户的位置的确定可以使用用于在语音激活设备上启用语音激活特征的规则集和推断的或推理的条件集来确定。在一个实施例中,可以使用条件集来确定用户的估计位置。作为响应,可以收集和分析该条件集以及其他信息,以确定应当启用语音启用特征。可以使用一个或多个规则来进行其中一个或两个确定。

在一些实施例中,应当启用语音启用特征的确定可以基于房间或区域中的人数来确定。

在一些实施例中,语音激活设备可以提供关于是否允许语音启用特征以及是否检测到用户的存在的通知。通知可以本地存储以供将来参考,周期性地或按计划发送给用户的设备或另一设备,或者可以在设备本身上提供状态,诸如照亮灯或提供音频指示。

在一些实施例中,语音激活设备可以被配置为适应用户的特定行为模式。例如,如果观察到在每天的相同时间段期间没有检测到用户的存在达几周,则语音激活设备可能需要更强或更弱的存在指示,以便启用语音激活特征。在一些实施例中,语音激活设备或控制设备的语音激活特征的功能可以被配置为使用机器学习的各方面基于反馈来修改用于确定用户的存在的条件和规则,从而允许随着时间的推移改进这些确定和动作。

在一些实施例中,用于启用语音激活设备的语音激活特征的功能可以在语音激活设备、与语音激活设备通信的另一计算设备或其组合上作为功能来执行。另外,一些功能可以作为基于云的服务来执行。语音激活设备可以与家庭网络或其他网络集成,并且被配置为获取指示各种传感器和家庭设备的状态的数据。

参考图1,描绘了可以实现本公开的实施例的示例计算环境,并且该示例计算环境总体上表示为计算环境100。如本文中使用的,短语“计算环境”通常是指具有处理能力和存储存储器的计算设备,其支持在其上执行软件、应用和计算机程序的底层操作软件。

如图1所示,计算环境100包括处理器110(例如,执行核),处理器110通过一个或多个系统总线互连,一个或多个系统总线将各种系统组件耦合到处理器110。虽然在图1所描绘的示例中示出了一个处理器110,但是本领域技术人员将认识到,计算环境100可以具有多个处理器(例如,每个处理器基板的多个执行核,和/或各自具有多个执行核的多个处理器基板),每个处理器接收计算机可读指令并且相应地处理它们。一个或多个系统总线可以是使用各种总线架构中的任何总线架构的若干类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线和本地总线。在一个实施例中,计算环境100还包括主机适配器、小型计算机系统接口(scsi)总线和连接到scsi总线的外部存储设备。

计算环境100通常还包括或能够访问各种计算机可读介质。计算机可读介质是计算环境100可访问的体现计算机可读的处理器可执行指令的任何可用介质。通过示例的方式而非限制,计算机可读介质包括计算机可读存储介质110和通信介质。通过存储在某种形式的计算机可读介质上或跨某种形式的计算机可读介质传输的计算机可读、处理器可执行指令的方式,来实现本公开的各方面。

通信介质通常以诸如载波或其他传送机制之类的调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传递介质。如本文中使用的,“调制数据信号”是指具有一个或多个特性的信号,每个特性可以被配置或修改,以将数据编码到信号中,以通过通信信道传播。这种通信信道的示例包括诸如有线网络或直接有线连接之类的有线介质、以及诸如声学、rf、红外和其他无线介质之类的无线介质。

例如,计算机可读存储介质110可以包括随机存取存储器(“ram”)104;存储设备106(例如,机电硬盘驱动器、固态硬盘驱动器等);固件108(例如,flashram或rom);以及可移除存储设备118(例如,cd-rom、软盘、dvd、flash驱动器、外部存储设备等)。本领域技术人员应当理解,可以使用其他类型的计算机可读存储介质,诸如磁带盒、闪存卡和/或数字视频盘。通常,这样的计算机可读存储介质可以在一些实施例中用于存储有形地体现本公开的各方面的处理器可执行指令。因此,计算机可读存储介质明确地排除了信号本身。

计算机可读存储介质110可以向计算环境100提供计算机可读处理器可执行指令、数据结构、程序模块和其他数据的非易失性和/或易失性存储。基本输入/输出系统(“bios”)120可以存储在固件108中,基本输入/输出系统(“bios”)120包含有助于在计算环境100内的元件之间传送信息的基本例程(诸如在启动期间)。很多程序可以存储在固件108、存储设备106、ram104和/或可移除存储设备118上。这些程序可以包括操作系统和/或应用程序。在特定实施例中,计算环境100的计算机可读存储介质110可以存储语音激活管理系统200,其在以下段落中更详细地描述。在该示例实施例中,语音激活管理系统200可以由处理器110执行,从而将计算环境100变换为被配置用于特定目的的计算机环境,即,根据本公开中描述的技术配置的计算机环境。

继续参考图1,命令和信息可以由计算环境100通过输入/输出设备(“i/o设备”)116接收。i/o设备116包括一个或多个输入设备、输出设备或其组合。输入设备的示例包括键盘、指向设备、触摸板、触摸屏、扫描仪、麦克风、操纵杆等。输出设备的示例包括显示设备、音频设备(例如,扬声器)、打印机等。这些和其他i/o设备通常通过耦合到系统总线的串行端口接口连接到处理器110,但是可以通过其他接口连接,该其他接口诸如为并行端口、游戏端口或通用串行总线(usb)。显示设备也可以经由诸如视频适配器之类的接口连接到系统总线,视频适配器可以是图形处理器单元的一部分或连接到图形处理器单元。

计算环境100可以在联网环境中操作,并且经由到一个或多个远程计算机(诸如远程计算机)的逻辑连接,从一个或多个远程计算机接收命令和信息。远程计算机可以是另一计算机、服务器、路由器、网络pc、对等设备或其他公共网络节点,并且通常可以包括上面相对于计算环境100描述的很多或所有元件。

当在lan或wan联网环境中使用时,计算环境100可以通过网络接口卡(“nic”)114连接到lan或wan。可以是内部或外部的nic114可以连接到系统总线。在联网环境中,相对于计算环境100描绘的程序模块或其部分可以存储在远程存储器存储设备中。将理解的是,这里描述的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。此外,虽然设想本公开的众多实施例特别适合于计算机化系统,但是本文件中的任何内容都不旨在将本公开限制于这样的实施例。

在联网环境中,相对于计算环境100描绘的程序模块或其部分可以存储在经由nic114可访问的远程存储器存储设备中。将理解的是,所示的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。在计算环境100被配置为在联网环境中操作的实施例中,操作系统被远程存储在网络上,并且计算环境100可以从网络启动该远程存储的操作系统,而不是从本地存储的操作系统启动。在一个实施例中,计算环境100包括瘦客户机,该瘦客户机具有小于全操作系统的操作系统,而是更确切地说,被配置为处理联网和显示输出的内核。图2还示出了接近度设备120,接近度设备120可以包括可以提供数据的传感器和其他设备,从该数据可以确定用户的接近度。

现在转向图2,图2是图示根据一个或多个实施例的示例语音激活管理系统200的框图,示例语音激活管理系统200适合于实现用户接近度确定和设备激活。在一个实施例中,系统200可以实现为单个计算设备,诸如图1的计算环境100。系统200可以采用多种形式中的任何形式。通过示例的方式,系统100可以是移动电话、智能电话、膝上型计算设备、台式计算设备、服务器、平板计算机、个人数字助理(pda)、可穿戴计算机、游戏设备或任何其他计算设备。

在一个实施例中,系统200可以由单个计算设备实现,由多个计算设备(诸如图1的计算环境100)实现,并且在一些实施例中,由至少一个服务器组件或经由网络连接(例如,蜂窝网络、wifi/宽带网络、局域网等)访问的计算组件实现。至少一个服务器组件可以包括单个计算设备或在分布式环境中协作的多个计算设备。例如,可以经由布置在分布式环境中的集体提供本文中描述的功能中的一个或多个功能的多个计算设备,来提供至少一个服务器组件。

如图2所示,系统200包括诸如数据收集组件210、接近度分析组件220、响应组件230、通知组件240和数据存储库250之类的组件。数据收集组件210通常可以负责从诸如传感器之类的一个或多个源接收(获取、获得或访问)信号和/或数据。在一个实施例中,信号可以是由数据收集组件210接收的被动或主动信号,并且被存储在诸如数据存储库250之类的一个或多个数据存储库中。因此,一个或多个数据存储库可以用于接近度分析组件220、响应组件230和通知组件240。

可以从各种源接收被动和主动信号。通过示例的方式,被动信号可以包括用户的设备的状态数据、网络连接数据、应用活动数据、惯性数据(例如,加速度计、陀螺仪和磁场传感器)、gps数据等。在一个实施例中,任何类型的现有信号都可用作被动信号,只要其增加或减少确定一个或多个用户的状态或接近度的可能性。设备状态数据可以包括用户与计算设备的交互、从硬件卸载(低功率)跟踪引擎接收跟踪状态事件等。

网络连接数据可以包括如下信息:诸如计算设备是否与蓝牙系统配对、无线接入点连接、可见无线接入点的数目的变化(例如,wifi基本服务集标识符)、与可见无线接入点相关联的信号强度测量(例如,接收的信号强度指示符值)等。应用活动数据可以包括如下信息:诸如用户是否正在利用计算设备的相机捕获图像数据、利用计算设备(例如,近场通信“nfc”接头)完成的信用卡或其他支付交易、与地图绘制应用相关联的导航会话的完成、接收由其他应用(例如,应用275)设置的地理围栏的地理围栏事件等。

被动信号还可以包括导出数据。可以用作被动信号的原始系统信号的另一示例包括:“用户在设备上是活动的”。在一个实施例中,与原始信号相比,一些导出信号可以是计算设备处于停留状态(用户在房间中逗留)的更强指示。如本文中使用的,“导出数据”是指指示从其他被动信号导出的计算设备的状态的数据。例如,导出数据可以包括与计算设备相关联的位置和速度数据,该位置和速度数据是从不相关的应用(例如,应用275)机会地获取的gps位置、系统活动等导出的。作为另一示例,衍生数据可以包括基于最近的位置确定而导出的惯性数据。

通过示例的方式,主动信号可以包括专门针对系统200而主动寻求、请求或生成的数据。

接近度分析组件220可以被配置为基于被动和主动信号以及其他信息来确定用户状态和位置的得分(或度量)。例如,接近度分析组件220可以使用与被动和主动信号相关联的统计信息作为输入。此外,接近度分析组件220可以确定针对可能的用户状态和位置而确定的得分。得分可以指示用户的实际状态或位置实际上对应于所确定的状态或位置的可能性。

在一个实施例中,得分可以表示为百分比、离散枚举(例如,低、高或未知)或其组合。统计信息的示例可以包括置信度得分、方差度量、集中趋势值、概率分布函数等的任何组合。在确定用户状态或位置的得分时,接近度分析组件220可以接收一个或多个被动或主动信号作为输入,并且提供所确定的用户状态或位置的得分作为输出。被动或主动信号可以以任何粒度级别接收,包括:连续地、周期性地(例如,每秒、每分钟、每十分钟等)、或者在转变逻辑状态时(例如,开启到关闭、高到低等)。

受设计复杂性和效率约束的影响,接近度分析组件220可以基于被动或主动信号,利用各种功能来确定用户状态或位置的得分。在一个实施例中,可以通过取个体被动或主动信号的加权平均来确定得分。在一个实施例中,可以部分地使用指示用户状态或位置的主动获取的信号来确定得分。在一个实施例中,可以使用从由先前接收的被动或主动信号组成的数据集获取的训练数据来确定权重。例如,计算设备可以以测试模式运行,其中收集被动或主动信号以及gps接收器信号,从而提供与被动或主动信号相关联的验证状态。也就是说,可以每n分钟获取位置数据,以获取可以与被动或主动信号相关的地面实况,以生成训练数据。在一个实施例中,可以使用以选择的编程语言实现的定制代码来确定得分,该定制代码定义个体被动或主动信号与计算设备的实际状态之间的关系。

在一个实施例中,任何已知的人工智能、机器学习、基于知识或基于规则的机制来训练机器学习模型,机器学习模型接收被动或主动信号作为输入,并且提供用户状态或位置的得分作为输出。这种机制的示例包括支持向量机、神经网络、专家系统、贝叶斯信念网络、模糊逻辑、数据融合引擎、分类器等。在训练机器学习模型(例如,找到模型参数的最佳值)时,可以使用目标函数,以根据模型参数,使用训练数据的子集来测量模型的性能。例如,通过找到目标函数的最小值,可以确定模型的参数的最佳值。

作为另一示例,可以执行随机梯度下降过程的多次迭代,以找到参数的最佳值。在一个实施例中,机器学习模型由单级线性或非线性操作组成。在一个实施例中,机器学习模型是由多级非线性操作组成的深度网络。例如,机器学习模型可以是具有一个或多个隐藏层的神经网络。

作为示例,接近度分析组件220可以使用逻辑函数来确定用户状态或位置的得分。本领域技术人员将认识到,逻辑函数的一个性质是对于输入(即,独立变量)的任何值,输出值总是在[0,1]的范围内,这使得逻辑函数适合于概率应用。在该示例中,接近度分析组件220提供三个(布尔)被动信号作为逻辑函数的输入。该示例的三个被动信号是:(i)用户是否在房间中(“room”);(ii)用户是否静止(“still”);以及(iii)用户的计算设备是否与蓝牙系统配对(“connected”)。本领域技术人员将认识到,接近度分析组件220可以基于数十个甚至数百个被动或主动信号来提供得分。在一个实施例中,被动或主动信号可以被分类为分类或连续的。

该示例中的接近度分析组件220可以将三个被动信号提供到以下“用户近”状态方程中,以确定“用户近”状态的得分:

方程1:

该示例的“用户近”状态方程表明了若干事情。第一,在没有所有三个信号(即,room=0,still=0,connected=0)的情况下,“用户近”状态的得分为0.5。在该示例中,近状态的这个得分0.5可以用作“不确定”阈值,其指示没有足够的信息可用于确定用户处于“用户近”状态。

第二,该示例的“用户近”状态方程还表明,一些信号可以增加用户处于给定状态或位置的可能性(即,存在正相关),而其他被动信号可以降低用户处于给定状态或位置的可能性(即,存在负相关)。这里,“room”和“still”信号增加了用户处于“用户近”状态的可能性。相反,另一信号可以降低用户处于“用户近”状态的可能性,因为用户可能正在移动。

第三,可以对个体信号进行加权,以反映信号相对于其他信号对得分的影响。这里,与权重为1的“still”被动信号相比,权重为0.5的“room”被动信号是近状态的较弱指示符。而且,与用户处于近状态的权重为+1的“still”被动信号相比,权重为1.2的“connected”信号是用户处于“用户近”状态的更强指示。

在该示例中,接近度分析组件220还将三个被动信号提供到“用户远”状态方程中,以确定“用户远”状态的得分。例如,“用户远”状态方程可以简单如下:

方程2:

pfar(room,still,connected)=(1-pnear)

在一些实例中,如在该示例中,“用户近”状态方程和“用户远”状态方程两者可以都返回低得分,这指示“用户近”状态和“用户远”状态的得分均未能超过它们相应的“不确定”阈值。在这些实例中,系统200可能无法确定用户的当前状态。例如,这可能在数据可用性有限的情况下发生。在处于该不确定状态预定时间段之后,系统200可以转变到“未知”状态。

响应组件230通常被配置为响应于由系统200的接近度分析组件220确定的用户的状态或位置来确定动作。响应组件230可以在预定义的时间段内发起系统动作。在一个实施例中,主动操作可以导致将控制信号发送到语音激活设备的一个或多个子系统,以便启用或禁用语音激活。由响应组件230实现的动作还可以向一个或多个其他设备提供通知。

在一个实施例中,系统200可以被配置为将动作限制为某些类型,诸如仅允许通知操作,或者允许仅针对有限的状态集的动作,以便将响应更好地控制为适合于这些情况或符合用户偏好的那些响应。

如上面所讨论的,用户状态或位置确定具有相关联的不确定性。响应组件230可以通过基于状态得分和概率对动作进行分类,来修改系统动作。例如,当还存在主动操作将导致确认计算设备处于“近”状态的更高可能性时,响应组件230可以指定与更高状态得分相关联的状态的动作。

作为另一示例,响应组件230可以指定与指定特性相关联的状态的动作。通过这样做,响应组件230可以将系统动作的一部分保留到与对用户更重要的位置(如用户的家或办公室)相关联的状态。作为另一示例,当主动操作将导致确认用户处于近状态的可能性较低时,响应组件230可以指定与较低状态得分相关联的状态的动作。

在一个实施例中,响应组件230可以基于状态得分、用户偏好、概率或其组合,来实现潜在动作之间的层级。使用该层级,响应组件230可以基于各种置信度水平来便于动作。

在一个实施例中,响应组件230还可以被配置为使用用户状态信息动态地调节动作。这种当前系统状态信息的示例包括:用户的设备是否处于关闭状态、语音激活设备是否具有显示屏、某些应用的特性等。

通知组件240通常可以被配置为向在用户的计算设备上执行的一个或多个应用提供与用户状态相关的通知。在一个实施例中,可以使用应用编程接口来实现通知组件240。与接近度分析组件220协作时,通知组件240可以在确定用户已经从一个状态转变到另一状态时向其他应用提供通知。例如,在用户已经进入近状态、退出近状态或停留在近状态时,通知组件240可以提供这样的通知。通知可以包括诸如用户的:当前位置、设备状态、其他人的数目等信息。在一个实施例中,通知组件240可以在确定状态得分超过预定阈值(例如,0.7)时向应用发出通知。

图3示出了状态图,其具有可以实现的示例用户状态确定系统300的四种操作模式。四种操作模式是未知模式310、可疑模式320、远模式330和近模式340。虽然该示例图示了四种操作模式,但应当理解,图3仅图示了一个示例,并且可以实现很多操作模式或状态。

在四种操作模式中,系统300可以继续监测被动或主动信号,以确定用户的当前状态。在一个实施例中,在未知模式310中,系统300可以主要空闲,并且不会引起任何动作。如转变307所指示的,当系统300不能从被动或主动信号确定用户的当前状态时,系统300可以从任何其他操作模式切换到未知模式310。当数据不可用时,系统300也可以以未知模式310操作。数据可能不可用的一个原因是,系统300缺乏电力,或者不能访问网络。当以未知模式310操作时,如转变302所示,系统300可以周期性地(例如,“每隔几分钟”或者当被动或主动信号开始针对另一状态返回高于“未确定”的概率时)切换到可疑模式320,以确定当前状态。

在可疑模式320中,系统300可以触发操作,以轮询用户的当前状态(例如,通过轮询传感器、发起蓝牙扫描等)。例如,如果在指定时间内未确定用户的位置,则系统300可以在可疑模式320中的同时轮询当前状态。在一个实施例中,系统300可以在距第一次轮询操作的预定义时间(例如,5分钟)之后,触发后续主动操作,以轮询针对用户的数据。

如果在可疑模式320中获取的数据指示用户处于远状态,则系统300在转变303之后到达远模式330。备选地,如果在可疑模式320中获取的数据指示用户处于近状态,则系统300在转变305之后到达近模式340。如上面所讨论的,系统300还可以至少出于上面讨论的原因,在转变307之后到达未知模式310。

转到图4,图示了语音激活管理系统400的示例。语音激活管理系统400可以被配置为收集与用户相关联的数据,分析所收集的数据,执行与用户和语音激活设备相关联的一个或多个动作,并且可选地向计算设备420发送通知。在一个实施例中,语音激活管理系统400可以包括或能够访问连接到计算设备404的多个传感器402a-h(在本文中可以单数称为“传感器402”或以复数称为“多个传感器402”)。传感器402被配置为测量或以其他方式获取指示计算设备404的各种子系统和组件的数据,计算设备404转而处理信息并且将信息传输给计算设备420,并且从计算设备420接收信息。图4还示出了语音激活设备420也可以具有安装在设备上或耦合到设备的传感器425。

传感器402和425中的每个传感器通常可以安装在家中或家附近的各种位置,或者接近语音激活设备的其他位置。虽然图2示出了位于各种位置的六个传感器402,但是该数目可以更大或更小,这依赖于语音激活管理系统400的尺寸和目的。

语音激活管理系统400的计算设备404可以通过接入点406的方式与计算设备420接口,接入点406可以是利用诸如蜂窝和wifi之类的技术的任何无线接入点。然而,在一个示例中,也可以使用中间设备。计算设备420可以是智能电话、平板电脑、或另一计算设备,该另一计算设备能够经由例如蓝牙直接与计算设备404通信,或者与接入点406通信以与计算设备404通信。

可以关于用户的状态来测量各种数据。传感器402还可以实现为组合各种类型的传感器和设备的测量和功能的虚拟传感器。在其他实施例中,传感器402是接口设备,其可以是与传感器通信并且从传感器获取数据的设备。

在一个实施例中,传感器402可以被配置为将测量数据传输给计算设备404,计算设备404可以被配置为处理数据。在一些实施例中,计算设备404可以不执行处理,并且可以收集数据并且将数据传输给计算设备420,计算设备420转而可以执行功能以处理所接收的数据。

在一个实施例中,计算设备404可以将时间和位置信息添加到经处理的数据。通过由计算设备404操作的时钟的方式,可以测量时间,而位置可以从测量数据或从计算设备404的位置传感器(例如,基于全球定位系统(gps)、位置三角测量技术等,确定坐标的电路)确定。

此外,计算设备404可以将数据(例如,戳记的时间和位置、标记的和分类的数据)与特定的可检测或可标识的用户相关联。例如,计算设备404可以接收标识当前用户的信息,或者可以能够基于感测到的数据来检测或推断对象的身份。身份信息可以由计算设备420提供,或者可以本地存储在计算设备404处。例如,计算设备404可以将用户的标识符(例如,名称)添加到数据,以允许计算设备420标识用户。

转到图5,图示了用于控制语音激活设备的语音激活特征的示例操作。参考图5,操作502图示了由语音激活设备从一个或多个数据源接收指示用户状态的数据。

操作502之后可以是操作504。操作504图示了由语音激活设备分析所接收的数据,并且基于该分析,在用户的可能位置中选择概率最高的位置。

操作504之后可以是操作506。操作506图示了确定相对于语音激活设备的位置的用户的可能接近度,该接近度部分地基于计算状态信息和传感器的可用性来确定。

操作506之后可以是操作508。操作508图示了至少部分地基于所确定的接近度、一个或多个规则以及一个或多个用户偏好,来确定是否应当启用语音激活设备的一个或多个语音激活特征。

操作508之后可以是操作510。操作510图示了基于该确定来激活语音激活特征中的至少一个语音激活特征。

在一个实施例中,可以实现用于控制语音激活设备的语音激活特征的方法。该方法包括:

由语音激活设备从一个或多个数据源接收指示用户的状态的数据;

由语音激活设备分析所接收的数据,并且基于该分析,在用户的可能位置中选择概率最高的位置;

确定相对于语音激活设备的位置的用户的可能接近度,部分地基于计算状态信息和传感器的可用性来确定接近度;

至少部分地基于所确定的接近度、一个或多个规则以及一个或多个用户偏好,来确定是否应当启用语音激活设备的一个或多个语音激活特征;以及

基于该确定,激活语音激活特征中的至少一个语音激活特征。

在一个实施例中,数据源包括传感器和通信网络。

在一个实施例中,用户的接近度包括近状态、远状态或未知状态。

在一个实施例中,当接近度是到语音激活设备的指定距离时,一个或多个规则中的规则确定应当启用语音激活特征之一。

在一个实施例中,当接近度是到语音激活设备的指定距离并且用户处于非移动状态时,一个或多个规则确定应当启用语音激活特征之一。

在一个实施例中,数据还指示与用户相关联的计算设备的状态。在一个实施例中,计算设备的状态指示计算设备连接到指定网络。

在一个实施例中,该方法还包括向与用户相关联的计算设备发送通知,该通知指示确定。

在一个实施例中,该方法还包括基于所确定的接近度的改变来停用至少一个语音激活特征。

在一个实施例中,一个或多个用户偏好包括可以启用语音激活特征的一天中的时间。

在一个实施例中,一个或多个用户偏好包括可以启用语音激活特征的位置。

在一个实施例中,根据基于规则的推断功能,来确定语音激活特征要被启用,该基于规则的推断功能从一个或多个传感器接收数据作为输入。

在一个实施例中,可以实现一种系统。该系统包括一个或多个处理器,该一个或多个处理器被配置为执行一个或多个可执行指令,该一个或多个可执行指令使得系统执行包括以下的操作:

从一个或多个数据源接收指示用户状态的数据,

基于所接收的数据,确定相对于语音激活设备的位置的用户的接近度,该确定还基于用户的物理存在或不存在以及与用户相关联的计算活动或不活动;以及

至少部分地基于所确定的接近度和一个或多个规则,来启用语音激活设备的一个或多个语音激活特征。

在一个实施例中,一个或多个处理器被配置为执行一个或多个可执行指令,该一个或多个可执行指令使得系统执行包括以下的操作:基于所确定的接近度的改变来停用至少一个语音激活特征。

在一个实施例中,一个或多个处理器被配置为执行一个或多个可执行指令,该一个或多个可执行指令使得系统执行包括以下的操作:向与用户相关联的计算设备发送通知,该通知指示启用的语音激活特征。

在一个实施例中,用户的接近度包括近状态和远状态。

在一个实施例中,当接近度是到语音激活设备的指定距离时,一个或多个规则确定应当启用语音激活特征之一。

在一个实施例中,根据基于规则的推断功能,来启用语音启用特征,该基于规则的推断功能从一个或多个传感器接收数据作为输入。

在一个实施例中,推断功能基于学习功能来更新。

在一个实施例中,可以实现一种计算设备。计算设备包括至少一个存储器,至少一个存储器具有存储在其中的计算机指令,该计算机指令在由计算设备的一个或多个处理器执行时,至少使得计算设备:

分析从一个或多个数据源接收的数据,一个或多个数据源包括传感器、计算设备或其组合,该数据指示用户的状态;

基于分析,确定相对于语音激活设备的位置的用户的接近度;以及

至少部分地基于所确定的接近度和一个或多个标准,来启用语音激活设备的一个或多个语音激活特征。

本文中描述的各方面的说明旨在提供对各种方面的结构的一般理解。这些说明不旨在用作利用本文中描述的结构或方法的装置和系统的所有元件和特征的完整描述。在阅读本公开之后,很多其他方面对于本领域技术人员而言可以是显而易见的。可以利用其他方面,并且可以从本公开得出其他方面,使得可以在不脱离本公开的范围的情况下,进行结构和逻辑替换和改变。因此,本公开和附图应当被视为说明性的而非限制性的。

例如,这些技术或其某些方面或部分可以采取程序代码(即,指令)的形式,程序代码被体现在有形存储介质或存储器介质中,这些介质实现为存储设备,诸如磁或光介质、易失性或非易失性介质,诸如ram(例如,sdram、ddrsdram、rdram、sram等)、rom等,存储设备可以包括在计算设备中或由计算设备可访问。当程序代码被加载到诸如计算机之类的机器中并且由机器执行时,该机器成为用于实践本公开的装置。在可编程计算机上的程序代码执行的情况下,计算设备通常包括处理器、由处理器可读取的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备和至少一个输出设备。例如,通过使用应用编程接口(api)、可重用控件等,一个或多个程序可以实现或利用结合本公开所描述的处理。这样的程序优选地以高级面向过程或面向对象的编程语言实现,以与计算机系统通信。但是,如果需要,(多个)程序可以用汇编语言或机器语言实现。在任何情况下,语言可以是编译或解释语言,并且与硬件实现相结合。

应当理解,本文中描述的各种技术可以结合硬件或软件实现,或者在适当的情况下结合两者的组合实现。本文中呈现的主题可以实现为计算机处理、计算机控制的装置或计算系统或制品,诸如计算机可读存储介质。术语“电路”、“组件”或“模块”自始至终可互换地使用,并且包括硬件组件,诸如硬件中断控制器、硬盘驱动器、网络适配器、图形处理器、基于硬件的视频/音频编解码器以及用于操作这样的硬件的固件。术语“电路”、“组件”或“模块”还可以包括微处理器、专用集成电路和处理器,例如,由固件和/或软件配置的执行指令的读取和执行的多核通用处理单元的核。(多个)处理器可以由从存储器(例如ram、rom、固件和/或大容量存储设备)加载的指令来配置,指令体现可操作为配置处理器以执行(多个)功能的逻辑。

在其中电路包括硬件和软件的组合的示例实施例中,实现者可以编写体现逻辑的源代码,该源代码随后被编译成可以由硬件执行的机器可读代码。由于本领域技术人员可以理解,现有技术已经发展到硬件实现的功能或软件实现的功能之间几乎没有差异的程度,因此选择硬件与软件以实现本文中描述的功能仅仅是设计选择。换言之,由于本领域技术人员可以理解,软件处理可以变换为等效的硬件结构,并且硬件结构本身可以变换为等效的软件处理,所以硬件实现与软件实现的选择留给实现者。

尽管用特定于结构特征和/或动作的语言描述了本主题,但应当理解,所附权利要求中限定的主题不必限于上述具体特征或动作。相反,上述具体特征和动作被公开作为实现权利要求的示例,并且其他等效特征和动作旨在落入权利要求的范围内。

提供对这些方面的先前描述,以使得本领域技术人员能够制作或使用这些方面。对于本领域技术人员来说,对这些方面的各种修改将是容易想到的,并且在不脱离本公开的范围的情况下,本文中定义的一般原理可以应用于其他方面。因此,本公开不旨在限于本文所示的方面,而是要被赋予与由所附权利要求限定的原理和新颖特征一致的可能的最宽范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1