列表累积和提醒触发的制作方法

文档序号:11161090阅读:241来源:国知局
基于云的服务,搜索引擎和其它服务及媒体的出现在过去十年中大大扩展了用户设备的效用。许多用户设备,特别是移动设备和智能电话,现在提供除了语音和数据访问之外的服务和应用。此外,随着语音转文本处理系统的近期出现,许多用户现在希望其用户设备具有流畅和直观的用户体验。许多可供用户使用的应用服务通过使用命令输入来实例化。一种这样的服务是设定提醒。例如,用户可以在智能电话中说出(或键入)输入[提醒我今晚买牛奶],并且智能电话使用命令解析应用(或者,替选地,与命令解析服务通信)将调用可以从用户征求附加信息的提醒过程。如果用户希望在某个时间提醒,这样的信息可以是时间,或者如果用户希望在用户到达某个位置时被提醒,这样的信息可以是位置。尽管这样的提醒的设定对相对流畅的用户体验非常有用,但是用户必须指定时间或位置,并且在后者的情况下,可能需要用户搜索特定位置,诸如杂货店的地址。技术实现要素:本说明书涉及用户设备的列表累积和提醒触发。一般来说,本说明书中描述的主题的一个创新方面可以体现在包括以下动作的方法中:在数据处理装置处接收包括多个词项的第一输入;由所述数据处理装置确定所述第一输入中的所述词项中的一个或多个词项指定了属于提醒类别的项,所述提醒类别与属于所述类别的项集相关联,并且可以为项生成提醒;以及响应于所述确定,存储将提醒类型与由所述一个或多个词项指定的项相关联的数据。该方面的其它实施例包括对应的系统、装置和编码在计算机存储设备上的被配置为执行所述方法的动作的计算机程序。可以实现本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。下面描述的主题的实现允许在创建提醒时非常流畅和直观的用户体验。属于特定类别的项(诸如属于杂货类别的杂货项或属于电影类别的电影项)的识别允许特定于相应类别的提醒类型的选择。在许多情况下,这使得用户不必为了提醒触发指定特定时间或搜索特定位置。相反,可以基于项和类别自动选择提醒触发,或者可替选地,可以将提醒触发提供给用户以进行确认。这减少了用户设定提醒所需的时间和精力,并且在一些实施方式中,可以通过仅说出短句来完成设定提醒或者创建受提醒的列表项。在下面的附图和描述中阐述了本说明书中描述的主题的一个或多个实施例的细节。根据描述、附图和权利要求,本主题的其它特征、方面和优点将变得显而易见的。附图说明图1是其中处理用于列表累积和提醒触发的命令输入的环境的框图。图2A是用于生成触发提醒列表的示例过程的流程图。图2B是用于生成触发提醒列表的另一示例过程的流程图。图3A是用户设备处的用户界面的图示,其中呈现属于第一类别的项的提醒以用于确认。图3B是用户设备处的用户界面的图示,其中呈现属于第二类别的项的提醒以用于确认。图4是用于选择提醒列表的示例过程的流程图。图5A是用户设备处的用户界面的图示,其中呈现属于第一类别的项的提醒列表。图5B是用户设备处的用户界面的图示,其中呈现属于第二类别的项的提醒列表。图6是用于响应于提醒事件的触发而呈现项的列表的示例过程的流程图。图7A是用户设备处的用户界面的图示,其中显示响应于第一提醒类型的提醒事件的触发的项列表。图7B是用户设备处的用户界面的图示,其中显示响应于第二提醒类型的提醒事件的触发的项列表。图8是示例移动计算设备的框图。各种附图中相似的附图标记和指定指示相似的元件。具体实施方式提醒处理系统便于自动生成受制于特定提醒类型的提醒的项和动作的列表。在操作中,提醒处理系统接收输入词项集。这些词项被解析并与提醒类别数据集(例如类别词典)进行比较。当输入包括指定属于提醒类别的项的词项时,系统存储将提醒类型与由该一个或多个词项指定的项相关联的数据。提醒类型指定触发事件,并且可以取决于项和类别而改变。例如,属于杂货类别的杂货项可以具有指定提醒时间的“何时”类型提醒、或指定杂货店或杂货店集合的“何地”类型提醒。相反,诸如电影标题的电影项可以具有“发行”类型提醒,每个“发行”类型提醒指定不同的发行日期。为了说明,用户可以说出[购买青豆、面包和牛奶],并且作为响应,提醒可以被设定为当用户进入任何杂货店(或者在用户的选项处指定的特定店)时触发针对青豆、面包和牛奶的提醒列表。同样地,用户可以说出[去看哥斯拉],并且作为响应,可以设定提醒在其剧场版发行(或一些其它发行,诸如剧场版发行后的点播或流发行)的日子触发去看电影哥斯拉的提醒。提醒还可以受复杂触发。例如,用户可以陈述[仅当我去生鲜杂货店时才呼叫我的妻子],其中“生鲜杂货店”是特定的杂货店。因此,当用户去杂货店并且杂货项提醒列表被触发时,提醒列表还将包括仅当杂货店是生鲜杂货店时才呼叫他的妻子的用户提醒。同样地,用户可以说出[只有在家中才观看每日报告],并且当节目开始时且仅当用户在家时,观看每日报告节目的提醒才将被触发。提醒处理系统可以在用户设备中实现,或者在与用户设备分离的计算机系统中实现,诸如服务器系统。在后者的情况下,服务器系统从用户设备接收输入并且向用户设备发送数据以用于处理和设定提醒。这些特征和附加特征在下面更详细地描述。图1是其中处理用于列表累积和提醒触发的命令输入的环境100的框图。诸如互联网的计算机网络102或其组合提供电子设备和系统之间的数据通信。计算机网络102可以通过一个或多个网关还包括一个或多个无线网络103或与一个或多个无线网络103进行数据通信。用户设备106是在用户的控制下的电子设备,并且能够通过网络102请求和接收资源、与其它用户设备建立通信信道(例如,语音通信),和还能够执行其它动作。示例用户设备106包括个人计算机、移动通信设备和可以通过网络102发送和接收数据的其它设备。在图1示例中,用户设备106是智能电话。参考下面图8描述示例智能电话。用户设备106可以通过与网络102和103的有线和无线连接在网络102和103上通信。如参考图8所描述的,用户设备可以能够执行用于各种程序和能力的设备动作集。在一些实施方式中,用户设备106使用接收语音输入的语音识别系统执行语言识别处理,并且解析所得到的识别的单词和短语。然后处理所解析的单词和短语以确定语音输入是否调用特定动作或命令。然而,语音识别和语言处理系统不是必需的,这是因为设备也可以接收文本命令输入。用户设备106与用户帐户相关联,诸如由提供多种服务的云服务提供商112托管的帐户。这些服务可以包括web邮件、社交网络、消息、文档存储和编辑等。帐户数据114可以存储用户设备106的帐户所特有的数据。命令处理系统120从用户设备接收命令输入,并处理命令输入以确定响应于命令输入要采取哪个动作(如果有的话)。虽然命令处理系统120在图1中被示为单独的实体,命令处理系统120可以在云服务提供商112中实现,或者甚至在用户设备106中实现。输入可以调用由命令处理系统120确定的各种动作。例如,输入可以被解释为搜索查询命令,在这种情况下,搜索查询被发送到搜索服务。类似地,输入可以被解释为拨打电话呼叫的命令,在这种情况下,用户设备106尝试通过网络103建立语音通信。同样,输入可以被解释为提醒,在这种情况下,可以生成提醒项。下面更详细地描述提醒项的生成和这些项的处理。在一些实施方式中,每一输入由输入解析器122处理,输入解析器122经编程以解析输入项并确定应采取什么动作(如果有的话)。在一些实施方式中,输入解析器122可以访问语言模型以确定采取哪些命令或动作。这样的语言模型可以是基于统计的(例如,模型可以包括分配给被确定为在语义上与特定命令相关的特定单词和短语的权重)或者基于规则的(例如,描述特定命令的句子结构的语法)。可以使用各种其它语言和文本输入处理系统。如上所述,用户可以在用户设备106上输入命令,并且命令处理系统120处理输入的命令以确定所述命令输入是否解析为所述用户设备被配置为执行的用户设备动作。对于本申请的其余部分,处理的示例输入将解析为基于提醒的输入。因此,省略对其它命令输入类型的其它命令处理特征的描述。在一些实施方式中,命令处理系统120包括与输入解析器122通信的提醒处理器124。提醒处理器124还访问提醒类别数据126和提醒列表数据128。在一些实施方式中,提醒类别数据126可以是类别词典的集。每个词典对应于特定类别,并且与属于该类别的项集相关联,并且可以为其生成提醒。例如,“杂货”类别可以与杂货和食品项的列表相关联;“电影”类别可以与电影,演员等的列表相关联;等等。各种不同类别和属于该类别的项可以存储在类别数据126中。为了简单起见,仅使用两个类别示例——杂货和电影来提供系统特征的情景示例。每个提醒类别和项还可以与相应的提醒类型集合相关联。提醒类型是根据该类型所特有的特定事件触发的提醒类型。例如,“何地”类型提醒是当用户设备在由提醒指定的位置处时触发的提醒;“时间”类型提醒是当由提醒指定的时间发生时触发的提醒。一般来说,提醒类型取决于触发它的事件类型。例如,对于电影,提醒类型可以基于特定的发行类型,诸如剧场版发行的发行日期、点播发行的另一发行日期等等。提醒类型可以是一次性的或复发的。一次性事件只发生一次,除非用户重置,否则不会再次发生。例如,特定时间事件(诸如剧场版发行)可以仅在发行日期发生。同样,特定位置事件(诸如当到达商店时)可能仅在用户首次到达商店时发生,并且如果用户再次访问商店则不会发生。然而,复发性事件可以周期性地发生或每次动作发生时发生。例如,每当系列剧集播出时,特定时间事件(诸如系列的每周播出时间)可发生。同样,特定位置事件(诸如当到达商店时)可以由用户指定为复发,使得每次用户到达商店时,触发相应的提醒。因为一些提醒特有于项和类别,与特定项和类别相关联的一些提醒不与其它项或其它类别相关联。例如,杂货类别项不与“剧场版发行日期”时间类型提醒相关联。同样,电影项不与“当在杂货店时”位置类型提醒相关联。提醒列表数据128存储提醒类型与项的关联。在服务器侧处理的情况下,提醒列表数据128可以存储多个用户的关联;相反,在用户设备侧处理的情况下,提醒列表数据128可以存储仅用户设备106的用户的关联。例如,连接到用户设备106的幻影提醒列表数据128指示用户设备具有多个提醒列表RLm,每个提醒列表包括多个提醒{R1m...Rmx}。提醒处理器128更新并维护列表数据128,并且当与提醒类型之一相对应的事件发生时,生成用户设备106的提醒。下面参考图2A、图2B、图4和图6描述提醒处理器的操作。特别地,图2A是用于生成触发的提醒列表的示例过程200的流程图。过程200可以在其中运行提醒处理器120的计算机设备中实现。在一些实施方式中,提醒处理器120可以在用户设备106中实现;在其它实施方式中,提醒处理器120可以在与用户设备106进行数据通信的服务器上运行。例如,云服务提供商112可以在通过网络102和/或103与用户设备106通信的云中的服务器上运行提醒处理器120,并且所述服务器从用户设备接收查询并提供数据作为响应。下面描述的过程220、400和600也可以在用户设备或服务器侧设备中实现。过程200接收第一输入(202)。例如,输入解析器122接收具有一个或多个词项的输入。过程200确定第一输入的一个或多个词项是否指定属于提醒类别的项(204)。例如,解析器122解析输入的词项以生成解析的词项,并且将解析的词项与提醒类别词典比较。每个提醒类别词典对应于与每个其它提醒类别不同的提醒类别,并且存储描述属于该类别的项的词项。如果输入的词项匹配描述提醒类别词典之一中的项的词项,则选择词典对应的提醒类别。例如,对于输入[购买青豆],词项[青豆]匹配杂货项。在一些实施方式中,可以例如通过使用语言模型、语法等来进一步处理输入,以确定输入是否与提醒或一些其它动作有关。例如,语法可以被映射到特定动作。解析[青豆中的维生素]的语法(例如,S→维生素在<杂货项非终端(non-terminal)>)可以映射到搜索查询输入动作,针对该搜索查询输入动作将所述输入提交到搜索引擎作为输入。相反,解析[购买青豆]的语法(例如,S→<购买非终端><杂货项非终端>)可以映射到杂货类别的提醒动作。也可以使用其它语言模型。例如,输入的语义分析可以用于对各种动作评分,并且可以选择具有最高分数的动作。如果过程200未确定第一输入的一个或多个词项指定属于提醒类别的项,则过程200不将输入处理为提醒(206)。然而,可以根据操作或动作来处理输入,例如,作为搜索查询输入,作为拨打电话呼叫的命令等。相反,如果过程200确定第一输入的一个或多个词项指定属于提醒类别的项,则过程200存储将提醒类型与由一个或多个词项指定的项相关联的数据(208)。例如,输入解析器122可以调用提醒处理器124,其访问提醒类别数据126中的提醒词典。根据提醒类别和项,项的提醒类型可以与该项相关联并且存储在提醒列表数据128中。存储可以根据默认参数自动地发生,或者可以受用户构造。在前者的情况下,例如,可以基于项和类别来选择默认提醒类型。例如,对于杂货项,默认提醒类型可以是当用户进入任何杂货店时触发的“何地”类型。相反,对于电影项,默认提醒类型可以是“时间”类型,并且还可以是在剧场版发行日期(或者如果剧场版发行日期已经过去,则是下一个即将到来的媒体发行日期)触发的子类型。提醒处理器124可以实现提醒类型的更复杂的自动选择逻辑。例如,可以基于最可能发生或时间上最接近的事件来选择提醒类型。例如,假设输入是[观看哥斯拉],且电影哥斯拉的剧场版发行日期已经过去了。然而,如果电影仍然在许多影院中放映,则对于其中正放映电影的任何影院位置的何地类型提醒可以与电影项相关联。相反,如果电影在影院下映,但是安排了媒体发行(例如,蓝光)则可以安排蓝光发行的时间类型提醒。作为另一示例,如果电影已经被发行并且仍然在许多影院中上映,那么可以将何地类型提醒和时间类型提醒与该项相关联。何地类型提醒可以是电影正在上映的任何影院位置,并且时间类型提醒可以是星期五晚上6:00以在周末开始时提醒用户。在用户确认的情况下,可以向用户呈现用户界面对话以用于确认和选择提醒类型。图2B是用于生成触发的提醒列表的另一示例过程220的流程图。过程220受用户确认,并且还在图3A和图3B的情景中执行描述。特别地,图3A是用户设备300处的用户界面302的图示,其中呈现属于第一杂货类别的项的提醒以用于确认,并且图3B是用户设备330处的用户界面332的图示,其中呈现属于第二电影类别的项的提醒以用于确认。过程步骤222、224和226类似于上述的过程步骤202、204和206。因此,图2B的描述开始于过程步骤228,其中提醒处理器124基于由输入的一个或多个词项指定的项来选择一个或多个提醒类型,然后提供使得用户设备呈现一个或多个提醒选项的列表的数据(230)。例如,参考图3A,对于在输入字段304中示出的输入306[购买青豆],“何地”类型提醒310由提醒处理器124自动选择并呈现给用户。默认位置是如菜单项312中指示的“杂货店-全部位置”。这种何地类型将在用户设备进入任何杂货店时触发提醒“购买青豆”。用户设备的位置的确定可以通过例如GPS坐标或任何其它适当的过程来完成。然后可以将位置与各种杂货店位置比较。用户还可以选择特定的商店位置,如由幻影列表314所指示的。例如,用户心中可以具有用于特定的非主要商品的特定商店;相反,对于主要商品,用户可能不关心他或她常去哪个杂货店。如果选择了特定位置,则提醒将仅在用户在该位置时触发。用户可以替选地选择不同的提醒类型,诸如何时类型308。在选择何时类型308之后可能需要附加输入,诸如用户指定的时间。另一方面,如图3B所示,对于输入字段334中所示的输入306[观看哥斯拉],提醒处理器124自动选择“何时”类型的提醒338并呈现给用户。默认提醒是如菜单项342中所指示的“所有发行日期”。该时间类型将在每个发行日期的发生时触发提醒,或者直到用户清除提醒。通过将电影项,例如,电影哥斯拉,解析为由第三方提供的电影信息的数据库中的条目来执行发行日期的确定。用户还可以选择发行日期,如幻影列表344所指示的。例如,用户可能希望仅在以“点播”格式发行电影之后观看电影,并且当发行日期发生时将提醒用户。用户可以替选地选择不同的提醒类型,诸如何地类型340。在选择何地类型340之后可能需要附加输入,诸如特定影院的位置。在一些实施方式中,提醒处理器124可以访问词典中描述合格的提醒类型和不合格的提醒类型的数据。合格的提醒类型是仍然可能发生事件的提醒类型;相反,不合格的提醒类型是已经发生并且不会再次发生的事件,或者不能发生的事件的提醒类型。例如,对于已经发生了剧场版发行的电影项,或者对于没有剧场版发行的电影项,将确定“剧场版发行”的提醒类型是不合格的。提醒处理器124然后仅选择合适的提醒类型用于呈现。过程220确定是否选择提醒选项(232)。用户可能不总是选择提醒选项。例如,用户的输入可能不是好的形式,因此错误地触发提醒,或者用户可能决定不存储提醒。如果未选择提醒选项,则输入不被处理为提醒(226)。相反,如果选择了提醒选项,则过程220存储将与所选择的提醒选项相对应的提醒类型与由一个或多个词项指定的项相关联的数据(234)。然后为用户设备106设定对特定类别项的特定类型的提醒。当用户生成对项的提醒时,可以根据类别收集项和提醒,并以提醒列表的形式呈现。例如,用户可以输入命令,该命令在被解析时,解析为动作以显示特定项列表和相应的提醒。图4是用于选择提醒列表的示例过程400的流程图。参照图5A和图5B描述过程400。特别地,图5A是用户设备500处的用户界面502的图示,其中呈现属于第一杂货类别的项的提醒列表,且图5B是用户设备530处的用户界面532的图示,其中呈现属于第二电影类别的项的提醒列表。过程400接收第二输入(402)。例如,输入解析器122接收具有一个或多个词项的输入。过程400确定一个或多个词项是否指定用于处理属于提醒类别的项列表的动作(404)。例如,解析器122解析输入的词项以生成解析的词项,并处理词项以确定输入是否指定了处理项列表的动作。例如,可以使用语法或语言模型来处理所解析的词项以确定输入是否调用显示动作。例如,图5A和图5B的分别的输入[显示我的杂货提醒]和[列出我的电影],可以被解析并且提醒处理器124可以确定所述输入分别调用动作以分别显示杂货提醒的项列表和电影提醒的项列表。如果过程400确定输入未指定用于处理属于提醒类别的项列表的动作,则输入不被处理为项列表请求(406)。然而,输入可以根据操作或动作来处理,例如,作为搜索查询输入,作为拨打电话呼叫的命令等。相反,如果过程400确定输入指定了处理属于提醒类别的项列表的动作,则选择项列表(408)和提供使得用户设备呈现项列表的数据(410)。例如,如图5A所示,输入506[显示我的杂货提醒]导致向用户设备提供使得用户设备显示杂货项列表508的数据(例如,如果过程400在用户设备中实现则由用户设备106生成数据,或者如果过程400由服务提供112实现则由服务器发送数据)。在一些实施方式中,当项列表具有针对项的不同提醒类型时,如项列表分组510、512和514所示,可以根据提醒类型将项分组。还可以使用呈现项列表的其它适当方式。在第一分组510中,当用户进入任何杂货店时将为这些项提供提醒。在第二分组512中,仅当用户进入杂货店“流行”时才提供该项的提醒。在第三分组514中,仅当用户进入杂货店“妈妈”时才提供该项的提醒。作为另一示例,如图5B所示,输入5e6[列出我的电影]导致提供给用户设备的数据使得用户设备显示电影项列表538。再次,如项列表分组540、542和544,可以根据提醒类型对项进行分组。在第一分组540中,项具有两个不同的提醒——剧场版发行和蓝光发行,并且将为每个发行提供对所述项的提醒。在第二分组542中,将仅为蓝光发行提供项的提醒。在第三分组544中,将仅为点播发行提供项的提醒。再次,也可以使用呈现项列表的其它适当方式。例如,用户可以提供输入[显示我的剧场版发行电影]。提醒处理器124通过应用适当的语言模型或语法,将确定第二输入的解析的词项除了类别和/或项之外还指定第一提醒类型——“剧场版发行”。作为响应,提醒处理器124将提供使得用户设备呈现项列表的数据,其中列表中的每个项与第一提醒类型相关联。在这个例子中,只有电影项哥斯拉和摩斯拉将被显示。还可以处理各种其它提醒类型逻辑。例如,用户可以输入[列出除了Pop's之外所有我的杂货]。使用语义语言模型,提醒处理器124将确定不显示为“流行”设定的何地提醒的杂货提醒。因此,仅示出图5A的分组510和514。作为另一示例,还可以示出具有有关触发器的项的列表。可以从来自不同类别的项生成列表,但是其中项具有由输入指定的共同提醒类型。例如,用户可以输入[显示我明天需要做什么]。词项“明天”被解析为具体日期,然后示出在该日期发生的“何时”类型的提醒,例如,可以示出杂货列表,电影和洗衣提醒。同样,用户可以输入[当我在旧金山时我需要做什么]。作为响应,示出了列出与具有位置“旧金山”的“何地”类型提醒相关联的项的提醒的项列表。对于提醒列表中的每个项,提醒处理器124确定是否已经发生满足该项的提醒类型的事件。在发生这样的事件时,显示该项的提醒。图6是用于响应于提醒事件的触发而呈现项列表的示例过程600的流程图。在图7A和图7B的情景中描述了过程600。特别地,图7A是用户设备700处的用户界面702的图示,其中显示响应于触发第一提醒类型(位于特定杂货店的位置)的提醒事件的项列表。同样,图7B是用户设备730处的用户界面732的图示,其中显示响应于触发第二提醒类型(剧场版发行日期)的提醒事件的项列表。过程600确定触发提醒类型的事件已经发生(602)。例如,对于每个事件类型,提醒处理器124收集与事件类型有关的数据,诸如当前位置、当前时间或日期等,并且确定提醒类型的任何事件是否已经发生。当已经发生针对提醒类型的事件时,过程600提供使得用户设备呈现与发生的事件的提醒类型相对应的项的数据(604)。例如,参考图7A,用户已经输入“妈妈”杂货店。相应地,图5A中列出的项的提醒,该事件满足组510和514中的提醒。因此,示出了与组510和514中的提醒相对应的提醒704的列表。同样,参考图7B,电影哥斯拉的剧场版发行日期已经发生。相应地,示出了电影哥斯拉的提醒734。在一些实施方式中,可以提供与提醒相关的附加信息。例如,可以通过选择链接736来示出正在上映电影的影院的列表。除了“何时”和“何地”类型的提醒之外,还可以实现其它提醒类型。例如,如上所述,提醒可以是“一次性”或“复发的”类型提醒。提醒还可以是“截止时间”类型的提醒,其监视列表项的完成,并且仅在截止时间未完成列表项时才提醒用户。在这些实施方式的变型中,截止时间提醒可以在截止时间之前周期性地与直到截止时间的天数一起提醒用户,诸如列表上的项的每日提醒。提醒还可以是行为类型提醒。例如,提醒可以是“到……的途中”类型的提醒,并且将在用户在去往“何地”位置的途中触发。例如,用户可以请求到电影院的导航,并且当提供导航时,还可以提供电影提醒的列表。提醒还可以被组合,例如通过布尔(Boolean)运算符,例如,“何时”AND“何地”,“何时”OR“何地”等。提醒还可以根据它们各自的类别聚类。例如,与杂货和五金器具的类别有关的提醒可以被分组为“差事”类型类别,因为用户通常认为在杂货店和五金商店购物为必需品。相反,与电影、电视、体育赛事等的类别有关的提醒可以被分组为“娱乐”类型类别,因为这样的事件通常被认为是娱乐。用户可以因此说出“向我显示我今天需要做的差事”,并且提醒处理器124将使用户设备呈现属于特定类别聚类的类别的提醒。在一些实施方式中,提醒可以是定性事件而不是可量化事件。例如,用户可以说出[当我有空闲时间时洗衣服]。提醒处理器124可以再次使用语言模型来从词项“当我有空闲时间时”确定约束。然后可以根据约束类型的一个或多个预定义准则来表达约束。例如,对于约束“空闲时间”,准则可以是1)在正常工作时间之外;2)当在家时;和3)不在用户日历上的任何其它约会的一小时内。当满足这些准则时,将生成“洗衣服”的提醒。在一些实现中,提醒项可以链接到提醒列表上的其它项。例如,用户可以说出[当杂货购物时呼叫我的妻子]。然后,即使项“呼叫妻子”不是杂货项,提醒处理器将用“在杂货店”的相应的“何地”类型向杂货项列表添加提醒——呼叫妻子。因此,当满足“在杂货店”的提醒类型时,还将示出“呼叫妻子”的提醒。在一些实施方式中,可以在用户之间共享提醒列表。例如,两个人可以共享杂货项列表,并且随着每个人在一周期间添加项到列表,为每个人更新列表。因此,当满足列表上的提醒的事件发生时,在用户设备上显示列表。在这些实施例的变型中,可以向共享该列表的其他用户提供对提醒被触发的通知。例如,丈夫可以接收通知“你的妻子现在在妈妈杂货店购物,并且已提醒她购买在杂货列表上以下项”以及触发提醒所针对的项列表。尽管已经描述了“杂货”和“电影”类别的示例提醒类型,但是可以使用其它类别的其它提醒类型。例如,对于电视类型提醒,提醒类型可以是“何时”类型,受“提前时间(LeadTime)”的限制(例如,节目开始前一小时),以及“重复”类型,受每集播出的限制。对于与联合节目有关的提醒,提醒还可以是“频道”类型,受在其上播出联合节目的电视台的限制。还可以使用用于诸如书籍、音乐、工作、专业组织等其它主题领域的提醒。尽管响应于用户输入生成了上述示例列表,但是也可以基于所观察的用户行为来生成列表和提醒。例如,提醒创建和完成的用户历史可以用于确定作为建议的提醒正确的提醒项和相应的触发。其它信息(诸如用户位置,用户在提醒被触发之前是否删除提醒等)也可以用于确定提示给用户或者为用户自动设定的提醒。例如,用户可能不频繁地输入特定提醒(例如,“去健身房”)但是然后在触发提醒之前清除提醒。因为观察到的行为是用户可能不认为特定提醒很重要,所以系统学会不应该为用户自动设定该提醒,或甚至向用户建议该提醒。在所述的系统收集关于用户的个人信息或可以利用个人信息的情况下,可以向用户提供控制节目或特征是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、专业、用户的偏好或用户的当前位置的信息),或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容。另外,可以在存储或使用某些数据之前以一种或多种方式来处理这些数据,使得移除个人可识别信息。例如,可以对用户的身份进行处理,使得不能为该用户确定个人可识别的信息,或者可以在获得位置信息的地方对用户的地理位置进行一般化(诸如到城市、ZIP码或州级别),使得不能确定用户的特定位置。因此,用户可以具有对如何收集关于用户并由内容服务器使用的信息的控制。图8是示例移动计算设备的框图。在该图示中,移动计算设备810被描绘为包括用于向移动计算设备810的用户呈现内容及接受基于触摸的用户输入的触摸屏显示设备812的手持移动电话(例如,智能电话或应用电话)。还可以提供其它视觉、触觉和听觉输出部件(例如,LED灯,用于触觉输出的振动机制,或用于提供音调、生成的或记录的语音输出的扬声器),以及各种不同的输入部件。采取显示设备812形式的示例视觉输出机制可以采取具有电阻式触摸功能或电容式触摸功能的显示器的形式。显示设备可以用于显示视频、图形、图像和文本,并且用于将用户触摸输入位置与所显示的信息的位置相协调,使得设备810可以将所显示的项的位置处的用户接触与该项相关联。移动计算设备810还可以采取替选形式,包括作为膝上型计算机、平板(tablet或slate)计算机、个人数字助理、嵌入式系统(例如,汽车导航系统)、桌上型个人计算机或计算机化工作站。移动计算设备810能够确定与触摸屏显示设备812物理接触的位置(例如,手指或触控笔的接触位置)。使用触摸屏812,可以产生各种“虚拟”输入机制,其中用户通过接触图形用户界面元素与触摸屏512上描绘的图形用户界面元素交互。“虚拟”输入机制的示例是“软件键盘”,其中键盘被显示在触摸屏上,并且用户通过按压触摸屏812的对应于每个键的区域来选择键。移动计算设备810可以包括机械的或触摸敏感的按钮818a-818d。另外,移动计算设备可以包括用于调整由一个或多个扬声器820输出音量的按钮,以及用于打开或关闭移动计算设备的按钮。麦克风822允许移动计算设备810将可听声音转换为可以被数字编码并存储在计算机可读存储器中或发送到另一计算设备的电信号。移动计算设备810还可以包括数字罗盘、加速度计、接近传感器、和环境光传感器。操作系统可以提供移动计算设备的硬件(例如,输入/输出机制和执行从计算机可读介质检索的指令的处理器)和软件之间的接口。操作系统可以提供用于执行便于计算设备和用户之间的交互的应用程序的平台。移动计算设备810可以以触摸屏812呈现图形用户界面。图形用户界面是一个或多个图形界面元素的集合,并且可以是静态的(例如,显示器在一段时间内保持相同),或者可以是动态的(例如,图形用户界面包括在没有用户输入的情况下动画的图形界面元素)。图形界面元素可以是文本、线、图形、图像或其组合。例如,图形界面元素可以是在桌面上显示的图标和与图标的相关联的文本。在一些示例中,图形界面元素可用用户输入选择。例如,用户可以通过按压与图形界面元素的显示对应的触摸屏的区域来选择图形界面元素。在一些示例中,用户可以操纵轨迹球以将单个图形界面元素突出显示为具有焦点。图形界面元素的用户选择可以调用移动计算设备的预定义动作。按钮的用户选择可以调用预定义的动作。移动计算设备810可以包括其它应用、计算子系统和硬件。语音识别服务872可以接收由移动计算设备的麦克风822接收的语音通信数据,并将语音通信翻译成相应的文本数据或执行语音识别。处理的语音数据可以被输入到存储在命令模型数据122中的命令模型,以确定用于生成语音数据的语音输入是否如上所述为特定应用调用特定动作。以下一个或多个应用、服务和单元可能有由这样的语音命令调用的相应动作。呼叫处理单元可以接收呼入电话的指示,并且向用户提供应答呼入电话的能力。媒体播放器可以允许用户收听存储在移动计算设备810的本地存储器中的音乐或者播放存储在移动计算设备810的本地存储器中的电影。移动设备810可以包括数字相机传感器以及相应的图像和视频捕获及编辑软件。互联网浏览器可以使得用户能够通过键入与web页面相对应的地址或选择到web页面的链接来从web页面查看内容。操作基站网络的服务提供商可以将移动计算设备810连接到网络850,以实现移动计算设备810和提供服务860的其它计算系统之间的通信。尽管服务860可以通过不同的网络(例如,服务提供商的内部网络,公共交换电话网络、和互联网),网络850被图示为单个网络。服务提供商可以操作在移动计算设备810和与服务860相关联的计算系统之间路由信息包和语音数据的服务器系统852。网络850可以将移动计算设备810连接到公共交换电话网络(PSTN)862,以便在移动计算设备810和另一个计算设备之间建立语音或传真通信。例如,服务提供商服务器系统852可以从PSTN862接收对移动计算设备810的呼入呼叫的指示。相反,移动计算设备810可以向服务提供商服务器系统852发送通信,使用与可通过PSTN862访问的设备相关联的电话号码发起电话呼叫。网络850可以将移动计算设备810连接到互联网协议语音(VoIP)服务864,其通过IP网络而不是PSTN路由语音通信。例如,移动计算设备810的用户可以调用VoIP应用并使用该程序发起呼叫。服务提供商服务器系统852可以将来自呼叫的语音数据转发到VoIP服务,VoIP服务可以通过互联网将呼叫路由到相应的计算设备,可能使用PSTN用于连接的最后一段。应用商店866可以向移动计算设备810的用户提供浏览远程存储的应用程序的列表的能力,用户可以通过网络850下载这些应用程序并将应用程序安装在移动计算设备810上。应用商店866可以作为由第三方应用开发者开发的应用的存储库。安装在移动计算设备810上的应用程序可以能够通过网络850与为该应用程序指定的服务器系统通信。例如,可以从应用商店866下载VoIP应用程序,使得用户能够与VoIP服务864通信。移动计算设备810可以通过网络850访问互联网868上的内容。例如,移动计算设备810的用户可以调用从在指定的通用资源位置可访问的远程计算设备请求数据的web浏览器应用。在各种示例中,服务860中的一些可以通过互联网访问。移动计算设备可以与个人计算机870通信。例如,个人计算机870可以是移动计算设备810的用户的家庭计算机。因此,用户可以能够从他的个人计算机870流式传输媒体。用户还可以查看他的个人计算机870的文件结构,并且在计算机化的设备之间发送所选择的文档。移动计算设备810可以与社交网络874通信。社交网络可以包括许多成员,其中一些成员已经同意相关为熟人。移动计算设备810上的应用可以访问社交网络874以基于移动计算设备的用户的熟人来检索信息。例如,“地址簿”应用程序可以检索用户的熟人的电话号码。在各种示例中,可以基于成员和连接关系的社交网络图中的从用户到其它成员的社交网络距离,将内容递送到移动计算设备810。例如,可以基于由用户“密切”的成员(例如,是“朋友”或“朋友的朋友”的成员)与这样的内容的交互的级别为用户选择广告和新闻文章内容。移动计算设备810可以通过网络850访问个人联系人集876。每个联系人可以识别个人并且包括关于该个人的信息(例如,电话号码、电子邮件地址和生日)。因为该联系人集被远程于移动计算设备810托管,所以用户可以跨几个设备访问和维护联系人876作为公共联系人集。移动计算设备810可以访问基于云的应用程序878。云计算提供远离移动计算设备810托管的应用(例如,字处理器或电子邮件程序),并且可以由设备810使用web浏览器或专用程序访问。地图服务880可以向移动计算设备810提供街道地图、路线规划信息和卫星图像。地图服务880还可以接收查询并返回位置特定的结果。例如,移动计算设备810可以向地图服务880发送移动计算设备的估计位置和用户输入的关于“披萨场所”的查询。地图服务880可以返回在地图上识别附近“披萨场所”的地理位置叠加“标记”的街道地图。路线规划(turn-by-turn)服务882可以向移动计算设备810提供对用户提供的目的地的路线规划路线指引。例如,路线规划服务882可以向设备810流传输设备的估计位置的街道级视图,以及用于提供将设备810的用户引导到目的地的音频命令和叠加箭头的数据。移动计算设备810可以请求各种形式的流媒体884。例如,计算设备810可以请求预先记录的视频文件、直播电视节目或直播无线电节目的流。微博客服务886可以从移动计算设备810接收不标识帖子的接收者的用户输入帖子。微博客服务886可以将帖子散布到同意订阅该用户的微博客服务886的其他成员。搜索引擎888可以从移动计算设备810接收用户输入的文本或语言查询,确定响应于该查询的互联网可访问文档集,并且向设备810提供信息以显示响应文档的搜索结果列表。在接收到口头查询的示例中,语音识别服务872可以将接收到的音频翻译成发送到搜索引擎的文本查询。这些和其它服务可以在服务器系统890中实现。服务器系统可以是提供服务或服务集的硬件和软件的组合。例如,物理上分离且联网的计算机化设备集可以一起作为逻辑服务器系统单元来操作,以处理向数百个计算设备提供服务所必需的操作。服务器系统在本申请中也被称为计算系统。在各种实施方式中,如果先前操作(例如,确定或识别)不成功(例如,如果确定没有执行),则不执行“响应于”另一操作或“作为另一操作的结果”而执行的操作。“自动地”执行的操作是在没有用户干预(例如,插入用户输入)的情况下执行的操作。本申请中用条件语言描述的特征可以描述是可选的实施例。在一些示例中,从第一设备到第二设备的“发送”包括第一设备将数据放置到网络中以供第二设备接收,但是可以不包括第二设备接收数据。相反,从第一设备的“接收”可以包括从网络接收数据,但是可以不包括第一设备发送数据。由计算系统“确定”可以包括计算系统请求另一个设备执行确定并将结果提供给计算系统。此外,由计算系统“显示”或“呈现”可以包括计算系统发送数据以使另一设备显示或呈现所引用的信息。在本说明书中描述的主题和操作的实施例可以在数字电子电路中、或者在计算机软件、固件或硬件中实现,包括在本说明书中公开的结构以及其结构等同物,或者它们中的一种或多种的组合。在本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在计算机存储介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。替选地或另外地,程序指令可以被编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,其被生成以对信息执行编码以发送到合适的接收器装置以便由数据处理装置执行。计算机存储介质可以是或者被包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或它们中的一个或多个的组合。此外,虽然计算机存储介质不是传播信号,但计算机存储介质可以是在人工生成的传播信号中编码的计算机程序指令的源或目的地。计算机存储介质还可以是或者包括在一个或多个单独的物理组件或介质(例如,多个CD、盘、或其它存储设备)。本说明书中描述的操作可以是实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其它源接收的数据执行的操作。术语“数据处理装置”囊括用于处理数据的所有种类的装置、设备和机器,作为示例包括可编程处理器、计算机、片上系统、或前述多个或组合。该装置可以包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或跨平台运行时环境、虚拟机、或它们中的一个或多个的组合。所述装置和执行环境可以实现各种不同的计算模型基础设施,诸如网络服务、分布式计算和网格计算基础设施。计算机程序(还已知为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释性的语言、声明性或过程性的语言,并且其可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或其它适于在计算环境中使用的单元。计算机程序可以但不需要对应于文件系统中的文件。程序可以存储在保存其它程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、在专用于所讨论的所述程序的单个文件中、或者存储在多个协同文件(例如,存储一个或多个模块、子程序或代码的一部分的文件)中。计算机程序可以被部署为在一个计算机上执行,或在位于一个站点或通过通信网络互连并分布在多个站点上的多个计算机上执行。本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据执行操作并生成输出来执行动作。过程和逻辑流程也可以由专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))执行,并且装置也可以被实现为专用逻辑电路。适合于执行计算机程序的处理器作为示例包括通用和专用微处理器两者、及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个大容量存储设备(例如磁盘、磁光盘或光盘)或者可操作地耦合到一个或多个大容量存储设备以从其接收数据或向其发送数据。然而,计算机不需要具有这样的设备。此外,计算机可以嵌入在另一设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器)等。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器,介质和存储器设备,作为示例包括半导体存储器设备,例如,EPROM,EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动盘;磁光盘;和CDROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有用于对用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可以通过其向计算机提供输入的键盘和指示设备(例如,鼠标或轨迹球)的计算机上实现。其它类型的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收的请求,将web页面发送到用户的用户端设备上的web浏览器。在本说明书中描述的本主题的实施例可以在计算系统中实现,该计算系统包括后端组件(例如,作为数据服务器),或包括中间件组件(例如,应用服务器),或包括前端组件(例如,具有图形用户界面或web浏览器的用户端计算机,用户可以通过其与本说明书中描述的主题的实现交互),或者包括一个或多个这样的后端、中间件或前端组件的组合。系统的组件可以通过数字数据通信的任何形式或介质互连(例如,通信网络)。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、内部网(例如,互联网)、和对等网络(例如,临时(adhoc)对等网络)。计算系统可以包括用户和服务器。用户和服务器通常彼此远离并且典型地通过通信网络交互。用户和服务器的关系借助于在相应计算机上运行并且彼此具有用户-服务器关系的计算机程序而产生。在一些实施例中,服务器向用户设备发送数据(例如,HTML页面),例如,为了向与用户设备交互的用户显示数据和从用户接收用户输入。可以在服务器处从用户设备接收在用户设备处生成的数据(例如,用户交互的结果)。尽管本说明书包含许多具体实施方式细节,但是这些不应被解释为对任何发明或要求保护的范围的限制,而是作为对特定发明的特定实施例所特有的特征的描述。在本说明书中在分离实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中分离地或以任何合适的子组合来实现。此外,虽然特征可以在上面描述为在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从组合中去除,并且所要求保护的组合可以针对子组合或子组合的变体。类似地,虽然在附图中以特定次序描绘操作,但是这不应被理解为要求这些操作以所示的特定次序或以顺序次序执行,或者所有所示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。因此,已经描述了主题的特定实施例。其它实施例在所附权利要求的范围内。在某些情况下,权利要求中记载的动作可以以不同的次序执行并且仍然实现期望的结果。此外,附图中描绘的过程不一定需要所示的特定次序或顺序次序,以实现期望的结果。在某些实施方式中,多任务和并行处理可能是有利的。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1