管理从通信和内容中提取的承诺和请求的制作方法

文档序号:11807881阅读:178来源:国知局
管理从通信和内容中提取的承诺和请求的制作方法与工艺

电子通信已经成为社交互动和商业互动的重要形式。这样的电子通信包括(仅举几例):电子邮件、日历、SMS文本消息、语音邮件、图像、视频以及其它数字通信和内容,等等。电子通信是在多个计算设备中任一个上自动生成的或是由用户手动生成的。



技术实现要素:

本公开描述了用于对在电子通信中检测到的请求和承诺(例如,用户之间或用户当中的消息)进行管理的技术和架构。例如,在两人之间的电子邮件交流可以包括来自第一人的文本,其中第一人向第二人发送执行任务的请求,且第二人做出执行该任务的承诺。计算系统可以至少部分地基于检测请求和/或承诺来确定多个面向任务的动作。计算系统可以通过生成电子信号来自动执行这样的动作(仅举几例):修改电子日历,显示可能的用户动作的建议,以及向用户提供提醒。

提供该“发明内容”用于引入简化形式的选择概念,且将在下文“具体实施方式”中进一步进行描述。该“发明内容”并不意图识别所要求保护主题的关键或必需特征,也不打算被用于辅助来对所要求保护的主题的范围进行确定。术语“技术”可以指代例如(一个或多个)系统、(一个或多个)方法、计算机可读指令、(一个或多个)模块、算法、硬件逻辑(例如,现场可编程门阵列(FPGA))、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)和/或上述上下文以及在本文档通篇中所允许的(一项或多项)其它技术。

附图说明

具体实施方式是结合附图描述的。在图中,附图标记最左边的(一个或多个)数位标识该附图标记首次出现的图。在不同图中的相同附图标记表示类似或相同的项。

图1是描绘在其中可以实现本文描述的技术的示例性环境的框图。

图2是示出服从示例性任务识别过程的电子通信的框图。

图3是可以与示例性任务操作模块通信的多个信息源的框图。

图4是示出包括示例性文本线程以及对于请求和承诺的任务识别过程的电子通信的框图。

图5是在消息、承诺和请求当中的示例关系的表格。

图6是示例性任务管理过程的流程图。

图7是示例性机器学习系统的框图。

图8是示例性机器学习模型的框图。

图9是示出用于对承诺和请求的提取的示例性过程的框图。

图10是示例性任务管理过程的流程图。

具体实施方式

各个例子描述了用于对与在电子通信(例如,在用户之间或当中的消息)中检测到或识别出的请求和承诺相关联的任务进行管理的系统的技术和架构,以及其它。在其它例子当中,电子通信可以包括文本消息、社交媒体中的评论、以及在坐席呼叫期间收听的语音邮件或语音流。在两人之间的电子邮件交流可以包括来自第一人的文本,所述第一人向第二人发送执行任务的请求,并且第二人就执行所述任务做出承诺(例如,同意)。电子邮件交流可以传达足够的信息以便系统自动确定存在执行任务的请求和/或执行任务的承诺。计算系统可以至少部分地基于检测到或识别出的请求和/或承诺,来执行多个自动动作。这样的动作可以包括(仅举几例):修改电子日历或待办列表,提供可能的用户动作的建议,以及向用户提供提醒等。系统可以查询可与电子邮件交流的一个或多个部分相关的多种信息源。例如,系统可以检查由电子邮件交流的作者中的一方或双方或由其他人所交流的其它消息。系统还可以检查电子邮件和其它消息的较大语料库。在其它消息以外,系统可以查询电子邮件交流的作者中的一方或双方的日历或数据库以获得另外的信息。

通常,可以将请求和作为结果的承诺视为与对用于完成任务的非正式合同的提出和接受相关联的讨论的概念(而不是合同的正式概念,例如那些以合法设定来书写并且签名的合同)。如果承诺不是正式化的(例如,通过完整地且明确地描述且以文本或其它形式(“文件记载”)所“正式化”),则这样的非正式承诺可能尤其受益于支持或管理(例如由计算系统自动提供的)。管理可以包括(仅举几例)任务提醒、安排和资源分配等。在一些实现方式中,任务识别和支持可以包括自动跟踪和管理正在进行中的承诺。

在一些例子中,非正式合同是两方或更多方之间的相互协定,在该协定下,各方(暗含地或明确地)同意应该(例如,期望地)执行一些动作。非正式合同可能涉及采取动作的请求以及对应的执行所请求的动作的来自他人的承诺。采取动作的承诺还可以在没有请求的情况下做出。虽然请求(尚且)不需要有协定(例如,用于承诺),但请求就是寻求这样的协定的尝试。例如,来自电子邮件线程的作者的请求或“询问”可能没有得到电子邮件线程的另一作者的响应承诺,直到多个另外的电子邮件交流发生为止。

合同通常是以(书面或口头)通信进行的。非正式合同可以具有或不具有法律内涵。然而,未能响应请求或未能满足商定的承诺可能对于建立和维护信用等级产生社会影响,并且还可能对成功协调和合作产生后果。对非正式合同的支持往往可能关注于仅对于一方的自动化与辅助或对一方的主要支持,与之相对地,对称性则常常在合法合同设置中可见到。

在各个例子中,非正式合同(或其存在)可以至少部分地基于请求和/或承诺来确定。对于特定例子,计算系统可以从消息中自动提取关于任务的信息(例如,请求和/或承诺)。计算系统可以使用这样的提取出的信息来确定非正式合同是否存在或根据消息提出非正式合同。这样的确定可以至少部分地基于确定在与该消息相关联的各方之间存在相互协定。在一些实现方式中,计算系统可以在执行这样的确定的同时,分析一个或多个消息。如果存在非正式合同,则计算系统还可以确定该非正式合同的属性。在一些例子中,非正式合同包括:(一个或多个)任务,对执行(一个或多个)任务的一人或多人(或机器)的识别,以及足以执行任务的足够细节(例如,时间、地点、主题等)。特别地,在一些先前时间点,在某种类型的电子通信中,一人或多人(或机器)已经做出执行任务的承诺。

在一些例子中,相互协定可能涉及附条件承诺。特别地,对请求的“也许”响应可能不满足相互协定的条件。在另一方面,附条件承诺可以是一种相互协定。例如,以下交流可以被认为包括附条件协定,因此可以被认为是相互协定:第一人(请求)“你可以在回家路上顺便去趟杂货店吗?”,第二人(附条件承诺)“如果你在下午4点前发给我简短购物单,我可以去”。在这样的情况下,如果第一人在下午4点前向第二人发送了购物单从而完成条件,则附条件承诺可以导致承诺(以及相互协定)。附条件承诺通常相对频繁地发生,而对具有或不具有满足条件的“最终”消息的附条件承诺进行自动跟踪的计算系统可以是有利的。

如本文所述,“任务内容”指的是非正式合同或者在通信(例如消息)含义中传达的一个或多个请求和/或一个或多个承诺。除非通过特定语句的上下文另有明确表示或暗示,否则“识别”或“检测”在消息或通信中的任务内容指的是识别任务内容的存在并确定所述任务内容的至少部分含义。例如,“识别电子邮件中的请求”表示:识别在电子邮件中的请求的存在,并确定该请求的含义。请求的“含义”可以包括关于该请求的发送者和接收者(例如,谁进行的请求,以及向谁请求)、时间方面(例如,何时生成的请求,在何时/何日之前执行请求的动作)、请求的主题为何(例如,要执行什么动作来满足请求)、发送方和接收方之间的关系(例如,发送方是接收方的老板吗)等的信息。承诺的含义可以包括关于承诺的发送方和接收方(例如,谁进行的承诺,以及向谁进行承诺)、时间方面(例如,何时生成的承诺,在何时/何日之前执行承诺的动作)、承诺的主题为何(例如,要执行什么动作来满足承诺)等的信息。请求可以生成承诺,但是承诺可以在没有对应请求的情况下进行。此外,承诺可以生成请求。例如,承诺“我将校正四月报告”可能引起例如“太好了—你能也修正五月的报告吗?”的请求。

一旦被计算系统识别出,则通信的非正式合同或任务内容(例如,对承诺或请求的提议或批准)可被进一步处理或分析以对承诺或请求的语义进行识别或推断,包括:识别请求或承诺的主要所有者(例如,如果不是通信中的各方);任务内容的本质及其属性(例如,其描述或总结);指定的或推断的相关日期(例如,完成承诺的最后期限);相关响应,例如初始回复或后续消息及其预期定时(例如,按照对礼节的预期,或者围绕为完成任务而在人们之间或按照组织进行的高效通信);以及将用于满足请求的信息资源。这样的信息资源例如可以提供关于时间、人物、地点等的信息。识别出的任务内容和关于任务内容的推断可以用于推动自动服务(例如,计算机生成的),例如,提醒、对待办列表进行(例如)修正(以及显示)、约会、会议请求以及其它时间管理活动。在一些例子中,应用这些自动服务可以在编写消息(例如,键入电子邮件或文本)、阅读消息期间,或者在其它时间,例如在服务器或客户端设备上离线处理电子邮件期间。关于请求或承诺的初始提取和推断还可以调用与一个或多个参与者一起工作的服务,来对关于请求或承诺的当前理解或推断以及请求或承诺的状态进行确认或细化,这是至少部分地基于对从通信中检测或推断出的关于一个或多个属性的缺失信息或不确定性的识别。承诺或请求的其它属性可以包括:估计的在承诺中所涉及的持续时间,应该采取的动作(例如,预定时间、设置提醒、安排会议等),以及可以从C&R的文本和相关联元数据推断出的与承诺和/或请求相关联的更广泛项目。

在一些例子中,可以在多种形式的通信中检测任务内容,包括数字内容捕捉人际通信(例如,电子邮件、SMS文本、即时消息收发、社交媒体中的发帖等)以及所编写的内容(例如,电子邮件、例如Redmond,Washington的Microsoft Corporation的的笔记和组织工具、文字处理文档等)。

用于识别来自各种形式的电子通信的任务内容的一些示例性技术可以涉及电子通信内容的语言分析,其可被人工注解者注解为包含承诺或请求。人工注解可以用于生成训练数据的语料库的过程中,所述语料库用于构建并测试对承诺或请求以及关于承诺或请求的各种属性进行的自动提取。

技术还可以涉及用于人工生成的标签的代理服务器(例如,基于电子邮件衔接数据,诸如电子邮件响应速率或响应时间,或者相对复杂的提取方法)。对于用在提取系统中的开发方法,或对于对请求或承诺及其属性进行识别和/或推断的方法的实时使用,分析可以包括在沿着复杂度频谱(spectrum of sophistication)的不同点处的自然语言处理(NLP)分析。例如,具有相对低级别复杂度的分析可以涉及基于断字(word breaking)和词干引申(stemming)来识别关键词。具有相对中级别复杂度的分析可以涉及考虑对词语集合(词袋)的较大的分析。具有相对高级别复杂度的分析可以涉及将通信中的句子进行复杂解析成为解析树和逻辑形式。用于识别任务内容的技术可以涉及将消息的成分和消息的句子特征化(例如,识别其属性或特征)。例如,将通信特征化的过程可以识别能够被分类的文本片段的特征。这样的技术可以在训练和测试范例中采用这样的特征,从而构建统计模型来将消息的成分分类。例如,这样的成分当包含请求和/或承诺时可以包括句子或整体消息。

在一些例子中,用于任务内容检测的技术可以涉及分析的层级,包括使用以句子为中心的方法,对消息中的多个句子的考虑,以及对相对长的通信线程的全局分析。在一些例子中,这样的相对长的通信线程可以包括一个时间段上的消息的集合,以及线程和较长期(例如,跨越几天、几周、几个月或几年)通信的集合。可以考虑与特定通信相关联的多个内容源。这样的源可以包括与特定通信相关联的人的历史和/或人当中的关系,在一段时间内人的地点,人的日历信息,以及与人相关联的组织的多个方面以及组织结构的细节。

在一些例子中,技术可以直接将从内容成分识别出的请求或承诺看作代表着请求或承诺,或者可以进一步总结。技术可以从句子或更大的消息中确定其它信息,包括相关日期(例如,请求或承诺到期的最后期限)、地点、紧急性、时间要求、任务主题以及人。除了消息的文本之外,技术可以考虑用于检测和总结的其它信息,例如图像和其它图形内容、消息的结构、主题页眉、以及关于消息发送方和接收方的信息。技术还可以考虑消息自身的特征(例如,接收方数量、回复数量、总体长度,等等)和上下文(例如,星期几)。在一些例子中,技术还可以至少部分地基于通信的(一个或多个)发送方或接收方以及通信的历史和/或组织的结构,来细化或优先化对候选消息/内容或对作为结果的任务内容确定的初始分析。

在一些例子中,计算系统可以利用运行在句子或消息的注释语料库的训练集合上的机器学习过程来构建预测模型,用于对请求和承诺以及相关信息进行识别或管理。这样的注释可以从任务(例如,承诺/请求)处理系统的保护(fielding)和相对于任务而观察到的用户行为得出。例如,观察到的用户行为可以包括用户针对特定任务安排会议,以及与之相对的,用户针对相同的特定任务建立提醒。这样的观察到的用户行为可以用作管理任务的训练数据。在其它例子中,计算系统可以使用相对简单的基于规则的方法来执行任务内容确定和总结。

在一些例子中,计算系统可以明确注明在消息自身中的在消息中检测到的任务内容。在各个例子中,计算系统可以在多个电子服务和体验中标记包含请求和承诺的消息,所述电子服务和体验可以包括产品或服务,如Microsoft Corporation的Outlook Web(OWA)、和以及来自其它公司的其它这样的服务和体验。在各个例子中,计算系统可以检测或识别来自音频馈送的请求和承诺,例如来自语音邮件消息、SMS图像、即时消息收发流、以及对个人数字助理的口头请求,仅举几例。

在一些例子中,计算系统可以通过用户暗示的或明确的反馈来学习以改善用于检测和管理任务内容的预测模型和总结,如下所述。

结合图1-10进一步描述各种例子。

以下描述的环境仅构成一个例子,并非旨在将权利要求限制于任意一个特定的操作环境。可以在不背离所要求保护主题的精神和范围的前提下使用其它环境。

图1示出了示例性环境100,在其中如本文描述的涉及对任务内容进行确定或识别(例如,任务内容确定)的示例性过程可以运行。在一些例子中,环境100的各个设备和/或部件包括多个计算设备102。通过示例而非限制,计算设备102可包括设备102a-102e。虽然示出为多种设备类型,但是计算设备102可以是其它设备类型并且不局限于图示的设备类型。计算设备102可以包括任意类型的设备,其具有一个或多个处理器104,处理器104可操作地连接到输入/输出接口106和计算机可读介质108,例如经由总线110。计算设备102可以包括个人计算机,例如,台式计算机102a、膝上型计算机102b、平板计算机102c、电信设备102d、个人数字助理(PDA)102e、电子书阅读器、可穿戴计算机(例如,智能手表、个人健康跟踪配件、增强现实和虚拟现实设备等)、汽车用计算机、游戏设备等。计算设备102还可以包括例如:服务器计算机、瘦客户端、终端和/或工作站。在一些例子中,计算设备102可以包括用于集成到计算设备、家电或其它类型设备中的部件。

在一些例子中,描述为由计算设备102执行的一些或所有功能可以通过一个或多个远程对等计算设备、一个或多个远程服务器或者分布式计算资源(例如经由云计算)来实现。在一些例子中,计算设备102可以包括输入端口用于接收电子通信。计算设备102还可以包括一个或多个处理器104,用于访问与特定电子通信相关或相关联的各种信息源。这样的信息源可以包括电子日历和历史数据库或者关于包含于电子通信中的消息作者的个人信息,仅举几例。在一些例子中,作者不得不在多个处理器104的任一个能够(例如,通过执行代码)访问作者的个人信息之前“选择加入(opt-in)”或采取其它确认动作。在一些例子中,一个或多个处理器104可以被配置为对包含于电子通信中的任务内容进行检测和管理。一个或多个处理器104可以是硬件处理器或软件处理器。如本文所使用的,处理单元指定硬件处理器。

在一些例子中,如所示,关于设备102d,计算机可读介质108可以存储(一个或多个)处理器104可执行的指令,所述处理器包括操作系统(OS)112、机器学习模块114、任务操作模块116以及由(一个或多个)处理器104可加载和执行的程序或应用118。一个或多个处理器104可以包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)、视频缓冲处理器等。在一些例子中,机器学习模块114包括存储于计算机可读介质108中的可执行代码,并由(一个或多个)处理器104执行以经由输入/输出106通过计算设备102本地或远程收集信息。所述信息可以与一个或多个应用118相关联。机器学习模块114可以选择性应用存储于计算机可读介质108中(或者,更具体地,存储于机器学习模块114中)的多个机器学习决策模型中的任一个,以应用到输入数据。

在一些例子中,任务操作模块116包括存储于计算机可读介质108中的可执行代码,并可由(一个或多个)处理器104执行以经由输入/输出106通过计算设备102本地或远程收集信息。所述信息可以与一个或多个应用118相关联。任务操作模块116可以选择性地应用(例如,经由机器学习模块114)存储于计算机可读介质108中的多个统计模型或预测模型中的任一个,以应用到输入数据来对任务内容进行识别或管理。然而,在一些例子中,管理任务内容不需要使用“模型”。例如,可以替代地(或另外地)将简单的启发式的或基于规则的系统应用于管理任务内容。

虽然将某些模块描述为执行各种操作,但是这些模块仅是示例,并且可以由更多或更少的模块来执行相同或相似的功能。此外,由所描述的模块执行的功能不必由单个设备在本地执行。而是,可以通过远程设备(例如,对等设备、服务器、云等)来执行一些操作。

替代地或另外地,本文所描述的一些或所有功能可以至少部分地通过一个或多个硬件逻辑部件执行。可以使用的说明类型的硬件逻辑部件包括,例如但不限于:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、程序特定标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等。

在一些例子中,计算设备102可以与能够捕捉图像和/或视频的摄像机和/或能够捕捉音频的麦克风相关联。例如,输入/输出模块106可以将这样的摄像机和/或麦克风并入。例如,对象或文本的图像可以被转换为对应于图像的内容和/或含义的文本,并被针对任务内容对所述图像进行分析。语音音频可以转换为文本,并被针对任务内容进行分析。

计算机可读介质108包括计算机存储介质和/或通信介质。计算机存储介质包括用存储信息(例如,计算机可读指令、数据结构、程序模块或其它数据)的方法和技术实现的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于:相变存储器(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其它类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器或其它存储器技术,压缩盘只读存储器(CD-ROM)、数字通用盘(DVD)或其它光存储设备、磁带盒、磁带、磁盘存储设备或其它磁存储设备、或者可以用于存储由计算设备访问的信息的任意其它非传输介质。

相比之下,通信介质具体实现计算机可读指令、数据结构、程序模块或在调制数据信号中的其它数据,例如载波,或其它传输介质。如本文所定义的,计算机存储介质不包括通信介质。在各个例子中,计算机可读介质108是存储计算机可执行指令的计算机存储介质的例子。当被(一个或多个)处理器104执行时,计算机可执行指令以配置(一个或多个)处理器用于分析单个电子消息的内容,其中所述电子消息是(i)在电子通信当中接收到的;(ii)由用户经由用户接口输入的;或者(iii)从存储器中检索的;并至少部分地基于对内容进行分析,识别来自电子消息的对应于请求或承诺的文本。

在各种例子中,输入/输出(I/O)接口106的输入设备或连接到I/O接口106的输入设备可以是直接触摸输入设备(例如,触摸屏)、间接触摸设备(例如,触摸板)、间接输入设备(例如,鼠标、键盘、摄像机或摄像机阵列等),或者其它类型的非触觉设备,例如音频输入设备。

(一个或多个)计算设备102还可以包括一个或多个输入/输出(I/O)接口106,其可以包括一个或多个通信接口,以支持在计算设备102与涉及对任务内容进行提取的其它联网计算设备或其它计算设备之间的通过网络111的有线或无线通信。这样的通信接口可以包括一个或多个收发器设备,例如,网络接口控制器(NIC)(如,以太网NIC)或其它类型收发器设备,来通过网络发送和接收通信。处理器104(例如,处理单元)可以通过各个通信接口交流数据。在一些例子中,通信接口可以是PCIe收发器,并且网络111可以是PCIe总线。在一些例子中,通信接口可以包括但不限于用于蜂窝(3G、4G或其它)、WIFI、超宽带(UWB)、蓝牙或卫星传输的收发器。通信接口可以包括有线I/O接口,例如以太网接口、串行接口、通用串行总线(USB)接口、INFINIBAND接口或其它有线接口。为简单起见,这些和其它部件从图示的计算设备102中省略。输入/输出(I/O)接口106可以允许设备102与其它设备通信,例如用户输入外围设备(例如,键盘、鼠标、笔、游戏控制器、语音输入设备、触摸输入设备、手势输入设备等)和/或输出外围设备(例如,显示器、打印机、音频扬声器、触觉输出等)。

图2是示出服从示例性任务内容识别过程204的电子通信202的框图。例如,过程204可以涉及用于在传入或传出通信中检测是否已做出(如,包括)承诺206或请求208的多种技术中的任一种。过程204还涉及用于自动地将消息标志、注释或以其它方式识别为包含承诺或请求的技术。在一些例子中,过程204可以包括生成承诺或请求的概要(未示出)以供呈现和后续跟踪及分析的技术。可以在电子通信202的内容的多种形式中识别出承诺206或请求208。这样的内容可以包括人际通信,例如电子邮件、SMS文本或图像、即时消息收发、社交媒体中的发帖、会议记录等。这样的内容还可以包括利用电子邮件应用或文字处理应用编写的内容等。

在多个例子中,过程204可以使用提取出的承诺206和请求208来确定非正式合同210是否存在或非正式合同210是否已通过通信202提出。这样的确定可以至少部分地基于确定在与通信相关联的各方之间或当中存在相互协定。在一些实现方式中,执行过程204的计算系统可以在执行这样的确定的同时,分析一个或多个其它通信。如果非正式协定210存在,则计算系统还可以确定该非正式合同的属性。这样的属性可以包括请求和承诺的细节(时间、地点、主题、人物和/或涉及的事情等)。

图3是示例性系统300的框图,所述系统300包括与多个实体304-324通信的任务操作模块302。这样的实体可以包括主机应用(例如,因特网浏览器、SMS文本编辑器、电子邮件应用、电子日历功能等)、数据库或信息源(例如,个人数据和个人历史、企业(businesses)或坐席(agencies)的组织信息、可以将数据提供为服务的第三方数据汇总器等),等等。任务操作模块302可以与例如图1所示的计算设备102中的任务操作模块116类似或相同。

任务操作模块302可以被配置为通过应用多个语言分析技术中的任一个(但也可以采用简单的启发式或基于规则的系统)来分析通信内容和/或实体304-324提供的数据或信息。

例如,任务操作模块302可以被配置为分析电子邮件实体304、SMS文本消息实体306等所提供的通信的内容。任务操作模块302还可以被配置为分析由因特网实体308、提供训练数据310的机器学习实体、电子邮件实体304、日历实体314等所提供的数据或信息。任务操作模块302可以通过对从任意实体304-324收集到的信息或数据施加语言分析来分析内容。在一些例子中,任务操作模块302可以被配置为对关于来自任务历史实体324(其可以是存储器设备)的历史任务互动的数据进行分析。例如,这样的历史任务互动可以包括人们为先前的承诺和/或请求所执行的动作。关于这样的动作的信息(例如,响应于特定类型的承诺人们做了什么等)可以表示对类似动作人们可以执行何种动作。因此,在决定当前或未来任务操作时可以考虑历史任务互动。

图3中的双端箭头表示数据或信息可以在实体304-324与任务操作模块302当中的任一或两个方向流动。例如,从任务操作模块302流向任一实体304-324的数据或信息可以起因于向实体304-324提供提取出的任务数据的任务操作模块302。在另一例子中,从任务操作模块302流向任一实体304-324的数据或信息可以是由任务操作模块生成的查询的一部分以用于查询实体。如下所述,这样的查询可以由任务操作模块302用于确定任一实体提供的内容的一个或多个含义,并且至少部分地基于内容的含义来确定和建立面向任务的过程。

在一些例子中,任务操作模块302可以从电子邮件实体304接收在多个用户当中的电子邮件交流(例如,通信)的内容。任务操作模块可以分析内容来确定内容的一个或多个含义。分析内容可以由多种技术中的任一种执行,以确定内容元素(例如词语、短语、句子、元数据(例如,电子邮件的大小、创建的日期等)、图像)的含义,以及例如这样的元素如何相互关联以及是否相互关联。内容的“含义”可以是人们如何以自然语言解释内容。例如,内容的含义可以包括请求一人执行任务。在另一例子中,内容的含义可以包括对任务的描述、任务应该在什么时间之前完成、关于任务的背景信息等。在另一例子中,内容的含义可以包括至少部分地基于学习模型所提取或推断的(一个或多个)期望的动作或任务的属性。例如,任务的属性可以是:为这样的任务留出多少时间、应该涉及其他人吗、该任务是高优先级吗,等等。

在可选实现方式中,例如,任务操作模块可以查询一个或多个数据源(如社交媒体实体320)的内容。一个或多个数据源的这样的内容可以与电子邮件交流的内容相关(例如,与主题、作者、日期、事件、地点等相关)。至少部分地基于(i)电子邮件交流的内容的一个或多个含义,以及(ii)一个或多个数据源的内容,任务操作模块302可以至少部分地基于来自电子邮件交流内容的请求或承诺来自动建立一个或多个面向任务的过程。

在一些例子中,任务操作模块302可以至少部分地基于任务内容,利用从训练数据310和/或从实时的在任务操作模块与实体304-324中任一个之间正在进行的通信中学习到的预测模型,来建立一个或多个面向任务的过程。预测模型可以与基于正式合同的用于应对任务的方法相结合(例如,使得用户能够从推断的移动到正式的、基于逻辑/合同的方法的用于对承诺和请求进行管理的系统)。预测模型可以推断传入或传出通信(例如,消息)或通信内容包含请求。类似地,传出或传入通信或该通信的内容可以包含执行任务的承诺(例如,保证或许诺)。从传入或传出通信中对承诺和请求进行识别,可以服务于关于承诺和请求来支持通信的发送方和接收方的多个功能。这样的功能可以用于:生成提醒并向用户提供提醒、对待办列表进行修正、约会、会议请求以及其它时间管理活动。这样的功能还可以包括对相关的支持完成任务活动或支持用户理解任务活动的数字人工制品(例如,文档)进行发现或定位。

在一些例子中,任务操作模块302可以至少部分地基于任务内容利用统计模型来建立一个或多个面向任务的过程,以识别对来自从电子邮件实体304接收到的电子邮件的或来自SMS文本消息实体306的SMS文本消息(仅举几例)的承诺和请求进行的提议和确认。统计模型可以至少部分地基于来自实体304-324的任一个或其组合的数据或信息。

在一些例子中,在消息的作者编写消息的同时,任务操作模块302可以至少部分地基于任务内容建立一个或多个面向任务的过程。例如,这样的编写可以包括利用任意类型的文本编辑器或应用来键入电子邮件或文本消息。在其它例子中,在一个人阅读接收到的消息的同时,任务操作模块302可以至少部分地基于任务内容建立一个或多个面向任务的过程。例如,当此人阅读消息时,任务操作模块302可以通过高亮或强调消息文本中的请求或承诺来注释消息的一部分。在一些例子中,任务操作模块可以在显示消息期间向消息添加相关信息。例如,这样的相关信息可以从数据或信息的额外源(例如,从实体304-324)中推断出。在特定例子中,包括任务操作模块302的计算机系统可以显示消息,该消息包括请阅读者参加一类课程的请求。任务操作模块302可以查询因特网308以确定在阅读者所常驻的区域(例如,可以从关于阅读者的个人数据312推断出)中各个地点以及一天中的各个时间提供多个这样的课程。因此,任务操作模块可以生成并向用户提供选择或建议的列表。例如,这样的列表可以响应于鼠标悬停而在文本的相关部分附近动态显示,或者可以在显示器的其它部分静态显示。在一些例子中,所述列表可以包括阅读者可以(例如,通过鼠标点击)选择的项目,从而该请求将会包括阅读者所选择的时间(这一时间可以替代请求者所“建议”的时间,并且可以将阅读者所选择的时间自动通知给所述请求者)。

图4是示出包括示例性文本线程和对请求或承诺的任务识别过程404的电子通信402的框图。这样的过程例如可以由如图1所示的任务操作模块(如116)执行。例如,通信402可以是在第二用户的计算设备上从第一用户处接收到的给第二用户的文本消息,该通信402包括来自第一用户的文本406以及来自第二用户的文本408。任务识别过程404包括:分析通信402的内容(例如,文本406和文本408),以及确定(i)第一用户或第二用户的承诺,和/或(ii)第一用户或第二用户的请求。

在图4示出的例子中,第一用户的文本406包括请求410:第二用户下周尽快安排我们团队与供应商会面的会议。第二用户的文本408包括承诺412:第二用户通过暗示“好主意,我会跟进”打算安排该会议。任务识别过程404可以通过涉及分析文本406和文本408的多种技术中的任意种来确定请求和承诺。在一些例子中,如果文本不足以确定请求或承诺的足够细节,则任务识别过程404可以查询多个数据源(例如304-324)中的任意个。例如,文本406的请求不包括何时安排会议或何时让该会议进行的具体时间,只有“会议应该在下周尽快进行”。另外,关于谁应该参加会议的信息只限于“我们团队”。因此,任务识别过程404可以在多个数据源(例如,因特网308、个人数据312、日历314、个人助理316、社交媒体320等)中的任意个中查询关于第一用户和/或第二用户的信息。关于第一用户和/或第二用户的信息可以包括个人数据、工作数据、日程表、日历、关于工作地点的信息(例如,来自组织信息318,其可以提供关于雇员及对其工作的描述、头衔等的信息)等,来识别“我们团队”,以及其它方面。可能被查询的后续信息包括第一用户和第二用户的工作地点的会议室细节(例如,从组织信息318或日历314中获悉的会议的一个或多个参数,其可以提供关于会议室的日程、大小、地点等的信息)。

在查询这样的信息之后,任务识别过程404可以确定在通信402中的请求和承诺的大致完整的评估,并可以基于这样的评估生成和执行多个面向任务的过程。例如,任务识别过程404可以向第二用户提供对于下周会议的多个可能的会议时间和可用地点。任务识别过程可以向第二用户提供“我们团队”的名字列表和团队中个人的日程表。任务识别过程可以允许第二用户就是否每个个人都在团队中和/或是否应该参加会议进行确认或拒绝。任务识别过程可以基于个人的日程表来建议会议的可能时间或日期,并考虑个人的“重要性”(例如,一些团队成员的出席可能是必需的或可选的)。

在一些例子中,任务识别过程404可以确定承诺的力度,其中,低力度承诺是用户不见得会履行承诺的一种承诺,而高力度承诺是用户很可能会履行承诺的一种承诺。承诺的力度对于后续服务可以是有用的,例如提醒、对待办列表的修正、约会、会议请求以及其它时间管理活动。对承诺的力度的确定可以至少部分地基于第一用户、第二用户或另一用户的用户事件的历史(例如,对过去承诺的坚持到底(follow-through)等)和/或其他用户的事件历史和/或个人信息(例如,年龄、性别、年龄、职位、经常旅行者等)。例如,任务识别过程404可以查询这样的历史。在一些例子中,任一或所有用户不得不在任务识别过程404可以查询用户的个人信息之前“选择加入(opt-in)”或采取其它确认性动作。如果这样的历史证明例如第二用户在去年左右安排了相对大量的会议,则任务识别过程404可以为第二用户的承诺分配相对高的力度。对承诺的力度的确定还可以至少部分地基于文本406和/或文本408中的关键词或术语。例如,“好主意。我会跟进。”通常具有积极和期望的暗示,从而这样的承诺会相对较强。在另一方面,“我会跟进”是相对模糊的并且没有达到措辞有力的承诺(例如,“我会去做”)。在一些实现方式中,任务识别过程404可以至少部分地基于在消息中使用的特定词语来确定承诺的力度。例如,在消息中使用的词语和/或短语的层级可以对应于承诺的级别。在具体例子中,诸如“也许”、“如果”、“但是”、“虽然”等的词语可能表示附条件的承诺。因此,关于第二用户的信息和/或第二用户的动作历史可以被任务识别过程404用于确定该承诺的力度。任务识别过程404可以对多个这样的场景和因素进行加权,来确定承诺的力度。

图5是在消息和任务内容中的示例关系的表格500。具体地,这样的任务内容包括承诺和/或请求,其中任一可以通过计算设备或“其他用户实体”的用户所生成(例如,通过应用自动生成或手动写入),所述用户可以是一个或多个计算设备上的一个或多个人。在一些例子中,其他用户实体可以是可以向他或她自己发送消息的用户。在其它例子中,用户和/或其他用户实体可以是任意的人(例如,代表、助手、管理者等)或机器(例如,被配置为接收和执行指令的基于处理器的系统)。表格500示出了由计算设备的用户生成并传送给其他用户实体的传出消息,以及由其他用户实体生成并由计算设备的用户接收的传入消息。

可以在传出或传入消息中检测到的承诺的例子包括:“我将准备文档并在周一发送给你”、“我将在周五之前把支票发送给Smith先生”、“我会去做”、“我将回到你那里”、“好的”等等。后者的例子展示了承诺(或对其的声明)不必包括时间或最后期限。可以从传入或传出消息中提取出的请求的例子包括:“你能确定把钥匙留在垫子下吗”、“让我知道你是否能早点来吃晚饭”、“你这月底前能完成预算分析吗”等。

响应于在传出或传入消息中检测到的承诺或请求,(一个或多个)处理器执行模块(processor executing module)可以配置一个或多个计算设备来执行服务,例如提醒、对待办列表的修正、约会、以及与承诺或请求相关的活动的时间管理。例如,这样的处理器执行模块可以执行类似于任务操作模块302的操作。另外,处理器执行模块可以帮助用户保持跟踪传出请求和传入承诺。例如,处理器可以向用户呈现动作列表,用于对由用户发给其他用户的请求或其他用户向用户做出的承诺进行跟踪或自动提醒其他用户。

表格500包括在消息中包含的任务的四种具体情况。一种情况是包括用户对其他用户实体做出的承诺的传出消息。另一种情况是包括用户对其他用户实体进行的请求的传出消息。又一种情况是包括来自其他用户实体对用户做出的承诺的传入消息。再一种情况是包括从其他用户实体对用户进行的请求的传入消息。至少部分地基于正在处理的具体情况,用于检测来自消息的任务内容的过程可以彼此不同。这样的过程可以由用户的计算设备或与该计算设备通信的计算系统(例如,服务器)执行。例如,对其中传入消息包括来自其他用户实体对用户的承诺的情况所应用的过程可以涉及查询各种数据源以确定与承诺相关的多个细节中的任一个(例如,除了其他用户实体所提供的细节外)。这样的各种数据源可以包括其他用户实体的个人数据或历史、相关事件的日程表(例如,日历数据)、响应于至少部分地基于与承诺相关联的词语而进行的关键词搜索的搜索引擎数据等。在一些实现方式中,数据源可以是与设备的处理部件相关联的存储器,例如经由总线而电子地耦合到处理器的存储器设备。例如,指向修理冰箱的承诺(如,“是的,我非常乐意在你出城期间修理你的冰箱”)可以导致将应用于因特网搜索的关键词“冰箱”、“家电”、“修理”、“家庭修理”等。在其他用户实体做出承诺之后或当其他用户实体正在阅读请求(并决定例如是否做出承诺)时,这样的搜索的结果(和/或关键词本身)可以被自动提供给其他用户实体。此外,可能需要关于用户的个人数据来确定用户将“出城”的时间段。这样的查询信息例如可以允许过程确定应该在何时间之前履行承诺。在一些例子中,在过程能够访问用户和/或其他用户实体的个人信息之前,用户和/或其他用户实体必须“选择加入”或采取其它确认性动作。

作为另一例子,应用于其中传出消息包括用户对其他用户实体的请求的情况的过程可以涉及查询各种数据源(不必在执行过程的(一个或多个)设备外部)来确定与对用户请求的强的(例如,真挚的、可靠的、有价值的)承诺对应的其他用户实体的结果的可能性。这样的确定出的可能性可有助于用户确定是继续向其他用户实体发送请求还是选择另一用户实体(其更可能履行该特定请求的承诺)。各种数据源可以包括其他用户实体的个人数据或历史。例如,其他用户实体的动作历史(取消会议或未能将任务坚持到底)可以表示其他用户实体将接受或将对用户请求的承诺坚持到底的可能性(或缺乏)。

在另一方面,应用于其中传入消息包括从其他用户实体到用户的请求的情况的过程可以涉及查询各种数据源来确定执行关于针对请求的可能承诺的后勤和各种细节。例如,传入消息中的请求可以是“你下周可以粉刷我的房子外部吗”。这样的请求可能导致指向天气预报提供商(例如,经由因特网)以及其它多个事物等等的查询。如果下周的天气被预报有雨,则过程可以自动(例如,不经任何用户提示)向用户提供这样的天气信息。在一些例子中,过程可以向用户提供分数(score)或一些量化符来帮助用户决定是否提交请求。例如,分数10表示与请求的承诺相关联的相对简单的任务。分数1表示与请求的承诺相关联的不可能的任务。这样的不可能性可能由于日程表冲突、特定人或设备不可得、天气等。

在另一例子中,应用于其中传出消息包括用户对其他用户实体的承诺的情况的过程可以涉及查询各种数据源以确定承诺的重要性。例如,如果其他用户实体是用户的管理者,则承诺可能是相对重要的。因此,该过程可以查询包括其他用户实体的个人和/或职业数据的各种数据源,来确定其他用户实体是否是管理者、下属、同事、朋友、家人等。例如,如果其他用户实体是管理者,则该过程可以优先化与管理者的承诺相关联的时间安排,例如通过自动取消妨碍执行承诺任务的日历事件(例如,可以在用户的日历中取消与朋友在12:30的午餐会面,以用于留出时间在管理者请求的中午会面一小时的承诺)。因此,任务操作模块所执行的过程可以至少部分地基于从一个或多个数据源接收到的信息(例如,消息作者的个人数据)来自动修改会议出席者列表。在其它例子中,代替这样的自动化,过程可以在用户明确确认之后执行任务。此外,过程可以修改消息内容的一个或多个作者的电子日历,其中所述修改至少部分地基于消息的一个或多个作者之间或当中的相对关系。

图6是至少部分地基于包含于消息中的任务内容(例如,请求或承诺)执行面向任务的过程600的流程图。例如,图3所示的任务操作模块302可以执行过程600。在框602处,任务操作模块302可以接收消息,例如电子邮件、文本消息或在人或机器(例如,能够生成消息的计算机系统)之间的任意其它类型通信。在框604处,任务操作模块302可以确定包含于消息中的任务内容。如上所述,可以使用多种技术中的任一种来做出这样的确定。确定任务内容的难度和复杂度通常对于不同消息而变化。对于相对简单的情形,任务操作模块302确定具有相对高置信度的任务内容。在相对复杂的情形下,任务操作模块302可以确定具有相对低置信度的任务内容。在两种情况下,尤其是在后一种情况下,任务操作模块302可以提示用户确认所确定的任务内容是否是正确且准确的。因此,在菱形606处,任务操作模块302可以提示用户确认或提供对所确定的任务内容的校正或细化。例如,发往用户的电子邮件可以是“你月底前能完成预算分析吗”。任务操作模块302(例如,在所显示的消息或音频消息中)可以询问用户在电子邮件中所确定的请求是否是“在四月底前完成预算分析”。用户可以确认这是真的。在这样的情况下,过程600可以前进到框608。

在另一方面,用户可以通过做出校正或通过响应所确定的请求是假的而进行响应。例如,正确的月份是五月或六月。在一些例子中,在这样的确认过程期间,任务操作模块302可以基于可能的可能性向用户提供选项列表(例如,四月、五月、六月、七月…)。用户可以选择列表中的选项。过程600可以返回到框604,以鉴于用户的响应而修改或确定任务内容。

在框608处,任务操作模块302可以至少部分地基于所确定的任务内容来生成一个或多个面向任务的动作。这样的动作可以包括修改电子日历或待办列表,提供可能用户动作的建议,以及向用户提供提醒,等等。在一些例子中,任务操作模块302可以基于所确定的任务内容(例如,估计用户期望的持续时间),通过推断“理想”动作的本质和定时来生成或确定面向任务的过程。在一些例子中,任务操作模块302可以基于所确定的请求或承诺的本质(例如,“下午五点前写完报告”可能要求预约时间,而“下午五点前让我知道”则暗示需要提醒),通过自动识别和提示不同动作类型来生成或确定面向任务的过程。

在框610处,任务操作模块302可以为用户提供面向任务的动作的列表以供检验或回顾。例如,面向任务的动作可能是发现或定位与特定任务相关的数字人工制品(例如,文档),以支持任务活动的完成或支持用户对任务活动的理解。在菱形612处,用户可以在任务操作模块302将要执行的不同的可能动作的选项中进行选择,可以细化可能的动作,可以删除动作,可以手动添加动作,等等。如果存在任意这样的改变,则过程600可以返回到框608,在此任务操作模块302可以鉴于用户编辑的面向任务的过程列表而重新生成面向任务的过程。在另一方面,如果用户批准该列表,则过程600可以前进到框614,在此任务操作模块302执行面向任务的过程。

在一些例子中,面向任务的过程可以涉及:生成对所确定的请求或承诺可用的动作的经排名的列表;任务相关推断、提取和使用推断出的日期、地点、意图以及适当的后续步骤;为相对容易修改的显示提供关键数据字段;利用多级分析跟踪请求和承诺的生命周期(life-history),包括将请求和承诺分组到较高级任务或计划中以提供对人们实现这样的任务或计划的支持;在一段时间内为电子消息的一个或多个作者反复修改日程表(例如,初始建立日程表,几天后至少部分地基于在这几天内发生的事件而修改该日程表);将待办列表与提醒相集成;将较大时间管理系统与所要求时间和安排服务的手动和自动的分析相集成;到自动的和/或手动的授权代表(delegation)的链接;以及将具有基于所要求的时间而递送面向任务的目标的能力的实时编写工具(例如,基于用户时间的其它约束来帮助用户避免承诺过多)集成。例如,基于历史数据,推断对于个体用户或用户组可以是个性化的。

在其它例子中,面向任务的过程可以涉及:确定关于确认请求或承诺而占用用户的“最佳”时间;识别“理想的”会议时间和/或会议动作的地点;识别用于提醒或其它动作的“理想”时间;识别为事件、会议等需要抽出多少时间;与占用用户确认或其他用户查询相对照,确定何时采取自动动作;将具有位置预报服务或用于协调会议地点的其它资源与用于完成任务的其它方面相集成;随着时间跟踪多个任务步骤(例如,涉及搁置(loft)的或接受的承诺的步骤,到任务的生命周期的更完整概念的连接,将对承诺的识别链接到端到端处理任务,包括时间分配和跟踪等)。

图7是根据各个例子的机器学习系统700的框图。机器学习系统700包括机器学习模型702(其可以与图1所示的机器学习模块114相同或类似)、训练模块704以及任务操作模块706(其可以例如与任务操作模型302相同或类似)。虽然被示出为单独的框,但在一些例子中,任务操作模块706可以包括机器学习模型702。机器学习模型702可以接收来自离线训练模块704的训练数据。例如,训练数据可以包括来自包括机器学习系统700的计算系统的存储器的数据,或来自如图3所示的实体302-324的任意组合的数据。

通过防御承诺或请求服务(例如,经由或其它应用)收集到的遥测数据可以用于生成针对多个面向任务的动作的训练数据。例如在工作组中纵向的相对集中的小规模部署作为对诸如的现有服务的插件,可以给能够准确推断的学习模型产生足够的训练数据。例如,原位测试可以收集数据来完成行为日志。例如,用户对由任务操作模块生成的推断的响应可以帮助随着时间训练系统。

存储器可以存储由计算系统或特定用户接收到和/或发送到计算系统或特定用户的请求和承诺的历史。来自存储器或实体的数据可以用于训练机器学习模型702。在这样的训练之后,任务操作模块706可以采用机器学习模型702。因此,例如,针对离线训练利用来自请求和/或承诺的历史的数据进行的训练可以用作机器学习模型的初始条件。可以使用下文所述的用于学习的其它技术,例如涉及特征化的那些技术。

图8是根据各个例子的机器学习模型800的框图。机器学习模型800可以与图7所示的机器学习模型702相同或类似。机器学习模型800包括多个功能块中的任意一个,例如随机森林块802、支持向量机块804以及图形模型块806。随机森林块802可以包括用于在训练时通过构建决策树而操作的分类的总体学习方法。随机森林块802可以输出例如由个体树输出的类别模型的类别。随机森林块802可以用作包括能够混合和匹配以创建大量特定模型的若干可互换部分的框架。在这样的框架中构造机器学习模型涉及:确定在每个节点中使用的决策方向,确定在每个叶子中使用的预报器的类型,确定分裂目标以在每个节点中优化,确定用于向树中注入随机性的方法,等等。

支持向量机块804对用户机器学习模型800的数据进行分类。支持向量机块804可以用作具有分析数据并识别模式的相关联的学习算法的监督学习模型,其用于分类和回归分析。例如,给定一组训练数据,每个数据被标记为属于两个种类中的一个种类,支持向量机训练算法构建将新训练数据分配到一个种类或另一种类的机器学习模型。

图形模型块806用作概率模型,对该模型,图形表示随机变量之间的条件依赖关系结构(conditional dependence structure)。图形模型提供用于发现和分析在分布中的结构以及提取非结构化信息的算法。图形模型的应用可以用于根据非文本内容推断任务内容,其可以包括(仅举几例):信息提取、语音识别、图像识别、计算机视觉、以及对低密度奇偶校验码进行解码,等等。

图9是示出在承诺和请求检测和管理中涉及的示例性在线和离线过程900的框图。这样的过程可以由执行模块(例如,114和/或116)的处理器(例如,处理单元)或计算设备(例如上述计算设备102)执行。“离线”指的是利用监督/标记的训练数据(例如,具有标记的承诺和请求句子的电子邮件集合)训练机器学习算法的训练阶段。“在线”指的是已经被训练来从新的(未看的)电子邮件提取承诺和请求的模型的应用。特征化过程902和模型学习过程904可以通过计算设备在线或离线执行。在另一方面,接收新消息906以及应用模型的过程908可以在线发生。

在一些例子中,可以通过任务操作模块(例如,任务操作模块116或302)执行特征化过程902、模型学习过程904以及应用模型的过程908中的任意一个或全部。在其它例子中,可以在机器学习模块(例如,图1所示的机器学习模块114)中执行特征化过程902和/或模型学习过程904,并由任务操作模块执行应用模型的过程908。

在一些例子中,特征化过程902可以从各种源(例如,如图3所示的实体304-324中的任一个)接收训练数据910和数据912。特征化过程902可以生成能够分类的文本片段的特征集。这样的分类例如可以用于模型学习过程904。文本片段可以包括一个或多个通信(例如,通常是训练数据910的相对大量通信)的内容的部分。例如,文本片段可以是词语、术语、短语或其组合。模型学习过程904是生成并反复改进在过程908中用于检测和管理任务内容(例如,在通信中包括的请求和承诺(因此的一个或多个非正式合同))的模型的机器学习过程。例如,可以将模型应用于新的消息906(例如,电子邮件、文本等)。计算设备可以持续地、有时地或周期性地执行模型学习过程904,与应用模型到新消息906的过程908异步。因此,例如,模型学习过程904可以离线并独立于在线过程来更新或改善模型,所述在线过程例如将模型(或模型的当前版本)应用到消息906。

将模型应用到新消息906的过程908可以涉及考虑其它信息914,这些消息可以从如上所述的例如实体304-324处接收到。在一些例子中,来自其它源的至少一部分数据912可以与其它信息914相同。应用模型的过程908可以导致检测和管理在新消息906中包含的任务内容。这样的任务内容可以包括承诺和/或请求。

图10是可以由任务操作模块或处理器执行模块(例如,处理单元)执行的示例性任务管理过程1000的流程图。例如,过程1000可以由图1所示的计算设备102执行,或者更具体地在其它例子中,可以由图3所示的任务操作模块302执行。

在框1002处,任务操作模块可以识别在电子消息的内容中的请求或承诺。例如,电子消息可以包括电子邮件、文本消息、非文本内容、社交媒体发帖等。例如,识别在电子消息的内容中的请求或承诺可以至少部分地基于内容的一个或多个含义。在框1004处,任务操作模块可以至少部分地基于请求或承诺来确定非正式合同。在一些例子中,任务操作模块还可以至少部分地基于请求或承诺来选择一个或多个数据源。数据源可以包括在图3的例子中描述的实体304-324中的任一个。一个或多个数据源可以通过(仅举几例)主题、电子通信的作者、与作者相关的人、时间、日期、事件历史以及组织等,来与电子消息相关。

在框1006处,任务操作模块可以至少部分地基于请求或承诺来执行一个或多个动作。任务操作模块可以执行这样的动作(例如,面向任务的动作或过程),如为暗示的任务抽出时间,安排与他人的约会(例如,消息发送方或接收方或者团队或组),以及在最适当的时间将请求或承诺提醒用户,等等。在一些例子中,任务操作模块的一个或多个动作可以包括确定对请求响应的适当性。例如,对来自工作同事或助手的请求的响应可以是“不行,我现在太忙”。然而,来自管理者或经理的相同请求则不应该导致这样的响应。因此,任务操作模块可以包括基于请求和关于请求的信息来自动确定适当的响应。这样的适当的响应可以提供给请求的接收方作为可选选项的列表。在接收方选择了一个或多个选项之后,任务操作模块可以继续以执行一个或多个面向任务的动作。

在一些例子中,电子通信包括音频、图像或视频。转换模块可以用于将音频、图像或视频转换成对应的文本,从而生成电子通信的内容。可以将电子通信的内容提供给任务操作模块。在一些例子中,任务操作模块可以实时地执行过程1000。

图10中示出的操作流被示出为表示可以在硬件、软件或其组合中实现的操作序列的框和/或箭头的集合。描述框的次序并非旨在被解释为限制,并且可以以任意次序组合任意多个所描述的操作以实现一个或多个方法或替代方法。另外,可以在操作流程中省略单个操作而不背离本文所描述的主题的精神和范围。在软件背景下,框表示计算机可读指令,当被一个或多个处理器执行时,所述指令将处理器配置为来执行所记叙的操作。在硬件背景下,框可以表示被配置为执行所记叙操作的一个或多个电路(例如,FPGA、专用集成电路-ASIC等)。

在图10所示的操作流程中的任意例程描述、元件或框可以表示包括用于实现在例程中的具体逻辑功能或元件的一个或多个可执行指令的模块、段或部分代码。

例子条款

例子A,一种系统,包括:

A.一种系统,包括:接收器端口,用于接收电子消息的内容;以及处理器,用于:识别在所述电子消息的内容中的请求或承诺;至少部分地基于所述请求或所述承诺,确定非正式合同;以及执行一个或多个动作以管理所述非正式合同,所述一个或多个动作至少部分地基于所述请求或所述承诺。

B.根据段落A所述的系统,其中,所述处理器被配置为:至少部分地基于所述请求或所述承诺,查询一个或多个数据源;以及响应于对所述一个或多个数据源的查询,从所述一个或多个数据源接收信息,其中用于管理所述请求或所述承诺的所述一个或多个动作还至少部分地基于从所述一个或多个数据源接收到的信息。

C.根据段落B所述的系统,其中,所述一个或多个数据源的信息包括电子消息的内容的一个或多个作者的个人数据。

D.根据段落B所述的系统,其中,所述一个或多个动作包括确定所述承诺将由特定人履行的可能性,其中所述确定至少部分地基于从所述一个或多个数据源接收到的信息。

E.根据段落B所述的系统,其中所述请求或所述承诺的主题与会议相关联;以及所述一个或多个动作包括:至少部分地基于从所述一个或多个数据源接收到的信息,自动识别或修改会议的参加者列表或地点。

F.根据段落E所述的系统,其中,所述一个或多个数据源包括以下中的至少一个:位置或地图服务、电子消息内容的一个或多个作者的个人数据、日历服务或者会议室安排服务。

G.根据段落A所述的系统,其中,所述一个或多个动作包括:修改所述电子消息内容的一个或多个作者的电子日历,其中所述修改至少部分地基于所述一个或多个作者之间或当中的相对关系。

H.根据段落B所述的系统,其中,所述处理器被配置为:通过向电子消息的内容应用统计模型,来选择一个或多个数据源。

I.根据段落B所述的系统,还包括机器学习模块,其被配置为使用电子消息的内容和/或来自一个或多个数据源的信息作为训练数据。

J.一种方法,包括:识别在电子消息中的请求或承诺;至少部分地基于所述请求或所述承诺,确定非正式合同;以及至少部分地基于所述非正式合同,确定面向任务的过程。

K.根据段落J所述的方法,还包括:在一个或多个数据源中搜索与在所述电子消息中的请求或承诺相关的信息;以及从所述一个或多个数据源接收与在所述电子消息中的请求或承诺相关的信息,其中确定所述面向任务的过程还至少部分地基于从所述一个或多个数据源接收到的信息。

L.根据段落J所述的方法,还包括:在所述电子消息的至少一部分正被生成的同时,确定所述面向任务的过程。

M.根据段落K所述的方法,其中,与所述电子消息相关的信息包括所述电子消息的作者的一个或多个方面。

N.根据段落J所述的方法,还包括:跟踪与所述请求或所述承诺相关联的一个或多个活动;以及响应于所述一个或多个活动,修改所述面向任务的过程。

O.根据段落J所述的方法,还包括:将所述请求或所述承诺与另外的请求或承诺分组到一起以形成项目。

P.根据段落K所述的方法,其中,所述一个或多个数据源包括所述电子消息的作者的电子日历,并且所述方法还包括:当所述作者正在生成包括承诺的电子消息的至少一部分时,将可能影响所述承诺的时间约束通知给所述作者。

Q.一种计算设备,包括:收发器端口,用于接收和发送数据;以及处理器,用于:检测在电子消息中包含的请求或承诺;经由所述收发器端口,发送查询以从一个或多个实体检索信息,其中所述查询至少部分地基于所述请求或所述承诺;管理与所述请求或所述承诺相关联的一个或多个任务,其中,所述一个或多个任务至少部分地基于所检索的信息。

R.根据段落Q所述的计算设备,其中,所述检索的信息包括天气预报,并且其中所述一个或多个任务包括至少部分地基于所述天气预报修改与所述请求或承诺相关联的日程表。

S.根据段落Q所述的计算设备,其中,所述处理器被配置为:提供所述电子消息或所检索的信息以作为用于机器学习过程的训练数据;以及将所述机器学习过程应用于管理所述一个或多个任务。

T.根据段落Q所述的计算设备,其中,所述一个或多个任务包括:在一段时间针对所述电子消息的一个或多个作者反复修改日程表。

虽然以专用于结构特征和/或方法动作的语言描述了技术,但是可以理解的是所附权利要求不一定局限于所描述的特征或动作。相反地,所述特征和动作被描述为这样的技术的例子。

除非另有表述,否则上述的所有方法和过程都可以整体或部分由一个或多个通用计算机或处理器执行的软件代码模块实现。代码模块可以存储于任意类型的计算机可读存储介质中或其它计算机存储设备中。替代地,一些或所有方法可以整体地或部分地由专用计算机硬件实现,例如FPGA、ASIC等。

例如“能”、“能够”、“可”或“可以”的条件性语言,除非另有表述,否则用于表示某些例子包括所述的特征、元件和/或步骤,同时其它例子不包括这些。因此,除非另有表述,否则这样的条件性语言并非旨在暗示一个或多个例子以任何方式需要所述特征、元件和/或步骤,或者一个或多个例子必须包括用于在具有或不具有用户输入或提示的情况下决定是否将这些特征、元件和/或步骤在任何特定例子中包含或者执行的逻辑。

例如短语“X、Y或Z中的至少一个”的合取性语言,除非另有表述,否则应理解为表示项目、术语等可以是X或Y或Z中任一或者其组合。

可以对上述例子做出多种修改和变型,所述例子的要素应被理解为在其它可接受的例子当中。所有这样的修改和变型被认为包含在本文中本公开的范围之内。

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