触发关联的通知传送的制作方法

文档序号:13098997阅读:159来源:国知局
触发关联的通知传送的制作方法与工艺

本公开通常但不排他地涉及触发相关联的通知传递。



背景技术:

目前,通知的用户配置可能是包括许多不同手动步骤和输入的耗时且复杂的过程。当通知所需的信息冗长或从各种来源导出时,这可能尤其如此,如在企业系统中配置通知的情况。

企业系统可以为企业系统的用户存储各种数据。例如,企业系统可以存储指示用户的团队成员,用户正在进行的项目以及用户的可用性的信息。企业系统可以使用户能够访问存储在企业系统中的信息。例如,用户可以查看其他用户或其他用户正在处理的项目的可用性。然而,企业的用户可能不知道企业系统存储的可能对用户有用的信息。例如,希望与另一用户会面的用户可能不知道其他用户最近在该用户空闲时变得空闲。



技术实现要素:

一般来说,本说明书中描述的主题的一个方面可以涉及用于在企业系统中呈现通知的过程。企业系统可以访问各种类型的信息。例如,企业系统可以访问特定于用户的用户信息,例如用户的电子邮件或互联网浏览器历史信息,企业资源,例如企业用户可访问的文档和信息,以及外部来源,例如互联网上的公共资源。企业系统可以使用企业系统可访问的信息向用户呈现通知。例如,企业系统可以向用户通知会议的其他与会者迟到,用户在即将到来的会议上应该穿上西服和领带,用户可能希望在会议期间使用特定的文档,或者用户可以安排与用户在会议期间提到的另一用户的后续会议。

企业系统可以基于提取模板呈现通知。模板可以定义用于呈现通知的触发条件,并且定义用于确定要包含在通知中的内容的内容规则。例如,如果用户在会议期间说出特定短语,则模板可以定义为向用户呈现文档可供查看的通知,并且定义通知应该识别可用的特定文档。

企业系统可以基于提取模板和从一个或多个用户信息,企业资源和外部资源获得的信息来生成通知。例如,企业系统可以获得用于向用户呈现文档可用的通知的提取模板,确定用户已经表示“下一个主题是项目x”,并且用户信息包括与项目x相关联的文档,并且在响应中,确定生成与项目x相关联的文档的可用性的通知,并向用户呈现通知。

如将理解的,本文描述的方法,装置和系统可以显着地减少用户必须与其设备,装置或系统交互以便接收有用的通知的时间。这可以减少用户设备的显示器活动的总时间,并且因此可以减少功率使用。在移动设备的背景中,这可能会节省电池电量,并可能有助于降低电池需要充电的频率。除了减少功率使用之外,本文描述的方法,装置和系统减少了设备的用户界面组件的负担,并且还可以用于减少用户的认知负担。此外,在某些方面,通知甚至可以向用户提供某些有用的信息,这些信息用户以前未意识到和/或用户手动发现将非常耗时(并且在用户和他们的设备上都是繁重的)。

在一些方面,本说明书中描述的主题可以体现在可以包括获取模板的动作的方法中,该模板定义(i)呈现通知类型的触发条件,以及(ii)用于确定包含在该通知类型的通知内容中的内容规则。其他行动包括访问企业的企业资源,企业资源包括描述与企业相关的实体和实体之间的关系的数据。进一步的操作包括访问用户特有的用户信息,并确定触发条件由企业资源和用户信息来满足。附加动作包括至少基于内容规则生成该通知类型的特定通知,并向用户提供该特定通知。

其他版本包括被配置为执行该方法的动作、编码在计算机存储设备上的对应系统,装置和计算机程序。

这些和其它版本可以各自可选地包括以下特征中的一个或多个。例如,在一些实现方式中,触发条件包括检测描述由实体之间的关系指示为与用户相关的实体的数据的变化。在某些方面,触发条件包括检测特定的口语短语。

在一些方面,内容规则包括包括从企业资源提取文本并且将该文本包括在特定通知中的规则。

在一些实现方式中,动作包括使用基于机器学习的模板生成器生成模板。在某些方面,动作包括与多个用户共享模板。

在某些方面,至少基于内容规则生成特定通知包括从用户不被允许访问的特定通知中移除内容。

在附图和下面的描述中阐述了本说明书中描述的主题的一个或多个实现方式的细节。从描述,附图和权利要求中,主题的其它潜在特征,方面和优点将变得显而易见。

附图说明

图1a-d是用于在企业系统中呈现通知的示例系统的框图的图示。

图2是用于基于机器学习生成的模板呈现通知的示例系统的框图。

图3是在企业系统中呈现通知的示例过程的流程图。

图4是示例性计算设备的视图。

各附图中的相似附图标记表示相同的元件。

具体实施方式

图1a是用于在企业系统中呈现通知的示例性系统100的框图。如上所述,系统100可以用于减少用户和系统之间的交互时间,以配置和接收通知。这可以减少用户设备的显示器可能是活动的时间,从而减少功率使用,并且减少与用户设备相关联的用户界面组件的负担以及用户的认知负担。

简而言之,并且如下面进一步详细描述的,系统100可以包括外部源110,企业资源数据库120,用户信息数据库130,提取模板数据库140,模板引擎150,定制模板数据库160,通知生成器170和访问控制引擎172。

外部源110可以包括不由企业系统提供的信息源。例如,外部源110可以包括互联网资源,例如网络,视频,文档,文件或互联网上可公开获得的其他资源。在另一示例中,外部源110可以包括具有有限的公共可用性的信息源。例如,外部源110可以包括基于订阅的信息源。

企业资源数据库120可以包括存储对企业系统的用户可用的资源的数据存储。例如,资源可以包括可由企业系统的两个或多个用户访问的文档,文件,会议信息,共享网络驱动器,用户日历可用性,用户位置信息和其他信息。特别地,企业资源可以包括描述与企业相关的实体和实体之间的关系的数据。例如,实体可以是其他用户,描述关系的数据可以是团队成员信息或会议参加者信息,并且描述实体的数据可以是其他用户的位置信息。

在一些实施方式中,用户可能能够选择是否将信息存储在企业资源数据库120中,哪些用户可以访问资源。例如,企业资源数据库120可以包括与指示哪些用户可以访问资源的每个资源相关联的元数据。

用户信息数据库130可以包括存储特定于用户的用户信息的数据存储。特定于用户的用户信息可以包括未被企业资源描述的信息。例如,用户信息可以包括用户的电子邮件,用户的搜索历史,用户的日历,用户的网络驱动器以及用户不能被其他用户访问的其他信息。在用户选择不在企业资源数据库120中存储特定信息的情况下,特定信息可以存储在用户信息数据库130中。例如,如果用户选择不共享用户的位置信息,则用户的位置信息可以被存储在用户信息数据库130中,而不是存储在企业资源数据库120中。在另一示例中,在用户选择不共享用户日历的情况下,日历可以存储在用户信息数据库130而不是企业资源数据库120。

提取模板数据库140可以是存储提取模板的数据存储。提取模板可以是定义用于呈现通知的触发条件并且定义用于确定要包含在通知中的内容的内容规则的模板。例如,提取模板可以定义为如果会议的参加者预期会迟到向用户呈现通知,并且定义通知的内容以指示参加者预期为迟到以及估计出席者的出席时间。提取模板的附加示例在图1b-1d中描述。

内容规则可以指定通知是视觉或音频通知中的一个或多个。例如,内容规则可以指定出现在用户的设备的显示器上的弹出窗口中的视觉通知。在另一示例中,当用户的设备处于非静默操作模式时,内容规则可以指定作为音频输出的音频通知。在另一示例中,如果用户的设备处于非静默操作模式,则内容规则可以指定音频通知,否则指定视觉通知。在其他示例中,内容规则可以指定通知应显示为标签(ticker),独立微件或其他用户界面元素。

在一些实现方式中,内容规则可以指定要包含在通知中的内容将以一致的,结构化的格式呈现。例如,用于与位置相关的提取模板的内容规则可以指定视觉通知的顶部包括地图,并且视觉通知的底部包括用于通知的文本细节。在另一示例中,会议着装规范模板的内容规则可以指定通知应当包括指示会议的主题的文本以及用户应该在会议上穿什么。在一些实现方式中,内容规则可以基于指定要从信息提取的内容来指定要包括在通知中的内容。例如,内容规则可以指定从会议约定提取会议标题,并将会议标题包括在通知中。在另一示例中,内容规则可以指定提取电子邮件的主题并将主题包括在通知中。

在一些实现方式中,内容规则可以指定可以包括在通知中的可能动作。例如,内容规则可以指定用户指示用户想要会见的另一用户空闲的通知,还应包括可以向另一用户发送会议邀请请求的按钮。在另一示例中,内容规则可以指定关于将在会议中讨论的下一主题的文档是可用的通知,还应包括到那些文档的链接。

提取模板可以是可以为用户共享的预定义模板。例如,存储在提取模板数据库140中的模板可以是可以适用于所有用户的模板。在另一示例中,存储在提取模板数据库140中的模板可以是预定义为可应用于用户子集的模板。

定制模板数据库160可以是存储自定义模板的数据库。自定义模板可以是针对特定用户定制或从基于机器学习生成的提取模板。例如,定制模板数据库160可以包括由特定用户定义的用于一个或多个用户使用的提取模板,而不被其他用户使用。在另一示例中,定制模板数据库160可以包括由用于一个或多个用户的基于机器学习的模板生成器生成的提取模板,如下面在图2中进一步描述的。

模板引擎150可以从一个或多个外部源110,企业资源数据库120或用户信息数据库130接收信息,从提取模板数据库140或自定义模板中的一个或多个接收提取模板160,并确定何时触发呈现通知。

模板引擎150可以基于提取模板和来自外部源110,企业资源数据库120或用户信息数据库130中的一个或多个的信息来确定何时触发通知的生成。例如,模板引擎150可以基于用户的会议信息和参加会议的其他用户的参加者信息来确定何时触发生成指示会议的其他与会者将迟到的通知。在更具体的示例中,模板引擎150可以应用提取模板的触发条件,并且确定包括用户在内的会议在小于由提取模板指定的预定时间量的时间开始,作为响应,确定该位置信息对于被认定为参加会议的其他用户来说,表示用户可能会迟到,并且作为响应,当这些用户预期出席时,确定触发提示通知。

在另一个示例中,模板引擎150可以基于指示特定会议类型的即将到来的会议的会议信息和指示不同会议类型的着装规范的信息来确定何时触发指示会议的着装规范的通知。其它示例提取模板和通知在图1b-1d中描述。

在一些实现方式中,模板引擎150可以在预定时间或预定间隔处确定触发条件是否被满足。例如,模板引擎150可以每秒,每分钟或每半小时确定是否满足触发条件。在另一示例中,模板引擎150可以确定提取模板指示在任何用户会议之前十五分钟确定触发条件是否满足,并且响应于确定用户的会议在十五分钟后开始,确定是否触发条件满足。

在一些实现方式中,当在外部源110,企业资源120或用户信息130中检测到改变时,模板引擎150可以确定是否满足触发条件。例如,模板引擎150可以确定特定信息源已经改变,作为响应,识别现在可以满足触发条件的提取模板,并且作为响应,可以确定对于那些识别的提取模板是否满足触发条件。在另一示例中,模板引擎150可以确定已经收集或分析了提取模板指定的数据的阈值量,并且作为响应,可以确定是否对提取模板满足触发条件。在一些实现方式中,模板引擎150可以基于由提取模板指示的信息来确定要检测的改变。例如,提取模板可以定义当特定信息源已经改变时是否满足触发条件。在另一示例中,当已经采集或分析由提取模板指定的数据的阈值量时,提取模板可以定义确定是否满足触发条件。

在一些实现方式中,模板引擎150可以响应于来自用户的设备的事件或输入来确定是否满足触发条件。例如,用户的设备可以提供用户的位置信息,并且当用户处于特定位置时,用户设备可以向模板引擎150提供提示,以确定与特定位置相关联的一个或多个特定提取模板的触发条件是否满足。在另一示例中,用户的设备可以检测用户在会议期间已经讲过特定的短语,并且作为响应,提示模板引擎150确定与会议期间的通知相关联的或与该特定短语相关联的一个或多个提取模板的触发条件特定是否得到满足。在又一示例中,用户的设备可以确定会议已经结束,并且作为响应,提示模板引擎150确定是否满足与会议的跟进相关联的一个或多个提取模板的触发条件。

提示可另外向模板引擎150指示从外部源110,企业资源数据库120或用户信息数据库130中的一个或多个获得更新的信息。例如,提示可以指示模板引擎150以从企业资源数据库120获得会议的其他与会者的更新位置。在另一示例中,提示可以指示模板引擎150从用户信息数据库130获得用于用户的更新日历。

响应于基于提取模板确定触发呈现通知,模板引擎150可以向通知生成器170提供指示以基于提取模板生成通知。例如,响应于基于特定提取模板确定触发呈现其他用户开会迟到的通知,模板引擎150可以向通知生成器170提供指示通知生成器170应该生成对于特定的提取模板的通知的信息。在另一示例中,响应于基于特定提取模板来确定触发指示会议的着装规范的通知的生成,模板引擎可以向通知生成器170提供指示通知生成器170应该生成用于特定的提取模板的通知的信息。

在一些实现方式中,模板引擎150可以提供指示,以生成也指示用于通知生成器的其他信息的通知。例如,模板引擎150可以向通知生成器170提供指示,其也指示哪些与会者可能迟到,以及与会者可能有多晚。在另一示例中,模板引擎150可以向通知生成器170提供也指示即将到来的会议的着装规范的指示。

模板引擎150可以基于提取模板来确定包括在指示中的其他信息。例如,提取模板可以定义模板引擎150应当提供指示哪些与会者可能迟到以及与会者有可能多晚的指示。在另一示例中,提取模板可以定义模板引擎150应当提供指示即将到来的会议的着装规范的指示。

通知生成器170可以接收指示,以生成呈现给用户的通知,作为响应,生成通知。例如,通知生成器170可以接收指示,以生成指示其他参加会议的用户迟到的通知,并且作为响应,生成通知“每个其他人都大约晚10分钟到会”。在另一个示例中,通知生成器170可以接收指示,以产生指示会议的着装规范的通知,并且作为响应,生成通知“您应该为您的即将到来的会议而穿着西装和领带”。

通知生成器170可以基于提取模板的内容规则生成通知。例如,通知生成器170可以获取内容规则,其指示通知生成器170应当生成指示预期会议迟到的所有用户的预计出席时间的通知。在另一示例中,通知生成器170可以接收针对会议着装码模板的通知的指示,并且作为响应,从提取模板数据库140获取会议着装代码模板提取模板的内容规则。

如上所述,通知生成器170可以接收附加信息,以在来自模板引擎150的指示中包括在通知中。例如,通知生成器170可以接收指示哪些与会者可能迟到以及这些与会者可能会晚多长时间的信息,然后根据内容规则将该信息包含在通知中。另外或替代地,通知生成器170可以生成包括在通知中的信息。例如,通知生成器170可以基于来自外部源110,企业资源数据库120或用户信息数据库130中的一个或多个的信息来确定哪些与会者可能迟到以及这些与会者可能晚多久,并在通知中包含该信息。

访问控制引擎172可以确定接收通知的用户是否被允许接收通知的内容。例如,访问控制引擎172可以确定将接收到指示何时出席会议的其他用户预计将出席的通知的用户是否具有接收关于其他用户出席的信息的权限。在另一示例中,访问控制引擎172可以确定将接收到指示会议的着装规范的通知的用户是否具有接收指示会议的着装规范的信息的权限。

访问控制引擎172可以基于与内容相关联的访问控制信息来确定是否允许接收通知的用户接收通知的内容,其中访问控制信息指示哪些用户或用户组可以接收内容。例如,访问控制引擎172可以确定接收包括其他与会者的出席信息的通知的用户是否被用于其他与会者的出席信息的访问控制信息识别为允许接收其他与会者的出席信息。在另一示例中,访问控制引擎172可以确定将接收到包括会议的着装规范的通知的用户是否被用于着装规范信息的访问控制信息识别为允许接收着装规范信息。

如果访问控制引擎172确定接收通知的用户不具有接收通知的内容的权限,则访问控制引擎172可以阻止将内容呈现给用户。例如,访问控制引擎172可以阻止向用户呈现通知。在另一示例中,访问控制引擎172可以阻止通知生成器170接收从模板引擎150生成通知的指示。

在一些实现方式中,访问控制引擎172可以基于用于通知的提取模板中的定义来修改通知。例如,提取模板可以定义如果访问控制引擎172确定用户不被允许接收指示特定用户何时预期在会议中出席的信息,则访问控制引擎172应该向用户提供指示一个或多个用户可能迟到而不识别该一个或多个用户的通知。在另一示例中,提取模板可以定义如果访问控制引擎172确定用户不被允许访问将被包括在包括其他文档的通知中的特定文档,则访问控制引擎172应该向用户提供包括没有特定文件的其他文件的通知。

在一些实现方式中,访问控制引擎172可以基于用户允许的动作来管理提供通知。例如,访问控制引擎172可以确定允许用户共享包含特定内容的通知,并且响应于确定允许用户共享包括特定内容的通知,提供可以共享的通知。在另一示例中,访问控制引擎172可以确定用户不被允许共享包含特定内容的通知,并且响应于确定用户不被允许共享包含特定内容的通知,提供不能由用户共享的通知。

可以使用系统100的不同配置,其中外部源110,企业资源数据库120,用户信息数据库130,提取模板数据库140,模板引擎150,定制模板数据库160,通知生成器170和访问控制引擎172可以组合,进一步分离,分布或互换。系统100可以在单个设备中实现或分布在多个设备上。

图1b是用于在企业系统内基于外部源,企业资源和用户信息在会议之前呈现通知的示例性系统100b的框图。例如,系统100b可能会在会议之前发出通知,“您应该为您的即将到来的会议穿着西装和领带”。简而言之,并且如下面进一步详细描述的,系统100b可以包括外部源110,企业资源数据库120,用户信息数据库130,提取模板数据库140,模板引擎150,定制模板数据库160,通知生成器170和访问控制引擎172,如图1中针对系统100所示。

在系统100b中,模板引擎150可以从外部源110,企业资源数据库120和用户信息数据库130接收信息。例如,模板引擎可以从外部源110接收指示,该信息指示正装规范意味着穿着西装和领带,从企业资源数据库120接收信息,其指示用于各种类型的会议的着装规范,以及从用户信息数据库130接收信息,其指示包括即将到来的特定类型的会议的用户日历。

模板引擎150可以从提取模板数据库140接收会议着装规范模板。例如,模板引擎150可以接收会议着装代码模板,其定义触发条件,用于当会议的着装规范涉及穿西装时向用户呈现即将到来的会议的具有特殊的着装规范的通知,并且定义内容规则,指示通知应该指明会议的特定着装规范。

模板引擎150可以确定由提取模板定义的触发条件得到满足。例如,模板引擎150可以确定用户在设备上的叫早闹钟刚刚被关闭,并且用户具有即将到来的类型“客户会议”的会议。作为响应,模板引擎150可以确定会议类型的着装代码类型。例如,模板引擎150可以确定用于会议类型“客户会议”的着装规范类型是正装。作为响应,模板引擎150可以确定会议类型的着装规范类型涉及穿西装。例如,模板引擎150可以根据来自外部来源110的信息来确定该正装意味着西装和领带,使得会议涉及穿西装。作为响应,模板引擎150可以确定触发呈现通知。例如,模板引擎150可以确定用于会议着装规范模板的触发条件被满足。

响应于确定提取模板的触发条件被满足,模板引擎150可以向通知生成器170提供指示以生成通知。例如,模板引擎150可以向通知生成器提供指示以生成用于会议着装规范模板的通知。

通知生成器170可以接收生成通知的通知并且确定用于生成通知的内容规则。例如,通知生成器170可以从模板引擎150接收内容规则。在另一示例中,通知生成器170可以接收通知是针对会议着装规范模板的指示,作为响应,从提取模板数据库140获得用于会议着装规范模板提取模板的内容规则。

然后,通知生成器170可以基于内容规则生成通知。例如,内容规则可以定义为在通知中指示用户应该穿什么来参加会议,例如西装和领带,并且通知生成器170可以生成指示用户应该穿西装和领带的通知。

通知生成器170可以基于从模板引擎150接收到的其他信息来生成用于通知的内容。例如,基于指示模板引擎150应该将该信息提供给通知生成器170的会议着装规范模板,模板引擎150可以确定提供指示用户应该穿西装和领带的信息。

附加地或替代地,通知生成器170可以基于来自一个或多个外部源110的信息(指示正式着装规范意味着穿着西装和领带),来自企业资源数据库的信息120(指示各种类型的会议的着装规范),以及来自用户信息数据库130的信息,生成用于通知的内容。

图1c是用于在企业系统中基于外部源,企业资源和用户信息在会议期间呈现通知的示例性系统100c的框图。例如,系统100c可以在会议期间呈现通知,“您说下一个主题是项目x,这里是项目x的您个人概况,项目x的共享状态文件和项目x的公开声明”。简而言之,并且如下面进一步详细描述的,系统100c可以包括外部源110,企业资源数据库120,用户信息数据库130,提取模板数据库140,模板引擎150,定制模板数据库160,通知生成器170和访问控制引擎172,如图1针对系统100所示。

在系统100c中,模板引擎150可以从外部源110,企业资源数据库120和用户信息数据库130接收信息。例如,模板引擎150可以从外部源110接收指示关于项目x的公开声明的信息,从企业资源数据库120接收指示项目x的共享状态文档和会议记录的信息,以及从用户信息数据库130接收指示项目x的个人概要的信息。

模板引擎还可以从提取模板数据库140接收会议文档模板。会议文档模板可以定义触发条件,以在会议期间向用户呈现通知:当用户显然开始谈论主题时与与主题相关的特定文档可用,并定义内容规则,其指示通知应该指明特定文档。

模板引擎150可以确定满足提取模板的触发条件。例如,模板引擎150可以应用会议文档模板,其将包括短语“下一主题”的会议记录的触发条件定义为正进行会议的会议记录。作为响应,模板引擎150可以确定与下一主题相关的文档是否可用于模板引擎150。例如,模板引擎150可以确定与项目x相关联的文档是否可用于模板引擎150。作为响应,模板引擎150可以从外部源110,企业资源数据库120和用户信息数据库130中的一个或多个将一个或多个文档识别为与下一主题相关。例如,模板引擎150可以确定项目x上的公共声明,项目x的共享状态文档和项目x的个人概要与项目x相关联。作为响应,模板引擎150可以确定触发条件被满足并且向通知生成器170提供指示以生成通知。例如,模板引擎150可以确定用于会议文档模板的触发条件被满足,并且作为响应,向通知生成器170提供指示以生成会议文档模板的通知。

然后,通知生成器170可以基于内容规则生成通知。例如,基于关于会议文件模板的内容规则,通知生成器170然后可以生成通知,“您说下一个主题是项目x,这里是项目x的个人概况,项目x的共享状态文件和项目x的公开声明”。

图1d是用于在企业系统中的会议之后呈现通知的示例性系统100d的框图。例如,系统100d可能会基于指示会议记录的企业资源在会议后提出一个通知,即“您提到与没有参加会议的john讨论项目x,如果您希望与他讨论,john在下午2点空闲”。简而言之,并且如下面进一步详细描述的那样,系统100d可以包括外部源110,企业资源数据库120,用户信息数据库130,提取模板数据库140,模板引擎150,定制模板数据库160,通知生成器170和访问控制引擎172,如图1针对系统100所示。

在系统100d中,模板引擎150可以从企业资源数据库120接收指示会议的抄本或基本上实时音频数据的信息。模板引擎还可以从定制模板数据库160接收后续会议模板。后续会议模板可以定义触发条件以向用户呈现关于对会议的后续的通知,并且定义指示什么信息的后续通知应该指出。

模板引擎150可以确定由后续会议模板定义的触发条件得到满足。例如,模板引擎150可将后续会议模板应用于会议记录,并确定用户已经说过用户将在会议之后与特定人谈话。在特定示例中,模板引擎150可以在会议记录中确定“我将在本次会议之后与john谈论此事”包括特定人物的标识“johndoe”,以及用户将在会议后与那个人说话的指示“我在这个会议后将会告诉[个人]...。”

作为响应,模板引擎150可以向通知生成器170提供指示以生成通知。例如,模板引擎150可以向通知生成器170提供指示以生成用于后续会议模板的通知。如上所述,在一些实现方式中,该指示可以识别johndoe是参加会议的另一个用户。

然后,通知生成器170可以基于用于后续会议模板的内容规则来生成通知。例如,根据后续会议模板的内容规则,通知生成器170然后可以生成通知,“您提到与没有参加会议的john讨论项目x。如果您希望与它讨论,john今天下午2点空闲”。在该示例中,通知生成器170可以基于确定用户想要与johndoe会面来生成通知,并且作为响应,确定2pm是用户和johndoe都可用的第一可用时间段。

图2是用于基于机器学习生成的模板呈现通知的示例系统200的框图。简而言之,并且如下面进一步详细描述的,系统200可以包括外部源210,企业资源数据库220,用户信息数据库230,提取模板数据库240,包括机器学习模板生成器280的模板引擎250,定制模板数据库260,通知生成器270和访问控制引擎272。

机器学习模板生成器280可以是随时间识别模式的生成器,并且基于模式和用户行为生成或修改提取模板。例如,机器学习生成器280可以识别特定用户在特定情况下不使用特定提取模板的特定通知的模式,并且作为响应,基于这些提取模板生成定制模板,使得在那些特殊情况不提供这些特定通知。机器学习生成器280可以将这些自定义模板存储在定制模板数据库260中。例如,机器学习生成器280可以确定用户忽略在情况y中从提取模板x生成的通知,并且作为响应,机器学习模板生成器280可以基于模板x生成自定义模板x,使得在该情况下不生成通知。然后,系统200可以使用存储在定制模板数据库260中的定制模板x作为存储在提取模板数据库240中的对应提取模板x的替代。

在另一示例中,机器学习生成器280可以识别特定用户在特定类型的会议之前执行特定动作的模式,并且作为响应,向那些特定用户建议机器学习生成器280生成用于该用户的定制模板,使得可以通知用户在特定类型的会议之前用户会希望执行特定动作。

图3是用于在企业系统中呈现通知的示例过程300的流程图。以下将过程300描述为由参考图1描述的系统100的组件执行。然而,过程300可以由其他系统或系统配置执行。

过程300可以包括获得定义触发条件和内容规则的模板(310)。例如,模板引擎可以从提取模板数据库140或从定制模板数据库160获取会议文档模板。会议文档模板可以定义触发条件,以便在会议期间向用户呈现通知,即与当用户似乎开始谈论该主题时,与主题相关的特定文档可用,并且定义指示通知应指示特定文档的内容规则。

该过程可以包括访问企业资源(320)。例如,模板引擎150可以从企业资源数据库120接收包括会议记录和项目文档的信息。

该过程可以包括访问用户特有的用户信息(330)。例如,模板引擎150可以从用户信息数据库130获取指示个人文件的用户信息。

该过程可以包括确定触发条件被满足(340)。例如,模板引擎150可以基于确定会议记录包括短语“下一主题是”,确定在会议期间向用户呈现通知的触发条件被满足,该通知即为当用户似乎开始谈论主题时,与对象相关的特定文档可用。

该过程可以包括基于内容规则生成通知(350)。例如,通知生成器170可以基于会议文档模板的内容规则,生成通知,“您说下一个主题是项目x,这里是项目x的个人概况,项目x的共享状态文件,项目x的公共声明”,所述会议文档模板指示通知应该说明为什么通知正在被呈现以及可能与下一个主题相关的特定文档。

该过程可以包括向用户提供通知(360)。例如,访问控制引擎172可以确定用户被允许接收在通知中的内容,并且作为响应,向客户端设备,例如,用户使用的移动计算设备或非移动计算设备提供通知。

图4示出了可以用于实现这里描述的技术的计算设备400和移动计算设备450的示例。计算设备400旨在表示各种形式的数字计算机,例如笔记本电脑,台式机,工作站,个人数字助理,服务器,刀片服务器,大型机和其他适当的计算机。移动计算设备450旨在表示各种形式的移动计算设备,诸如个人数字助理,蜂窝电话,智能电话和其他类似的计算设备。这里显示的组件,它们的连接和关系以及它们的功能仅仅是示例,并不意味着限制。

计算设备400包括处理器402,存储器404,存储设备406,连接到存储器404和多个高速扩展端口410的高速接口408,以及连接到低速扩展端口414和存储装置406的低速接口412。处理器402,存储器404,存储装置406,高速接口408,高速扩展端口410和低速接口412中的每一个使用各种总线互连,并且可以安装在公共主板上或按需要以其他方式安装。处理器402可以处理在计算设备400内执行的指令,包括存储在存储器404中或存储设备406上的指令,以在外部输入/输出设备上显示图形用户界面(gui)的图形信息,该外部输入/输出设备诸如耦合到高速接口408的显示器416。在其他实现方式中,可以适当地使用多个处理器和/或多个总线以及多个存储器和多个类型的存储器。此外,可以连接多个计算设备,每个设备提供必要操作的一部分(例如,作为服务器组,一组刀片服务器或多处理器系统)。

存储器404在计算设备400内存储信息。在一些实现方式中,存储器404是易失性存储器单元。在一些实现方式中,存储器404是非易失性存储器单元。存储器404还可以是另一种形式的计算机可读介质,例如磁盘或光盘。

存储设备406能够为计算设备400提供大容量存储。在一些实现方式中,存储设备406可以是或包含计算机可读介质,诸如软盘设备,硬盘设备,光盘设备或磁带设备,闪存或其它类似的固态存储设备,或包括存储区域网络中的设备或其他配置的设备阵列。指令可以存储在信息载体中。当由一个或多个处理设备(例如,处理器402)执行时,指令执行一个或多个方法,例如上述的那些。指令还可以由一个或多个存储设备存储,例如计算机或机器可读介质(例如,存储器404,存储设备406或处理器402上的存储器)。

高速接口408管理计算设备400的带宽密集型操作,而低速接口412管理较低带宽密集型操作。功能的这种分配只是一个例子。在一些实现方式中,高速接口408耦合到存储器404,显示器416(例如,通过图形处理器或加速器)以及高速扩展端口410,高速扩展端口410可接受各种扩展卡(未示出)。在实现方式中,低速接口412耦合到存储设备406和低速扩展端口414。可以包括各种通信端口(例如,usb,蓝牙,以太网,无线以太网)的低速扩展端口414可以耦合到一个或多个输入/输出设备,例如键盘,指示设备,扫描仪或诸如交换机或路由器的网络设备,例如通过网络适配器。

计算设备400可以以多种不同的形式来实现,如图所示。例如,它可以被实现为标准服务器420,或者在一组这样的服务器中多次实现。此外,它可以在诸如膝上型计算机422的个人计算机中实现。它还可以被实现为机架服务器系统424的一部分。或者,来自计算设备400的组件可以与移动计算设备(未示出)(诸如移动计算设备450)中的其他组件组合。这些设备中的每一个可以包含计算设备400和移动计算设备450中的一个或多个,并且整个系统可以由彼此通信的多个计算设备构成。

移动计算设备450包括处理器452,存储器464,诸如显示器454的输入/输出设备,通信接口466和收发器468以及其他组件。移动计算设备450还可以设置有诸如微驱动器或其他设备的存储设备,以提供额外的存储。处理器452,存储器464,显示器454,通信接口466和收发器468中的每一个使用各种总线互连,并且若干组件可以按需要安装在公共主板上或以其他方式安装。

处理器452可以执行移动计算设备450内的指令,包括存储在存储器464中的指令。处理器452可以被实现为包括单独的和多个模拟和数字处理器的芯片的芯片组。处理器452可以例如提供移动计算设备450的其他组件的协调,诸如用户接口的控制,由移动计算设备450运行的应用以及由移动计算设备450的无线通信。

处理器452可以通过控制接口458和耦合到显示器454的显示接口456与用户进行通信。显示器454可以是例如tft(薄膜晶体管液晶显示器)显示器或oled(有机发光二极管)显示器或其他合适的显示技术。显示接口456可以包括适当的电路,用于驱动显示器454向用户呈现图形和其它信息。控制接口458可以接收来自用户的命令并将其转换成提交给处理器452。另外,外部接口462可以提供与处理器452的通信,以便能够移动计算设备450与其他的设备进行近区域通信。在一些实现方式中,外部接口462可以提供例如有线通信,或者在其他实现方式中用于无线通信,并且还可以使用多个接口。

存储器464在移动计算设备450内存储信息。存储器464可以被实现为计算机可读介质,易失性存储器单元或非易失性存储器单元中的一个或多个。扩展存储器474还可以通过扩展接口472来提供并连接到移动计算设备450,扩展接口472可以包括例如simm(单列直插存储器模块)卡接口。扩展存储器474可以为移动计算设备450提供额外的存储空间,或者还可以存储用于移动计算设备450的应用或其他信息。具体地,扩展存储器474可以包括执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器474可以被提供为用于移动计算设备450的安全模块,并且可以用允许移动计算设备450的安全使用的指令来编程。此外,安全应用可以经由simm卡以及附加信息提供,例如以不可侵入(non-hackable)方式将识别信息放置在simm卡上。

存储器可以包括例如闪速存储器和/或nvram存储器(非易失性随机存取存储器),如下所述。在一些实施方式中,指令被存储在信息载体中,当由一个或多个处理设备(例如,处理器452)执行时,指令执行一个或多个诸如上述的方法。指令还可以由一个或多个存储设备,诸如一个或多个计算机或机器可读介质(例如,存储器464,扩展存储器474或处理器452上的存储器)存储。在一些实施方式中,可以在传播信号中接收指令,例如通过收发机468或外部接口462接收指令。

移动计算设备450可以通过通信接口466进行无线通信,通信接口466可以在必要时包括数字信号处理电路。通信接口466可以提供各种模式或协议下的通信,例如gsm语音呼叫(全球移动通信系统)、sms(短消息服务)、ems(增强消息服务)或mms消息收发(多媒体消息服务)、cdma(码分多址)、tdma(时分多址)、pdc(个人数字蜂窝)、wcdma(宽带码分多址)、cdma2000或gprs(通用分组无线业务)等。这种通信可以例如通过使用射频的收发机468进行。此外,可能会发生短距离通信,例如使用蓝牙,wifi或其他此类收发器(未示出)。此外,gps(全球定位系统)接收器模块470可以向移动计算设备450提供附加的导航和位置相关的无线数据,它可以通过在移动计算设备450上运行的应用适当地使用。

移动计算设备450还可以使用音频编解码器460可听地通信,音频编解码器460可以从用户接收口语信息并将其转换为可用的数字信息。音频编解码器460同样可以例如通过扬声器(例如,在移动计算设备450的头戴耳机中)为用户生成可听见的声音。这种声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息,音乐文件等),并且还可以包括由在移动计算设备450上操作的应用产生的声音。

移动计算设备450可以以多种不同的形式来实现,如图所示。例如,它可以被实现为蜂窝电话机480。它也可以被实现为智能电话482,个人数字助理或其他类似的移动计算设备的一部分。

本说明书中描述的主题,功能操作和过程的实施例可以在数字电子电路中、有形实施的计算机软件或固件中、计算机硬件中实现,包括本说明书中公开的结构及其结构等同物,或它们中的一种或多种的组合。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即,在有形非易失性程序载体上编码的计算机程序指令的一个或多个模块,用于由数据处理设备执行或控制数据处理设备的操作。或者或另外,程序指令可以在人造生成的传播信号上进行编码,例如,机器生成的电,光或电磁信号,其被产生用于编码传输到合适的接收机设备的信息以供数据处理设备执行。计算机存储介质可以是机器可读存储设备,机器可读存储基板,随机或串行存取存储器件,或其中的一个或多个的组合。

术语“数据处理装置”涵盖用于处理数据的所有类型的装置,设备和机器,包括例如可编程处理器,计算机或多个处理器或计算机。该装置可以包括专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,该设备还可以包括为所关注计算机程序创建执行环境的代码,例如构成处理器固件,协议栈,数据库管理系统,操作系统或它们中的一个或多个的组合的代码。

计算机程序(其也可以被称为程序,软件,软件应用程序,模块,软件模块,脚本或代码)可以以任何形式的编程语言来编写,包括编译或解释语言,或声明性或程序性语言,并且可以以任何形式部署,包括作为独立程序或作为模块,组件,子例程或适用于计算环境的其他单元。计算机程序可以但不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,专用于所讨论的程序的单个文件中,或者存储在多个协调文件中(例如,存储一个或多个模块,子程序或代码部分的文件)。可以将计算机程序部署为在一个计算机上或多个计算机上执行,所述多个计算机位于一个站点上,或者分布在多个站点上并由通信网络互连。

在本说明书中描述的过程和逻辑流程可由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过对输入数据进行操作并产生输出来执行功能。处理和逻辑流程也可以由专用逻辑电路(例如,fpga(现场可编程门阵列)或asic(专用集成电路))执行,并且装置也可以被实现为专用逻辑电路。

例如,适用于执行计算机程序的计算机可以基于通用或专用微处理器或两者或任何其它类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本要素是用于执行或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合以从用于存储数据的一个或多个大容量存储设备接收数据或传输数据到其上或二者,该大容量存储设备例如磁盘,磁光盘或光盘。然而,计算机不需要具有这样的设备。此外,计算机可以嵌入在另一个设备中,例如移动电话,个人数字助理(pda),移动音频或视频播放器,游戏主机,全球定位系统(gps)接收器或便携式存储设备(例如,通用串行总线(usb)闪存驱动器),仅举几例。

适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器,介质和存储器件,包括例如半导体存储器件,例如eprom,eeprom和闪存器件;磁盘,例如内部硬盘或可移动盘;磁光盘;和cd-rom和dvd-rom盘。处理器和存储器可由专用逻辑电路补充或并入其中。

为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有用于向用户显示信息的显示设备(例如crt(阴极射线管)或lcd(液晶显示器)监视器)以及用户可以向计算机提供输入的键盘和指示设备(例如鼠标或轨迹球)的计算机上实现。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈,听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音,语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档并从其接收文档来与用户进行交互;例如,通过响应于从网络浏览器接收到的请求,将网页发送到用户的客户端设备上的网络浏览器。

本说明书中描述的主题的实施例可以在计算系统中实现,计算系统包括后端组件(例如,作为数据服务器),或包括中件组件(例如,应用服务器),或者包括前端组件,例如具有图形用户界面或web浏览器的客户端计算机,用户可以通过该浏览器与本说明书中描述的主题的实现进行交互,或者一个或多个这样的后端,中件或前端组件的任意组合。系统的组件可以通过数字数据通信的任何形式或介质,例如通信网络互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”),例如因特网。

计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系是由于各自计算机上运行的计算机程序和彼此之间具有客户端-服务器关系而产生的。

虽然本说明书包含许多具体的实现细节,但是这些不应被解释为对可要求保护的范围的限制,而是作为对特定实施例特定的特征的描述。在单独实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分开地或以任何合适的子组合在多个实施例中实现。此外,虽然以上可以将特征描述为以某些组合的方式起作用,并且甚至最初要求保护这样,但要求保护的组合的一个或多个特征在某些情况下可以从组合中被移除,并且所要求保护的组合可以旨在子组合或子组合的变型。

类似地,虽然在附图中以特定顺序描绘操作,但是这不应被理解为要求以所示的特定顺序或按顺序执行此类操作,或者执行所有所示的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应被理解为在所有实施例中需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品中或打包成多个软件产品。

已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中所述的动作可以以不同的顺序执行,并且仍然实现期望的结果。作为一个示例,附图中所示的过程不一定需要所示的特定顺序或随后的顺序来实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。可以从所描述的过程提供其他步骤,或者可以消除步骤。因此,其他实施方式在所附权利要求的范围内。

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