对传入通信的预测响应的制作方法

文档序号:15105963发布日期:2018-08-04 16:53阅读:161来源:国知局

计算设备(例如,移动电话、平板计算机等)可以使用户能够响应于来自一个或多个其他计算设备的传入通信。在一些情况下,传入通信(例如,电子邮件、文本消息、会议请求等)可以包括文本信息。计算设备可以通过允许计算设备的用户输入文本信息(例如,使用输入设备)并将所述文本信息发送到一个或多个其他计算设备作为响应来使所述用户能够响应于传入通信。

一些计算设备可以诸如通过提供用户可以选择的一个或多个选项而使用户能够选择计算设备所存储的响应并发送所选择的存储响应。例如,响应于接收到会议请求,计算设备可以使计算设备的用户能够选择响应以“接受”会议请求、“拒绝”会议请求,或选择其他存储的选项。然而,计算设备仅可以提供少量的存储响应,从而减少了可用的存储响应包括用户所期望的响应的可能性。相反,计算设备可以提供更大量的存储响应,从而需要用户搜索在当前传入通信的场境中可能无用的多个响应。



技术实现要素:

在一个实例中,一种方法可以包括:通过计算系统接收多个消息历史,其中来自所述多个消息历史的每个消息历史包括简单消息传递服务消息历史、多媒体消息传递服务消息历史、即时消息传递消息历史或电子邮件消息历史中的一者或多者;通过所述计算系统并基于所述多个消息历史来确定多个消息响应对;通过所述计算系统确定来自所述多个消息响应对的每个消息的每个响应的多个实例。所述方法还可以包括:通过所述计算系统将来自所述多个消息响应对的每个响应分类为具有信息类型;以及通过所述计算系统存储来自所述多个消息响应对的每个唯一消息的指示、与该唯一消息所关联的所述相应响应相关联的所述信息类型的指示、和来自所述多个消息响应对的具有所述信息类型的多个响应。

在另一实例中,计算系统包括至少一个通信单元、存储设备、至少一个处理器和至少一个模块。所述至少一个通信单元被配置成接收多个消息历史,其中来自所述多个消息历史的每个消息历史包括简单消息传递服务消息历史、多媒体消息传递服务消息历史、即时消息传递消息历史或电子邮件消息历史中的一者或多者。所述至少一个模块可由所述至少一个处理器操作以:基于所述多个消息历史来确定多个消息响应对;确定针对来自所述多个消息响应对的每个消息的每个响应的多个实例;将来自所述多个消息响应对的每个响应分类为具有信息类型;以及在所述存储设备处存储来自所述多个消息响应对的每个唯一消息的指示、与该唯一消息所关联的所述相应响应相关联的所述信息类型的指示、和来自所述多个消息响应对的具有所述信息类型的多个响应。

在另一实例中,一种计算机可读存储设备使用指令来编码,所述指令在被执行时致使:计算系统的至少一个处理器接收多个消息历史,其中来自所述多个消息历史的每个消息历史包括简单消息传递服务消息历史、多媒体消息传递服务消息历史、即时消息传递消息历史或电子邮件消息历史中的一者或多者;基于所述多个消息历史来确定多个消息响应对;以及确定来自所述多个消息响应对的每个消息的每个响应的多个实例。所述指令可以进一步致使:所述一个或多个处理器将来自所述多个消息响应对的每个响应分类为具有信息类型;以及存储来自所述多个消息响应对的每个唯一消息的指示、与该唯一消息所关联的所述相应响应相关联的所述信息类型的指示、和来自所述多个消息响应对的具有所述信息类型的多个响应。

在附图和下文描述中陈述一个或多个实例的细节。其他特征、目标和优点将从描述和附图以及从权利要求显而易见。

附图说明

图1是根据本公开的一个或多个方面的示出用于向传入通信提供候选响应的示例性计算环境和图形用户界面(GUI)的概念图。

图2是根据本公开的一个或多个方面的示出用于向传入通信提供候选响应的响应建议单元的一个实例的框图。

图3是根据本公开的一个或多个方面的示出在对响应进行分类的同时生成的示例性数据的概念图。

图4是根据本公开的一个或多个方面的示出用于分析对传入通信的响应的示例性操作的流程图。

图5是根据本公开的一个或多个方面的示出用于向传入通信提供候选响应的示例性操作的流程图。

具体实施方式

大体来说,本公开的技术可以使计算系统能够向计算设备提供对传入通信的候选响应。候选响应可以与传入通信相关和/或与计算设备的用户和/或计算设备的当前情况(例如,当前场境)相关。计算系统可以至少部分基于用户(例如,计算设备的用户和/或其他用户)先前已选择哪些响应来响应于相同或类似传入通信的频率来确定将哪些候选响应发送到计算设备。例如,计算系统可以接收来自与用户相关联的计算设备的传入通信,诸如电子邮件。电子邮件可以包括信息(例如,发送者、一个或多个接收者、标题和正文文本、图像、表情符号、音频/视频数据等)。计算系统可以通过分析所述信息来确定至少一个候选响应,识别类似于电子邮件的其他传入消息,确定通常包括在对此类电子邮件的响应中的信息类型,以及基于所述信息类型来确定对电子邮件的至少一个响应。计算系统可以发送至少一个候选响应到计算设备,所述计算设备可以输出至少一个候选响应并接收所述候选响应中的一者的选择的指示,从而使用户能够选择特定候选响应并将特定候选响应发送到一个或多个其他计算设备(例如,作为对电子邮件的响应)。

以此方式,本公开的技术可以使用户在无需手动地输入响应的情况下能够发送对传入通信的相关响应。当用户可能难以或不希望手动输入响应的文本信息时,允许用户从一个或多个候选响应中进行选择可能是特别有用的。本公开的技术可以使计算设备能够基于所接收的传入通信来预测用户可能如何响应而提高用户的效率。因此,根据本公开的技术而配置的计算设备可以减少或消除用户花费时间手动输入用于对传入通信的响应的信息的需要。

大体来说,用户的计算设备仅在计算设备接收到来自用户的发送信息的许可时才可以向计算系统发送信息(例如,传入通信、位置信息、其他场境信息等)。例如,在下文论述的计算设备可以收集、传输或可以利用关于用户的个人信息(例如,传入通信)的情况中,用户可以具备控制计算设备的程序或特征是否可以收集用户信息(例如,关于用户的通信、用户的社交网络、用户的社交动作或活动、用户的职业、用户的偏好或用户的当前位置的信息)、或者控制计算设备是否和/或如何可以存储并共享用户信息的机会。

另外,某些数据可以在由计算设备存储、传输或使用之前以一种或多种方式被处理,以便消除个人身份信息。例如,可以对用户的身份进行处理,使得不能确定关于用户的个人身份信息,或者可以在获得位置信息(诸如城市、邮政编码或州级)的情况下将用户的地理位置概括化,使得不能确定用户的具体位置。因此,用户可以控制如何收集关于用户的信息并由计算设备存储、传输和/或使用。

图1是根据本公开的一个或多个方面的示出用于向传入通信提供候选响应的示例性计算环境1和GUI 20的概念图。如图1的实例中所示,计算环境1包括计算设备2A、网络12和响应建议系统14。计算设备2A的实例可以包括(但不限于)便携式、移动或其他设备,诸如移动电话(包括智能电话)、膝上型计算机、台式计算机、平板计算机、智能电视平台、个人数字助理(PDA)、服务器计算机、大型机及其类似者。例如,在图1的实例中,计算设备2A可以是智能电话。

如图1的实例中所示,计算设备2A包括用户界面(UI)设备4。计算设备2A的UI设备4可以被配置成用作计算设备2A的输入设备和/或输出设备。UI设备4可以使用各种技术来实现。例如,UI设备4可以被配置成通过触觉、音频和/或视频反馈来接收来自用户的输入。输入设备的实例包括存在敏感显示器、存在敏感或触敏输入设备、鼠标、键盘、语音响应系统、视频摄像机、麦克风或用于检测来自用户的命令的任何其他类型的设备。在一些实例中,存在敏感显示器包括触敏或存在敏感输入屏幕,诸如电阻式触摸屏、表面声波触摸屏、电容式触摸屏、投射式电容触摸屏、压力敏感屏幕、声学脉冲辨识触摸屏或另一存在敏感技术。也就是说,计算设备2A的UI设备4可以包括可以接收来自计算设备2A的用户的触觉输入的存在敏感设备。UI设备4可以通过检测来自用户的一个或多个示意动作(例如,当用户用手指或触控笔触碰或指向UI设备4的一个或多个位置时)来接收触觉输入的指示。

UI设备4可以另外地或替代地通过使用触觉、音频或视频刺激来向用户提供输出而被配置成用作输出设备。输出设备的实例包括声卡、视频图形适配卡或一个或多个显示设备中的任一者,诸如液晶显示器(LCD)、点阵显示器、发光二极管(LED)显示器、有机发光二极管(OLED)显示器、电子墨水、或能够将可视信息输出给计算设备2A的用户的类似单色或彩色显示器。输出设备的附加实例包括扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)、或可以向用户产生可理解的输出的其他设备。例如,UI设备4可以将输出呈现给计算设备2A的用户,作为可以与由计算设备2A提供的功能性相关联的图形用户界面。以此方式,UI设备4可以呈现在计算设备2A处执行或可由计算设备2A访问的应用的各种用户界面(例如,电子消息应用、互联网浏览器应用等)。计算设备2A的用户可以与应用的相应用户界面交互以致使计算设备2A执行与功能相关的操作。

在一些实例中,计算设备2A的UI设备4可以检测作为来自计算设备2A的用户的输入的二维和/或三维手势。例如,UI设备4的传感器可以检测在UI设备4的传感器的阈值距离内的用户的移动(例如,移动手、手臂、笔、触控笔等)。UI设备4可以确定所述移动的二维或三维向量表示,并使向量表示与具有多个维度的手势输入(例如,手波、捏、拍手、笔划等)相关。换句话说,在一些实例中,在无需用户在UI设备4输出信息用于显示的屏幕或表面处或附近做手势的情况下,UI设备4可以检测多维手势。相反,UI设备4可以在传感器处或附近执行的多维手势,所示传感器可以或可以不定位在UI设备4输出信息用于显示的屏幕或表面附近。

在图1的实例中,计算设备2A包括用户界面(UI)模块6、设备位置模块8和应用模块10A-10N(统称“应用模块10”)。模块6、8和/或10可以使用驻留在计算设备2A中和/或在计算设备2A处执行的硬件、软件、固件或其混合来执行本文描述的操作。计算设备2A可以使用一个处理器或使用多个处理器来执行模块6、8和/或10。在一些实例中,计算设备2A可以执行模块6、8和/或10作为在底层硬件上执行的虚拟机。模块6、8和/或10可以作为操作系统或计算平台的一个或多个服务执行,或者可以作为在计算平台的应用层的一个或多个可执行程序执行。

如图1的实例中所示,UI模块6可以由计算设备2A操作以执行一个或多个功能,诸如接收输入并将此类输入的指示发送到与计算设备2A相关联的其他组件,诸如应用模块10。UI模块6还可以接收来自与计算设备2A相关联的组件的数据,诸如设备位置模块8或应用模块10。通过使用所接收的数据,UI模块6可以使与计算设备2A相关联的其他组件(诸如UI设备4)基于所述数据来提供输出。例如,UI模块6可以接收来自应用模块10中的一者的数据以显示GUI。

如图1的实例中所示,应用模块10可以包括在计算设备2A上执行任何种类操作的功能性。例如,应用模块10可以包括文字处理器、电子邮件应用、web浏览器、多媒体播放器、日历应用、操作系统、分布式计算应用、图形设计应用、视频编辑应用、web开发应用或任何其他应用。应用模块10中的一者(例如,应用模块10A)可以是文本消息传递或短消息服务(SMS)应用。应用模块10A可以包括编写传出文本消息通信、接收传入文本消息通信、响应传入文本消息通信和其他功能的功能性。在各种实例中,应用模块10A可以提供数据到UI模块6而使UI设备4显示GUI。

在一些实例中,应用模块10中的一者或多者可以是可操作的以接收来自其他设备的传入通信(例如,经由网络12)。例如,应用模块10中的一者或多者可以接收用于与计算设备2A的用户相关联的账户的电子邮件消息、用于计算设备2A的用户的日历提醒或会议请求、或者其他传入通信。

传入通信可以包括信息(例如,响应于其他设备的用户的输入而生成的)。信息的实例包括文本(例如,字母、单词、数字、标点等的任何组合)、表情符号、图像、视频、音频、或可以包括在传入通信中的任何其他内容。在图1的实例中,应用模块10A可以接收来自另一计算设备(未图示)的传入通信(例如,文本消息)。所接收的文本消息可以包括信息“你要来酒吧么?(Are you coming to the pub?)”

在一些实例中,UI设备4可以检测对应于用户的选项选择的输入以响应于传入通信。UI模块6可以接收输入的指示,并基于所述指示将数据提供给应用模块10中的一者或多者。在一些实例中,响应于接收到数据,应用10中的一个接收者可以生成对传入通信的候选响应的请求。例如,在图1的实例中,应用10A可以生成对文本消息的候选响应的请求。所述请求可以包括包括在文本消息中的信息的至少一部分的指示。在一些实例中,所述请求可以包括其他信息,诸如位置信息、用户信息或关于计算设备2A或计算设备2A的用户的其他信息。如果计算设备2A的用户提供明确许可,那么应用10A可以仅生成请求和/或获得个人数据(例如,包括在文本消息和/或其他信息中的信息)。在接收到明确许可之后,计算设备2A可以经由网络12传输请求(例如,到响应建议系统14)。

网络12表示任何公共或专用通信网络,诸如蜂窝式网络、网络、或用于在计算设备之间传输数据的其他类型网络。在一些实例中,网络12可以表示一个或多个分组交换网络,诸如互联网。计算设备2A和响应建议系统14可以使用任何合适的通信技术在网络12上发送和接收数据。例如,计算设备2A和响应建议系统14可以使用相应的网络链路各自可操作地耦合到网络12。网络12可以包括可操作地相互耦合的网络集线器、网络交换机、网络路由器等,从而在计算设备2A与响应建议系统14之间提供信息交换。在一些实例中,网络12的网络链路可以是以太网、ATM或其他网络连接。此类连接可以包括无线和/或有线连接。网络12可以接收来自计算设备2A的请求,且将所述请求提供到响应建议系统14。

响应建议系统14可以表示能够经由网络12发送和接收信息的任何合适的远程计算系统,诸如一个或多个台式计算机、膝上型计算机、大型机、服务器、云计算系统等。在一些实例中,响应建议系统14可以表示经由网络12提供一个或多个服务的云计算系统。也就是说,在一些实例中,响应建议系统14可以是分布式计算系统。一个或多个计算设备(诸如计算设备2A)可以通过与响应建议系统14通信来访问由云提供的服务。虽然在本文描述为至少部分由响应建议系统14执行,但本公开的任何或所有技术可以通过一个或多个其他设备执行,诸如计算设备2A。也就是说,在一些实例中,计算设备2A可以可操作以单独执行本公开的一个或多个技术。

在图1的实例中,响应建议系统14包括建议模块18。建议模块18可以可操作以至少部分基于包括在传入通信中的信息来确定对传入通信的至少一个候选响应。每个候选响应可以是用户可以响应于传入通信而选择发送的预测消息。例如,在图1的实例中,建议模块18所确定的每个候选响应可以是计算设备2A的用户可以为了响应于文本消息“你要来酒吧么?”而发送的消息的预测。

建议模块18可以根据一个或多个用户(例如,计算设备2A的用户和/或其他用户)先前选择的响应来确定候选响应。也就是说,响应建议系统14可以接收来自多个源(例如,计算设备2A和/或与其他用户相关联的计算设备)的指示传入通信的信息(诸如消息历史)以及用户已选择作为对传入通信的响应的响应。也就是说,响应建议系统14可以接收与不同用户相关联且包括消息响应对的多个消息历史。消息历史可以是简单消息传递服务消息历史、多媒体消息传递服务消息历史、即时消息传递消息历史或电子邮件消息历史中的一者或多者。

在一些实例中,响应建议系统14的文本分析模块16可以将消息历史中的每个响应分类为具有信息类型集合中的一者。例如,对“什么时候适合你?(when works for you?)”的响应可以包括“下午6点(6pm)”、“10分钟内(in 10minutes)”、“现在(now)”等。基于那些响应,文本分析模块16可以将对“什么时候适合你”的响应分类为具有信息类型“时间”。类似地,文本分析模块16可以分析对“LGTM”的响应,其可以包括“谢谢(thank you)”、“很棒!(great!)”、“哎呀(whew)”等,并且确定响应具有信息类型“文本(TEXT.)”。作为另一实例,对“你想要多少?(how many would you like?)”的响应可以包括“1”、“2”、“几个(a few)”、“若干(several)”等。基于那些响应,文本分析模块16可以将对“你想要多少”的响应分类为具有信息类型“数目(NUMBER)”。

通过分析传入通信和相应的选择响应(例如,聊天日志),文本分析模块16和建议模块18(或响应建议系统14的其他组件)可以确定对消息的可能回复。也就是说,文本分析模块16和建议模块18可以基于先前的会话来产生会话的一部分到特定响应的映射。例如,文本分析模块16可以接收包括信息“你来吗?”的请求。文本分析模块16可以分析所述请求,确定可能的响应包括文本信息,且建议模块18可以确定对请求的最常见回复包括“我会在那里(I’ll be right there,)”、“是”和“不”。

在一些实例中,包括在传入通信和/或候选响应中的信息无需是适当的语言。例如,响应建议系统14可以接收确定文本“<3”(例如,心脏表情符号)的候选响应的请求。文本分析模块16可以确定此类消息应具有表情符号的响应类型,且基于此,建议模块18可以确定最常见的响应是“<3”和“:)”(例如,笑脸表情符号)。在一些实例中,候选响应可以是由一个或多个用户至少以阈值频率选择的响应。在其他实例中,候选响应可以基于另外或者替代地基于响应建议系统14的开发者或管理员的手动审查。例如,手动审查可以是有益的,以确保候选响应是合适的。

在一些实例中,建议模块18可以至少部分基于计算设备2A的用户的身份和/或关于计算设备2A的用户的信息来确定候选响应。建议模块18(或响应建议系统14的其他组件)可以接收来自计算设备2A的请求,所述请求包括特定传入通信的指示以及传入通信的接收者的身份的指示。建议模块18可以基于接收者的身份来提供个性化的候选响应。在另一实例中,建议模块18可以接收来自用户(例如,计算设备2A的用户)的明确许可,以访问通信信息、社交媒体网络信息或与用户相关的其他信息。例如,如果预期响应类型是地址,那么建议模块18可以包括家庭地址、工作地址或与用户相关联的其他地址。

响应建议系统14可以发送候选响应中的一者或多者到计算设备2A。应用10中的一者可以接收确定的候选响应的指示,且发送数据到UI模块6以使UI设备4显示候选响应。例如,在图1的实例中,应用10A可以接收对文本消息的候选响应,如响应建议系统14的建议模块18所确定。响应于接收到候选响应的指示,应用10A可以发送数据到UI模块6以使UI设备4显示候选响应作为GUI 20的部分。

如图1的实例中所示,GUI 20包括响应选择区域22。响应选择区域22可以响应于计算设备2A接收到对应于对传入通信进行响应的命令的输入而显示。响应选择区域22包括响应选项24A-24D(统称“响应选项24(response options 24)”)。在一些实例中,响应选项24可以表示从响应建议系统14接收的候选响应。在其他实例中,响应选择区域22可以表示其他响应选项,诸如先前由计算设备2A的用户对类似的传入通信输入的响应。在一些实例中,计算设备2A所接收的候选响应可以基于各种类型的信息来修改(例如,通过接收应用10中的一者),且响应选择区域22可以含有表示修改的候选响应的一个或多个响应选项。在任何情况下,GUI 20的响应选择区域22可以使计算设备2A的用户能够选择响应选项24中的一者,诸如包括显示的文本“我将在15分钟内到(I’ll be there in 15minutes)”的响应选项24A、包括显示的文本“我正在路上(I’m on my way)”的响应选项24B、或其他响应选项。

输入和选择自定义响应或选择响应选项24中的一者可以使计算设备2A能够通过发送选择的响应到一个或多个其他计算设备来响应于传入通信。可以将选择的响应(例如,用户所选择的响应选项24中的一者)发送到从其处接收传入通信的计算设备。在一些实例中,可以将选择的响应发送到附加或其他计算设备。通过使计算设备2A能够获得候选响应并显示响应选项24,响应建议系统14可以减少计算设备2A的用户输入和发送响应到传入通信所需的时间量。例如,诸如手表或其他设备的可穿戴计算设备可以能够基于所接收的传入通信而向用户显示若干候选响应,从而使用户能够快速地轻击或以其他方式选择候选响应中的一者,而非必须使用语音辨识或输入响应的其他手段。

图2是根据本公开的一个或多个方面的示出用于向传入通信提供候选响应的如图1中所示的响应建议系统的一个实例的框图。响应建议系统14可以包括硬件、固件、软件或其任何组合。在图2的实例中,响应建议系统14可以包括硬件设备,诸如服务器计算机,其具有各种硬件、固件和软件组件。然而,图2仅示出响应建议系统14的一个特定实例,且可以根据本公开的技术来使用响应建议系统14的许多其他实例。在一些实例中,响应建议系统14的组件可以位于单一的位置。在其他实例中,响应建议系统14的一个或多个组件可以在不同的位置(例如,经由图1的网络12连接)。也就是说,在一些实例中,响应建议系统14可以是常规计算系统,而在其他实例中,响应建议系统14可以是分布式或“云”计算系统。

如图2的特定实例中所示,响应建议系统14包括一个或多个处理器40、一个或多个通信单元42和一个或多个存储设备44。响应建议系统14进一步包括操作系统48、文本分析模块16、建议模块18和响应数据存储50。在其他实例中,响应数据存储50可以不包括在响应建议系统14中,且例如可以存储在可操作地和/或通信地耦合到响应建议系统14的不同计算系统处。也就是说,在一些实例中,响应数据存储50可以在响应建议系统14外部但可被它访问。

组件40、42和44中的每个者可以互连(物理地、通信地和/或可操作地)用于组件间通信。在图2的实例中,组件40、42和44可以通过一个或多个通信信道(COMM.CHANNELS)46来耦合。在一些实例中,通信信道46可以包括系统总线、网络连接、进程间通信数据结构或用于通信数据的任何其他信道。在其他实例中,诸如当响应建议系统14是分布式计算系统或基于云计算系统时,通信信道46可以包括一个或多个网络连接,诸如图1的网络12的部分。模块16、50和52、以及操作系统48、和响应数据存储50还可以响应于建议系统14而彼此以及与其他组件通信信息。

在一个实例中,处理器40被配置成实现用于在响应建议系统14内执行的功能性和/或过程指令。例如,处理器40可以能够处理存储在存储设备44中的指令。处理器40的实例可以包括以下各项中的任一者或多者:微处理器、控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门陈列(FPGA)、或包括其他硬件处理器的等效离散或集成逻辑电路。

在图2的实例中,响应建议系统14还包括一个或多个通信单元42。在一个实例中,响应建议系统14利用通信单元42以经由一个或多个网络(诸如图1的网络12)来与外部设备通信。通信单元42可以包括网络接口卡(诸如以太网卡)、光学收发器、射频收发器、或可以发送和接收信息的任何其他类型的设备。此类网络接口的其他实例可以包括蓝牙、3G和WiFi无线电组件以及通用串行总线(USB)。在一些实例中,响应建议系统14利用通信单元42以与诸如图1的计算设备2A的一个或多个外部设备无线地通信。例如,通信单元42可以接收来自计算设备2A的对候选响应的请求,且将所述请求提供到响应建议系统14的一个或多个其他组件(例如,模块16、18)。

一个或多个存储设备44可以被配置成在操作期间将信息存储在响应建议系统14内。在一些实例中,存储设备44可以被描述为计算机可读存储介质。在一些实例中,存储设备44是临时存储器,这意味着存储设备44的主要目的不是长期存储。在一些实例中,存储设备44被描述为易失性存储器,这意味着存储设备44在计算机关闭时不维持所存储的内容。易失性存储器的实例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)和此项技术中已知的其他形式的易失性存储器。在一些实例中,存储设备44用以存储用于由处理器40执行的程序指令。在一个实例中,存储设备44由在响应建议系统14上运行的软件或应用(例如,模块16、50和52)使用以在程序执行期间临时地存储信息。

在一些实例中,存储设备44还包括一个或多个计算机可读存储介质。存储设备44可以被配置成比易失性存储器存储更大量的信息。存储设备44可以进一步被配置用于信息的长期存储。在一些实例中,存储设备44包括非易失性存储元件。此类非易失性存储元件的实例包括磁性硬盘、光盘、软盘、闪存、或电可编程存储器(EPROM)或电可擦除且可编程存储器(EEPROM)的形式。

在一些实例中,响应建议系统14可以含有较多或较少的组件。例如,响应建议系统14可以含有一个或多个输入设备,诸如被配置成通过触觉、音频或视频反馈来接收来自用户或管理员的输入的设备,和/或含有一个或多个输出设备,诸如被配置成使用触觉、音频或视频刺激向用户或管理员提供输出的设备。

在图2的实例中,响应建议系统14包括操作系统48。在一些实例中,操作系统48控制响应建议系统14的组件的操作。例如,在一个实例中,操作系统48促进模块16和18与处理器40、通信单元42和存储设备44的通信。模块16和18可以各自包括可由响应建议系统14执行的程序指令和/或数据。作为一个实例,文本分析模块16和建议模块18可以包括使响应建议系统14执行本公开中描述的操作和动作中的一者或多者的指令。

响应建议系统14可以接收来自多个不同计算设备(例如,图1的计算设备2)的一个或多个消息历史。消息历史可以是简单消息传递服务消息历史、多媒体消息传递服务消息历史、即时消息传递消息历史或电子邮件消息历史中的一者或多者。文本分析模块16可以分析消息历史,并基于消息历史来产生流行的响应类型和响应集合。例如,文本分析模块16可以创建包括关于消息响应对的信息的响应表格。也就是说,表格可以包括关于所接收的消息的信息(诸如所接收消息的文本)以及关于答复的信息(诸如答复消息的文本)。在各种实例中,表格包括关于消息/响应对的附加信息,诸如消息类型和响应类型。在各种实例中,消息/响应表格可以存储在响应数据存储50内。虽然描述为表格,但可以使用一系列一个或多个数据结构来将消息和响应信息存储在数据存储50内,诸如阵列、列表、数据库、结构化文件(诸如使用标记语言编码的文件)或其他数据结构。也就是说,响应数据存储50可以含有能够由响应建议系统14的一个或多个其他组件创建和/或访问的任何格式的数据。

在一些实例中,响应数据存储50可以包括从用户接收的信息和/或由响应建议系统14的管理者或管理员提供的信息。例如,响应数据存储50可以接收来自响应建议系统14的一个或多个模块(例如,聚合模块52、归类模块54等)的指令,以创建或修改响应数据存储50内的数据。在一些实例中,响应数据存储50可能在存储或修改信息之前需要管理员批准。在存储或修改信息之前需要管理员批准可能有助于确保不存储错误或不恰当的响应,且因此不会将其建议为随后的候选响应。在其他实例中,响应数据存储50可以自动地存储聚合模块52和/或归类模块54所指示的信息,诸如当使用其他管理程序时。

聚合模块52可以分析消息历史,并将消息和响应信息存储在响应数据存储50内。例如,聚合模块52可以处理来自一个或多个消息历史的每个消息历史,且将消息历史分解为个别的消息响应对。每个消息历史可以包括用于包括在消息历史中的每个消息的时间信息、发送者信息和内容信息。聚合模块52迭代每个消息和每个消息历史。对于每个消息,聚合模块52确定在消息历史中紧挨在另一消息(例如,消息M)之前的消息(例如,消息N)。在此实例中,消息N是具有小于消息M的时间戳的最大时间戳的消息。聚合模块52分析消息N和消息M的发送者。如果消息N和M的发送者不同,那么聚合模块52将消息N的内容和消息M的内容规范化(normalize),且至少将消息N和M的规范化内容插入到消息/响应表格中。在对内容规范化过程中,聚合模块52可以将消息N和M的内容改变为一致的情况(例如,全部小写、全部大写等),可以移除所有标点,校正任何拼写错误等。

在一些实例中,在聚合模块52确定多个不同的消息与单个响应相关联或多个不同响应与单个消息相关联的情况下,消息响应对可以包括一个以上消息和/或一个以上响应。例如,聚合模块52可以确定紧挨在消息“你想见面吗?(do you want to meet?)”之后的消息“什么时间?(what time?)”应该被认为是用于处理消息历史的单个消息。作为另一实例,聚合模块52可以确定紧挨在消息“明天(tomorrow)”之后的响应“下午5点(5pm)”应该被认为是用于处理消息历史的单个响应。聚合模块52可以基于包括文本接近性(即,消息B紧挨在消息A之后或者是否存在介入消息或响应?)和时间接近性(即,用户是否在发送消息A的阈值时间量内发送消息B,诸如1秒、3秒、5秒等)的各种因素来确定两个消息/响应应被分析为单个消息/响应。因此,即使用户可能已输入两个消息–“什么时间”和“你想见面吗?”,且接收者输入了两个响应–“下午5点”和“明天”,聚合模块52可以确定消息和响应应被分析为单个消息和单个响应。

在聚合模块52已将用于至少一个消息响应对的信息存储在消息和响应表格中之后,聚合模块52可以基于响应的规范化内容来开始聚合用于每个消息的响应。也就是说,对于特定消息,聚合模块52可以识别具有相同规范化内容的响应(例如,具有内容“下午6点”的两个响应将被识别为具有相同的规范化内容),对针对特定消息具有相同规范化响应的响应的数目进行计数,并将计数存储在特定消息响应对的行中。换句话说,响应建议系统14的聚合模块52为来自多个消息响应对的每个消息确定每个响应的许多实例。如另外所述,聚合模块52合并消息和响应表格中的条目,使得针对特定消息的每个唯一响应存在单个行,且用于唯一消息响应对的行包括特定响应用于特定消息的次数的计数。

归类模块54可以将包括在消息和响应中的信息归类为具有特定信息类型。也就是说,归类模块54可以将一个或多个分类器应用于消息和响应表格中的响应,以将响应分类为具有信息类型。示例性分类器包括(但不限于)地址分类器、连锁店分类器、表情符号分类器、名人分类器、日期分类器、星期几分类器、时间分类器等。大体来说,分类器可以是被配置成检测特定类型的信息的规则。分类器可以用于任何类型的信息,且不限于所提供的几个实例。

归类模块54可以将时间分类器应用到对“什么时候适合你?”的响应。所述响应可以包括“下午6点”、“10分钟内”、“现在”等。基于那些响应并通过使用时间分类器,归类模块54可以将对“什么时候适合你”的响应分类为具有信息类型“时间”。类似地,归类模块54可以分析对“LGTM”的响应,其可以包括“谢谢”、“很棒!”、“哎呀”等,并确定所述响应具有信息类型“未知”,因为没有分类器可能是合适的。作为另一实例,对“你想要多少?”的响应可以包括“1”、“2”、“几个”、“若干”等。基于那些响应,文本分析模块16可以例如通过应用量分类器而将对“你想要多少”的响应分类为具有信息类型“量”。

在一些实例中,归类模块54可以应用地址分类器,其可以检测到“123Main St”是地址,但“你好”不是。作为另一实例,归类模块54可以应用链式分类器,其可以检测到MegaChainStore和OtherChainStore是连锁商店,但“谢谢”不是连锁商店。归类模块54可以应用表情符号分类器,其可以检测到“;)”和“:-)”是表情符号,但“!”不是表情符号。名人分类器可以检测到“巴拉克·奥巴马(Barack Obama)”和“泰勒·斯威夫特(Taylor Swift)”是名人,但“乔(Joe)”不是名人。类似地,时间分类器可以检测到“下午6点”和“18:00”是时间但“明天”不是时间,而日期分类器可以检测到“明天”和“7月4日”是日期但“7月”不是日期。作为另一实例,星期几分类器可以检测到“星期日”和“星期一”是星期几,但“劳动节”不是星期几。因此,大体来说,归类模块54可以将一个或多个分类器应用到规范化内容以将响应分类为具有一个或多个不同的信息类型。

归类模块54接着可以调用聚合模块52以基于每个规范化响应的信息类型来进一步聚合响应。例如,聚合模块52可以针对特定消息对具有每个信息类型(例如,地址、时间、表情符号、名人、未知等)的许多响应进行计数。聚合模块52将用于每个信息类型的响应总数存储在消息和响应表格内。也就是说,在文本分析模块16分析消息历史之后,响应建议系统14的文本分析模块16存储来自多个消息响应对的每个唯一消息的指示、与唯一消息所关联的相应响应相关联的信息类型的指示、以及来自具有信息类型的多个消息响应对的许多响应。在一些实例中,文本分析模块16可以生成对每个消息的最常见响应的列表,当响应建议系统14接收到针对特定传入通信的建议响应的请求时,所述列表可以被快速访问。

通过使用消息和响应表格,建议模块18可以确定用于传入通信的一个或多个候选响应。如图2中所示,建议模块18包括响应类型预测模块56、响应生成模块58和响应个性化模块60。建议模块18可以接收来自一个或多个远程计算设备(诸如图1的计算设备2A)的对候选响应的请求。请求可以包括传入通信的内容的至少一部分。然而,在一些实例中,对候选响应的请求包括其他信息。其他信息可以包括关于发送请求的计算设备的信息和/或关于发送请求的计算设备的用户的信息。例如,请求可以包括:识别发送请求的用户和/或计算设备的唯一识别符(例如,ID号)、指示计算设备的一个或多个位置的位置信息、指示计算设备的时间和/或时区设置的时间信息、指示当前正由计算设备执行的应用的应用信息和/或当前正在执行的应用正在参与的活动、指示传入通信类型的通信信息(例如,电子邮件、文本消息、日历提醒或其他类型)、计算设备将要发送的响应的类型、接收到传入通信的时间、去往或来自发送者的先前通信、指示用户职业的用户信息、用户当前参与的活动、指示传入通信的发送者的联系信息、计算设备将要发送的响应的一个或多个接收者,或其他信息。也就是说,对候选响应的请求可以包括响应建议系统14的一个或多个组件可用来确定计算设备的当前场境并定制候选响应以较佳预测对传入通信的响应的任何信息。响应建议系统14的通信单元42可以接收对候选响应的请求,并将所述请求发送到响应建议系统14的一个或多个其他组件,诸如建议模块18。

在图2的实例中,建议模块18可以由处理器40操作以接收对候选响应的请求,获得来自一个或多个其他源的信息,和/或确定所述请求的当前场境。也就是说,在一些实例中,建议模块18可以获得包括在所接收的传入通信中的信息和其他信息(例如,来自对候选响应或其他源的请求),并确定对传入通信的预测回复所基于的场境。在一些实例中,建议模块18可以确定基于包括在对候选响应的请求中的信息的场境。在其他实例中,建议模块18可以另外地或替代地获得来自其他源的补充信息,诸如与发送请求的计算设备的用户相关联的电子邮件账户、用户的社交网络连接账户、与用户相关联的web搜索历史、与用户相关联的位置历史或其他源。

如果用户提供明确许可,那么建议模块18可以仅获得用户的补充信息。也就是说,如果发送请求的计算设备(例如,计算设备2)的用户明确地允许响应建议系统14访问各种源,那么建议模块18可以仅使用各种信息源用于预测候选响应。例如,计算设备2A可以提示用户为电子邮件账户、社交网络服务账户或其他账户提供用户名和密码。在接收到信息之后,计算设备2A可以提示用户允许响应建议系统14访问账户以获得补充信息。如果用户明确地同意允许访问,那么计算设备2A可以向响应建议系统14发送账户和访问凭证的指示(例如,用户名和密码或其他信息)。如果响应建议系统14接收到明确许可,那么建议模块18可以获得补充信息。

建议模块18分析对候选响应的请求,且提取计算设备2A请求候选响应的传入通信的所包括内容。响应类型预测模块56可以确定哪些类型的响应流行用于响应具有传入通信的内容的消息。例如,响应类型预测模块56可以基于传入通信的至少一部分内容来执行响应数据存储50中的查找以检索关于一种或多种流行类型的响应的信息。作为一个实例,如果传入通信包括内容“你好吗?”,那么流行的响应类型可以是“表情符号”或“未知”。例如,如果对具有相同内容的传入通信的所有回复的百分比超过阈值流行度值(例如,大于百分之十五、百分之二十五、百分之五十等),那么响应类型可以是流行的响应类型。由响应类型预测模块56对响应数据存储50执行的查找返回满足阈值流行度值的每个类型的响应。在一些实例中,没有一种响应类型可以足够流行以满足阈值流行度值。在此类情况下,响应类型预测模块56可以检索一定数量的最流行的响应类型,诸如三个、五个等等。

响应生成模块58可以通过例如检索具有由响应类型预测模块56确定的类型中的一者或多者的流行响应来产生多个可能的响应以发送给计算设备2A。例如,如果传入通信包括内容“你好吗?”,那么响应类型表情符号的流行响应可以包括竖起大拇指的表情符号、大拇指向下的表情符号、快乐的脸部表情符号或其他表情符号。

对于某些响应类型,响应个性化模块60可以定制可能的候选响应。作为一个实例,如果传入通信包括内容“你住在哪里?”,那么响应类型预测模块56可以确定预测响应类型是地址,且响应生成模块58可以确定传入通信的内容指示所述响应应包括传入通信被引导向的用户的地址。响应个性化模块60可以确定用户的家庭地址,并用家庭地址填充候选响应。作为另一实例,如果传入通信包括内容“我什么时候可以给你打电话?”,那么预测响应类型可以是时间,且响应生成模块58可以确定包括在响应中的最常见时间的列表。然而,最流行的时间可能不是用户可用的时间。代替仅仅提供最流行的时间,响应个性化模块60可以分析用户的日历、用户的消息传递/电话使用习惯、用户的睡觉习惯等,并确定预测用户可用的一个或多个时间且包括那些时间作为可能的候选响应。

在一些实例中,响应个性化模块60还可以基于其他因素来定制建议的候选响应,诸如传入通信(例如,电子邮件、SMS、异步、同步、长形式、短形式等)的类型、所接收的传入通信的设备类型(例如,智能电话、手表、便携式计算机等)等。个性化模块60还可以维持用户所选择的候选响应的历史(即,用户用以对传入通信进行答复的候选响应),并可以基于用户所选择的响应来个性化候选响应。

建议模块18经由通信单元42将候选响应的列表发送到计算设备2A。计算设备2A可以显示建议响应的列表,并检测选择候选响应中的一者或多者的用户输入或者向传入通信输入不同的响应。计算设备2A可以向响应建议系统14提供用户输入的指示,用于包括在用户的候选响应历史中并用于由文本分析模块16分析且包括在响应数据存储50中。以此方式,候选响应类型和建议的候选响应可以基于各个用户实际上如何响应于传入通信而不断地更新和改善。

通过确定各个用户实际上使用的各种类型的响应并进一步确定特定类型的流行响应,响应建议系统14可以减少响应于传入通信所需的时间和/或努力,同时增加用户实际上将感兴趣的候选响应的可能性。此外,通过接收选择的响应的指示并更新所存储响应和相关联场境信息的数据库,响应建议系统14可以不断地改进建议的候选响应,从而可以导致候选响应更可能与用户的当前情况相关。因此,根据本公开的一个或多个技术,用户可以被呈现他或她可以选择发送作为对传入通信的响应的至少一个响应选项,从而降低用户将需要手动输入响应的可能性。

图3是根据本公开的一个或多个方面的示出在对响应进行分类的同时产生的示例性数据的概念图。下文在图2的场境内描述图3的实例。

文本分析模块16可以分析响应建议系统14所接收的消息历史,并基于消息历史来产生流行的响应类型和响应集合。例如,文本分析模块16可以创建包括关于消息响应对的信息的响应表格。也就是说,表格可以包括关于所接收的消息的信息(诸如所接收消息的文本)以及关于答复的信息(诸如答复消息的文本)。图4的表格70-76示出可以存储在响应数据存储50内的各种表格,且所述表格可以在产生流行响应类型和响应集合的同时由文本分析模块16产生和/或修改。

在各种实例中,表格70-76可以包括关于消息/响应对的附加信息,诸如消息类型和响应类型。在各种实例中,消息/响应表格可以存储在响应数据存储50内。虽然描述为表格,但可以使用一系列一个或多个数据结构来将消息和响应信息存储在数据存储50内,诸如阵列、列表、数据库、结构化文件(诸如使用标记语言编码的文件)或其他数据结构。也就是说,响应数据存储50可以含有能够由响应建议系统14的一个或多个其他组件创建和/或访问的任何格式的数据。

聚合模块52可以分析消息历史,并将消息和响应信息存储在表格70内。例如,聚合模块52可以处理来自一个或多个消息历史的每个消息历史,且将消息历史分解为个别的消息响应对,每个消息响应对可以存储在表格70的独立行中。例如,表格70的第一行存储消息响应对“你要来么”和“在路上”。聚合模块52迭代每个消息和每个消息历史,将所述消息和响应规范化,并将它们插入到响应数据存储50中。

在聚合模块52已将用于至少一个消息响应对的信息存储在消息和响应表格(例如,表格70)中之后,聚合模块52可以基于响应的规范化内容来开始聚合用于每个消息的响应,并将聚合响应存储在表格72中。也就是说,对于特定消息,聚合模块52可以识别具有相同规范化内容的响应(例如,具有内容“下午6点”的两个响应将被识别为具有相同的规范化内容),对针对特定消息具有相同规范化响应的响应的数目进行计数,并将计数存储在特定消息响应对的行中,如表格72中所示。如另外所述,聚合模块52合并消息和响应表格中的条目,使得针对特定消息的每个唯一响应存在单个行,且用于唯一消息响应对的行包括特定响应用于特定消息的次数的计数。

归类模块54可以将包括在消息和响应中的信息归类为具有特定信息类型,且将除了具有特定响应类型的响应数目之外的消息和响应类型存储在表格74内。也就是说,归类模块54可以将一个或多个分类器应用于消息和响应表格中的响应,以将响应分类为具有信息类型。示例性分类器包括(但不限于)地址分类器、连锁店分类器、表情符号分类器、名人分类器、日期分类器、星期几分类器、时间分类器等。大体来说,分类器可以是被配置成检测特定类型的信息的规则。分类器可以用于任何类型的信息,且不限于所提供的几个实例。

归类模块54接着可以调用聚合模块52以基于每个规范化响应的信息类型来进一步聚合响应。例如,聚合模块52可以针对特定消息对具有每个信息类型(例如,地址、时间、表情符号、名人、未知等)的许多响应进行计数。聚合模块52将用于每个信息类型的响应总数存储在消息和响应表格76内。也就是说,在文本分析模块16分析消息历史之后,响应建议系统14的文本分析模块16存储来自多个消息响应对的每个唯一消息的指示、与唯一消息所关联的相应响应相关联的信息类型的指示、以及来自具有信息类型的多个消息响应对的许多响应。在一些实例中,文本分析模块16可以产生对每个消息的最常见响应的列表,当响应建议系统14接收到针对特定传入通信的建议响应的请求时,所述列表可以被快速访问。

图4是根据本公开的一个或多个方面的示出用于分析对传入通信的响应的示例性操作的流程图。仅出于说明的目的,下文在图1和图2的场境内描述图5的示例性操作。

响应建议系统14接收来自一个或多个计算设备2的一个或多个消息历史(100)。每个消息历史可以包括简单消息传递服务消息历史、多媒体消息传递服务消息历史、即时消息传递消息历史或电子邮件消息历史中的一者或多者。

响应建议系统14基于消息历史来确定多个消息响应对(102)。例如,对于每个消息,聚合模块52可以确定在消息历史中紧挨在另一消息(例如,消息M)之前的消息(例如,消息N)。聚合模块52可以分析消息N和消息M的发送者。如果消息N和M的发送者是不同的,那么聚合模块52为消息响应对确定消息N和M(102)。

聚合模块52可以进一步将来自多个消息响应对的每个消息规范化(104)。在对内容规范化过程中,聚合模块52可以将消息N和M的内容改变为一致的情况(例如,全部小写、全部大写等),可以移除所有标点,校正任何拼写错误等。

聚合模块52可以基于响应的内容来聚合每个消息的响应(106)。作为一个实例,对于特定消息,聚合模块52可以识别具有相同规范化内容的响应(例如,具有内容“下午6点”的两个响应将被识别为具有相同的规范化内容)。也就是说,聚合模块52可以基于来自一个或多个聚合消息响应对的每个响应的相应信息类型来将一个或多个聚合消息响应对聚合成一个或多个合并的消息响应对。

在一些实例中,在聚合响应时,聚合模块52可以对针对特定消息具有相同规范化响应的响应数目进行计数(108)。换句话说,响应建议系统14的聚合模块52可以为来自多个消息和响应的每个消息确定每个响应的许多实例。

响应建议系统14的归类模块54可以将来自多个消息响应对的每个响应分类为具有信息类型(110)。也就是说,分类模块54可以将一个或多个分类器应用于消息和响应表格中的响应,以将响应分类为具有信息类型。示例性分类器包括(但不限于)地址分类器、连锁店分类器、表情符号分类器、名人分类器、日期分类器、星期几分类器、时间分类器等。归类模块54接着可以调用聚合模块52以基于每个规范化响应的信息类型来进一步聚合响应。在各种实例中,聚合模块52还可以基于每个响应的实例数目来确定针对一个或多个合并的消息响应对中的每个者的相应信息类型的实例的相应合并数目。

聚合模块52可以将来自多个消息响应对的每个唯一消息的指示、与唯一消息所关联的相应响应相关联的信息类型的指示、以及来自具有信息类型的多个消息响应对的许多响应存储在响应数据存储50内(112)。在一些实例中,聚合模块52进一步存储一个或多个合并的消息响应对中的每个者的相应指示、相应信息类型、和相应信息类型的实例的相应合并数目。

图5是根据本公开的一个或多个方面的示出用于向传入通信提供候选响应的示例性操作的流程图。仅出于说明的目的,下文在图1和图2的场境内描述图5的示例性操作。

计算设备2A可以接收来自另一计算设备(例如,计算设备2N)的传入通信(200)。传入通信包括与发送者和接收者相关联的信息。响应于接收到传入通信,计算设备2A可以将对候选响应的请求发送到响应建议系统14(202)。

响应建议系统14的建议模块18可以由处理器40操作以接收对候选响应的请求,获得来自一个或多个其他源的信息,和/或确定所述请求的当前场境。建议模块18分析对候选响应的请求,并基于传入通信的内容来确定一个或多个流行响应类型(204)。建议模块18的响应类型预测模块56可以确定哪些类型的响应流行用于响应具有传入通信的内容的消息。例如,响应类型预测模块56可以基于传入通信的至少一部分内容来执行响应数据存储50中的查找以检索关于一种或多种流行类型的响应的信息。由响应类型预测模块56对响应数据存储50执行的查找返回满足阈值流行度值的每个类型的响应。

响应生成模块58可以通过例如检索具有由响应类型预测模块56确定的类型中的一者或多者的流行响应来产生多个可能的响应以发送给计算设备2A(206)。例如,如果传入通信包括内容“你想什么时候见面?”,那么响应类型时间的流行响应可以包括上午8点、下午5点和下午7点。换句话说,响应产生模块可以至少部分基于多个流行响应和预期包括在响应中的信息类型来确定一个或多个候选响应。在一些实例中,基于传入通信的发送者的身份和传入通信的接收者的身份来确定一个或多个候选响应。在一些实例中,基于传入通信的通信类型(例如,电子邮件、简单消息传递服务、同步通信等)来确定一个或多个候选响应。

响应建议系统14将一个或多个候选响应的指示发送到计算设备2A(208)。计算设备2A接收一个或多个候选响应的指示,并显示关于一个或多个候选响应中的至少一者的信息(210)。计算设备2A可以被配置成基于包括在候选响应中的信息类型来不同地显示候选响应。例如,如果候选响应包括类型时间的信息,那么计算设备2A可以在时间选择器用户界面中显示最流行的候选响应。作为另一实例,如果候选响应包括类型表情符号的信息,那么计算设备2A可以在表情符号选择器用户界面中显示候选响应。

示例1。一种方法包括:通过计算系统接收多个消息历史,其中来自多个消息历史的每个消息历史包括简单消息传递服务消息历史、多媒体消息传递服务消息历史、即时消息传递消息历史或电子邮件消息历史中的一者或多者;通过计算系统基于多个消息历史来确定多个消息响应对;通过计算系统确定针对来自多个消息响应对的每个消息的每个响应的多个实例;通过计算系统将来自多个消息响应对的每个响应分类为具有信息类型;以及通过计算系统来存储来自多个消息响应对的每个唯一消息的指示、与该唯一消息所关联的相应响应相关联的信息类型的指示、以及来自多个消息响应对的具有信息类型的多个响应。

示例2。示例1的方法,进一步包括:通过计算系统从计算设备接收对传入通信的建议响应的请求,所述请求包括传入通信的指示;通过计算系统基于请求来确定预期包括在对传入通信的响应中的信息类型;通过计算系统基于请求和信息类型来确定一个或多个;以及通过计算系统向计算设备发送一个或多个候选响应的指示。

示例3。示例2的方法,其中对传入通信的建议响应的请求包括传入通信的发送者的身份和传入通信的接收者的身份,且其中一个或多个候选响应是基于发送者的身份和接收者的身份来确定的。

示例4。示例2和示例3中的任一者的方法,其中对传入通信的建议响应的请求包括传入通信的通信类型,且其中一个或多个候选响应是基于传入通信的通信类型来确定的。

示例5。示例2至4中的任一者的方法,其中对传入通信的建议响应的请求包括计算设备的设备类型,且其中一个或多个候选响应是基于计算设备的设备类型来确定的。

示例6。示例1至5中的任一者的方法,进一步包括:通过计算系统将来自多个消息响应对的每个消息规范化;通过计算系统基于规范化消息来将多个消息响应对聚合成一个或多个聚合消息响应对;以及通过计算系统来确定针对来自聚合消息响应对的相应规范化消息的每个响应的多个实例,其中分类来自多个消息响应对的每个响应包括通过计算系统将来自一个或多个聚合消息响应对的每个响应分类为具有信息类型。

示例7。示例6的方法,进一步包括:通过计算系统基于来自一个或多个聚合消息响应对的每个响应的相应信息类型来将一个或多个聚合消息响应对聚合成一个或多个合并的消息响应对;以及通过计算系统并基于每个响应的实例数目来确定针对一个或多个合并的消息响应对中的每个合并的消息响应对的相应信息类型的实例的相应合并数目,其中存储来自多个消息响应对的每个唯一消息的指示包括通过计算系统来存储一个或多个合并的消息响应对中的每个合并的消息响应对的相应指示、相应信息类型、以及相应信息类型的实例的相应合并数目。

示例8。一种计算系统,包括:被配置成接收多个消息历史的至少一个通信单元,其中来自多个消息历史的每个消息历史包括简单消息传递服务消息历史单元、多媒体消息传递服务消息历史、即时消息传递消息历史或电子邮件消息历史中的一者或多者;存储设备;至少一个处理器;以及至少一个模块,所述至少一个模块能够由至少一个处理器操作以:基于多个消息历史来确定多个消息响应对;确定针对来自多个消息响应对的每个消息的每个响应的多个实例;将来自多个消息响应对的每个响应分类为具有信息类型;以及在存储设备处存储来自多个消息响应对的每个唯一消息的指示、与该唯一消息所关联的相应响应相关联的信息类型的指示、以及来自多个消息响应对的具有信息类型的多个响应。

示例9。示例8的计算系统,其中至少一个模块进一步能够由至少一个处理器操作以:经由至少一个通信单元从计算设备接收对传入通信的建议响应的请求,所述请求包括传入通信的指示;基于请求来确定预期包括在对传入通信的响应中的信息类型;基于请求和信息类型来确定一个或多个候选响应;以及经由至少一个通信单元并向计算设备发送一个或多个候选响应的指示。

示例10。示例9的计算系统,其中对传入通信的建议响应的请求包括传入通信的发送者的身份和传入通信的接收者的身份,且其中一个或多个候选响应是基于发送者的身份和接收者的身份来确定的。

示例11。示例9和示例10中的任一者的计算系统,其中对传入通信的建议响应的请求包括传入通信的通信类型,且其中一个或多个候选响应是基于传入通信的通信类型来确定的。

示例12。示例9至11中的任一者的计算系统,其中对传入通信的建议响应的请求包括计算设备的设备类型,且其中一个或多个候选响应是基于计算设备的设备类型来确定的。

示例13。示例8至12中的任一者的计算系统,其中至少一个模块进一步可由至少一个处理器操作以:将来自多个消息响应对的每个消息规范化;基于规范化消息来将多个消息响应对聚合成一个或多个聚合消息响应对;确定针对来自聚合消息响应对的相应规范化消息的每个响应的多个实例;以及通过至少将来自一个或多个聚合消息响应对的每个响应分类为具有信息类型来分类来自多个消息响应对的每个响应。

示例14。示例13的计算系统,其中至少一个模块进一步可由至少一个处理器操作以:基于来自一个或多个消息响应对的每个响应的相应信息类型来将一个或多个聚合消息响应对聚合成一个或多个合并的消息响应对;以及基于每个响应的实例数目来确定针对一个或多个合并的消息响应对中的每个合并的消息响应对的相应信息类型的实例的相应合并数目;以及通过至少存储一个或多个合并的消息响应对中的每个合并的消息响应对的相应指示、相应信息类型、以及相应信息类型的实例的相应合并数目来存储来自多个消息响应对的每个唯一消息的指示。

示例15。一种编码有指令的非暂时性计算机可读存储介质,所述指令在被执行时使计算系统的至少一个处理器:接收多个消息历史,其中来自多个消息历史的每个消息历史包括简单消息传递服务消息历史单元、多媒体消息传递服务消息历史、即时消息传递消息历史或电子邮件消息历史中的一者或多者;基于多个消息历史来确定多个消息响应对;确定针对来自多个消息响应对的每个消息的每个响应的多个实例;将来自多个消息响应对的每个响应分类为具有信息类型;以及存储来自多个消息响应对的每个唯一消息的指示、与该唯一消息所关联的相应响应相关联的信息类型的指示、以及来自多个消息响应对的具有信息类型的多个响应。

示例16。示例15的非暂时性计算机可读存储介质,其中指令进一步使一个或多个处理器:从计算设备接收对传入通信的建议响应的请求,所述请求包括传入通信的指示;基于请求来确定预期包括在对传入通信的响应中的信息类型;基于请求和信息类型来确定一个或多个候选响应;以及向计算设备发送一个或多个候选响应的指示。

示例17。示例16的非暂时性计算机可读存储介质,其中对传入通信的建议响应的请求包括传入通信的发送者的身份和传入通信的接收者的身份,且其中一个或多个候选响应是基于发送者的身份和接收者的身份来确定的。

示例18。示例16和示例17中的任一者的非暂时性计算机可读存储介质,其中对传入通信的建议响应的请求包括传入通信的通信类型,且其中一个或多个候选响应是基于传入通信的通信类型来确定的。

示例19。示例15至18中的任一者的非暂时性计算机可读存储介质,其中指令进一步使一个或多个处理器:将来自多个消息响应对的每个消息规范化;基于规范化消息来将多个消息响应对聚合成一个或多个聚合消息响应对;确定针对来自聚合消息响应对的相应规范化消息的每个响应的多个实例;以及通过至少将来自一个或多个聚合消息响应对的每个响应分类为具有信息类型来分类来自多个消息响应对的每个响应。

示例20。示例19的非暂时性计算机可读存储介质,其中指令进一步使一个或多个处理器:基于来自一个或多个聚合消息响应对的每个响应的相应信息类型来将一个或多个聚合消息响应对聚合成一个或多个合并的消息响应对;基于每个响应的实例数目来确定针对一个或多个合并的消息响应对中的每个合并的消息响应对的相应信息类型的实例的相应合并数目;以及通过至少存储一个或多个合并的消息响应对中的每个合并的消息响应对的相应指示、相应信息类型、以及相应信息类型的实例的相应合并数目来存储来自多个消息响应对的每个唯一消息的指示。

示例21。一种包括用于示例1至7中的任一者所述的方法的装置的计算系统。

示例22。一种计算机可读存储介质,其包括在被执行时使计算设备的一个或多个处理器执行示例1至7中的任一者所述方法的指令。

在一个或多个示例中,所描述的功能可以用硬件、软件、固件或其任何组合来实现。如果以软件实现,那么可以将所述功能作为一个或多个指令或代码存储在计算机可读介质上或在其上传输,并由基于硬件的处理单元执行。计算机可读介质可以包括对应于诸如数据存储介质的有形介质的计算机可读存储介质,或包括有助于例如根据通信协议将计算机程序从一处传送到另一处的任何介质的通信介质。以此方式,计算机可读介质通常可以对应于:(1)有形计算机可读存储介质,其为非暂时性的;或者(2)通信介质,诸如信号或载波。数据存储介质可以是可由一个或多个计算机或一个或多个处理器访问以检索用于实现本公开中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。

通过示例的方式(且非限制),此类计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储器、磁盘存储器、或其他磁性存储设备、快闪存储器、或可以用以存储呈指令或数据结构形式的所要程序代码且可以由计算机访问的任何其他介质。而且,任何连接都被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或诸如红外线、无线电和微波的无线技术从网站、服务器或其他远程源传输指令,那么同轴电缆、光纤电缆、双绞线、DSL或诸如红外线、无线电和微波的无线技术包括在介质的定义中。然而,应理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他瞬态介质,而是涉及非瞬态有形存储介质。如本文所使用,磁盘和光盘包括紧密光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘使用激光光学地复制数据。上述组合也应包括在计算机可读介质的范围内。

指令可以由一个或多个处理器执行,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA),或其他等效集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可以指代上述结构中的任一者或适于实现本文所描述的技术的任何其他结构。另外,在一些方面中,本文描述的功能性可以在专用硬件和/或软件模块内提供。而且,可以将所述技术充分实现在一个或多个电路或逻辑元件中。

本公开的技术可以实现在广泛多种设备或装置中,包括无线手机、集成电路(IC)或一组IC(例如,芯片组)。在本公开中描述各种组件、模块或单元以强调被配置成执行所公开的技术的功能方面,但未必需要通过不同的硬件单元来实现。相反,如上所述,各种单元可以组合在硬件单元中,或由互操作性硬件单元的集合(包括如上所述的一个或多个处理器)结合合适的软件和/或固件来提供。

已描述各种示例。这些和其他示例在随附权利要求的范围内。

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