使用用于客户支持的语义处理的制作方法

文档序号:17486397发布日期:2019-04-20 06:51阅读:279来源:国知局
使用用于客户支持的语义处理的制作方法

本专利申请是2016年9月1日提交的并且作为美国专利号___发布的美国专利申请序列号15/254,008的部分继续申请,其要求2016年7月8日提交的美国专利申请序列号62/359,841的权益。美国专利申请序列号15/254,008和美国专利申请序列号62/359,841的整体内容在此通过引用整体地结合于本文。

本发明涉及使用语义处理来改善客户支持。



背景技术:

公司需要与客户有效地互动以向它们的客户提供服务。例如,客户可能需要获得关于公司的服务的信息,可能具有关于账单的问题,或者可能需要来自公司的技术支持。公司以各种各样不同的方式与客户互动。公司可以具有网站并且用户可以导航网站以实行各种动作。公司可以具有在诸如智能电话或平板之类的用户设备上运行的应用程序(“app”),其提供与网站类似的服务。公司可以具有电话号码,客户可以拨打该电话号码以经由互动语音响应或与客户服务代表讲话来获得信息。公司还可以使用诸如脸书或推特之类的各种社交媒体服务来对客户做出响应。

一些允许客户与公司互动的现有技术可能对客户而言是惹人讨厌的。在网站或app上导航到正确的页面或者在电话呼叫上导航语音菜单可能是消耗时间的。一些允许客户与公司互动的现有技术可能对于由公司实现而言是昂贵的。雇佣客户服务代表来手动地响应请求和接听电话可能是一项显著的支出。

附图说明

可以通过参考附图来理解本发明和其某些实施例的以下详细描述:

图1a-1c是第三方公司可以通过其向公司提供客户支持服务的示例系统。

图2是通过生成对请求的自动响应或者使用用以对请求进行响应的客户服务代表来提供客户支持服务的示例实现方式的流程图。

图3a和3b图示了用于获得客户支持的客户设备上的示例用户接口。

图4是第三方公司可以通过其向公司提供客户支持服务的示例系统。

图5a-c是通过传输更新数据来更新用户接口的一部分的示例实现方式的流程图。

图6是发送具有占位符的更新数据并且之后传输具有针对占位符的数据的更新数据的示例实现方式的流程图。

图7是通过预测用户支持请求来提供客户支持的示例实现方式的流程图。

图8a-8q图示了用于在客户与客户服务代表之间的客户支持会话的示例用户接口。

图9是可以被用来提供客户支持服务的示例性计算设备。

具体实施方式

本文中描述的是使用语义处理来响应用户的请求的技术。尽管本文中描述的技术可以被用于各种各样的用户和请求,但是为了展示的清楚,将使用提供对客户请求的响应的公司的示例。然而,本文中描述的技术不限于客户和公司,可以向来自不是客户的用户的请求提供响应,并且响应可以来自任何实体或人员。语义处理可以被用来自动响应请求、协助用户做出请求、和/或协助进行响应用户以定制对请求的响应。

语义处理可以被用来为客户提供完全自动化的体验。语义处理的使用允许客户通过使用自然语言做出请求来获得所需信息或所需支持。为了做出请求而使用自然语言可以允许客户比其他做出请求的方法更快速地接收对其请求的解决方案。在一些实例中,可以利用单个互动来解决客户的请求。例如,当客户询问“我的包裹何时到达”时,响应可以是:“您的包裹计划于周三到达并且跟踪编号是1234”。

语义处理还可以被用来改善客户的客户支持体验,并且改善公司在向客户提供支持方面的效率。语义处理可以被用来理解客户请求的意义,并且使得客户服务代表更容易对请求做出响应。在一些实现方式中,向客户服务代表呈现的用户接口可以基于客户请求的语义意义来自动地更新。例如,当客户询问他的互联网服务提供商其互联网为何不工作时,客户服务代表的用户接口可以自动更新以示出关于服务中断的信息。

向其客户提供客户支持的公司可能期望使用第三方公司的服务来改善客户支持体验并且减少总体客户支持成本。例如,公司可能发现与实现其自己的语义处理服务相比,使用第三方公司的语义处理服务更有成本效益。图1a-c图示了可以被公司用来在向其客户提供客户支持方面获得来自第三方公司的协助的三个不同架构。

图1a图示了允许第三方公司110向多个公司提供客户支持服务的系统101,其中第三方公司110是用于客户与公司之间的全部通信的客户与公司之间的中介。在图1a中,第三方公司110向公司a130、公司b131和公司c132提供客户支持服务。第三方公司110可以向任何数量的公司提供客户支持服务。

每个公司的客户可以经由第三方公司110从公司寻求客户支持,并且对客户来说,他们是直接从公司还是经由第三方公司110寻求客户支持可以是明显的或可以是不明显的。例如,客户a120可以正在寻求来自公司a130的支持,客户b121可以正在寻求来自公司b131的支持,并且客户c122可以正在寻求来自公司c132的支持。

第三方公司110可以以各种各样的方式来协助一公司提供客户支持。在一些实现方式中,第三方公司110可以通过使用对客户请求的文本的语义处理来自动响应客户的请求。在一些实现方式中,第三方公司110可以协助使客户与代表公司工作的客户服务代表(csr)连接。例如,第三方公司110可以选择csr、可以向客户提供用户接口以使得客户更容易请求支持、并且可以向csr提供用户接口以协助csr响应客户的请求。

在图1a中,第三方公司110已经使客户a120与csra140连接、已经使客户b121与csrb141连接,并且已经使客户c122与csrc142连接。每个csr可以与代表其提供客户支持的公司具有任何适当的关系。例如,csr可以是公司的雇员或承包人,并且仅向该公司的客户提供客户支持,或者csr可以同时向多个公司提供服务并且向多个公司的客户提供支持。

在一些实现方式中,第三方公司110还可以使用第四方公司150的服务来提供对公司的支持服务。例如,第三方公司110可以使用第四方公司150来提供对公司c132的支持服务。第四方公司150可以提供与向客户提供客户支持有关的任何服务。例如,第四方公司150可以提供支付服务或提供要向客户或csr提供的信息,诸如与天气或股票价格相关联的信息。

图1b图示了允许第三方公司110向多个公司提供客户支持服务的系统102,其中第三方公司110与该公司沟通,而不是与客户直接沟通。在图1b中,客户与对应公司具有网络连接,但是不直接具有与第三方公司110的网络连接。

为了使用第三方公司110的客户支持服务,公司可以向第三方公司110的服务器发出请求。在一些实现方式中,第三方公司110可以经由其服务器提供api(例如,restapi)以允许公司使用客户支持服务。例如,公司a130可以接收来自客户a120的请求,并且期望使用第三方公司110的服务。公司a130可以使其服务器向第三方公司110的服务器发出请求以确定自动响应、以使客户a120与csra140连接、或者向客户a120或csra140提供用户接口。在一些实现方式中,来自公司a130的对第三方公司110的请求可以包括第三方公司110提供其服务所需的全部信息,诸如请求的文本、客户a120与公司a130之间的先前消息或来自客户a120的客户简档的信息。在一些实现方式中,第三方公司110的服务器可以在提供客户支持服务中请求来自公司a130的服务器的信息。

图1c图示了允许第三方公司110向多个公司提供客户支持服务的系统103,其中客户可以与对应公司或第三方公司110直接沟通。在图1c中,第三方公司110可以使用上文所描述的技术的任何组合向公司提供客户支持服务。在图1c中,客户具有与对应公司和第三方公司110两者的网络连接。

在客户连接到一公司和第三方公司110二者的情况下,两个连接中的每一个可以被用于不同种类的请求。例如,在客户以不需要第三方公司110的服务的方式(例如,导航公司的网站)与公司互动的情况下,客户可以使用与公司的网络连接。在客户以使用第三方公司110的服务的方式与公司互动的情况下,可以使用与第三方的连接。对客户来说,客户正在使用与该公司的网络连接还是与第三方公司110的网络连接可能是不明显的。

图2是图示了协助公司使用图1a的系统101来提供对客户的客户支持的示例实现方式的流程图。在图2及本文中的其他流程图中,步骤的次序是示例性的,并且其他次序是可能的,并不是需要全部步骤,并且在一些实现方式中,可以省略一些步骤或者可以添加其他步骤。例如,可以通过本文中描述的任何计算机或系统来实现流程图的过程。

在步骤210处,在第三方公司110的计算机处接收有关客户请求的信息。有关客户请求的信息可以包括任何相关信息,诸如来自客户的消息的文本、有关客户的信息(例如,ip地址、客户id或认证凭证)或者关于客户从其寻求客户支持的公司的信息(例如,公司id)。可以直接从客户设备接收或者可以经由客户从其请求支持的公司的服务器来接收关于请求的信息。在一些实现方式中,可以直接从客户设备接收一些信息,并且可以从公司的服务器接收一些信息。

客户设备可以是任何适当的设备,诸如智能电话、平板、可穿戴设备或物联网设备。客户可以使用任何适当的技术提交请求,该技术诸如向运行在客户设备上的app(例如,公司的app或为了处理客户请求而创建的第三方app)键入或讲出请求、在网页上键入或讲出请求、发送文本消息、或发送电子邮件。如本文中使用的,文本消息包括作为文本发送的任何消息,其包括但不限于使用sms(短消息服务)或专用应用程序(例如,脸书的messenger、苹果的imessage、谷歌的hangouts、或者whatsapp)发送的消息。

在步骤220处,由第三方公司110实行客户请求的语义处理,以确定客户请求的意义。语义处理可以特定于客户从其请求支持的公司。例如,第三方公司可以为公司a的客户来应用语义处理的第一实现方式、为公司b的客户来应用语义处理的第二实现方式,等等。语义处理可以作为输入来接收上文所描述的任何信息,诸如消息的文本、客户id或公司id。在一些实现方式中,第三方公司可以从公司的服务器请求要在语义处理期间使用的信息,诸如关于客户的信息或关于公司服务的状态的信息(例如,服务中断)。语义处理可以被用来从指定的一组意图中选择客户请求的意图。例如,公司可以已经定义了与由公司提供的服务有关的一组意图,诸如添加新的服务、取消服务、计费或技术支持。

在一些实现方式中,可以使用其中图表的节点可以与一个或多个意图相关联的有向图来选择意图。例如,图表可以是对可能的意图进行分级地组织的树。随着树被遍历,节点可能变得更具体。例如,当前节点可以涉及技术支持,并且当前节点的子节点可以涉及电话服务的技术支持、电视服务的技术支持以及互联网服务的技术支持。对于另一示例,当前节点可以涉及计费,并且当前节点的子节点可以涉及获得最近账单、逾期账单以及退款。

图表可以具有开始节点,并且图表可以被遍历直到确定停止节点。然后可以选择与停止节点相关联的意图。可以通过使用与节点相关联的分类器来遍历图表。例如,图表的每个节点可以与分类器相关联,其中分类器可以输出是停留在当前节点处(例如,当前节点是停止节点)还是继续进行到当前节点的子节点的决策。可以使用任何适当的技术来遍历图表,该技术诸如贪婪搜索或波束搜索。

在一些实现方式中,图表的节点可以涉及寻求来自客户的澄清。例如,可以确定的是,客户支持请求涉及技术支持,并且可以向客户呈现用以对技术支持请求的主题进行澄清的请求。例如,可以向客户呈现多选列表来对请求进行澄清。在接收到澄清之后,过程可以从当前节点继续,或者可以在图表的开始节点处重新开始。

被用来处理客户请求的语义处理技术可以包括美国专利申请序列号15/254,101中所描述的任何技术,其在此通过引用整体地结合于本文。

在步骤230处,第三方公司110的服务器可以获得与来自公司的服务器的客户请求相关的信息。可以获得任何相关信息,诸如关于客户的信息或关于公司服务的状态的信息。例如,在确定客户的请求涉及服务中断的情况下,可以从公司请求有关在该客户的地理区域中公司服务的状态的信息。

在步骤240处,第三方公司110的服务器确定是可以自动地确定对客户请求的响应,还是是否需要csr来确定对客户请求的响应。确定是否需要csr可以取决于语义处理的结果(例如,所选择的意图)和上文所描述的任何信息(例如,有关客户或公司的信息)。例如,可以自动实行用以提供最近账单的金额或支付的到期日的请求,因为可以从公司的服务器检索该信息。在客户询问为何他的互联网服务不工作的情况下,是否需要csr可以取决于其他信息,诸如当前已知的服务中断。在已知当前存在影响客户的地理位置的当前的服务中断的情况下,可以自动地提供该信息。在没有影响客户的服务中断的情况下,可以将客户连接到csr以帮助诊断问题。

在步骤250处确定可以自动生成响应的情况下,然后处理可以继续进行到步骤260,其中第三方公司110的服务器可以确定对客户请求的响应。任何适当的技术可以被用来自动地确定响应,该技术诸如基于规则的方法或决策树。响应可以包括向客户发送消息或代表客户采取行动中的一个或多个。例如,代表客户采取行动可以包括提供退款、改变地址、进行支付、或者添加或取消服务。

在步骤265处,第三方公司110的服务器可以实现响应。实现响应可以包括下述各项中的一个或多个:直接向客户发送消息、向公司发送待发送给客户的消息、寻求来自客户的澄清、或联系公司的服务器以引起要代表客户实行的动作。

在步骤250处确定不可以自动生成响应的情况下,处理可以继续进行到步骤270,其中第三方公司110的服务器可以使客户与csr连接。在使客户与csr连接中,第三方公司110的服务器可以从可用csr的列表中选择csr。例如,可以基于语义处理(例如,专门针对客户的请求的csr)或者基于客户的身份来选择csr(例如,选择与客户讲相同语言或向某些客户提供vip支持的csr)。第三方公司可以更新其数据存储,以指示所选择的csr正在帮助具体客户。

在步骤275处,第三方公司110的服务器使有关客户请求的数据传输到所选择的csr。信息可以直接发送到csr,或者可以发送到公司以发送到csr。被发送到csr的信息可以包括上文所描述的任何信息,诸如客户的消息的文本或有关客户的信息。

在步骤280处,第三方公司110的服务器接收来自csr的响应。可以直接从csr接收响应,或者可以经由公司接收响应。响应可以包括向客户发送消息或代表客户采取行动中的一个或多个。

在步骤285处,第三方110的服务器例如通过使用上文为步骤265所描述的任何技术来实现响应。

在一些实现方式中,在步骤265或步骤285之后,处理可以往回进行到步骤210,在该步骤处接收到有关客户请求的附加信息。例如,可以从客户接收另一消息,或者客户可以以其他方式提供附加信息,该其他方式诸如通过对多选问题做出响应。附加信息可以涉及先前的请求或者可以涉及新的支持问题。下文是说明性示例。

客户可以请求针对第一问题的支持,并且可以自动实现响应。然后,客户可以请求针对第二问题的支持,该第二问题与第一问题不同。

客户可以请求针对第一问题的支持,并且可以自动实现响应。客户可以确定响应并不完全解决第一问题,并且可以对请求做出澄清或做出另一请求。

客户可以请求针对第一问题的支持,并且可以自动生成响应以寻求对客户的请求的澄清。例如,客户可以发送互联网不工作的消息,并且响应可以是多选问题,自动生成和发送该多选问题以获得更具体的细节(例如,wi-fi不工作、电子邮件不工作等)。客户对多选问题的答案的选择可以是步骤210的第二迭代。

客户可以请求针对第一问题的支持,并且可以使客户与csr连接。在步骤210处,由客户键入的每个消息可以被视为接收信息。在一些实现方式中,在客户与csr连接的情况下,然后可以由csr处置在相同会话中由客户所接收到的全部消息,或者可以针对每个消息做出关于是可以自动确定响应还是由csr确定响应的确定。在一些实现方式中,csr可以确定响应可以被自动生成并且使处理继续进行到步骤260。

图3a和3b图示了在客户设备上的示例用户接口,其可以被用于从使用第三方公司110的服务的公司来请求支持。图3a图示了具有其中客户可以向公司发送请求的被呈现在客户设备上的文本框310的示例的用户接口300。客户可以以如同客户正在向人员发送消息相同的方式使用自然语言键入请求。客户可以使用按钮(诸如按钮320)提交请求。在一些实现方式中,客户可以讲出请求,并且在任何的客户设备、公司的服务器或第三方公司的服务器上,语音可以被转换成文本。

在客户提交请求之后,可以如上文所描述的那样来处理请求。图3b图示了对客户的请求的三个示例响应。在用户接口330中,提供立即回答客户的问题的响应。在用户接口340中,需要来自客户的更多信息,并且响应对客户提出提供附加信息的要求。在用户接口340中,要求客户选择若干个可能选项中的一个,但是在其他实例或实现方式中,可以要求客户以其他方式(诸如通过键入附加文本)提供附加信息。在用户接口350中,客户与csr连接。本文中所描述的技术不限于前述示例响应,并且可以向客户提供任何适合的响应。例如,可以为请求改变他的或她的电话号码的客户立即提供表格,以允许该客户输入新的电话号码。例如,可以通过将表格嵌入到被用于请求用户支持的相同用户接口中、通过使app自动导航到适当的屏幕、或通过提供适当的网页来提供表格。

除了提供自动响应和使客户与csr连接之外,第三方公司110可以提供适应性用户接口来协助客户做出请求或者协助csr来响应客户的请求。例如,语义处理可以被用来理解客户请求的意义,并且向csr提供立即显现csr在响应客户时可以使用的相关信息和可用动作的用户接口。

客户服务代表用户接口

csr可以同时协助多个客户。例如,csr可以响应第一客户,并且在等待来自第一客户的回复的同时,csr可以响应第二客户。可以向csr呈现用户接口(ui)以使得csr更容易对客户做出响应和对多个客户同时做出响应。

可以使用任何适当的技术来向csr呈现ui。在一些实现方式中,csr可以使用由第三方公司提供的网站。例如,csr可以利用用户名和密码登录网站。在一些实现方式中,csr可以使用专用应用程序,诸如运行在台式计算机、膝上型计算机、平板、智能电话或其他设备上的应用程序。csr可以使用任何适当的技术(诸如键入消息、讲出使用语音识别转录为文本的消息、或者通过语音连接(诸如voip连接)与客户讲话)通过ui与客户沟通。为了展示的清楚,以下描述将使用文本沟通作为示例,但是当通过语音沟通时,也可以使用相同的技术。

图8a-q提供了可以由彼此沟通中的csr和客户使用的用户接口的示例。例如,图8a呈现了可以由csr使用的ui。图8a包括客户列表部分810,其可以包括csr当前与之沟通的客户的列表。图8a还包括对话部分820,其允许csr看到由客户键入的消息、键入对客户的消息,以及看到对话历史。图8a还包括信息部分830,其提供用以协助csr的附加信息,诸如客户简档、计费信息或公司服务的状态。

在客户与csr之间的对话期间,客户和csr中的每一个可以看到具有来自客户和csr两者的消息的整个对话历史。例如,由客户传输的每个消息可以出现在客户设备的显示器上并且出现在csrui的对话部分820中。由csr传输的每个消息也可以出现在客户设备的显示器上并且出现在csrui的对话部分820中。客户还可以看到由相同或其他csr处置的先前的支持请求的对话历史。

可以使用任何适当的技术来向csr呈现csrui。例如,可以通过运行在csr设备上的网络浏览器或运行在csr设备上的专用应用程序来呈现csrui。现在描述使用网络浏览器和专用应用程序来呈现csrui的另外的细节。

当csr使用网络浏览器访问csrui时,csr可以(例如,通过将其键入或访问书签)指定提供csrui的网址,诸如由第三方公司运营的网站的网址。网页可以由第三方公司的服务器提供,并且被呈现给csr。csr可以通过提供某个形式的用户名和密码来认证或登录。例如,csr可以利用由第三方公司提供的认证凭证或者使用单点登录服务来登录。在登录之后,可以利用与图8a类似的csrui来呈现csr。

在向csr呈现csrui时,可以由第三方公司的服务器向csr设备传输一个或多个文件,诸如html文件、css文件或javascript文件。运行在csr设备上的浏览器将处理这些文件以生成要向csr呈现的ui。在处理文件时,浏览器可以创建表示被呈现给csr的网页的文档对象模型,并且执行可以协助呈现网页的javascript,并且响应csr的动作。

在向csr呈现初始网页之后,csr设备可以稍后使用从第三方公司的服务器或从另一实体(诸如,第四方公司)所接收到的更新数据来更新网页的部分。更新数据可以以任何适当的格式(例如,json或xml),并且包括可以被用来更新或修改所呈现的网页的一部分的信息。任何适当的技术可以被用来更新网页的一部分。例如,csr可以实行动作,诸如点击按钮,这使得运行在浏览器中的javascript请求来自第三方公司的服务器的更新数据、接收更新数据,以及然后通过使用更新数据修改dom来更新网页的一部分。在一些实现方式中,推送技术(例如,comet)可以被用来允许第三方公司的服务器将更新数据推送到浏览器,并且运行在浏览器中的javascript可以接收更新数据并且修改dom从而更新网页的一部分。在一些实现方式中,运行在浏览器中的javascript可以定期轮询第三方公司的服务器以查看是否有新的更新数据可用、接收更新数据,以及使用所接收到的更新数据来更新网页的一部分。

因此,可以基于由csr实行的动作或者从服务器接收到的更新数据来连续不断地更新向csr呈现的网页。在一些实现方式中,可以在工作日的持续时间内仅向csr呈现单个网页,并且可以使用上文所描述的技术(例如,“单页”网络应用程序)来更新该单个网页。在一些实现方式中,除了更新现有的网页之外,有时可以向csr呈现新的网页。例如,csr的某些动作可以使得请求新的网页,或者可以定期地(例如,每小时一次)请求新的网页。

在一些实现方式中,被呈现给csr的初始网页可以不包括有关客户的任何信息,并且客户列表部分810可以不列出任何客户。当csr被指派来协助第一客户时,可以通过运行在浏览器中的javascript接收与第一客户相对应的更新数据,并且可以使用更新数据来更新ui的一部分,诸如通过在客户列表部分810中列出有关客户的信息并且在对话部分820中呈现来自客户的初始消息。当csr被指派第二客户或完成第一客户时,可以接收附加的更新信息,并且可以进一步更新ui。

在一些实现方式中,被呈现给csr的初始网页可以包括有关一个或多个客户的初始列表的信息。例如,当csr首先访问网页时,服务器可能已经向csr指派一个或多个客户,并且初始网页可以包括有关这些客户的信息。可以稍后如上文指定的那样来更新网页。

与加载完全新的网页来更新ui相比,更新被呈现给csr的ui的一部分可以提供更好的体验。加载完全新的网页需要从服务器下载一个或多个文件(例如,html、css、javascript)、由浏览器创建dom、以及向csr渲染网页。因此,加载新的网页可能比更新ui的一部分花费更长的时间,并且使csr在响应于客户请求方面不那么有效率。

当csr使用专用应用程序访问csrui时,csr可以使用操作系统的约定(convention)打开应用程序,诸如通过双击或触摸图标。csr或另外某人可以先前将应用程序安装在csr设备上。csr可以认证或登录,或者认证信息可以存储在csr设备上,使得csr不需要登录。

在向csr呈现csrui时,应用程序可以使用特定于csr设备的操作系统的应用程序接口(api)。操作系统可以提供api,其允许开发者呈现ui,诸如提供允许窗口和ui元素(诸如按钮和文本框)的展示的api。

在一些实现方式中,应用程序包括可执行代码和ui信息,以允许应用程序呈现与图8a的ui类似的ui。应用程序可以使用任何适当的技术来获得关于客户的信息和支持请求,诸如通过接收从第三方公司的服务器推送的更新数据或者针对更新数据轮询第三方公司的服务器。

在一些实现方式中,当开始应用程序时,将向csr呈现看起来与图8a的ui类似但是没有关于客户的任何信息的ui。然后,应用程序可以从服务器获得更新数据,诸如有关被指派给csr的第一客户的信息,以及应用程序可以使用更新数据来更新ui,诸如通过在客户列表部分810中呈现有关客户的信息以及在对话部分820中呈现来自客户的初始信息。在一些实现方式中,在呈现初始ui之前,应用程序可以从服务器获得更新数据。随着csr继续协助客户,ui可以连续不断地更新。

在一些实现方式中,不同csr可以使用不同平台访问csrui。例如,一些csr可以使用网络浏览器访问csrui,一些可以使用运行windows10的计算机来访问csrui,并且一些可以使用运行ios的平板来访问csr。为了简化用于不同平台的服务器软件的维护,服务器可以提供独立于被csr使用的平台的更新数据。因此,当更新数据被发送到csr设备时,相同的更新数据可以被发送到csr设备而无论csr设备的平台如何。

例如,当向csr指派新客户时,下面的更新数据将被发送给csr设备:

{“动作”:“新客户”,“客户id”:12345,“客户姓名”:“约翰史密斯”}

当csr完成一个客户时,下面的更新数据可以被发送到csr设备:

{“动作”:“移除客户”,“客户id”:12345}

当从客户接收到新消息时,下面的更新数据可以被发送到csr设备:

{“动作”:“新消息”,“客户id”:12345,“消息”:“我需要支付账单。”}

无论平台如何,csr设备可以已经具有处理更新数据所需的信息,并且用其更新csrui的一部分。例如,在csr正在使用网络浏览器的情况下,已经运行在浏览器中的javascript可以处理所接收到的数据以通过更新dom(例如,使用可执行代码和/或客户端模板)来修改csrui的一部分。当csr正在使用专用应用程序的情况下,该应用程序可以处理更新数据,并且使用api来修改由应用程序示出的csrui的一部分。例如,为了添加新客户,csr设备可以在客户列表部分810中确定下一可用空档(slot),并且向该空档添加客户姓名。

在一些实现方式中,更新数据可以包括描述要被用来呈现更新数据中的信息的布局的至少一些信息。例如,更新数据可以被用来指定信息部分830的内容。该更新数据可以包括待呈现的信息(例如,客户姓名)和有关信息要被如何呈现的信息(例如,以行和/或列的布局)。例如,下面的更新数据可以被发送到csr设备:

{

“动作”:“信息部分”,

“ui”:{

“类型”:“行列表”,

“儿童”:[

{“类型”:“标签”,“值”:“客户账户”},

{“类型”:“标签”,“值”:“约翰史密斯”}

]

}

}

在该示例中,“信息部分”动作可以指示要更新信息部分830,并且“ui”可以指示要被呈现的文本,并且还指示一些格式化或布局信息。例如,要被呈现的第一行可以是文本“客户账户”,并且要被呈现的第二行可以是文本“约翰史密斯”。

其他展示或布局信息可以已经被呈现在csr设备上(例如,在由网络浏览器处理的文件或专用应用程序的部分中),其特定于被csr使用的平台。例如,当在浏览器中以及在专用应用程序中呈现csrui时,字体大小和行间距可以是不同的。被存储在csr设备(例如,网络应用程序或专用应用程序)上以及被包括在更新数据中的展示或布局信息的任何组合可以被用来在csr设备上呈现csrui。

客户用户接口

客户可以以各种各样的方式请求支持,诸如从公司的网页请求支持、使用专用应用程序(例如,智能电话应用程序)请求支持、或发送文本消息。

在客户使用公司的网页请求支持的情况下,任何适当的技术可以被用来呈现允许客户请求支持的ui。例如,客户可以选择控件以使得支持ui出现在网页上的其他内容之上。

在其中客户与第三方公司110之间的沟通经由客户正在从其请求支持的公司进行的实现方式中(例如,如在图1b中),公司可以接收来自客户的支持请求,并且将该支持请求传输到第三方公司110。然后,公司可以接收来自第三方公司110的响应,并且使该响应呈现在支持ui中。

在其中客户可以与公司和第三方公司110两者直接沟通的实现方式中(例如,如在图1c中),客户的一些动作可以使请求被发送到公司,并且客户的一些动作可以使请求被发送到第三方公司110。在一些实现方式中,第三方公司110可以提供公司可以将其添加到其网页的支持小部件。例如,公司可以向其网页添加信息以使得客户的浏览器从第三方公司110的服务器检索javascript,该javascript使支持ui被呈现在网页上。客户的一些动作(诸如为了有关公司产品的信息点击链接)可以使请求被发送到公司服务器以检索新网页。客户的一些动作(诸如使用支持ui来请求客户支持)可以使请求被直接发送到第三方公司110的服务器。

客户可以登录或认证该公司和/或第三方公司。在一些实现方式中,客户可以登录该公司,并且从公司接收到的认证凭证可以与第三方公司共享,以允许客户与第三方公司进行认证(或反之亦然)。例如,客户可以使用公司的网页登录,并且从公司接收认证令牌。运行在客户设备上的可执行软件(例如,javascript)可以使认证令牌与被用来允许客户设备与第三方公司沟通的其他可执行软件共享。然后,第三方可以接收认证令牌,并且使用该认证令牌代表客户采取行动。

客户还可以使用由客户已经安装在客户设备上的公司(或由第三方公司)创建的专用应用程序来请求支持。如上,取决于实现方式,客户与第三方公司110之间的沟通可以经由公司完成,或者可以利用第三方公司110直接完成。

上文针对csrui所描述的任何技术还可以被应用于向客户呈现的支持ui。例如,可以向客户呈现初始支持ui,并且轮询或推送技术可以使得更新数据被发送到客户设备,并且使得更新或修改支持ui的一部分。

适配性用户接口

第三方公司110可以向客户和/或csr提供适应性用户接口以改善客户支持过程。特别地,第三方公司可以使用语义处理来确定客户请求的意图,并且基于所确定的意图来适配ui。

图4图示了可以被第三方公司110用来在客户支持会话期间向客户或csr提供适配性用户接口的系统400。图4包括可以向客户设备发送数据和从客户设备接收数据的客户接口组件420、可以向csr设备发送数据和从csr设备接收数据的csr接口组件440、以及促进客户与csr之间的客户支持会话的客户支持组件430。这些组件可以提供上文所描述的任何功能。图4是示例实现方式,并且本文中所描述的技术不限于图4的示例。例如,图4的组件可以被划分成多个组件或合并在一起或者可以包括其他组件,诸如负载平衡或可以与基于网络的服务一起使用的任何其他功能。

客户可以使用客户设备请求支持,诸如通过发送文本消息或在客户设备上选择用户接口控件。可以由客户接口组件420接收有关请求的信息。客户接口组件420可以向客户支持组件430传输有关请求的信息,以处理客户的请求。客户支持组件430可以使用语义响应组件455来确定用户请求的意义,诸如通过从一组可能意图中选择意图。客户支持组件430可以然后确定是否可以自动生成对请求的响应。

如果确定自动生成响应,则客户支持组件430可以确定对请求的响应,并且将有关所确定的响应的信息传输到客户接口组件420。客户接口组件420可以然后向客户发送消息,诸如通过使用模板和有关所确定的响应的信息来构建消息。客户支持组件430或者客户接口组件420还可以实行动作,诸如上文所描述的任何动作。

如果确定不自动生成响应,则客户支持组件430可以选择可用csr并且在客户与csr之间创建支持会话。客户支持组件430可以向csr接口组件440传输有关请求的信息,并且csr接口组件可以向要向csr呈现的csr设备发送有关请求的信息。csr可以创建消息以发回给客户,该消息可以被csr接口组件440接收。该消息可以被传输到客户支持组件430并且进一步被传输到客户接口组件420。客户接口组件420可以然后向客户设备传输数据,以允许客户从csr看见消息。

客户支持组件430可以提供任何其他适当的功能,以改善客户和csr两者的客户支持体验。例如,客户支持组件430可以使用自动完成组件460来向由客户或csr键入的文本提供自动完成建议、可以使用自动建议响应组件465来在响应客户时对csr建议完成响应,以及可以使用自动建议源组件470来在响应客户时对csr建议用以协助csr的源。客户支持组件可以使用在美国专利申请序列号15/254,101、美国专利申请序列号15/383,603以及美国专利申请序列号15/448,824中所描述的任何技术,其在此通过引用整体地结合于本文。

现在描述csr接口组件440的另外的细节。在csr正在使用网络浏览器访问csrui的情况下,csr接口组件440可以处置呈现csrui的登录页面、认证和初始展示(例如,传输html、css和javascript中的一个或多个)。在csr正在使用专用app访问csrui的情况下,csr接口组件440可以处置认证并且传输向csr呈现csrui所需的任何信息。在向csr初始呈现csrui之后,csr接口组件440可以协调向csr发送更新数据以使得更新或修改csrui的部分,诸如通过响应csr的动作来推送更新数据或发送更新数据。

在向csr设备发送更新数据时,csr接口组件440可以使用模板,诸如从模板数据存储411接收的模板。模板可以表示静态和动态数据的任何组合。针对模板的每次使用静态数据可以是相同的,并且动态数据可以在模板的使用之间进行改变。例如,动态数据可以由模板中的变量指定。任何适当的格式和技术可以被用于模板,诸如jinja、handlebars或smarty模板。

在使用模板创建更新数据时,csr接口组件440选择要使用的模板,并且还获得要与模板一起使用的数据。利用所选择的模板和要与模板一起使用的所获得的数据,csr接口组件440可以利用所获得的数据渲染所选择的模板,以创建要发送到csr设备的更新数据。例如,csr接口组件440可以从客户支持组件430接收特定客户被指派给特定csr的消息。响应于接收到该消息,csr接口组件440可以从模板数据存储411检索模板,诸如下面的模板:

{“动作”:“新客户”,“客户id”:{{客户:id}},“客户姓名”:“{{客户:姓名}}”}

在该模板中,双花括号(“{{“和“}}”)可以指示用于动态数据的变量,并且其他信息可以是静态信息。为了渲染模板,csr接口组件440可以获得与变量相对应的信息,诸如有关客户的信息。然后,csr接口组件可以渲染模板以创建诸如下面内容的更新数据:

{“动作”:“新客户”,“客户id”:12345,“客户姓名”:“约翰史密斯”}

然后,csr接口组件440可以向csr设备传输更新数据,以使得csr设备向客户列表部分810添加新客户。

各种各样的信息可以被用来选择模板以创建要发送给csr的更新数据。

客户从其寻求支持的公司的身份可以被用来选择模板。第三方公司110可以向许多公司提供客户支持服务,并且相应地模板可以被定制以适合每个公司的需要。针对全部或许多公司来说一些模板(诸如用以创建更新数据来向csr指派新客户的模板)可以是相同的,并且针对全部或几乎全部公司来说一些模板(诸如示出了针对公司的客户的客户简档的细节的模板)可以是不同的。

客户的身份可以被用来选择模板。例如,假设客户从互联网服务提供商寻求支持,并且客户可以订阅有线电视、电话和高速互联网服务中的一个或多个。客户的身份可以被用来确定客户所接收到的服务,并且可以基于客户所接收到的服务来选择模板。第一模板可以被用于仅接收高速互联网的客户,第二模板可以被用于仅接收有线电视的客户,等等。

在使用有关客户的信息的情况下,可以从第三方公司110的数据存储(诸如客户数据存储410)获得信息,或者可以通过从另一源请求信息来获得信息,诸如从公司的服务器请求客户信息。取决于公司,第三方公司110可以不存储客户信息,第三方公司110可以存储一些客户信息(诸如不那么敏感的信息),或者第三方公司可以存储全部客户信息。

在第三方公司110从公司请求客户信息的情况下,csr接口组件440可以使用公司数据接口组件445。公司数据接口组件445可以存储有关如何从不同公司请求用户信息的信息或者访问该信息。例如,公司数据接口组件445可以实行查找以获得服务器地址和请求格式来对公司的服务器进行restapi调用。

csr的身份可以被用来选择模板。例如,csr可以具有针对向其呈现的ui的外观的个体偏好,并且csr的偏好可以被用来定制特定于csr的模板。例如,csr偏好可以存储在csr数据存储412中,或者从公司的服务器检索,诸如通过使用公司数据接口组件445。

有关公司的信息还可以被用来选择模板。例如,公司服务的状态可以被用来选择模板。在公司是互联网服务提供商的情况下,有关服务中断的信息可以被获得并且被用来选择模板。可以诸如通过使用公司数据接口组件445,从公司的服务器检索有关公司的信息。

在客户与csr之间传输的一个或多个消息也可以被用来选择模板。在一些实现方式中,一个或多个消息可以被语义响应组件455处理,以从一组可能的意图中确定消息的意图,诸如使用上文所描述的任何技术。例如,在客户写出“请帮忙,我的互联网不工作”的情况下,语义响应组件可以确定该消息对应于互联网连接帮助意图,并且该意图可以被用来选择模板。

以上信息的任何组合可以被用来从模板数据存储中选择模板。在一些实现方式中,可以仅使用来自客户的消息的意图来选择模板。在一些实现方式中,可以使用以上信息的组合。例如,可以构建决策树,并且以上信息可以被用来遍历决策树,并且可以从决策树的叶节点中选择模板。例如,客户可以写出“请帮忙,我的互联网不工作”。可以使用(i)互联网连接帮助的意图,(ii)有关客户的信息(例如,客户的位置、由客户所接收到的服务等),以及(iii)有关公司的信息(例如,已知的服务中断)来选择模板。该信息可以被用来选择用以示出有关客户的请求的csr相关信息的模板,诸如示出了当前服务中断的位置和客户家的位置的地图。

在一些实现方式中,模板可以包含使用针对渲染模板所获得的数据来更改模板的内容的运算符。例如,如果客户是vip,则可以修改以上模板以在客户的姓名后面添加文本“(vip)”:

{“动作”:“新客户”,“客户id”:{{客户:id}},“客户姓名”:“{{客户:姓名}}”{%if客户:vip%}(vip){%endif%}}

在该模板中,“{%”和“%}”指示运算符的开始和结束,并且可以使用任何适当的符号和运算符。在模板使用运算符的情况下,可能需要更少模板,这是由于具有运算符的单个模板可以提供不具有运算符的多个模板的功能。

在选择了模板之后,可以获得渲染模板所需数据。任何适当的技术可以被用来获得渲染模板所需数据。在一些实现方式中,可以处理所选择的模板以获得渲染模板所需变量的列表(或可以与模板相联系地存储的变量名称的列表)。变量名称可以被映射到用于获得与变量名称相对应的数据的技术,并且用于获得数据的技术可以特定于客户从其寻求协助的公司。

可以获得任何适当的数据来渲染模板,诸如公司的身份、有关公司的信息、客户的身份、有关客户的信息、csr的身份、有关csr的信息或有关在客户与csr之间传输的消息的信息(例如,意图)。可以从任何适当的位置获得数据,诸如第三方公司110的数据存储或公司的服务器。

任何适当的技术可以被用来将变量名称映射到用于获得数据的过程。例如,可以使用变量名称和公司的身份来实行表查找,以获得指示如何获得数据的数据结构。在一些实现方式中,数据结构可以具有指示数据是否被第三方公司110存储(例如,在客户数据存储410中)或者是否需要从公司的服务器请求数据的条目。在数据被第三方公司110存储的情况下,数据结构可以包括诸如存储了数据的表的名称以及与数据对应的字段或列的名称之类的信息。在要从公司的服务器请求数据的情况下,数据结构可以包括诸如针对restapi调用的地址和要提供给restapi调用的参数的格式之类的信息。

在用于获得模板数据的过程已经被确定之后,可以通过实现该过程来获得模板数据。例如,第三方公司110可以从其自己的数据存储检索模板数据,或者可以从公司请求模板数据,诸如通过向公司的服务器发送restapi调用。

在已经获得了模板数据之后,csr接口组件440可以通过使用所获得的模板数据对模板进行渲染来生成更新数据。例如,所生成的更新数据可以是结构化数据项,诸如上文呈现的结构化数据项。csr接口组件440然后可以向csr设备传输更新数据,并且运行在csr设备上的软件可以使得使用更新数据来更新csrui的一部分。

在一些实现方式中,csr接口组件440可以渲染模板,并且在获得模板数据中的一些之前向csr设备传输更新数据。通过联系远程服务器获得模板数据可以是相对较慢的过程(例如,大约几秒或更长),并且可能期望在获得全部模板数据之前就更新csrui。csr接口组件440可以使用已经获得的模板数据来渲染模板,并且对于尚未获得的模板数据,csr接口组件440可以插入一个或多个占位符,其指示稍后将发送对应的数据。在一些实现方式中,占位符可以包括唯一的指示符以便于稍后插入数据。

例如,当上文所描述地渲染模板时,第三方公司110可以具有客户id,并且可以向公司服务器发送请求以获得客户的姓名。csr接口组件440可以渲染模板以生成以下更新数据:

{“动作”:“新客户”,“客户id”:12345,“客户姓名”:[[86735]]}

其中“[[86735]]”指示具有指示符86735的占位符。csr接口组件440可以向csr设备传输此更新数据,并且csr设备可以更新csrui的一部分,但是留下用于客户姓名的空白。

在第三方公司110从公司接收到客户姓名之后,csr接口组件440可以生成和发送附加的更新数据以指导csr设备插入在先前的更新数据中缺失的客户姓名。例如,csr接口组件440可以传输与下面的内容相似的更新数据:

{“动作”:“占位符”,“id”:86735,“数据”:“约翰史密斯”}

运行在csr设备上的软件可以接收该更新数据,并且使得客户的姓名插入在ui中,如同客户姓名已经被包括在先前的更新数据中那样。

客户接口组件420可以实现上文针对csr接口组件440所描述的全部技术,用以由客户设备发送要向客户呈现的客户ui。例如,客户接口组件420可以选择模板、获得模板数据、通过使用所获得的模板数据来渲染所选择的模板而生成更新数据、以及向客户设备传输更新数据以使得客户设备更新向客户呈现的客户ui的一部分。客户接口组件420还可以在接收到全部模板数据之前就渲染模板,并且向客户设备传输具有针对尚未接收到的模板数据的占位符的更新数据。在接收到模板数据之后,客户接口组件420可以发送附加的更新数据以使得占位符被模板数据替换。

图5a-5c是图示了协助公司向客户提供客户支持的示例实现方式的流程图。图5a-5c图示了在第一客户(其从第一公司寻求支持)的设备、第一公司的一个或多个服务器、第三方公司的一个或多个服务器以及向第一客户提供支持的第一csr的设备之间的交互。在一些实现方式中,可以修改图5a-5c的实体之间的连接,例如,如由图1a-1c的系统图示的。

在步骤501处,第一csr向第三方公司110传输认证信息。例如,第一csr可以使用由第三方公司提供的网页登录,或者使用被安装在由第一csr使用的设备上的专用应用程序。可以雇用第一csr来仅协助第一公司的客户,或者可以雇用第一csr来协助多于一个公司的客户。第一csr可以使用任何适当的技术来提供认证信息,诸如通过提供用户名和密码,或者使用单次登录服务。

在步骤502处,第三方公司接收认证信息,以及在步骤503处,第三方公司110可以更新csr的数据存储,例如通过修改第一csr的条目以指示第一csr对协助客户而言是可用的。在步骤504处,第三方公司向第一csr设备传输可执行软件,并且在步骤505处,第一csr设备使用可执行软件呈现ui,其允许第一csr提供对客户的支持。例如,第三方公司可以传输javascript(例如,利用html和/或css)来使得第一csr设备的网络浏览器呈现ui。在第一csr正在使用专用应用程序的情况下,可以省略步骤504,并且专用应用程序可以在步骤505处呈现ui。

任何数量的csr可以类似地实现以上步骤,该步骤为向第三方公司传输认证信息,并且访问用于向客户提供支持的ui。一些csr可以协助不同公司的客户。

在步骤506处,第一客户向第一公司传输认证信息。例如,第一客户可以访问由第一公司提供的网页,并且提供用户名和密码,或者第一客户可以使用由第一公司或第三方公司提供的专用应用程序。在步骤507处,第一公司接收由第一客户提供的认证信息,并且在步骤508处,第一公司向第一客户设备发回认证令牌以指示客户已经正确地登录。在步骤509处,第一客户设备接收和存储认证令牌。在一些实施例中,第一客户可以代替地向第三方公司传输认证信息,并且第三方公司可以向第一客户设备发回认证令牌。

第一客户可以然后访问第一公司网页(或专用应用程序)的部分,这需要客户是被认证的。例如,客户可能能够访问计费信息或改变由第一客户所接收到的服务。在一些实现方式中,在请求客户支持之前,可能需要第一客户是被认证的,或者在开始客户支持请求之后,客户可以提供认证信息。

在步骤510处,第一客户设备向第三方公司110传输认证令牌。第一客户可能知道或者可能不知道认证令牌被发送到第三方公司,并且可能根本不知道其正在与第三方公司互动(从第一客户的角度来看,他可能看起来正在与第一公司互动)。

在步骤512处,第一客户向第三方公司110传输与支持请求有关的消息。在一些实现方式中,消息可以包括第一客户的语音或由第一客户键入的文本。在一些实现方式中,第一客户可以选择与第一客户的请求的主题对应的用户接口控件(例如,“点击这里以帮助您的互联网连接”)。如上,客户可能不知道他正在与第三方公司互动。

在步骤511处,第三方公司110接收认证令牌,并且在步骤513处,第三方公司接收消息。认证令牌和消息的传输可以以任何次序发生,或者它们可以在相同的传输中被发送。第三方公司还经由来自第一客户的传输来确定第一公司的身份。例如,第一客户可以在对第三方公司的传输中传输公司标识符。

在步骤514处,第三方公司110从第一公司的服务器请求有关第一客户和/或第一公司的信息,并且该信息可以被称为公司数据。第三方公司可以请求任何适当的信息,诸如第一客户的位置、第一客户的客户简档、由第一客户接收到的服务或者由第一公司所提供的服务的状态(例如,服务中断)。第三方公司可以使用任何适当的技术来请求信息,诸如向第一公司的服务器传输restapi调用。第三方公司可以包括第一客户的认证令牌和/或其在请求中自己的认证令牌。

在步骤515处,第一公司可以认证请求(例如,通过将从第三方公司110接收的认证令牌与所存储的认证令牌进行比较),在步骤516处,第一公司可以向第三方公司传输所请求的信息,以及在步骤517处,第三方公司可以接收所请求的信息。由第一公司实行的认证可以认证第一客户和第三方公司中的一个或两者。

在步骤518处,第三方公司110选择从客户接收的消息的意图。任何适当的技术可以被用于选择消息的意图。例如,可以利用神经网络来处理来自第一客户的消息的文本,并且可以从多个可能的意图中选择意图,其中通过遍历可能的意图的图表来选择意图。有关第一客户和/或第一公司的信息可以被用来确定意图。例如,在客户没有订阅电话服务的情况下,可以在选择意图时不考虑与电话服务有关的意图。

在步骤519处,第三方公司110从csr的数据存储中选择第一csr。第三方公司可以使用任何适当的技术来选择第一csr。例如,第三方公司可以随机地选择向第一公司的客户提供服务的csr、可以使用意图来选择csr(例如,在意图涉及计费的情况下选择专门从事计费的csr)、或者可以使用关于第一客户的信息来选择csr(例如,对更有价值的客户提供更高技能的csr)。

在步骤520处,第三方公司110使用所选择的意图从可用的模板中选择模板。在一些实现方式中,上文所描述的任何数据可以被用来选择模板。可用模板中的每一个可以与一个或多个意图相关联,并且可以使用所选择的意图或可选地上文所描述的其他信息来选择模板。例如,在模板与意图之间可以存在一对一对应,一个模板可以与多个意图相关联,或者一个意图可以与多个模板相关联。可以使用任何适当的模板格式或模板选择技术(例如,基于规则的或使用决策树)。

在步骤521处,第三方公司通过渲染模板来生成更新数据。例如,第三方公司110可以通过利用与变量对应的数据替换模板中的变量来处理模板。更新数据可以以任何适当的格式,诸如结构化数据(例如,json或xml),并且可以包括用于更新向csr呈现的ui的一部分的信息。

取决于实现方式,步骤511至521可以以各种各样的次序发生。例如,可以接收第一消息,并且在接收客户的认证令牌之前选择意图。附加地,第三方公司可以对第一公司做出针对有关第一客户和/或第一公司的信息的多于一个请求,其中不同请求与不同信息有关。在一些实现方式中,第一请求可以获得数据,该数据被用来确定来自客户的消息的意图。在选择了意图和模板之后,可以请求附加信息以获得渲染模板所需的数据。

在一些实现方式中,第三方公司可能能够在接收认证信息之前识别第一客户或者确定有关第一客户的信息。例如,第三方公司可以接收第一客户的设备的ip地址,并且使用该ip地址确定有关客户的位置的信息。可以向第一csr呈现该位置信息。在第一公司具有有关其客户的ip地址的信息的情况下(例如,其中第一公司是互联网服务提供商),第三方公司可以通过向第一公司提交包括第一客户的ip地址的请求来获得关于第一客户的信息。

在步骤522处,第三方公司110向第一csr传输更新数据。在步骤523处,第一csr接收更新数据并且使用已经运行在csr设备上的可执行软件来更新向第一csr呈现的ui的一部分。在一些实现方式中,在使用网络浏览器呈现csrui的情况下,运行在网络浏览器中的javascript可以处理更新数据并且修改dom以使得更新向第一csr呈现的ui的一部分。例如,javascript可以添加html元素、移除html元素,或者修改现有的html元素以使得更新ui的一部分。在一些实现方式中,在使用专用应用程序呈现csrui的情况下,专用应用程序可以类似地处理更新数据以添加、移除或修改向第一csr呈现的ui元素。

在步骤524处,从处于csr设备处的第一csr接收输入。可以接收任何适当的输入,并且输入可以基于仅仅向第一csr呈现的经更新ui。例如,更新数据可以使按钮添加到csrui,并且第一csr可以选择刚刚添加的按钮和/或第一csr可以键入要向第一客户呈现的文本响应。

在步骤525处,与第一csr的输入有关的事件数据被传输到第三方公司110。事件数据可以包括可以被用来处理csr的输入并且实行与输入对应的动作的任何有关数据。例如,事件数据可以包括要被发送到第一客户的响应的文本或者指示由第一csr所选择的用户接口控件(例如,按钮)的信息。可以使用任何适当的技术传输事件数据。在一些实现方式中,在使用网络浏览器呈现csrui的情况下,运行在网络浏览器中的javascript可以传输httppost来传输事件数据。在一些实现方式中,在使用专用应用程序呈现csrui的情况下,任何适当的api可以被用来允许专用应用程序与第三方公司的服务器通信。

在步骤526处,第三方公司110的服务器接收事件数据。第三方公司可以处理事件数据以使得实行动作,诸如向第一客户发送消息、向第一客户提供退款或者改变向第一客户提供的服务。动作可以被称为其中向第一客户发送消息的消息动作,和其中第一公司的计算机代表第一客户实行动作的服务动作。事件数据的随后处理可以取决于在事件数据中传输的信息是否涉及消息动作和/或服务动作。

在事件数据包括有关服务动作的信息的情况下,在步骤527处,第三方公司110的服务器可以使得第一公司实现服务动作,以及在步骤528处,第一公司可以实行服务动作。任何适当的技术可以被用于第三方公司来使得第一公司实行服务动作,以及以便第一公司来实行服务动作。例如,第三方公司可以使用由第一公司所提供的restapi向第一公司的服务器传输请求,并且由第一公司实现的软件可以使得实行服务动作。

在事件数据包括有关要传输到第一客户的消息的信息的情况下,在步骤529处,第三方公司110的服务器向第一客户的设备传输消息,并且在步骤530处,第一客户的设备向第一客户呈现该消息。任何适当的技术可以被用来向第一客户传输和呈现消息。例如,第三方公司可以通过渲染模板来生成更新数据。

在步骤528和/或530之后,可以重复上面的处理的方面。例如,第一客户可以传输另一消息,其涉及相同客户支持问题或者涉及不同的客户支持问题。基于处理消息,消息可以被发送到相同csr或不同的csr,可以确定消息的意图、可以选择模板,并且可以基于消息的意图来更新csr的ui。

图6是图示了发送具有用以表示尚不可得到的数据的占位符的更新数据并且之后在已经接收到数据之后发送更新数据的示例实现方式的流程图。图6示出了用于与csrui一起使用占位符的示例实现方式,并且可以应用相似的技术来与客户ui一起使用占位符。

在步骤601处,第三方公司110使用针对尚不可得到的数据的占位符来生成第一更新数据。尚不可得到的数据被称为延迟数据。第三方公司还可以创建被包括在第一更新数据中并且还由第三方公司存储的针对占位符的标识符。例如,第一更新数据可以通过如下在方括号中包括占位符的标识符来指示占位符:

{“动作”:“新客户”,“客户id”:12345,“客户姓名”:[[86735]]}

之后,第三方公司可以使用标识符来在已经接收到延迟数据之后发送与该占位符对应的延迟数据。本文中所描述的任何技术可以被用来生成第一更新数据,并且任何适当的技术可以被用来在第一更新数据中指示占位符。

在步骤602处,第一更新数据被传输到第一csr设备,并且在步骤603处,运行在第一csr设备上的可执行软件使得使用第一更新数据来更新csrui的一部分,诸如通过使用上文所描述的任何技术。在更新csrui时,第一csr设备可以指示与占位符对应的延迟数据尚不可得到,诸如通过在csrui的部分中呈现与占位符对应的空白、呈现动画(例如,旋转轮)、或呈现文本或图表以指示与占位符对应的延迟数据将很快到达。

第一csr设备可以存储信息以指示呈现了占位符并且允许当接收到延迟数据时利用该延迟数据来替换占位符。在一些实现方式中,第一csr设备可以向csrui添加元数据以指示占位符的标识符。例如,可以将html元素“<spanid=‘86735’></span>”插入到csrui中以指示占位符。

在步骤604处,第三方公司110的服务器可以从第一公司请求与占位符对应的延迟数据。在一些实现方式中,可以在其他时间实行步骤604,诸如在步骤601之前。在步骤605处,第一公司的服务器接收请求并且向第三方公司的服务器传输延迟数据。在步骤606处,第三方公司的服务器接收延迟数据。任何适当的技术可以被用来请求和传输延迟数据。

在步骤607处,第三方公司110生成第二更新数据,其包括占位符的标识符和延迟数据。例如,第二更新数据可以具有下面的形式:

{“动作”:“占位符”,“id”:86735,“数据”:“约翰史密斯”}

任何适当的格式可以被用于第二更新数据。

在步骤608处,第三方公司向第一csr设备传输第二更新数据。在步骤609处,第一csr设备接收第二更新数据,并且将针对占位符的延迟数据插入到csrui中。第一csr设备可以使用第二更新数据中的占位符的标识符来确定针对占位符的延迟数据要被插入在csrui中的位置。例如,运行在第一csr设备上的javascript可以将html元素“<spanid=‘86735’></span>”修改成如“<spanid=‘86735’>johnsmith</span>”这样的包括针对占位符的数据。

预测性用户接口

在向客户呈现客户ui时,第三方公司110还可以预测客户的需要(例如,预测客户即将做出的请求)。然后,客户ui可以在客户已经做出请求之前向客户呈现回答客户请求的信息,或者提供使得客户更容易做出请求的ui。

客户接口组件420可以从客户设备接收客户的标识符(例如,认证令牌),如上文所描述的。客户接口组件420和/或客户支持组件430可以与请求预测器组件450交互以预测可能由客户做出的请求。为了预测请求,请求预测器组件450可以获得上文所描述的任何数据,诸如有关客户的信息或有关公司服务的状态的信息。可以被用来预测客户请求的数据被称为预测数据。

请求预测器组件可以使用任何适当的技术来预测客户的请求。在一些实现方式中,请求预测器组件450可以使用一组规则或决策树来使用预测数据预测客户请求。在一些实现方式中,请求预测器组件450可以使用神经网络来预测客户请求。请求预测器组件450可以在预测客户请求时使用一组客户意图(诸如由语义响应组件455使用的一组客户意图)。

在预测一个或多个可能请求之后,客户支持组件430可以生成要向客户设备传输的数据或信息。在一些实现方式中,客户支持组件430可以使用被用于向实际的客户请求提供自动响应的相同技术来生成响应。例如,所预测的请求可以涉及影响客户的服务中断,并且客户支持组件430可以生成用以向客户呈现以通知客户服务中断和用于恢复服务的预期时间的消息。在一些实现方式中,客户支持组件430可以生成用以向客户呈现的有关ui元素的信息,诸如按钮。例如,所预测的请求可以涉及计费,并且客户支持组件430可以生成数据,来向客户呈现用以查看最近账单的按钮和用以在线支付账单的按钮。

客户接口组件420可以然后向客户设备传输数据,以在客户已经做出请求(或完成做出请求)之前向客户呈现有关所预测的请求的信息。在一些实现方式中,客户接口组件420可以生成要向客户设备传输的更新数据,以使得客户设备更新被呈现给客户的ui的一部分。例如,客户接口组件420可以选择模板、获得模板数据、渲染模板以生成更新数据、以及向客户设备传输更新数据。下面的内容是可以做出以用来协助客户的预测的一些示例。

在一个示例中,可以预测有关服务中断的请求。使用公司的标识符,可以获得有关当前服务中断的信息。使用客户的标识符,可以获得客户的地址。在客户的地址匹配已知的服务中断的位置的情况下,请求预测器组件450可以预测到客户将请求有关服务不工作的信息。客户支持组件430可以生成要向客户传输的信息,诸如存在服务中断和用于解决该服务中断的预期时间的解释。客户接口组件420可以然后向客户设备发送更新数据,以向客户呈现有关服务中断的信息。

在另一示例中,可以预测有关计费问题的请求。使用客户的标识符,请求预测器组件450可以确定账单的到期日以及客户是否已经支付了账单。如果账单逾期或者在一段时间内到期(例如,在三天或更短的时间内到期),则请求预测器组件450可以预测客户将请求有关支付账单的信息。客户支持组件430可以生成要向客户传输的数据或信息,诸如账单的金额、账单的到期日和/或客户可以使用以支付账单的按钮。客户接口组件420可以然后向客户设备发送更新数据,以向客户呈现有关账单的信息和/或用以支付账单的按钮。

图7是图示了预测客户请求并且向客户呈现与所预测的请求对应的ui的示例实现方式的流程图。

在步骤701处,第一客户的设备向第三方公司110传输第一客户的标识符。标识符可以标识客户或客户设备,并且可以以任何适当的格式。例如,标识符可以包括用户名、密码、认证令牌或ip地址中的一个或多个。在步骤702处,第三方公司接收第一客户的标识符。

在步骤703处,第三方公司110从第一公司的服务器请求有关第一客户和/或第一公司的信息。第三方公司可以请求上文所描述的任何信息。在步骤704处,第一公司接收请求并且向第三方公司传输所请求的信息。在步骤705处,第三方公司接收所请求的信息。

在步骤706处,第三方公司110预测可能由第一客户做出的客户支持请求,例如通过使用上文所描述的任何技术。在步骤707处,第三方公司生成与所预测的请求对应的ui信息。例如,ui信息可以包括用以响应于第一客户的所预测的请求的消息,或者可以包括用以向第一客户呈现的有关ui元素(例如,按钮)的信息,以使得第一客户更容易获得与所预测的请求有关的信息。

在步骤708处,向第一客户设备传输ui信息。任何适当的技术可以被用来发送ui信息,诸如如上文所描述的那样发送通过渲染模板所生成的更新数据。

在步骤709处,第一客户设备呈现与所接收到的ui信息对应的ui。在一些实现方式中,运行在第一客户设备上的可执行软件可以使得使用ui信息来更新ui的一部分。

在向第一客户呈现的ui包括可以由第一客户使用的ui元素的情况下,在步骤710处,第一客户可以提供输入,诸如选择按钮或键入消息。与第一客户的输入有关的事件数据可以被传输到第三方公司。在步骤711处,第三方公司可以实行与事件数据对应的动作。例如,在第一客户点击按钮来查看他的最近账单的情况下,第三方公司可以向第一客户设备传输有关账单的信息。

示例实现方式

图8a-q图示了可以被csr和客户使用并且可以结合上文所描述的技术的示例用户接口。可以通过网络浏览器、通过专用应用程序或者任何其他适当的技术来呈现图8a-8q的ui。

图8a图示了可以被csr用来与一个或多个客户沟通的示例用户接口。图8a的ui包括含有不同类型的信息的不同部分。例如,图8a包括客户列表部分810,其包括csr当前与之沟通的客户的列表。通过接收和处理更新数据,可以已经将每个客户添加到客户列表部分810。在该示例中,csr正在与五个不同客户沟通,并且名为凯茜华盛顿的客户是所选择的或活跃客户。因为凯茜华盛顿是所选择的或活跃客户,ui的其他部分可以示出与凯茜华盛顿有关的其他信息,诸如在凯茜华盛顿与csr之间的消息序列。

图8a还包括示出了客户与csr之间的消息的对话部分820。在图8a的示例中,对客户的第一消息写着“我们可以如何帮助您”可以为每个新客户支持会话自动生成该消息,或者可以由csr键入该消息。客户回答“我需要向我的账户支付账单并且取消向我计费的复仇者联盟电影”。通过接收和处理更新数据,可以已经将每个消息添加到对话部分810。

图8a还包括可以呈现与客户有关的其他信息的信息部分830。在该示例中,信息部分830具有沿着按钮的三个标签,其允许csr在三个不同类型的信息之间进行选择。三个标签是“知识库”、“客户历史”和“客户简档”。在图8a中,选择客户历史标签,并且信息部分830示出了针对所选择的客户的事件历史。

图8b图示了针对csr的可能的随后的ui。在图8b中,csr已经对客户键入消息,并且可以在对话部分820中看到该消息。附加地,信息部分830现在示出了针对“客户简档”的标签,并且针对“查看电影”的建议动作831在顶部附近示出。

在从凯茜接收到处理消息之后,作为第三方公司向csr设备发送更新数据的结果可以呈现建议动作831。第三方公司可以处理从凯茜接收到的消息,确定消息的意图涉及她最近购买的电影,使用所选择的意图来选择模板、渲染所选择的模板以生成指示了如何呈现建议动作831的更新数据,并且向csr设备传输更新数据。当接收到更新数据时,csr设备可以处理更新数据以如在图8b中指示的那样呈现建议动作831。

图8c图示了在csr已经点击了与用以查看有关所购买的电影的信息的建议动作对应的“查看”按钮之后的针对csr的可能的随后的ui。在图8c中,信息部分830现在示出包括电影购买的客户的交易清单。

图8d图示了针对csr的可能的随后的ui。图8d的对话部分820的底部示出了csr在响应凯茜时使用的建议响应821。该建议响应此处陈述了客户尚未设置用于购买的pin,并且提出协助客户设置pin。第三方公司可以处理对话(例如,确定意图)和其他信息来确定对csr建议响应,并且发送更新数据以使得csr设备向csr呈现建议响应。

图8e图示了在csr从图8d选择建议响应之后的针对csr的可能的随后的ui。作为选择建议响应的结果,向客户发送消息,并且相应地该消息出现在图8e的对话部分820中。

图8e的信息部分830还包括csr可以使用的若干个源。在一些实现方式中,基于处理在客户与csr之间的对话(例如,以确定意图)的文本来自动呈现这些建议源。在一些实现方式中,csr可以通过在信息部分830的顶部处的搜索条832中键入来搜索源。在该示例中,csr已键入了“pin”。由csr键入的文本可以被用来搜索源数据库1610并且呈现匹配搜索项目的源。作为处理对话的文本的结果或者响应于由csr做出的搜索,第三方公司可以向csr设备发送更新数据以使得csr设备呈现源。

图8f图示了针对csr的可能的随后的ui,其在csr从图8e选择“用于pin设置的指令”之后。在图8f的信息部分830中,csr具有以三种不同方式向客户发送指令的选项。

图8g图示了针对csr的可能的随后的ui,其中csr已经返回到客户简档标签。在图8g中,建议动作833呈现在针对csr的信息部分830的顶部处以从凯茜请求支付。如上,第三方公司可以处理凯茜与csr之间的对话,确定对话的意图,使用所选择的意图来选择模板、渲染所选择的模板来生成与呈现建议动作833有关的更新数据,以及向csr设备传输更新数据以使得csr设备呈现建议动作833。

图8h图示了可以被与csr沟通中的客户使用的示例ui。ui840示出了具有凯茜与csr之间的最近消息的ui。ui840还示出了响应于csr从建议源833选择请求支付按钮而被发送到客户的支付按钮。在图8h中,客户可以在ui840中激活支付按钮(例如,通过触摸它),在ui841中认证支付(例如,使用指纹传感器来认证支付),并且在ui842中看到已经接收到支付的确认。可以使用上文所呈现的任何技术来向客户呈现ui840、ui841和ui842。例如,第三方公司可以向客户设备传输更新数据,以使得客户设备呈现支付按钮、呈现用于接收指纹的ui、以及呈现支付交易的结果。

图8i图示了在处理客户的支付之后的针对csr的可能的随后的ui。在图8i中,信息部分830指示已经处理了来自客户的支付。而且在图8i中,已经向客户发送消息以感谢客户进行支付。该消息可以响应于接收到支付而自动发送,并且不需由csr键入。

在图8i中的对话部分820的底部处是文本输入框822,其中csr可以键入要向客户发送的消息。图8i图示了向由csr键入的文本提供建议自动完成的示例。在该示例中,csr已键入了“您太客气了!”。之后呈现建议完成“很荣幸为您提供帮助”。csr可以选择该完成来使用,并且向客户发送完成消息。第三方公司向csr设备传输更新数据以使得csr设备呈现由csr键入的文本的建议完成。

图8j图示了在csr已经使用建议完成发送消息之后的针对csr的可能的随后的ui。完成信息已经被发送给客户,如可以在图8j的对话部分820中看到的。

csr现在可以结束协助该客户,并且可以协助另一客户。csr可以从客户列表部分810选择另一客户,并且图8k图示了在选择客户雷杰克逊之后针对csr的可能的随后的ui。

在图8k中,客户发送了消息“从两周前开始,我的互联网没有理由地开始非常缓慢”。在处理对话的文本之后,在信息部分830中呈现建议动作834。由于客户具有与互联网连接有关的问题,所以建议源允许csr启动故障排除树来协助客户解决问题。如上,第三方公司可以处理对话以确定意图,使用意图来选择模板,通过渲染模板来生成更新数据,以及发送更新数据以使得csr设备呈现建议动作834。

图8l图示了在csr已经从图8k选择了启动按钮来启动使用故障排除树之后,针对csr的可能的随后的ui。在图8l中,故障排除树的第一步是询问客户问题是与家庭网络还是wi-fi热点有关。csr可以从信息部分830选择发送问题按钮来向客户发送该问题。

在一些实现方式中,第三方公司可以发送更新数据来作为文本向客户呈现问题,并且客户可以通过键入回答来做出响应。在一些实现方式中,第三方公司可以发送更新数据以使得按钮(或一些其他用户接口元素)出现在客户设备的ui中。因此,客户可能能够通过选择适当的按钮来回答问题。在图8l中,对话部分指示客户已经通过指示问题与在家庭网络有关来做出响应。

图8m图示了针对故障排除树的下一个步骤的可能的随后的ui。可以响应于csr从图8l的信息部分830选择家庭网络按钮来显示该ui。在图8m中,故障排除树的步骤涉及确认客户的装备,并且csr可以通过点击发送问题按钮再次向客户发送问题。图8m的对话部分820示出问题已经发送给客户,并且客户已经以她的装备的序列号做出响应。

图8n图示了针对故障排除树的下一个步骤的可能的随后的ui。可以响应于csr从图8m的信息部分830选择“是”按钮来显示该ui。故障排除的下一个步骤涉及实行自动化检查。图8n的信息部分830包括允许csr向客户发送用以通知她csr将发起自动化检查的消息的按钮和用以启动自动化检查的另一按钮。在图8n中,csr已选择了两个按钮,并且如在对话部分820中示出的,对应的消息被发送给客户,并且如由信息部分830中的过程条示出的,自动化检查正在进行中。

图8o图示了在已经实行自动化检查之后的针对csr的可能的随后的ui。对于该示例,自动化检查的结果是,需要向客户的房屋派遣技术人员。可以向客户自动发送通知客户检查的结果以及需要技术人员的消息,并且在图8o的对话部分820中示出这样的消息的示例。

图8o的信息部分830还包括允许csr为技术人员与客户安排约会的按钮。在一些实现方式中,按下该按钮将向客户发送具有有关针对约会的开放空档的信息的消息,并且客户可以通过键入以指示期望的约会来做出响应。在一些实现方式中,可以向客户呈现ui以便于约会的选择。

图8p图示了可以向客户呈现以允许客户选择针对技术人员的约会时间的示例ui。第三方公司可以向客户设备传输更新数据以使设备呈现该ui。在该示例中,示出了约会的可用日期和时间并且客户可以选择可用的约会。在客户已经做出选择之后,所选择的约会可以出现在csrui中,如在图8o的对话部分820中示出的。

图8q图示了在已经在客户与csr之间发送附加消息之后的针对csr的可能的随后的ui。此处,客户想要与其线上账户相关的附加协助。在一些实现方式中,公司可以有具有不同专长的csr,并且因此协助技术支持的csr可以与协助线上账户的csr不同。在该示例中,csr可以使用移交按钮823来将客户移交给可以关于客户的线上账户来协助她的另一csr。

图9图示了用于实现上文所描述的任何技术的计算设备900的一个实现方式的组件。在图9中,组件被示为在单个计算设备900上,但是组件可以分布在多个计算设备当中,诸如计算设备的系统,包括例如终端用户计算设备(例如,智能电话或平板)和/或服务器计算设备(例如,云计算)。

计算设备900可以包括计算设备的任何典型组件,诸如易失性或非易失性存储器910、一个或多个处理器911和一个或多个网络接口912。计算设备900还可以包括任何输入和输出组件,诸如显示器、键盘和触摸屏。计算设备900还可以包括提供具体功能的各种各样组件或模块,并且这些组件或模块可以以软件、硬件或其组合来实现。下面,针对一个示例实现方式描述组件的若干个示例,并且其他实现方式可以包括附加的组件或排除下面所描述的一些组件。

计算设备900可以具有客户接口组件920,其可以接收来自客户设备的数据、向客户设备传输数据、以及实行上文所描述的其他动作。计算设备900可以具有客户支持组件921,其可以促进客户与csr之间的客户支持会话,或者向客户提供自动化客户支持。计算设备900可以具有csr接口组件922,其可以接收来自csr设备的数据、向csr设备传输数据、以及实行上文所描述的其他动作。计算设备900可以具有语义处理组件923,其可以实行上文所描述的或者通过引用结合于本文的任何专利申请中的任何语义处理任务(例如,选择意图)。计算设备900可以具有请求预测器组件924,其可以如上文所描述的那样预测客户的客户支持请求。计算设备900可以具有数据接口组件925,其从第三方公司数据存储、第三方公司向其提供服务的公司的服务器、或者第四方的服务器获得数据。计算设备900可以具有模板渲染组件926,其如上文所描述的使用模板数据来渲染模板。

计算设备900可以包括各种数据存储或者可访问各种数据存储,该数据存储诸如数据存储930、931、932和933。数据存储可以使用任何已知的存储技术,诸如文件数据库或者关系数据库或非关系数据库。例如,计算设备900可以具有客户数据存储930以便存储关于客户的任何有关信息。计算设备900可以具有csr数据存储931,其可以存储关于csr的任何有关信息。计算设备900可以具有公司数据存储932,其可以存储有关第三方公司向其提供服务的公司的任何有关信息。计算设备900可以具有模板数据存储933,其可以存储用于生成更新数据的任何模板。

可以通过在处理器上执行计算机软件、程序代码和/或指令的机器来部分地或整个地采用本文中所描述的方法和系统。如本文中使用的“处理器”意图包括至少一个处理器,并且除非上下文另外明确指定,复数和单数应当被理解为是可互换的。本发明可以被实现为机器上的方法、作为机器的部分或关于机器的系统或装置、或者在一个或多个机器上执行的被体现在计算机可读介质中的计算机程序产品。处理器可以是服务器、客户端、网络基础设施、移动计算平台、固定计算平台或其他计算平台的部分。处理器可以是任何种类的计算或处理设备,其能够执行程序指令、代码、二进制指令等等。处理器可以是或者包括信号处理器、数字处理器、嵌入式处理器、微处理器或者诸如协处理器(数学协处理器、图形协处理器、通信协处理器等)等可以直接或间接促进存储于其上的程序代码或程序指令的执行的任何变型。此外,处理器可以使得能够实现多个程序、线程和代码的执行。可以同时执行线程以加强处理器的性能并且便于应用程序的同时操作。借助于实现方式,本文中所描述的方法、程序代码、程序指令等等可以在一个或多个线程中实现。该线程可以产生可以被指派与其相关联的优先级的其他线程;处理器可以基于优先级或基于在程序代码中所提供的指令的任何其他次序来执行这些线程。处理器可以包括存储如在本文中以及别处所描述的方法、代码、指令和程序的存储器。处理器可以通过接口来访问存储介质,该存储介质存储在本文中以及别处所描述的方法、代码和指令。用于存储方法、程序、代码、程序指令或能够被计算或处理设备执行的其他类型的指令的与处理器相关联的存储介质可以包括但不限于下述各项中的一个或多个:cd-rom、dvd、存储器、硬盘、闪存驱动器、ram、rom、高速缓存等等。

处理器可以包括可以加强多处理器的速度和性能的一个或多个核心。在实施例中,处理器可以是双核处理器、四核处理器、组合两个或更多个独立核心(叫做管芯)的其他芯片级多处理器等等。

可以通过在服务器、客户端、防火墙、网关、集线器、路由器或其他这样的计算机和/或联网硬件上执行计算机软件的机器来部分地或整个地采用本文中所描述的方法和系统。软件程序可以与服务器相关联,该服务器可以包括文件服务器、打印服务器、域服务器、互联网服务器、内联网服务器和诸如辅助服务器、主机服务器、分布式服务器等等的其他变型。服务器可以包括下述各项中的一个或多个:存储器、处理器、计算机可读介质、存储介质、(物理的和虚拟的)端口、通信设备以及能够通过有线或无线介质来访问其他服务器、客户端、机器和设备的接口,等等。如在本文中以及别处所描述的方法、程序或代码可以由服务器执行。此外,执行如在本申请中所描述的方法所需要的其他设备可以被视为与服务器相关联的基础设施的一部分。

服务器可以提供对其他设备的接口,该其他设备包括但不限于客户端、其他服务器、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器等等。附加地,该耦合和/或连接可以便于跨网络远程执行程序。这些设备中的一些或全部的联网可以便于在一个或多个位置处并行处理程序或方法,而不偏离本发明的范围。此外,通过接口附接到服务器的任何设备可以包括能够存储方法、程序、代码和/或指令的至少一个存储介质。中央存储库可以提供要在不同设备上执行的程序指令。在该实现方式中,远程存储库可以充当用于程序代码、指令和程序的存储介质。

软件程序可以与客户端相关联,该客户端可以包括文件客户端、打印客户端、域客户端、互联网客户端、内联网客户端和诸如辅助客户端、主机客户端、分布式客户端等等的其他变型。客户端可以包括下述各项中的一个或多个:存储器、处理器、计算机可读介质、存储介质、(物理的和虚拟的)端口、通信设备以及能够通过有线或无线介质来访问其他客户端、服务器、机器和设备的接口,等等。如在本文中以及别处所描述的方法、程序或代码可以由客户端执行。此外,执行如在本申请中所描述的方法所需要的其他设备可以被视为与客户端相关联的基础设施的一部分。

客户端可以提供对其他设备的接口,该其他设备包括但不限于服务器、其他客户端、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器等等。附加地,该耦合和/或联接可以便于在网络上远程执行程序。这些设备中的一些或全部的联网可以便于在一个或多个位置处并行处理程序或方法,而不偏离本发明的范围。此外,通过接口附接到客户端的任何设备可以包括能够存储方法、程序、应用程序、代码和/或指令的至少一个存储介质。中央存储库可以提供要在不同设备上执行的程序指令。在该实现方式中,远程存储库可以充当用于程序代码、指令和程序的存储介质。

可以通过网络基础设施部分地或整体地采用本文中所描述的方法和系统。网络基础设施可以包括下述元素:诸如计算设备、服务器、路由器、集线器、防火墙、客户端、个人计算机、通信设备、路由设备和如本领域已知的其他有源或无源设备、模块和/或组件。与网络基础设施相关联的(一个或多个)计算和/或非计算设备可以包括与其他组件分隔开的存储介质,诸如闪速存储器、缓冲器、堆栈、ram、rom等等。在本文中以及别处所描述的过程、方法、程序代码、指令可以由一个或多个网络基础设施元素执行。

在本文中以及别处所描述的方法、程序代码和指令可以在具有多个小区的蜂窝网络上实现。蜂窝网络可以是频分多址(fdma)网络或者码分多址(cdma)网络。蜂窝网络可以包括移动设备、小区站点、基站、中继器、天线、塔等等。小区网络可以是gsm、gprs、3g、evdo、网状网络或其他网络类型。

在本文中以及别处所描述的方法、程序代码和指令可以在移动设备上或通过移动设备实现。移动设备可以包括导航设备、蜂窝电话、移动电话、移动个人数字助理、膝上型计算机、掌上型计算机、上网本、寻呼机、电子书阅读器、音乐播放器等等。这些设备可以包括(除了其他组件之外)诸如闪速存储器之类的存储介质、缓冲器、ram、rom以及一个或多个计算设备。与移动设备相关联的计算设备可以使得能够执行存储于其上的程序代码、方法和指令。替换地,移动设备可以被配置成与其他设备合作地执行指令。移动设备可以与基站通信,该基站与服务器对接并且被配置成执行程序代码。移动设备可以在对等网络、网状网络或其他通信网络上通信。程序代码可以存储在与服务器相关联的存储介质上并且由嵌入在服务器中的计算设备执行。基站可以包括计算设备和存储介质。存储设备可以存储由与基站相关联的计算设备执行的程序代码和指令。

可以在机器可读介质上存储和/或访问计算机软件、程序代码和/或指令,机器可读介质可以包括:保持被用于计算的数字数据长达一定时间间隔的计算机组件、设备和记录介质;被称为随机存取存储器(ram)的半导体存储装置;典型地用于更永久存储的大容量存储装置,诸如光盘、比如硬盘、磁带、鼓、卡及其他类型的磁存储形式;处理器寄存器、高速缓存存储器、易失性存储器、非易失性存储器;光学存储介质,诸如cd、dvd;可移除介质,诸如闪速存储器(例如,usb棒或钥匙)、软盘、磁带、纸带、穿孔卡、独立ram盘、zip驱动器、可移除大容量存储装置、离线等等;其他计算机存储器,诸如动态存储器、静态存储器、读/写存储装置、可变存储装置、只读、随机存取、顺序访问、位置可寻址、文件可寻址、内容可寻址、网络附加存储装置、存储区域网络、条形码、磁墨水等等。

本文中描述的方法和系统可以将物理和/或无形项目从一个状态变换成另一个状态。本文中描述的方法和系统还可以将表示物理和/或无形项目的数据从一个状态变换成另一个状态。

本文中描述和描绘的元素(包括遍及附图的流程图和框图中)暗示元素之间的逻辑边界。然而,根据软件或硬件工程实践,所描绘的元素及其功能可以通过计算机可执行介质在机器上实现,该机器具有能够执行存储于其上的程序指令的处理器,该程序指令作为单片软件结构、作为单独软件模块、或者作为采用外部例程、代码、服务等等或这些的任何组合的模块,并且全部这样的实现方式可以处于本公开的范围内。这样的机器的示例可以包括但不限于个人数字助理、膝上型计算机、个人计算机、移动电话、其他手持式计算设备、医疗装备、有线或无线通信设备、转换器、芯片、计算器、卫星、平板pc、电子书、小工具、电子设备、具有人工智能的设备、计算设备、联网装备、服务器、路由器等等。此外,在流程图和框图中描绘的元素或任何其他逻辑组件可以在能够执行程序指令的机器上实现。因此,虽然前述附图和描述阐述了所公开的系统的功能方面,但是不应该根据这些描述推断用于实现这些功能方面的软件的特定布置,除非明确陈述或另外根据上下文是清楚的。类似地,将领会的是,上文标识和描述的各种步骤可以改变,并且步骤的次序可以适应本文中所公开的技术的特定应用。全部这样的改变和修改意图落在本公开的范围内。如此,对各种步骤的次序的描绘和/或描述不应该被理解成要求执行那些步骤的特定次序,除非由特定应用要求,或者明确陈述或另外根据上下文是清楚的。

可以以硬件、软件或适合于特定应用程序的硬件和软件的任何组合来实现上文所描述的方法和/或过程及其步骤。硬件可以包括通用计算机和/或专用计算设备,或者特定计算设备,或者具体计算设备的特定方面或组件。可以在一个或多个微处理器、微控制器、嵌入式微控制器、可编程数字信号处理器或其他可编程设备、连同外部和/或内部存储器中实现过程。过程还可以或替代地体现在专用集成电路、可编程门阵列、可编程阵列逻辑或任何其他设备或可以被配置成处理电子信号的设备的组合中。将进一步领会的是,过程中的一个或多个可以被实现为能够在机器可读介质上执行的计算机可执行代码。

可以使用结构化编程语言(诸如c)、面向对象的编程语言(诸如c++),或任何其他高级或低级编程语言(包括汇编语言、硬件描述语言以及数据库编程语言和技术)来创建计算机可执行代码,其可以被存储、编译或解译成运行在上述设备之一、以及处理器的异构组合、处理器架构或不同硬件和软件的组合、或者能够执行程序指令的任何其他机器上。

因此,在一个方面,上文所描述的每个方法及其组合可以体现在计算机可执行代码中,该计算机可执行代码当在一个或多个计算设备上执行时实行其步骤。在另一方面,该方法可以体现在实行其步骤的系统中,并且可以以许多方式跨设备分布,或者全部功能可以别集成到专用、单独的设备或其他硬件中。在另一方面,用于实行与上文所描述的过程相关联的步骤的部件可以包括上文所描述的任何硬件和/或软件。所有这样的排列和组合都意图落在本公开的范围内。

尽管已经结合详细示出和描述的优选实施例公开了本发明,但是对其的各种修改和改进对本领域技术人员将变得显而易见。因此,本发明的精神和范围不受限于前述示例,而是要在法律可允许的最宽泛意义上来理解。

在本文中所引用的全部文档通过引用结合于本文。

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