用于在消息应用中传送响应的系统和方法与流程

文档序号:17583291发布日期:2019-05-03 21:06阅读:187来源:国知局
用于在消息应用中传送响应的系统和方法与流程

本申请要求于2017年9月20日所提交的美国申请序列号第15/710,428号和于2016年9月20日所提交的美国临时申请第62/397,325号的优先权。上述每个申请的全部公开内容通过引用被并入本文。



背景技术:

此处所提供的背景技术描述是为了总体呈现本公开的背景。该背景技术部分中所描述的目前署名的发明人的工作,以及在提交时可能没有另外限定为现有技术的描述的方面,对于本公开而言既不应清楚地也不应隐含地被认定为现有技术。

消息应用(即时通讯、sms或其他文本消息、电子邮件等)的用户将经常利用她或他的计算设备来发送和接收消息。在一些情况下,消息应用可以经由计算设备的操作系统的通知功能提供新接收的消息的通知。通知功能可以向用户提供可听、可见和/或触觉(例如,触觉反馈)通知。如果移动设备提供可见通知,则用户可以选择(触摸、点击等)通知,该通知启动消息应用。以这种方式,用户可以启动消息应用并且读取/收听/查看新接收的消息。



技术实现要素:

公开用于经由通知在消息应用中传送响应的各种技术。技术可以包括,在具有一个或多个处理器的计算设备,经由消息应用接收电子消息。技术还可以包括,当消息应用在计算设备的后台中执行时,在计算设备,经由系统级通知功能输出电子消息的通知。通知可以包括电子消息的发送方的标识符、至少一部分电子消息、以及对电子消息的一个或多个建议响应。技术还可以包括,经由通知接收一个或多个建议响应中的特定响应的选择,并且经由消息应用传送特定响应,用于当消息应用在计算设备的后台中执行时发送给电子消息的发送方。

在其他方面,本公开涉及用于经由通知在消息应用中传送响应的各种技术。技术可以包括,在具有一个或多个处理器的第一计算设备,接收经由消息应用所发布的电子消息。此外,技术可以包括,在第一计算设备生成对电子消息的一个或多个建议响应,以及由第一计算设备传送一个或多个建议响应,用于经由在第二计算设备的后台中执行的消息应用中的系统级通知功能来输出。

除上述之外,本公开涉及用于进行上述技术的计算设备和计算系统。还公开一种非暂时性计算机可读存储介质,其上存储多个指令,当多个指令由一个或多个处理器执行时,使得一个或多个处理器进行上述技术的操作。

根据下文中提供的详细说明,本公开的更多适用领域将变得显而易见。应该理解的是,详细说明和具体实施例仅旨在用于说明的目的,而不旨在限制本公开的范围。

附图说明

根据详细描述和附图,本公开将变得更充分地被理解,其中:

图1是根据本公开的一些实施方式的包括示例计算设备和示例服务器计算设备的示例计算系统的示图;

图2是图1的示例计算设备中的一个示例计算设备的功能框图;

图3是根据本公开的一些实施方式的由图1的示例计算设备所显示的示例图形用户界面的示图;

图4a-4d是根据本公开的一些实施方式的由图1的示例计算设备所显示的示例图形用户界面的示图;

图5是根据本公开的一些实施方式的由图1的示例计算设备所显示的示例图形用户界面的示图;

图6是根据本公开的一些实施方式的由图1的示例计算设备所显示的示例图形用户界面的示图;

图7是根据本公开的一些实施方式的由图1的示例计算设备所显示的示例图形用户界面的示图;以及

图8是根据本公开的一些实施方式的用于经由通知在消息应用中传送响应的示例技术的流程图。

具体实施方式

如上简要地所述,消息应用(即时通讯、sms或其他文本消息、电子邮件等)的用户可以利用她或他的移动设备或其他计算设备来发送和接收消息。可以例如经由计算设备操作系统的通知功能向用户呈现新接收的消息的通知。即使消息应用在计算设备的后台中执行,通知功能也可以向用户提供可听、可见和/或触觉通知。用户可以例如通过选择(触摸、点击等)通知来与通知进行交互,该通知启动消息应用,在该消息应用中用户可以读取/收听/查看新接收的消息。为了响应新接收的消息,用户可以选择所启动的消息应用的响应功能,输入响应,并且将响应发送给其他用户。

因此,在上述典型布置中,用户必须启动在计算设备的前台中执行的消息应用并且与消息应用进行交互,以便响应新接收的消息。期望提供一种系统和方法,该系统和方法在不启动或以其他方式使得消息应用在计算设备的前台中执行的情况下,允许用户快速且容易地提供对新接收的电子消息的响应。本公开针对这样的系统和方法,以及存储用于进行该方法的指令的非暂时性计算机可读介质。虽然不限于这样的实施方式,但是本公开可以特别适合于被利用在用户之间提供实时通信的即时通讯或其他形式的文本消息应用。

本公开针对尤其解决在消息应用中接收用户输入以及经由消息应用传送电子消息的目标技术问题。为了实现上述所识别的和其他的技术目标,本公开针对一种用于经由通知生成和传送对新接收的消息的响应的系统和方法,该通知由在计算设备的后台中执行的消息应用来输出。更具体地,本公开提供一种系统和方法,该系统和方法当相关联的消息应用在计算设备的后台中执行时接收新的电子消息。通知由计算设备来输出,其中通知包括对新电子消息的一个或多个建议响应。

建议响应可以由计算设备、与计算设备进行通信的服务器或其组合,基于所接收的电子消息以及被训练以生成对所接收的电子消息的一个或多个可能响应的模型(例如,语言模型)来生成。在不启动消息应用(例如,在前台中执行消息应用)的情况下,用户可以从通知中选择建议响应中的一个建议响应,该建议响应将被传送到原始电子消息的发送方。以这种方式,用户可以快速且容易地从计算设备的通知功能提供对新接收的电子消息的响应,并且不用启动或以其他方式使得消息应用在计算设备的前台中执行。

除了上述之外,本公开可以提供超过用于在消息应用中生成和传送响应的典型方法的附加技术益处。仅作为示例,因为当消息应用在计算设备的后台中执行时用户与通知进行交互以发送消息,所以计算设备不必重新加载消息应用的参数,将在前台中执行的当前应用切换到消息应用,和/或刷新计算设备的显示。这还消除计算设备重新创建消息应用的当前状态的需要,诸如通过检索先前所发送的消息(从内存或从服务器或其他网络设备),刷新和重新加载消息应用的图形用户界面,以及显示所检索的消息。例如,通过需要较少的操作来实现相同的结果,这可以增加计算设备的操作速度,以及减少内存检索/存储操作的数量。

本公开的附加技术益处是,为了生成和传送响应,针对在计算设备的前台中执行的应用的计算资源不需要被切换以加载和执行消息应用。在计算设备的前台中执行的应用可以优先于计算设备的计算资源。通过当消息应用在后台中执行时能够经由消息应用进行消息传送,本公开通过消除与将消息应用切换到前台相关联的延迟来减少传送消息的延时。此外,因为存在前台应用的切换,所以与将消息应用切换回计算设备的后台相关联的操作、延时等可以被消除。这还可以具有减少显示的刷新操作,从而减少计算设备的功耗的附加益处。

另外,通过向用户提供建议响应,本公开可以减少在消息应用中接收和传送响应所需要的输入的数量。仅作为示例,典型响应可以经由键盘应用被接收,在键盘应用中用户提供多个输入(与所选择的字符相对应)以生成响应。本公开考虑简单的选择和单个用户输入以选择和传送期望的响应,而不需要对于响应的每个字符的用户输入,其可能需要对于每个输入的处理步骤。以这种方式,计算设备可以减少与多个用户输入的单独处理相关联的电力和其他计算资源的使用。

更具体地,计算机实现的方法可以包括:

在具有一个或多个处理器的计算设备,经由消息应用接收电子消息;

当消息应用在计算设备的后台中执行时,在计算设备,经由系统级通知功能输出电子消息的通知,通知包括电子消息的发送方的标识符、至少一部分电子消息、以及对电子消息的一个或多个建议响应;

在计算设备,经由通知接收一个或多个建议响应中的特定响应的选择;以及

响应于对特定响应的选择,从计算设备并且经由消息应用传送特定响应,用于当消息应用在计算设备的后台中执行时发送给电子消息的发送方。

计算机实现的方法还可以包括,响应于电子消息的部分的用户选择,将消息应用切换为在计算设备的前台中执行。

此外,本发明的目的是提供一种计算设备,包括一个或多个处理器以及非暂时性计算机可读存储介质,其上存储多个指令,当多个指令由一个或多个处理器执行时,使得一个或多个处理器进行计算机实现的方法的操作。

现在参考图1,示出示例计算系统100的示图。计算系统100可以被配置为经由多个用户的计算设备在多个用户之间实现电子消息通信网络。根据本公开的一些实施方式,计算系统100可以包括经由网络130进行通信的多个示例计算设备110和示例服务器120。

为了便于描述,在本申请中并且如图1中所示,示出和描述两个示例计算设备110:与发送方用户105s相关联的发送计算设备110s,以及与接收用户105r相关联的接收计算设备110r。然而,应该理解的是,取决于环境和正在被讨论的特定电子消息,计算设备110s和110r中的每一个都可以发送和接收电子消息,并且因此可以被描述为“发送”计算设备或“接收”计算设备(并且类似地,“发送”用户或“接收”用户)。

虽然被示为移动电话(“智能”电话),但是每个计算设备110可以是任何类型的合适的计算设备,诸如台式计算机、平板计算机、膝上型计算机、诸如结合了计算设备的眼镜、手表或其他珠宝、或者服装的可穿戴式计算设备。图2中示出示例计算设备110的功能框图。

计算设备110可以包括通信设备200、一个或多个处理器210、内存220、显示设备230和消息响应语言模型240。处理器210可以控制计算设备110的操作,包括实现本公开的技术的至少一部分。此处所使用的术语“处理器”旨在指单个处理器以及例如以并行或分布式架构一起操作的多个处理器。

通信设备200可以被配置为经由网络130与其他设备(例如,服务器120或其他计算设备110)进行通信。通信设备200的一个非限制性示例是收发器,但是其他形式的硬件也在本公开的范围内。内存220可以是被配置为存储信息的任何合适的存储介质(闪存、硬盘等)。例如,内存220可以存储可由处理器210执行的一组指令,该组指令使得计算设备110进行操作,例如,诸如本公开的操作。显示设备230可以向用户105显示信息。在一些实施方式中,显示设备230可以包括触敏显示设备(诸如电容式触摸屏等),但是非触摸显示设备也在本公开的范围内。

语言模型(诸如消息语言响应模型240)可以是从训练数据所导出的(或基于训练数据“所训练的”)一系列文本(字符、单词、短语等)上的概率分布。在一些实施方式中,语言模型可以基于周围文本(在未知文本之前和/或之后)和训练语言模型的训练数据的语料库,为一段未知文本(字符、单词、短语等)分配概率。这样的标记的训练语料库或集合的使用可以被称为监督的学习处理。如下面更全面地描述的,消息响应语言模型240可以由处理器210利用来确定对新接收的电子消息的一个或多个建议响应。尽管被示为单独的元件,但是应该理解的是,消息响应语言模型240可以部分地或全部地由处理器210和/或内存220(例如,存储消息响应语言模型240的参数的数据库)实现。

应该理解的是,示例服务器计算设备120可以包括与计算设备110相同或类似的组件,并且因此可以被配置成进行本公开的一些或全部技术,这些技术在下面被更全面地描述。此外,虽然本公开的技术此处被描述在计算设备110的背景中,但是特别预期的是,技术的每个特征可以由单独的计算设备110、一起操作的多个计算设备110、单独的服务器计算设备120、一起操作的多个服务器计算设备120、以及一起操作的一个或多个计算设备110和一个或多个服务器计算设备120的组合来进行。

参考图3,示出根据本公开的一些实施方式的示例图形用户界面(“gui”)300,gui300可以当在示例接收计算设备110r的后台中执行消息应用时由示例接收计算设备110r的显示设备230显示。在图3中,所示的gui300与计算设备110r的锁定屏幕相对应,该锁定屏幕指示计算设备110r正在被“锁定”或以其他方式不可自由地使用。

所示的gui300被示为当消息应用在计算设备的后台中执行时,经由系统级通知功能显示新接收的电子消息312(“很棒的工作”)的示例通知310。系统级通知功能可以是例如由计算设备112的操作系统和/或由在系统级的应用(与终端用户级相反,诸如消息应用)所提供的通知功能。所示的gui300还被示为显示附加通知320(与对计算设备110r的另一应用的可用更新相对应)、解锁按钮330、时间和日期小组件340、以及一个或多个状态指示符350(与电池状态、网络状态等相对应)。

所示的通知310包括电子消息312的发送方(例如,发送方用户105s)的标识符314,至少一部分电子消息312,以及对电子消息312的一个或多个建议响应316(“谢谢”)、318发送方用户105s的标识符314可以包括例如图片或其他图形、名字或其他文本标识符、和/或电话号码或其他联系标识符。

在所示的示例中,电子消息312(“很棒的工作”)被完整地示出。然而,应该理解的是,完整的电子消息312可以不被显示在通知310中,并且替代地,简短的版本(剪辑的、概括的等)可以取决于电子消息312的尺寸和/或通知310的显示尺寸被显示。此外,如下面更全面地讨论的,预期的是,通知310的显示尺寸可以是可变的和/或采用不同的形式或配置。仅作为示例,在一个配置中,通知310可以显示电子消息312的简短版本,并且在另一个配置中,通知310可以显示电子消息312的完整版本。

对电子消息312的一个或多个建议响应316(“谢谢”)、318被包括在通知310中,并且与例如由消息响应语言模型240所确定的对电子消息312的可能响应相对应。通知310被配置为使得接收计算设备110r的用户105r可以选择一个或多个建议响应中的特定响应(例如,建议响应316-“谢谢”)。响应于特定响应316的选择,计算设备110r可以自动地将特定响应316传送到电子消息312的发送方用户105s,同时消息应用在计算设备110r的后台中执行。在一些实施方式中,一旦将特定响应316传送到发送方用户105s,消息应用就可以将电子消息312(和/或所有未读电子消息)标记为“已读”并且移除通知310。

如上所述,所示的gui300与计算设备110r的锁定屏幕相对应,该锁定屏幕指示计算设备110r正在被“锁定”或以其他方式不可自由地使用。在一些方面,响应于从通知310接收特定响应316的选择,计算设备110r可以将特定响应316传送到电子消息312的发送方用户105s,同时计算设备110r保持以其他方式被锁定并且不可自由地使用。应该理解的是,在一些实施方式中,出于安全目的,计算设备110r可以要求用户110r输入密码或其他用户验证,以便传送特定响应316。在一些这样的实施方式中,计算设备110r可以在锁定配置中自动地传送特定响应316,并且在传送之后,保持在锁定配置中。

在一些实施方式中,通知310还可以或可选择地包括启动消息应用的回复选项。仅作为示例,如下面更全面地描述的,当用户105r选择与一个或多个建议响应316、318分开的通知310的部分时,计算设备110可以启动消息应用,使得消息应用在计算设备110r的前台中执行。与通知310的其他交互(滑动、双击等),以及可以与计算设备110r的特定动作相对应的其他交互也是可以预期的。

参考图4a-4d,示出根据本公开的一些实施方式的另一示例图形用户界面(“gui”)400,当在示例接收计算设备110r的后台中执行消息应用时,gui400可以由示例接收计算设备110r的显示设备230显示。在图4a中,所示的gui400与计算设备110r的“主”屏幕相对应,该“主”屏幕与计算设备110r正处于“解锁”状态或以其他方式可自由地使用相对应。gui400可以包括gui300的相同元素中的一个或多个(时间和日期小组件340、一个或多个状态指示符350等),这些元素将不再被进一步描述。

所示的gui400在图4a中被示为当消息应用在计算设备的后台中执行时,经由系统级通知功能显示新接收的电子消息的示例通知410a,该新接收的电子消息诸如是新接收的消息312(“很棒的工作”)。所示的gui400还被示为显示附加通知420a(与对计算设备110r的另一应用的可用更新相对应),以及多个应用启动图标430。

所示的示例通知410a仅仅是图标或其他图形指示符,该图标或其他图形指示符向用户110r指示未读电子消息已经被接收。如图4b中所示,通知410a可以被扩展或以其他方式被重新配置以与通知410b相对应。在一些方面,用户110r可以选择通知410a,从通知410a或通知410a附近向下(或任何其他方向)滑动等来扩展/重新配置通知410a,使得计算设备110r显示通知410b。

类似于上述通知310,通知410b可以包括电子消息312的发送方(例如,发送方用户105s)的标识符314,至少一部分电子消息312,以及对电子消息312的一个或多个建议响应316(“谢谢”)、318在该示例中,通知410a的显示尺寸是可变的和/或采用不同的形式或配置。应该理解的是,通知410b也可以是可变的和/或采用不同的形式或配置(例如,放大的或缩小的)。

对电子消息312的一个或多个建议响应316(“谢谢”)、318被包括在通知410b中,并且与例如由消息响应语言模型240所确定的对电子消息312的可能响应相对应。通知410b被配置为使得接收计算设备110r的用户105r可以选择一个或多个建议响应中的特定响应(例如,建议响应316-“谢谢”)。响应于特定响应316的选择,计算设备110r可以自动地将特定响应316传送到电子消息312的发送方用户105s,同时消息应用在计算设备110r的后台中执行。

作为替代,并且参考图4c和4d,通知410c可以包括与通知410b类似的组件(电子消息312的发送方的标识符314,至少一部分电子消息312,以及对电子消息312的一个或多个建议响应316(“谢谢”)、318),以及下面所描述的附加快速回复选项422。对电子消息312的一个或多个建议响应316(“谢谢”)、318被包括在通知410c中,并且与例如由消息响应语言模型240所确定的对电子消息312的可能响应相对应。通知410c被配置为使得接收计算设备110r的用户105r可以选择一个或多个建议响应中的特定响应(例如,建议响应316-“谢谢”)。响应于特定响应316的选择,计算设备110r可以自动地将特定响应316传送到电子消息312的发送方用户105s,同时消息应用在计算设备110r的后台中执行。

如上所述,通知410c被配置为包括快速回复选项422。响应于快速回复选项422的选择,计算设备110r可以扩展通知410c以包括输入部分440和键盘450(如图4d的通知410d中所示),同时消息应用在计算设备110r的后台中执行。通知410d可以允许接收用户110r经由键盘450将文本、表情符号、图像等输入到消息应用中,用于传送到发送用户110s,同时消息应用在计算设备110r的后台中执行。一旦用户110r已经将任何文本、表情符号、图像等输入到输入部分440中,用户110r就可以选择发送按钮442以将消息传送到发送用户105s。

如图4d中所示,如上所述,对电子消息312的一个或多个建议响应316(“谢谢”)、318可以被包括在通知410d中,并且与例如由消息响应语言模型240所确定的对电子消息312的可能响应相对应。可选择地,对电子消息312的一个或多个建议响应316(“谢谢”)、318可以从gui400被移除。

在一些实施方式中,通知410a、410b、410c、410d还可以或可选择地包括直接从通知410a、410b、410c、410d启动消息应用的回复选项。仅作为示例,当用户105r选择与一个或多个建议响应316、318分开的通知410的部分时,计算设备110可以启动消息应用,使得消息应用在计算设备110r的前台中执行。还预期的是,与通知410a、410b、410c、410d的其他交互(滑动、双击等),可以关于通知410a、410b、410c、410d和/或消息应用与计算设备110r的特定动作相对应的其他交互。

参考图5,示出根据本公开的一些实施方式的示例图形用户界面(“gui”)500,gui500可以当在示例接收计算设备110r的后台中执行消息应用时由示例接收计算设备110r的显示设备230显示。在图5中,所示的gui500与其中显示接收用户110r和发送方用户110s之间的消息历史502的配置相对应。示例gui500还包括电子消息312的发送方用户105s的标识符314(与电话号码“(650)555-1234”相对应)和输入部分504,在输入部分504中接收用户110r可以将文本、表情符号、图像等输入到消息应用中,用于传送到发送用户110s。gui500还可以包括gui300、400的相同元素中的一个或多个(一个或多个状态指示符350、通知420a等),这些元素将不再被进一步描述。

所示的gui500在图5中被示为显示接收的消息312(“很棒的工作”),以及一个或多个建议响应316(“谢谢”)、318和至少一个附加的完整长度的潜在响应516(“非常感谢”)。例如,响应于接收用户110r从通知310、410a、410b中的一个选择回复选项,gui500可以被显示给接收用户110r。更具体地,不是接收用户110r选择建议响应316、318中的一个,而是接收用户110r可以选择通知310、410b的不同部分。响应于此,计算设备110r可以启动消息应用,使得它在计算设备110r的前台中执行并且将gui500呈现给用户。

如下面更全面地描述的,至少一个附加的完整长度的潜在响应516(“非常感谢”)可以或可以不与一个或多个建议响应316、318不同。在一些方面,一个或多个建议响应316、318与对电子消息312的可能响应(例如,由消息响应语言模型240所确定)相对应,该可能响应满足字符(或其他形式的长度)阈值。相反,至少一个附加的完整长度的潜在响应516可以与对电子消息312的可能响应相对应,而不考虑字符(或其他形式的长度)阈值。另外地或替代地,至少一个附加的完整长度的潜在响应516可以与对电子消息312的可能响应相对应,该可能响应满足不同于与一个或多个建议响应316、318相关联的字符(或其他形式的长度)阈值的第二字符(或其他形式的长度)阈值。

仅作为示例,对于通知310、410b中的建议响应/潜在响应,可以存在比消息应用gui500中更少的可用显示空间。因此,可以被显示在通知310、410b中的一个或多个建议响应316、318可以被限制于尺寸受约束的可能响应,使得一个或多个建议响应316、318可以被完全地显示在通知310、410b中。然而,因为消息应用gui500中可以存在更多的可用显示空间,所以至少一个附加的完整长度的潜在响应516可以不被如此限制(或可以被不同地限制)和/或更多建议/潜在响应可以被显示在gui500中。

在一些实施例中,当包括一个或多个建议响应316、318的通知(例如,通知310、410b)已经被显示给接收用户110r,然后消息应用被切换到接收计算设备105r的前台时,一个或多个建议响应316、318和至少一个附加的完整长度的潜在响应516可以被显示。仅作为示例,一个或多个建议响应316、318和至少一个附加的完整长度的潜在响应516可以以排名顺序被显示,在该排名顺序中先前被显示的一个或多个建议响应316、318在至少一个附加的完整长度的潜在响应516之前。以这种方式,接收用户110r可以被呈现对电子消息312的可能响应,该可能响应在通知310、410b和gui500之间是一致的。

可选择地,一旦选择回复选项(如上所述),与先前被显示的一个或多个建议响应316、318不同的一个或多个附加建议响应就可以在gui500中被生成并且被显示。以这种方式,接收用户110r可以被呈现用于选择可能响应的许多不同选项,其基于如下假设:如果接收用户110r期望用被显示在通知310、410b中的一个或多个建议响应316、318中的一个来响应,则用户110r会直接经由通知310、410b选择来响应,并且不会选择回复选项。

一旦选择一个或多个建议响应316、318或者至少一个附加的完整长度的潜在响应516的一个可能响应,例如,在用户105r选择发送按钮506后,gui500的输入部分504就可以被填充所选择的可能响应,用于编辑和/或传送到发送用户105s。可选择地,在没有来自接收用户105r的进一步输入的情况下,由接收用户105r选择一个或多个建议响应316、318或者至少一个附加的完整长度的潜在响应516的一个可能响应,可以自动地将所选择的可能响应传送到发送用户105s。

在一些实施例中,并且进一步参考图6,当包括一个或多个建议响应316、318的通知没有被显示给接收用户110r(例如,因为通知被关闭,或者因为消息应用在接收计算设备105r的前台中执行并且没有通知被显示)时,与一个或多个建议响应316、318不同的一个或多个完整长度的建议响应616-1、616-2、……、616-n(此处被单独地和共同地称为“完整长度的建议响应616”)可以被显示。

如上所述,在一些实施方式中,一个或多个建议响应316、318可以基于与字符或其他长度阈值相关的一个或多个标准被选择,例如,取决于由通知310、410b所提供的受约束的显示空间。因此,因为gui600具有不同数量的可用显示空间,所以完整长度的建议响应616可以不根据字符或其他长度阈值受约束,或者可以根据不同的长度阈值受约束。因此,完整长度的建议响应616可以区别或可以不区别与将被生成用于在通知310、410b中显示的一个或多个建议响应316、318。如图6中所示,完整长度的建议响应616-1与建议响应316(“谢谢”)相对应,而完整长度的建议响应616-2(“非常感谢”)与一个或多个建议响应316、318中的任何一个都不相对应。

在图7中示出根据本公开的一些实施方式的示例图形用户界面(“gui”)700,gui700可以当消息应用在前台中执行时由示例接收计算设备110r的显示设备230显示。具体地,图7涉及在向发送用户105s传送响应消息716(“谢谢”)之后的消息应用的gui700。gui700还可以包括gui300、400、500、600的相同元素中的一个或多个(一个或多个状态指示符350、通知420a等),这些元素将不再被进一步描述。

如上所述,接收用户105r可以以各种方式传送响应消息716(其与上述的建议响应316和完整长度的建议响应616-1相对应)。仅作为示例,并且参考图3,用户110r可以从通知310选择建议响应316,这将导致响应消息716经由消息应用被传送到发送用户105s。在其他示例中,并且参考图4b和5,用户110r可以从通知410b或gui500选择建议响应316,这将导致响应消息716经由消息应用被传送到发送用户105s。在又一示例(图6)中,用户110r可以从gui600选择完整长度的建议响应616-1,其可以作为响应消息716经由消息应用被传送到发送用户105s。

如上所述,消息响应语言模型240可以由处理器210利用来确定对新接收的电子消息(电子消息312)的一个或多个建议响应(诸如,一个或多个建议响应316、318,至少一个附加的完整长度的潜在响应516,和/或一个或多个完整长度的建议响应616)。虽然在图2中被示为示例计算设备110的组件,但是应该理解的是,消息响应语言模型240可以替代地是服务器计算设备120的组件,或者可选择地,可以由示例计算设备110以及协同工作的一个或多个服务器计算设备120来实现。因此,在可能的情况下,消息响应语言模型240将与实现它的特定计算设备(计算设备110和/或服务器计算设备120)被分开描述,并且关于特定计算设备的消息响应语言模型240的任何描述,加上必要的变通,同样适用于任何其他计算设备或设备。此外,在本公开的范围内,消息响应语言模型240基于与用户(诸如用户105r)的交互,可以随时间被调整。以这种方式,消息响应语言模型240可以被更好地调整以提供更好、更准确的建议响应。

消息响应语言模型240可以是从训练数据所导出的(或基于训练数据“所训练的”)一系列电子消息(其包括字符、单词、短语、表情符号等)上的概率分布。仅作为示例,消息响应语言模型240可以基于周围文本(诸如,可能响应消息所响应的电子消息312)和训练消息响应语言模型240的训练数据的语料库,为一段未知文本(可能响应消息,诸如,一个或多个建议响应316、318,至少一个附加的完整长度的潜在响应516,和/或一个或多个完整长度的建议响应616)分配概率。这样的标记的训练语料库或集合的使用可以被称为监督的学习处理。

消息响应语言模型240可以由计算设备110或服务器计算设备120利用来确定对新接收的电子消息的一个或多个建议响应。更具体地,消息响应语言模型240可以基于一个或多个先前消息(电子消息312)来生成一个或多个建议响应(响应316、318、516和/或616)及其相关联的概率分数。

在一些实施方式中,消息响应语言模型240可以被配置为基于一个或多个先前消息(电子消息312)和预期显示尺寸,来生成一个或多个建议响应(响应316、318、516和/或616)及其相关联的概率分数。以这种方式,一个或多个建议响应可以被限制尺寸以与将在其中呈现它们的显示区域相对应,例如,受到计算设备110r上的通知310、410b的最大字符限制。此外,通过包括预期显示尺寸作为由消息响应语言模型240所利用的标准,消息响应语言模型240可以将较高概率分数(或分配较高优先级)与具有相对较短长度的建议响应(诸如,单个单词或表情符号字符)相关联。

在又一方面,消息响应语言模型240可以被配置为基于一个或多个先前消息(电子消息312)并且不论任何字符或尺寸限制,来生成一个或多个建议响应(响应316、318、516和/或616)及其相关联的概率分数。然后,建议响应可以被过滤,使得一个或多个建议响应被限制尺寸以与将在其中呈现它们的显示区域相对应,例如,受到计算设备110r上的通知310、410b的最大字符限制。

预期显示尺寸、最大字符限制或其他长度阈值可以以各种方式被确定。仅作为示例,在一些实施方式中,可以在计算设备110生成尺寸/长度阈值,其中计算设备110的设备模型和其他细节是已知的。在这样的实施方式中,计算设备110的设备模型和/或其他细节与尺寸/长度阈值之间的映射可以被生成并且被存储,用于使用或传送到服务器计算设备120。在其他实施方式中,计算设备110的设备模型和/或其他细节(例如,诸如屏幕分辨率的元数据)可以被传送到服务器计算设备120,在该服务器计算设备120检索或生成尺寸/长度阈值。用于检索、生成和/或获得尺寸/长度阈值的其他技术在本公开的范围内。

如上简要所述,在一些实施方式中,消息响应语言模型240可以由服务器计算设备120利用,来确定在接收计算设备110r对新接收的电子消息的一个或多个建议响应。在一些实施方式中,接收计算设备110r将从不同的服务器计算设备、网络或与实现消息响应语言模型240的服务器计算设备120分开的其他设备,接收电子消息(诸如,电子消息312)。在这样的情况下,接收计算设备110r可以传送新接收的电子消息312以及一个或多个建议响应的请求以包括在通知(例如,通知310、410b)或gui(例如,gui500)中。

在一些实施方式中,在不传送与通知显示尺寸相对应的任何尺寸或字符阈值的情况下,接收计算设备110r可以传送对电子消息312的一个或多个完整长度的建议响应616的单个请求。在这样的实施方式中,接收计算设备110r然后可以通过过滤、提取或以其他方式压缩从服务器计算设备120所接收的一个或多个完整长度的建议响应616,来生成一个或多个建议响应316、318以包括在通知310、410b中。

在进一步的实施方式中,接收计算设备110r可以传送对电子消息的建议响应的两个不同请求:与一个或多个完整长度的建议响应616相对应的第一请求,以及与一个或多个建议响应316、318相对应的第二请求,一个或多个建议响应316、318可以受到与通知显示尺寸相对应的尺寸或字符阈值的限制。在附加的实施方式中,接收计算设备110r可以传送对于:(i)一个或多个完整长度的建议响应616,以及(ii)一个或多个建议响应316、318两者的单个请求。在这些实施方式中,接收计算设备110r将接收一个或多个完整长度的建议响应616以及一个或多个建议响应316、318,这些响应可以在适当时被显示。应该理解的是,在这些实施方式中,一个或多个完整长度的建议响应616以及一个或多个建议响应316、318的内容可以是相同的(参见例如图3和6,其中建议响应316和完整长度的建议响应616-1都与“谢谢”相对应)。

除了上述之外,由接收计算设备110r所输出的通知(例如,通知310、410a和410b)的内容可以被进一步地取决于除了上述那些因素之外的因素。仅作为示例,消息应用可以被配置为在单个对话中存在一个或多个未读电子消息(电子消息312)的情况下,输出包括一个或多个建议响应316、318的通知(通知310、410b)。然而,例如,为了最好地利用可用的通知显示空间,如果在多个对话中存在一个或多个未读电子消息(电子消息312),则通知310、410b可以被配置为使得电子消息被显示在通知310、410b中,并且没有建议被显示在通知310、410b中。

此外,可以预期的是,由于消息、处理或其他延迟,在一个或多个建议响应316可以被获得之前,电子消息312可以由接收计算设备110r接收。在这样的实施方式中,初始通知310、410a、410b可以由接收计算设备110r生成并且输出,其中通知310、410a、410b包括电子消息的内容(或其部分)并且不包括建议响应。当一个或多个建议响应316、318被获得时(在输出初始通知之后),初始通知可以被更新以包括一个或多个建议响应316、318。类似地,如果在电子消息312被接收之前,一个或多个建议响应316由接收计算设备110r接收,则接收计算设备110r可以等待并生成任何通知直到接收到电子消息312。

在其他实施方式中,接收计算设备110r可以被配置为使得被输出的一个或多个建议响应316、318与最近接收的未读电子消息(例如,电子消息312)相对应。以这种方式,通过获得并且输出与最近接收的未读电子消息312相对应的一个或多个建议响应316、318,通知310、410a、410b可以在附加电子消息312被接收(例如,在单个会话中)时被更新。

现在参考图8,示出用于经由通知在消息应用中传送响应的示例技术800的流程图。虽然技术800将在下面被描述为由计算设备110r进行,但是应该理解的是,技术800可以被全部或部分地在上述的另一或多于一个计算设备110和/或服务器计算设备120进行。

在810,计算设备110可以经由消息应用接收电子消息312。当消息应用在计算设备110的后台中执行时,计算设备200还可以经由系统级通知功能输出(820)电子消息312的通知310、410b。通知310、410b可以包括电子消息312的发送方的标识符314,至少一部分电子消息312,以及对电子消息312的一个或多个建议响应316、318。应该理解的是,尽管820提供了当消息应用在计算设备110的后台中执行时电子消息312的通知310、410b被输出,但是电子消息312的通知310、410b也可以是当消息应用在计算设备110的前台中执行时经由系统级通知功能被输出。

仅作为示例,在一些实施方式中,当计算设备110处于“锁定”状态并且消息应用在计算设备110的前台中执行时,电子消息312的通知310、410b可以经由系统级通知功能被输出。在一些这样的实施方式中,并且如上所述,计算设备110可以在处于“锁定”状态时输出通知310、410b,从通知310、410b接收与用户110r选择特定建议响应316相对应的用户输入,并且在计算设备处于“锁定”状态和/或没有“解锁”计算设备110r时经由消息应用自动地传送特定建议响应316。

在830,计算设备110可以经由通知310、410b接收一个或多个建议响应316、318的特定响应(316)的选择。响应于特定响应316的选择,计算设备110可以经由消息应用将特定响应316传送到电子消息312的发送方,同时消息应用在计算设备110的后台中执行。

此处公开的方法和系统不需要收集、存储或使用用户数据。在用户数据可以被使用的一些情况下,用户(诸如用户110r和110s)被提供有控制,该控制允许用户选择此处所描述的系统、程序或特征是否以及何时能够实现用户信息(例如,关于用户的当前位置的信息、或与用户的各种字母数字候选有关的信息)的收集,以及用户是否被发送来自服务器的内容或通信。此外,一些数据在其被存储或被使用之前可以以一种或多种方式被处理,使得个人可识别信息被移除。例如,用户的身份可以被处理,使得无法为用户确定个人可识别信息,或者获得位置信息的用户的地理位置可以被归纳(诸如被归纳到城市、邮政编码或州级),使得用户的具体位置无法被确定。因此,用户可以控制关于用户的什么信息被收集、该信息如何被使用以及什么信息被提供给用户。

提供示例实施例以使得本公开将是全面的,并且将其范围充分地传达给本领域技术人员。阐述了许多具体细节,诸如具体组件、设备和方法的示例,以提供对本公开的实施例的全面理解。对于本领域技术人员来说显而易见的是,不需要采用具体细节,示例实施例可以以许多不同的形式被实施,并且也不应该被解释为限制本公开的范围。在一些示例实施例中,公知的过程、公知的设备结构和公知的技术没有被详细描述。

此处使用的术语的目的仅用于描述特定示例实施例,而不旨在限制。如此处使用的,除非上下文另外清楚地指出,否则单数形式“一”、“一个”和“该”也可以旨在包括复数形式。术语“和/或”包括一个或多个相关联的列出的项目的任何和所有组合。术语“包括”、“包含”、“具有”和“有”是包含性的,因此指定存在陈述的特征、整体、步骤、操作、元件、和/或部件,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、部件、和/或其组合。此处描述的方法步骤、处理和操作不应被解释为必须要求它们以被讨论或示出的特定顺序被进行,除非特别指定为进行顺序。还应该理解的是,附加的或替代的步骤可以被采用。

尽管术语第一、第二、第三等可以在此处被用来描述各种元件、部件、区域、层和/或部分,但是这些元件、部件、区域、层和/或部分不应该被限制于这些术语。这些术语可以仅被用来区分一个元件、部件、区域、层或部分与另一区域、层或部分。诸如“第一”、“第二”和其他数字术语的术语在此处被使用时并不意味着次序或顺序,除非上下文明确指出。因此,不脱离示例实施例的教导,下面讨论的第一元件、部件、区域、层或部分可以被称为第二元件、部件、区域、层或部分。

如此处使用的,术语模块可以指是以下的一部分或者包括:专用集成电路(asic);电子电路;组合逻辑电路;现场可编程门阵列(fpga);处理器或处理器的分布式网络(共享的、专用的、或者群组的)以及在执行代码或处理的联网集群或数据中心中的存储器;提供所述功能的其他合适的部件;或者上述中的一些或全部的组合,例如在片上系统中。术语模块还可以包括存储由一个或多个处理器执行的代码的内存(共享的、专用的、或者群组的)。

如上面使用的,术语代码可以包括软件、固件、字节代码和/或微代码,并且可以指程序、例程、函数、类和/或对象。如上面使用的,术语共享的意味着来自多个模块的一些或全部代码可以使用单个(共享的)处理器来执行。另外,来自多个模块的一些或全部代码可以由单个(共享的)内存存储。如上面使用的,术语群组的意味着来自单个模块的一些或全部代码可以使用一组处理器来执行。另外,来自单个模块的一些或全部代码可以使用一组内存来存储。

此处描述的技术可以通过由一个或多个处理器执行的一个或多个计算机程序来实现。计算机程序包括被存储在非暂时性有形计算机可读介质上的处理器可执行指令。计算机程序还可以包括存储的数据。非暂时性有形计算机可读介质的非限制性示例是非易失性内存、磁存储器和光存储器。

上面描述的一些部分根据对信息操作的算法和符号表示来呈现此处描述的技术。这些算法描述和表示是数据处理领域的技术人员用来最有效地将他们工作的实质传达给本领域其他技术人员的手段。这些操作虽然在功能上或逻辑上被描述,但是被理解为由计算机程序实现。此外,有时也证明将这些操作配置称为模块或功能名称是方便的,而不失一般性。

除非特别指出,否则从上面讨论显而易见的是,应该理解,在整个说明书中,利用诸如“处理”或“计算”或“算”或“确定”或“显示”等的术语的讨论,指的是计算机系统或类似电子计算设备的动作和处理,该动作和处理在计算机系统内存或寄存器或其它这样的信息存储、传输或显示设备内,操纵和变换被表示为物理(电子)量的数据。

描述的技术的一些方面包括此处以算法的形式被描述的处理步骤和指令。应该注意的是,描述的处理步骤和指令可以在软件、固件或硬件中被实施,并且在软件中被实施时,可以被下载以保存在由实时网络操作系统使用的不同的平台上,并且可以从不同的平台被操作。

本公开还涉及用于进行此处操作的装置。该装置可以为了所需目的被特别构造,或者它可以包括由被存储在计算机可读介质上的计算机程序选择性地激活或重新配置的通用计算机,该计算机程序可以由计算机访问。这样的计算机程序可以被存储在有形的计算机可读存储介质中,例如,但不限于,任何类型的盘,包括软盘、光盘、cd-rom、磁光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡、专用集成电路(asic),或适用于存储电子指令的任何类型的介质,并且各自被耦接到计算机系统总线。此外,说明书中提及的计算机可以包括单个处理器,或者可以是采用多处理器设计以提高计算能力的架构。

此处呈现的算法和操作并非固有地与任何特定计算机或其他装置有关。根据此处的教导,各种通用系统也可以与程序一起被使用,或者可以证明构造更多专用的装置来进行所需的方法步骤是方便的。各种这些系统所需的结构以及等同的变化对于本领域技术人员而言将是显而易见的。另外,本公开没有参考任何特定的编程语言来描述。应该理解的是,各种编程语言可以被用来实现此处描述的本公开的教导,并且特定语言的任何参考被提供以用于公开本发明的实施性和最佳模式。

本公开很好地适用于众多拓扑结构上的各种各样的计算机网络系统。在该领域内,大型网络的配置和管理包括存储设备和计算机,该存储设备和计算机通过诸如因特网的网络被通信地耦接到不同的计算机和存储设备。

实施例的上述描述已经被提供以用于说明和描述。其不旨在穷举或限制本公开。即使未具体示出或描述,特定实施例的单独元件或特征通常不限于该特定实施例,而是在适用的情况下可互换并且可被用在选定实施例中。同样也可以以多种方式被变型。这样的变型不被认为是背离本公开,并且所有这样的变型旨在被包括在本公开的范围内。

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