用于偏置任务辅助自动完成建议的系统和方法与流程

文档序号:11161095阅读:297来源:国知局
用于偏置任务辅助自动完成建议的系统和方法与制造工艺

本公开总的涉及电子消息传递应用,更具体涉及提供任务辅助。



背景技术:

诸如电子邮件的电子消息传递应用,传送各种类型的信息到用户以及从用户传送各种类型的信息。一些消息包括用户必须执行的任务。因此,许多消息传递应用不仅跟踪由用户接收或发送的消息,而且还跟踪用户要执行的任务。在消息传递应用内输入任务的传统方法(例如输入提醒以执行任务)不能利用已经已知的关于用户的信息,因此不提供便于任务辅助的最优用户接口。



技术实现要素:

所公开的实施方式解决了上述缺陷和与任务辅助相关联的其他问题。根据一些实施方式,一种任务辅助的方法在具有一个或多个处理器和存储一个或多个程序的存储器的计算设备上执行,所述一个或多个程序被配置为由所述一个或多个处理器执行。所述方法包括从用户接收对应于电子消息的任务描述。所述方法进一步包括基于所述任务描述,从多个预先定义的任务模板中识别任务模板。所识别的任务模板包括一个或多个第一任务参数。所述方法进一步包括基于所述电子消息的内容确定所述一个或多个第一任务参数的值。所述方法进一步包括向用户呈现用于完成与所接收到的任务描述相对应的任务的选项集合,以便用户选择。所述选项集合中的至少第一选项子集基于所述一个或多个第一任务参数。

在一些实施方式中,基于所述电子消息的内容确定所述一个或多个第一任务参数的值包括:使用所识别的任务模板以及所述一个或多个第一任务参数的值来构建查询;以及使用所述查询来检索所述选项集合中的第一选项子集。在一些实施方式中,所述查询是参数化的统一资源定位符(URL),且每个确定的值用作URL中的参数。

在一些实施方式中,基于所述任务描述识别任务模板包括确定所述任务模板匹配所述任务描述。在一些实施方式中,所述任务描述用于被指派给对应的电子消息的任务。

在一些实施方式中,所述电子消息和所述任务描述是在用户正在编写所述电子消息时从所述用户接收的。可替选地,在一些实施方式中,所述用户是所述电子消息的接收者且所述任务描述是响应于所述用户接收到所述电子消息而由所述用户输入的。

在一些实施方式中,方法进一步包括:从所述选项集合接收第一选项的用户选择且根据所述第一选项完成所述任务。

在一些实施方式中,所述任务描述是字符串。

在一些实施方式中,所述选项集合中的至少第二选项子集基于所述任务描述而不是所述电子消息的内容。在一些实施方式中,所述选项集合以根据指派给所述选项集合中每个选项的权重而确定的次序来呈现。所述第一选项子集中的选项被加权,以便使得所述第一选项子集中的选项的位置比起所述第二选项子集中的选项更加显著。

在一些实施方式中,所识别的任务模板包括一个或多个第二任务参数。所述方法进一步包括基于所存储的个人信息确定所述一个或多个第二任务参数的值。在一些实施方式中,所存储的个人信息包括用户简档。在一些实施方式中,所存储的个人信息包括家的位置。在一些实施方式中,所存储的个人信息包括所述用户的当前地理位置。在一些实施方式中,所存储的个人信息包括用户的先前任务辅助选择的日志。

本公开的另一方面提供一种计算设备,包括一个或多个处理器、存储器以及存储在所述存储器中的一个或多个程序。所述一个或多个程序被配置为由所述一个或多个处理器执行。所述一个或多个程序包括用于从用户接收对应于电子消息的任务描述的指令。所述一个或多个程序进一步包括用于基于所述任务描述,从多个预先定义的任务模板中识别任务模板的指令。所识别的任务模板包括一个或多个第一任务参数。所述一个或多个程序进一步包括用于基于所述电子消息的内容确定所述一个或多个第一任务参数的值的指令。所述一个或多个程序进一步包括用于向用户呈现用于完成与所接收到的任务描述相对应的任务的选项集合,以便用户选择的指令。所述选项集合中的至少第一选项子集基于所述一个或多个第一任务参数。

本公开的另一方面提供一种存储一个或多个程序的非暂时性计算机可读存储介质,所述一个或多个程序被配置为由具有一个或多个处理器和存储器的计算设备执行。所述一个或多个程序包括用于从用户接收对应于电子消息的任务描述的指令。所述一个或多个程序进一步包括用于基于所述任务描述,从多个预先定义的任务模板中识别任务模板的指令。所识别的任务模板包括一个或多个第一任务参数。所述一个或多个程序进一步包括用于基于所述电子消息的内容确定所述一个或多个第一任务参数的值的指令。所述一个或多个程序进一步包括用于向用户呈现用于完成与所接收到的任务描述相对应的任务的选项集合,以便用户选择的指令。所述选项集合中的至少第一选项子集基于所述一个或多个第一任务参数。

附图说明

为了更好地理解本发明的上述实施方式及其附加的实施方式,应该对下面的具体实施方式进行参考,并结合下面的附图,附图中类似的附图标记在各个附图中指代相应的部分。

图1图示说明在其中操作一些实施方式的环境。

图2是根据一些实施方式的客户端计算设备的框图。

图3是根据一些实施方式的服务器的框图。

图4A-4F图示根据一些实施方式的用于任务辅助的用户接口的方面。

图5A-5C提供根据一些实施方式的用于任务辅助的过程的流程图。

现在将对实施方式进行详细参考,这些实施方式的示例在附图中被图示说明。在下面的详细描述中,阐述了许多具体细节以便提供对本发明的透彻理解。但是,本领域普通技术人员将清楚的是,本发明可以在没有这些具体细节的情况下被实践。

具体实施方式

根据这里公开的系统和方法,用户具有向诸如电子邮件的电子消息中添加任务的能力,电子消息描述了用户需要关于该电子邮件采取什么行动。当用户键入任务的任务描述时,向用户提供自动完成用户接口。这里描述的该系统和方法进一步提供自动完成用户接口,其使用偏置数据来基于从电子邮件提取的条目(例如,电子邮件线程上的联系人,或者在电子邮件中提到的条目,诸如生意、航班、账号、位置等等)而偏置自动完成建议。该偏置数据被用于增加包含在电子邮件中提到的条目的那些自动完成建议的权重(例如,相对于不包含在电子邮件中提到的条目的那些自动完成建议)。

图1是图示说明一些实施方式的主要组件的框图。各种客户端设备102(例如,客户端设备102-a、102-b和102-c;这里也被识别为计算设备)和服务器系统110中的服务器300在一个或多个网络108(诸如互联网)上通信。客户端设备102可以是智能电话、平板计算机、笔记本计算机、桌面计算机或者能够接入通信网络108并能够运行消息传递应用106的其他计算设备。在一些实施方式中,消息传递应用在web浏览器104内运行。

在一些实施方式中,服务器系统110由单个服务器300构成。更一般地,服务器系统110包括多个服务器300。在一些实施方式中,服务器300由总线的内部通信网络122连接。服务器系统110包括一个或多个web服务器112,其从用户(例如从客户端设备102)接收请求并且返回合适信息、资源、链接等等。在一些实施方式中,服务器系统110包括一个或多个应用服务器114,其提供各种应用,诸如消息传递应用106。服务器系统110典型包括一个或多个数据库116,其存储诸如网页、用户列表118和各种用户信息120(例如用户名和加密的密码、用户偏好等等)的信息。

图2是图示说明用户用于访问消息传递应用106的客户端设备102的框图。客户端设备还被称为计算设备,其可以是平板计算机、笔记本计算机、智能电话、桌面计算机、PDA或能够运行消息传递应用106且能够接入通信网络108的其他计算设备。客户端设备102典型包括一个或多个处理单元(CPU)202,用于执行模块、程序、或存储在存储器214中的指令并由此完成处理操作;一个或多个网络或其他通信接口204;存储器214;以及一个或多个通信总线212,用于互连这些组件。通信总线212可以包括电路(有时称为芯片组),其互连且控制系统组件之间的通信。客户端设备102包括用户接口206,其包括显示设备208和一个或多个输入设备或机构210。在一些实施方式中,输入设备/机构包括键盘和鼠标;在一些实施方式中,输入设备/机构包括“软”键盘,其按需要显示在显示设备208上,使得用户能够“按压”显示在显示器208上的“按键”。

在一些实施方式中,存储器214包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备。在一些实施方式中,存储器214包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备、或者其他非易失性固态存储设备。在一些实施方式中,存储器214包括远离CPU 202定位的一个或多个存储设备。存储器214,或可替换地,存储器214内的非易失性存储器设备,包括非暂时性计算机可读存储介质。在一些实施方式中,存储器214,或者存储器214的计算机可读存储介质,存储下面的程序、模块和数据结构,或者其子集:

●操作系统216,其包括用于处置各种基本系统服务和用于执行硬件相关任务的流程;

●通信模块218,其用于将客户端设备102经由一个或多个通信网络接口204(有线或无线)以及诸如互联网、其他广域网、局域网、城域网等等的一个或多个通信网络112连接到其他计算机和设备;

●显示模块220,其从一个或多个输入设备210接收输入,且生成用户接口元素以便在显示设备208上显示;

●web浏览器104,其使得用户能够在网络108(诸如互联网)上与远程计算机或设备通信;

●消息传递应用106,其使得用户能够发送和接收电子消息。在一些实施方式中,消息传递应用是电子邮件应用。在一些实施方式中,消息传递应用是即时消息传递应用。在一些实施方式中,消息传递应用106在web浏览器104内运行,如图1中所图示。在一些实施方式中,消息传递应用106独立于web浏览器104(例如桌面应用)而运行。示例消息传递应用如下在图4A-4F中图示;以及

●应用数据222,其由消息传递应用106使用。应用数据包括消息224(例如电子邮件消息或即时消息)和任务226,以及用于完成任务的信息228。在一些实施方式中,任务226与消息224相关联。在一些实施方式中,任务226独立于所有消息。应用数据222可以包括配置数据230,诸如用户偏好、用户历史、有关用户的地理信息、或者配置选项的状态。

上面识别的可执行模块、应用、或者流程的集合中的每个可以都存储在一个或多个先前提到的存储器设备中且对应于用于执行上述功能的指令集。上面识别的模块或程序(即指令集)不需要被实施方式为分别的软件程序、流程或模块,因此这些模块的各种子集可以被组合或者以各种实施方式重新安排。在一些实施方式中,存储器214可以存储上面识别的模块和数据结构的子集。而且,存储器214可以存储上面没有描述的额外模块或数据结构。

尽管图2示出客户端设备102,图2更旨在作为可以呈现的各种特征的功能描述而非作为这里所述实施方式的结构示意。实践中,且如本领域普通技术人员所认识到的,单独示出的项目可以被组合且一些项目可以被分开。

图3是图示说明可以用于服务器系统110中的服务器300的框图。典型服务器系统包括许多单个服务器300,可以是几百个或几千个。服务器300典型包括一个或多个处理单元(CPU)302,用于执行模块、程序、或存储在存储器314中的指令并由此执行处理操作;一个或多个网络或其他通信接口304;存储器314;以及一个或多个通信总线312,用于互连这些组件。通信总线312可以包括电路(有时称为芯片组),其互连且控制系统组件之间的通信。在一些实施方式中,服务器300包括用户接口306,其包括显示设备308和一个或多个输入设备310,诸如键盘和鼠标。

在一些实施方式中,存储器314包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备。在一些实施方式中,存储器314包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪速存储器设备、或者其他非易失性固态存储设备。在一些实施方式中,存储器314包括远离CPU 302定位的一个或多个存储设备。存储器314,或可替选地,存储器314内的非易失性存储器设备,包括非暂时性计算机可读存储介质。在一些实施方式中,存储器314,或者存储器314的计算机可读存储介质,存储下面的程序、模块和数据结构,或者其子集:

●操作系统316,其包括用于处置各种基本系统服务和用于执行硬件相关任务的流程;

●通信模块318,其用于将服务器300经由一个或多个通信网络接口304(有线或无线)、内部网络或总线122或诸如互联网、其他广域网、局域网、城域网等等的其他通信网络108连接到其他计算机;

●可选显示模块320,其从一个或多个输入设备310接收输入,且生成用户接口元素以便在显示设备308上显示;

●一个或多个web服务器112,其从客户端设备102接收请求,并且返回响应网页、资源或链接。在一些实施方式中,每个请求记录在数据库116;

●一个或多个应用服务器114,其提供各种应用(诸如电子邮件或其他消息传递应用)给客户端设备102。在一些实例中,应用被提供作为网页的集合,其被递送给客户端设备102并在网络浏览器104中显示。网页按需要或请求而被递送。在一些实例中,应用被递送到客户端设备102作为下载,其被从web浏览器104外的客户端设备102安装和运行;

●一个或多个数据库116,其存储以上识别模块或程序所使用的各种数据。在一些实施方式中,数据库116包括授权用户的列表,其可以包括用户名、加密的密码、和有关每个用户的其他相关信息。数据库116还存储特定于用户的数据120,其由应用服务器所提供的一个或多个应用来使用。例如,一些实施方式为每个用户存储电子消息224。作为另一示例,一些实施方式存储有关用户的地理信息。

图3中上面识别的元素的每个可以存储在一个或多个先前提到的存储器设备中。每个可执行程序、模块、或流程对应于用于执行上述功能的指令集。上面识别的模块或程序(即指令集)不需要被实现为分立的软件程序、流程或模块,且因此这些模块的各个子集可以被组合或以各种实施方式被重新布置。在一些实施方式中,存储器314可以存储上面识别的模块和数据结构的子集。而且,存储器314可以存储上面没有描述的附加模块或数据结构。

尽管图3图示说明服务器300,图3更旨在作为可以以一个或多个服务器的集合而呈现的各种特征的功能图示而非作为这里所述实施方式的结构示意。实践中,且如本领域普通技术人员所认识到的,单独示出的项目可以被组合且一些项目可以被分开。用于实现这些特征的服务器的实际数目,以及特征怎样被分配在它们之中,将会每个实施方式都不同,且可以部分地取决于在峰值使用时段期间以及在平均使用时段期间系统必须处置的数据通信的量。

如图2和3中所图示,消息传递应用的功能可以在客户端设备102和服务器系统110之间共享。在一些实施方式中,在消息传递应用安装在客户端设备102上之后,大多数后续处理在客户端设备上发生。在其他实施方式中,大多数处理和数据存储发生在服务器300上,且客户端设备102使用web浏览器104来观看数据和与数据交互(这样的布置有时被称为“web邮件”)。本领域技术人员认识到,客户端设备102和服务器系统110之间的功能的各种分配是有可能的,且更多实施方式支持多个配置(例如,基于用户选择)。

图4A-4F图示了根据一些实施方式的用于任务辅助的用户接口的方面。图4A-4F中所示的用户接口显示在客户端设备(例如客户端设备102,图1和2)上。

图4A图示说明用户接口显示在客户端设备(例如计算设备)上的消息递送应用400中。消息传递应用400中的用户接口显示电子消息402,其包括主题行(例如报头的一部分)402-a和消息主体402-b。在这个示例中,电子消息402是电子邮件消息。但是,根据各种实施方式,这里所述的电子消息可以是即时消息、文本消息等等。如这个示例中所示,用户是电子消息402的接收者。电子消息402包括内容,其至少包括消息主体402-b且可选地进一步包括主题行402-a、附件、和/或与电子消息402相关联的其他元数据。此外,与电子消息402一起,消息传递应用400还显示提示404(例如,用户功能可见性,显示为可点击的下划线的链接)以响应于接收到电子消息402而添加(例如输入)任务。当用户通过用户动作406(例如对提示404的用户点击)选择提示时,客户端设备发起添加对应于电子消息402的任务的过程。

图4B接着图4A且类似于图4A,但图4B图示说明用于添加与电子消息402相对应的任务的用户接口窗口408。用户至少通过输入任务描述410来输入任务,任务描述可以是通过自动完成建议412(例如自动完成建议412-a;412-b;和412-c)来完成的部分任务描述。自动完成建议412有时被称为用于完成任务的选项集合。任务描述410中示出的字符“|”图示说明光标位置且旨在示出用户还没完成输入任务描述,因此任务描述是部分任务描述(例如,用户还没通过按压回车按键而提交任务描述)。至少一个自动完成建议——即,自动完成建议412-a——至少部分地基于电子消息402的内容(例如,其中内容包括消息主体402-a中的单词)。此外,自动完成建议412作为整体偏向于基于电子消息402的内容的那些自动完成建议。这是在图4B中通过基于电子消息402的内容的自动完成建议412-a是在自动完成建议412的列表中的第一自动完成建议来证明的。

图4C接着图4B且类似于图4B,但是图4C图示说明自动完成建议412-a的用户选择414,并因此图示说明用户已经选择选项集合的用于完成任务的相应选项。如这里所使用的,术语“完成任务”用在“自动完成”的意义中。例如,该任务在任务描述根据自动完成建议而更新时被完成。在接着图4C的图4D中,任务已完成。此外,图4C图示说明,在一些实施方式中,一旦完成任务,用户接口显示用于执行该任务的用户接口窗口418。例如,在一些实施方式中,用户接口窗口418被配置为带用户到当用户选择功能可见性420(“Book Now!”)时用户能够对Osteria(餐馆)进行预订的网站。

图4E-4F图示根据一些实施方式的用于用户任务辅助的用户接口的另一示例。消息传递应用400中的用户接口显示包括主题行(例如头部的一部分)422-a和消息主题422-b的电子消息422。在这个示例中,电子消息402是电子邮件消息。但是,根据各种实施方式,这里所述的电子消息可以是即时消息、文本消息等等。在这个示例中,用户正在使用用户接口来编写电子消息422(例如,电子消息要被用户发送,与用户作为电子消息402的接收者的图4A-4D相对照)。而且,用户接口允许用户输入任务作为电子邮件的附件。为此,用户接口包括用于添加任务作为对电子邮件的附件的功能可见性424。

当选择功能可见性424时,用户接口显示用户接口窗口428,在图4F中显示,用于输入任务(例如通过输入任务描述430)。进一步如图4F中所示,任务描述430是部分任务描述,导致自动完成建议432(例如,自动完成建议432-a;432-b;和432-c)的显示。这些自动完成建议可以被用于完成任务(例如由此更新任务描述和/或完成任务到消息传递应用中的输入)。在一些实施例中,当任务完成时,任务的记录被消息传递应用和/或指令消息传递应用的服务器系统存储。方法500描述了怎样确定和提供自动完成建议432的细节。但是,足以说明至少一个自动完成建议基于电子消息422的内容。特别是,因为电子消息422讨论到旧金山的航班,电子消息422具有匹配航班任务模板和航班模板的参数的旧金山值的关键词。任务模板和参数被用于产生自动完成建议432-a和432-b,其首先被列出(例如,最显著)是因为自动完成建议偏向于基于电子消息422的内容的自动完成建议。此外,在一些实施方式中,有关用户的个人信息被用于确定自动完成建议的其他参数。这样的个人信息,在一些实施方式中,存储在服务器系统上的用户简档中。例如,如图4F中所示,用户简档可以指示用户住在费城,导致自动建议432-a,其组合从电子消息422获得的参数和从用户简档获得的参数。

图5A-5C提供方法500的流程图,由计算设备执行,用于提供任务管理。方法在具有一个或多个处理器和存储器的计算设备102和/或110上执行。存储器存储一个或多个程序,被配置用于由一个或多个处理器执行。为了解释简便,方法500被描述为由服务器系统(例如服务器系统110,图1)来执行。

服务器系统从用户接收(502)对应于电子消息的任务描述。在一些实施方式中,任务描述是在用户的客户端设备上的消息传递应用中接收的(例如,消息传递应用可以是本地应用或者通过web浏览器运行的web应用)。在一些实施方式中,任务描述是部分任务描述,意味着用户还没有输入(例如,提交)完全任务描述给消息传递应用和/或给服务器系统(例如用户没有完成键入任务描述)。为此,在一些实施方式中,以预先定义的同步间隔(例如,当用户输入任务描述时),诸如0.1秒,或者当任务描述无论何时改变时(例如,当用户无论何时输入任何字符,或者替选地,输入诸如空格的特殊字符时),消息传递应用发送部分任务描述并且服务器系统接收部分任务描述。

在一些实施方式中,任务描述是用于任务的。这样的任务有时被称为提醒,因为消息传递应用将起到提醒用户执行任务的功能。在一些实施方式中,任务描述是用于被(504)指派给对应电子消息的任务的。例如,在一些实施方式中,电子消息和任务描述是在用户正在编写电子消息时从用户接收到的(506)。在一些实施方式中,任务代表元数据或电子消息的附件。换句话说,有关任务的信息(例如,什么、何时、任务怎样等等)对应消息一起被存储、检索或发送作为元数据。例如,图4E-4F图示说明任务可以被添加为电子邮件的“附件”的场景。在一些实施方式在,当用户接收具有向其指派(例如粘附)的任务的电子消息时,任务自动(例如不用用户干预)添加到用户的任务列表中。任务列表被提供在单独窗口中或者消息传递应用的用户接口的文件夹中。

替选地,在一些实施方式中,任务描述对应于电子消息,即使任务不是指派给电子消息的。例如,如图4A-4D中所示,在一些实施方式中,用户是(508)电子消息的接收者。任务描述由用户响应于用户接收到电子消息而输入。在一些但非所有这样的实施方式中,任务不是指派给电子消息的(如上所述)而是以至少两种方式对应于电子消息。任务对应于电子消息的第一种方式是消息传递应用与电子消息同时显示提示(例如,用户功能可见性)以添加任务。因此,用户(可以被电子消息提醒她需要做某事的人)被提供附加便利手段——添加与电子邮件相关的任务的能力触手可及。任务描述对应于电子消息的第二种方式是电子消息的内容被用于提供对任务的自动完成建议,如方法500的剩余描述中所述。

因此,提供了当任务描述对应于电子消息时的至少三个示例:当服务器系统利用电子消息的内容来提供一个或多个自动完成建议时,当电子消息显示为输入任务描述的提示时,以及当任务描述是用于附于电子消息(如元数据)的任务时。

在一些实施方式中,任务描述是(510)字符串。图4A-4F图示说明了几个示例,其中任务描述被用户作为字符串输入。

服务器系统基于任务描述从多个预先定义的任务模板中识别(512)任务模板。所识别的任务模板包括一个或多个第一任务参数。在一些实施方式中,基于任务描述识别任务模板包括确定(514)任务模板匹配任务描述。例如,任务描述中的特定术语,在一些实施方式中,是对任务模板的指示符。例如,如图4B中所示,术语“晚餐”,在一些实施方式中,是对“晚餐计划”的任务模板的指示符(例如,充分指示符)。晚餐计划的任务模板包括可选的任务参数,诸如晚餐位置、晚餐时间、要上的菜、就餐者的总数等等。相应的任务模板的充分指示符意味着,这样的指示符在任务描述中的出现足以识别相应的任务模板匹配任务描述。在一些环境中,服务器系统可以基于任务描述(例如,当任务描述包括多个任务模板的充分指示符时)识别若干任务模板。

在一些实施方式中,多个任务模板包括用于制定晚餐计划、安排约会、安排会议、预定航班等等的任务模板。

在一些实施方式中,指示符可以被识别为对应于结构化数据,意味着服务器系统可以识别对应于该指示符的实体和/或对象。换句话说,在一些实施方式中,指示符是对应于结构化数据的关键词。月份、城市名、日期和事件、相对日期(例如“明天”)是可以与很好定义的实体或对象相关的指示符的所有示例。例如,术语“明天”,当被发现在任务描述中时,可以与当前日期(例如存储在服务器系统上)关联起来用于确定晚餐任务模板的日期任务参数的值(参见操作516)。

在一些实施方式中,服务器系统基于电子消息的内容识别任务模板。例如,在一些实施方式中,甚至在接收到任务描述之前,服务器系统提供自动完成建议。作为替换,在一些实施方式中,自动完成建议(例如,开始于对任务模板的识别)仅仅基于电子消息的内容。在一些实施方式中,根据方法500,基于任务描述来对那些自动完成建议进行更新和/或替换。在一些实施方式中,基于任务描述和电子消息的内容的组合来识别任务模板。

服务器系统基于电子消息的内容来确定(516)一个或多个第一任务参数的值。在一些实施方式中,电子消息的内容包括电子消息的主体(例如,电子邮件主体)。在一些实施方式中,电子消息的内容包括电子消息的附件、电子消息的头部、和/或与电子消息相关联的元数据。在一些实施方式中,值是被很好定义的可识别的对象和/或实体(例如,值是从结构化数据获得的)。作为示例,考虑包括位置任务参数的晚餐计划的任务模板。晚餐计划的位置任务参数的值可以是某人的家(例如“我家”)、餐馆、公园等等。在一些实施方式中,服务器系统存储餐馆的列表,可选地,还存储有关这些餐馆的信息(例如,运营时间、食物种类、和/或价格范围)。作为图4B中所示的示例,采用包括至少三个餐馆Osteria、Barbuzzo和Amada的餐馆的列表。在这个示例中,服务器系统分析了电子消息的内容并且确定Osteria对应于结构化数据;即,其对应于餐馆列表中的餐馆Osteria的对象。因此,服务器确定晚餐计划的位置任务参数的值是餐馆对象Osteria。在一些环境中,可能存在多个名叫“Osteria”的餐馆且服务器系统使用存储的个人信息,如下所述,来对于Osteria可能的意思消除歧义。

在一些实施方式中,所识别的任务模板(518)包括一个或多个第二任务参数。在这样的实施方式中,服务器系统基于存储的个人信息来确定(520)一个或多个第二任务参数的值。在一些实施方式中,存储的个人信息包括(522)用户简档。在一些实施方式中,存储的个人信息包括(524)家的位置。在一些实施方式中,存储的个人信息包括(526)用户的当前地理位置。考虑开始于字符串“Book flight(预定航班)”的任务描述的示例。这样的任务描述可以足以识别航班预定任务模板,其包括诸如“出发机场”(例如,相应的第二任务参数)和“目的地机场”(例如,相应的第一任务参数)等的任务参数。当消息主体的内容包括单词“to Atlanta(至亚特兰大)”时,在一些实施方式中,对于相应的第一任务参数,服务器系统确定ATL(即,哈茨菲尔德-杰克逊亚特兰大国际机场的联邦航空管理局(FAA)机场代码)的值,且使用存储在用户简档中的家的位置来确定用户最接近PHL(即,费城国际机场的联邦航空管理局(FAA)机场代码),而且,确定PHL的值适合于相应的第二任务参数。

在一些实施方式中,存储的个人信息包括(528)用户的先前任务辅助选择的记录。例如,在一些实施方式中,服务器系统使用用户预定的先前航班的记录来确定PHL是用户最常出发的机场,且由此使用PHL作为相应的第二任务参数的值。

服务器系统向用户呈现(530)用于完成对应于接收到的任务描述的任务的选项集合以便进行用户选择。换句话说,系统向用户呈现自动完成建议,以便完成任务。选项集合中的至少第一选项子集基于一个或多个第一任务参数。在一些实施方式中,第一选项子集包括至少一个第一任务参数。在一些实施方式中,选项集合包括多个选项(例如,两个或更多,三个或更多,等等)。在一些实施方式中,第一选项子集包括对应于第一任务参数的信息。换句话说,至少一些自动完成建议基于电子消息的内容,其用于确定如上所述的一个或多个第一任务参数的值。如这里所使用的,“完成”任务用于“自动完成”的意思。例如,在一些实施方式中,完成任务意味着在消息传递应用内完成记录(例如,完全记录)任务的过程,例如,使得消息传递应用可以提供提醒。在一些实施方式中,完成任务包括在存储器中用关于任务的信息来存储唯一记录。在一些实施方式中,完成任务意味着根据选项集合之一来更新任务描述。与之对照,执行任务意味着任务所需要的实际动作(例如,预定航班的动作是任务的执行)。

在一些实施方式中,基于电子消息的内容确定一个或多个第一任务参数的值包括(532):使用所识别的任务模板和一个或多个第一任务参数的值来构建(534)查询以及使用(536)该查询来检索选项集合中的第一选项子集。在一些实施方式中,查询是(538)参数化的统一资源定位符(URL)且每个确定的值被用作URL中的参数。

在一些实施方式中,选项集合中的至少第二选项子集(540)基于任务描述而不是电子消息的内容。在一些实施方式中,选项集合以根据指派给选项集合中的每个选项的权重而确定的次序来呈现(542)。第一选项子集中的选项被加权,以便使得第一选项子集中的选项比起第二选项子集中的选项位于更显著的位置(例如,次序上更高)。换句话说,服务器系统对要显示的自动完成建议的选择基于与每个潜在自动完成建议相关联的权重(例如,服务器系统选择三个最高权重的自动完成建议来显示)。进一步,基于电子消息的内容的自动完成建议被提升权重,使得自动完成建议的集合偏向于基于电子消息的内容的那些自动完成建议。更简单地表达:自动完成建议的呈现偏向于基于电子消息的内容的自动完成建议。在一些实施方式中,自动完成建议根据各种因素来加权,并且基于电子消息内容的自动完成建议被给定预先确定的偏置(例如,向它们相应权重的固定偏移)。影响自动完成建议的权重的其他因素可以包括用户与自动完成建议内的实体的接近度和/或基于其他存储的个人信息的因素,如上所述。例如,当显示用于机场的自动完成建议时,在一些实施方式中,自动完成建议是基于接近用户的“出发机场”来加权的。

在一些实施方式中,服务器系统从选项集合接收(544)第一选项的用户选择并且根据第一选项完成(546)任务。在一些实施方式中,服务器系统发送指令到消息传递应用提示用户输入有关任务的进一步细节。

这里在发明的描述中使用的术语的目的仅仅是描述特定实施方式且不想限制发明。如发明的描述和所附权利要求书中所使用的,单数形式“一”和“该”旨在还包括复数形式,除非上下文明确相反指示。还将理解,这里所使用的术语“和/或”指的是且包括一个或多个相关联所列项目的任何和所有可能组合。将进一步理解,术语“包括”和/或“包含”,当在本说明书中使用时,指定陈述的特征、步骤、操作、元素、和/或组件的存在,但不排除一个或多个其他特征、步骤、操作、元素、组件、和/或其群组的存在或添加。

前面的描述,为了解释的目的,已经结合特定实施方式进行了描述。但是,以上说明的讨论不旨在穷尽的或者限制发明为所公开的精确形式。根据上述教导,许多修改和变化是有可能的。选择和描述这里所述的实施方式以便最好地解释发明的原理及其实践应用,由此使得其他本领域技术人员最好地利用本发明和具有适合于所考虑的特定使用的各种修改的各种实施方式。

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