专利名称:话音输入的预测性音频预录制的制作方法
技术领域:
本说明书总体上涉及搜索引擎。
背景技术:
由于因特网上可获得的信息量已经急剧增长,用户在很多时候难以形成有效的搜 索查询来定位特定的相关信息。近年来,搜索引擎提供商之间的竞争已经导致搜索引擎算法以及用于接收查询和显示搜索结果的用户界面的加速演进。可以使用各种机制向搜索引擎提供查询。例如,用户可以使用计算设备上的键盘向搜索框键入查询项,并且可以随后将该查询项提交给搜索引擎。用户可以通过拖动地图而隐式地定义查询,以获得地图的显示部分上存在的兴趣点的注解。而且,当使用具有小键盘或者虚拟键盘的移动设备(例如,智能电话、音乐播放器或者平板式计算机)时,用户可以向麦克风说出查询项。
发明内容
总体上,本说明书中描述的主题的一个创新方面可以实现为一种方法,包括动作当预测用户可能发起话音输入时在移动设备上发起背景音频录制,即使该移动设备被锁定或者处于休眠模式。通过在预测用户可能发起话音输入时而不是等到用户实际发起话音输入时发起背景音频录制,避免了话音输入的前部截断,并且提高了语音识别精度。此外,预测音频预录制节省了移动设备的电池寿命,并且允许在不适用连续录音缓冲的情况下捕获与输入音频。总体上,本说明书中描述的主题的另一创新方面可以实现为一种方法,包括动作建立指示移动设备状态的状态数据以及由移动设备的一个或多个传感器感测到的传感器数据以作为输入数据;向输入数据应用规则或者概率模型;基于向输入数据应用规则或者概率模型而推断移动设备的用户可能发起话音输入;以及响应于推断用户可能发起话音输入而调用移动设备的一个或多个功能。此方面的其他实施例包括对应的系统、设备和编码在计算机存储设备上被配置为执行该方法的动作的计算机程序。这些以及其他实施例每个都可以可选地包括以下一个或多个特征。例如,调用移动设备的一个或多个功能可以进一步包括启动背景音频录制;状态数据可以包括指示移动设备的显示器是被打开还是关闭的数据、指示移动设备是在锁定模式还是未锁定模式运行的数据、指示在移动设备上执行的一个或多个应用的数据、指示话音搜索应用是否正在移动设备上执行的数据、指示用户所选择的字段是否被允许话音文本输入的数据或者指示用户是否正在操作移动设备的输入机制的数据;状态数据可以包括指示移动设备的当前状态或者近期状态的数据;传感器数据可以包括由移动设备的小键盘传感器感测到的数据、由移动设备的位置确定传感器感测到的数据、由移动设备的加速计感测到的数据、由移动设备的磁力计感测到的数据、由移动设备的光传感器感测到的数据、由移动设备的近距离传感器感测到的数据、由移动设备的电容传感器感测到的数据或者由移动设备的触摸传感器感测到的数据;动作可以包括建立传感器数据作为输入数据,这可以包括建立由移动设备的第一传感器感测到的数据作为输入数据,并且调用移动设备的一个或多个功能可以包括响应于推断用户可能发起话音输入而激活移动设备的第二传感器;动作还可以包括建立状态数据、由移动设备的第一传感器感测到的数据以及由移动设备的第二传感器感测到的数据作为附加输入数据,向附加输入数据应用附加规则或者附加概率模型,基于向附加输入数据应用附加规则或附加概率模型而推断用户仍然可能发起话音输入;以及响应于推断用户仍然可能发起话音输入而启动背景音频录制;向输入数据应用规则或概率模型可以包括确定与输入数据相关联的得分,并且推断用户可能发起话音输入可以包括确定与输入数据相关联的得分满足预定阈值;向输入数据应用规则或概率模型可以包括向输入数据应用规则;向输入数据应用规则或概率模型可以包括向输入数据应用概率模 型;动作可以包括基于向输入数据应用规则或概率模型而推断不清楚用户是否可能发起话音输入,响应于推断不清楚用户是否可能发起话音输入而指示移动设备收集附加状态数据或者附加传感器数据,以及向输入数据和附加状态数据或附加传感器数据应用规则或概率模型,其中推断用户可能发起话音输入进一步基于向输入数据以及附加状态数据或附加传感器数据应用规则或者概率模型;动作可以包括使用历史状态数据或者历史传感器数据来生成规则或者训练概率模型;推断用户可能发起话音输入进一步可以包括由移动设备推断用户可能发起话音输入;推断用户可能发起话音输入可以包括由服务器推断用户可能发起话音输入;和/或动作可以包括在移动设备与服务器之间传送音频信号和持续时间数据,其中持续时间数据指示在用户开始说话之前录制的音频信号中编码的背景音频录制。本说明书中描述的主题的一个或多个实施例的细节在附图和下文描述中记载。通过说明书、附图和权利要求,主题的其他潜在特征、方面和优点将变得明显。
图I和图3是用于话音输入的音频预录制的框图。图2是一个示例过程的流程图。相似的编号始终表示对应的部分。
具体实施例方式图I是说明用于话音输入的预测音频预录制的框图。具体地,图I示出了一个系统100,包括属于用户102 ( “Jim”)的移动客户端通信设备101、属于用户105 ( “Bob”)的移动客户端通信设备104以及服务器106。移动设备101和104通过一个或多个网络107 (示为网络107a和107b)连接至服务器106。网络107是诸如内网或者蜂窝电话网络的专用网络、诸如因特网的公共网络或其某些组合。图I还示出了设备101与服务器106之间在时序状态“a”和“b”中的第一示例交互以及设备104与服务器106之间在时序状态“i”到“V”中的第二示例交互。起初,说明书中使用的“项”(或“查询项”)包括一个或多个完整的或部分的单词、字符或者字符串;“查询搜索”包括当用户请求搜索引擎执行搜索时提交给搜索引擎的一个或多个查询项。项可以由用户使用小键盘键入,或者在话音查询的情况下,用户说出或者以其他方式提供话音输入,话音输入在被提交给搜索引擎之前由语音识别引擎转录。除其他之外,搜索的“结果”(或者“搜索结果”)包括同一资源标识符(“URI”),其指示被搜索引擎确定为响应于搜索查询的资源。搜索结果可以包括其他内容,诸如相应资源的标题、预览图像、用户排名、地图或方向、描述,或者已经从对应资源中被自动或手动提取或以其他方式与其关联的文本段。在描述的示例中,移动客户端通信设备101和104是移动电话,其包括允许各自用户发起话音输入的功能。例如,移动设备101和104可以执行这样的应用,该应用显示搜索·框,并且在检测到用户选择物理的“话音搜索”按钮或者用户界面“话音搜索”控件之后通过麦克风进行录音,生成音频信号,并且将音频信号提交给语音识别引擎或者搜索引擎。在其他示例中,移动客户端通信设备101和104是平板式计算机、膝上型计算机、个人数字助理器(PDA)、移动音频播放器、全球定位系统(GPS)接收器或者包括一个或多个处理器和一个或多个麦克风等的其他设备。服务器106可被实现为一个或多个计算设备,其包括一个或多个处理器109 ;语音识别引擎110,用于处理针对搜索引擎111的话音查询的;规则或概率模型引擎112 (例如,规则引擎、概率模型引擎或其任意组合),用于向输入数据应用规则或概率模型以推断(或以其他方式确定)是否应当调用移动客户端通信设备的一个或多个功能。推断例如可以指示用户要开始说话的概率高于预定阈值。服务器106还存储与设备101和104和/或其他移动客户端通信设备有关的历史数据114。例如,历史数据114可以存储先前已由用户(例如,用户102或105,或者其他用户)提交的过去的输入数据,以及该过去的输入数据是否导致用户可能发起话音输入的推断的指示。在用户选择提供对此类信息访问的实现中,历史数据114中的记录可以由用户102或105的用户标识指示,例如姓名、电话号码或者网际协议(IP)地址。例如,可以跟踪特定用户的行为以确定该用户何时可能发起话音输入。在某些实现中,历史数据114包括跟踪用户群组或族群的动作的记录,用以确定指示话音输入发起的典型用户情境。规则或模型可以根据这些情境被开发,并且可以在确定个体用户是否可能发起话音输入时被应用于输入数据。尽管语音识别引擎110、搜索引擎111以及规则或概率模型引擎112被示为服务器106的部件,但是在其他示例实现中,这些引擎可以整体或者部分地被实现在另一设备上,例如在移动设备101或移动设备104上。例如,规则或概率模型引擎112可以在移动设备101或移动设备104上运行,以通过最小化网络通信来降低电池消耗。移动设备101或者移动设备104可以包含静态预先建立的概率模型,或者可由服务器有时更新并且上载到移动设备101或者移动设备104的概率模型。移动设备101或者移动设备104还可以存储训练数据,并且将其定期发送给服务器以允许服务器更新概率模型。图I以时序状态“a”和“b”示出了在设备101与服务器106之间发生的第一示例交互。在此第一示例交互中,用户102(“Jim”)将移动设备101放在其口袋内,并且正在使用运行于移动设备101上的音乐播放器应用收听音乐。在此第一示例交互中,用户102不打算发起话音输入。在态“a”,与移动设备101有关的数据105 (在此说明书中被称为“输入数据”)被获取、生成、选择、更新、接收或以其他方式建立。例如,输入数据115可以是指示移动设备101状态的状态数据,和/或由移动设备101的一个或多个传感器感测到的未处理或已处理传感器数据。在图I中,输入数据115包括设备状态数据,其指示移动设备101正运行于“锁定”软件状态中并且正在运行音乐播放器应用;以及传感器数据,其指示移动设备101正在移动中(例如,由加速计感测)并且没有被触摸(例如,由电容传感器或者触摸传感器感测)。输入数据可以被持续地获取或更新,或者其可以基于信号(例如,来自服务器105的开始建立输入数据的信号)的接收而被获取或更新。在另一示例中,输入数据可以基于事件的发生(例如,时间的经过,或者在检测到移动设备101已经被开机或者已经开始移动之后)而被获取。在状态“a”针对移动设备101而建立的输入数据115可以包括在特定时间可获得的所有设备状态数据和传感器数据,或者可获得的设备状态数据和传感器数据的某子集。如果设备包括在特定时刻没有被激活或者没有在生成数据的传感器(例如为了节电),获取传感器数据可以包括从激活的传感器或其某子集收集数据,和/或激活被解激活的传感器并且从其收集数据。一旦被获取,输入数据115通过网络107a被传送给服务器106。使用规则或概率模型112,服务器106向输入数据115分别应用规则或者概率模型,以推断用户是否可能发起话音输入。向输入数据115应用规则或概率模型的结果可以指示用户可能发起话音输入(例如,可能性满足预定的或者动态定义的阈值),用户不可能发起话音输入(例如,可能性得分不满足预定的或者动态定义的阈值),或者不清楚用户是否可能发起话音输入(例如,无法基于给定的输入集确定可能性得分,或者可能性得分落入上限阈值和下限阈值之间)。在此第一示例交互中,因为用户102没有触摸移动设备101、音乐播放器正在执行、移动设备101正在移动、移动设备101处于锁定状态或者给予设备状态数据和传感器数据的任何加权或未加权组合,规则或概率模型112确定用户不可能发起话音输入。输入数据和指示推断结果的数据被存储在服务器106上作为历史数据114,以用于生成或改变规则或者训练将由规则或概率模型引擎112使用的模型。基于此推断,服务器106在状态“b”向移动设备101传送消息116,向移动设备101指示用户不可能发起话音输入,和/或不进行预测性音频预录制。在某些实现中,消息116可以包括对接收自移动设备101的数据确认,或者如果服务器已经确定用户不可能发起话音输入,则服务器106可以不以任何方式进行响应。对输入数据的收集以及对用户是否想要发起话音输入的推断可以发生一次,可以重复特定的次数或者以特定间隔重复,或者可以重复直到发生预定事件(例如,直到电池耗尽或者移动设备停止移动)。如果在状态“b”之后用户102不想发起话音输入(即,如果推断是“否定”),可以检测移动设备101的附加移动、触摸或状态改变,并且指示这些附加移动、触摸或状态改变的数据可以由规则或概率模型引擎112用来推断用户102实际上想要发起话音输入,或者调解规则或者训练模型以更好地与用户意图匹配。因为尽管具有预测性预录音能力但是用户可能不得不手动发起话音输入,用户界面可以包括用于显式调用话音输入的按钮或控件。然而,一旦预测性预录音已经开始,该按钮或控件可以被移除或者变灰以便暂时禁用手动发起能力。备选地,对控件的选择可以导致预录音停止,或者可以禁用预测性预录音功倉泛。图I还以时序状态“i”到“V”示出了发生在设备104与服务器106之间的第二示例交互。在此第二示例交互中,用户105( “Bob”)正在将他的移动设备104举到他的耳边或嘴边以发起话音输入。在状态“i”,与移动设备104有关的输入数据117被建立。例如,输入数据117包括指示浏览器应用正在移动设备104上运行以及指示移动设备104在“未锁定”软件状态中运行的数据。输入数据117进一步包括指示移动设备104正在移动的传感器数据(例如,由加速计感测)。输入数据117可以持续地获取,可以基于信号的接收而被获取,或者可以 基于事件的发生而被获取。输入数据117通过网络107b被传送给服务器106。使用规则或概率模型引擎112,服务器106向输入数据117分别应用规则或者概率模型,以推断用户是否可能发起话音输入。在此第二示例交互中,因为移动设备104正在移动、移动设备104以未锁定状态运行或者基于设备状态数据和传感器数据的任何加权或未加权组合,规则或概率模型可以确定不清楚用户是否可能发起话音输入。在某些实现中,除了输入数据117,服务器106在确定用户是否可能发起话音输入时还考虑外部数据。例如,服务器106可以将时间或日期与用户105的典型行为(例如,在历史数据114中被跟踪)进行比较。为了更明确地建立可能性,规则或概率模型引擎112继而可以标识移动设备104已使用或未使用功能,并且可以传送一个消息以调用移动设备104的特定功能,该功能可能有助于规则或概率模型引擎112推断用户是否可能发起话音输入。例如,规则或概率模型引擎112可以确定移动设备104包括电容传感器,并且基于输入数据117中不存在电容传感器数据而确定电容传感器未被激活或者电容传感器数据没有作为输入数据被获取。如果规则或概率模型引擎112确定没有移动设备104的附加功能是可用的,规则或概率模型引擎112可以利用任何可用的输入数据来生成“最佳猜测”推断。基于不清楚用户105是否将发起话音输入的推断以及移动设备104有能力生成可能有助于这种推断的精确性的电容传感器数据,服务器106向移动设备104传送消息119,以激活电容传感器。在状态“iii”,基于接收到消息119,移动设备104激活电容传感器,建立电容传感器数据(“检测到触摸”)作为更新输入数据,并且向服务器106传送包括电容传感器数据的消息120。消息120还可以包括其他数据,包括输入数据117或者更新的设备状态数据或传感器数据。当接收到消息120时,服务器106向输入数据应用相同或者不同的或概率模型,以推断用户是否可能或者是否仍然可能发起话音输入。例如,基于电容传感器数据的接收,规则或概率模型引擎112可以选择和使用利用电容器传感器数据作为输入数据的规则或概
率模型。
因为电容传感器数据只是检测到了触摸,或者基于设备状态数据和包括电容传感器数据在内的传感器数据的任何加权或未加权组合,规则或概率模型112确定用户可能发起话音输入。输入数据和指示推断输出的数据被存储在服务器106上作为历史数据114,以用于生成或改变规则或者训练由规则或概率模型引擎112使用的模型。在状态“iv”,基于此推断,服务器106向移动设备104传送消息121,向移动设备104指示用户可能发起话音输入,和/或应当开始对音频的预测性录制。对输入数据的收集以及对用户是否想要发起话音输入的推断可以发生一次,可以重复特定的次数或者以特定间隔重复,可以重复直到发生预定事件,或者可以重复直到第N次确定用户可能发起用户输入。移动设备104处理消息121,并且作为响应发起预测性录音,这例如是通过发起移动设备104的录音功能,该录音功能录制用户105说出的话以及在说话之前、期间或之后出现的背景音频。在此示例中,预测性录音使得移动设备104录制用户作为话音输入而说出的话122 “方向”,以及在用户说出话语122之前出现的背景音频的短暂(例如,两秒)部 分。话语122和背景音频的部分由移动设备104转换为音频信号124,它从移动设备104被传送给服务器106。除了音频信号124之外,可以向服务器106传送其他信息,诸如由移动设备104生成的音频信号124的候选转录,或者指示在用户开始说话之前被录制的背景音频录音的持续时间的数据。在某些实现中,移动设备104还传送可以为语音识别引擎110提供与音频信号124相关联的上下文的信息。例如,移动设备104可以提供浏览器的内容或者浏览器内容的URI (例如,用于确定最常见的项、主标题或者其他内容信息)、用户的位置(例如,使用内置导航传感器被确定)或者估计的用户速度(例如,用户是乘车还是步行,等等)。服务器使用语音识别引擎110生成音频信号124的一个或多个转录,并且使用搜索引擎111标识与该转录相关的资源。在其他实现中,语音识别引擎110、搜索引擎111或者规则或概率模型引擎112的全部或部分功能可以由移动设备104执行。如上文示例,与例如需要通过按压按钮发起话音输入而要求用户显式发起话音输入的系统相比,系统100至少可以实现三个优点。对于第一个优点,语音识别被用于转录在例如各种有噪声环境中输入的话,例如当用户在喧闹的房间(例如,咖啡馆)中、走在街上或者存在广播或电视的情况下输入的话。为了过滤该噪声,某些降噪算法要求来自该环境的、没有用户语音的音频样本。通过在用户发起话音输入之前(例如,在用户按压按钮之前)预测性地预先录音,这种背景录音变得可用于降噪算法,从而改善识别精度。对于第二个优点,当用户例如通过在已经开始说话之后按压按钮或者在他们结束说话之前释放按钮而发起话音输入时通常是不精确的。预测性录音更好地确保话音输入的开始不被丢失,并且记录和转录用户的所有话,这再次改善了识别精度。对于第三个优点,某些移动设备在用户显式地发起话音输入的时刻与声音子系统被启动和实际录音开始的时刻之间具有明显的延迟。通过预测性地预先录音,识别精度将被改善,因为该延迟的影响可以被解决和克服。与持续录音以便在用户开始输入之前捕获音频的系统相比,系统100也提供了附加的优点。特别地,系统不需要移动设备101和104持续地运行将消耗电池并且缩短移动设备电池续航时间的麦克风预放大器、模数转换器(ADC)以及处理器电路。因此,除了改进的识别精度之外,系统10提供了移动设备101和104的延长电池续航时间和增强的总体用户体验。图2示出了一个示例性过程200。简而言之,过程200包括建立指示移动设备状态的状态数据以及由移动设备的一个或多个传感器感测到的传感器数据以作为输入数据;向输入数据应用规则或者概率模型;基于向输入数据应用规则或者概率模型而推断移动设备的用户可能发起话音输入;以及响应于推断用户可能发起话音输入而调用移动设备的一个或多个功能。更具体地,当过程200开始(201)时,建立指示移动设备状态的数据和由移动设备的一个或多个传感器感测到的数据以作为输入数据(202)。输入数据可以被持续地获取(例如,接收或生成),或者可以基于从服务器接收到开始获取输入数据的信号而被获取。在另一示例中,输入数据可以基于事件的发生(例如,时间的经过)而被获取,或者在检测到移动设备已经被开机或者开始移动之后被获取。 指示移动设备状态的数据以及由移动设备的传感器感测到的数据可以包括未处理数据和/或已处理数据。例如,数据可以包括传感器读数(例如,由加速计输出的数值),或者数值的有意义的解释(例如,对该数值指示或表示什么的计算机生成的文本描述)。此夕卜,指示移动设备状态的数据可以包括指示当前状态和/或近期状态的数据,并且由传感器感测到的数据可以包括当前或近期数据。简略参考图3,指示移动设备状态的数据(S卩,数据301)可以包括指示移动设备的显示器是打开还是关闭的数据302,或者指示移动设备是在锁定模式还是未锁定模式中运行的数据304。附加地或备选地,数据可以包括指示在移动设备上执行的一个或多个应用的数据305、指示话音搜索应用是否正在移动设备上执行的数据306、指示由移动设备的用户选择的字段是否支持话音文本输入的数据307、和/或指示移动设备的用户是否正在操作移动设备的输入机制(例如,在小键盘上键入,或者操作鼠标或轨迹球)的数据309。在某些实现中,如果数据305指示两个或更多应用正在移动设备上执行,该数据可以包括那个应用目前是活跃的指示,或者哪个应用在移动设备的显示区域的顶层的指示。设备状态数据可以包括指示移动设备的一个或多个状态的任何其他数据310。使用规则或模型324,设备状态数据301可以被规则引擎或者概率模型引擎用于确定用户是否已经激活或者正在激活指示将要到来的话音输入的软件,并且基于此确定提供推断325。此外,由移动设备的一个或多个传感器感测到的数据(即,数据311)可以包括有移动设备的小键盘传感器所感测到的数据312(即,物理“话音搜索”按钮是否被按压)、由移动设备的位置确定传感器感测到的数据314 (例如,由GPS、惯性导航、航位推测或者蜂窝网络或Wi-Fi三角测量模块确定的用户是否离家、移动或者在途中)、由移动设备的加速计感测到的数据315、由移动设备的磁力计感测到的数据316( S卩,设备相对于地的朝向)、由移动设备的光传感器感测到的数据317 (即,设备是否在用户的口袋中)、由移动设备的近距离传感器感测到的数据319、由移动设备的电容传感器感测到的数据320、由移动设备的触摸传感器感测到的数据321 (即,用户是否正握着移动设备)和/或从任何其他传感器获取的数据322。使用规则或模型324,传感器数据可以由规则引擎或者概率模型引擎用来确定设备处于指示将要到来的话音输入的物理位置或者朝向,并且基于此确定提供推断325。
返回图2,规则或概率模型被应用于输入数据(204),以生成用户是否可能发起话音输入的推断。在基于规则的方法中,可以向输入数据应用规则以输出用户是否可能发起话音输入的指示,其中传感器数据和设备状态数据的不同组合将提供不同的结果。例如,移动设备可以具有物理搜索按钮,其通常需要两秒钟按压来发起话音搜索。规则可以规定当电容传感器指示移动设备正被握住并且设备处于未锁定状态时,只要物理搜索按钮被按下预测性预录音就可以开始,而无需等待经过两秒钟的时间。在另一示例中,规则可以规定当屏幕是打开并且移动设备处于可以利用一次按钮按压或者一个姿态来触发话音搜索的状态时,例如当话音搜索框在屏幕上可见时或者在话音输入“输入方法编辑器(me)”在屏幕上可见时,预测性的预录音可以开始。如果触摸传感器可用,可以使用触摸传感器数据来检测到用户正握住设备,在这种情况下可以启动滚动音频缓冲区。同样或者作为替代,上文描述的任何以及所有数据类型可以被用作对概率模型的输入。然而,取代针对输入数据的每个可能组合而定义特定的结果,概率模型可以生成针对输入数据的每个项的得分,并且可以在公式(I)中记载的条件得以满足时使用这些得分发 起预测性预录音P(话音输入I设备状态数据,传感器数据)>阈值 (I)概率模型可以使用朴素贝叶斯方法、逻辑回归、支持向量机(SVM)、高斯混合模型或者贝叶斯网络。可以基于从大量用户使用的移动设备收集到的输入数据和相应的推断(例如,推断325)来训练这些模型。而且,输入数据和相应的推断可以从个体用户的设备收集,并且可以由设备上的软件用于调整概率模型中的权重,以便反映用户的实际行为。在一个示例中,当观测到用户更有可能在以特定朝向握住设备的时候发起话音输入时,可以提高模型中针对该朝向的权重。以此方式,可以使用假阴(例如,推断用户可能发起话音输入,但是用户没有说话并且语音识别引擎返回空识别结果)和假阳(例如,推断用户不可能发起话音输入,但是用户开始说话并且移动设备没有开始录制预先输入的音频)二者作为训练样本来细化分类器。基于向输入数据应用规则或概率模型,推断用户是否可能发起话音输入(206)。推断用户可能发起话音输入可以包括确定与输入数据相关联的得分满足预定阈值。响应于推断用户可能发起话音输入,可以调用移动设备的一个或多个功能(208),从而结束过程200 (210)。例如,调用移动设备的功能可以包括在用户按压按钮之前开始对背景音频的录音。背景音频可以被用作语音识别引擎的输入,用以估计用于噪声抑制的噪声模型和/或估计用于语音端点检测的噪声模型和/或水平。取代开始预测性的预录音或者除此之外,调用移动设备的功能可以包括响应于推断用户可能发起话音输入或者响应于推断不清楚用户是否可能发起话音输入而激活移动设备的传感器。例如,规则或概率模型引擎可以确定移动设备包括可能有助于更加明确地推断用户是否可能发起话音输入的传感器,并且如果该传感器的传感器数据未被包括为输入数据的一部分,则可以向移动设备发送信号以激活该传感器。已经描述了多个实现。然而将会理解可以进行各种修改而不脱离本公开的精神和范围。例如,可以对步骤重新排序、添加步骤或者删除步骤而是用上文示出的各种形式的流。相应地,其他实现也在所附权利要求的范围内。
本说明书中描述的主题和功能性操作的实施方式可以在数字电子电路中实现,或者在计算机软件、固件或硬件中实现,该计算机软件、固件或硬件包括本说明书中公开的结构及其等同结构、或是它们的一个或多个的组合。本说明书中描述的主题的实施方式可以实现为一个或多个计算机程序产品,也即,在计算机可读介质上编码的、以便由数据处理装置执行或控制数据处理装置操作的一个或多个计算机程序指令模块。计算机可读介质可以是机器可读的存储设备、机器可读的存储衬底、存储设备、实现计算机可读的传播信号的组合、或者它们中的一个或多个的结合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,例如包括可编程处理器、计算机,或者多个处理器或计算机。除了硬件之外,该装置可以包括为考虑中的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境,或者它们中一个或多个的结合的代码。传播信号是人工产生的信号,例如,机器产生的电信号、光信号或者电磁信号,生成该信号以对信息进行编码,以便传输到适当的接收器装置。计算机程序(也称为程序、软件、软件应用、脚本或代码)可以由任意形式的编程语言编写,包括编译语言或解释语言,说明性语言或过程语言,并且该计算机程序可以任意形式部署,包括部署为单独的程序或模块、组件、子例程,或者适于在计算环境中使用的其 他单元。计算机程序无需对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、可以存储在专门用于考虑中的程序的单个文件中,或者存储在多个协同文件中(例如,存储一个或多个模块、子程序,或代码部分的文件)。可以将计算机程序部署为在一个计算机上执行,或者将其部署为在位于一个地点的多个计算机上执行或跨过多个地点分布且通过通信网络互连的多个计算机上执行。本说明书中描述的处理和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,用于通过对输入数据进行操作以及产生输出来执行功能。该处理和逻辑流程还可以由例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)的专用逻辑电路执行,并且也可以将装置实现为所述专用逻辑电路。适于计算机程序执行的处理器例如包括通用和专用处理器两者、以及任意类型的数字计算机的任意一个或多个处理器。通常,处理器将从只读存储器或随机访问存储器或两者处接收指令和数据。计算机的基本元件是用于执行指令的处理器以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个海量存储设备,或被操作性地耦合为从所述用于存储数据的一个或多个海量存储设备接收数据、向其传送数据、或者进行两者,该海量存储设备例如磁盘、磁光盘、或光盘。然而,计算机不必一定具有这样的设备。而且,计算机可以嵌入在其他设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、全球定位系统(GPS)接收器、或者便携式存储设备(例如,通用串行总线(USB)闪存驱动),这仅是几例。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,例如包括半导体存储设备,如EPROM、EEPROM和闪存设备;磁盘,如内部硬盘或可移动硬盘;磁光盘;以及⑶-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或是包括在专用逻辑电路中。为了提供与用户的交互,本说明书中描述的主题的实施方式可以在具有用于向用户显示信息的显示设备以及用户可以通过其向计算机提供输入的键盘和指点设备的计算机上实现,其中显示设备例如CRT (阴极射线管)或者IXD (液晶显示器)监视器,指点设备例如鼠标或者轨迹球。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感观反馈,例如视觉反馈、声觉反馈、或者触觉反馈;并且可以接收来自用户的任意形式的输入,包括声音、语音或触觉输入。本说明书中描述的主题的实施方式可以实现在包括后端组件的计算系统中,例如数据服务器;或实现在包括中间件组件的计算系统中,例如应用服务器;或实现在包括前端组件的计算系统中,例如具有图形用户界面或者Web浏览器的客户端计算机,用户通过该图形用户界面或Web浏览器可以与本说明书中描述的主题的实现进行交互;或实现在一个或多个这样的后端、中间件、或前端组件的任意结合中。系统组件可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络)。计算系统可以包括客户端和服务器。客户端和服务器一般相互远离,并且通常通过通信网络进行交互。客户端和服务器的关系是借助于在各自计算机上运行的、彼此具有客户端-服务器关系的计算机程序得到的。·
尽管本说明书包含很多具体细节,但是不应将其理解为是对本发明的范围或者所要求保护内容的限制,而应当理解为是本发明具体实施方式
的特定特征的描述。本说明书中描述的在各个实施方式的上下文中的某些特征也可以在单个实施方式中结合实现。相反,在单个实施方式上下文中描述的各种特征也可以分别实现在多个实施方式中或者任意适当的子组合中。而且,尽管上文可能将特征描述为在特定的组合中操作,甚至初始也是这样要求保护的,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以针对子组合或组合的变形。类似地,尽管在附图中以特定的顺序描述操作,但是不应将其理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或是要求执行全部所示的操作以得到期望的结果。在特定环境中,多任务和并行处理可能是有利的。而且,在上述实施方式中多个系统组件的分离不应被理解为在所有实施方式中需要这些操作,应当将其理解为所描述的程序组件和系统通常可以在单个软件产品中集成在一起,或是被打包到多个软件产品中。在提及HTML文件的每个实例中,可以替代以其他文件类型或者格式。例如,一个HTML文件可以被替代为XML、JS0N、一般文本或者其他类型的文件。而且,在提及表或者哈希表的情况下,可以使用其他数据结构(诸如表单、关系数据库或者结构化文件)。由此,已经描述了特定的实施例。其他实施例也在所附权利要求的范围内。例如,在权利要求中记载的动作可以按照不同顺序执行并且仍然实现期望的结果。
权利要求
1.一种系统,包括 一个或多个计算机;以及 耦合至所述一个或多个计算机的计算机可读介质,具有存储于其上的指令,当所述执行由所述一个或多个计算机执行时使所述一个或多个计算机执行操作,包括 建立指示移动设备的状态的状态数据以及由所述移动设备的一个或多个传感器感测到的传感器数据作为输入数据; 向所述输入数据应用规则或者概率模型; 基于向所述输入数据应用所述规则或者所述概率模型而推断所述移动设备的用户可能发起话音输入;以及 响应于推断所述用户可能发起话音输入而调用所述移动设备的一个或多个功能。
2.根据权利要求I所述的系统,其中调用所述移动设备的一个或多个功能进一步包括启动背景音频录制。
3.根据权利要求I所述的系统,其中所述状态数据包括指示所述移动设备的显示器是打开还是关闭的数据、指示所述移动设备正在锁定模式还是未锁定模式运行的数据、指示正在所述移动设备上执行的一个或多个应用的数据、指示话音搜索应用是否正在所述移动设备上执行的数据、指示所述用户所选择的字段是否被允许话音文本输入的数据或者指示所述用户是否正在操作所述移动设备的输入机制的数据。
4.根据权利要求I所述的系统,其中所述状态数据包括指示所述移动设备的当前状态或者近期状态的数据。
5.根据权利要求I所述的系统,其中所述传感器数据包括由所述移动设备的小键盘传感器感测到的数据、由所述移动设备的位置确定传感器感测到的数据、由所述移动设备的加速计感测到的数据、由所述移动设备的磁力计感测到的数据、由所述移动设备的光传感器感测到的数据、由所述移动设备的近距离传感器感测到的数据、由所述移动设备的电容传感器感测到的数据或者由所述移动设备的触摸传感器感测到的数据。
6.根据权利要求I所述的系统,其中 建立传感器数据作为输入数据进一步包括建立由所述移动设备的第一传感器感测到的数据作为所述输入数据,以及 调用所述移动设备的一个或多个功能进一步包括响应于推断所述用户可能发起话音输入而激活所述移动设备的第二传感器。
7.根据权利要求6所述的系统,所述操作进一步包括 建立状态数据、由所述移动设备的所述第一传感器感测到的数据以及由所述移动设备的所述第二传感器感测到的数据作为附加输入数据; 向所述附加输入数据应用附加规则或者附加概率模型; 基于向所述附加输入数据应用所述附加规则或者所述附加概率模型而推断所述用户仍然可能发起话音输入;以及 响应于推断所述用户仍然可能发起话音输入而启动背景录音。
8.根据权利要求I所述的系统,其中 向所述输入数据应用所述规则或者所述概率模型进一步包括确定与所述输入数据相关联的得分;以及推断所述用户可能发起话音输入进一步包括确定与所述输入数据相关联的所述得分满足预定阈值。
9.根据权利要求I所述的系统,其中向所述输入数据应用所述规则或者所述概率模型进一步包括向所述输入数据应用规则。
10.根据权利要求I所述的系统,其中向所述输入数据应用所述规则或者所述概率模型进一步包括向所述输入数据应用概率模型。
11.根据权利要求I所述的系统,其中所述操作进一步包括 基于向所述输入数据应用所述规则或者所述概率模型而推断不清楚用户是否可能发起话音输入; 响应于推断不清楚所述用户是否可能发起话音输入而指示所述移动设备收集附加状态数据或者附加传感器数据;以及 向所述输入数据和所述附加状态数据或所述附加传感器数据应用所述规则或者所述概率模型, 其中推断所述用户可能发起话音输入进一步基于向所述输入数据和所述附加状态数据或所述附加传感器数据应用所述规则或者所述概率模型。
12.根据权利要求I所述的系统,其中所述操作进一步包括使用历史状态数据或者历史传感器数据生成所述规则或者训练所述概率模型。
13.根据权利要求I所述的系统,其中推断所述用户可能发起话音输入进一步包括由所述移动设备推断所述用户可能发起话音输入。
14.根据权利要求I所述的系统,其中推断所述用户可能发起话音输入进一步包括由服务器推断所述用户可能发起话音输入。
15.根据权利要求I所述的系统,其中所述操作进一步包括 在所述移动设备与服务器之间传送音频信号和持续时间数据,其中所述持续时间数据指示在所述用户开始说话之前录制的所述音频信号中编码的背景音频录制。
16.一种计算机实现的方法,包括 建立指示移动设备的状态的状态数据以及由所述移动设备的一个或多个传感器感测到的传感器数据作为输入数据; 向所述输入数据应用规则或者概率模型; 基于向所述输入数据应用所述规则或者所述概率模型而推断所述移动设备的用户可能发起话音输入;以及 响应于推断所述用户可能发起话音输入而调用所述移动设备的一个或多个功能。
17.根据权利要求16所述的方法,其中 建立传感器数据作为输入数据进一步包括建立由所述移动设备的第一传感器感测到的数据作为所述输入数据,以及 调用所述移动设备的一个或多个功能进一步包括响应于推断所述用户可能发起话音输入而激活所述移动设备的第二传感器。
18.根据权利要求17所述的方法,进一步包括 建立状态数据、由所述移动设备的所述第一传感器感测到的数据以及由所述移动设备的所述第二传感器感测到的数据作为附加输入数据;向所述附加输入数据应用附加规则或者附加概率模型; 基于向所述附加输入数据应用所述附加规则或者所述附加概率模型而推断所述用户仍然可能发起话音输入;以及 响应于推断所述用户仍然可能发起话音输入而启动背景录音。
19.根据权利要求16所述的方法,其中 向所述输入数据应用所述规则或者所述概率模型进一步包括确定与所述输入数据相关联的得分;以及 推断所述用户可能发起话音输入进一步包括确定与所述输入数据相关联的所述得分满足预定阈值。
20.一种编码有计算机程序的计算机存储介质,所述程序包括指令,当所述指令由一个或多个计算机执行时使所述一个或多个计算机执行操作,所述操作包括 建立指示移动设备的状态的状态数据以及由所述移动设备的一个或多个传感器感测到的传感器数据作为输入数据; 向所述输入数据应用规则或者概率模型; 基于向所述输入数据应用所述规则或者所述概率模型而推断所述移动设备的用户可能发起话音输入;以及 响应于推断所述用户可能发起话音输入而调用所述移动设备的一个或多个功能。
全文摘要
用于提供对话音输入的预测性音频预录制的方法、系统和设备,包括编码在计算机存储介质上的计算机程序。在一方面,一种方法包括建立指示移动设备状态的状态数据以及由移动设备的一个或多个传感器感测到的传感器数据以作为输入数据;向输入数据应用规则或者概率模型;基于向输入数据应用规则或者概率模型而推断移动设备的用户可能发起话音输入;以及响应于推断用户可能发起话音输入而调用移动设备的一个或多个功能。
文档编号H04M1/725GK102918493SQ201180016100
公开日2013年2月6日 申请日期2011年3月18日 优先权日2010年3月26日
发明者T·克里斯特詹森, M·I·劳埃德 申请人:谷歌公司