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

语音动作可发现性系统的制作方法

2021-10-29 21:06:00 来源:中国专利 TAG:语音 动作 日中 申请 专利申请

语音动作可发现性系统
1.分案说明
2.本技术属于申请日为2016年12月30日的中国发明专利申请201611259927.2的分案申请。
技术领域
3.本发明涉及语音动作,并且一个具体实现方式涉及配置语音动作并教育用户如何使用语音动作。


背景技术:

4.应用中的任务可包括在软件中限定的一个或多个活动,用户可与这些活动交互以执行某项工作。活动是控制任务的执行的生命周期的类,使得在任务中执行的多个活动可以允许用户执行该任务。在一些实现方式中,命令可与活动或关于活动的动作相关联,使得用户提交的命令可触发该活动或动作。可以触发特定的意图,以触发活动的开始及动作的执行。由此,为了触发活动的开始及动作的执行,用户必须了解用于引起与活动或动作对应的意图的、关联于活动或动作的命令。


技术实现要素:

5.本说明书描述了一种平台,其允许应用开发者为先前安装的软件应用配置新语音动作,并实现可发现性实例以通知用户如何使用所配置的语音动作。总体上,通过使用该平台,应用开发者可提交限定新语音动作的信息,其中该信息对应用指定新语音动作旨在触发的动作、用于触发该动作的触发词项,以及其中触发词项应对于触发应用中的该动作有效的场境。应用开发者还可提交限定用于新语音动作的可发现性实例的信息,使得应用的用户可被呈现有表示用户可如何触发该动作的合适可发现性实例。
6.由应用开发者提交的场境可指定当语音动作应对于触发应用中的该动作有效时用户装置的状态。装置状态可包括例如哪个应用正在前端(即,当前在装置的用户界面中处于活跃态)还是在后端(即,当前在装置的用户界面中隐藏不可见)操作,或者可包括关于应用的具体信息,诸如它们当前正在运行什么活动、运行中活动的状态等。
7.当应用开发者提交限定新语音动作的信息时,设计为服务或工具的平台可验证限定新语音动作的信息以确定新语音动作是否与应用兼容,或者另外地确定新语音动作是否与应用兼容,或者另外地确定新语音动作是否可以实现。如果新语音动作有效,则通过导入限定该新语音动作的信息,可为该语音动作创建称作意图且具有具体格式的无源数据结构的新实例。该意图可指定限定新语音动作的一些或全部信息,诸如应用、触发词项、响应于检测到触发词项要触发的活动或动作,以及对于触发词项触发该活动或动作所必需的场境。然后,可以为应用配置语音动作,使得语音动作变成对应用可用的语音动作,而无需对应用代码进行对支持该语音动作的额外改变。
8.一旦已经配置了语音动作,则操作用户装置的用户可提供语音输入。用户装置可
提交用于用户装置的场境信息,并且场境信息和语音输入转录可用于识别意图并触发所识别的意图。当意图被触发时,用于执行活动或动作的数据被确定,并被传输至用户装置以响应于语音输入而执行活动或动作。
9.例如,媒体播放器应用的应用开发者可限定新语音动作,用于使用触发词项“skip ahead(前跳)”以在一首歌曲中前跳一预定时间量。例如,应用开发者可限定新语音动作,用于在媒体播放器应用当前播放的一首歌曲中前跳30秒、60秒或一些其它预定时间量。应用开发者可指定当“skip ahead”语音动作应当启用时的场境。例如,应用开发者可指定,在媒体播放器应用在前端运行且处于使媒体播放器应用操作为音频播放器的模式时,“skip ahead”语音动作应仅使媒体播放器应用在一首歌曲中前跳预定时间量。在应用开发者已经配置了语音动作之后,已将媒体播放器应用预先安装在其用户装置上的用户可以提交语音输入“skip ahead”。用户装置可提交表示用户装置或者安装在用户装置上的应用的状态的场境信息,诸如表示媒体播放器应用正在前端运行且处于音频播放器模式的场境令信息。响应于接收语音输入“skip ahead”以及指定场境的信息,数据可被传输至用户装置,使得媒体播放器应用在媒体播放器应用当前播放的一首歌曲中前跳预定时间量。相反,如果语音输入确定为说“skip ahead”,但场境信息表示社交网络应用正在用户装置的前端运行,而不是媒体播放器应用在运行,则“skip ahead”语音动作可不具有任何效果,或者可导致在用户装置处执行不同操作。
10.因为应用开发者可为先前安装的应用配置任意数量的新语音动作,并且由于这些新语音动作可以在多个不同的场境中对于用户可用,所以该平台允许应用开发者限定可发现性实例,这些可发现性实例呈现给用户以通知用户在特定场境下的可用语音动作。当提交限定新语音动作的信息时,应用开发者可包括限定用于新语音动作的一个或多个可发现性实例的信息。可发现性实例可包括通知,诸如文本通知、图像通知、视频通知或音频通知,这些通知可呈现给软件应用的用户以告知用户语音动作在当前场境中可用,以及用户可如何触发新语音动作。
11.由应用开发者提交的限定可发现性实例的信息可被该平台接收,并用于生成限定可发现性实例的数据。在一些实现方式中,所生成的数据然后可被提供至安装有应用的用户装置,并被存储在相应的用户装置处。将所生成的数据存储在用户装置处可使用户装置能离线地提供可发现性实例。由此,如果客户端装置的用户在给定场境中请求可发现性实例,则用户装置能够确定该场境,并基于场境选择要提供的存储在用户装置处的可发现性实例,其中所选的可发现性实例对应于在当前场境中可触发的语音动作。
12.例如,当限定“skip ahead”语音动作时,应用开发者还可限定包括文本通知“try saying

skip ahead’(尝试说

前跳’)”的、用于“skip ahead”语音动作的可发现性实例。平台可生成限定可发现性实例的数据,并且可将所生成的数据传输至安装有媒体播放器应用的一个或多个用户装置。所生成的数据可存储在一个或多个用户装置处。随后,安装有媒体播放器的用户装置的用户可例如通过将包括“what voice commands can i say(我能说什么语音命令?)”的语音输入提供至用户装置,请求用于当前场境的可发现性实例。用户装置可将该语音输入解释为对可发现性实例的请求,并且可确定用于用户装置和媒体播放器应用的场境。基于确定场境与用于与“skip ahead”语音动作相关联的可发现性实例的场境相匹配,用于装置可访问用于可发现性实例的信息,并且在用户装置处提供包括可发现性实
例的文本“try saying

skip ahead
’”
的文本通知。在给定用户装置或媒体播放器应用的当前场境下,用户可依靠该可发现性实例确定用户装置可用的语音动作。
13.本说明书中描述的主题的创新方面可体现在执行操作的方法、系统和非易失性计算机可读存储装置中,这些方法、系统和装置执行操作,包括:通过语音动作系统接收数据,该数据指定触发软件应用执行新语音动作的触发词项和指定当能触发新语音动作时软件应用的状态的场境;通过语音动作系统,接收限定用于新语音动作的可发现性实例的数据,其中,限定可发现性实例的数据包括在软件应用的状态满足所指定的场境时,触发软件应用执行新语音动作的一个或多个触发词项;通过语音动作系统,从安装有软件应用的用户装置接收对用于软件应用的可发现性实例的请求;以及通过语音动作系统,并响应于所述请求,将限定可发现性实例的数据提供至用户装置,其中,用户装置被配置成至少基于限定可发现性实例的数据,在软件应用的状态满足所指定的场境时提供一个或多个触发词项的通知。
14.这些实施例和其它实施例均可选择性地包括下列特征中的一个或多个。在各种实例中,这些实施例和其它实施例均可选择性地包括的特征包括:通过语音动作系统,接收与能在用户装置处呈现为一个或多个触发词项的通知的内容对应的数据;以及通过语音动作系统,并响应于所述请求,将与所述内容对应的数据提供至用户装置,其中,所述用户装置被配置成至少基于与所述内容对应的数据,在所述软件应用的状态满足所指定的场境时将所述内容呈现为一个或多个触发词项的通知。在各种实例中,这些实施例和其它实施例均可选择性地包括的特征包括:通过语音动作系统,生成限定用于新语音动作的一个或多个独特候选可发现性实例的数据,其中,限定一个或多个独特候选可发现性实例中每个的数据包括一个或多个触发词项;通过语音动作系统,接收表示从一个或多个独特候选可发现性实例中选择特定候选可发现性实例的数据;以及通过语音动作系统,并响应于所述请求,将限定特定候选可发现性实例的数据提供至用户装置,其中,所述用户装置被配置成至少基于限定特定候选可发现性实例的数据,在软件应用的状态满足所指定的场境时提供与特定候选可发现性实例对应的一个或多个触发词项的通知。
15.在各种实例中,这些实施例和其它实施例均可选地包括的特征包括:通过语音动作系统,从安装有软件应用装置的用户装置接收表示软件应用的状态的数据;通过语音动作系统,并基于表示软件应用的状态的数据,确定软件应用的状态满足所指定的场境;以及通过语音动作系统,并响应于确定软件应用的状态满足所指定的场境,将限定可发现性实例的数据提供至用户装置,其中,所述用户装置被配置成至少基于限定可发现性实例的数据而接收可发现性实例,并响应于接收可发现性实例而提供一个或多个触发词项的通知。
16.在各种实例中,所指定的场境表示软件应用正执行指定活动;所指定的场境表示软件应用正执行的指定活动处于特定活动状态;所指定的场境表示软件应用正在安装有软件应用的用户装置的前端操作;所指定的场境表示软件应用正在安装有软件应用的用户装置的后端操作。
17.在各种实例中,这些实施例和其它实施例均可选地包括的特征包括:通过语音动作系统,接收指定(i)触发软件应用执行第二新语音动作的触发词项和(ii)所指定的场境的数据;通过语音动作系统,接收限定用于第二新语音动作的第二可发现性实例的数据,其中,限定第二可发现性实例的数据包括在软件应用的状态满足所指定的场境时触发软件应
用执行第二新语音动作的一个或多个触发词项;以及通过语音动作系统,并响应于所述请求,将限定第二可发现性实例的数据提供至用户装置,其中,所述用户装置被配置成至少基于限定第二可发现性实例的数据,在软件应用的状态满足所指定的场境时,提供触发软件应用执行新语音动作的一个或多个触发词项以及触发软件应用执行第二新语音动作的一个或多个触发词项的通知。
18.在各种实例中,响应于在用户装置处检测到请求触发软件应用执行语音动作的触发词项的通知的用户输入,确定软件应用的状态;响应于确定软件应用的状态已经变化,确定所述软件应用的状态;响应于确定软件应用在用户装置上启动,确定所述软件应用的状态;一个或多个触发词项的通知是文本通知、图像通知、视频通知或音频通知中的一种。在各种实例中,这些实施例和其它实施例均可选地包括的特征包括:在语音动作系统处将限定可发现性实例的数据存储在包括限定一个或多个其它可发现性实例的数据的数据库处,其中所述一个或多个其它可发现性实例中的至少一个是用于不同语音动作的可发现性实例。
19.在各个实例中,用户装置被配置成:确定软件应用的状态满足为两个或更多个不同语音动作中的每个指定的场境;识别为所述两个或更多个不同语音动作限定的可发现性实例,其中,每个可发现性实例均包括触发软件应用执行所述两个或更多个不同语音动作之一的一个或多个触发词项;选择可发现性实例的子集;以及提供包括在所述子集中的每个可发现性实例的一个或多个触发词项的通知。在各个实例中,选择可发现性实例的子集包括:将为所述两个或更多个不同语音动作限定的可发现性实例排名;以及至少基于所述排名选择可发现性实例的子集。在各个实例中,选择可发现性实例的子集包括:确定所述两个或更多个不同语音动作中的每个与为所述两个或更多个不同语音动作中的每个指定的场境的相关性;以及至少基于所确定的所述两个或更多个不同语音动作中的每个与为所述两个或更多个不同语音动作中的每个指定的场境的相关性,选择可发现性实例的子集。在各种实例中,选择可发现性实例的子集包括:在软件应用的状态满足为所述两个或更多个不同语音动作中的每个指定的场境时,访问表示在用户装置处的过去用户活动的信息;以及在软件应用的状态满足为所述两个或更多个不同语音动作中的每个指定的场境时,至少基于所访问的表示在用户装置处的过去用户活动的信息来选择可发现性实例的子集。
20.在附图和下面的描述中阐述了在本说明书中描述的主题的一个或多个实施例的细节。主题的其它可能特征、方面和优点将根据说明书、附图和权利要求变得显而易见。
附图说明
21.图1a至图1c示出了用于语音动作开发系统和服务器的示例性系统。
22.图2示出了用于使用语音动作开发系统和服务器生成用于语音动作的可发现性实例的示例性系统。
23.图3示出了用于提供用于语音动作的可发现性实例的示例性系统。
24.图4是与语音动作开发系统和服务器相关的示例性过程的流程图。
25.各个附图中相同的参考标号表示相同的元件。
具体实施方式
26.图1a示出了声音动作系统100的实例。声音动作系统100提供了平台和服务器,借此,应用开发者可为先前安装在其他用户的装置上的应用建立新声音动作。此后,已将应用安装在其装置上的应用用户可使用语音命令,以便使应用执行如由新语音动作指定的具体操作。语音动作系统100还可提供关于图1b和图1c进一步详细讨论的平台和服务器,借此,用户开发者可建立用于语音动作的可发现性实例。可发现性实例可提供给用户,以向用户通知可用的语音动作及如何能触发这些语音动作。
27.语音动作系统100从终端102a

102n接收限定由应用开发者101a

101n提交的新语音动作的数据,其中,新语音动作用于一个或多个不同的应用。声音动作系统100可确定每个新语音动作是否是有效语音动作。确定为有效的每个新语音动作可被导入以生成与新语音动作对应的意图,并且与新语音动作对应的意图可被存储在语音动作系统100的应用语音动作数据库110处。
28.例如,语音动作系统100可具有验证引擎,该验证引擎接收并验证限定新语音动作的数据。验证数据可包括确定限定语音动作的数据的格式是否符合要求、确定新语音动作是否与具体应用兼容,或者确定是否可基于从应用开发者101a

101n接收的数据来建立语音动作。语音动作系统100的指示引擎可接收限定新语音动作的验证数据,并且可导入该数据以生成与新语音动作对应的意图。该意图然后可被存储在应用语音动作数据库110中。
29.应用语音动作数据库110可存储与可在各种不同的软件应用内执行的活动或动作有关的语音动作。包括在应用语音动作数据库110中的语音动作可包括在建立应用时由应用开发者101a

101n提交的内置语音动作,以及在建立应用之后由应用开发者101a

101n提交的用于由应用支持的操作的语音动作。
30.语音动作还可包括默认由操作系统支持的特定于应用的语音动作。这些预支持的语音动作可以是能在应用中实现的而无需由应用开发者101a

101n提交至语音动作系统100的语音动作。例如,用于退出在前台运行的任务或活动的语音动作“退出应用(exit application)”可自动地用于任意应用,并且可被包括在用于每个应用的应用语音动作数据库110中,而应用开发者101a

101n无需将信息提交至语音动作系统100以限定“退出应用”语音动作。
31.除了应用语音动作数据库110之外,语音动作系统100可包括操作系统(os)语音动作数据库120,其存储与任意特定应用或场境无关的语音动作。例如,使装置进入锁定状态的“锁定手机(lock phone)”语音动作可以是在os语音动作数据库120中被指定为与特定应用无关的语音动作的语音动作,或者其为普遍可访问的,即,与在检测到“锁定装置(lock device)”语音动作时装置的状态无关。总体上,存储在os语音动作数据库120中的语音动作是不基于限定语音动作的应用开发者101a

101n而生成的语音动作,这是因为存储在os语音动作数据库120处的语音动作对于用户装置操作环境是通用的,并且不是由第三方应用开发者101a

101n生成的任意特定应用。
32.语音动作系统100使具有用户装置104的用户105可向他们的用户装置104提供口述语音输入,以使用户装置104或在他们的用户装置104上操作的应用执行动作。例如,用户装置104的用户105使媒体播放器应用在其用户装置104上运行,并且在媒体播放器应用在用户装置104的前端中运行并且正在以音频播放器模式使媒体播放器应用操作时,提供口
述输入“skip ahead”。
33.与口述输入相对应的音频数据和指定用户装置104的状态(包括在用户装置104上运行的应用的状态)的场境信息被传输至语音动作系统100。具体地,对于图1a中所示的实例,与语音输入“skip ahead”对应的音频数据被语音动作系统100的语音识别引擎130接收,并且表示用户装置104的状态的场境信息被语音动作系统100的场境分析引擎140接收。场境信息可表示媒体播放器应用正在用户装置104的前端运行、媒体播放器应用当前处于音频播放器模式,并且可表示与用户装置104及安装在用户装置104上的应用的状态有关的其它信息。
34.语音识别引擎130接收与语音输入对应的音频数据、生成语音输入的转录,并将语音输入的转录提供至语音动作选择器150。场境分析引擎140接收来自用户装置104的场境信息,并处理场境信息以确定相关的场境信息。例如,场境分析引擎140可分析场境信息,以识别安装在用户装置104上的应用,并且与这些应用中的每个相关的元数据可指定应用的可用语音动作和与确定在给定装置状态下可启动哪个语音动作相关的场境信息。在一些情况中,基于分析,场境分析引擎140可确定需要附加场境信息来识别在用户装置104的特定状态下,应启动哪个语音动作,并因此,场境分析引擎140可从用户装置140请求附加场境信息。场境分析引擎140将所处理的场境信息提前至语音动作选择器150。
35.例如,如图1a所示,语音识别引擎130可接收与语音输入“skip ahead”对应的音频数据,并且可获得语音输入的转录。场境分析引擎140从用户装置104接收场境信息,该指令信息指示媒体播放器应用正在前端运行、多媒体播放器应用以音频播放器模式操作,并且指定关于用户装置104的其它信息。例如,场境信息还可表示社交网络应用正在用户装置104的后台操作,以及用户装置104的电池寿命当前为50%。场境分析引擎150可接收表示用户装置104安装有媒体播放器和社交网络应用两者的信息,且可基于表示装置电池寿命的场境信息确定媒体播放器应用和社交网络应用都不能启动该语音动作。因此,场境分析引擎140可过滤场境信息,以仅表示媒体播放器应用在用户装置104的前端操作、媒体播放器处于音频播放器模式,和社交网络应用在用户装置104的后台操作。然后,被过滤的场境信息和音频输入“skip ahead”的转录可被提供至音频动作选择器150。
36.语音动作选择器150接收来自语音识别引擎130的口述输入的转录以及来自场境分析引擎140的场境(其包括处理后的场境信息)。语音动作选择器150使用该转录和场境来识别与用于在用户装置104处触发的特定语音动作相关的特定意图。例如,语音动作选择器150可访问应用语音动作数据库110和os语音动作数据库120,来识别能用于用户装置104的当前场境的一组候选语音动作。识别所述一组候选语音动作可包括识别存储在应用语音动作数据库110或os语音动作数据库120处的、指定与由语音动作选择器150接收的场境匹配的场境的一组意图。
37.在已经识别到一组候选语音动作能用于所呈现的场境后,语音动作选择器150可将语音输入的转录和与每个可用语音动作相关的一个或多个触发短语(trigger phrase)相比较。通常,触发短语可包括一个或多个触发词项,并操作为用于语音动作的标识符,从而对于特定触发短语中一个或多个词项的检测导致对对应于特定触发短语的语音动作的识别和触发。例如,语音动作选择器150可将该转录和与可用语音动作的意图相关的相应触发短语相比较。语音动作选择器150基于确定转录与由与特定语音动作相关的意图指定的
触发词项相匹配,而识别用于特定语音动作的特定意图。
38.例如,语音动作选择器150可接收语音输入“skip ahead”的转录以及用户装置104的场境,并且可使用所接收的场境来识别在用户装置104处启动的候选语音动作,即,基于用户装置104的当前状态可在用户装置104处启动的语音动作。在为用户装置104的场境确定一组候选语音动作之后,语音动作选择器150将语音输入“skip ahead”的转录与由候选语音动作的意图指定的触发短语相比较。语音动作选择器150可确定转录“skip ahead”匹配由用于媒体播放器应用的“skip ahead”语音动作的意图所指定的触发短语。
[0039]“skip ahead”语音动作可以是用于使媒体播放器应用在媒体播放器当前播放的一首歌曲中前跳一预定时间量的语音动作。例如,“skip ahead”语音动作可使媒体播放器应用快进一预定时间量,诸如30秒、60秒,或例如由应用开发者101a

101n或用户105指定的其它时间量。由此,如果媒体播放器应用在接收“skip ahead”语音动作时正播放一首歌曲且在歌曲的1分15秒,则媒体播放器应用可在歌曲中前跳至歌曲中的1分45秒。在一些实例中,如果当接收到“skip ahead”语音动作时,在歌曲中的剩余时间量小于预定时间量,则媒体播放器应用可使媒体播放器应用前跳到下一首歌曲。
[0040]
基于确定转录的至少一部分与触发短语的一个或多个词项相匹配,将转录识别为与触发短语匹配。例如,可基于转录的每个词项与触发短语的每个词项相匹配,识别出转录和触发短语之间的匹配。在一些实现方式中,可基于确定少于转录的所有词项与触发短语的词项匹配,识别出匹配。例如,即使转录中缺少触发短语的一些词项,即使转录中包括了除触发短语的词项以外的词项,或者即使转录的一个或多个词项不同于触发短语的词项,转录也可匹配触发短语。由此,转录“新邮件(new email)”、“发送新邮件(send new email)”或“开启新邮件(open up new email)”中的每个均可被识别为匹配触发短语“打开新邮件(open new email)”,虽然各转录均不与触发短语精确匹配。在一些情况中,如果转录以与由触发短语指定的顺序不同的顺序包括触发短语中的词项中的一些或全部,则转录可被识别为匹配触发短语。例如,转录“锁定手机”可被识别为匹配“手机锁定(phone lock)”触发短语。在一些情况中,基于确定转录包括对于触发短语的词项的一个或多个同义或替换词项,转录可被识别为匹配触发短语。由此,基于“起草(draft)”是“撰写(write)”的同义词,并且“打开(open)”是被识别的用于“撰写”的替换词项,转录“起草新邮件(draft new email)”或“打开新邮件”可被识别为与触发短语“撰写新邮件(write new email)”匹配。
[0041]
在识别到特定音频动作之后,语音动作选择器150向用户装置104提供触发数据,该触发数据使与特定语音动作相关的活动或动作被启动。这样,语音动作选择器150可获得用于控制用户装置104执行与所选语音动作相关的动作或活动的信息。在一些情况中,控制用户装置104执行与所选的语音动作相关的动作或活动可包括引发所选的语音动作的意图。引发所选的语音动作的意图可使得用于启动与所选的语音动作相关的活动或动作的信息被提供至用户装置104。
[0042]
例如,用于所选的语音动作的意图可包括使得与语音动作相关的动作或活动由与语音动作相关的应用执行的数据。所选的意图可被传输至用户装置104,使得由用户装置104接收意图可用作请求,或者可触发与语音动作相关的动作或活动的执行。可替换地,语音动作选择器150可确定要作为使所选语音动作在用户装置104处被执行的动作触发数据
来操作的其它数据,并且可将该信息传输至用户装置104。例如,意图可仅识别要由用户装置104执行以执行语音动作的动作或活动,并且语音动作选择器150可确定动作触发数据,该动作触发数据可控制用户装置104上的应用以执行与语音动作相关的动作或活动。所确定的动作触发数据可被传输至用户装置104,以便动作触发数据使得与语音动作相关的动作或活动被执行。
[0043]
例如,在从一组候选语音动作中选择“skip ahead”语音动作之后,语音动作选择器150将用于“skip ahead”语音动作的意图传输至用户装置104,或者获得用于控制在用户装置104上运行的媒体播放器应用以在媒体播放器应用当前播放的一首歌曲中前跳一预定时间量的其它信息。语音动作选择器150将用于控制媒体播放器应用在歌曲中前跳预定时间量的数据传输至用户装置104,该用户装置104进而致动一过程以用于使用户装置104上运行的媒体播放应用在歌曲中前跳预定时间量,例如在大卫鲍伊的歌曲“fame”中前跳预定时间量。
[0044]
简单地说,如讨论的,图1a的系统包括与一个或多个应用开发者101a

101n对应的一个或多个终端102a

102n。终端102a

102n均可与语音动作系统100通信,例如,通过一个或多个有线或无线网络通信。终端102a

102n中的每个可以是移动装置,诸如蜂窝电话、智能电话、平板计算机、手提电脑、个人数字助理(pda)、上网本电脑或其它移动计算装置,或者可为任何的固定计算装置,诸如台式计算机或其它固定计算机。与用户105相关的用户装置104还可以通过一个或多个有线或无线网络上与语音动作系统100通信,其中用户装置104还可以是移动或固定计算装置,诸如蜂窝电话、智能电话、平板计算机、笔记本、个人数字助手、手提电脑、台式计算机或其它计算装置。
[0045]
图1a所示的示例性语音动作系统100包括应用语音动作数据库110、操作系统(os)语音动作数据库120、语音识别引擎130、场境分析引擎140以及语音动作选择器150。语音动作系统100的每个部件,包括应用语音动作数据库110、os语音动作数据库120、语音识别引擎130、场境分析引擎140和语音动作选择器150,可以与语音动作系统100的一个或多个其它部件通过允许电子通信交换的一个或多个有线或无线数据路径进行通信。在一些实现方式中,语音动作系统100的一个或多个部件可以组合,使得它们的功能由单个部件执行,或者可以由两个或更多个部件呈现,使得它们的功能分布在两个或更多个部件上。语音动作系统100的部件可以在单个计算装置(诸如,单个服务器系统)上实现,或者可在通过允许部件之间的电子通信交换的一个或多个有线或无线数据路径进行通信的多个计算装置上实现。
[0046]
图1b示出了语音动作系统100,其使应用开发者能为语音动作建立可发现性实例,并且向用户提供适当的可发现性实例。由应用开发者提交的可发现性实例可以涉及由应用开发者为特定应用建立的新语音动作,并且可在安装有程序的用户装置处呈现以通知用户如何触发新语音动作。
[0047]
如图1b所示,语音动作系统100从终端102a

102n接收指定由应用开发者101a

101n提交的可发现性实例的数据。由应用开发者101a

101n提交到语音动作系统100的每个可发现性实例可涉及由应用开发者101a

101n为特定软件应用提交的新语音动作。应用开发者提交的可发现性实例可以存储在语音动作系统100的语音动作可发现性实例数据库170中。
[0048]
例如,在一些实现方式中,如参考图1a描述的,应用开发者101a

101n可以向语音动作系统100提交信息,以限定新语音动作。除限定新语音动作的信息之外,应用开发者101a

101n可以提交指定可向应用软件的用户通知如何触发新语音动作的一个或多个可发现性实例的信息。在一些实现方式中,限定用于新语音动作的可发现性实例的信息可指定可发现性实例所涉及的新语音动作,可指定当新语音动作对用户可用时的场境、可以指定用于触发新语音动作的一个或多个触发词项,或者可以包括其它信息。在一些实现方式中,指定由应用开发者101a

101n提交至语音动作系统100的可发现性实例的信息可包括可发现性实例的内容。例如,传输至语音动作系统100的信息可包括文本通知或消息、图像、视频、音频数据或者可提供至用户以通知用户如何触发语音动作的其它内容。应用开发者101a

101n可提供限定用于相同语音动作的多个可发现性实例的信息,其中不同的可发现性实例可旨在用于对不同用户、不同类型用户装置或在不同的情况下进行呈现。
[0049]
例如,开发用于媒体播放器应用的“skip ahead”语音动作的应用开发者101a

101n可使用终端102a

102n提交限定用于“skip ahead”语音动作的可发现性实例的信息。为了限定用于“skip ahead”语音动作的可发现性实例,应用开发者101a

101n可提交指定用于触发“skip ahead”语音动作的一个或多个触发词项的信息,以及指定当“skip ahead”语音动作能够被用户触发时的场境。例如,限定可发现性实例的提交信息可指定:触发词项“skip ahead”;和指定在媒体播放器应用在用户装置的前端中操作且以音频播放器模式操作时可执行语音动作的场境。应用开发者101a

101n也可提交附加的或不同的信息,以建立可发现性实例。例如,应用开发者101a

101n可提交指定可发现性实例的内容的信息,诸如要呈现给用户的消息“try saying

skip ahead
’”
。在其它实例中,应用开发者101a

101n可仅需要提供指定新语音动作的信息,用于由语音动作系统100创建用于该语音动作的可发现性实例。在一些实现方式中,应用开发者101a

101n可提交限定用于“skip ahead”语音动作的多个可发现性实例的信息。例如,应用开发者101a

101n可以提交用于“skip ahead”语音动作的文本可发现性实例的信息,诸如消息“try saying

skip ahead
’”
,以及用于“skip ahead”语音动作的音频可发现性实例的信息,诸如说出“try saying

skip ahead
’”
的语音的录音。
[0050]
在其它实现方式中,语音动作系统100可为应用开发者101a

101n建议可发现性实例,使得应用开发者101a

101n仅需要从建议的可发现性实例中进行选择。例如,当应用开发者101a

101n建立用于应用的新语音动作时,语音动作系统100可被配置为生成用于新语音动作的一个或多个候选可发现性实例。语音动作系统100为应用开发者101a

101n的终端102a

102n提供信息,其使应用开发者101a

101n可选择要为新语音动作建立的一个或多个可发现性实例。表示应用开发者101a

101n的选择的数据然后可由终端102a

102n提供至语音动作系统100。
[0051]
例如,当应用开发者101a

101n提交限定“skip ahead”语音动作的信息时,如关于图1a描述的,语音动作系统100可生成用于“skip ahead”语音动作的一个或多个候选可发现性实例。候选可发现性实例例如可包括文本消息“try saying

skip ahead
’”
、文本消息“say

skip ahead’to fast forward 30seconds(说前跳以快进30秒)”以及说出“try saying

skip ahead
’”
的语音的录音。语音动作系统100可将候选可发现性实例提供至应用开发者101a

101n的终端102a

102n,并且应用开发者101a

101n可将输入提供至终端102a

102n,以选择一个或多个候选可发现性实例。表示选择的数据可被提供至语音动作系统100。
[0052]
语音动作系统100可接收从应用开发者101a

101n的终端102a

102n指定或选择可发现性实例的信息,并且可基于接收的信息生成用于可发现性实例的数据。例如,语音动作系统100可接收指定可发现性实例的信息,并且可导入所接收的数据以生成特定数据类型或格式的可发现性实例。在语音动作系统100向应用开发者101a

101n建议可发现性实例以用于选择的一些实现方式中,语音动作系统在给应用开发者101a

101n提建议之前可生成特定数据类型或格式的可发现性实例。在这种实现方式中,在接收对特定建议的可选择性实例的用户选择时,语音动作系统100可以是能够放弃未选择的语音动作系统100生成的可发现性实例,并且可保持所选择的可发现性实例以用于存储。可替换地,语音动作系统100可将可发现性实例提供至应用开发者101a

101n,而不生成与建议可发现性实例对应的可发现性实例。由此,为应用开发者101a

101n提供的建议可表示潜在的可发现性实例。在接收对特定建议的可发现性实例的选择时,语音动作系统100然后可生成特定数据类型或格式的可发现性实例。
[0053]
以类似于限定新语音动作的信息的导入导致生成用于触发新语音动作的意图的方式,导入指定可发现性实例的信息以在用户装置处呈现可发现性实例可能必须的特定数据类型或格式生成可发现性实例。例如,当应用开发者101a

101n可提交仅指定用于触发新语音动作的触发词项以及当可触发新语音动作时的场境的信息时,语音动作系统100可导入该信息以生成特定数据类型或格式的项目,该项目指定对于呈现可发现性实例(诸如,要呈现给用户的文本消息的生成和格式化)所必须的信息,表示与特定可发现性实例兼容的装置的信息,或者对于在用户装置处呈现可发现性实例所需的其它信息。
[0054]
导入的可发现性实例可被存储在语音动作可发现性实例数据库170处。例如,语音动作可发现性实例数据库170可包括涉及关于一个或多个不同的应用、操作系统或装置可执行的一个或多个不同语音动作的可发现性实例,并且导入的可发现性实例可存储在语音动作可发现性实例数据库170处。语音动作可发现性实例数据库170可被包括在语音动作系统100中,或者可以由语音动作系统100通过一个或多个有线或无线数据路径访问。
[0055]
如图1b所示,语音动作系统100还能够处理从用户装置104接收的对可发现性实例的请求,并且能够通过向用户装置104提供使一个或多个可发现性实例呈现给用户105的信息而响应该请求。例如,在用于新语音动作的可发现性实例存储在语音动作可发现性实例数据库170之后,语音动作系统100可检测从用户装置104接收的对可发现性实例的请求,并且作为响应可识别要提供给用户装置104的可发现性实例。
[0056]
如图1b所示,在一个实例中,用户105可通过将语音输入“what voice commands can i say?”提供至用户装置104而请求可发现性实例。用户装置104可通过一个或多个有线或无线数据路径与语音动作系统100连接,并且从而可将与语音输入对应的音频数据传输至语音动作系统100,并且在语音动作系统100处被语音识别引擎130接收。语音识别引擎130可基于所接收的音频数据生成语音输入的转录。例如,在接收与用户105的语音输入对应的音频数据时,语音识别引擎130可生成转录“what voice commands can i say?”,并且可将该转录提供至语音动作系统100的可发现性实例选择器160。
[0057]
对可发现性实例的请求也可通过其它方式提供至语音动作系统100。例如,用户装
置104可响应于用户例如通过按压用户装置104处的特定按键或标志而提供请求帮助或请求可发现性实例的输入,请求来自语音动作系统100的可发现性实例。用户装置104还可在不需要明确用户输入的情况下请求来自语音动作系统100的可发现性实例。例如,用户装置104可确定新应用在用户装置104处启动或重新开始(例如带到用户装置104的前端),或者确定用户装置104的或应用的状态改变,或者确定显示在用户装置处的内容改变,并且响应于该确定,可请求来自语音动作系统100的可发现性实例。
[0058]
为了例如响应于用户105的语音输入而请求可发现性实例,用户装置104还可确定用户装置104及在用户装置104上操作的应用的场境。用户装置104可将场境信息传输至语音动作系统100,并在语音动作系统100处可由场境分析引擎140接收。场境分析引擎140可处理所接收的场境信息,以确定与识别可发现性实例相关的场境。
[0059]
例如,如关于图1a所讨论的,场境分析引擎140可接收来自用户装置104的各种场境信息,并且可确定与识别应该呈现给用户装置104的用户105的可发现性实例相关的场境信息的子集。例如,场境分析引擎140可接收来自用户装置104的场境信息,其表示媒体播放器应用在用户装置104的前端操作、媒体播放器应用以音频播放器模式操作,以及用户装置104的电池寿命为50%。场境分析引擎140可确定电池寿命信息与确定呈现给用户105的可发现性实例无关,并因此可仅将表示媒体播放器应用在用户装置140的前端操作且以音频播放器模式操作的场境信息提供至可发现性实例选择器160。
[0060]
可发现性实例选择器160可从语音识别引擎140接收用户104的语音输入的转录,以及来自场境分析引擎140的相关场境,并且基于所接收的信息可识别要提供至用户装置104的一个或多个可发现性实例,用于输出至用户105。例如,可发现性实例选择器160可基于转录确定用户105的语音输入是对可发现性实例的请求。
[0061]
基于确定语音输入是对可发现性实例的请求,可发现性实例选择器160可访问语音动作可发现性实例数据库170,识别与满足从场境分析引擎140接收的场境的那些场境相关的可发现性实例。例如,可发现性实例选择器160可接收表示媒体播放器应用在用户装置104的前端操作以及媒体播放器应用以音频播放器模式操作的场境信息,并因此可识别存储在语音动作可发现性实例数据库170处的可发现性实例,其还指定包括媒体播放器应用在装置的前端操作且为音频播放器模式的场境。为了识别可发现性实例,可发现性实例选择器160可将从场境分析引擎140接收的场境与包括在语音动作可发现性实例数据库170中的每个可发现性实例相比较,或者可将所接收的场境与存储在语音动作可发现性实例数据库170处的可发现性实例的子集相比较。基于该比较,可发现性实例选择器160可识别一个或多个可发现性实例,以提供至用户装置104从而用于呈现给用户105。
[0062]
在图1b所示的实例中,可发现性实例选择器160可确定由应用开发者101a

101n建立的用于“skip ahead”语音动作的可发现性实例指定的场境与从场境分析引擎140接收的场境相匹配。响应于这种确定,可发现性实例选择器160可将信息传输至用户装置104,该信息使得用于“skip ahead”语音动作的可发现性实例被输出。例如,可发现性实例选择器160可将导入的用于“skip ahead”语音动作的可发现性实例以特定数据类型或格式传输至用户装置104,并且在接收到导入的信息时,用户装置104可提供用于“skip ahead”语音动作的可发现性实例的输出。例如,用户装置104可接收与用于“skip ahead”语音动作的可发现性实例对应的导入信息,并且所接收的信息可控制用户装置104以显示说明“try saying

skip ahead
’”
的场境通知。向用户呈现“try saying

skip ahead
’”
可发现性实例可通知用户“skip ahead”语音动作是对于用户装置104及其上运行的应用的当前状态可用的语音动作。由此,用户105随后可提供语音输入“skip ahead”,并且该语音输入可如关于图1a讨论地被处理,以在媒体播放器应用当前播放的歌曲中前跳一预定时间量。
[0063]
在一些实现方式中,可发现性实例选择器160可选择用于在用户装置104处呈现的多个可发现性实例,并且可将与所选的多个可发现性实例对应的信息传输至用户装置104。例如,可发现性实例选择器160可确定从场境分析引擎140接收的场境满足由用于“skip ahead”语音动作的可发现性实例以及用于控制媒体播放器应用的“pause(暂停)”语音动作和与用户装置104的操作相关的使用户装置104返回到主屏的“home(主屏)”语音动作的可发现性实例指定的场境。可发现性实例选择器160可将用于每个可发现性实例的数据提供至用户装置104,使得所有三个可发现性实例被呈现或可用于呈现给用户105。
[0064]
图1c示出了能使应用开发者建立用于语音动作的可发现性实例且用于将可发现性实例提供至用户的语音动作系统100。如下面讨论的,图1c的系统执行关于图1b讨论的许多相同操作。然而,在图1c中,与在语音动作系统100处执行相反地,这些操作中的许多操作在用户装置104处执行。通过将由图1b中的语音动作系统100执行的一些部件和操作授权给用户装置104,即使用户装置104离线,可发现性实例也可被提供至用户105。这种实现方式还降低了每次要在用户装置104处输出可发现性实例时对用户装置104接触语音动作系统100的需要,从而降低了用户装置104使用的网络带宽。在无需访问网络的情况下提供可发现性实例的能力还可降低由提供可发现性实例引起的电力消耗,并且可以使可发现性实例更快速地提供给用户。
[0065]
如图1c所示,应用开发者101a

101n均可使用图1b所示的终端102a

102n将制定用于新语音动作的可发现性实例的信息提交至语音动作系统100。制定每个提交的可发现性实例的信息可对应于用于特定软件应用的语音动作。用于与语音动作对应的新可发现性实例的、提交至语音动作系统100的信息可例如包括:制定用以触发该语音动作的一个或多个触发词项的信息,为该语音动作指定的场境,当输出可发现性实例时要呈现给用户的通知内容,或者其它信息。可替换地,语音动作系统100可从应用开发者101a

101n接收用于建立新语音动作的信息,并且语音动作系统100可生成候选可发现性实例,应用开发者101a

101n可从该可发现性实例进行选择。在这种实现方式中,语音动作系统100将候选可发现性实例在应用开发者的对应终端102a

102n处呈现给应用开发者101a

101n,并且可接收表示一个或多个候选可发现性实例的选择的信息。
[0066]
基于所接收的信息,语音动作系统100生成并将可发现性实例存储在语音动作可发现性实例数据库170处。语音动作可发现性实例数据库170可包括与用于控制一个或多个不同应用、操作系统或装置的语音动作对应的可发现性实例。
[0067]
如图1c所示,存储在语音动作可发现性实例数据库170处的合适的可发现性实例被提供至用户装置,在用户装置中,这些合适的可发现性实例被存储在每个装置独有的应用元数据后端处。例如,用户装置104可包括应用元数据后端180,其被配置成存储与用户装置104和安装在用户装置104上的应用或操作系统相关的可发现性实例。用户装置104通过一个或多个有线或无线输可定期地与语音动作系统100通信,以识别与用户装置104、安装在用户装置104上的应用和/或用户装置104的操作系统相关的可发现性实例。识别为与用
户装置104、安装在用户装置104上的应用和/或用户装置104的操作系统相关的可发现性实例可从语音动作可发现性实例数据库170检索到,并存储在用户装置104的应用元数据后端180处。
[0068]
例如,在一些实现方式中,用户装置104可配备有应用接口190,该应用接口190被配置成接收存储在语音动作可发现性实例数据库170处的、识别为与用户装置104、安装在用户装置104处的应用和/或用户装置104的操作系统相关的可发现性实例。应用接口190可从语音动作可发现性实例数据库170获得识别的可发现性实例,并且可将识别的可发现性实例存储在应用元数据后端180。语音动作系统100可被配置成自动地识别与用户装置104或安装在用户装置104上的软件相关的可发现性实例,并将相关的可发现性实例提供至用户装置104。例如,语音动作系统100可将相关的可发现性实例提供给用户装置104,以用于定期响应于请求更新可发现性实例的用户输入、响应于确定用户装置104的状态变化、响应于确定不同的应用或应用版本安装在用户装置104处、响应于确定不同的操作系统或操作系统的版本在用户装置104上操作或者响应于其它事件而存储在应用元数据后端处。
[0069]
除了在用户装置104处存储可发现性实例之外,图1c的系统在用户装置104处还包括关于图1b讨论的用于将可发现性实例呈现给用户105的部件。例如,图1c所示的用户装置104包括与图1a和图1b的场境分析引擎140类似的场境分析引擎140,以及与图1b的可发现性实例选择器160类似的可发现性实例选择器160。此外,用户装置104能够以与图1b的语音识别引擎130类似的方式生成语音输入的转录。
[0070]
应用接口190或用户装置104的其它部件可确定可发现性实例应该何时在用户装置104处提供以用于输出。例如,用户装置104的用户105可提供说明“what voice commands can i use?(我能使用什么语音命令?)”的语音输入,并且用户装置104可生成该语音输入的转录。应用接口190可接收语音输入的转录,并且可确定对于可发现性实例请求的输入。可替换地,应用开发者190可以其它方式确定提供可发现性实例以用于在用户装置104处输出。例如,应用接口190可确定用户将其它输入提供至用户装置104,诸如在用户装置104的按钮上的按压和保持特征,其请求用于用户装置104或者在用户装置104上操作的应用或操作系统的当前状态的可发现性实例。应用接口190还可基于确定用户装置104的状态、安装在用户装置104上的应用或用户装置104的操作系统改变而确定提供可发现性实例。在一些实例中,可响应于确定用户105的前一语音输入不匹配用于语音动作的任何已知触发词项而在用户装置104处提供可发现性实例,以将可以使用的触发词项通知给用户105。
[0071]
虽然上文描述了由应用接口190执行,但在一些实现方式中,用户装置104的另一部件可确定在用户装置104处提供可发现性实例以用于输出。例如,如图1c所示,语音输入“what voice commands can i say?”的转录可被提供至可发现性实例选择器160,并且基于该转录,可发现性实例选择器160可确定在用户装置104处提供可发现性实例以用于输出。类似地,可发现性实例选择器160可基于其它信息(诸如,表示用户装置104处的其它用户输入)或基于检测到用户装置104的状态、在用户装置104上安装和/或运行的应用和/或用户装置104的操作系统存在变化而在用户装置104处呈现可发现性实例。
[0072]
当应用接口190确定提供可发现性实例以用于在用户装置104处输出时,用户界面可获得表示用户装置104、在用户装置104上安装和/或运行的一个或多个应用和/或用户装置104的操作系统的状态的、用于用户装置104的场境信息。与关于图1b讨论的实现方式类
似,在获得该场境信息时,应用接口190可将该场境信息提供至处理场境信息的场境分析引擎140。
[0073]
场境分析引擎140可获得该场境信息并处理该信息,以识别与在用户装置104处输出的可发现性实例有关的场境。例如,如果场境分析引擎140从应用接口190接收到表示媒体播放器应用当前在用户装置104的前端运行、媒体播放器应用处于音频播放器模式以及用户装置104的电池寿命当前为50%的场境信息,则场境分析引擎140可确定仅表示媒体播放器应用当前在用户装置104的前端运行且媒体播放器应用处于音频播放器模式的场境信息与选择要在用户装置104处呈现的可发现性实例相关。因此,场境分析引擎140可将一场境提供至可发现性实例选择器150,该场境表示安装在用户装置104上的媒体播放器应用在前端操作并且处于音频播放器模式,而不表示用户装置104的电池寿命。
[0074]
可发现性实例选择器160可接收来自场境分析引擎140的场境,并且可使用所接收的场境以识别存储在应用元数据后端180处的提供用于输出的可发现性实例。例如,如关于图1b讨论的,可发现性实例选择器160可将所接收的场境与由存储在应用元数据后端180处的可发现性实例指定的场境相比较,以识别提供用于输出的一个或多个可发现性实例。例如,可发现性实例选择器160可基于确定从场境分析引擎140接收的场境与用于“skip ahead”语音动作的可发现性实例相匹配,而识别用于“skip ahead”语音动作的可发现性实例。在一些实现方式中,可发现性实例选择器160可识别多个可发现性实例,以提供用于在用户装置104处输出。例如,可发现性实例选择器160可对于“skip ahead”语音动作、控制媒体播放器应用的“pause”语音动作,以及控制用户装置104返回到主屏的“home”语音动作选择可发现性实例。
[0075]
可发现性实例选择器160可提供所选择的可发现性实例以用于在用户装置104处输出。例如,可发现性实例选择器160能够提供所选择的可发现性实例以用于经由应用接口190输出。如图1c所示,例如,所选的用于“skip ahead”语音动作的可发现性实例可在用户装置104处输出,从而使文本通知“try saying

skip ahead
’”
在用户装置104的显示器处输出。
[0076]
图2示出了一种示例性语音动作系统200,其被配置成允许建立语音动作(voice action)以及用于语音动作的可发现性实例。简单地说,语音动作系统200包括:验证引擎210,其访问验证标准215;可发现性实例导入引擎220;以及语音动作可发现性实例数据库235,其被配置成存储可发现性实例。语音动作系统200可作为平台操作,以提供使得应用开发者201能够经由终端202建立语音动作以及用于这些语音动作的可发现性实例的服务或工具。在一些实现方式中,应用开发者201可根据2016年3月1日提交美国专利申请序列no.15/057,453中公开的方法建立语音动作,其全部内容通过引证结合于本文中。
[0077]
如图2所示,应用开发者201可将信息提交至语音动作系统200以限定新语音动作。在一些实例中,限定语音动作的信息可提交为一种格式的语法,该语法可由语音动作系统200处理以生成用于语音动作的意图。例如,应用开发者201可在终端202处键入指定为媒体播放器应用建立新语音动作的信息。应用开发者201可指定新语音动作使用触发短语“skip ahead”来控制媒体播放器应用在媒体播放器应用当前播放的一首歌曲中前跳一预定时间量。应用开发者201还可指定用于“skip ahead”语音动作的场境(context),使得“skip ahead”语音动作仅能在媒体播放器应用在用户装置的前端操作且仅以音频播放器模式操
作时触发。由应用开发者201提交的信息可为能由语音动作系统200处理的语法的形式,或者应用开发者201提交的信息可被转换成用于提交至语音动作系统200的语法格式。
[0078]
限定新语音动作的信息可经由终端202通过一个或多个有线或无线数据路径提交至语音动作系统200。语音动作系统200可在验证引擎210处接收限定新语音动作的信息,该验证引擎被配置成验证由应用开发者提交的新语音动作。例如,验证引擎210可接收已由应用开发者201提交的限定新语音动作的语法。为了验证新语音动作,验证引擎210可访问一个或多个验证标准215,所述一个或多个验证标准215可包括与限定新语音动作相关的一个或多个规定。验证引擎210可基于所访问的验证标准215评价限定新语音动作的信息。
[0079]
对于图2所示的示例性“skip ahead”语音动作而言,验证引擎210可确定媒体播放器应用是否是现有应用,使得可为具体应用生成新语音动作。验证引擎210可访问指定触发短语在长度上必须多于一个语音音节的规定,并且可以基于确定触发短语“skip ahead”长于一个语音音节而验证触发短语“skip ahead”。验证规定可指定媒体播放器应用可执行的一系列可能动作,并且基于确定媒体播放器应用在应用中当前播放的一首歌曲中可前跳一预定时间量而可验证在媒体播放器应用当前播放的一首歌曲中前跳一预定时间量的指定动作。验证引擎210可验证由语法指定的场境,以确保该场境不含有矛盾。例如,验证引擎可确保指定的场境不需要应用在前端操作并且还在后台操作以用于进行新语音动作,这归因于仅能满足这两个情况中的一个。其它验证标准215可应用于限定新语音动作的信息,以确定由应用开发者201提交的新语音动作是否有效并且可被导入以生成用于新语音动作的意图。
[0080]
其它格式的验证可由验证引擎210执行。例如,验证引擎210可确定应用开发者201是否被授权以生成用于指定的应用的新语音动作,可确定是否支付生成新语音动作所需的费用,或者可另外确定由应用开发者201提交的语法是否可导致创建用于新语音动作的意图。
[0081]
基于确定由应用开发者201提交的限定新语音动作的语法或其它信息有效,语音动作系统200可导入限定新语音动作的信息以生成如关于图1a讨论的用于新语音动作的意图。所生成的意图可被存储在与应用语音动作数据库110类似的语音动作数据库处,其中语音动作进而可由应用开发者201配置以使该应用对于在其用户装置上安装了该应用的用户可用。例如,限定“skip ahead”语音动作的语法或其它信息可由语音动作系统200导入以生成用于“skip ahead”语音动作的意图,并且用于“skip ahead”语音动作的意图可被存储在应用语音动作数据库处。应用开发者201可配置“skip ahead”语音动作,以使在其用户装置上安装了媒体播放器应用的用户可使用该“skip ahead”语音动作。
[0082]
如图2所示,除了生成用于新语音动作的意图之外,语音动作系统200还可导入限定新语音动作的信息,以生成用于新语音动作的一个或多个候选可发现性实例。例如,限定新语音动作的验证信息可被提交至可发现性实例导入引擎220,并且可发现性实例导入引擎220可导入限定新语音动作的信息以生成用于新语音动作的一个或多个候选可发现性实例。
[0083]
在一些实现方式中,可发现性实例导入引擎220可导入限定新语音动作的信息,以生成一个或多个候选可发现性实例。候选可发现性实例可为一种格式,即当提供至用户装置时,能控制或者能使用户装置提供由在用户装置处输出的可发现性实例指定的通知。例
如,导入限定语音动作的数据可导致生成特定数据项或特定格式的数据项,该数据项在由用户装置接收或在用户装置处触发时,控制用户装置呈现文本、图像、视频、音频或用于输出的其它通知,以通知装置用户可在用户装置上用以触发相关语音动作的触发词项。
[0084]
在一些实现方式中,导入限定新语音动作的数据以生成候选意图可包括生成指定用于触发相关语音动作的触发短语的一个或多个文本短语、口述音频短语、图像或视频。例如,可发现性实例导入引擎220可接收表示用于新语音动作的触发短语的数据,并且可生成与一个或多个候选可发现性实例相对应的一个或多个候选短语。在图2所示的实例中,可发现性实例导入引擎220可生成候选短语,诸如“try saying

skip ahead
’”
、“say

skip ahead’to fast forward 30seconds”、“say,

okay computer,skip ahead(说“计算机可以前跳”)或者任意数量的其它候选短语。可发现性实例导入引擎220还可生成候选短语的口述版本、表示与新语音动作相关的触发短语“skip ahead”的候选图像或者表示触发短语“skip ahead”的候选视频,以作为用于候选可发现性实例的候选通知。
[0085]
在一些实现方式中,用于语音动作的触发短语可包括一个或多个占位符,诸如一个或多个枚举类型,并且可发现性实例导入引擎220可生成与包括占位符的通知相关的候选可发现性实例。例如,语音命令可与触发短语“add%currentsong to favorites(将%当前歌曲加入收藏)”相关,其中“%currentsong”是表示在媒体播放器应用中当前播放的一首歌曲的占位符。可发现性实例导入引擎220可生成包括短语“try saying,

add%currentsong to favorites’(尝试说将%当前歌曲加入收藏)”的候选可发现性实例,其中当该短语提供用于输出时,占位符可由在媒体播放器应用中当前播放的一首歌曲的名称替换。
[0086]
在一些实现方式中,由可发现性实例导入引擎220生成的候选可发现性实例还都指定当新语音动作能够被触发时的场境,使得用于新语音动作的可发现性实例仅能够在用户装置、在用户装置上运行的应用或用户装置的操作系统的状态匹配由对应的语音动作指定的场境时可在用户装置处输出。这样,在任意特定情况下提供给用户的可发现性实例被限于用于此时可被触发的语音动作的可发现性实例。
[0087]
如前文讨论的,场境指定必须满足可用语音动作的一个或多个条件,即,使得除非也满足该场境,否则该语音动作将不被与该语音动作相关的触发短语触发。应用开发者201可将一场境限定为具有一个或多个不同的要求或条件。
[0088]
在一些实例中,场境可需要用户装置的某些状态或者可要求用户装置具有某些属性。例如,场境可指定用户装置是通电还是锁定,或者用户装置是否具有相机、陀螺仪、气压计或其它部件或特征。由此,例如,如果从用户装置接收的场境信息表示用户装置不具有相机,则使用安装在用户装置上的应用来拍照的语音动作不能用。
[0089]
在其它实例中,场境可需要具体应用在用户装置的前端或后台操作。例如,如图2所示,“skip ahead”语音动作仅在媒体播放器应用在用户装置204的前端操作时可用,但在媒体播放器应用关闭或在用户装置204的后台操作的情况下不可用。在其它实例中,语音动作可用语音动作在应用在后台操作时可用的场境限定。例如,社交网络应用可具有相关的语音动作来接受与另一用户连接的请求,并且即使社交网络应用仅在用户装置的后台操作,用户也能触发语音动作以接受与另一用户连接的请求。
[0090]
场境可另外地或可替换地要求特定应用以具体模式操作,以用于使一语音动作可
用。模式可以是执行应用的特定活动或任务。例如,电子邮件应用可被确定为电子邮件撰写模式、媒体播放器应用可以处于音频播放器模式,或者相机应用可以处于相机模时或相册查看器模式。用户装置能够确定特定应用在以那种模式操作,并且可包括用于确定特定语音动作是否可用的场境信息中的信息。
[0091]
此外,在一些情况中,场境可要求应用模式具有某些状态。例如,场境可表示用于“pause”电影的语音动作可仅在媒体播放器应用处于电影播放器模式时且当处于电影播放器模式的应用的状态为应用当前正播放电影时可用。在一些情况中,用户装置不能确定应用以特定模式操作的状态。在这些情况中,必须配置该应用以提供表示该应用处于特定模式下的状态的信息。由此,以用于特定应用的场境指定这种条件可需要修改应用本身,以便使用户装置提供的场境信息包括所需的状态信息。
[0092]
在一些实例中,为语音动作指定的场境可需要在用户装置的屏幕上显示特定对象或对象类型,以使语音动作可用。例如,场境可指定“保存图像(save image)”语音动作仅在用户装置的显示器处输出图像的情况下可用,或者可指定“高亮(highlight)”语音动作仅在显示器上呈现文本的情况下可用。在另一实例中,用于在列表中选择特定项目的语音动作,诸如,用于“挑选第一个(pick the first one)”的语音动作,可仅在场境信息表示用户装置的显示器上呈现数字“1”或要点(bullet point)的情况下或者在显示器上呈现一列项目的情况下可用。在一些情况中,用户装置不能够确定在一定时刻在其显示器处呈现什么信息,例如当应用控制显示器时。由此,如果场境指定必须在显示器处输出某些信息或信息类型以用于使语音动作可用,则必须修改应用以提供该信息。用户装置由此可包括表示在用于确定具体特定语音动作是否应该可用的场境信息中在用户装置的显示器处输出什么的信息。
[0093]
在其它情况中,场境可需要在用户装置处输出通知或通知的特定类型。例如,在收到新电子邮件时向用户提供弹出式通知的电子邮件应用可具有与“读取电子邮件(read email)”相关的语音动作,其能在新电子邮件通知由应用输出至用户装置的显示器时可用。由此,场境信息可表示通知是否被输出至用户装置的显示器,并且该信息可在确定“read email”语音动作是否应该可用中使用。
[0094]
在一些实例中,场境可需要用户装置处于特定地理位置以用于语音动作可用。用户装置能够使用蜂窝塔三角法、基于访问与特定地理位置相关的互联网连接、使用全球定位系统(gps)技术或使用其它方法确定其地理位置。用户装置可在场境信息中包括表示其地理位置的信息,并且基于地理位置满足场境的定位要求而使语音动作可用。例如,与用于零售商的应用的语音动作相关的场境可指定某一语音动作仅应该在具有零售商应用的用户装置处于一个零售商商店的范围内的情况下被处理。基于来自用户装置的场境信息表示用户装置的地理位置对应于在一个零售商商店的范围内的地理位置,可使得用于零售商应用的语音动作可用。
[0095]
由应用开发者限定的场境还可表示与场境相关的语音动作仅在某些时间、日期、月份、季节期间或在满足其它时空条件时可用。例如,场境可指定某些语音动作仅在从用户装置或从另一信息源接收的场境信息满足时间条件的情况下可用。例如,用于银行应用软件的语音动作可与包括时空条件的场境相关,使得语音动作仅在场境信息表示提交语音动作时的时间在上午六点到下午十点之间的情况下可用。
[0096]
场境可指定用于使语音动作可被触发的其它要求。例如,语音动作系统200可访问来自除用户装置以外的源的信息,或者能够接收从一个或多个信息源获得的来自用户装置的信息。从其它源接收的信息可为用于使语音动作可行所需的场境信息。这种信息可包括例如天气信息、用于用户的情感信息、新闻信息、股票市场信息或其它信息。例如,语音动作系统200能够经由一个或多个有线或无线数据路径(例如,互联网连接或与服务器系统连接的其它网络)访问其它信息源。用于语音动作的场境可指定仅在与相关用户装置的位置对应的地理区域的天气信息表示该位置中正下雨的情况下,该语音动作可用。为了检查是否满足场境条件,语音动作系统200能够通过一个或多个网络连接来访问用户装置的已知位置处的天气信息。
[0097]
在一些实现方式中,可发现性实例导入引擎220可生成与不同的操作系统、不同类型的用户装置或不同版本的应用对应的多个版本的候选可发现性实例。由于一种特定数据类型或格式不可能用于在所有类型的装置、操作系统或各版本应用上输出可发现性实例,所以可发现性实例导入引擎220可生成多个版本的可发现性实例。由此,正确版本的可发现性实例可被提供至不同的用户装置,以确保在这些用户装置处的可发现性实例的适当输出。此外或可替换地,在一些实现方式中,可发现性实例可被修改,以用于在不同的用户装置、操作系统或各版本应用上提供。例如,所生成的可发现性实例可包括例如使用特定尺寸、分辨率、色谱等的一种格式的图像通知,并且该图像通知能够修改或格式化,用于在不同类型用户装置上、在不同操作系统中或在不同版本的应用内呈现。
[0098]
在一些实现方式中,候选可发现性实例可呈现给应用开发者201以用于选择。例如,在生成用于由应用开发者201提交的新语音动作的候选可发现性实例时,语音动作系统200可将信息提供至应用开发者201的终端202,以允许应用开发者201选择他们可能为新语音动作实施的特定可选择性实例。在图2所示的实例中,可发现性实例导入引擎220可在终端202处呈现表示候选短语“try saying

skip ahead
’”
、“say

skip ahead’to fast forward 30seconds”以及“say,

okay computer,skip ahead
’”
的信息,并且应用开发者201可选择一个或多个候选短语。例如,应用开发者可选择候选短语“try saying

skip ahead
’”
,表示开发者想要用于“skip ahead”语音动作的可发现性实例是输出至用户的说出“try saying

skip ahead
’”
的文本通知。
[0099]
此外或可替换地,应用开发者201可提交限定用于语音动作的可发现性实例的信息。例如,如关于图1b和图1c讨论的,应用开发者201可将限定用于语音动作的可发现性实例的信息提交至语音动作系统200。所提交的限定可发现性实例的信息可指定与可发现性实例有关的语音动作,诸如指定“skip ahead”语音动作的信息;可指定可发现性实例应该何时可用于在用户装置处输出的场境,诸如为“skip ahead”语音动作指定的场境;并且可提交用于通知的内容,其包括要作为用于语音动作的可发现性实例呈现的触发词项。在图2所示的实例中,应用开发者201可将指定“skip ahead”语音动作的信息提交至语音动作系统200,用于“skip ahead”语音动作的可发现性实例的场境应该仅在媒体播放器应用在前端操作且处于音频播放器模式时可用于输出,并且可将说明“try saying

skip ahead
’”
的音频片段提交至语音动作系统200。其它内容可由应用开发者201提交,诸如文本短语、图像、视频或其它内容,其可在用户装置处提供用于输出以通知装置的用户:通过提供说明“skip ahead”的语音输入,可以触发语音动作在媒体播放器应用当前播放的一首歌曲中前
跳一预定时间量。在一些实例中,对应用开发者201可需要较少的、附加的或不同的信息,以指定可发现性实例。例如,仅可需要应用开发者201提交表示语音动作和待输出为与可发现性实例相关的通知的内容的信息。
[0100]
语音动作系统200可接收表示由应用开发者201选择的候选可发现性实例的数据,并且可将所选的候选可发现性实例存储在语音动作可发现性实例数据库235处。语音动作系统200还可接收限定由应用开发者201限定的一个或多个可发现性实例的数据、可导入限定一个或多个可发现性实例的数据以生成合适的可发现性实例格式的数据项,并且可将由导入过程生成的可发现性实例存储在语音动作可发现性实例数据库235处。
[0101]
例如,基于接收表示包括文本短语“try saying

skip ahead
’”
的可发现性实例的选择的数据,语音动作系统可将可发现性实例存储在语音动作可发现性实例数据库234处。如图2所示,所存储的可发现性实例可为:名为“example y(实例y)”的特定数据项或特定格式的数据,其指定“skip ahead”语音动作;用于语音动作的触发短语;通知“try saying

skip ahead
’”
,在触发该可发现性实例时其被提供用于输出;以及当可发现性实例可用于输出需要媒体播放器应用在前端操作且处于音频播放器模式时的场境。
[0102]
类似地,由应用开发者201限定的可发现性实例可被导入以生成用于可发现性实例的特定格式的数据项。在一些实例中,由应用开发者201限定的可发现性实例可被导入以生成一个或多个版本的可发现性实例,诸如与语音动作相关的不同版本应用、不同的装置或不同的操作系统对应的各版本的可发现性实例。在由可发现性实例导入引擎220执行的导入过程期间生成的一个或多个可发现性实例可被提供和存储在语音动作可发现性实例数据库235处。例如,由应用开发者201限定的且导入以生成可发现性实例的可发现性实例可作为“example x(实例x)”存储在语音动作可发现性实例存储器235处。
[0103]
语音动作可发现性实例数据库235可存储与用于一个或多个应用的一个或多个语音动作对应的多个可发现性实例。例如,语音动作可发现性实例数据库235可包括用于已为多个不同的应用、装置或操作系统开发的多个不同语音动作中每个的多个可发现性实例。语音动作可发现性实例数据库235可为结构表,诸如查找表、链表、包括节点和节点之间的边缘的曲线图,或者可为能够存储可发现性实例使得可发现性实例可随后被识别并提供用于用户装置、操作系统或应用的合适状态的任意其它数据结构。在一些情况中,语音动作可发现性实例数据库235中的每个可发现性实例可以关联于:指定可发现性实例涉及的应用的信息,可发现性实例兼容的应用的版本,可发现性实例兼容的装置,可发现性实例兼容的操作系统,或者与选择特定可发现性实例有关的其它信息,使得在语音动作可发现性实例数据库235中可识别出合适的可发现性实例,而无需解析包括在可发现性实例本身中的数据以获取这种信息。这种方案能快速识别合适的可发现性实例,以提供用于输出。
[0104]
存储在语音动作可发现性实例数据库235中的可发现性实例可被提供至用户装置,以控制或使用户装置输出可发现性实例。例如,在图1b的实现方式中,响应于从用户装置接收到对可发现性实例的请求,存储在语音动作可发现性实例数据库235中的一个或多个可发现性实例可被提供至用户装置以用于输出。或者,如图1c的实现方式所示,语音动作可发现性数据库235中的一个或多个可发现性实例可被提供至用户装置,并被存储在用户装置处,使得其随后可在用户装置处被触发以用于输出。
[0105]
在一些实现方式中,在可发现性实例能够在用户装置处被提供用于输出之前,应
用开发者201能够测试新可发现性实例,并且在可发现性实例的许可之后可配置该可发现性实例,以使该可发现性实例在用户装置处被提供用于输出。例如,应用开发者201能够在终端202处进行测试,在该终端中可为应用开发者201示出可发现性实例将如何在用户装置处被提供用于输出的实例,诸如可发现性实例的通知将如何出现在用户装置的显示器处,或者当由用户装置播放时将如何发出声音。在一些实现方式中,应用开发者201可指定独立于终端201的一个或多个其它用户装置,可发现性实例可在这些其它用户装置上进行测试,以确定可发现性实例当呈现在不同用户装置处时如何出现或者如何发出声音。如果应用开发者201许可可发现性实例,则可发现性实例201可在终端202处提供输入以配置该可发现性实例,从而使可发现性实例在用户装置处被输出。此外,在一些实现方式中,应用开发者201能够撤销对可发现性实例的配置,使得可发现性实例不在能够在用户装置处被提供用于输出。
[0106]
图3示出了一种语音动作系统300,其被配置成在用户装置304处呈现可发现性实例,以将可触发语音动作的触发短语通知给用户装置304的用户305。在一些实现方式中,语音动作系统300可被包括在用户装置304中,使得用户装置304可在不与另一系统通信的情况下将用于输出的可发现性实例提供给用户304。在其它实例中,语音动作系统300可独立于用户装置304,并且用户装置304在提供用于输出的可发现性实例时可通过一个或多个有线或无线数据路径与语音动作系统300通信。
[0107]
简单地说,语音动作系统300可包括与图1a和图1b的语音识别引擎130类似的语音识别引擎330、与图1a至图1c的场境分析引擎140类似的场境分析引擎340、匹配器350、消歧引擎360和格式化引擎380。匹配器350可访问应用元数据后端310,所述应用元数据后端310包括能够在用户装置340处被提供用于输出的一个或多个可发现性实例。消歧引擎360可访问包括表示在用户装置304处执行的过去操作的信息的用户活动历史370。此外,格式化引擎380可访问表示与在用户装置304处用于输出的可发现性实例的格式化相关的信息的用户装置信息390。在一些实现方式中,诸如当语音动作系统300被包括在用户装置104中时,语音动作系统300可包括与图1c的应用接口190类似的应用接口(未示出)。
[0108]
可发现性实例可响应于确定用户305已请求可发现性实例或者响应于确定已满足与提供用于输出的可发现性实例相关的条件,而在用户装置304处被提供以用于输出。例如,如图3所示,用户305可将语音输入“what voice commands can i say?”提供至用户装置304。与语音输入对应的音频数据可被提供至语音识别引擎330,并且可基于音频数据生成转录“what voice commands can i say?”。转录“what voice commands can i say?”可例如由语音动作系统300的匹配器350解释为对可发现性实例的请求。
[0109]
在其它情况中,不同的用户输入(诸如,不同的语音输入、选择“帮助(help)”按钮、在用户装置304的控制机构处的按压保持输入,或者其它用户输入)可导致语音动作系统确定在用户装置304处提供可发现性实例以用于输出。在再其它情况中,其它信息引起语音动作系统300确定提供可发现性实例,诸如表示用户装置304的状态、用户装置304上的操作的应用或用户装置304的操作系统变化的信息。在一些实例中,可发现性实例可基于确定用户305已将不匹配任意特定语音动作触发短语的语音输入提供至用户装置304而在用户装置304处被提供用于输出。在这种实例中,基于确定可发现性实例可对应于用户想要在用户装置304处执行的动作,可选择提供至用户305的可发现性实例。
[0110]
基于确定在用户装置304处提供用于输出的可发现性实例,表示用户装置304、安装在用户装置304上的一个或多个应用或者用户装置304的操作系统的状态的场境信息可被提供至语音动作系统300。例如,语音动作系统300可确定在用户装置104处提供可发现性实例以用于输出,并且作为响应可获得场境信息。在其它实现方式中,语音动作系统300可响应于接收场境信息而确定在用户装置304处提供可发现性实例。例如,语音动作系统300可响应于用户装置304的一个或多个硬件部件、安装在用户装置304上的一个或多个应用或者用户装置304的操作系统将表示其状态的信息提供至语音动作系统300,确定在用户装置304处提供可发现性实例以用于输出。在一些实现方式中,语音动作系统300可以规则间隔或连续地获得或提供有场境信息。
[0111]
场境信息可由场境分析引擎340接收,其中场境分析引擎340可处理场境信息以确定相关的场境。例如,如前文讨论的,场境分析引擎340可接收表示用户装置304的多个部件、安装在用户装置304上的多个应用或者在用户装置304上操作或与其关联的一个或多个操作系统的状态的场境信息。场境分析引擎340可从所接收的信息确定用户装置304的相关场境。场境分析引擎340可过滤不必要的场境信息以得到相关场境、可解释所接收的场境信息以确定相关场境,或者可以其它方式使用所接收的场境信息以确定相关场境。
[0112]
对于图3所示的实例,例如,场境分析引擎340可接收表示媒体播放器应用在用户装置304的前端操作、媒体播放器应用以音频播放器模式操作以及用户装置304的电池寿命为50%的场境信息。场境分析引擎340可过滤出电池寿命场境信息,以生成仅表示媒体播放器应用在前端操作且其处于音频播放器模式的相关场境。在另一实例中,场境分析引擎340接收表示媒体播放器应用在用户装置304的前端操作、用户装置305的耳机插孔提供输出并且用户装置304的显示器当前灰暗的场境信息。场境分析引擎340可解释所接收的场境信息以确定相关场境。例如,场境分析引擎340可确定在前端操作的媒体播放器应用可能处于音频播放器模式,这是因为在显示器灰暗时耳机插孔提供声音输出。
[0113]
由场境分析引擎340确定的相关场境被提供至匹配器350,其中匹配器350识别可在用户装置305、安装在用户装置305上的应用或者用户装置305的操作系统的给定当前状态下提供以用于在用户装置305上输出的可发现性实例。匹配器350可选择与匹配由匹配器350确定的相关场境的场境相关的这些可发现性实例。为了确定与从场境分析引擎340接收的相关场境匹配的可发现性实例,匹配器350将相关场境与由存储在应用元数据后端310中的一个或多个可发现性实例指定的场境相比较。例如,如关于图2讨论的,应用元数据后端310可存储可与有关于多个不同应用、装置或操作系统的多个语音动作相关联的多个可发现性实例。应用元数据后端310中的每个可发现性实例可指定表示对应语音动作何时可用以触发的场境,其还限定了可发现性实例何时可提供用于在用户装置处输出。通过将所接收的场境与由应用元数据后端310中的可发现性实例指定的场境相比较,匹配器350识别适于在用户装置304处被提供用于输出的一组候选可发现性实例。
[0114]
在图3所示的实例中,例如,匹配器350可将表示媒体播放器应用在前端操作且处于音频播放器模式的场境与存储在应用元数据后端310中的多个可发现性实例相比较。基于该比较,匹配器可识别与可由用户给出的本场境触发的语音动作对应的一组四个可发现性实例。这些可发现性实例可包括例如:用于“skip ahead”语音动作的可发现性实例;用于“pause”语音动作的可发现性实例,以用于控制媒体播放器应用使在音频播放器应用中播
放的一首歌曲暂停;用于“搜索类似歌曲(search for similar songs)”语音动作的可发现性实例,其控制媒体播放器应用在数据库或互联网搜索确定为与媒体播放器应用中当前播放的歌曲类似的歌曲;以及用于“home”语音动作的可发现性实例,其控制用户装置304返回到用户装置304的主屏(例如,操纵系统在用户装置304的显示器处呈现给用户的桌面或菜单)。
[0115]
匹配器350可识别候选可发现性实例,并且可将候选可发现性实例提供至消歧引擎360。在一些实现方式中,将候选可发现性实例提供至消歧引擎360可需要将与候选可发现性实例对应的数据项发送至匹配器350。在其它实现方式中,消歧引擎360可在应用元数据后端310访问候选可发现性实例,使得匹配器350仅需要将识别候选可发现性实例的信息提供至消歧引擎360,而无需将与候选可发现性实例对应的数据项发送至消歧引擎360。在一些实例中,识别候选可发现性实例包括将一个或多个版本的候选可发现性实例识别为候选可发现性实例。例如,“skip ahead”语音动作可关联于各自指定与从场境分析引擎340接收的场境相对应的场境的多个可发现性实例,诸如文本通知可发现性实例,以及口述文字音频通知可发现性实例,并且文本通知和口述文字音频通知两者可被提供或识别至消歧引擎360。
[0116]
消歧引擎360可接收候选可发现性实例,或从匹配器350识别候选可发现性实例的信息,并且可从候选可发现性实例之中选择一个或多个可发现性实例以提供用于输出至用户装置304。在一些实现方式中,消歧引擎360可基于用户活动历史370的细节、基于用户装置304的呈现可发现性实例的能力或者基于用户装置304的状态,而从候选可发现性实例之中选择可发现性实例。由消歧引擎360选择的可发现性实例的数量可取决于例如待呈现给用户的可发现性实例的类型,例如输出给用户305的可发现性实例是否是文本、图像、音频、视频等。所选的可发现性实例的数量还可取决于用于装置304的能力,例如,基于用户装置304的显示尺寸,其可为在用户装置304处可呈现的文本或图像通知的数量的限制因素。其它因素也可通过消歧引擎360影响可发现性实例的选择。例如,在一些实现方式中,消歧引擎可接收表示对于待显示的可发现性实例的数量的用户喜好、用户装置304的显示尺寸的信息或其它信息,并且所接收的信息可影响所选的指定可发现性实例,或者由消歧引擎360选择的可发现性实例的数量。
[0117]
例如,消歧引擎360可访问表示在用户装置304处先前执行的操作的用户历史370,并且消歧引擎360可基于用户历史370选择提供用于输出的可发现性实例。在一些实现方式中,用户历史370可表示在用户装置304处在媒体播放器应用中先前执行的操作;当用户装置304匹配当前场境时、当媒体播放器应用的状态匹配当前场境时、当用户已请求表示可用语音动作的可发现性实例时在用户装置304处先前执行的操作;或者可另外表示在用户装置304处执行的用户操作的历史。消歧引擎360可依靠用户历史370来识别在用户装置304处提供用于输出的可发现性实例。例如,消歧引擎360可确定用户在先前在前端操作媒体播放器应用且其处于音频播放器模式时已经在一首歌曲中先前进行了前跳(例如,快进),并且可因此选择用于“skip ahead”语音动作的可发现性实例作为在用户装置304处待输出的可发现性实例。
[0118]
消歧引擎360可另外利用用户活动历史370从由匹配器350识别的候选可发现性实例之中选择可发现性实例。例如,消歧引擎360可访问用户活动历时370,并且可基于表示用
户先前已执行与特定候选可发现性实例对应的语音动作的用户活动历时370,而确定选择特定候选可发现性实例,可基于表示用户先前已执行与特定候选可发现性实例对应的语音动作的用户活动历史370,而不选择特定候选可发现性实例,可基于确定用户先前或近来已键入类似于与特定候选可发现性实例相关的触发短语的输入,而选择特定候选可发现性实例,可基于确定用户先前已在用户装置304处执行与特定候选可发现性实例所关联的动作相匹配的操作,而选择特定候选可发现性实例,或者消歧引擎360可以其它方式利用用户活动历时370来选择特定候选可发现性实例。
[0119]
在一些实现方式中,消歧引擎360可利用其它可用信息来选择可发现性实例。例如,消歧引擎360可访问关于用户装置304的信息,诸如用户装置信息390,或用户装置304的状态,诸如从用户装置304接收的场境消息,并且可基于可用信息选择可发现性实例。例如,消歧引擎360可访问表示用户装置304不具有显示器的信息,并且因此,消歧引擎360可仅选择音频可发现性实例,这是因为文本、图像或视频可发现性实例在用户装置304处不能被有效地提供用于输出。可替换地,如果消歧引擎360访问表示用户装置304具有显示器且当前处于“静音(silent)”模式的信息,则消歧引擎360可选择是文本或图像可发现性实例而不是音频或视频可发现性实例的候选可发现性实例,这是因为在用户装置304处于“静音”模式时,用于这些可发现性实例的音频不能输出。消歧引擎360可依赖于其它信息,诸如用户喜好,其表示用户305在从候选可发现性实例之中进行选择时接收某一类型可发现性实例的喜好。
[0120]
在一些实现方式中,消歧引擎360可基于访问的信息(诸如用户活动历时370)、基于将排名或相关分数分配至候选可发现性实例,而在候选可发现性实例之中进行选择。例如,消歧引擎360可使用访问的信息来根据可发现性实例与用户装置304的感知相关性、用户的期望意图或其它标准将这些可发现性实例排名,并且可基于该排名从候选可发现性实例中选择。此外,在一些实现方式中,一个或多个可发现性实例可以是在用户装置304处通常呈现给用户的可发现性实例。例如,用于控制用户装置304返回至前一屏的“后退(back)”语音动作的可发现性实例通常可被选择用于输出,或者通常可在满足与“后退”语音动作相关的特定场境时被选择用于输出。
[0121]
在一些实现方式中,消歧引擎360可以不同方式选择在用户装置304处提供用于输出的不同组的候选可发现性实例。例如,消歧引擎360可将待输出的一些候选可发现性实例识别为音频通知,并将待输出的其它候选可发现性实例识别为文本通知。在一些实例中,消歧引擎360可确定一些可发现性实例应输出在用户装置304处显示的用户界面的主可发现性实例窗口或屏面,并且可将候选可发现性实例选择为包括在下拉菜单中、用户界面的“查看更多(view more)”区域、或者用户界面的其它独立区域中。
[0122]
所选的候选可发现性实例或者表示所选的可发现性实例的信息可被传输至格式化引擎380,其中格式化引擎380可将所选的可发现性实例格式化用于在用户装置304处输出。例如,格式化引擎380可访问表示用户装置的与在用户装置304处呈现可发现性实例相关的特征的用户装置信息390,并且可基于用户装置信息390,在用户装置304处准备用于输出的可发现性实例。用户装置信息390可包括例如显示尺寸、分辨率、色谱、刷新率或其它参数、音频输出频率范围或其它扬声器或耳机插孔输出参数、应用编程接口协议或输入/输出格式,或者与在用户装置304处提供用于输出的可发现性实例相关的其它信息。
[0123]
格式化引擎380可接收或访问由消歧引擎370选择的候选可发现性实例,并且可将所选的候选可发现性实例格式化用于在用户装置304处输出。例如,格式化引擎380可接收所选的候选可发现性实例数据项,或者可在应用元数据后端310访问所选的候选可发现性实例,并且基于格式化所选的候选可发现性实例,可提供格式化的可发现性实例用于在用户装置304处输出。例如,基于消歧引擎360选择用于“skip ahead”语音动作、“pause”语音动作和“home”语音动作的候选可发现性实例,格式化引擎380可将所选的候选可发现性实例格式化,并且可控制用户装置304以提供格式化的可发现性实例用于输出。例如,如果每个所选的候选可发现性实例都是表示用于触发与所选可发现性实例对应的语音动作的触发词项的文本通知,则格式化引擎380可将文本通知格式化,并且可使格式化的文本通知被提供以用于在用户装置304的显示器处输出。由此,可通过呈现短语“try saying:(尝试说:)”,之后呈现用于触发“skip ahead”语音动作、“pause”语音动作和“home”语音动作的触发短语,可在如图3所示的用户装置304处输出格式化的可发现性实例。
[0124]
用户305可被呈现识别触发短语“skip ahead”、“pause”和“home”的文本通知,并且基于在用户装置304处提供的可发现性实例,用户305可提供语音输入以触发与建议的触发短语对应的一个语音动作。例如,用户305可响应于被呈现可发现性实例而提供语音输入“skip ahead”,以控制在用户装置304前端操作的媒体播放器应用在媒体播放器应用当前播放的一首歌曲中前跳一预定时间量。
[0125]
图4是用于建立并提供可发现性实例用于在用户装置处输出的示例性过程400的流程图。在一些实现方式中,过程400可由语音动作系统执行,诸如图1a至图1c中的语音动作系统100。
[0126]
语音动作系统接收指定触发软件应用以执行新语音动作的触发词项和指定当可触发新语音动作时软件应用的状态的场境的数据(402)。例如,应用开发者101a

101n使用终端102a

102n可将信息提交至语音动作系统100,以用于对安装在一个或多个用户装置104处的应用限定新语音动作。由应用开发者101a

101n提交的信息可指定当可在用户装置104处触发新语音动作时软件应用的状态的场境。该信息还可指定用户105可对用户装置104说出以触发语音动作的触发词项。
[0127]
例如,应用开发者101a

101n可将为媒体播放器应用限定新“skip ahead”语音动作的信息提交至语音动作系统100,其控制媒体播放器应用在媒体播放器应用当前播放的一首歌曲中前跳一预定时间量。提交的信息可包括表示触发短语“skip ahead”将用于触发新语音动作的信息,并且该语音动作可仅在媒体播放器应用在用户装置104的前端操作且以音频播放器模式操作时被触发。提交的信息还可包括其它信息,诸如表示待响应于语音动作被触发而执行动作的信息或其它信息。
[0128]
语音动作系统接收限定用于新语音动作的可发现性实例的数据,其中,限定可发现性实例的数据包括在软件应用的状态满足特定场境时触发软件应用执行新语音动作的一个或多个触发词项(404)。例如,应用开发者101a

101n可将指定用于新语音动作的可发现性实例的信息提交至语音动作系统100。由应用开发者101a

101n提交的且由语音动作系统100接收的信息可指定在用户装置104处可由用户105使用以触发新语音动作的一个或多个触发词项。这样,应用开发者101a

101n可指定在安装在用户装置104上的软件应用的状态满足用于新语音动作的特定场境时在用户装置104处使通知被提供用于输出的可发现性
实例,其中该通知给用户105呈现一个或多个触发词项,以通知用户105触发词项可用于触发新语音动作。
[0129]
在一些实现方式中,限定新语音动作的信息可为特定需要的格式,其使用户装置能使用可发现性实例来提供一个或多个触发词项的通知。在其它实现方式中,语音动作系统100可从应用开发者101a

101n接收识别用于新语音动作的一个或多个触发词项的信息,或其它信息,但其不是特定需要的格式。为了在这些情况中生成可发现性实例,语音动作系统100可导入所接收的数据以生成限定可发现性实例的数据,其中,通过导入过程生成的限定可发现性实例的数据为特定需要的格式。在其它实现方式中,语音动作系统100可仅基于所接收的指定新语音动作的信息(诸如指定触发软件应用以执行新语音动作的触发词项的信息)生成可发现性实例。在其它实例中,语音动作系统100可基于所接收的指定新语音动作的信息,并基于指定关于由语音动作系统100确定的或在语音动作系统100处从应用开发者101a

101n接收的信息的其它信息,来生成可发现性实例。这种信息可包括例如与可发现性实例相关的通知的内容。在其它实例中,语音动作系统100可确定一个或多个候选可接受实例,并且接收限定可发现性实例的数据可包括由应用开发者101a

101b对候选可发现性实例中的特定一个的选择。
[0130]
例如,语音动作系统100可从应用开发者101a

101n接收限定用于“skip ahead”语音动作的可发现性实例的信息,其中限定可发现性实例的数据指定触发短语“skip ahead”,其触发媒体播放器应用在媒体播放器应用当前播放的一首歌曲中前跳一预定时间量。从应用开发者101a

101n接收的信息可为特定需要的格式,或者语音动作系统100可导入指定用于“skip ahead”语音动作的可发现性实例的信息以生成具有特定需要格式的可发现性实例。在其它实例中,语音动作系统100可导入指定“skip ahead”语音动作本身的信息,即不接收单独地限定用于“skip ahead”语音动作的可发现性实例的其它信息,以生成限定“skip ahead”语音动作的数据。在其它实现方式中,语音动作系统100可基于所接收的信息确定用于“skip ahead”语音动作的候选通知,并且应用开发者101a

101n可选择特定候选。语音动作系统100可接收限定所选的候选可发现性实例的信息,或者可接收表示特定候选的选择的信息,并且响应于该选择,可根据该选择生成用于“skip ahead”语音动作的可发现性实例。所生成的可发现性实例可包括用于通知的信息,诸如文本、图像、音频或视频通知,其表示用于触发语音动作的触发词项“skip ahead”。在一些实例中,应用开发者101a

101n可提交包括通知内容的额外信息,并且语音动作系统100可生成包括该通知内容的用于“skip ahead”语音动作的可发现性实例。
[0131]
在一些实现方式中,限定可发现性实例的数据与语音动作系统100处的软件应用相关,以使安装有软件应用的用户装置104在安装在用户装置104上的软件应用的场境满足指定的场境时,提供用于输出的通知。例如,语音动作系统100可将可发现性实例与软件应用相关地存储在语音动作可发现型数据库170处。一旦与软件应用相关地存储,在软件应用的场境满足为新语音动作指定的场境时,就可将可发现性实例提供用于输出至用户装置104的用户105。
[0132]
语音动作系统从安装有软件应用的用户装置接收对用于软件应用的可发现性实例的请求(406)。例如,一旦可发现性实例被存储在语音动作可发现性实例数据库170处,如图1c所示,语音动作系统100就可接收来自用户装置104的对用于软件应用的可发现性实例
的请求。用户装置104可基于任意数量的原因请求用于软件应用的可发现性实例。例如,用户装置104可基于确定软件应用的状态变化而请求用于安装在用户装置104处的软件应用的可发现性实例,可基于用户装置104的用户105启动软件应用或将软件应用置于用户装置104的前端而请求用于应用的可发现性实例,可基于周期性安排或由用户105设定的安排而请求用于应用的可发现性实例,或者可以其它方式从语音动作系统100请求用于软件应用的可发现性实例。在一些实例中,从用户装置104接收的对可发现性实例的请求可包括表示安装在用户装置104处的软件应用的状态的场境信息,使得语音动作系统100可利用该场境信息选择可发现性实例以提供给用户装置104。
[0133]
语音动作系统响应于该请求将限定可发现性实例的数据提供至用户装置,其中,用户装置被配置成至少基于限定可发现性实例的数据,在软件应用的状态满足特定场境时提供一个或多个触发词项的通知(408)。例如,响应于从用户装置104接收的请求,语音动作系统100可将限定用于新语音动作的可发现性实例的数据提供至用户装置104,以用于存储在用户装置104处,诸如在用户装置104的应用元数据后端180。在一些实现方式中,如图1b所示,语音动作系统100能够确定从用户装置104接收的场境信息,例如作为对可发现性实例的请求或与对可发现性实例的请求一起地,满足为新语音动作指定的场境,并且因此可确定将限定用于新语音动作的可发现性实例的数据提供至用户装置104,以在用户装置104处控制或触发与可发现性实例相关的通知的输出。在其它实例中,如图1c所示,语音动作系统100可响应于所接收的请求,而将限定可发现性实例的数据提供至用户装置104,并且可将与新语音动作相关的限定可发现性实例的数据存储在应用元数据后端180。将限定可发现性实例的数据存储在应用元数据后端180可将用户装置104配置成输出与可发现性实例相关的通知。例如,当用户装置104确定安装在用户装置104上的软件应用的状态满足为新语音动作指定的场境时,用户装置104可在用户装置104处提供用于触发新语音动作的一个或多个触发词项的通知以用于输出。
[0134]
例如,用于“skip ahead”语音动作的可发现性实例可被存在于与媒体播放器应用相关的语音动作可发现性实例数据库170处。当语音动作系统100从用户装置104接收的场境信息,具有或作为对可发现性实例的请求,被确定为满足为“skip ahead”语音动作指定的场境时,用于“skip ahead”语音动作的可发现性实例被提供至用户装置104。由用户装置104接收的可发现性实例使文本通知“try saying

skip ahead
’”
在用户装置104处被提供用于输出。在另一实例中,语音动作系统100可响应于对可发现性实例的请求,而将限定用于“skip ahead”语音动作的可发现性实例的数据提供至用户装置104。用户装置104可将用于“skip ahead”语音动作的可发现性实例存储在例如应用元数据后端180处,或者通过将用于“skip ahead”语音动作的可发现性实例缓存在用户装置104的缓冲存储器中,来存储用于“skip ahead”语音动作的可发现性实例。用户装置104然后能够在确定出媒体播放器应用的状态满足为“skip ahead”语音动作指定的场境时,提供用于输出的文本通知“try saying

skip ahead
’”
。例如,文本通知可呈现在显示于用户装置104处的用户界面的语音面板区域中,其被配置成呈现用于语音动作的可发现性实例。可替换地,通知可被呈现在显示于用户装置104处的搜索结果页面中,可被提供用于输出在显示于用户装置104处的用户界面中的独立窗口中,可在用户装置104处被提供为音频、图像或视频,或者以其它方式在用户装置104处被提供用于输出。
[0135]
已描述的多个实现方式。然而,将理解到,在不背离本公开的实质和范围的情况下可做出各种修改。例如,可以使用上述流程的各种形式,其中步骤被重新排序、被添加或被去除。因此,其它实现方式在所附权利要求的范围内。
[0136]
对于本文讨论的系统和/或方法可收集关于用户的个人信息或者可使用个人信息的情况而言,用户可被提供有机会来控制程序或特征是否收集个人信息,例如,关于用户社交网络、社交动作或活动、职业、喜好或当前位置的信息,或者控制系统和/或方法是否和/或如何执行与用户更为相关的操作。此外,某些数据在其被存储或使用之前可通过一种或多种方式隐去,使得去除个人可识别信息。例如,用户的身份可被隐去使得不存在可确定用户的个人可识别信息,或者用户的地理位置可被泛化为所获得的位置信息,诸如城市、zip代码或州级别,使得用户的具体位置不能被确定。由此用户可控制如何收集及使用与他或她相关的信息。
[0137]
虽然主要参考用于结合安装在用户装置上的应用使用的语音动作的开发而描述了前面的实施例,但所描述的特征也可用于机器、其它装置、机器人或其它系统。例如,图1a至图1c的语音动作系统100可用于开发和实现用于与机械(其中机械具有相关的计算系统)交互的语音动作和可发现性实例,可用于开发和实现用于与机器人或具有机器人不见的系统交互的语音动作,可用于开发和实现用于与电气用具、娱乐系统或其它装置交互的语音动作,或者可用于开发和实现用于与车辆或其它运输系统交互的语音动作。
[0138]
在本说明书中描述的功能操作的实施例和全部内容可在数字电子电路、或在计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等价物)或者这些中的一个或多个的组合中实现。实施例可被实现为一个或多个计算机程序产品,即,用于由数据处理设备执行的或用于控制数据处理设备的操作的在计算机可读介质上代码的计算机程序指令的一个或多个模块。计算机可读介质可为机器可读存储装置、机器可读存储基质、存储装置、影响机器可读传播信号的物质的复合物,或者这些中的一个或多个的组合。术语“数据处理设备”包含用于处理数据的所有设备、装置及机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该设备还可包括生成用于相关的计算机程序的执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或这些中的一个或多个的组合的代码。传播信号是人工生成的信号,例如,机器生成的电信号、光信号或电磁信号,该信号被生成以代码用于传输至合适接收设备的信息。
[0139]
计算机程序(也被称为程序、软件、软件应用、脚本或代码)可通过任意形式的编程语言撰写,包括编译语言或解释语言,并且其可配置成任意形式,包括作为独立程序或作为适于在计算环境中使用的模块、部件、子程序或其它单元。计算机程序无需对应于文件系统中的文件。程序可被存储在保持其它程序或数据的文件的一部分(例如,存在标记语言文档中的一个或多个脚本)中、存储在专用于相关程序的单个文件中,或者存储在多个协调一致的文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可被配置成在位于一个位置处的一台计算机上或在分布于多个位置且由通信网络互连的多台计算机上执行。
[0140]
本说明书中描述的过程和逻辑流可由一个或多个可编程处理器执行,所述一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据操作并生成输出来执行功能。过程和逻辑流也可由专用逻辑电路执行,并且装置也可实现为专用逻辑电路,例如
fpga(现场可编程门阵列)或asic(专用集成电路)。
[0141]
适用于执行计算机程序的处理器包括例如通用和专用微处理器两者,以及任一种类数字计算机中的任一或多个处理器。通常,处理器将从只读存储器或随机存储存储器或这两者接收指令和数据。
[0142]
计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器。通常,计算机还将包括用于存储数据的一个或多个大容量存储装置,或操作地联接至大容量存储装置以从其接收数据或向其传输数据,例如磁盘、磁光盘或光盘。然而,计算机不必然具有这样的装置。此外,计算机可嵌入在另一装置中,例如平板计算机、移动电话、个人数字助理(pda)、移动音频播放器、全球定位系统(gps)接收器等等。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储装置,包括例如半导体存储装置,例如eprom、eeprom和闪存装置;磁盘,例如内置硬盘或移动硬盘;磁光盘;和cdrom和dvdrom盘。处理器和存储器可由专用逻辑电路补充或结合在专用逻辑电路中。
[0143]
为了提供与用户交互,实施方式可被实现为这样的计算机,其具有:显示装置,例如crt(阴极射线管)或lcd(液晶显示)监视器,用于将信息显示给用户;键盘和定位装置,例如鼠标或轨迹球,用户借此可向计算机提供输入。其它类型的装置也可用于提供与用户交互;例如,提供至用户的反馈可为任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且以任何形式接收来自用户的输入,包括声音、语音或触觉输入。
[0144]
实施方式可被实现在一种计算系统中,该计算系统包括后端部件(例如,数据服务器),或包括中间件部件(例如,应用服务器),或包括前端部件(例如,具有图形用户界面或web浏览器的客户端计算机,用户可经由其与实现方案交互),或者包括一个或多个这种后端部件、中间件部件或前端部件的任意组合。系统的部件可由任意形式或媒介的数字数据通信(例如,通信网络)互连。通信网络的实例包括局域网(“lan”)和广域网(“wan”),例如互联网。
[0145]
计算系统可包括客户端和服务器。客户端和服务器通常彼此远离,并且通常经由通信网络交互。客户端和服务器的关系借助于在相应计算机上运行的且彼此具有客户端

服务器关系的计算机程序而出现。
[0146]
虽然本说明书包含许多细节,但这些不应被解释对本公开或所要求保护的范围的限制,而是被解释为对特定实施例的特定特征的描述。本说明书中在单独实施例的情形中描述的各种特征也可在单个实施例中组合实现。相反,在单个实施例的情形中描述的各种特征也可在多个实施例中单独地或以任意合适的子集来实现。此外,虽然上述特征被描述为用在某些组合中起作用,并且甚至初始地要求保护,但要求保护的组合的一个或多个特征在一些情况中可从组合中去除,并且所要求保护的组合可用于子集或子集的变型。
[0147]
类似地,虽然在附图中以特定顺序描述了操作,但这不应被理解为需要这些操作以所示的特定顺序或以连续地顺序执行,或者所有示出的操作都被执行,以获得期望的结果。在某些情况中,多任务和并行处理可以是有利的。此外,在上述实施例中的各种系统部件的分离不应被理解为在所有实施例中都需要这种分离,并且应该理解到,所描述的程序部件和系统通常可一起集成在单个软件产品中或者封装到多个软件产品中。
[0148]
在提及html文件的每种实例中,其它文件类型或格式也可代替。例如,html文件可
由xml、json、纯文本或其它类型的文件替换。此外,在提及表或哈希表的情况下,其它数据结构(诸如,电子表格、关系数据库或结构文件)也可使用。
[0149]
由此,已描述了特定实施例。其它实施例在所附权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行,并且仍可获得期望的结果。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献

  • 日榜
  • 周榜
  • 月榜