用于基于电子通信的特征和用户的日程数据来确定回复内容以包括在用户对电子通信的回复中的方法和装置与流程

文档序号:15884516发布日期:2018-11-09 18:35阅读:237来源:国知局
用于基于电子通信的特征和用户的日程数据来确定回复内容以包括在用户对电子通信的回复中的方法和装置与流程

用户经常被诸如电子邮件、sms通信和社交网络通信之类的电子通信所淹没。发送给用户的许多电子通信涉及诸如商务会议、聚会、餐厅晚餐、与朋友聚会等事件。被发送给用户并且明确地与事件相关的一些电子通信征求来自用户的回复或以其它方式包括用户可能希望对其回复的信息。例如,包括“areyouavailableforacalltomorrowat12:00?(你明天可以在12:00可接电话吗?)”的一封电子邮件中可以明确地征求来自接收者的回复,例如确认接收者可用(avaliable)的回复或指示接收者不可用和/或提出电话的新时间的回复。包括“afewofusaregoingtorestaurantaafterworkifanybodyisinterested(如果有人有兴趣,则我们中的一些人下班后去餐厅a)”的一封电子邮件可能没有明确征求回复,但是收到该电子邮件的接收者可能仍希望回复该电子邮件以确认接收者也会下班后去到餐厅a或将无法参加。与事件相关的电子通信的接收者必须利用用户接口输入设备(例如,虚拟键盘、麦克风)来制定对电子通信的回复,并且有时需要参考日历或其他日程数据以确定哪种回复是合适的。



技术实现要素:

本说明书的一些实施方式一般涉及与利用电子通信的一个或多个特征和电子通信的接收者的日程数据(例如,电子日历)以确定要包括在接收者对于电子通信的回复内的回复内容相关的方法和装置。可以经由接收者的计算设备的一个或多个用户接口输出设备提供要包括在回复中的所确定的回复内容(例如,回复内容可以被自动提供在回复中或被建议包括在回复中)。

这些实施方式中的一些实施方式涉及基于发送给用户的电子通信的特征并基于用户的日程数据来确定适合于包括在对电子通信的回复中的一个或多个n元,并提供确定的n元以包括在用户对电子通信的回复中。

作为一个示例,假设向用户发送电子邮件,其包括“wanttograbdinnerthisfridayat7:00?(想要在本周五7:00吃晚餐?)”。这里描述的方法和装置的实施方式可以用于确定一个或多个n元以包括在用户对电子邮件的回复中,其中,n元相对于电子邮件和用户的日程数据被定制。例如,如果用户的日程数据表明用户在周五7:00期间和/或附近忙碌,可以确定提供“sorry,can'tmakeit(抱歉,做不到)”、“can'tmakeit,haveotherplans(做不到,有其他计划)”和/或其他“decliningresponses(拒绝回复)”以包括在回复中,而“soundsgood(听起来不错)”、“i'llbethere(我会在那里)”和/或其他“confirmatoryresponses(确认响应)”可能不会被确定包括在回复中,或者可以被确定以比一个或多个拒绝响应更不显眼的方式建议包括在回复中。另一方面,如果用户的日程数据表明用户在周五7:00期间和/或附近可用,则可以确定提供一个或多个确认响应以包括在回复中,而一个或多个拒绝响应可能不会确定包括在回复中,或者可能会被确定以比一个或多个确认响应更不显眼的方式建议包括在回复中。

作为另一示例,假设向用户发送包括“interestedindinneronfriday?(对周五晚餐感兴趣?)”的电子邮件。这里描述的方法和装置的实施方式可以用于确定要包括在回复中的一个或多个n元,其中,n元相对于电子邮件和用户的日程数据被定制。例如,如果用户的日程数据表明用户在星期五的一个或多个“晚餐”时间期间可用,那么可以代替一般确认回复或对一般确认回复进行添加,建议包括那些时间中的一个或多个的n元(例如,“soundsgood,howabout7:30?(听起来不错,7:30怎么样?)”)。

在一些实施方式中,回复内容可以附加地和/或替选地包括针对在电子通信中引用的事件的日历邀请或者包括发送给发送者和/或电子通信的其他接收者以确定事件的首选时间/日期的“可用性(availability)轮询”。例如,可以基于发送给用户的电子通信自动创建或建议以创建用户的日历条目,并且可以生成对应的日历邀请并且将其自动包括(或建议包括)在用户对电子通信的回复中。邀请可以被发送到通信的发送者和/或通信的其他接收者。作为另一个示例,在电子通信包括“weneedtohaveameetingthisweek,letmeknowwhattimeworksbestforeveryone(我们需要本周召开会议,让我知道什么时间最适合每个人)”的情况下,可以使用一个或多个接收者的日程数据来生成“候选日期/时间”,并且向电子通信的发送者和通信的其他接收者提供可用性轮询,以确定来自候选者的一个或多个优选日期/时间。可以可选地生成进一步的回复,该回复是对优选日期/时间的邀请。

在各种实施方式中,可以经由生成回复的用户的计算设备的一个或多个用户接口输出设备来呈现所确定的回复内容(例如,文本回复内容、日历邀请回复内容和/或可用性轮询回复内容)的一个或多个用户接口指示(例如,图形、听觉),并且当用户经由用户接口输入选择指示之一时,对应的回复内容可以包括在回复中。例如,在所选择的回复内容是n元的情况下,它可以包括在回复的正文中。作为另一示例,在所选择的回复内容是日历邀请的情况下,可以将邀请附加到回复,和/或可以将到邀请的连接包括在回复的正文中。在一些实施方式中,可以在用户已经提供回复的任何文本内容之前和/或在用户已经提供回复的任何其他内容之前,呈现要包括在回复中的确定的回复内容以包括在回复中。

在一些实施方式中,可以利用由经训练的机器学习系统提供的输出来确定要提供以包括在用户对电子通信的回复中的回复内容。经训练的机器学习系统可以响应于接收到包括电子通信的一个或多个消息特征以及可选地基于用户的日程数据的一个或多个用户可用性特征的输入来提供输出。例如,机器学习系统可以被训练为作为输入接收“原始消息”的一个或多个消息特征以及可选地接收者的日程数据的一个或多个特征,并且作为输出提供与回复内容相关的至少一个特征。经训练的机器学习系统输出可用于确定提供哪个回复内容、是否提供回复内容和/或如何提供回复内容。例如,经训练的机器学习系统可以作为输出提供对电子通信的回复将包括日历邀请作为回复内容的可能性。例如,可以利用这样的输出来确定日历邀请是否被提供作为回复内容和/或多么突出地建议要包括日历邀请以提供日历邀请作为回复内容。而且,例如,经训练的机器学习系统可以提供一个或多个特定n元和/或n元的一个或多个指示符(例如,n元的语义类别)作为输出,可选地与相关联的分数一起。例如,可以利用这样的输出来确定提供哪些n元作为回复内容和/或在呈现时所提供的n元的突出性。

一些实施方式一般涉及分析过去电子通信的语料库以确定以下部分之间的关系:(1)“原始”消息的一个或多个消息特征和可选地与接收者的日程数据相关的一个或多个特征,以及(2)与接收者对原始消息回复的“回复”消息相关联的回复内容。例如,可以分析语料库以确定在原始消息的消息特征与对于具有那些消息特征的原始消息的回复包括日历邀请和/或到日历邀请的链接的可能性之间的关系。另外,例如,可以分析语料库以确定与关于接收者的日程数据的特征配对的原始消息的消息特征与在由具有那些特征的日程数据的接收者对于具有那些消息特征的消息的回复中包括的回复内容之间的关系。作为又一示例,可以分析语料库以确定包括事件并且被发送给具有指示与事件冲突的日程数据的接收者的原始消息可能导致包括“拒绝”文本响应的回复消息(例如,“sorry,can'tmakeit(对不起,做不到)”、“"thanksfortheinvite,butihaveaconflict(感谢邀请,但我有冲突)”)。作为又一示例,可以分析语料库以确定包括具有日期但没有特定时间的事件并且被发送给具有指示该日期的可用性的日程数据的接收者的原始消息可能导致下述回复消息,该回复消息包括建议其间接收者可用的一个或多个时间的回复消息(例如,“soundsgood.howabout[availabletime]?(听起来不错。[可用时间]怎么样?)”、“i'dloveto.does[availabletime]workforyou?(我很乐意。[可用时间]是否适合你?)”)。

在一些实施方式中,通过生成适当的训练示例并且基于那些训练示例来训练机器学习系统,可以实现确定在电子通信的原始消息的一个或多个原始消息特征和可选地与日程数据相关的一个或多个特征与和那些原始消息的回复相关联的回复内容之间的关系。机器学习系统可以被训练为作为输入接收电子通信的一个或多个消息特征以及可选地接收者的日程数据的一个或多个特征,并且作为输出提供与回复内容相关的至少一个特征,例如上述特征之一。

例如,在一些实施方式中,可以生成训练示例以训练机器学习系统以确定对原始消息的回复将包括邀请、轮询和/或对于邀请和/或轮询的链接的可能性。例如,可以生成训练示例,每个训练示例具有指示邀请或到邀请的链接是否包括在回复消息中的输出参数,以及基于回复消息所响应于的电子通信的对应的一个的原始消息并且可选地基于生成回复消息并且在时间上与原始消息的事件相关的用户的日程数据的一个或多个特征的一个或多个输入参数。例如,第一训练示例可以作为输出参数包括“包括的邀请”的指示,并且包括作为输入参数的在回复消息中包括邀请的对应的第一电子通信的消息的原始消息的原始文本的全部或部分(以及可选地与原始文本相关联的注释)和生成回复消息并且在时间上与第一电子通信中的事件相关的用户的日程数据的一个或多个特征。第二训练示例可以包括作为输出参数的“邀请未被包括”的指示;以及作为输入参数的在回复消息中不包括邀请的第二电子通信的对应的原始消息的原始文本(以及可选地与文本相关联的注释)的全部或部分和生成回复消息并且在时间上与第二电子通信中的事件相关的用户的日程数据的一个或多个特征。可以类似地生成附加训练示例。

作为另一示例,在一些实施方式中,可以生成训练示例以训练机器学习系统,以确定文本回复内容的一个或多个特征以包括在对原始消息的回复中。可以用各种级别的粒度来定义文本回复内容的特征,例如特定的n元(例如,“thanks,butcan'tmakeit(谢谢,但做不到)”)、文本回复的类别(例如,“确认回复”、“拒绝回复”、“暂定回复”、“建议可用时间的确认回复”、“建议可用时间的暂定回复”)和/或与n元类别配对的特定n元(例如,“the[eventtype]soundslikefun,butihaveaconflict([事件类型]听起来很有趣,但我有冲突)”、“soundslikefun,butihave[titleofconflictingscheduleentry]duringthattime(听起来很有趣,但我在那个时间期间有[冲突的时间表条目的标题])”)。例如,第一训练示例可以包括:作为输出参数的“确认回复”的指示;以及作为输入参数的在回复消息中包括确认回复的第一电子通信的对应原始消息的原始文本(以及可选地与文本相关联的注释)的全部或部分和生成回复消息并且在时间上与第一电子通信中的事件相关的用户的日程数据的一个或多个特征。第二训练示例可以包括作为输出参数的“拒绝回复”的指示,并且作为输入参数的包括拒绝回复的对应的第二电子通信的原始消息的原始文本(以及可选地与文本相关联的注释)的全部或部分和生成回复消息并且在时间上与第二通信中的事件相关的用户的日程数据的一个或多个特征。可以类似地生成附加训练示例。

尽管以上相对于n元提供了消息特征的多个示例,但是可以使用各种附加或替选消息特征。一个或多个附加和/或替选消息特征包括例如:两个或更多个n元的共现(可选地以特定顺序、以某个位置关系和/或在彼此的特定距离内出现);基于一个或多个自然语言处理标签(例如,词性、命名实体、音调)的特征;基于具体在主题、第一句、最后一句或消息的其他部分中出现的文本的特征;基于发送电子邮件的时间、发送电子邮件的日期、接收者的数量的特征等。作为一个示例,至少一个消息特征可以是:在原始消息的主题中的特定n元的出现以及在原始消息的正文中另一个特定n元的出现。

在一些实施方式中,可以提供由至少一个计算设备执行的计算机实现的方法,该方法包括识别发送给用户的电子通信并确定与电子通信的事件相关联的时间指示。时间指示至少识别与事件相关联的时间或日期。该方法还包括:基于时间指示搜索用户的日程数据;基于搜索确定用户对事件的可用性;并确定电子通信的一个或多个附加消息特征。附加消息特征是对所述时间指示的添加。该方法还包括:基于用户的可用性并基于一个或多个附加消息特征生成文本回复内容。文本回复内容包括未包括在电子通信中的一个或多个n元。该方法还包括提供文本回复内容以包括在回复电子通信中,该回复电子通信是用户对电子通信的回复。

该方法和本文公开的技术的其他实施方式可以各自可选地包括以下特征中的一个或多个。

在一些实施方式中,搜索用户的日程数据独立于在生成回复电子通信时经由用户的计算设备提供的任何文本输入,其中,用户的计算设备是所述计算设备之一或者是对所述计算设备的添加。在那些实施方式中的一些实施方式中,提供要包括在回复电子通信中的文本回复内容独立于在生成回复电子通信时经由计算设备提供的任何文本输入。

在一些实施方式中,确定与电子通信的事件相关联的时间指示包括基于电子通信的一个或多个时间n元来确定时间指示。在那些实施方式中的一些实施方式中,该方法还包括:确定电子通信的一个或多个事件n元,每个事件n元引用事件的位置或事件的类型;并且基于电子通信中的时间n元和事件n元之间的句法关系来确定时间n元。

在一些实施方式中,生成文本回复内容包括生成第一回复n元并生成分立的第二回复n元;提供要包括在回复电子通信中的回复内容包括:提供第一回复n元和第二回复n元两者,以包括在对电子通信的回复中。在那些实施方式中的一些实施方式中,该方法还包括:将所述第一回复n元和第二回复n元相对于彼此排名;以及基于所述排名确定用于提供所述第一回复n元和第二回复n元的突出性。提供所述第一回复n元和所述第二回复n元以包括在所述回复电子通信中可以包括利用所述突出性的指示提供所述第一回复n元和所述第二回复n元。

在一些实施方式中,提供包括在回复电子通信中的文本回复内容包括提供所述文本回复内容的图形指示,并提供所述文本回复内容基于所述用户的所述可用性的图形指示。

在一些实施方式中,提供包括在回复电子通信中的文本回复内容包括将所述文本回复内容合并到所述回复电子通信中,而不需要所述用户经由所述用户发起的用户接口输入进行确认。

在一些实施方式中,提供包括在回复电子通信中的文本回复内容包括:提供所述文本回复内容的图形指示;经由用户接口输入设备接收对所述图形指示的选择;并且响应于接收到所述选择,将所述文本回复内容合并到所述回复电子通信中。

在一些实施方式中,生成文本回复内容包括生成第一回复n元并生成分立的第二回复n元,并且提供所述回复内容以包括在所述回复电子通信中包括:提供所述第一回复n元的第一图形指示和所述第二回复n元的第二图形指示;经由用户接口输入设备接收对所述第一图形指示和所述第二图形指示之一的选择;以及响应于接收到所述选择,在所述回复中并入所述第一回复n元和所述第二回复n元中的对应的一个。

在一些实施方式中,生成所述文本回复内容包括:提供所述附加消息特征和所述用户的所述可用性作为对于经训练的机器学习系统的输入;接收至少一个回复内容特征作为来自经训练的机器学习系统的输出;以及基于作为来自经训练的机器学习系统的输出而接收的所述至少一个回复内容特征生成所述文本回复内容。在那些实施方式中的一些实施方式中,所述附加消息特征包括基于在所述电子通信的正文中的n元的第一消息特征,并且该方法可选地还包括:用至少一个对应的语法注释标记所述电子通信的多个n元的每个,基于所述n元的所述对应的语法注释选择所述n元,以及基于所述n元确定所述第一消息特征。

在一些实施方式中,可以提供由至少一个计算设备执行的计算机实现的方法,并且该方法包括:识别多个用户的事件电子通信的语料库。所述语料库的所述事件电子通信每个包括引用事件的原始内容,所述语料库的所述事件电子通信每个包括响应于所述原始内容的回复内容,并且所述语料库的所述事件电子通信每个都与所述回复内容的作者的用户可用性相关联。所述用户可用性指示所述作者在创作所述回复内容时参加所述事件的可用性。所述方法还包括:基于所述事件电子通信生成多个训练示例,其中,生成所述训练示例的每个基于所述事件电子通信的对应的事件电子通信,并包括:基于所述对应的事件电子通信的所述原始内容和与所述对应的回复事件电子通信相关联的所述用户可用性生成多个输入特征,以及基于所述对应的事件电子通信的所述回复内容生成至少一个输出特征。该方法还包括:基于训练示例训练机器学习系统,以生成经训练的机器学习系统;接收发送给用户的新的电子通信;基于所述新的电子通信并基于所述用户的日程数据生成新的输入特征;提供所述新的输入特征作为对所述经训练的机器学习系统的输入;响应于向所述经训练的机器学习系统提供所述新的输入特征,从所述经训练的机器学习系统接收输出;以及,使用来自所述经训练的机器学习系统的所述输出来确定回复内容,用于经由所述用户的计算设备提供所述回复内容以向所述用户呈现以包括在所述用户对所述新的电子通信的回复中。

该方法和本文公开的技术的其他实施方式可以各自可选地包括以下特征中的一个或多个。

在一些实施方式中,所述至少一个输出特征指示所述回复内容是否包括邀请或到邀请的链接。

在一些实施方式中,所述至少一个输出特征指示所述回复内容是否包括可用性轮询或到可用性轮询的链接。

在一些实施方式中,所述至少一个输出特征指示所述回复内容的至少一个文本特征。

在一些实施方式中,所述训练示例的所述输入特征不包括来自所述回复内容的任何特征。

其他实施方式可以包括非暂时性计算机可读存储介质,其存储可由处理器执行以执行诸如上述方法中的一个或多个的方法的指令。又一实施方式可以包括一种系统,该系统包括存储器和一个或多个处理器,所述处理器其可操作以执行存储在存储器中的指令,以执行诸如上述一种或多种方法的方法。

应当理解,本文更详细描述的前述概念和附加概念的所有组合都被认为是本文公开的主题的一部分。例如,出现在本公开结尾处的所要求保护的主题的所有组合被认为是本文公开的主题的一部分。

附图说明

图1示出了示例环境,其中,可以基于电子通信的一个或多个消息特征并基于用户的日程数据来确定要包括在用户对电子通信的回复中的回复内容。

图2示出了如何基于电子通信的一个或多个消息特征并基于用户的日程数据来确定要包括在用户对电子通信的回复中的回复内容的示例。

图3是示出了如何基于电子通信的一个或多个消息特征并基于用户的日程数据确定要包括在用户对电子通信的回复中的回复内容的示例方法的流程图。

图4a、4b和4c示出了用于提供回复内容以包括在对电子通信的回复中的示例图形用户接口。

图5示出了用于提供回复内容以包括在对电子通信的回复中的另一示例图形用户接口。

图6示出了示例环境,其中,可以分析电子通信以生成训练示例,该训练示例用于训练机器学习系统以基于一个或多个消息特征和一个或多个日程数据特征的输入生成一个或多个回复内容特征的输出,并且其中,可以基于训练示例训练机器学习系统。

图7示出了如何基于电子通信生成训练示例并且使用训练示例来训练机器学习系统以基于一个或多个消息特征和一个或多个日程数据特征的输入生成一个或多个回复内容特征的输出的示例。

图8是示出生成训练示例并使用训练示例来训练机器学习系统以基于一个或多个消息特征和一个或多个日程数据特征的输入生成一个或多个回复内容特征的输出的示例方法的流程图。

图9示出了计算设备的示例架构。

具体实施方式

图1示出了示例环境,其中,可以基于电子通信的一个或多个消息特征并基于用户的日程数据来确定要包括在用户对电子通信的回复中的回复内容。示例环境包括至少一个通信网络101,其促进在环境中的各种组件之间的通信。在一些实施方式中,通信网络101可以包括因特网、一个或多个内联网和/或一个或多个总线子系统。通信网络101可以可选地利用一种或多种标准通信技术、协议和/或进程间通信技术。示例环境还包括客户端设备106、电子通信系统110、回复内容系统120、至少一个经训练的机器学习系统135、用于一个或多个用户的日程数据154以及至少一个电子通信数据库152。

电子通信系统110、回复内容系统120和经训练的机器学习系统135每个可以实现在例如通过网络(例如,通信网络101和/或其他网络)通信的一个或多个计算设备中。电子通信系统110、回复内容系统120和经训练的机器学习系统135是示例系统,其中,可以实现本文描述的系统、组件和技术,和/或本文描述的系统、组件和技术可以与之接口连接。

电子通信系统110、回复内容系统120和经训练的机器学习系统135每个包括用于存储数据和软件应用的一个或多个存储器、用于访问数据和执行应用的一个或多个处理器以及促进通过网络的通信的其他组件。在一些实施方式中,电子通信系统110、回复内容系统120和经训练的机器学习系统135可以包括图9的示例计算设备的一个或多个组件。由电子通信系统110、回复内容系统120和经训练的机器学习系统135执行的操作可以分布在多个计算设备上。在一些实施方式中,电子通信系统110、回复内容系统120和/或经训练的机器学习系统135的一个或多个方面可以组合在单个计算设备中,和/或可以在客户端设备106上实现一个或多个方面。

通常,在一些实施方式中,回复内容系统120确定并提供回复内容以包括在用户对发送给用户并且包括事件的电子通信的回复中。电子通信可以是例如由客户端设备106提供的电子通信和/或用户尚未回复的电子通信数据库152的电子通信。回复内容系统120可以基于电子通信的一个或多个消息特征并且基于用户对电子通信事件的可用性和/或与事件的时间和/或日期相关的用户的其他用户日程数据特征来确定回复内容。可以通过基于与该事件相关联的时间指示(即,指示日期和/或时间)搜索用户的日程数据154来确定用户对电子通信事件的可用性和/或其他用户日程数据特征。例如,可以基于用户日程数据是否指示用户在与事件相关联的日期和/或时间期间或附近具有已经调度的事件来确定用户可用性。

在一些实施方式中,回复内容系统120可以独立于用户在生成对通信的回复中提供的任何文本输入和/或独立于由用户在生成对通信的回复中提供的任何内容而提供所确定的回复内容以包括在对电子通信的回复中。在一些实施方式中,由回复内容系统120确定和提供的回复内容包括针对电子通信定制并针对用户的日程数据定制的文本回复内容。为电子通信确定和提供的文本回复内容可以包括作为对包括在电子通信本身中的任何n元的添加的一个或多个n元。在一些实施方式中,回复内容系统120确定其回复内容的电子通信本身不是对可以用诸如“接受”、“拒绝”和/或“暂定”的预定义结构化响应来响应的事件的结构化邀请。

可以在一个或多个非暂时性存储介质上提供由回复内容系统120用来确定回复内容的日程数据154。在一些实施方式中,用户的日程数据154可以是非公开地可访问的,但是可由该用户访问。例如,日程数据154可以仅对用户和一个或多个系统和/或用户授权的其他用户可访问。用户的日程数据154可以指示来自各种源的事件。例如,在日程数据154中指示的用户的事件可以来自用户维护、从用户的电子通信中提取、基于用户的过去活动推断(例如,指示该用户每个工作日6:00进入健身房的重复位置数据)等的一个或多个电子日历。用户的日程数据154可以存储在一个或多个位置,例如用户可访问的一个或多个基于云的位置、用户的计算设备(例如,客户端设备106)的一个或多个本地存储设备、计算设备和/或用户可访问的一个或多个本地网络存储设备等等。如本文所述,在一些实施方式中,回复内容系统120可以通过发出对用户的搜索确定与事件相关联的日程数据的一个或多个特征(例如,用户的可用性),其中,搜索包括一个或多个时间搜索参数(例如,时间和/或日期),它来源于发送给用户并引用该事件的电子通信。

电子通信数据库152包括一个或多个存储介质,其包括多个用户的电子通信的全部或部分。在一些实施方式中,电子通信系统110保存电子通信数据库152。例如,电子通信系统110可以包括一个或多个电子邮件系统,并且电子通信数据库152可以包括经由电子邮件系统发送和/或收到的多个电子邮件。作为另一示例,电子通信系统110可以包括一个或多个社交网络系统,并且电子通信数据库152可以包括经由社交网络系统发送和/或接收的多个消息、帖子或其他通信。

如本文所使用的,“电子通信”或“通信”可以指电子邮件、文本消息(例如,sms、mms)、即时消息、转录的语音邮件或从第一个用户向一个或多个其他用户的受限制组发送的任何其他电子通信。在各种实施方式中,电子通信可以包括各种元数据,并且可以可选地在本文描述的一种或多种技术中使用元数据。例如,诸如电子邮件的电子通信可以包括电子通信地址,诸如一个或多个发件人标识符(例如,发件人电子邮件地址)、一个或多个收件人标识符(例如,收件人电子邮件地址,包括抄送(cc)和密送(bcc)的收件人)、发送日期、一个或多个附件、主题以及发送和/或接收电子通信的设备类型等等。

如本文所使用的,取决于上下文,将使用“电子通信”和“通信”来指代仅包括原始消息的电子通信和包括一个或多个原始消息并且包括一个或多个回复消息的电子通信。电子通信可以是单个文档,例如包括原始消息和回复消息并且可以被处理以区分原始消息和回复消息的电子邮件。处理电子通信以区分原始消息和回复消息可以包括一个或多个计算设备基于元数据的存在、消息中断、包括在消息中的报头信息、在原始消息周围提供的引用等来“拆分”消息。电子通信也可以是基于多个文档中的至少一个响应于多个文档中的其他文档而彼此映射的多个文档。例如,电子通信可以包括是由用户接收的原始消息的第一电子邮件和由用户发送作为对该原始消息的回复的第二电子邮件,或原始和回复sms消息。例如,可以由电子通信系统110来执行多个文档向彼此的映射。例如,电子通信系统110可以基于用户当查看第一邮件时选择“回复”用户接口并且然后响应于选择回复用户接口元素起草第二封电子邮件,将第一电子邮件映射到第二电子邮件。

如本文所使用的,原始消息在时间上早于响应回复消息,但不一定是电子通信中的第一消息。例如,原始消息可以是在时间上的在电子通信中的第一消息,并且响应于该原始消息的回复消息可以是在时间上稍后的(例如,在时间上的下一个)消息。而且,例如,原始消息可以附加地和/或替选地是在时间上的在电子通信中的第二、第三或第四消息,并且响应于该原始消息的回复消息可以是在时间上的在电子通信中的稍后消息。原始消息和回复消息中的每个可以包括关联文本、元数据和/或其他内容(例如,一个或多个附加文档、到一个或多个文档的链接)中的一个或多个。

在各种实施方式中,回复内容系统120可以包括消息特征引擎122、搜索参数引擎124、搜索引擎126、回复内容引擎128和/或呈现引擎129。在一些实施方式中,可以省略引擎122、124、126、128和/或129的全部或者方面。在一些实施方式中,可以组合引擎122、124、126、128和/或129的全部或方面。在一些实施方式中,可以在与回复内容系统120分离的组件中实现引擎122、124、126、128和/或129的全部或方面,该组件例如是客户端设备106和/或电子通信系统110。

以下参考用户的电子通信提供对引擎122、124、126、128和129的描述,电子通信例如是由客户端设备106提供的电子通信和/或用户尚未回复的电子通信数据库152的电子通信。尽管为了清楚起见在示例中引用了单个电子通信,但是应当理解,回复内容系统120可以确定用于用户和/或其他用户的附加电子通信的回复内容。在一些实施方式中,回复内容系统120可以仅全部或部分地处理某些电子通信。例如,仅由一个或多个分类器和/或其他机器学习系统确定至少具有与事件有关的阈值可能性的电子通信可以被响应内容系统120处理。

消息特征引擎122基于发送给用户的电子通信(即,至少部分地基于当该内容被发送给用户时的电子通信的内容)确定一个或多个原始消息特征。可以确定各种原始消息特征。例如,消息特征引擎122可以将电子通信中的一个或多个n元确定为消息特征。例如,可以基于电子通信中的n元的词项频率(即,n元在电子通信中多经常出现)和/或文档集合中的n元的逆文档频率(即,n元在诸如电子通信的集合的文档集合中多经常出现)来确定n元的一个或多个。

此外,例如,可以基于n元是引用事件的位置(例如,“餐馆”、特定地点的名称、特定地址)和/或事件类型(例如,“晚餐”、“会议”、“视频会议”)的“事件n元”来确定n元的一个或多个。另外,例如,可以基于n元是引用日期和/或时间(例如,“今天”、“星期四”、“11:00”、“今晚”、“早上”)的时间n元确定n元中的一个或多个。在各种实施方式中,可以利用一个或多个分类器和/或其他机器学习系统来提供可能是时间n元和/或事件n元的电子通信的一个或多个n元的指示。

此外,例如,可以基于n元与一个或多个其他n元的位置接近度和/或句法关系来确定n元中的一个或多个。例如,可以基于其与一个或多个事件n元的位置接近度和/或句法关系来识别时间n元,该事件n元例如是引用事件的位置或类型的事件n元。作为又一实例,可以基于n元的词性(例如,“名词”)、n元的类型(例如,“人”、“位置”或者“事物”)或基于n元包括在潜在相关n元的列表中和/或不包括在无关n元(例如,诸如“一个”、“一”和“该”之类的停用词)的列表中来确定n元的一个或多个。

此外,例如,消息特征引擎122可以确定在电子通信中的两个或更多个n元的同时出现作为消息特征,例如以特定顺序(例如,在第二n元之前的第一n元)、以某个位置关系(例如,在彼此的n个术语或字符内)等的同时出现。另外,例如,消息特征引擎122可以确定:基于一个或多个自然语言处理标签或应用于电子通信文本的其他标记的一个或多个消息特征(例如,词性、命名实体、实体类型、音调);基于在主题、第一句、最后句子或电子通信的其他部分中具体出现的文本的特征;基于电子通信的元数据的特征,例如发送电子通信的时间、发送电子通信的星期几、接收者的数量、发送电子通信的设备的类型等。

此外,例如,消息特征引擎122可以确定来自整个电子通信或电子通信的子集(例如,一个或多个段落、一个或多个句子、一个或多个词)的一个或多个特征的嵌入向量。嵌入向量的特征可以包括一个或多个n元、应用于一个或多个n元的标签、语法特征、语义特征、元数据特征和/或其他特征。

作为一个具体示例,假设电子通信包括具有文本“golftrip(高尔夫旅行)”的主题和具有文本“weneedtomeetandplanourannualgolftrip.howaboutthisthursdayat6:00?(我们需要见面并计划我们的年度高尔夫旅行。本周四6:00如何?)”的正文。消息特征引擎122可以确定包括n元“trip(旅行)”、“golftrip(高尔夫旅行)”、“thisthursday(本周四)”、“6:00”、“annual(年度)”、“howabout(如何)”和“?”的消息特征,同时可选地排除其他n元。例如,消息特征引擎122可以基于它们是事件n元(事件类型),将“trip”、“golftrip”确定为消息特征,可以基于它们是时间n元和/或基于它们与事件n元紧密位置接近将“thisthursday”和“6:00”确定为消息特征,可以基于它们是查询n元将“howabout”和“?”确定为消息特征,并且可以基于它作为文本中的形容词和/或基于它与事件n元紧密位置接近将“annual”确定为n元。

消息特征引擎122向搜索参数引擎124并且可选地向经训练的机器学习系统135和/或回复内容引擎128提供确定的消息特征。消息特征引擎122可以向搜索参数引擎124、经训练的机器学习系统135和/或回复内容引擎128提供相同的消息特征——或所提供的消息特征可以不同。

搜索参数引擎124基于由消息特征引擎122提供的消息特征的一个或多个,生成用于搜索用户的日程数据154的一个或多个搜索参数。例如,消息特征引擎122可以向搜索参数引擎124至少提供消息特征的时间n元和/或事件n元,并且搜索参数引擎124可以基于时间和/或事件n元生成一个或多个搜索参数。

作为基于消息特征引擎122提供的消息特征中的一个或多个生成搜索参数的一个示例,假设消息特征引擎122提供包括n元“thisthursday”、“6:00”和“golftrip”的消息特征组。搜索参数引擎124可以基于“thisthursday”和“6:00”生成时间搜索参数。例如,搜索参数引擎124可以将“thisthursday”转换为特定日期,并使用特定日期作为时间搜索参数。而且,例如,搜索参数引擎124可以基于“6:00”生成5:00-8:00的时间范围,并且使用该时间范围作为时间搜索参数。5:00-8:00的时间范围可以提供对于用户的日程数据154的搜索,以确定用户在所引用的特定时间(6:00)之前一小时和之后二小时的可用性。搜索参数引擎124还可以可选地生成“不包括'golf'”的附加“否定”搜索参数,以防止如果用户的日程数据已经指示电子通信的事件(例如,用户可能在接收电子邮件之前已经与发送者交谈并且已经将事件手动地添加到用户的日历)而将用户的可用性确定为“忙”。

搜索引擎126基于由搜索参数引擎124确定的搜索参数来搜索用户的日程数据154。在一些实施方式中,搜索用户的日程数据154可以包括搜索索引日历和/或用户的其他日程数据的一个或多个索引。搜索引擎126识别用户的日程数据154中的任何条目是否与搜索参数匹配,并且可选地识别那些条目的一个或多个属性。这样,通过搜索参数引擎自动提供搜索参数,使得用户不必提供搜索参数作为输入,从而简化了用户交互。

基于任何条目是否匹配搜索参数和/或那些条目的一个或多个属性,搜索引擎126确定用户对电子通信事件的可用性。例如,在没有用户的日程数据154的条目匹配搜索参数的情况下,搜索引擎126可以确定用户的可用性是“可用的”。而且,例如,在用户的日程数据154的一个或多个条目完全匹配搜索参数(例如,一个或多个条目指示用户在指定的整个时间段期间忙)的情况下,搜索引擎126可以确定用户的可用性是“不可用”。在那些情况的一些下,搜索引擎126还可以与用户的可用性一起包括与搜索参数匹配的用户的日程数据154的条目的一个或多个属性。例如,搜索引擎126可以确定包括“不可用”的指示的用户的可用性,并且可以与用户的可用性一起包括与搜索参数相匹配的条目的标题和/或用于与搜索参数匹配的条目的时间范围。

作为另一示例,在用户的日程数据154的一个或多个条目部分地匹配搜索参数(例如,一个或多个条目指示用户在指定的时间段的一部分期间忙)的情况下,搜索引擎126可以确定用户的可用性“潜在地不可用”。在那些情况中的一些情况下,搜索引擎126还可以与用户的可用性一起包括与搜索参数匹配的条目的属性的一个或多个。例如,搜索引擎126可以确定包括“潜在地不可用”的指示的用户的可用性,并且可以与用户的可用性一起包括其间用户不可用的一个或多个时间范围(例如,与一个或多个与指定的时间段部分匹配的条目相关联的一个或多个时间)。作为又一示例,在用户的日程数据154的条目完全匹配搜索参数但被指示为“暂定”或以其它方式“灵活”条目的情况下,搜索引擎126可以确定用户的可用性是“潜在地不可用”。在这些情况中的一些情况下,搜索引擎126还可以与用户的可用性一起包括与搜索参数匹配的条目的属性的一个或多个。

在一些实施方式中,搜索引擎126基于由搜索参数引擎124确定的搜索参数在搜索用户的日程数据154中发出多个搜索。例如,假设包括“1/1/16from11:00am-12:00pm(2016年1月1日,从11:00am-12:00pm)”的电子通信。在一些实施方式中,搜索参数引擎124可以生成搜索参数“1/1/16”、“11:00am-12:00pm”和“潜在冲突的”搜索参数“10:00am-11:00am”和“12:00pm-1:00pm”,以检查指定时间段内任何一方的潜在冲突。在这些实施方式中的一些中,搜索引擎126可以发出三个分立的搜索,例如:(1){“1/1/16”,“11:00am-12:00pm”},(2){“1/1/16”,“12:00pm-1:00pm”},以及(3){“1/1/16”,“10:00am-11:00am”}。如果搜索引擎126确定用户的日程数据154的条目都没有匹配任何搜索,则搜索引擎126可以确定用户的可用性是“可用的”。如果搜索引擎确定用户的日程数据154的条目与搜索(1)匹配,则搜索引擎126可以确定用户的可用性是“不可用”。如果搜索引擎确定用户的日程数据154的条目匹配搜索(2)或搜索(3),但是与搜索(1)不匹配,则搜索引擎126可以确定用户的可用性“潜在地不可用”。搜索引擎实现了可以自动确定用户的可用性,使得用户不必与各种日程数据源和各个应用例如日历应用交互,从而简化了用户交互。

搜索引擎126向回复内容引擎128和/或经训练的机器学习系统135提供用户对电子通信事件的可用性的指示以及可选地与搜索引擎126的搜索匹配的调度条目(如果有的话)的一个或多个属性的指示。回复内容引擎128确定包括在用户对电子通信的回复中的回复内容。回复内容可以例如包括响应于电子通信事件的一个或多个文本n元、对事件的日历邀请和/或发送给电子通信的发送者和/或其他接收者以确定事件的优选时间/日期的可用性轮询。

在各种实施方式中,回复内容引擎128基于由消息特征引擎122确定的一个或多个消息特征并基于由搜索引擎126提供的用户的可用性和/或日程数据的其他属性来确定回复内容。例如,回复内容引擎128可以在确定回复内容时直接利用消息特征和/或用户的可用性和/或其他日程数据,和/或可以利用来自经训练的机器学习系统135的输出,其中,输出基于消息特征和/或用户的可用性和/或其他日程数据。

作为一个示例,经训练的机器学习系统135可以被训练为作为输入接收一个或多个消息特征和/或与用户的可用性和/或其他日程数据相关的特征,并且作为输出提供一个或多个回复内容特征,其指示是否应提供回复内容和/或要提供的回复内容的内容。例如,经训练的机器学习系统135可以被训练为基于所接收的消息特征的输入和/或对用户可用性的指示来提供一个或多个特定的文本n元和/或文本n元的类别作为输出。

例如,经训练的机器学习系统135可以接收消息特征和与用户的可用性相关的特征作为输入,并且提供一个或多个特定文本n元作为输出(例如,“thattimeworksforme(那个时间适用于我)”),并且可选地为那些特定的文本n元评分。回复内容引擎128可以选择输出的特定文本n元中的一个或多个以用作回复内容。回复内容引擎128可以基于由经训练的机器学习系统135提供的可选分数来可选地选择特定文本n元和/或对特定文本n元进行排名(例如,用于确定那些n元的突出性)。

此外,例如,经训练的机器学习系统135可以接收消息特征和与用户的可用性相关的特征作为输入,并且提供与n元类别配对的一个或多个特定n元作为输出(例如,“the[eventtype]soundslikefun,butihaveaconflict([事件类型]听起来很有趣,但我有冲突)”、“soundsgood.howabout[availabletime]?(听起来不错。[可用时间]怎么样?”)),以及可选地对于与n元的类别配对的那些特定n元评分。回复内容引擎128可以基于一个或多个消息特征来确定用于填写n元类别的适当文本(例如,[eventtype]可以基于从“party”电子通信派生的事件消息特征用“party”填写)。回复内容引擎128可以利用特定n元使用填充文本作为回复内容。回复内容引擎128可以可选地基于由经训练的机器学习系统135提供的可选分数对多个填充或以其它方式生成的n元进行排名。

作为又一实例,经训练的机器学习系统135可以接收消息特征而不是与用户的可用性相关的特征作为输入,并且提供一个或多个文本n元类别作为输出(例如,“非正式确认回复”、“非正式的暂定回复”、“非正式拒绝回复”、“建议可用时间的确认回复”、“建议可用时间的暂定回复”)以及可选地这些文本n元类别的分数。回复内容引擎128可以利用用户的可用性来选择回复类别中的一个或多个和/或对回复类别进行排名,并确定符合所选回复类别的文本内容(例如,符合类别的由用户雕琢的先前的文本回复)。例如,如果用户的可用性是“潜在冲突的”,则回复内容引擎128可以利用该可用性来确定符合“非正式的暂定回复”的文本内容和/或利用该可用性来对符合该类别的文本内容比符合其他类别的文本内容更突出地进行排名。

作为另一示例,可以训练经训练的机器学习系统135以基于所接收的消息特征的输入和/或与用户可用性和/或其他日程数据相关的特征提供一个或多个指示是否应当提供回复内容的回复内容特征作为输出。

例如,经训练的机器学习系统135可以接收消息特征和用户的可用性和/或其他日程数据的指示作为输入,并且作为输出提供回复电子通信将包括日历邀请的可能性和/或回复电子通信将包括可用性轮询的可能性。回复内容引擎128可以基于由经训练的机器学习系统135提供的输出来确定是否和/或如何将日历邀请和/或可用性轮询包括在回复内容中。例如,如果输出是回复电子通信将包括日历邀请的可能性,则如果可能性满足阈值,回复内容引擎128可以确定将提供回复电子通信以自动包括在回复中,但是如果可能性不满足阈值则可能要求在提供日历邀请以包括在回复中之前提供用户接口输入。此外,例如,回复内容引擎128可以:如果可能性大于或等于x(例如,x=0.8),则确定在提供指示期望回复的任何用户接口输入之前提供要自动包括在回复中的日历邀请;如果可能性小于x且大于或等于y(例如,y=0.5),要求用户接口输入要求在提供日历邀请以包括在回复中之前提供用户接口输入;并且,如果可能性小于y,确定不应提供日历邀请以包括在回复中。

回复内容引擎128向呈现引擎129提供其确定包括在回复中的回复内容以及可选地指示应如何将其包括在回复中的数据。呈现引擎129提供要包括在回复电子通信中的回复内容,回复电子通信是用户对电子通信的回复。

提供包括在回复中的回复内容可以例如包括:嵌入回复内容,提供到回复内容的链接,提供回复内容的用户接口指示等。例如,呈现引擎129可以自动将日历邀请附加到回复和/或自动在回复中并入到日历邀请的链接。而且,例如,呈现引擎129可以呈现回复内容的一个或多个用户接口指示(例如,图形的、可听的),并且当生成回复的用户经由用户接口输入选择指示之一时,可以在回复中自动提供对应的回复内容。

在一些实施方式中,呈现引擎129在生成对电子通信的回复中独立于经由用户的计算设备提供的任何文本输入和/或其他内容提供回复内容。在那些实施方式中的一些实施方式中,回复内容引擎128在用户甚至查看或以其它方式消费通信之前确定回复内容。例如,回复内容系统120可以在用户查看之前处理通信,回复内容引擎128可以确定回复内容以包括在对通信的回复中,并且甚至在回复内容被用户查看之前将回复内容与电子通信附接或以其它方式相关联(例如,将回复内容附接到电子通信数据库152中的电子通信的条目)。

在一些实施方式中,呈现引擎129可以提供多个不同的回复内容选项以包括在回复中。例如,可以提供第一n元“sorry,butihaveaconflict(抱歉,但我有冲突)”和第二n元“soundsgood.i’llbethere(听起来不错。我会在那里)”。另外,例如,可以提供第一n元“soundsgood.i’llbethere”和日历邀请两者。在那些实施方式中的一些实施方式中,可以基于可选数据(由回复内容引擎128提供)来提供多个回复内容选项,该可选数据指示应该如何将其包括在回复中。例如,可以基于所述数据和为了潜在地包括在对电子通信的回复中提供的多个文档以及呈现突出性的指示来确定多个回复内容选项中的每个的呈现突出性。此外,例如,在回复内容引擎128基于日程数据提供一个或多个回复内容选项中的哪个最适合包括在回复中的一个或多个指示的情况下,呈现引擎129可以包括用于呈现的此类一个或多个指示的图形和/或文本表示以及一个或多个回复内容选项(例如,“基于你的日历选择”或“你的日历表示此事件的冲突”的文本指示)。

在其中由客户端设备106向回复内容系统120提供电子通信的一些实施方式中,呈现引擎129可以将回复内容提供给客户端设备106以呈现给用户作为包括在回复中的选项。在其中电子通信系统110经由电子通信数据库152向回复内容系统120提供电子通信的一些实施方式中,呈现引擎129可以将回复内容与电子通信的关联存储在电子通信数据库152和/或其他数据库中。在一些实施方式中,呈现引擎129的一个或多个(例如,所有)方面可以由客户端设备106和/或电子通信系统110实现。

呈现引擎129还可以提供具有所确定的回复内容的显示突出性信息,其指示应当呈现所选择的回复内容所使用的突出性(例如,位置、大小、颜色)。作为一个示例,在由呈现引擎129提供多个不同的回复内容选项的情况下,呈现引擎129可以提供那些多个回复内容选项的排名的指示,以用于确定应该经由客户端设备106的用户接口输出设备向用户提供呈现多个回复内容选项的顺序。呈现引擎129还可以提供用于与回复内容一起呈现的图形和/或文本表示,其指示基于日程数据确定回复内容(例如,“基于你的日历选择”或“你的日历表示你可以参加此事件”的文本指示。在一些实施方式中,呈现引擎129仅提供回复内容的一个或多个标识符以及潜在地突出性信息和/或指示基于日程数据确定回复内容的图形和/或文本表示,并且客户端设备106和/或电子通信系统110可以基于所提供的数据生成所选文档的显示。在一些实施方式中,呈现引擎129可另外提供生成显示所需的一些或全部数据。在那些实施方式中的一些实施方式中,可以将任何提供的突出性信息和/或图形和/或文本表示并入到指示应如何呈现显示的数据中。

图2示出了如何基于电子通信的一个或多个消息特征并基于用户的日程数据来确定回复内容如何包括在用户对电子通信的回复中。消息特征引擎122确定发送给用户的电子通信152a的一个或多个消息特征。电子通信152a可以由例如图1的客户端设备106或电子通信系统110提供。

消息特征引擎122向搜索参数引擎124提供所确定的消息特征中的一个或多个,并将所确定的消息特征中的一个或多个提供给经训练的机器学习系统135和回复内容引擎128。由消息特征引擎122提供给搜索参数引擎124、回复内容引擎128和/或经训练的机器学习系统135的消息特征可以是相同的,或者可以是不同的。

搜索参数引擎124基于由消息特征引擎122提供的一个或多个消息特征而生成用于搜索用户的日程数据154的一个或多个搜索参数。例如,消息特征引擎122可以向搜索参数引擎124至少提供消息特征的时间n元和/或事件n元,并且搜索参数引擎124可以基于时间和/或事件n元生成一个或多个搜索参数。以这种方式,自动提供搜索参数,使得用户不必提供搜索参数作为输入,从而简化了用户交互。

搜索引擎126基于由搜索参数引擎124确定的搜索参数来搜索用户的日程数据154。搜索引擎126识别用户的日程数据154中的任何条目是否与搜索参数匹配并且可选地识别这些条目的一个或多个属性。基于任何条目是否匹配搜索参数和/或那些条目的一个或多个属性,搜索引擎126确定用户对电子通信的事件的可用性。

搜索引擎126向回复内容引擎128和/或经训练的机器学习系统135提供:用户对电子通信事件的可用性的指示;以及,可选地与搜索引擎126的一个或多个搜索匹配的调度条目(如果有的话)的一个或多个属性。

经训练的机器学习系统135可以被训练为作为输入接收一个或多个消息特征和/或与用户的可用性和/或其他日程数据相关的特征,并且作为输出提供一个或多个回复内容特征,其指示是否应该提供回复内容和/或要提供的回复内容的内容。例如,经训练的机器学习系统135可以被训练为基于所接收的消息特征的输入和/或对用户可用性的指示来提供一个或多个特定的文本n元和/或文本n元的类别作为输出。

回复内容引擎128确定回复内容以包括在用户对电子通信的回复中。回复内容可以例如包括响应于电子通信事件的一个或多个文本n元、对事件的日历邀请和/或被发送给电子通信的发送者和/或其他接收者以确定事件的优选时间/日期的可用性轮询。

在各种实施方式中,回复内容引擎128基于由经训练的机器学习系统135提供的回复内容特征,并且可选地基于由消息特征引擎122提供的一个或多个消息特征和/或基于用户的可用性和/或搜索引擎126提供的日程数据的其他属性来确定回复内容。

呈现引擎129提供回复内容159以包括在回复电子通信中,该回复电子通信是用户对电子通信的回复。提供要包括在回复中的回复内容可以例如包括:在回复中自动填充回复内容;提供回复内容的用户接口指示,其当被选择时,在回复中填充回复内容,等等。这具有优点是,无需用户交互即可自动生成回复消息的某些部分。这导致在建立回复电子通信时代表用户提供的输入的减少的量。

图3是示出了基于电子通信的一个或多个消息特征并基于用户的日程数据确定要包括在用户对电子通信的回复中的回复内容的示例方法的流程图。为方便起见,参考执行操作的系统来描述流程图的操作。该系统可以包括各种计算机系统的各种组件。例如,一些操作可以由回复内容系统120的诸如引擎122、124、126、128和/或129的一个或多个组件执行。此外,当以特定顺序示出图3的方法的操作时,这不意味着限制。可以重新排序、省略或添加一个或多个操作。

在框300处,系统识别发送给用户的电子通信。

在框302处,系统确定与电子通信的事件相关联的时间指示。

在框304处,系统基于框302的时间指示来搜索用户的日程数据。

在框306处,系统基于框304的搜索来确定用户的可用性。

在框306处,系统确定电子通信的一个或多个附加消息特征。可以利用各种消息特征,例如文本、语义和/或句法特征。例如,系统可以基于电子通信中的一个或多个n元、电子通信中的两个或更多个n元的共同出现、基于在主题、第一句、最后一句或电子通信的其他部分中具体出现的一个或多个n元的特征、基于电子通信的元数据的特征等来确定消息特征。

在框310处,系统基于框306的用户的可用性并基于框308的一个或多个附加消息特征来确定回复内容。

在框312,系统提供回复内容以包括在回复电子通信中,该回复电子通信是用户对电子通信的回复。

图4a-4c示出了用于提供回复内容以包括在对电子通信的回复中的示例图形用户接口。可以基于由回复内容系统120确定和提供的回复内容在客户端设备106处呈现图4a-4c的图形用户接口。在一些实施方式中,回复内容系统120的一个或多个方面(例如,呈现引擎129的所有或多个方面)可以全部或部分地并入在客户端设备106中。

在图4a中,在用户提供任何用户接口输入以指示回复原始电子邮件475a的期望之前,用户正在查看已发送给用户的原始电子邮件475a。由图形用户接口元素481a、482a和483a表示的回复内容选项被呈现以包括在对电子邮件的回复中,并且当经由用户接口输入选择时,被包括在回复中。例如,用户对图形用户接口元素481a的选择可以自动向用户呈现包括并入回复电子邮件的正文中的n元“thanksfortheinvite,butihaveaconflict(感谢邀请,但是我有冲突)”的可编辑的回复电子邮件。同样地,用户对图形用户接口元素482a的选择可以自动地向用户呈现包括并入回复电子邮件的正文中的n元“soundslikefun,butcan’tmakeit(听起来很有趣,但是做不到)”的可编辑的回复电子邮件。

在图4a中,基于原始电子邮件475a并基于原始电子邮件475a被发送到的用户的日程数据来确定由图形用户接口元素481a、482a和483a表示的回复内容选项。在图4a的示例中,用户的日程数据包括标题为“soccergame(足球比赛)”的预先存在的条目,其被安排在“tomorrownight(明天晚上)”从6:30-8:00。基于日程数据和原始电子邮件475a,可以适当确定“拒绝回复”图形用户接口元素481a、482a和483a以提供给用户。

作为一个示例,可以作为输入向图1的经训练的机器学习系统135提供原始电子邮件475a的一个或多个消息特征,并且经训练的机器学习系统135作为输出可以提供“确认回复”、“暂定回复”和“拒绝回复”是基于消息特征的适当响应的指示。图1的回复内容引擎128可以利用该输出和用户的日程数据来确定“拒绝回复”是合适的。例如,回复内容引擎128可以基于用户的日程数据确定用户不可用,并且由于用户不可用,仅选择拒绝回复或确定应当更突出地提供拒绝回复。由图形用户接口元素481a、482a和483a表示的特定拒绝回复可以由回复内容引擎128从拒绝回复的数据库诸如用户的过去拒绝回复中选择。注意,由图形用户接口元素481a表示的拒绝回复包括与原始电子邮件475a的事件冲突的用户的日程数据的条目的标题(“soccergame”)。该标题可以被回复内容引擎128填充到数据库的拒绝回复之一的“冲突事件”类别中。

作为另一示例,可以将原始电子邮件475a的一个或多个消息特征和用户的日程数据的“不可用”特征作为输入提供给图1的经训练的机器学习系统135,并且经训练的机器学习系统135可以提供“thanksfortheinvite,butihaveaconflict(感谢邀请,但我有冲突)”、“soundslikefun,butcan'tmakeit(听起来很有趣,但做不到)”和“thanksfortheinvite,butihavea[conflictingeventtitle](感谢邀请,但我有一个[冲突事件标题])”作为输出。图1的回复内容引擎128可以利用该输出来生成由图形用户接口元素481a、482a和483a表示的特定拒绝回复。注意,“[conflictingeventtitle]”类别可以由回复内容引擎128用“soccergame”填充。在一些实施方式中,可以结合指示基于用户的日程数据(例如,“基于你的日历选择”或“你的日历表示该事件的冲突”的文本指示)选择这些元素的用户接口元素481a、482a和483a呈现图形和/或文本表示。

在图4b中,用户已经提供了用户接口输入(例如,选择“reply(回复)”图形用户接口元素)以发起对原始电子邮件的回复,并且被呈现有回复部分480b,其包括向用户指示用户可以在回复部分480b中撰写回复的幻影文本“composeemail(撰写电子邮件)”。回复所响应于的原始电子邮件475b也在图4b中示出,用于用户在生成回复中参考。

图形用户接口元素481b、482b和483b在图4b中呈现,以包括在基于原始电子邮件475b并基于用户的日程数据(例如,如上面关于图4a所述)确定的相关文本n元的回复中。在用户提供用于回复的任何文本输入或其他内容之前呈现图形用户接口元素481b、482b和483b。图4b的原始电子邮件475b与图4a的原始电子邮件475a相同,并且图4b的图形用户接口元素481b、482b和483b与图4a的图形用户接口元素481a、482a和483a相同。在一些实施方式中,可以如上面引用图4a所述确定图4b的图形用户接口元素481b、482b和483b。

在图4c中,在用户提供任何用户接口输入以指示回复原始电子邮件475c的期望之前,用户正在查看已发送给用户的原始电子邮件475c。图4c的原始电子邮件475c与图4a和4b的原始电子邮件475a和475b相同。然而,在图4c的示例中,用户的日程数据不包括“tomorrownight(明天晚上)”的冲突。

在图4c中,基于原始电子邮件475c并基于用户的日程数据确定由图形用户接口元素481c、482c、483c、484c和485c表示的回复内容选项。基于日程数据和原始电子邮件475c,“具有时间请求的确认回复”图形用户接口元素481a和482a可以被确定为适合于提供给用户,并且可以被确定为适合于比“拒绝回复”图形用户接口元素483c更突出地提供。此外,可以基于日程数据和原始电子邮件475c适当地确定图形用户接口元素484c和485c。在一些实施方式中,可以结合用户接口元素481c和482c呈现图形和/或文本表示,其指示基于用户的日程数据选择那些元素(例如,“基于你的日历选择”或“你的日历指示你明天晚上有空”的文本指示)。

当经由用户接口输入选择图形用户接口元素484c时,可以针对“tomorrow(明天)”在“7:00pm”以标题“dinner(晚餐)”生成邀请。响应于该选择,邀请可以被包括在回复中(例如,附加到回复的邀请和/或到在回复中嵌入的邀请的链接),并且可以被发送到原始电子邮件475c的发送者(tom@exampleurl.com)和/或原始电子邮件475c的其他接收者(spike@exampleurl.com)。当经由用户接口输入选择图形用户接口元素485c时,可以基于用户的日程数据生成可用性轮询,其包括如日程数据所示的其间用户可用的个可选时间。响应于该选择,可用性轮询可以包括在回复中(例如,附加到回复的可用性轮询和/或到在回复中嵌入的可用性轮询的链接),并且可以被发送到原始电子邮件475c的发送者(tom@exampleurl.com)和/或原始电子邮件475c的其他接收者(spike@exampleurl.com)。基于发送者和/或其他接收者的选择,可以确定优选的日期/时间,并且可以可选地生成进一步的回复,该回复是对优选日期/时间的邀请。

在一些实施方式中,在回复中包括邀请或可用性轮询包括仅在回复中包括邀请或可用性轮询。在一些其他实施方式中,在回复中包括邀请或可用性轮询包括将它们与回复中的其他内容一起包括在内。例如,在一些实施方式中,可以利用用户接口输入来选择图形用户接口元素481c并选择图形用户接口元素484c,从而生成包括n元“countmein(算我一个)”并包括邀请的回复。

作为确定由图形用户接口元素481c、482c和483c表示的回复内容的一个示例,可以提供原始电子邮件475c的一个或多个消息特征作为对图1的经训练的机器学习系统135的输入,并且经训练的机器学习系统135可以提供“具有时间请求的确认回复”、“具有时间请求的暂定回复”和“拒绝回复”是基于消息特征的适当响应的指示作为输出。图1的回复内容引擎128可以利用该输出和用户的日程数据来确定“具有时间请求的确认回复”是最合适的。例如,回复内容引擎128可以基于用户的日程数据确定用户可用,并且,作为用户可用性的结果,确定具有时间请求的确认回复“yes.whattime?(好。什么时间?)”和“"countmein.whattime?(算我一个。什么时间?)”应该比拒绝回复“sorryican't(对不起,我不能)”更突出地提供。由图形用户接口元素481c、482c和483c表示的具有时间请求的特定确认回复可以由回复内容引擎128从拒绝回复的数据库中选择,例如,用户的具有时间请求的过去确认回复。注意,如果原始电子邮件475c包括指定时间(例如,“spikeandiaregoingtodinnertomorrownightat7:00.wanttojoinus?(spike和我明天晚上7点将要去吃饭。想要加入我们吗?)”),则机器学习系统135可以基于原始电子邮件475c的消息特征确定“确认回复”是合适的,而不是“具有时间要求”的确认回复。

作为确定由图形用户接口元素484c和485c表示的回复内容的一个示例,可以提供原始电子邮件475a的一个或多个消息特征作为对图1的经训练的机器学习系统135的输入(与上述示例中引用的相同的系统,或者单独经训练的系统),并且经训练的机器学习系统135可以作为输出提供“邀请用户的空闲时间”和“可用性轮询”是基于消息功能的适当响应的指示。图1的回复内容引擎128可以利用该输出以及用户和可选地其他用户(当访问可用时)的日程数据,以确定用户和/或其他用户明天在7:00可参加晚餐——并且基于可用性生成由图形用户接口元素484c表示的邀请。在一些实施方式中,回复内容引擎128还可以基于指示7:00是受欢迎的晚餐时间的用户和/或其他用户的用户历史数据将7:00确定为适当的时间。注意,如果原始电子邮件475c包括指定时间(例如,“spikeandiaregoingtodinnertomorrownightat7:00.wanttojoinus?(spike和我明天晚上7点将要去吃饭。想要加入我们吗?)”),则邀请可以是针对那个指定时间。图1的回复内容引擎128还可以利用机器学习系统135的输出和用户的日程数据来确定用户的一个或多个空闲时间以包括为在由图形用户接口元素485c表示的可用性轮询中的选项。

图5示出了用于提供回复内容以包括在对电子通信的回复中的另一示例图形用户接口。可以基于由回复内容系统120确定和提供的回复内容在客户端设备106处呈现图5的图形用户接口。在图5中,用户已经提供了用户接口输入(例如,选择“回复”图形用户接口元素)以发起对原始电子邮件的回复,并且被呈现有回复部分580,其包括向用户指示用户可以在回复部分580中撰写回复的幻影文本“composeemail”。回复所响应于的原始电子邮件575也在图5中示出,用于用户在生成回复中参考。呈现由图形用户接口元素581、582和583表示的回复内容选项以包括在对电子邮件的回复中,并且当经由用户接口输入被选择时,包括在回复中。

在图5中,基于原始电子邮件575并基于用户的日程数据确定由图形用户接口元素581、582和583表示的回复内容选项。在图5的示例中,用户的日程数据表示用户在“tomorrownight(明天晚上)”5:30之后可用。基于日程数据和原始电子邮件575,可以确定“具有时间建议的回复”图形用户接口元素581、582和583适合于提供给用户。

作为一个示例,可以提供原始电子邮件575的一个或多个消息特征作为对于图1的经训练的机器学习系统135的输入,并且经训练的机器学习系统135可以提供“具有时间建议的回复”、“具有时间建议的临时回复”和“拒绝回复”是基于消息特征的适当响应的指示作为输出。图1的回复内容引擎128可以利用该输出和用户的日程数据来确定“具有时间建议的回复”是合适的。可以由回复内容引擎128基于由用户和可选的其他用户的日程数据(当访问可用时)指示的可用时间,并且可选地基于指示建议的时间是受欢迎的晚餐时间的用户和/或其他用户的历史数据来确定由图形用户接口元素581、582和583表示的特定回复。

作为另一示例,可以将原始电子邮件575的一个或多个消息特征和用户的日程数据的“可用”特征作为输入提供给图1的经训练的机器学习系统135,并且经训练的机器学习系统135可以提供由图形用户接口元素581、582和583表示的特定n元的全部或部分作为输出。例如,经训练的机器学习系统135作为输出可以提供“i'mfreeafter[endtimeoflastevent](在[最后一次事件的结束时间]之后我有空)”、“howabout[availabletime]?([可用时间]怎么样?)”。图1的回复内容引擎128可以利用该输出来生成图形用户接口元素581、582和583。

现在转向图6-8,提供了对图1和2的至少一个例如可以在关于图1-5描述的各种装置和方法中使用的经训练的机器学习系统135进行训练的附加描述。

图6示出了其中可以分析电子通信以生成用于训练机器学习系统以基于一个或多个消息特征和一个或多个日程数据特征的输入生成一个或多个回复内容特征的输出的训练示例并且其中可以基于训练示例训练机器学习系统的示例环境。

图6的示例环境包括电子通信系统110、电子通信数据库152和图1的一个或多个用户的日程数据154。图6的示例环境还包括机器学习系统135a,其表示处于其未经训练的状态的图1的至少一个经训练的机器学习系统135。图6的示例环境还包括选择引擎130和训练示例系统140。

选择引擎130、训练示例系统140和机器学习系统135a均可以在例如通过网络进行通信的一个或多个计算设备中实现。选择引擎130、训练示例系统140和机器学习系统135a是其中可以实现本文描述的系统、组件和技术和/或本文描述的系统、组件和技术可以与之接口连接的示例系统。选择引擎130、训练示例系统140和机器学习系统135a每个包括用于存储数据和软件应用的一个或多个存储器、用于访问数据和执行应用的一个或多个处理器以及促进通过网络进行通信的其他组件。在一些实施方式中,选择引擎130和训练示例系统140可以包括图9的示例计算设备的一个或多个组件。由选择引擎130、训练示例系统140和/或机器学习系统135a执行的操作可以分布在多个计算设备上。在一些实施方式中,选择引擎130、训练示例系统140和/或机器学习系统135a的一个或多个方面可以组合在单个计算设备中。

通常,在一些实施方式中,训练示例系统140在没有直接人类访问的情况下利用电子通信数据库152的过去电子通信以及可选地关联的日程数据154来生成用于训练机器学习系统135a的训练示例。可以生成训练示例以训练机器学习系统135a以学习在下述部分之间的关系:(1)“原始”消息的一个或多个消息特征,可选地结合与那些原始消息的接收者的日程数据相关的特征的;以及,(2)与接收者对这些原始消息的“回复”中的回复内容相关的一个或多个特征。

例如,在一些实施方式中,机器学习系统135a可以被训练以确定原始消息的消息特征结合接收者的日程数据的特征与由有具有那些特征的日程数据的接收者对具有那些消息特征的电子通信的回复包括邀请、可用性轮询和/或对邀请和/或可用性轮询的链接的可能性之间的关系。而且,例如,在一些其他实施方式中,机器学习系统135a可以被训练以确定原始消息的消息特征结合接收者的日程数据的特征与由有具有那些特征的日程数据的接收者对具有那些消息特征的电子通信的回复中包括的一个或多个n元和/或n元的类别之间的关系。

在一些实施方式中,选择引擎130可以基于一个或多个判据选择训练示例系统140利用的通信,以生成用于训练机器学习系统135a的训练示例。例如,选择引擎130可以将电子通信数据库152的某些通信标记或以其它方式注释为适合于由训练示例系统140利用的那些通信。在一些实施方式中,选择引擎130可以基于包括“原始”消息和响应于原始消息的“回复”消息的那些电子通信选择被利用的电子通信。如本文所述,包括原始消息和回复消息的电子通信可以是单个文档和/或彼此映射的多个文档。

在一些实施方式中,选择引擎130可以基于那些包括具有特定回复内容的回复例如邀请、可用性轮询、到邀请和/或可用性轮询的链接、一个或多个n元等的电子通信,选择被用来用于训练机器学习系统135a的训练示例的电子通信。在一些实施方式中,选择引擎130可以选择基于那些电子通信而使用的电子通信,那些电子通信包括由其日程数据可用(例如,经由日程数据154可用)的接收者的“回复”消息。

在一些实施方式中,选择引擎130可以基于那些电子通信是事件通信选择利用的电子通信。例如,选择引擎130和/或其他引擎可以基于其包括包含引用人、地点、日期和/或时间的“原始”消息,确定电子通信是事件通信。在这些实施方式中的一些中,选择引擎130可以包括分类器和/或其他机器学习系统,或者与分类器和/或其他机器学习系统通信,该分类器和/或其他机器学习系统基于电子通信的特征确定电子通信与事件有关的可能性——并且可以确定其可能性满足阈值的那些电子通信是事件电子通信。

在一些实施方式中,选择引擎130可以采用一种或多种技术来减少在生成训练示例中使用的某些类型的通信的发生。例如,在数据库152包括电子邮件的情况下,选择引擎130可以采用技术来过滤掉可能来自企业的电子邮件。例如,可以过滤掉来自某些电子邮件地址的电子邮件、来自具有某些域名的电子邮件地址的电子邮件、来自具有某些前缀的电子邮件地址的电子邮件、具有在主题行中的某些n元的电子邮件等。此外,例如,可以过滤掉符合某些商业模板的电子邮件。此外,例如,可能过滤掉可能是垃圾邮件的电子邮件。在一些实施方式中,选择引擎130基于与通信和/或通信的发送者和/或接收者相关联的其他一个或多个属性来选择电子通信。例如,如果期望确定特定地理区域和/或域的关系,则可以选择与该地理区域和/或域相关联的通信。

在各种实施方式中,训练示例系统140包括原始消息特征确定引擎142、回复内容特征确定引擎144和日程数据特征引擎146。在一些实施方式中,可以在与训练示例系统140分离的组件中省略、组合和/或实现引擎142、144和/或146的所有或多个方面。例如,在一些实施方式中,可以省略日程数据特征引擎146,并且生成训练示例以训练机器学习系统作为输入接收一个或多个消息特征(而不是任何日程数据),并作为输出提供回复内容的一个或多个特征。

通常,原始消息特征确定引擎142、回复内容特征确定引擎144以及可选地日程数据特征引擎146协同工作并确定多个训练示例,每个训练示例基于多个具有原始消息和回复消息的电子通信中的对应一个。对于具有原始消息和回复消息的给定电子通信,原始消息特征确定引擎142基于给定电子通信的原始消息确定原始消息特征的向量,并且回复内容特征确定引擎144基于给定电子通信的回复消息确定回复内容的一个或多个特征的向量。

在训练示例中包括的原始消息特征的向量和回复内容的一个或多个特征的向量将取决于机器学习系统135a的实施方式的期望的输入参数和期望的一个或多个输出参数。例如,假设正在训练机器学习系统135a作为输出提供对电子通信的回复将包括邀请和/或到邀请的链接的可能性。在这种情况下,回复内容特征确定引擎144可以生成训练示例,每个训练示例包括是“真”(包括邀请和/或到邀请的链接)或“假”(不包括邀请和/或到邀请的链接)的单个特征的一个或多个回复内容特征的向量。

作为另一示例,假设机器学习系统135a正在被训练以作为输出提供:针对一个或多个n元类别(例如,语义类别)中的每个而言,电子通信的回复消息将包括该类别的对应的可能性。例如:1)对电子通信的回复包括“确认回复”的可能性;2)对电子通信的回复包括“拒绝回复”的可能性;3)对电子通信的回复包括“具有时间建议的确认回复”的可能性;4)对电子通信的回复包括“具有冲突事件的指示的拒绝回复”的可能性;等等。在这种情况下,回复内容特征确定引擎144可以生成训练示例,每个训练示例包括多个回复内容特征的向量,每个回复内容特征是“真”(包括该类别的n元)或“假”(不包括该类别的n元)。

在一些实施方式中,回复内容特征确定引擎144可以基于基于这些电子通信的回复消息的相似性将电子通信分组为多个群集来确定回复消息的一个或多个语义类别,并基于群集确定语义类别。在那些实施方式中的一些实施方式中,回复内容特征确定引擎144基于语料库的电子通信的回复消息的文本之间的相似性诸如语义、句法和/或文本相似性将电子通信分组为多个群集。通常,在给定群集中分组的电子通信的回复消息相对于类似于在其他群集中分组的回复消息将彼此更加相似(基于在分组中使用的相似性)。每个确定的群集可以是回复消息的不同语义类别的内容。在一些实施方式中,在将电子通信分组为多个群集中,回复内容特征确定引擎144可以基于在回复消息之间的相似性度量使用一个或多个聚类算法。例如,在一些实施方式中,可以利用x均值聚类,其中,在回复消息之间的距离基于原始消息之间的相似性度量。通常,x均值聚类是一种无监督的方法,用于找到用于k均值聚类的理想k。通常,k均值聚类旨在将观察分成多个组,每个观察包括在与其最相关的组中。可以可选地使用附加和/或替选的聚类技术。

原始消息特征确定引擎142可以确定各种原始消息特征,诸如基于句法、语义、n元和/或元数据的特征。例如,一个或多个原始消息特征可以指示特定n元是否存在于原始消息的一个或多个位置中,或者是否在原始消息的一个或多个位置中存在特定类别的n元的任何n元。n元的类别可以是例如具有类似语义含义的一组n元。作为另一示例,原始消息特征可以指示原始电子邮件的接收者的数量,诸如“一”、“二到五”或“五或更多”。作为又一示例,原始消息特征可以指示原始消息的一个或多个部分的语义特征,诸如原始消息的主题的语义特征、原始消息的正文的全部或部分等。

如本文所述,在一些实施方式中,训练示例的原始消息特征可以基于生成回复消息的用户的日程数据与一个或多个特征配对,由回复内容特征确定引擎142为该回复消息确定对应的回复内容特征。例如,对于给定的电子通信,原始消息特征引擎142可以基于电子通信的原始消息确定一个或多个消息特征,回复内容特征确定引擎144可以基于电子通信的回复消息确定一个或多个回复内容特征,并且日程数据特征引擎146可以基于生成电子通信的回复消息的用户的日程数据154来确定一个或多个日程数据特征,其中,该日程数据与原始消息的事件相关。例如,日程数据特征引擎146可以基于生成回复以参加原始消息的事件的用户的可用性来确定日程数据特征,其中,该可用性指示在创作回复消息时的可用性(例如,基于他们本身不引用原始消息的事件的用户的日程数据条目)。消息特征和日程数据特征可以用作训练示例的输入特征,并且回复内容特征可以用作训练示例的输出特征。

可以由日程数据特征引擎146确定各种日程数据特征。例如,日程数据特征可以指示用户对于原始消息的事件是“可用”、“不可用”还是“潜在地不可用”。而且,例如,日程数据特征可以指示与原始消息的事件冲突或可能冲突的日程数据条目的属性。该属性可以是例如日程数据条目的标题、日程数据条目的持续时间、日程数据条目的类别等。在一些实施方式中,日程数据特征引擎146可以通过基于与原始消息的事件相关联的时间指示(即,指示日期和/或时间)搜索用户的日程数据154确定用户对于原始消息和/或其他日程数据特征的事件的可用性。例如,可以基于用户日程数据是否指示用户在与事件相关联的日期和/或时间期间或附近具有已经安排的事件来确定用户可用性。

由训练示例系统140为机器学习系统135a生成的训练示例被提供给机器学习系统135a以训练机器学习系统135a。在训练期间,机器学习系统135a基于训练示例系统140生成的训练示例迭代地学习特征表示的层次。

现在转向图7,提供了下述如何基于电子通信生成训练示例并且使用训练示例来训练机器学习系统以基于一个或多个消息特征和一个或多个日程数据特征的输入生成一个或多个回复内容特征的输出的示例。选择引擎130可以基于一个或多个判据选择来自电子通信数据库152的通信,该通信将用于生成用于训练机器学习系统135a的训练示例。例如,选择引擎130可以基于以下内容选择电子通信:包括“原始”消息和响应于原始消息的“回复”消息的那些电子通信;包括由其日程数据可用(例如,经由日程数据154可用)的接收者的接收者提供的“回复”消息的那些电子通信;和/或可能与事件有关的那些电子通信。

对于电子通信的给定电子通信,原始消息特征确定引擎142基于给定电子通信的原始消息确定原始消息特征的向量,并且包括作为对应的训练示例145的输入特征145a的原始消息特征。

回复内容特征确定引擎144基于给定电子通信的回复消息确定一个或多个回复内容特征的向量,并且包括作为对应训练示例145的输出特征145b的回复内容特征。

日程数据特征引擎146基于生成回复消息并且在时间上与原始消息的事件相关的用户的日程数据154来确定一个或多个日程数据特征的向量。日程数据特征引擎146包括作为训练示例145的输入特征145a的附加输入特征的日程数据特征。

训练示例145用于训练机器学习系统135a。尽管在图7中仅示出了单个训练示例145,但是可以理解,引擎142、144和146将生成多个训练示例(每个示例基于对应的电子通信)和用于训练机器学习系统135a的多个训练示例。

作为图7的一个特定实施方式,训练示例145和所有附加训练示例可每个具有:输出参数,该输出参数指示多个n元的语义类别中的哪一个包括在对应的电子通信的回复消息中:以及,一个或多个输入参数,其基于对应的电子通信的原始消息,并基于生成对应的电子通信的回复消息的用户的日程数据。例如,回复内容特征确定引擎144可以基于包括“icanmakeit.howabout7:30?(我可以做到。7:30如何?)”的回复消息来生成用于第一训练示例的输出的回复内容特征,该输出包括“确认回复,具有时间建议”的语义类别的指示。原始消息特征确定引擎142可以基于对应的原始消息生成原始消息特征作为第一训练示例的输入。原始消息特征可以包括例如原始消息的一个或多个基于句法、语义和/或n元的特征。日程数据特征引擎146可以基于生成回复消息的用户的日程数据生成用户的“可用”可用性作为第一训练示例的进一步输入。

此外,例如,回复内容特征确定引擎144可以基于包括“sorry,can'tmakeit(抱歉,做不到)”的回复消息来生成包括“拒绝回复”的语义类别的指示的第二训练示例的输出的回复内容特征。原始消息特征确定引擎142可以基于对应的原始消息生成作为第一训练示例的输入的原始消息特征。作为第一训练示例的进一步输入,日程数据特征引擎146可以基于生成回复消息的用户的日程数据生成用户的“不可用”可用性。

可以类似地生成附加训练示例,包括附加示例,每个附加示例具有基于n元的其他语义类别的输出特征。可以基于训练示例训练机器学习系统。经训练的机器学习系统可以作为输入接收原始消息的一个或多个特征和与原始消息的事件有关的用户的日程数据,并且作为输出提供n元的一个或多个语义类别和可选地相关联的可能性以包括在对原始消息的回复中。

图8是示出生成训练示例并使用训练示例来训练机器学习系统以基于一个或多个消息特征和一个或多个日程数据特征的输入生成一个或多个回复内容特征的输出的示例方法的流程图。为方便起见,参考执行操作的系统来描述流程图的操作。该系统可以包括各种计算机系统的各种组件。例如,可以由图6的训练示例系统140和/或机器学习系统135a的一个或多个组件执行一些操作。而且,虽然以特定顺序示出图8的方法的操作,这不意味着限制。可以重新排序、省略或添加一个或多个操作。

在框800处,系统识别事件电子通信,每个事件电子通信包括原始消息和回复消息。

在框802处,系统基于电子通信之一的原始消息和与生成对应回复消息的用户相关联的用户可用性来生成训练示例的输入特征。

在框804处,所述系统基于与电子通信的回复消息相关联的回复内容来生成训练示例的一个或多个输出特征。例如,在一个实施方式中,一个或多个输出特征可以是“真”或“假”,并且如果回复消息包括邀请和/或到邀请的链接则为真,并且否则为假。而且,例如,在另一实施方式中,所述一个或多个输出特征可以包括多个特征,每个特征是“真”或“假”,并且每个特征都指示回复消息是否包括特定的语义和/或其他类别的n元。例如,第一特征可以指示“确认回复”,第二特征可以指示“拒绝回复”,等等。

在框806处,所述系统基于训练示例训练机器学习系统。

尽管相对于单个训练示例描述图8的方法,但是应当理解,可以迭代地执行一个或多个步骤(例如,框802、804和806)以确定多个训练示例并基于该多个训练示例训练机器学习系统。

在这里描述的系统收集关于用户的个人信息或者可以利用个人信息的情况下,可以向用户提供下述机会:控制程序或特征是否收集用户信息(例如,关于用户的社交网络、一个或多个社交活动、专业、用户的偏好或用户的当前地理位置的信息),或控制是否和/或如何从内容服务器接收可能与用户更相关的内容。而且,某些数据可以在其被存储或使用之前以一种或多种方式被处理,从而移除个人可识别信息。例如,可以处理用户的身份,以便不能为用户确定个人可识别信息,或者可以在获得地理位置信息的情况下一般化用户的地理位置(例如,到城市、邮政编码或州的级别),因此无法确定用户的特定地理位置。因此,用户可以控制如何收集关于用户的信息和/或使用该信息。

图9是示例计算设备910的框图。计算设备910通常包括至少一个处理器914,其经由总线子系统912与多个外围设备通信。这些外围设备可以包括:存储子系统924,包括例如存储器子系统925和文件存储子系统926;用户接口输出设备920;用户接口输入设备922;以及,网络接口子系统916。输入和输出设备允许用户与计算设备910交互。网络接口子系统916提供到外部网络的接口并且耦合到其他计算设备中的对应接口设备。

用户接口输入设备922可以包括键盘、诸如鼠标、轨迹球、触摸板或图形输入板的指示设备、扫描仪、并入显示器中的触摸屏、诸如语音识别系统的音频输入设备、麦克风和/或其他类型的输入设备。通常,术语“输入设备”的使用旨在包括所有可能的设备类型和将信息输入计算设备910或通信网络的方式。

用户接口输出设备920可以包括显示子系统、打印机、传真机或诸如音频输出设备的非可视显示器。显示子系统可包括阴极射线管(crt)、诸如液晶显示器(lcd)的平板设备、投影设备或用于产生可见图像的某种其他机构。显示子系统还可以例如通过音频输出设备提供非可视显示。通常,术语“输出设备”的使用旨在包括所有可能类型的设备以及将信息从计算设备910输出到用户或另一机器或计算设备的方式。

存储子系统924存储编程和数据构造,其提供本文描述的一些或所有模块的功能。例如,存储子系统924可以包括执行图3和/或图8的方法的所选方面的逻辑。

这些软件模块通常由处理器917单独执行或与其他处理器组合执行。存储子系统中使用的存储器925可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(ram)930和存储固定指令的只读存储器(rom)932。文件存储子系统926可以为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、cd-rom驱动器、光学驱动器或可移动介质盒。实现某些实现的功能的模块可以由文件存储子系统926存储在存储子系统927中,或者存储在一个或多个处理器917可访问的其他机器中。

总线子系统912提供用于使计算设备910的各种组件和子系统按预期彼此通信的机制。虽然总线子系统912被示意性地示为单条总线,但是总线子系统的替代实施方式可以使用多条总线。

计算设备910可以是各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器群或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图9中描绘的计算设备910的描述仅旨在作为用于说明一些实施方式的目的的特定示例。计算设备910的许多其他配置可能具有比图9中描绘的计算设备更多或更少的组件。

在以下示例中总结了另外的实施方式:

示例1:一种计算机实现的方法,包括:由一个或多个计算设备识别发送给用户的电子通信;由所述计算设备的一个或多个确定与所述电子通信的事件相关联的时间指示,所述时间指示至少识别与所述事件相关联的时间或日期;由所述计算设备的一个或多个基于所述时间指示搜索用户的日程数据;由所述计算设备的一个或多个并且基于所述搜索确定针对所述事件所述用户的可用性;由所述计算设备的一个或多个确定所述电子通信的一个或多个附加消息特征,所述附加消息特征是对所述时间指示的添加;由所述计算设备的一个或多个基于所述用户的所述可用性并基于所述一个或多个附加消息特征,生成文本回复内容,所述文本回复内容包括未包括在所述电子通信中的一个或多个n元;以及,由所述计算设备的一个或多个提供所述文本回复内容以包括在回复电子通信中,所述回复电子通信是所述用户对所述电子通信的回复。

示例2:示例1的计算机实现的方法,其中,搜索所述用户的所述日程数据独立于在生成所述回复电子通信时经由所述用户的计算设备提供的任何文本输入而发生,其中,所述用户的所述计算设备是所述计算设备之一或者是对所述计算设备的添加。

示例3:示例1或2的计算机实现的方法,其中,提供所述文本回复内容以包括在回复电子通信中独立于在生成所述回复电子通信时经由所述计算设备提供的任何文本输入而发生。

示例4:示例1至3之一的计算机实现的方法,其中,确定与所述电子通信的所述事件相关联的所述时间指示包括:基于所述电子通信的一个或多个时间n元来确定所述时间指示。

示例5:示例4的计算机实现的方法,还包括:确定所述电子通信的一个或多个事件n元,每个事件n元引用所述事件的位置或所述事件的类型;以及,基于在所述电子通信中的所述时间n元和所述事件n元之间的句法关系来确定所述时间n元。

示例6:示例1至5之一的计算机实现的方法,其中,生成所述文本回复内容包括生成第一回复n元并生成分立的第二回复n元;以及其中,提供所述文本回复内容以包括在所述回复电子通信中包括:提供所述第一回复n元和所述第二回复n元两者,以包括在对所述电子通信的所述回复中。

示例7:示例6的计算机实现的方法,还包括:将所述第一回复n元和第二回复n元相对于彼此排名;以及,基于所述排名确定用于提供所述第一回复n元和第二回复n元的突出性;其中,提供所述第一回复n元和所述第二回复n元以包括在所述回复电子通信中包括与所述突出性的指示一起提供所述第一回复n元和所述第二回复n元。

示例8:示例1至7之一的计算机实现的方法,其中,提供所述文本回复内容以包括在所述回复电子通信中包括:提供所述文本回复内容的图形指示,并提供所述文本回复内容基于所述用户的所述可用性的图形指示。

示例9:示例1至8之一的计算机实现的方法,其中,提供所述文本回复内容以包括在所述回复电子通信中包括:将所述文本回复内容合并到所述回复电子通信中,而不需要所述用户经由所述用户发起的用户接口输入进行确认。

示例10:示例1至8之一的计算机实现的方法,其中,供所述文本回复内容以包括在所述回复电子通信中包括:提供所述文本回复内容的图形指示;经由用户接口输入设备接收对所述图形指示的选择;并且,响应于接收到所述选择,将所述文本回复内容合并到所述回复电子通信中。

示例11:示例1至10之一的计算机实现的方法,其中,生成所述文本回复内容包括生成第一回复n元并生成分立的第二回复n元;提供所述回复内容以包括在所述回复电子通信中包括:提供所述第一回复n元的第一图形指示和所述第二回复n元的第二图形指示;经由用户接口输入设备接收对所述第一图形指示和所述第二图形指示之一的选择;以及,响应于接收到所述选择,在所述回复中并入所述第一回复n元和所述第二回复n元中的对应的一个。

示例12:示例1至11之一的计算机实现的方法,其中,生成所述文本回复内容包括:提供所述附加消息特征和所述用户的所述可用性作为对于经训练的机器学习系统的输入;接收至少一个回复内容特征作为来自经训练的机器学习系统的输出;以及,基于作为来自经训练的机器学习系统的输出而接收的所述至少一个回复内容特征生成所述文本回复内容。

示例13:示例12的计算机实现的方法,其中,所述附加消息特征包括基于在所述电子通信的正文中的n元的第一消息特征。

示例14:示例13的计算机实现的方法,还包括:由所述计算设备的一个或多个,用至少一个对应的语法注释标记所述电子通信的多个n元的每个;其中,确定所述第一消息特征包括基于所述n元的所述对应的语法注释选择所述n元,以及基于所述n元确定所述第一消息特征。

示例15.一种计算机实现的方法,包括:识别多个用户的事件电子通信的语料库,所述语料库的所述事件电子通信每个包括引用事件的原始内容,所述语料库的所述事件电子通信每个包括响应于所述原始内容的回复内容,并且所述语料库的所述事件电子通信每个都与所述回复内容的作者的用户可用性相关联,其中,所述用户可用性指示所述作者在创作所述回复内容时参加所述事件的可用性;基于所述事件电子通信生成多个训练示例,其中,生成所述训练示例的每个基于所述事件电子通信的对应的事件电子通信,并包括:基于所述对应的事件电子通信的所述原始内容和与所述对应的回复事件电子通信相关联的所述用户可用性生成多个输入特征,以及,基于所述对应的事件电子通信的所述回复内容生成至少一个输出特征;基于训练示例训练机器学习系统,以生成经训练的机器学习系统;接收发送给用户的新的电子通信;基于所述新的电子通信并基于所述用户的日程数据生成新的输入特征;提供所述新的输入特征作为对所述经训练的机器学习系统的输入;响应于向所述经训练的机器学习系统提供所述新的输入特征,从所述经训练的机器学习系统接收输出;以及,使用来自所述经训练的机器学习系统的所述输出来确定回复内容,用于经由所述用户的计算设备提供所述回复内容以向所述用户呈现以包括在所述用户对所述新的电子通信的回复中。

示例16:示例15的计算机实现的方法,其中,所述至少一个输出特征指示所述回复内容是否包括邀请或到邀请的链接。

示例17:示例15或16的计算机实现的方法,其中,所述至少一个输出特征指示所述回复内容是否包括可用性轮询或到可用性轮询的链接。

示例18:示例15至17之一的计算机实现的方法,其中,所述至少一个输出特征指示所述回复内容的至少一个文本特征。

示例19:示例15至18之一的计算机实现的方法,其中,所述训练示例的所述输入特征不包括来自所述回复内容的任何特征。

示例20.一种系统,包括:存储在一个或多个非暂时性计算机可读介质中的电子通信,所述电子通信被发送给用户;至少一个处理器;耦合到所述处理器的存储器,其中,所述存储器存储将由所述处理器执行以执行包括以下步骤的步骤的指令:确定与所述电子通信的事件相关联的时间指示,所述时间指示至少识别与所述事件相关联的时间或日期;基于所述时间指示搜索所述用户的日程数据;基于所述搜索确定针对所述事件所述用户的可用性;确定所述电子通信的一个或多个附加消息特征,所述附加消息特征是对所述时间指示的添加;基于所述用户的所述可用性并基于所述一个或多个附加消息特征生成文本回复内容,所述文本回复内容包括未包括在所述电子通信中的一个或多个n元;以及,提供所述文本回复内容以包括在回复电子通信中,所述回复电子通信是所述用户对所述电子通信的回复。

虽然本文已描述和说明了若干实施方式,但可利用用于执行功能和/或获得结果和/或本文中所描述的一个或多个优点的各种其他装置和/或结构,并且每个这些变化和/或修改被认为是在本文描述的实施方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和配置旨在是示例性的,并且实际参数、尺寸、材料和/或配置将取决于特定应用或使用该教导的应用。本领域技术人员将认识到本文所述具体实施方式的许多等同物,或能够仅仅使用常规的实验确定本文所述具体实施方式的许多等同物。因此,应该理解,前述实施方式仅通过示例呈现,并且在所附权利要求及其等同物的范围内,可以以不同于具体描述和要求保护的方式实现实施方式。本公开的实施方式涉及本文描述的每个分立的特征、系统、物品、材料、套件和/或方法。此外,如果这些特征、系统、物品、材料、套件和/或方法不相互矛盾,则在本公开的范围内包括两个或更多个这样的特征、系统、物品、材料、套件和/或方法的任何组合。

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