上下文通知引擎的制作方法

文档序号:15739836发布日期:2018-10-23 22:06阅读:153来源:国知局
上下文通知引擎的制作方法

个人助理程序提供传统上由人类助理提供的服务。例如,个人助理可以更新日历,提供提醒,跟踪活动,以及执行其他功能。一些个人助理程序可以响应于语音命令并且与用户进行可听通信。当用户可能对这些项目中的一个感兴趣时,个人助理可以向用户推荐餐馆、音乐、任务、电影和其他项目。个人助理具有用于与用户通信的很多不同信道。另外,对于个人助理,设备上的很多其他应用可能试图通过可用信道与用户通信。选择适合于与通信(例如,通知)相关联的紧急水平的通信信道可能是一个挑战。



技术实现要素:

提供本发明内容是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在孤立地用作确定所要求保护的主题的范围的辅助手段。

本文中描述的技术的各方面涉及用于尤其是基于事件的紧急性和错过事件的潜在影响力来为事件通知选择通信信道的系统、方法和计算机存储介质。计算设备具有用于向用户提供通知的有限的接口可用性。通过向最紧急和最有影响的通知分配有限的资源,该技术的各方面可以最佳地利用有限的接口。可以为事件指派影响水平和紧急水平。

对于通知,可以将影响水平和紧急水平映射到具有适当的侵扰水平的通信信道。例如,高侵扰水平通知可以使用可听信道或振动信道(如果音频被静音),信道发出警报,警报直到用户通过选择传送通知内容的全屏界面上的按钮来响应时才停止。在这个示例中,音频信道和全屏信道的组合包括通信信道。在频谱的另一端,可以将被指派低侵扰水平的最不重要的通知添加到用户需要主动导航以访问通知的列表中。这是一种低水平的侵入。

本文中描述的技术还可以提供用于多个应用以均匀方式向用户传送紧急水平的机制,即使各种通知的上下文非常不同。在一个示例中,个人助理应用用作集中式通知集线器,来自多个应用的通知通过该集线器被递送给用户。个人助理应用可以为通知/事件指派影响和紧急水平,并且选择适合紧急性和影响力的通信信道。或者,影响力和紧急性可以由应用指派,并且由个人助理应用使用以选择适当的通信信道。

附图说明

下面参考附图详细描述本申请中描述的技术的各方面,在附图中:

图1是适合于实现本文中描述的技术的各方面的示例性计算环境的框图;

图2是描绘根据本文中描述的技术的一个方面的可以用于为通知选择通信信道的示例性计算环境的图;

图3是描绘根据本文中描述的技术的一个方面的为通知选择通信信道的方法的图;

图4是描绘根据本文中描述的技术的一个方面的为通知选择通信信道的方法的图;

图5是描绘根据本文中描述的技术的一个方面的为通知选择通信信道的方法的图;以及

图6是适合于实现本文中描述的技术的各方面的示例性计算设备的框图。

具体实施方式

本申请的技术在本文中具体描述以满足法定要求。然而,描述本身并不意图限制本专利的范围。而是,发明人已经设想,所要求保护的主题还可以以其他方式来实施,以结合其他当前或未来的技术而包括与本文档中描述的步骤不同的步骤或类似的步骤的组合。此外,尽管本文中可以使用术语“步骤”和/或“框”来表示所采用的方法的不同元素,但是这些术语不应当被解释为暗示本文中公开的各个步骤之中或之间的任何特定顺序,除非和除了明确地描述了各个步骤的顺序。

本文中描述的技术的各方面涉及用于尤其是基于事件的紧急性和错过事件的潜在影响来为事件通知选择通信信道的系统、方法和计算机存储介质。计算设备具有用于向用户提供通知的有限的接口可用性。通过向最紧急和最有影响的事件分配有限的资源,该技术的各方面可以最佳地利用有限的接口。可以为事件指派影响水平和紧急水平。影响水平和紧急水平的组合可以用于选择具有适当资源使用水平的通信信道。

如本文中使用的,术语影响和影响水平可以可互换地使用。类似地,紧急和紧急水平可以可互换地使用。此外,可以将通知描述为具有紧急性或影响。在所有情况下,指派给通知的紧急性或影响基于在通知中描述的事件来确定。

例如,最重要的通知(高紧急性和高影响)可以使用可听信道或振动信道(如果音频静音),信道发出警报,警报直到用户通过选择传送通知内容的全屏界面上的按钮来响应时才停止。在这个示例中,音频信道和全屏信道的组合包括通信信道。另一方面,可以将最不重要的通知(低紧急性和低影响)添加到用户需要主动导航以访问通知的列表中。

本文中描述的技术的各方面可以为任何给定事件指派紧急水平和影响水平。可以使用影响水平和紧急水平的组合来选择具有适当的侵扰水平的通信信道。在一个方面,可以为给定设备上的各种通信信道指派侵扰水平。在一个方面,指派给通信信道的侵扰水平是高、中或低。

本文中描述的技术可以用作通知引擎,以用于在设备上运行的多个应用和/或由生成通知的单个应用使用的多个主题域上生成通知。为了提供统一的体验,当向通知引擎提供通知请求时,通知的提供者可以包括影响水平和紧急水平两者。通知引擎还可以基于包括由另一应用或域提供的信息的已知上下文信息来计算紧急水平和影响水平。通知引擎可以包括被设计为接收通知内容以及影响水平和紧急水平的应用程序接口。附加地或替备选地,应用程序接口可以包括用于提供可以用于计算或确认影响水平和紧急水平的数据的字段。在备选方案中,通知引擎使用上下文信息来确定与呈现通知的请求相关联的通知的影响和紧急性。

生成提供通知的请求的应用或通知域不需要知道特定计算设备上可用的通信信道。通知引擎可以在映射到紧急性和影响的适当通信信道上生成通知。另外,通知引擎可以在仅提供紧急性时确定影响,或者在请求通知的应用仅提供影响时确定紧急性。

通信信道:如本文中使用的,通信信道可以包括计算设备中可用的一个或多个输出机构。输出机构包括扬声器、屏幕、灯和诸如振动机构的触觉反馈机构。例如,通信信道可以包括从扬声器发出的可听声音和通过屏幕显示的可见通知的组合。

高侵扰水平通信信道:被指派高水平侵扰的通信信道需要用户交互来禁用通知,并且不需要用户主动发现通知。输出机构的不同组合可以用于形成高侵扰水平的通信信道。

当多个高侵扰水平信道可用时,可以根据设备的上下文选择特定信道。例如,如果设备上下文指示用户正在查看显示屏幕并且与其交互,则可以选择被呈现在界面的顶部z层上并且需要物理交互以解除的视觉通知作为高侵扰水平通信信道。另一方面,如果设备上下文指示不存在当前用户交互,则可以结合视觉指示提供听觉通知以将用户的注意力吸引到设备。

在一个方面,选择高侵扰水平通信信道用于与具有高影响的紧急事件相关的通知。

中侵扰水平通信信道:被指派中侵扰水平的通信信道不需要用户主动发现通知,但不需要用户交互来解除通知。

在一个方面,选择中侵扰水平通信信道用于与具有高紧急性和中影响的事件或者具有低紧急性和高影响的事件相关的通知。

低侵扰水平通信信道:被指派低侵扰水平的通信信道需要用户主动发现通知,并且也不需要用户交互来禁用或解除通知。虽然低通信信道或中通信信道不需要用于禁用通知的用户交互,但是通知可以包括解除接口。例如,低水平通知列表可以包括用于从列表中移除提醒的删除功能。

在一个方面,选择低侵扰水平通信信道用于具有低紧急性和低影响的通知。

提醒的侵扰会随着时间的推移而改变。例如,账单支付提醒最初可以被添加到与低侵扰水平相关联的被动列表。随着支付日期接近而没有支付账单,账单支付事件的紧急性和影响可能增加,导致与提醒相关联的通知的侵扰增加。如果今天没有支付账单会产生延迟费用,则影响力会很高,因为未完成任务将花费金钱,而且任务也很紧急,因为它在一天之内到期的。

紧急水平:为了选择具有适当的事件侵扰水平的适当通信信道,可以确定事件的紧急水平和影响水平。紧急水平与用于完成与通知相关联的事件的时间范围相关联。用户完成事件的时间越短,紧急水平越高。在一个方面,事件被分类为紧急或非紧急。紧急事件是事件截止期限在距离当前的阈值时间段内的事件。本文中使用的“当前”是要呈现通知的时间点。阈值时间段可以基于事件域而变化。在一个方面,事件被分类到域中,并且然后与事件域相关联的阈值时间段被检索以结合事件截止期限来确定紧急性。示例性阈值时间段可以包括呈现通知的分钟、小时或同一天。

影响水平:与事件相关联的影响力可以分为高、中或低。高影响事件是未完成事件导致用户损失时间和/或金钱的事件。例如,未能及时支付账单可能会在收取滞纳金时造成损失。错过飞机飞行可能导致重大的时间损失和可能的金钱损失。时间损失可以针对用户的基线行为模式来测量。时间损失在根据用户的基线行为模式测量时发生。例如,如果用户通常乘坐火车上班,则由于错过第一列火车而导致的时间损失可以通过用户等待下一列火车的时间来测量。当错过火车时,用户可能偏离其典型的行为模式并且乘坐出租车上班,这可能会或不会导致时间损失。然而,时间损失可以使用用户将继续其典型行为模式(例如,乘坐火车)的假定来确定。

当事件是可以节省时间或金钱的用户基线行为模式的优化时,指派中影响水平,但是与用户的基线相比,错过事件不会导致时间或金钱的损失。换言之,事件提高了用户在基线上的效率。例如,当用户遵循的基线路线指示延迟时,建议新的路线回家。在这个示例中,通知将为用户提供更改基线行为的选项。用户在回家路上购买牛奶的事件提醒是另一效率事件。

当事件或对事件的响应是可选的时,指派低影响水平。例如,指示喜欢的电视节目即将开始或者已经接收到某些通信(例如,文本、电子邮件)的通知。某些通信、特别是包括请求或指示用户先前承诺的那些通信可以被归类为中影响力或高影响力。通信的发送者和其他因素可以用于将个体通信分类为具有高影响力、中影响力或低影响力。

事件:术语“事件”在本文中广泛用于表示用户与另一实体之间的任何真实或虚拟交互。事件可以包括通信事件,其通常是指与用户相关联的计算设备接收或发起的几乎任何通信,包括尝试通信(例如,未接来电)、旨在用于用户的通信、代表用户发起的通信、或者可用于用户的通信。术语“事件”还可以指代提醒、任务、公告或新闻项目(包括与用户相关的新闻,诸如本地或地区新闻、天气、交通或社交网络/社交媒体信息)。因此,作为示例而非限制,事件可以包括语音/视频呼叫;电子邮件;SMS文本消息;即时消息;通知;社交媒体或社交网络新闻项目或通信(例如,推文、Facebook帖子或“喜欢”、邀请、新闻馈送项目);与用户相关的新闻项目;用户可能处理或响应的任务;RSS提要项目;网站和/或博客文章、评论或更新;日历事件、提醒或通知;满足要求或邀请;应用内通信,包括游戏通知和消息,包括来自其他玩家的消息;等等。一些通信事件可以与实体(诸如联系人或企业,在某些情况下包括用户本身)或与一类实体(诸如亲密朋友、工作同事、老板、家庭、用户访问过的商业机构等)相关联。事件可以是另一用户提出的请求。请求可以通过分析通过与用户相关联的一个或多个设备接收的信号来推断。

可以从接收自一个或多个数据源接收的用户数据中提取事件数据。用户数据可以通过在与用户相关联的(一个或多个)用户设备上利用一个或多个传感器收集用户数据来接收,诸如本文所述。用户数据的示例(其结合图2的组件214进一步描述)可以包括用户的移动设备的位置信息、用户活动信息(例如,app使用、在线活动、搜索、呼叫)、应用数据、联系人数据、日历和社交网络数据、或可以由用户设备或其他计算设备感测或确定的几乎任何其他用户数据源。

可以通过监测用户数据来确定事件和用户对这些事件的响应,并且由此可以确定事件模式。对事件的典型响应可以用于确定与事件相关的通知的紧急性和影响。事件模式可以包括用户是否完成定期调度的事件,通常响应于通信内的请求,等等。在一些情况下,可以基于与确定的事件模式的偏差来检测事件的紧急性,诸如每个星期天用户打电话给他的祖母,但几周后没有打电话给她。

事件可以触发可以在基于事件的紧急性和影响而选择的信道上呈现的通知。关于事件的上下文信息还可以从用户数据或从其确定的模式来确定,并且可以用于确定与事件相关联的影响水平和/或紧急水平。在一些实施例中,还可以从其他用户的用户数据(即,众包数据)确定上下文信息。例如,众包数据可以用于通过分析作为响应所采取的动作来确定错过事件的影响。在这样的实施例中,数据可以以能够保护其他用户的隐私的方式去标识或以其他方式使用。

该技术的一些方面还包括使用来自其他用户的用户数据(即,众包数据)来确定类似类型的事件、通知逻辑和/或相关补充内容的典型的用户响应模式。例如,众包数据可以用于确定在预定事件之前通常需要多少准备时间以便为事件做好准备。准备时间可以告知与通知相关的紧急性。例如,如果需要一天或更长的准备时间,则事件可能在实际事件之前一天或两天是紧急的。

通知可以与任务提醒相关联。任务是事件的类型。任务提醒可以由在用户的一个或多个客户端设备上操作的个人数字助理呈现。示例性客户端设备包括智能手机、平板电脑、增强型现实头戴式耳机、计算机、导航系统和其他设备。任务提醒可以是用户的客户端设备上的可视指示,或者可以可听地传输给用户。

通知是计算机生成的与用户的通信,其包括关于事件的内容。通知可以包括事件的描述、截止期限、位置和其他事件信息。

已经简要描述了本文中描述的技术的各方面的概述,下面描述适于在实现该技术时使用的示例性操作环境。

现在转向图1,提供了示出其中可以采用本公开的一些实施例的示例操作环境100的框图。应当理解,本文中描述的这个和其他布置仅作为示例阐述。除了或代替所示出的那些,可以使用其他布置和元件(例如,机器、接口、功能、顺序和功能分组等),并且为了清楚起见,一些元件可以被完全省略。此外,本文中描述的很多元件是功能实体,这些功能实体可以被实现为离散或分布式组件或与其他组件相结合并且以任何合适的组合和位置来实现。本文中描述为由一个或多个实体执行的各种功能可以由硬件、固件和/或软件来执行。例如,一些功能可以由执行存储在存储器中的指令的处理器执行。

除了未示出的其他组件,示例操作环境100还包括多个用户设备,诸如用户设备102a和102b至102n;多个数据源,诸如数据源104a和104b至104n;服务器106;应当理解,图1中所示的环境100可以是一个合适的操作环境的示例。图1中所示的每个组件可以经由任何类型的计算设备来实现,诸如结合图6描述的计算设备600。这些组件可以经由网络110彼此通信,网络110可以包括但不限于一个或多个局域网(LAN)和/或广域网(WAN)。在示例性实现中,除了各种可能的公共和/或专用网络中的任何一个,网络110还包括因特网和/或蜂窝网络。

应当理解,在本公开的范围内,可以在操作环境100内采用任何数目的用户设备、服务器和数据源。每个可以包括单个设备或在分布式环境中协作的多个设备。例如,服务器106可以经由布置在分布式环境中的共同提供本文中描述的功能的多个设备来提供。另外,未示出的其他组件也可以被包括在分布式环境中。

用户设备102a和102b至102n可以是操作环境100的客户端侧的客户端设备,而服务器106可以是操作环境100的服务器端。服务器106可以包括被设计为与用户设备102a和102b至102n上的客户端侧软件一起工作以便实现本公开中讨论的特征和功能的任何组合的服务器端软件。提供操作环境100的这种划分以示出合适环境的一个示例,并且不要求服务器106以及用户设备102a和102b至102n的任何组合针对每个实现保持为单独的实体。

用户设备102a和102b至102n可以包括能够由用户使用的任何类型的计算设备。例如,在一个实施例中,用户设备102a至102n可以是本文中关于图6描述的类型的计算设备。作为示例而非限制,用户设备可以实施为个人计算机(PC)、膝上型计算机、移动或移动设备、智能电话、平板计算机、智能手表、可穿戴计算机、个人数字助手(PDA)、MP3播放器、全球定位系统(GPS)或设备、视频播放器、手持通信设备、游戏设备或系统、娱乐系统、车载计算机系统、嵌入式系统控制器、遥控器、电器、消费电子设备、工作站、或者这些描述的设备或任何其他合适的设备的任何组合。

数据源104a和104b至104n可以包括被配置为使数据可用于操作环境100的各种组成部分中的任何组成部分或者结合图2描述的系统200(例如,在一个实施例中,一个或多个数据源104a至104n向图2的用户数据收集组件214提供(或使其可用于访问)用户数据。)数据源104a和104b至104n可以是离散地来自用户设备102a和102b至102n和服务器106,或者可以合并和/或集成到这些组件中的至少一个中。在一个实施例中,数据源104a至104n中的一个或多个包括一个或多个传感器,该一个或多个传感器可以集成到(一个或多个)用户设备102a、102b或102n或服务器106中的一个或多个中或与其相关联。结合图2的用户数据收集组件214进一步描述由数据源104a至104n可用的感测的用户数据的示例。

操作环境100可以用于实现图2中描述的系统200的组件中的一个或多个,包括用于进行以下操作的组件:确定事件的影响力,确定事件的紧急性,基于紧急性和影响向事件指派通信信道,收集用户数据,监测事件,生成通知内容,和/或向用户呈现通知和相关内容。现在与图1一起参考图2,提供了示出适合于实现本技术的实施例并且总体上被指定为系统200的示例计算系统架构的各方面的框图。系统200仅表示合适的计算系统架构的一个示例。除了或代替所示的那些,可以使用其他布置和元素,并且为了清楚起见,可以完全省略一些元素。此外,与操作环境100一样,本文中描述的很多元件是可以实现为离散或分布式组件或者与其他组件一起并且以任何合适的组合和位置实现的功能实体。

示例系统200包括网络110,网络110结合图1进行描述并且通信地耦合系统200的组件,系统200包括用户数据收集组件214、事件监测器280、通知引擎260、应用271、呈现组件218和存储装置225。事件监测器280(包括其组件282和286)、通知引擎260(包括其组件262、264、266、268和270)、应用271、用户数据收集组件214和呈现组件218可以实施为一组编译的计算机指令或功能、程序模块、计算机软件服务、或在一个或多个计算机系统上执行的过程的布置,诸如结合图6描述的计算设备600。

在一个实施例中,由系统200的组件执行的功能与一个或多个个人助理应用、服务或例程相关联。特别地,这样的应用、服务或例程可以在一个或多个用户设备(诸如用户设备102a)、服务器(诸如服务器106)上操作,可以分布在一个或多个用户设备和服务器上,或者在云端实现。此外,在一些实施例中,系统200的这些组件可以分布在网络中,包括云中的一个或多个服务器(诸如服务器106)和客户端设备(诸如用户设备102a),或者可以驻留在诸如用户设备102a等用户设备上。此外,这些组件、由这些组件执行的功能、或由这些组件执行的服务可以在(一个或多个)计算系统的适当的(一个或多个)抽象层(诸如操作系统层、应用层、硬件层等)上实现。备选地或附加地,本文中描述的这些组件的功能和/或技术的各方面可以至少部分地由一个或多个硬件逻辑组件来执行。例如而非限制,可以使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、系统级芯片系统(SOC)、复杂可编程逻辑器件(CPLD)等。此外,尽管本文中关于示例系统200中示出的特定组件来描述功能,但是可以预期,在一些实施例中,这些组件的功能可以共享或者分布在其他组件上。

继续图2,用户数据收集组件214通常负责从一个或多个数据源(诸如图1的数据源104a和104b至104n)访问或接收(并且在一些情况下还标识)用户数据。在一些实施例中,可以采用用户数据收集组件214来促进用于事件监测器280和通知引擎260的一个或多个用户的用户数据(包括众包源数据)的累积。数据可以由数据收集组件214接收(或访问),并且可选地累积,重新格式化和/或组合,并且存储在诸如存储装置225的一个或多个数据存储器中,其中数据可以用于事件监测器280和通知引擎260。例如,用户数据可以存储在用户简档240中或与其相关联,如本文所述。

用户数据可以从各种源接收,其中数据可以以各种格式获取。例如,在一些实施例中,经由用户数据收集组件214接收的用户数据可以经由一个或多个传感器确定,传感器可以在一个或多个用户设备(诸如用户设备102a)、服务器(诸如服务器106)和/或其他计算设备上或与其相关联。如本文中使用的,传感器可以包括用于感测、检测或以其他方式获取诸如来自数据源104a的用户数据等信息的功能、例程、组件或其组合,并且可以被实施为硬件、软件或两者。作为示例而非限制,用户数据可以包括从一个或多个传感器感测或确定的数据(本文中称为传感器数据),诸如移动设备的位置信息、智能手机数据(诸如电话状态、收费数据、日期/时间、或来自智能手机的其他信息)、用户活动信息(例如,应用使用;在线活动;搜索;语音数据,诸如自动语音识别;活动日志;通信数据,包括电话、文本、即时消息和电子邮件;网站帖子;与事件相关的其他用户数据;等),包括在多于一个用户设备上发生的用户活动、用户历史、会话日志、应用数据、联系人数据、日历和日程安排数据、通知数据、社交网络数据、新闻(包括搜索引擎或社交网络上的热门或趋势项目)、在线游戏数据、电子商务活动(包括来自诸如或Xbox等在线账户的数据)、(一个或多个)用户帐户数据(其可以包括来自用户偏好的数据或与个人助理应用或服务相关联的设置)、家庭传感器数据、家电数据、全球定位系统(GPS)数据、车辆信号数据、交通数据、天气数据(包括预报)、可穿戴设备数据、其他用户设备数据(其可以包括设备设置、简档、网络连接、诸如Wi-Fi网络数据、或配置数据、有关型号、固件、或者设备、设备配对的数据,诸如用户具有与蓝牙耳机配对的移动电话的情况)、陀螺仪数据、加速度计数据、支付或信用卡使用数据(其可以包括来自用户的PayPal账户的信息)、购买历史数据(诸如来自用户的Amazon.com或eBay账户的信息)、可以由传感器(或其他检测器)组件感测或以其他方式检测的其他传感器数据,包括从与用户相关联的传感器组件导出的数据(包括定位、运动、取向、位置、用户访问、用户活动、网络访问、用户设备充电、或能够由一个或多个传感器组件提供的其他数据)、基于其他数据而导出的数据(例如,可以从Wi-Fi、蜂窝网络或IP地址数据导出的定位数据)、以及可以如本文所述感测或确定的几乎任何其他数据源。在某些方面,用户数据可以在用户信号中提供。用户信号可以是来自相应数据源的用户数据的馈送。例如,用户信号可以来自智能手机、家庭传感器设备、GPS设备(例如,用于定位坐标)、车辆传感器设备、可穿戴设备、用户设备、陀螺仪传感器、加速计传感器、日历服务、电子邮件帐户、信用卡帐户或其他数据源。在一些实施例中,用户数据收集组件214连续地、周期性地或根据需要接收或访问数据。

事件监测器280通常负责监测事件和相关信息,以便提供用于确定事件和相关通知的紧急性和影响的信息。如上所述,每个通知与基础事件相关联。事件监测器280可以标识与事件相关联的事件模式、事件响应信息、通知模式和上下文信息。事件模式和其他事件信息可以由通知引擎260使用以确定事件的紧急性和影响。事件信息也可以作为事件数据242保存在用户简档240中。

事件数据可以用于标识隐式事件以及对相关联的通知的需求。如前所述,可以通过监测用户数据(包括从用户数据收集组件214接收的数据)来确定事件和用户对那些事件的响应,并且由此,可以确定事件模式。在一些实施例中,事件监测器280跨越多个计算设备或在云中监测事件和相关信息。

如示例系统200中所示,事件监测器280包括事件模式标识符282和上下文信息提取器286。在一些实施例中,事件监测器280和/或其子组件中的一个或多个可以从接收的用户数据确定解释性数据。解释性数据对应于事件监测器280的子组件用于解释用户数据的数据。例如,解释性数据可以用于向用户数据提供上下文,其可以支持子组件所做出的确定或推断,诸如事件的紧急性或影响。此外,预期事件监测器280及其子组件的实施例可以使用用户数据和/或结合解释性数据使用用户数据来执行本文中描述的子组件的目标。

通常,事件模式标识符282负责确定事件模式。在一些实施例中,事件模式可以通过监测与事件或用户对那些事件的响应相关的一个或多个变量来确定。这些被监测的变量可以根据结合用户数据收集组件214描述的用户数据(例如,通信的定位、时间/天、(一个或多个)发起者或(一个或多个)接收者、通信类型(例如,呼叫、电子邮件、文本等)、用户设备数据等)来确定。特别地,变量可以根据与事件相关的上下文数据来确定,上下文数据可以由上下文信息提取器286从用户数据中提取,如本文所述。因此,变量可以表示多个事件之间的上下文相似性。以这种方式,可以通过检测多个事件中的共同变量来标识模式。更具体地,与第一事件相关联的变量可以与第二事件的变量相关联,以标识用于确定可能模式的共同变量。例如,在第一事件包括在星期六的用户发起的对被识别为“妈妈”的联系人的呼叫,并且第二事件包括在下一星期六的用户发起的对同一联系人(“妈妈”)的呼叫时,模式可以被确定为用户在星期六打电话给“妈妈”。在这种情况下,两个事件的共同变量包括相同的联系实体(妈妈)、同一天(星期六)、用户发起的通信、通信的同一接收者(妈妈)、以及相同类型或模式的通信(打电话)。

标识的模式变得更强(即,更有可能或更可预测),构成模式的事件实例被重复的次数越多。类似地,特定变量在重复时可以与模式更强烈地相关联。例如,假定每天下午5点(下班后)和开车时,用户呼叫同一组联系人(其可能是她的家人)中的某个人。当被呼叫的特定人员发生变化时(即,用户呼叫的联系实体),存在事件模式,因为用户反复呼叫该组中的某人。

此外,在一些实施例中,事件模式标识符282使用众包数据或来自多个用户的数据来确定响应信息,响应信息可以用于基于特定用户将与其他用户类似地做出反应的前提来确定特定用户的可能响应模式。例如,可以基于某些事件具有特定影响或紧急性的确定来确定用户模式。类似地,可以基于其他用户通常在最快的方便时间回叫其配偶但是即使不方便也尽快呼叫他们的老板的确定来确定用户模式。

此外,在一些实施例中,事件模式标识符282使用众包数据或来自多个用户的数据来确定响应信息,响应信息可以用于基于特定用户将与其他用户类似地做出反应的前提来确定特定用户的可能响应模式。例如,可以基于某些事件具有特定影响或紧急性的确定来确定用户模式。类似地,可以基于其他用户通常在最快的方便时间回叫其配偶但是即使不方便也尽快呼叫他们的老板的确定来确定用户模式。

此外,在一些实施例中,上下文信息提取器286提供对应于来自其他用户的类似事件的上下文信息,上下文信息可以用于确定那些用户的响应。可以通过确定上下文相似性(诸如与特定用户的事件的变量共同的其他用户的事件中的变量)来标识具有类似事件的其他用户。例如,共同变量可以包括各方之间的关系(例如,用户与通信事件的接收者或发起者之间的关系)、定位、时间、天、通信模式或先前描述的任何其他变量。因此,事件模式标识符282可以基于从具有类似事件的多个用户接收的众包用户信息(例如,用户历史、在关联事件之后(在一些实施例中在其之前)的用户活动、与联系实体的关系、以及其他上下文信息)来学习用户群体的典型响应模式。因此,根据响应信息,可以确定当具有某些特性(例如,上下文特征或变量)的事件发生时所采取的典型响应是什么。

通常,上下文信息提取器286负责确定与由事件监测器280监测的事件相关联的上下文信息,诸如与事件和用户相关活动相关联的上下文特征或变量、所提供的通知、以及用户对通知的响应。可以从用户数据收集组件214提供的一个或多个用户的用户数据确定上下文信息。例如,上下文信息提取器286接收用户数据,在一些情况下解析数据,并且标识和提取上下文特征或变量。在一些实施例中,变量被存储为与事件之后的时间间隔内的事件、响应或用户活动相关联的相关的上下文信息集(其可以指示用户响应)。

特别地,上下文信息提取器286的一些实施例确定与事件、联系实体(或诸如在群组电子邮件的情况下的实体)、围绕事件的用户活动、以及当前用户活动相关的上下文信息。作为示例而非限制,这可以包括上下文特征,诸如定位数据;时间、天和/或日期;通信的数目和/或频率;通信中的关键词(其可以用于确定影响或紧急性);关于联系实体的上下文信息(诸如实体身份、与用户的关系、联系实体的定位(如果可确定)、先前与用户联系的频率或水平);历史信息,包括联系实体的模式和历史;通信模式或类型;当事件发生或可能响应事件时用户参与的用户活动、以及用户参与与事件相关联的活动或事件的可能响应的时间、地点和时长;或者从用户数据可确定的任何其他变量,包括来自其他用户的用户数据。上下文信息的其他示例包括置信水平、方差水平以及在标识事件或用户对事件的响应时生成的其他信息。

如上所述,可以将上下文信息提供给:事件模式标识符282,用于确定模式(诸如使用共同变量的事件模式)。特别地,上下文信息可以用于确定关于用户对通知的响应模式的信息、可以对应于对通知的响应的用户活动、用户参与对事件的响应多长时间以便确定紧急性、通信模式、或者用于确定某些类型事件的紧急性或影响力的其他信息,其可以用于确定用于呈现事件的通知的通信信道。另外,上下文信息可以被提供给通知引擎260,并且用于确定错过的事件的紧急性或影响力、用户处理事件的可用性、用于帮助用户解决事件的补充内容、以及用于向用户呈现通知的逻辑,诸如何时、何地或如何呈现通知内容。

继续图2,通知引擎260通常负责生成并且向用户提供关于事件的通知。通知引擎260基于与通知相关联的事件的紧急性和影响力来选择适当的通信信道。通知引擎260可以确定或确认事件的紧急性和/或影响,或者通知引擎260可以基于由诸如应用271等另一实体提供的紧急性和影响来行动。

在一个实施例中,通知内容包括通知,该通知可以是用于用户解决事件的推荐动作的形式,并且还可以包括用于帮助用户解决事件的补充内容。在一些情况下,通知内容包括指定用于基于用户数据呈现通知的条件(诸如(一个或多个)时间、(一个或多个)定位、(一个或多个)模式或与从通知内容呈现通知有关的其他参数)的通知逻辑。

例如,通知内容可以包括通知用户给他的妻子回电话。通知可能呈现文本或音频查询,询问用户“您现在要打电话给您的妻子吗?”基于来自用户的肯定响应(例如,在他的移动设备上说“是”或触摸“是”按钮),用户的妻子被自动呼叫,而用户不必提供电话号码。继续这个示例,通知内容可以包括补充内容,诸如提醒用户他的妻子在45分钟内登机,并且这将是他在她离开之前打电话给她的唯一机会。

在一些实施例中,通知引擎260生成要呈现给用户的通知,该通知可以被提供给呈现组件218。备选地,在其他实施例中,通知引擎260生成通知内容并且使其可用于呈现组件218,呈现组件218基于通知内容中的通知逻辑和应用于通知逻辑的用户数据来确定何时以及如何(即,以什么格式)呈现通知。在一些实施例中,结合呈现组件218操作的通知服务或应用确定或促进确定何时以及如何呈现通知。与用户相关联的待决通知可以存储在用户简档240中,诸如在(一个或多个)通知组件250中。此外,在一些实施例中,通知引擎260、呈现组件218和/或通知服务或应用管理用户的待决通知并且可以优先考虑呈现哪些通知,如下所述。

如前所述,通知引擎260可以从用户数据收集组件214和/或事件监测器280(其可以存储在与用户相关联的用户简档240中)接收信息,包括事件数据;当前用户信息,诸如用户活动;事件数据,其还可以包括事件未被解决的所确定的可能性;上下文信息;响应信息(在某些情况下包括其他用户如何响应于或对类似事件做出反应);事件模式信息、用户可用性模型、或可用性模式信息;或来自用于创建通知内容的其他组件或来源的信息。在一个实施例中,使用上述接收的信息,通知引擎260确定与事件相关联的影响或紧急性。通知引擎260还可以生成补充内容和通知逻辑,其可以基于所确定的与事件相关联的紧急性、影响力和上下文。

如示例系统200中所示,通知引擎260包括紧急性分类器262、影响力分类器264、信道选择组件266、通知生成器268和通知接口270。紧急性分类器262通常负责确定事件的紧急水平。紧急水平可能指示该事件应当在多长时间内得到解决。通知引擎260的一些实施例可以确定紧急性、影响或两者。此外,随着截止期限临近(诸如前面描述的账单支付事件),事件可能变得更紧急,并且影响水平和/或紧急水平可以基于上下文信息、当前用户数据、用户的响应、新检测到的用户模式、或被确定为与已发生的事件相关的新事件的所确定的变化来更新。例如,在未响应的电子邮件之后来自老板的未接来电可以指示用于响应于电子邮件的更高的紧急水平。

在一些实施例中,紧急分类器262使用关于事件的信息以及(从用户数据收集组件214)接收的用户数据或上下文信息(由上下文信息提取器286提供)或者由事件监测器280、用户简档240或呈现组件218提供的其他数据来确定紧急水平(其可以实施为水平或数值)。例如,紧急分类器262可以考虑类似事件及其频率(诸如重复的错过的日历条目或未响应的任务);基于(一个或多个)用户响应的类似事件发生后多久,来自用户或其他用户的对类似事件的先前响应,其可以指示紧急水平;或模式信息,诸如事件是否与模式相关联或是否是意外事件。

关于解决某些事件的紧急性的用户设置或偏好可以由用户明确指定或学习(例如,指派给来自老板的通信、旅行事件或来自亲密朋友的所有通信的紧急水平)。用户与联系实体的关系(例如,这是熟人、亲密朋友、家庭成员、同事、老板等),其可以包括用户如何在联系人名单或社交媒体帐户和/或用户与此联系人通信的历史记录以及与实体的联系水平中识别出该实体。例如,可以确定来自用户的朋友的未接来电比来自之前没有与用户接触的销售人员的未接来电更紧急。销售人员或朋友留下的语音邮件可能需要通知。类似地,“未接来电”事件可以与通知相关联。与呼叫相关联的人员是用于在公司“到期日期”与未接来电事件相关联时确定紧急性的输入。在一个方面,通过平均先前的回叫来确定回叫截止期限来确定典型的回叫时间。

在一些实施例中,可以基于与事件相关联的上下文特征(包括从类似事件提取的提取的关键字或其他上下文特征)从上下文信息确定紧急水平。特别地,如前所述,关键字和其他上下文特征可以由上下文信息提取器286提取并且用于基于某些关键字或与事件相关的其他上下文特征确定关于一个或多个用户的用户响应的信息,诸如关于用户通常如何响应的信息(包括他们响应的速度)。附加地,可以预先确定一些关键字以指示可能的紧急性(诸如“紧急”、“立即”或可能存在于通信中的类似单词)。

在一些实施例中,使用前两段中描述的接收信息,事件的紧急度可以被确定并且用于确定表示紧急水平的值。例如,在一个实施例中,可以相对于用户的先前响应或其他用户的类似响应来确定事件的紧急水平,包括处理先前确定为紧急或先前确定为不紧急的事件。以这种方式,可以基于与类似事件和极端事件(紧急事件和非紧急事件)的比较以及如何处理这些事件来确定所确定的水平。在一个方面,事件被分类为紧急事件或非紧急事件。

在一些实施例中,紧急水平具有指示所确定的紧急性的可能性的相关联的概率或置信度。置信度可以基于可能指示与特定的上下文信息相关联的紧急性和/或幅度(或权重)的上下文信息的量来确定。(例如,来自用户的老板的被指定为“高影响”消息的电子邮件比来自老板的具有正常重要性的电子邮件更重要。)

置信度水平可以由分类程序确定,分类程序使用被映射到紧急水平的标记的训练数据来训练。一旦经过训练,分类程序指派与紧急性相关的置信水平。然后可以将置信水平映射到紧急水平,例如,紧急或非紧急。每个紧急水平可以具有置信度阈值。

通知引擎260的实施例还包括影响分类器264。影响分类器264将事件分类为高影响、中影响或低影响。与事件相关联的影响可以分类为高、中或低。高影响事件是未完成事件导致用户损失时间和/或金钱的事件。例如,未能及时支付账单可能会在收取滞纳金时造成损失。错过飞机飞行可能导致重大的时间损失和可能的金钱损失。时间损失可以针对用户的基线行为模式来测量。时间损失在根据用户的基线行为模式测量时发生。例如,如果用户通常乘坐火车上班,则由于错过第一列火车而导致的时间损失可以通过用户等待下一列火车的时间来测量。当错过火车时,用户可能偏离其典型的行为模式并且乘坐出租车上班,这可能会或不会导致时间损失。然而,时间损失可以使用用户将继续其典型行为模式(例如,乘坐火车)的假定来确定。

当事件是可以节省时间或金钱的用户基线行为模式的优化时,指派中影响水平,但是与用户的基线相比,错过事件不会导致时间或金钱的损失。例如,当用户遵循的基线路线指示延迟时,建议新的路线回家。在这个示例中,通知将为用户提供更改基线行为的选项。

当事件或对事件的响应是可选的时,指派低影响水平。例如,指示喜欢的电视节目即将开始或者已经接收到某些通信(例如,文本、电子邮件)的通知。某些通信、特别是包括请求或指示用户先前承诺的那些通信可以被归类为中影响或高影响。通信的发送者和其他因素可以用于将个体通信分类为具有高影响、中影响或低影响。

在一些实施例中,影响分类器264使用关于事件的信息以及(从用户数据收集组件214)接收的用户数据或上下文信息(由上下文信息提取器286提供)或者由事件监测器280、用户简档240或呈现组件218提供的其他数据来确定影响水平(其可以实施为水平或数值)。例如,影响分类器264可以考虑类似事件及其频率(诸如重复的错过的日历条目或未响应的任务);基于用户如何响应于错过事件或错过事件的其他后果,来自用户或其他用户的对类似事件的先前响应,其可以指示影响水平;或模式信息,诸如用户或其他类似用户是否经常错过该事件。经常错过的事件可以被指派低影响力。

关于某些事件的影响的用户设置或偏好可以由用户明确指定或学习(例如,指派给来自老板的通信、旅行事件或来自亲密朋友的所有通信的影响水平)。用户与联系实体的关系(例如,这是熟人、亲密朋友、家庭成员、同事、老板等),其可以包括用户如何在联系人名单或社交媒体帐户和/或用户与该联系人通信的历史记录以及与该实体的联系水平中识别该实体。例如,未能从用户的朋友返回未接来电可能比来自之前没有与用户联系的销售人员的未接来电产生更大的影响力。销售人员或朋友留下的语音邮件可能需要通知。类似地,“未接来电”可以与回叫事件的通知相关联。与呼叫相关联的人员是用于确定影响的输入。

在一些实施例中,影响水平具有指示所确定的影响的可能性的相关联的概率或置信度。置信度可以基于可能指示与特定的上下文信息相关联的紧急性和/或幅度(或权重)的上下文信息的量来确定。(例如,来自用户的老板的被指定为“高影响力”消息的电子邮件比来自老板的具有正常重要性的电子邮件更重要。)

置信度水平可以由分类程序确定,分类程序使用被映射到影响水平的标记的训练数据来训练。一旦经过训练,分类程序指派与影响相关的置信水平。然后可以将置信度水平映射到影响水平,例如,高,中或低。每个影响水平可以具有置信度阈值。

信道选择组件266基于与通知相关联的事件的紧急性和影响来为通知选择通信信道。在一个方面,信道选择组件266根据事件的影响和紧急性来选择信道。

如本文中使用的,通信信道可以包括计算设备中可用的一个或多个输出机构。输出机构包括扬声器、屏幕、灯和诸如振动机构的触觉反馈机构。例如,通信信道可以包括从扬声器发出的可听声音和通过屏幕显示的可见通知的组合。

在一个方面,每个通信信道被映射到影响水平和紧急水平的组合。不同的紧急水平和影响导致选择具有不同侵扰水平的通信信道。

在一个方面,选择高侵扰水平通信信道用于与具有高影响力的紧急事件相关的通知。被指派高侵扰水平的通信信道需要用户交互来禁用通知,并且不需要用户主动发现通知。输出机构的不同组合可以用于形成高侵扰水平的通信信道。

当多个高侵扰水平信道可用时,可以根据设备的上下文选择特定信道。例如,如果设备上下文指示用户正在查看显示屏幕并且与其交互,则可以选择被呈现在界面的顶部z层上并且需要物理交互以解除的视觉通知作为高侵扰水平通信信道。另一方面,如果设备上下文指示不存在当前用户交互,则可以结合视觉指示提供可听通知以将用户的注意力吸引到设备。

在一个方面,选择中侵扰水平通信信道用于与具有高紧急性和中影响力的事件或具有低紧急性和高影响的事件相关的通知。被指派中侵扰水平的通信信道不需要用户主动发现通知,但是不需要用户交互来解除通知。

在一个方面,选择低侵扰水平通信信道用于具有低紧急性和低影响的通知。被指派低侵扰水平的通信信道需要用户主动发现通知,并且也不需要用户交互来禁用或解除通知。虽然低通信信道或中通信信道不需要用于禁用通知的用户交互,但是通知可以包括解除接口。例如,低水平通知列表可以包括用于从列表中移除提醒的删除功能。

回到图2,通知生成器268通常负责通过由信道选择组件266选择的通信信道向用户呈现通知内容。

通知接口270可以从诸如应用271等的应用接收通知请求。通知请求要求通知引擎向用户传送通知。通知请求可以包括影响和紧急性以及通知内容。通知请求还可以包括内容。

继续图2,事件监测器280和通知引擎260的一些实施例使用统计和机器学习技术。特别地,这些技术可以用于确定与用户相关联的模式信息,诸如事件模式、用户响应模式、某些类型的事件、用户偏好、以及事件、紧急性、影响力、用户可用性和与事件相关联的其他通知内容。例如,基于确定其他用户如何响应于或对存在这些关键字或上下文特征的事件做出反应,使用众包数据,该技术的各方面可以学习将关键字或其他上下文特征(诸如联系实体与用户之间的关系)与更高水平的影响或紧急性相关联。在一个实施例中,应用模式识别、模糊逻辑、聚类或类似的统计和机器学习技术。

示例系统200还包括呈现组件218,呈现组件218基本上负责基于由通知引擎260确定的通知内容向用户呈现通知和相关内容。呈现组件218可以包括用户设备上、跨多个用户设备或在云中的一个或多个应用或服务。例如,在一个实施例中,呈现组件218管理跨越与用户相关联的多个用户设备向该用户呈现通知内容。

在一些实施例中,呈现组件218生成与通知相关联的用户界面特征。这样的特征可以包括界面元素(诸如图形按钮、滑块、菜单、音频提示、警告、警报、振动、弹出窗口、通知栏或状态栏项目、应用内通知或用于与用户交互的其他类似特征)、查询和提示。

如前所述,在一些实施例中,结合呈现组件218操作的个人助理服务或应用确定何时以及如何呈现通知。在这样的实施例中,通知内容可以被理解为对呈现组件218(和/或个人助理服务或应用)关于何时以及如何呈现通知的推荐,其可以被个人助理app或呈现组件218覆盖。

在一个实施例中,通知可以作为待办事项列表呈现给用户。例如,被指派低影响和低紧急性的通知可以被添加到要求用户主动访问的待办事项列表。

示例系统200还包括存储装置225。存储装置225通常存储信息,包括数据、计算机指令(例如,软件程序指令、例程或服务)、和/或在本文中描述的技术的各方面中使用的模型。在一个实施例中,存储装置225包括数据存储器(或计算机数据存储器)。此外,尽管被描绘为单个数据存储组件,但是存储装置225可以实施为一个或多个数据存储器,或者可以在云中。

在一个实施例中,存储装置225存储一个或多个用户简档240,其示例实施例在图2中示例性地提供。示例用户简档240可以包括与特定用户或者在某些情况下与用户类别相关联的信息。如图所示,用户简档240包括(一个或多个)事件数据242、(一个或多个)事件模式243、(一个或多个)事件响应模型244、(一个或多个)可用性模型246、(一个或多个)用户帐户和活动数据248、以及(一个或多个)通知250。存储在用户简档240中的信息可用于示例系统200的例程或其他组件。

(一个或多个)事件数据242通常包括与与用户相关联的事件有关的信息,并且可以包括关于由事件监测器280确定的事件的信息、上下文信息,并且还可以包括众包数据。(一个或多个)事件模式243通常包括关于与用户相关联的所确定的事件模式的信息;例如,指示用户每个星期天打电话给他妈妈的模式。存储在事件模式243中的信息可以从事件模式标识符282确定。事件响应模型244通常包括关于特定用户(或类似用户)如何响应于事件的响应信息。

域特定数据246可以包括由域特定分类器消费或输出的数据。如上所述,通知引擎可以是特定于域的。例如,域特定的通知引擎可以挖掘电子邮件以获取用户的请求和用户做出的承诺,并且围绕这些承诺和请求生成通知。在这种情况下,域特定数据可以包括用户与请求和承诺的交互的记录。

(一个或多个)用户帐户和活动数据248通常包括从用户数据收集组件214收集的用户数据(其在一些情况下可以包括与特定用户相关的众包数据)或关于用户的其他语义知识。特别地,(一个或多个)用户帐户和活动数据248可以包括关于用户电子邮件、文本、即时消息、呼叫和其他通信的数据;社交网络帐户和数据,诸如新闻馈送;在线活动;日历、约会或可能与确定事件相关的其他用户数据;用户可用性;以及影响力、紧急性或通知逻辑。(一个或多个)用户帐户和活动数据248的实施例可以跨一个或多个数据库、知识图或数据结构存储信息。

(一个或多个)通知250通常包括关于与用户相关联的待决通知的数据,其可以包括与一个或多个事件相对应的通知内容。在一些实施例中,(一个或多个)通知250包括对应于尚未呈现给用户的通知或可能未提供给用户的补充内容相的数据。(此外,在一些实施例中,(一个或多个)通知250还可以包括关于先前待决通知的信息。)

现在转向图3,根据本发明的一个方面,提供了一种用于为通知选择通信信道的方法300。如前所述,短语“通信信道”可以包括单个输出机构或多个输出机构。示例性输出机构包括各种形式的可听声音、振动和界面显示。例如,可以在界面上显示通知,该界面要求用户导航到界面以寻找有关通知的信息。在另一示例中,通知被呈现为用户在无需采取任何主动步骤的情况下可以看到的顶部或活动界面。这些代表不同的输出机构,但两者都使用相同的设备硬件,即显示器。因此,输出机构可以是所使用的硬件和接口特征的组合。

方法300可以由终端用户设备执行,诸如移动电话、平板电脑、电子阅读器、增强现实眼镜、虚拟现实眼镜、个人计算机、膝上型计算机或其他计算设备。方法300还可以全部或部分地由服务器执行,该服务器生成在远程计算设备上呈现的通知,例如作为网页的一部分。

在步骤310中,接收向用户呈现关于事件的通知的请求。请求可以包括指定事件的紧急水平和影响水平两者的信息。如上所述,紧急水平基于要呈现通知的时间点与事件截止期限之间的时间量。在一个方面,要呈现通知的时间或多或少与接收到呈现通知的请求的时间相一致。换言之,生成通知请求的计算应用可以指定即时通知。在其他方面,该请求可以具有指定通知何时应当或者被请求呈现给用户的通知时间。

在一个方面,请求包括紧急水平和影响水平。影响水平和紧急水平可以由生成通知请求的计算设备或计算应用确定。在另一方面,中间应用接收包括事件信息的通知请求。然后分析事件信息以指派紧急水平和影响水平,并且然后生成包括用于指派通信信道的输入水平和紧急水平两者的请求。在一个方面,紧急性分类和影响分类可以是域特定的。例如,可以通过被设计为分析旅行事件的经训练的分类器为旅行事件指派影响水平和紧急水平。可以使用与旅行相关的事件细节来训练基于旅行的事件分类器。类似地,工作事件分类器、社交事件分类器、基于锻炼的分类器和其他分类器可以用于确定各种事件以及相关联的影响水平和紧急水平。

影响水平基于用户错过事件或关于事件迟到而导致的实质性损害量。与在适当时间参与事件的用户相关联的预计或正常结果相比,实质性损害可以包括时间或金钱的损失。先前已经描述了事件。

可以使用各种方法来确定紧急水平并且计算要呈现通知的时间点与事件截止期限之间的时间量。在很多情况下,事件截止期限并不明显,并且必须确定。其他事件的截止期限相当简单。具有直接截止期限的事件的示例包括日历条目和具有限定的开始时间的活动,诸如体育赛事和航空旅行。

其他事件不容易与事件截止期限相关联。在某些情况下,只有与事件相关的部分信息可用,并且部分信息不包括开始时间部分或完成截止期限。例如,可以从用户的电子邮件交换的分析中提取事件,其表明用户将于本周四在Bob's Pizza Palace与她的母亲共进午餐。但是,两人午餐的具体时间可能不被包括在通信信件中。可以排除午餐时间,因为这两人具有正常的午餐时间或者通过电话会话或计算设备无法检测到的其他机制进行通信。在这种情况下,可以分析用户先前的午餐事件模式以确定用户与人们共进午餐的典型时间。例如,可以挖掘用户的日历以获取在午餐时间发生的约会和/或特别地标记为午餐的约会。典型的午餐时间可以通过对众包信息的分析得出。如果有关于另一方(在这种情况下是用户的妈妈)吃午餐的信息,可以确定妈妈吃午餐的典型时间。在这种情况下,事件截止期限可以被指定为一方或多方聚会的典型午餐时间。

在一个方面,事件截止期限的确定包括将事件截止期限向前移动的安全边际。例如,用户通常可以在中午吃午餐,但偶尔可以在11:00或最晚1:00吃午餐。在这种情况下,可以选择午餐预约的最早实际时间而不是用户吃午餐的平均时间。可以通过分析用户先前对类似事件的开始时间来提取其他类似事件的事件截止期限。在一个示例中,分析用户具有类似分类的先前事件,并且将事件截止时间设置为用户参与具有类似分类的事件的最早时间。在另一实例中,计算类似事件的平均时间,并且然后事件截止时间是早于平均时间的一个标准偏差。

一旦为事件建立了事件截止期限,则可以通过获取要呈现通知的时间与事件截止时间之间的时间差来计算紧急水平。在一个方面,基于各种阈值时间段建立紧急水平。对于不同事件类或类别,阈值可以是不同的。短语或术语“域”也可以用于表征事件的类或类别。例如,被分类为社交事件的事件可以具有与被分类为工作相关的事件不同的紧急水平阈值。在一个实例中,最高紧急水平的阈值时间量被指定为在同一天内发生。换言之,如果通知将在上午7点、上午9点、上午11点30分、下午1点、下午3点或下午4点、与与事件截止期限为下午5点相关联的事件在同一天呈现,则紧急水平将被设置为最高水平。在其他实例中,紧急水平可以是固定的时间量,诸如一小时、两小时、三小时、四小时等。在一个实例中,紧急水平被分类为二元高或低紧急性。无论使用何种阈值,如果要呈现通知的时间点与事件截止时间之间的时间量小于或等于阈值,则将紧急水平设置为高。

影响水平基于是否会因为用户错过事件而造成实质性损害。影响水平可以基于分类器来确定,该分类器将带注释的事件数据作为输入来训练生成影响水平的分类器。作为示例,一组用户可以在事件场景中注释事件数据并且针对各种事件场景将影响水平指派为高、中或低。一旦经过训练,影响力分类器可以基于事件数据的分析来指派影响水平。实质上,将实际事件数据与训练数据进行比较,以确定与训练数据的相似性并且将事件分类为影响类别。

作为补充或替代,可以为各种影响场景指派特定的影响水平。可以为符合示例性影响场景的事件细节指派与该场景相一致的影响水平。在这种情况下,可能会为不适合特定场景的事件指派中水平影响力。可以在一个实例中为影响水平指派高水平、中水平或低水平。

高影响事件是未完成事件导致用户损失时间和/或金钱的事件。例如,未能及时支付账单可能会在收取滞纳金时造成损失。错过飞机飞行可能导致重大的时间损失和可能的金钱损失。时间损失可以针对用户的基线行为模式来测量。时间损失在根据用户的基线行为模式测量时发生。例如,如果用户通常乘坐火车上班,则由于错过第一列火车而导致的时间损失可以通过用户等待下一列火车的时间来测量。当错过火车时,用户可能偏离其典型的行为模式并且乘坐出租车上班,这可能会或不会导致时间损失。然而,时间损失可以使用用户将继续其典型行为模式(例如,乘坐火车)的假定来确定。

当事件是可以节省时间或金钱的用户基线行为模式的优化时,指派中影响水平,但是与用户的基线相比,错过事件不会导致时间或金钱的损失。例如,当用户遵循的基线路线指示延迟时,建议新的路线回家。在这个示例中,通知将为用户提供更改基线行为的选项。

当事件或对事件的响应是可选的时,指派低影响水平。例如,指示喜欢的电视节目即将开始或者已经接收到某些通信(例如,文本、电子邮件)的通知。某些通信、特别是包括请求或指示用户先前承诺的那些通信可以被归类为中影响力或高影响力。通信的发送者和其他因素可以用于将个体通信分类为具有高影响力、中影响力或低影响力。

在步骤320,向通知指派与被映射到紧急水平和影响水平的侵扰水平相关联的通信信道。在一个方面,每个通信信道与侵扰水平相关联。示例性的侵扰水平可以包括高侵扰水平、中侵扰水平和低入侵性水平。通信信道只能有一个侵扰水平,但多个通信信道可以具有相同的侵扰水平。例如,多个通信信道可以具有高侵扰水平。当存在相同侵扰水平的多个通信信道时,选择可以基于上下文因素,诸如用户是否正在与计算设备交互。如果用户没有与计算设备交互,则可以选择声音警报作为通信信道。另一方面,如果用户当前正在与计算设备交互,则仅包括视觉显示的通信信道可能是合适的。

在一个方面,高侵扰水平被映射到高紧急水平和高影响水平事件。中侵扰水平被映射到低紧急水平和中影响水平或高紧急水平和中影响水平事件。低侵扰水平被映射到低紧急水平和低影响水平。

在步骤330,使用通信信道通过计算系统输出通知。可以通过接口连接控制计算设备上的输出机构(诸如扬声器和显示器)的操作系统组件来输出通知。

转到图4,根据本发明的一个方面,提供了一种为与事件相关联的通知选择通信信道的方法400。先前已经描述了事件和通知。

在步骤410,接收与通知相关联的事件的事件细节。事件细节可以由具有通过计算设备呈现通知的指令的应用提供。例如,预订应用可以具有指示以呈现向用户提醒即将进行的预订的通知。在这种情况下,事件详细信息可以包括餐厅的名称、其他各方、以及预订的时间和日期。

在步骤420,使用事件细节确定事件的事件截止期限。在某些情况下,使用自然语言处理从事件细节中提取事件截止期限。例如,可以在事件细节中提供预订时间和日期。事件细节可以以非结构化格式提供,非结构化格式需要使用自然语言处理或其他机制来分析事件细节以提取预订的时间和日期。

在其他方面,事件细节不包括明确的事件截止期限,并且事件截止期限需要结合事件历史的分析从事件细节中导出,如前所述。

事件细节可以用于将事件分类为一个或多个现有事件分类。示例性事件分类包括社交分类、工作分类、旅行分类和锻炼分类。这些分类中的子分类是可能的,并且本文中描述的技术的各方面不限于这些分类。如前所述,可以将事件细节提供给根据事件的类别或域而训练的分类器。分类器可以基于事件细节指派事件截止期限。例如,如果用户在上午6点演示了规则的锻炼模式,则可以在上午6点的事件截止时间指派没有特定时间的检测到的锻炼事件。

在步骤430,计算事件截止时间与要呈现通知的时间之间的持续时间。要呈现通知的时间可以与接收到事件细节的时间或多或少同时发生。在另一方面,传送通知的请求可以与将通知呈现给用户的时间相关联。持续时间是呈现通知的时间与事件截止期限之间的时间差。

在步骤440,基于持续时间在与紧急水平相关联的范围内,为事件指派紧急水平。虽然该步骤被描述为将紧急水平与事件相关联,但是如本文中使用的,为事件指派紧急水平与为与事件相关联的通知指派紧急水平是相同的。如上所述,紧急水平测量事件发生的时间。事件越早,紧急水平越高。在一种情况下,本文中描述的技术的各方面使用阈值来确定紧急水平是高还是低。在一个方面,当事件截止期限与通知同一天发生时,紧急水平为高。在另一方面,当要在距离事件截止期限的阈值时间量内呈现时,紧急水平可以为高。阈值时间量可以是一小时、两小时、三小时、四小时、五小时等。在一个方面,不同的阈值应用于不同类别的事件。例如,在用户当前所在的工作定位处发生的工作事件可以具有一小时或更短的阈值。另一方面,与将在与用户当前所在的定位不同的定位处发生的旅行事件相关联的通知可以与四小时、六小时、八小时或类似的阈值相关联。

在步骤450,使用机器分类器确定事件的影响水平。影响水平基于是否会因为用户错过事件而造成实质性损害。影响水平可以基于分类器来确定,该分类器将带注释的事件数据作为输入来训练生成影响水平的分类器。作为示例,一组用户可以在事件场景中注释事件数据并且针对各种事件场景将影响水平指派为高、中或低。一旦经过训练,影响分类器可以基于事件数据的分析来指派影响水平。实质上,将实际事件数据与训练数据进行比较,以确定与训练数据的相似性并且将事件分类为影响类别。

作为补充或备选,可以为各种影响场景指派特定的影响水平。可以为符合示例性影响力场景的事件细节指派与该场景相一致的影响水平。在这种情况下,可能会为不适合特定方案的事件指派中水平影响。可以在一个实例中为影响水平指派高水平、中水平或低水平。

高影响事件是未完成事件导致用户损失时间和/或金钱的事件。例如,未能及时支付账单可能会在收取滞纳金时造成损失。错过飞机飞行可能导致重大的时间损失和可能的金钱损失。时间损失可以针对用户的基线行为模式来测量。时间损失在根据用户的基线行为模式测量时发生。例如,如果用户通常乘坐火车上班,则由于错过第一列火车而导致的时间损失可以通过用户等待下一列火车的时间来测量。当错过火车时,用户可能偏离其典型的行为模式并且乘坐出租车上班,这可能会或不会导致时间损失。然而,时间损失可以使用用户将继续其典型行为模式(例如,乘坐火车)的假定来确定。

当事件是可以节省时间或金钱的用户基线行为模式的优化时,指派中影响水平,但是与用户的基线相比,错过事件不会导致时间或金钱的损失。例如,当用户遵循的基线路线指示延迟时,建议新的路线回家。在这个示例中,通知将为用户提供更改基线行为的选项。

当事件或对事件的响应是可选的时,指派低影响水平。例如,指示喜欢的电视节目即将开始或者已经接收到某些通信(例如,文本、电子邮件)的通知。某些通信、特别是包括请求或指示用户先前承诺的那些通信可以被分类为中影响或高影响。通信的发送者和其他因素可以用于将个体通信分类为具有高影响、中影响或低影响。

在步骤460,向通知应用传送呈现关于事件的通知的请求。请求包括指定紧急水平和影响水平两者的数据。在一个方面,通知应用是在终端用户设备上运行的个人助理应用。通知应用负责呈现多个应用的通知。

现在转向图5,描述了根据本发明的一个方面的提供通知的方法500。

在步骤510,访问事件的事件细节。事件细节可以从通知请求、用户的上下文数据存储、语义数据存储或其他源来访问。事件细节包括紧急水平和影响水平。如先前详细解释的,紧急水平基于用户在不能满足事件截止期限之前必须响应于通知而采取行动的持续时间。如果用户错过了该事件,则影响水平测量对用户的实质性损害。在一个方面,紧急水平可以是紧急或不紧急,如前所述。影响水平可以是高、中等或低,如前所述。

在步骤520,通过将紧急水平和影响水平的组合映射到被指派给通信信道的输出紧急水平和输出影响水平,从计算系统中可用的多个通信信道中选择通信信道。映射可以根据通信信道的侵扰发生。

在一个方面,每个通信信道与侵扰水平相关联。示例性的侵扰水平可以包括高侵扰水平、中侵扰水平和低侵扰水平。通信信道只可以有一个侵扰水平,但多个通信信道可以具有相同的侵扰水平。例如,多个通信信道可以具有高侵扰水平。当存在相同侵扰水平的多个通信信道时,选择可以基于上下文因素,诸如用户是否正在与计算设备交互。如果用户没有与计算设备交互,则可以选择声音警报作为通信信道。另一方面,如果用户当前正在与计算设备交互,则仅包括视觉显示的通信信道可能是合适的。

在一个方面,高侵扰水平被映射到高紧急水平和高影响水平事件。中侵扰水平被映射到低紧急水平和中影响水平或高紧急水平和中影响水平事件。低侵扰水平被映射到低紧急水平和低影响水平。

在步骤530,使用通信信道通过计算系统输出通知。可以通过接口连接控制计算设备上的输出机构(诸如扬声器和显示器)的操作系统组件来输出通知。

示例性操作环境

总体上参考附图,并且首先特别地参考图6,用于实现本文中描述的技术的各方面的示例性操作环境被示出并且总体上被指定为计算设备600。计算设备600仅是合适的计算环境的一个示例,并不旨在对本文中描述的技术的使用范围提出任何限制。计算设备600也不应当被解释为对所示组件中的任何一个或组合有任何依赖性或要求。

本文中描述的技术可以在计算机代码或机器可用指令的一般上下文中描述,包括计算机可执行指令,诸如程序组件,执行指令由计算机或其他机器执行,诸如个人数据助理或其他手持设备。通常,程序组件(包括例程、程序、对象、组件、数据结构等)是指执行特定任务或实现特定抽象数据类型的代码。本文中描述的技术可以以各种系统配置来实践,包括手持设备、消费电子产品、通用计算机、专业计算设备等。本文中描述的技术的各方面也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实践。

继续参考图6,计算设备600包括直接或间接耦合以下设备的总线610:存储器612、一个或多个处理器614、一个或多个呈现组件616、输入/输出(I/O)端口618、I/O组件620和说明性电源622。总线610表示可以是一个或多个总线(例如,地址总线、数据总线或其组合)的内容。为了清楚起见,尽管图6的各种框用线条示出,但是实际上,描绘各种组件并不是则清楚,并且比喻地,线条将更准确地是灰色和模糊的。例如,可以将诸如显示设备等呈现组件视为I/O组件。此外,处理器具有存储器。发明人在此认识到,这是本领域的本质并且重申图6的图仅仅是可以结合本文中描述的技术的一个或多个方面来使用的示例性计算设备的说明。在诸如“工作站”、“服务器”、“膝上型计算机”、“手持设备”等类别之间没有进行区分,因为所有这些都在图6的范围内并且指代“计算机”或“计算设备”。

计算设备600通常包括各种计算机可读介质。计算机可读介质可以是可以由计算设备600访问的任何可用介质,并且包括易失性和非易失性介质、可移除和不可移除介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。

计算机存储介质包括RAM、ROM、EEPROM,闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储器、磁带盒、磁带、磁盘存储器或其他磁存储设备。计算机存储介质不包括传播的数据信号。

通信介质通常在调制数据信号(诸如载波或其他传输机制)中实施计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传递介质。术语“调制数据信号”表示以能够在信号中对信息进行编码的方式设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质包括有线介质(诸如有线网络或直接有线连接)以及无线介质(诸如声学、RF、红外线和其他无线介质)。上述任何组合也应当被包括在计算机可读介质的范围内。

存储器612包括易失性和/或非易失性存储器形式的计算机存储介质。存储器612可以是可移除的、不可移除的或其组合。示例性存储器包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备600包括从诸如总线610、存储器612或I/O组件620等各种实体读取数据的一个或多个处理器614。呈现组件616向用户或其他设备呈现数据指示。示例性呈现组件616包括显示设备、扬声器、打印组件、振动组件等。I/O端口618允许计算设备600在逻辑上耦合到其他设备,包括I/O组件620,其中一些可以内置在其中。

说明性I/O组件包括麦克风、操纵杆、游戏手柄、卫星天线、扫描仪、打印机、显示设备、无线设备、控制器(诸如手写笔、键盘和鼠标)、自然用户界面(NUI)等。在一些方面,提供笔式数字转换器(未示出)和伴随的输入仪器(也未示出但是仅作为示例可以包括笔或触笔),以便数字地捕获徒手用户输入。笔式数字转换器与处理器614之间的连接可以是直接的或经由利用本领域已知的串行端口、并行端口和/或其他接口和/或系统总线的耦合。此外,数字转换器输入组件可以是与诸如显示设备等输出组件分离的组件,或者在一些方面,数字转换器的可用输入区域可以与显示设备的显示区域共存,与显示设备集成,或者可以作为覆盖或以其他方式附加到显示设备的单独设备存在。预期任何和所有这样的变化及其任何组合都在本文中描述的技术的各方面的范围内。

NUI处理由用户生成的空中手势、语音或其他生理输入。适当的NUI输入可以被解释为用于与计算设备600相关联地呈现的墨水笔划。这些请求可以被传输到适当的网络元件用于进一步处理。NUI实现语音识别、触摸和手写笔识别、面部识别、生物识别、屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪、以及与计算设备600上的显示相关联的触摸识别的任何组合。计算设备600可以配备有深度相机,诸如立体相机系统、红外相机系统、RGB相机系统、以及它们的组合,用于手势检测和识别。另外,计算设备600可以配备有能够检测运动的加速度计或陀螺仪。加速计或陀螺仪的输出可以被提供给计算设备600的显示器以呈现沉浸式增强现实或虚拟现实。

计算设备可以包括无线电624。无线电624发射和接收无线电通信。计算设备可以是适于通过各种无线网络接收通信和媒体的无线终端。计算设备600可以经由无线协议与其他设备进行通信,诸如码分多址(“CDMA”)、全球移动系统(“GSM”)或时分多址(“TDMA”)以及其他协议。无线电通信可以是短程连接、远程连接、或短程和远程无线电信连接的组合。当我们提到“短”和“长”类型的连接时,我们并不是指两个设备之间的空间关系。相反,我们通常将短程和远程称为不同类别或类型的连接(即,主要连接和次要连接)。短程连接可以包括到提供对无线通信网络的访问的设备(例如,移动热点)的诸如使用802.11协议的WLAN连接。与另一计算设备的蓝牙连接是短程连接的第二示例。远程连接可以包括使用CDMA、GPRS、GSM、TDMA和802.16协议中的一个或多个的连接。

实施例

实施例1.一种计算系统,包括:处理器;以及其上存储有计算机可执行指令的计算机存储存储器,计算机可执行指令在由所述处理器执行时将计算系统配置为:接收向用户呈现关于事件的通知的请求,所述请求与指定紧急水平和影响水平两者的数据相关联,其中紧急水平基于要呈现通知的时间点与事件截止期限之间的时间量,并且其中影响水平基于用户错过所述事件而产生的实质性损害量;选择与被映射到紧急水平和影响水平的侵扰水平相关联的通信信道;以及使用通信信道通过计算系统输出所述通知。

实施例2.根据实施例1所述的系统,其中影响水平是高影响水平、中影响水平或低影响水平中的一种,并且其中所述紧急水平是高紧急水平或低紧急水平中的一种。

实施例3:根据上述实施例中任一项所述的系统,其中侵扰水平是高侵扰水平、中侵扰水平或低侵扰水平中的一种,其中高侵扰水平被映射到高紧急水平和高影响水平,其中中侵扰水平被映射到低紧急水平和中影响水平,并且其中低侵扰水平被映射到低紧急水平和低影响水平。

实施例4.根据上述实施例中任一项所述的系统,其中高影响水平由包括用户的资金损失的实质性损害量来限定。

实施例5.根据上述实施例中任一项所述的系统,其中高影响水平由包括用户的时间损失的实质性损害量来限定。

实施例6.根据上述实施例中任一项所述的系统,其中低侵扰水平通信信道包括需要用户主动访问的可视显示器。

实施例7.根据上述实施例中任一项所述的系统,其中当事件不需要用户动作时,低影响水平被指派。

实施例8.根据上述实施例中任一项所述的系统,其中中通信信道包括不需要用户主动访问的可视显示器。

实施例9.根据上述实施例中任一项所述的系统,其中当时间量在第一日结束时,低紧急水平被指派,第一日不是输出通知的第二日。

实施例10.一种为与事件相关联的通知选择通信信道的方法,方法包括:接收与通知相关联的事件的事件细节;使用事件细节来确定事件的事件截止期限;计算所述事件截止期限与要呈现所述通知的时间之间的持续时间;基于所述持续时间在与一个紧急水平相关联的范围内,为事件指派紧急水平;使用机器分类器确定所述事件的影响水平,影响水平测量在用户错过事件的情况下,对用户的实质性损害;以及向通知应用传送呈现与事件相关的通知的请求,请求与指定紧急水平和影响水平的数据相关联。

实施例11.根据实施例10所述的方法,其中当持续时间在通知被输出的当日内结束时,紧急水平是高水平。

实施例12.根据实施例10或11中任一项所述的方法,其中当实质性损害包括用户的时间损失时,影响水平是高水平。

实施例13.根据实施例10、11或12中任一项所述的方法,其中当实质性损害包括所述用户的时间损失时,影响水平是高水平。

实施例14.根据实施例10、11、12或13中任一项所述的方法,其中当事件不需要用户动作时,影响水平是低水平。

实施例15.根据实施例10、11、12、13或14中任一项所述的方法,其中当实质性损害包括用户的效率损失时,影响水平是中水平。

实施例16.一种提供通知的方法,包括:访问事件的事件细节,事件细节包括紧急水平和影响水平,紧急水平基于用户在不能满足事件截止期限之前必须响应于通知而采取行动的持续时间,影响水平测量在用户错过事件的情况下对用户的实质性损害;通过将紧急水平和影响水平的组合映射到被指派给通信信道的输出紧急水平和输出影响水平,从计算系统中可用的多个通信信道中选择通信信道;以及使用通信信道通过所述计算系统输出通知。

实施例17.根据实施例16所述的方法,其中当紧急水平是高紧急水平并且影响水平是高影响水平时,通信信道包括声音警报。

实施例18.根据实施例16或17中任一项所述的方法,其中当持续时间通知被输出的当日内结束时,高紧急水平被指派。

实施例19.根据实施例16、17或18中任一项所述的方法,其中当紧急水平是低紧急水平并且影响水平是低影响水平时,通信信道包括要求用户主动访问的可见显示器。

实施例20.根据实施例19所述的方法,其中当持续时间在第一日结束时,低紧急水平被指派,第一日不是输出通知的第二日,并且其中当错过事件将不会产生实质性损害时,低影响水平被指派。

已经描述了该技术的各方面以作为说明而不是限制。应当理解,某些特征和子组合是有用的,并且可以在不参考其他特征和子组合的情况下使用。这是权利要求所预期的,并且在权利要求的范围内。

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