CN111788801A - 用于数据访问的多级机器人架构 - Google Patents
用于数据访问的多级机器人架构 Download PDFInfo
- Publication number
- CN111788801A CN111788801A CN201880090385.1A CN201880090385A CN111788801A CN 111788801 A CN111788801 A CN 111788801A CN 201880090385 A CN201880090385 A CN 201880090385A CN 111788801 A CN111788801 A CN 111788801A
- Authority
- CN
- China
- Prior art keywords
- domain
- chat
- robot
- query
- knowledge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90332—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/02—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/043—Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/216—Handling conversation history, e.g. grouping of messages in sessions or threads
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/222—Monitoring or handling of messages using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Information Transfer Between Computers (AREA)
Abstract
讨论了一种使用多级机器人的方法。该方法包括通过集成机器人访问由聊天应用实例提供的表示用户查询的聊天文本。该方法包括访问与聊天应用实例的用户相关联的用户状态,该用户状态指示与聊天应用实例相关联的先前的聊天文本以及相应的知识查询。该方法包括基于用户状态和聊天文本的分析,生成知识查询用于使用一个或多个域机器人进行数据访问。该方法包括基于知识查询确定域机器人和相关联的通信协议。该方法包括使用通信协议将知识查询传送到域机器人以获得回复。该方法包括将响应文本传送到聊天应用实例,该响应文本是基于回复和用户状态而生成的。
Description
相关申请的交叉引用
本申请是2017年12月29日提交的美国专利申请No.15/859,166的继续申请,并要求其优先权,其全部内容通过引用合并于此。
技术领域
本公开的实施例总体上涉及通信系统领域,并且更具体地,涉及机器人应用之间的通信架构。
背景技术
聊天会话有助于通信系统中的聊天应用之间的通信。聊天应用的用户可以通过将通信发送到聊天会话并从聊天会话接收通信来通过通信网络与另一聊天应用的用户进行通信。机器人应用可以使用聊天会话模拟聊天应用以与其他聊天应用进行通信。机器人应用可以执行各种任务,例如数据查找、访问用户联系人以及访问软件即服务(SaaS)功能等。此外,由于每个机器人应用的开发可能需要单独的对话组件,因此多个机器人应用的开发既麻烦又困难。结果,新的机器人应用的开发既昂贵又费时,这是拥有健康的机器人应用生态系统的障碍。
另外,当需要根据需要使用多个聊天应用与多个机器人应用进行通信时,一些用户可能感到沮丧。各种机器人应用之间的集成也存在问题,例如,当要求用户使用单独的聊天应用以访问单独的机器人应用时。结果,可能使一些用户打消使用多个机器人程序来访问数据和/或执行各种任务的念头。可能使这些用户中的一些用户打消通过聊天会话进行通信来完全访问机器人应用功能的念头。
附图说明
通过参考附图,可以更好地理解本实施例,并且许多目的、特征和优点对本领域技术人员显而易见。
图1是示出使用集成机器人和多个域机器人在知识系统中进行数据访问的通信系统的实施例的系统图。
图2是示出用于使用集成机器人来访问多个域机器人在知识系统中进行数据访问的操作的实施例的流程图。
图3示出了用于访问知识系统处的集成机器人的通信的实施例。
图4示出了使用相应的通信协议生成的知识查询的实施例、用户状态的实施例以及结果的实施例。
图5是示出了集成机器人、域机器人和聊天应用实例之间的通信的实施例的时序图。
图6是在图1-5的通信系统中使用的电子设备的一个实施例的框图。
具体实施方式
以下描述包括体现本公开的技术的示例性系统、方法、技术、指令序列和计算机程序产品。然而,应理解,可以在没有这些具体细节的情况下实施所描述的实施例。例如,尽管一些示例涉及社交媒体服务,但是可以构想其他类型的媒体服务,例如在线新闻服务、其他博客和/或可以从用户接收通信的其他网站,并且还有助于显示这种通信的内容。
聊天会话有助于在通信系统中的各种设备上运行的聊天应用实例之间的通信。聊天应用的一个实例的用户可以通过向/从聊天会话发送和接收通信来通过通信系统与聊天应用的另一实例的用户进行通信。例如,通信系统有助于聊天文本通过通信网络在聊天应用实例与聊天会话之间的传输。可以由聊天服务器托管的聊天会话可以有助于聊天应用的多个实例之间的通信。每个聊天应用(例如SLACK聊天应用或FACEBOOK MESSENGER应用)都可以由用户设备托管。在某些情况下,通信可以在同一类型的聊天应用的多个实例之间。在其他情况下,通信可能涉及多种不同类型的聊天应用的实例。用户设备可以是任何类型的个人设备,例如移动电话、平板电脑或其他计算设备。因此,例如,多个SLACK聊天应用实例可以通过将聊天文本发送到SLACK聊天会话并从其中接收聊天文本来相互通信。
集成机器人可以与聊天会话进行通信,并模拟用于与其他聊天应用实例进行通信的聊天应用实例。用户可以通过聊天会话提供(可以通过Web界面提供)的对话界面与机器人应用交互。例如,机器人应用可以模拟SLACK聊天应用实例,以通过SLACK聊天会话与其他SLACK聊天应用实例进行通信。机器人应用可以从聊天会话发送和接收聊天文本。机器人应用还可以访问通过Web界面提供(也称为通过聊天会话提供)的聊天文本,例如通过浏览器访问服务提供商提供的网页。
域机器人可以提供对数据和/或服务的访问。域机器人可以例如访问在线服务(例如Web服务)。域机器人可以使在线服务执行各种交易,例如在用户帐户之间执行资金转移、使用软件即服务(SaaS)等。域机器人可以通过结构化查询语言(SQL)、Oracle数据库和/或任何关系数据库或面向对象数据库访问数据库中的数据。域机器人可以监视在本地或外部服务处正在执行的交易的状态、和/或各种软件应用的状态。域机器人可以实施针对某个知识领域的主题专家,并且可以访问该知识领域的数据和/或服务。
在一些实施例中,可以通过类似于聊天机器人应用的对话界面来访问域机器人。在一些实施例中,可以使用基于与该域机器人相关联的通信参数生成的命令序列来访问域机器人。在一些实施例中,可以使用半结构化数据(例如可扩展标记语言(XML)和JavaScript对象表示法(JSON))访问域机器人。集成机器人可以在不提供机密用户信息(例如通过从用户查询中剥离某些信息)的情况下访问域机器人。集成机器人可以通过提供域机器人访问用户查询所指示的适当数据和/或服务所需的上下文信息来增强知识查询。
域机器人可以由开发人员创建,而无需了解用户状态和/或与聊天应用实例交互。通过实现集成机器人和域机器人之间的通信协议的架构,新的域机器人的开发更加容易。集成机器人被配置为通过聊天会话执行上下文确定、聊天文本分析和聊天对话。新的域机器人只需要使用符合常规通信协议架构的通信协议。因此,开发人员集中在开发新的域机器人的功能上,而通信和上下文功能被转移到集成机器人。
在一些实施例中,集成机器人可以访问由聊天应用实例提供的聊天文本,其中聊天文本指示用户查询。集成机器人可以访问与聊天应用实例的用户相关联的用户状态,其中用户状态可以指示用户查询的上下文。用户状态还可以指示与聊天应用实例相关联的先前的聊天文本以及相应的知识查询。集成机器人可以基于用户状态和聊天文本的分析来生成知识查询,以使用一个或多个域机器人进行数据访问。集成机器人可以基于知识查询来确定域机器人和相关联的通信协议。集成机器人可以使用通信协议将知识查询传送到域机器人,以获得回复。集成机器人可以将响应文本传送到聊天应用实例,其中响应文本是基于回复和用户状态生成的。
结果,对于开发者而言,新的域机器人的开发变得容易。此外,用户可以通过一个集成机器人访问多个域机器人的功能(并且不知道任何域机器人的存在)。由于集成机器人可以根据聊天应用实例的安全级别向其提供不同级别的通信,因此另一个好处是通过确定可以在本地实体网络外部传送的数据类型来提供网络管理和安全功能,这可能是信息安全和隐私目的所需的。以下描述和相关的附图示出了针对上面列出的构思的各种实施例。
图1是示出使用集成机器人应用和多个域机器人在知识系统中进行数据访问的通信系统的实施例的系统图。在图1的系统图的概述中,知识系统105可以被本地应用101和/或外部应用102访问。知识系统105可以访问本地源103(包括本地服务123和本地数据124)和/或外部源104(包括外部服务130和外部数据132)。可以使用可以通过聊天应用实例122(1)和122(2)提供的聊天文本来访问知识系统105,以执行各种任务和/或交易、执行数据搜索、访问在线服务等。本地源103、知识系统105、本地应用101和外部访问模块120可以称为本地实体100,因为它们是在受信任的网络(例如安全内部网)内实现的。外部访问模块120可以有助于域服务108与外部源104之间的通信。可以统称为外部实体的外部应用102和外部源104在受信任网络的外部实现,因此可以被认为不安全。
在一些实施例中,集成机器人114可以由集成服务110托管。集成机器人114可以与聊天会话136通信。外部聊天服务器134和本地聊天服务器116可以是同一类型,例如,都可以是SLACK服务器。因此,聊天会话136和聊天会话118都可以是SLACK聊天会话,并且聊天应用实例122(1)和122(2)可以是SLACK聊天应用实例。然而,在其他情况下,可以通过软件和硬件的组合来托管服务或应用(例如集成机器人114)。注意,本文使用同一术语“托管”来描述软件托管和硬件托管。注意,可以通过网络浏览器界面来实现对聊天会话136的访问,在这种情况下,可以不使用外部聊天服务器134。当经由网络浏览器界面实现对聊天会话136的访问时,聊天应用实例122(2)可以仅是在用户设备128(2)处显示的网络浏览器界面的一部分。
集成机器人114可以确定每个聊天应用实例的安全级别以进行通信。集成机器人114可以根据聊天应用实例的安全级别向其提供不同级别的通信。例如,集成机器人114可以基于托管聊天会话136的外部聊天服务器134的不受信任的且因此较低的安全级别向聊天会话136提供有限的通信。类似地,集成机器人114可以基于托管聊天会话118的本地聊天服务器116的受信任的其因此更高的安全级别来向聊天会话提供更完整的通信。集成机器人114可以通过限制传送给某些聊天应用实例的信息量和/或或仅使用(例如,通信序列的)某些通信命令来提供有限的通信。例如,集成机器人114可以基于外部应用102的低安全级别来忽略信息的子集,使其不被传送到聊天应用实例122(2)。
集成机器人114可以确定用于获得数据和/或服务的每个源的安全级别。在一些实施例中,当与外部源104通信时,集成机器人114可以使域服务提供有限的通信。集成机器人114可以使用不同级别的通信来根据其安全级别从源获得数据。例如,集成机器人114可以基于外部服务130和/或外部数据132的不受信任的并且因此较低的安全级别,引导域服务108向外部源104提供有限的通信。类似地,集成机器人114基于托管该聊天会话118的本地聊天服务器116的受信任的并且因此更高的安全级别,向聊天会话118提供更完整的通信。集成机器人114可以通过限制传送到外部源的信息量和/或仅通过使用某些通信命令来提供有限的通信。
在一些实施例中,集成机器人114可以使域服务108在访问数据源时使用某些路由路径。例如,集成机器人114可以使(例如,通过提供路由通信命令)域服务108使用域机器人112(2)来访问外部服务130中的某一个以获得结果。集成机器人114还可以使(例如,通过提供路由通信命令)域服务108使用同一域机器人112(2)来访问本地数据124以获得另一结果。然后,集成机器人114可以合并结果,并在与聊天应用实例进行通信时考虑安全级别。
聊天会话136由外部聊天服务器134托管。聊天应用实例122(2)和122(1)(例如,相同类型的聊天应用的实例,多于一种类型的聊天应用的实例)可以分别通过聊天会话136和118与其他聊天应用实例通信。当与聊天应用实例122(1)和122(2)通信时,集成机器人114可以模拟聊天应用实例。聊天应用实例122(1)和122(2)中的每一个可以由各自的用户设备128(1)和128(2)托管。
每个域机器人112(1)-112(3)可以提供对不同数据和/或服务的访问。域机器人112(1)可以例如访问本地源103,而域机器人112(2)可以访问外部源104。每个域机器人112(1)-112(3)都可以被装载,以与集成服务110一起使用。在装载过程期间,集成服务110可以配置域机器人,例如使域机器人执行某些交易、读取由域机器人获得的数据和/或使域机器人在特定位置处写入特定数据。在装载过程期间,集成服务110可以确定特定域机器人使用哪些本地源103和/或外部源104。因此,装载过程可以确定与域机器人关联的通信协议,确定与域机器人关联的安全级别,和/或确定针对域机器人的一个或多个数据和/或服务源。集成服务110可以将装载域机器人的通信协议和其他标识信息提供给集成机器人114。
如本公开中所述,每个域机器人112(1)-112(3)都在不访问聊天应用实例122(1)或122(2)的用户的用户状态的情况下运行。相反,集成机器人114维护并访问与集成机器人114通信的每个用户的用户状态信息。然后,集成机器人114与域机器人112(1)-112(3)中的某些机器人通信。因此,集成机器人114可以从与域机器人112(1)-112(3)的通信中提取诸如用户信息之类的用户状态。
在一些实施例中,可以通过类似于聊天机器人应用的对话界面来访问域机器人。在一些实施例中,可以使用基于与域机器人相关联的通信参数生成的命令序列来访问该域机器人。在一些实施例中,可以使用半结构化数据(例如可扩展标记语言(XML)和JavaScript对象表示法(JSON))访问域机器人。
每个域机器人112(1)-112(3)可以提供不同的服务。例如,域机器人112(3)可以与支付系统(未显示)交互,以向支付系统提供指令并接收有关用户的金融信息。支付系统可以向诸如聊天应用实例122(1)或122(2)的用户之类的用户提供金融服务,例如资金转账(例如,一定金额的转账)。支付系统可以包括支付账户,每个账户可以与用户相关联。例如,一个用户(例如,聊天应用实例122(1)的用户)可以与第一支付帐户相关联,而另一用户(例如,聊天应用实例122(2)的用户)可以与支付系统处的第二支付账户相关联。支付系统可以有助于从第一支付账户到第二支付账户的资金转账。支付系统可以通过域机器人112(3)接收由集成机器人114引起的指令,以将资金从第一支付帐户转移到第二支付帐户。
在一些实施例中,集成服务110和集成机器人114可以由相同的软件实体来实现。在其他实施例中,集成服务110可以托管集成机器人114,并向聊天应用实例提供服务。在一个实施例中,集成机器人114提供与聊天应用实例122(1)和122(2)以及域机器人112(1)-112(3)的通信能力,而集成服务可以执行入职。集成服务商110可以使用集成机器人114执行每个域机器人的装载过程。集成服务110还可以存储集成机器人114可访问的装载和用户帐户数据(例如,通过用户状态)。
知识系统105可以包括域服务108和集成服务110。域服务108包括域机器人112(1)-112(3),它们是装载有集成服务110的机器人。每个域机器人可以简单地通过提供给集成服务110的特定通信协议来访问。域服务108可以在每个域机器人112(1)-112(3)与集成机器人114、本地源103和/或外部源104之间提供路由层。
集成机器人114可以对由聊天应用实例122(1)或122(2)提供的聊天文本执行自然语言处理(NLP)。基于NLP,集成机器人114可以确定用户是否为知识系统105提供了用户查询。集成机器人114还可以执行其他分析,例如搜索表示用户查询的某些文本字符串,包括“搜索”、“查找”、“是什么”等。集成机器人114可以搜索指示执行动作意图的某些文本字符串,包括“请使用”、“执行”、“想要”、“需要”等。在一些实施例中,集成机器人114可以基于用户、用户设备、聊天应用等利用针对NLP的各种定制字典。在一些实施例中,可以将不同的定制字典或特定词典的不同定制用于同一用户(例如,基于聊天应用、用户设备或其他因素)。因此,可以基于各种因素来优化NLP性能。下面参考图3描述示例聊天文本。
集成机器人114可以访问与聊天应用实例122(1)和/或122(2)的各个用户相关联的用户状态。用户状态可以指示用户查询的上下文。用户状态可以指示与聊天应用实例相关联的先前的聊天文本以及相应的知识查询。用户状态可以存储从用户查询中剥离的任何信息,即,由未被传送到域机器人的知识查询使用的任何信息。可以剥离的信息包括具有机密、敏感和/或不相关信息的用户查询元素。用户状态还可以指示用户帐户、用户位置和可以被扩充到知识查询中并由域机器人使用的其他标识信息。用户状态可以指示用于指示对用户访问某些数据和/或交易的认证和/或授权的令牌。用户状态可以与聊天应用实例122(1)和122(2)的用户相关联。
在一些实施例中,用户状态还可以包括嵌入式页面指示符,该嵌入式页面指示符在适用情况下指示聊天应用实例处客户流中的位置。对于在用户的网络浏览器上实现聊天应用实例的情况,嵌入式页面指示符可以指示从其向聊天会话136提供聊天文本的特定网页。嵌入式页面指示符可以例如指示聊天文本源自某个交易网页、FAQ页面或投诉页面。对于聊天应用实例被实现为SLACK或另一社交消息服务的情况,嵌入式页面可以指示客户流中的位置(例如,由集成机器人114使用)。
集成机器人114可以基于用户状态和聊天文本的分析,生成知识查询用于在域服务108处进行数据访问。下面参考图4描述示例知识查询。集成机器人114可以基于知识查询来选择一个或多个域机器人112(1)-112(3),以利用知识查询(或多个知识查询)进行访问。集成机器人114还可以针对所选择的域机器人确定关联的通信协议。集成机器人114可以使用通信协议将知识查询传宋到域机器人(例如域机器人112(1))以获得回复。集成机器人114可以基于回复和用户状态来生成响应文本。
图2是示出用于访问聊天会话以生成购物车的操作的实施例的流程图。参考图1中描述的系统和组件来描述图2的方法(出于说明的目的而不是限制)。可以由集成机器人114执行示例操作。如上所述,可以按照与所示顺序不同的顺序执行操作,并且可以省略或组合某些操作。例如,操作214-218可以与操作206-220结合。在另一示例中,操作208和210可以基本并行地执行。
从202开始,集成机器人与聊天会话耦合。参考图1,集成机器人114可以与聊天会话136和/或聊天会话118耦合。集成机器人与聊天会话的耦合可以包括注册聊天会话以及配置聊天机器人以使用聊天会话进行通信。如上所述,聊天会话可以由用户通过聊天应用实例(包括通过Web浏览器界面的访问)和/或其他实现方式提供和访问。
在204处,集成机器人访问聊天会话中提供的聊天文本。参考图1,集成机器人114可以访问聊天会话136中提供的聊天文本。集成机器人114可以分析聊天文本以确定用户的身份以及潜在的用户查询元素。在205处,集成机器人基于聊天文本访问用户状态。参考图1,集成机器人114可以访问与聊天应用实例122(2)的用户相关联的用户状态。
在206处,集成机器人114基于用户状态和聊天文本的分析,生成知识查询。知识查询可以用于在知识系统105处访问数据。集成机器人114可以例如基于域机器人访问的包括数据机密性的数据类型(该数据是否是本地的(例如,本地数据124)还是外部的(例如,外部数据132))来确定域机器人的类型。集成机器人114可以基于访问外部聊天服务器134上的通信是否安全、聊天应用实例122(2)是否在安全位置被访问以及各种安全问题,来确定聊天应用实例122(2)的安全级别。安全级别可以基于知识系统105处和/或与本地实体100相关联(通过本地实体的管理员100)的数据和/或信息安全策略的类型,指示可允许被传送到外部聊天服务器的数据的级别。
如下面参考图4所讨论的,集成机器人114可以基于域机器人的类型和/或安全级别从聊天文本中剥离一个或多个部分。例如,集成机器人114可以忽略和/或(在用户的用户状态中)存储用户查询的某些元素,这些元素具有未被传送到低安全级别的域机器人的机密和/或敏感元素。集成机器人114可以忽略和/或(在用户状态中)存储与提供给特定领域机器人的知识查询无关的用户查询的某些元素。
在一些实施例中,集成机器人114可以基于用户状态来确定用户查询的上下文。集成机器人114可以在生成知识查询时根据上下文将元素添加到用户查询。例如,如果用户查询仅指示“温度是多少”的问题,则集成机器人114可以添加用户位置的元素。如上所述,集成机器人114可以使用基于诸如账号之类的其他元素来扩充知识查询。用户状态还可以用于访问来自聊天应用实例122(2)的先前聊天文本以及对各个域机器人112(1)-112(3)的相应知识查询。此聊天文本历史可用于基于对所使用的不同域机器人的知识查询来确定用户状态。
在208处,集成机器人可以基于知识查询来确定域机器人和相关联的通信协议。集成机器人114可以基于聊天文本和用户状态的分析和/或知识查询来确定访问域机器人112(1)。如上所述,操作206和208可以基本并行地执行。
在210处,集成机器人使用通信协议将知识查询传送到域机器人以获得回复。集成机器人114可以在通信之前将知识查询转换为通信协议。通信协议可以指示在集成机器人114和域机器人112(1)之间传送的数据的类型和/或格式。例如,通信协议可以指示如何使用特定模式(使用JavaScript对象表示法(JSON))(或另一种半结构化数据模式,例如使用可扩展标记语言(XML)的模式)传送数据。
在一些实施例中,集成机器人114还可以确定指示域机器人的数据或服务源的路由路径。然后,集成机器人114在将知识查询传送到域机器人112(1)时可以使用路由路径。可以基于(提供聊天文本的聊天应用实例122(2)和/或所选择的域机器人112(1))的安全级别和知识查询来确定路由路径。路由路径可以指示域机器人112(1)如何访问所选择的数据源或服务(例如,外部数据132)。在使用多个知识查询的情况下(例如,如下面参考操作214-218所述),路由路径可以向域服务108指示如何使用域机器人112(1)-112(3)访问数据源和/或服务的序列。
在212处,集成机器人确定是否需要访问附加域机器人。例如,集成机器人114可以基于聊天文本、用户状态和知识查询的分析来确定是否需要另一知识查询来适当地(例如,与基于安全级别和其他元素确定为可寻址的用户查询的每个元素相关)解决该问题。如果集成机器人114确定需要访问附加域机器人,则流程在214处继续,否则,流程在220处继续。在一些实施例中,在214-218处,可以生成多个附加知识查询并将其传送到多个域机器人。
在214处,集成机器人基于用户状态、一个或多个知识查询的分析以及聊天文本的分析,生成另一知识查询。集成机器人114可以以与操作206类似的方式来执行214处的操作,同时考虑到针对同一用户查询的先前生成的知识查询(例如,在206处生成)。在216处,集成机器人114基于另一知识查询来确定另一域机器人和相应的通信协议。集成机器人114可以以与操作208类似的方式执行216处的操作,并另外考虑针对同一用户查询的先前生成的知识查询。在218处,集成机器人114将使用另一通信协议将另一知识查询传送到另一域机器人以获得另一回复。
在220处,集成机器人基于一个或多个回复和用户状态生成响应文本。集成机器人114可以生成提供给聊天会话136的响应文本,以供聊天应用实例122(2)访问。可以基于上下文和/或来自用户状态的额外信息(例如,在206处剥离的任何信息)来扩充回复。例如,未被传送到选定域机器人的具有机密、敏感和/或不相关的用户查询的某些元素可用于扩充响应文本,以向用户提供附加上下文。在使用多个知识查询的情况下,集成机器人114可以将来自各个回复的信息组合到响应文本中。
图3示出了用于访问知识系统处的集成机器人的通信的实施例。聊天文本300示出了可以由聊天应用实例122(2)提供给聊天会话136的聊天文本。聊天文本310和320示出了可以由集成机器人114传发送到聊天会话136的聊天文本。
聊天文本300可以包括聊天文本部分(也称为“部分”)302-306。集成机器人114可以访问聊天文本300并分析各个部分302-306,诸如以确定相应的用户查询。在所描绘的示例实施例中,“用户1:”的部分302指示聊天应用实例122(2)正在发送聊天文本300。“我需要找出”的部分304可以指示(例如,如集成机器人114所分析的和确定的)由用户意图提出用户查询。“关于我的同事马克安东尼(Mark Anthony)的信息”的部分306可以指示用户查询。
聊天文本310可以包括部分312、314和316。“机器人:”的部分312指示集成机器人114正在将聊天文本310发送到聊天会话136。部分314向用户指示集成机器人114正在发送聊天文本310。部分316向用户指示等待响应文本一定时间。注意,在其他示例中,可以将响应文本实时提供给用户,而无需任何明显的等待。聊天文本320可以包括部分322、324和326。“机器人:”的部分322指示集成机器人114正在将聊天文本320发送到聊天会话136。聊天文本324向用户指示包括信息链接326的响应文本。信息链接326可以指向结果,并可以提供对存储在知识系统105中的机密信息的安全访问。
图4示出了使用相应的通信协议生成的知识查询的实施例、用户状态实施例以及结果实施例。例如,集成机器人114可以基于通过聊天文本接收到的某个用户查询来生成知识查询400。集成机器人114还可以剥离用户查询的某些元素并将其存储在用户状态410中。集成机器人114可以将知识查询400传送到域机器人112(1),并且还生成另一知识查询(未示出)并将其传送到域机器人112(2)。
元素400示出了知识查询400的实施例,该知识查询400是基于某个通信协议而生成的,用于访问域机器人112(1)。知识查询400可以包括意图和时隙部分402,意图和时隙部分402指示关于如何将请求从集成机器人114传送到域机器人的基于JSON的某种实现方式。如图所示,意图(即,意图1和意图2)指示与用户查询的元素相对应的动作。时隙(即时隙1-时隙4)指示其各自意图的自变量。在一些实施方式中,元素404是数据存储,其指示在与外部或本地源通信期间由域机器人112(1)使用的数据。元素406是指示域机器人112(1)使用的元素的序列的序列存储。
在一些实施例中,用户状态可以包括经处理的用户查询,然后从中生成知识查询。经处理的用户查询可以包括基于用户状态确定的经扩充用户查询(例如,使用上下文和/或先前的用户查询和/或聊天文本)。经处理的用户查询可以包括由于该数据的机密和/或非相关性质而在以后被剥离的任何元素(在生成知识查询400时)。使用下面列出的示例元素,剥离的元素(即,用于知识查询)可以包括聊天会话ID、聊天应用类型、通过用户查询传送的某些数据、用户ID等。经处理的用户查询可以包括以下元素:
1)意图,其可以包括诸如GetLastPayment(取得最后一次支付)、EmployeeLookup(雇员查找)、MakeAnAppointment(进行预约)、GetWeather(取得天气)之类的动作。
2)检测到的时隙和时隙类型,其对于每个意图可以不同。
3)聊天应用类型,其可以指示在移动用户设备处是否使用聊天应用实例122(2),是嵌入在SLACK中还是嵌入在Web浏览器中等。
4)嵌入式页面,其可以被实现为嵌入式页面指示符,其可以指示在聊天应用实例处的客户流中的位置。
5)聊天会话Id,其可以指示聊天会话136的会话ID。
6)上下文,其可以指示与用户的当前和最近几次对话的上下文,包括例如其他聊天会话中每个会话的日期和位置的值。
7)经认证的用户ID、用户名字和/或用户姓氏,其可以指示用户参考号和标识信息。
8)用户时区和当前时间,其可以指示将聊天文本提供给聊天会话的时区和时间。
例如,对于用户查询“这里的温度是多少”,集成机器人可以生成以下经处理的用户查询,如上所述,根据该用户查询可以生成知识查询。
经处理的用户查询
{
“聊天”:“这里的温度是多少?”,
“意图”:“天气”,
“位置”:“”,
“开始日期”:“”,
“结束日期”:“”,
“聊天应用类型”:“SLACK”,
“嵌入式页面”:“事件页面”,
“聊天会话Id”:“12345ABCDE”,
“最后聊天”:“{\“聊天\”:\“我喜欢这个事件。\”,\“意图\”:\“事件\”,\“位置\”:\“旧金山\”,\“开始日期\”:\“2016-10-01\”,\“结束日期\”:\“2016-10-02\”,\“聊天应用类型\”:\“SLACK\”,\“嵌入式页面\”:\“事件页面\”,\“聊天会话Id\”:\“12345ABCDE\”,\“过去的位置\”:\“旧金山\”}“,
“用户名”:“JohanDoeUser”,
“名字”:“John”,
“姓氏”:“Doe”,
“时区”:“UTC”
}
域机器人可以基于针对本地数据124的知识查询来生成数据查询。例如,数据查询可以包括意图和时隙部分402。如上所述,通过以下方式使域机器人的开发变得更加容易:实现集成机器人与域机器人之间的标准通信协议、以及将上下文确定、聊天文本分析和聊天会话技术卸载到集成机器人。因此,新的域机器人的开发人员只需使新的域机器人符合通信协议的通用模式,使得新的域机器人被装载以与集成机器人一起使用。
集成机器人114可以针对特定用户访问和/或存储用户状态410,并且可以基于来自该用户的多个用户查询来生成用户状态410。集成机器人114可以为每个用户存储用户状态410的单独实例,其中每个单独的实例将存储与该用户相关的信息。用户状态410可以包括指示关于用户的私人和/或机密信息的各种用户信息(例如,UserInfo1…)。用户状态410还可以存储指示关于用户所使用的用户设备的信息的系统信息(例如,SystemInfo1…)。用户状态410还可以存储附加数据(例如,data1…),例如先前用户查询的历史、相应的知识查询、被访问的域机器人、相应的回复和/或针对用户查询的响应文本。
结果420和430示出了响应于针对单个用户查询的两个单独的知识查询从两个单独的域机器人接收到的示例响应。如图所示,结果420(从第一域机器人接收到的)可以包括两个单独的信息元素422,而结果430(从第二域机器人接收到的)可以包括单个信息元素432。集成机器人114可以然后使用结果420和430以及用户状态410生成单个响应文本。
图5是示出了集成机器人、域机器人和聊天应用实例之间的通信的实施例的时序图。如图5所示,集成机器人114通过聊天会话136与聊天应用实例122(2)进行通信。集成机器人114还与域机器人112(1)和112(2)通信。域机器人112(1)和112(2)也分别与本地数据124和外部服务130通信。可以在一个或多个通信网络上执行图5的通信。图5的时序图的部分与图2的流程图相对应。
在502处,聊天应用实例122(2)向聊天会话136提供聊天文本。在504处,集成机器人114在聊天会话136处访问该聊天文本。在506处,集成机器人114可以访问与聊天应用实例122(2)的用户相关联的用户状态。在508处,集成机器人114生成一个或多个知识查询,用于在知识系统中处访问数据和服务。例如,集成机器人114可以生成第一知识查询用于在域机器人112(1)处访问数据,以及第二知识查询用于在域机器人112(2)处访问服务。在510处,集成机器人114利用第一知识查询访问域机器人112(1)。在512处,域机器人112(1)可以处理知识查询并生成自己的数据查询用于访问本地数据124。在514处,域机器人112(1)使用数据查询来访问本地数据124,包括接收来自本地数据124的数据结果。在518处,域机器人112(1)将结果返回给集成机器人114。
在520处,集成机器人114利用第二知识查询访问域机器人112(2),该第二知识查询可以由集成机器人基于来自域机器人112(1)的结果进一步修改。在522处,域机器人112(2)可以处理第二知识查询并生成自己的服务查询(基于第二知识查询)以访问外部服务130。在524处,域机器人112(2)使用服务查询访问外部服务130。在526处,外部服务130执行服务查询所请求的服务,并且在528处,外部服务130将结果发送到域机器人112(2)。在532处,域机器人112(2)将结果返回给集成机器人114。在534处,集成机器人基于两个单独的结果以及用户状态来生成响应文本。集成机器人114在536处将响应文本传送到聊天会话126,在528处,聊天应用实例122(2)可以对其进行访问。
应该理解,图1-5和本文描述的操作是旨在帮助理解实施例的示例,而不应用于限制实施例或限制权利要求的范围。实施例可以执行附加的操作、更少的操作,以不同顺序执行操作、并行执行操作以及以不同方式执行操作。例如,参考图2和5的图描述的一个或多个元件、步骤或过程可以被省略、以不同的顺序描述,或者根据需要或适当地组合。
如本领域的技术人员将理解的,本公开的方面可以体现为系统、方法或计算机程序产品。因此,本公开的方面可以采取完全硬件实施例、软件实施例(包括固件、常驻软件、微代码等)或结合了软件和硬件方面的实施例的形式,软件方面和硬件方面在本文中通常可以称为为“模块”或“系统”。此外,本公开的方面可以采取其上包含有计算机可读程序代码的一个或多个计算机可读介质中包含的计算机程序产品的形式。
可以利用一种或多种计算机可读介质的任何组合。所述计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电子、磁性、光学、电磁、红外或半导体系统、装置或设备、或前述的任何适当组合。计算机可读存储介质的更具体的示例(非穷尽列表)将包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM或闪存)、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备或上述的任何合适组合。在本文的上下文中,计算机可读存储介质可以是任何有形和/或非暂态介质,其可以包含或存储供指令执行系统、装置或设备使用或与其结合使用的程序。
计算机可读信号介质可以包括例如在基带中或作为载波的一部分的传播的数据信号,该传播的数据信号具有包含在其中的计算机可读程序代码。这样的传播信号可以采取多种形式中的任何一种,包括但不限于电磁、光学或其任何合适的组合。计算机可读信号介质可以是不是计算机可读存储介质的任何计算机可读介质,并且可以通信、传播或传输供指令执行系统、装置或设备使用或与其结合使用的程序。可以使用任何适当的介质来传输包含在计算机可读介质上的计算机程序代码,所述适当的介质包括但不限于无线、有线、光缆、RF等或上述的任何适当的组合。
可以以一种或多种编程语言的任何组合来编写用于执行本公开的各方面的操作的计算机程序代码,所述编程语言包括面向对象编程语言(诸如Java、Smalltalk、C++等)以及常规过程编程语言(例如“C”编程语言或类似的编程语言)。计算机程序代码可以完全在用户计算机上,部分在用户计算机上上执行(例如,编译为计算机程序指令),作为独立软件包部分在用户计算机上,部分在远程计算机上或完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以与外部计算机建立连接(例如,使用因特网服务提供商通过因特网)。
参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图描述了本公开的各方面。将理解的是,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可以由计算机程序指令来实现。可以将这些计算机程序指令提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得通过计算机或其他可编程数据处理装置的处理器执行的计算机程序指令创建用于实现在流程图和/或框图或框中指定的功能/动作的装置。
这些计算机程序指令还可以存储在计算机可读介质中,该计算机可读介质可以指导计算机其他可编程数据处理装置或其他设备以特定方式起作用,使得存储在计算机可读介质中的指令产生制造品,包括实现流程图和/或框图或框中指定的功能/动作的指令。
计算机程序指令还可以被装载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤以产生计算机实现的过程,使得在计算机或其他可编程装置上执行的指令提供用于实现在流程图和/或框图或框中指定的功能/动作的过程。
图6是包括用于网络通信的通信接口608的电子设备600的示例性实施例的框图。电子设备可以体现用于实现以上图1-5中描述的实施例的功能。在一些实施方式中,电子设备600可以是膝上型计算机、平板计算机、移动电话、电力线通信设备、智能设备(PDA、服务器和/或一个或多个其他电子系统。例如,可以使用诸如移动电话或平板计算机之类的移动设备来实现用户设备。例如,可以使用一个或多个服务器来实现支付系统。电子设备600可以包括处理器单元602(可能包括多个处理器、多个核、多个节点和/或实现多线程等)。
电子设备600还可以包括存储器单元606。存储器单元606可以是系统存储器(例如,缓存、SRAM、DRAM、零电容器RAM、双晶体管RAM、eDRAM、EDO RAM、DDR RAM、EEPROM、NRAM、RRAM、SONOS、PRAM等中的一者或多者)或上述机器可读介质的可能实现中的任何一者或多者。电子设备600还可以包括总线610(例如,PCI、ISA、PCI-Express、NuBus、AHB、AXI等),并且网络接口604可以包括基于有线的接口(例如,以太网接口、电力线通信接口等)。通信接口608可以包括无线网络接口(例如,WLAN接口、蓝牙接口、WiMAX接口、ZigBee接口、无线USB接口等)中的至少一者。在一些实施方式中,电子设备600可以支持多个网络接口,每个接口都被配置为将电子设备600耦合到不同的通信网络。
存储器单元606可以体现为实现以上图1-5中描述的实施例的功能。在一个实施例中,存储单元606可以包括有助于将集成机器人应用和多个域机器人用于知识系统处的数据访问的一个或多个功能。这些功能中的任何一个都可以部分(或全部)以硬件和/或在处理器单元602上实现。例如,某些功能可以用专用集成电路实现、以处理器单元602中实现的逻辑实现、在外围设备或卡上的协处理器中实现。此外,实现可以包括图6中未示出的更少或额外的组件(例如,视频卡、音频卡、附加网络接口、外围设备等)。处理器单元602、存储器单元606、网络接口604和通信接口608耦合到总线610。尽管被示为耦合到总线610,但是存储器单元606可以耦合到处理器单元602。
尽管参考各种实施方式和利用对实施例进行了描述,但是应当理解,这些实施例是说明性的,并且本公开的范围不限于此。通常,可以使用与任何一个或多个硬件系统一致的设施来实现用于本文描述的使用集成机器人的技术。许多变型、修改、添加和改进都是可能的。
可以为本文描述的组件、操作或结构提供多个实例作为单个实例。最后,各个组件、操作和数据存储之间的边界有些随意,并且在特定说明性配置的上下文中说明了特定操作。可以设想功能的其他分配,并且可以落入本公开的范围内。通常,在示例性配置中呈现为单独的组件的结构和功能可以实现为组合的结构或组件。类似地,呈现为单个组件的结构和功能可以实现为单独的组件。这些和其他变型、修改、添加和改进可以落入本公开的范围内。
Claims (20)
1.一种使用多级机器人的方法,所述方法包括:
通过集成机器人访问聊天应用实例所提供的聊天文本,所述聊天文本指示针对知识系统的用户查询;
访问与所述聊天应用实例的用户相关联的用户状态,所述用户状态指示与所述聊天应用实例相关联的先前的聊天文本以及相对应的知识查询;
基于所述用户状态和对所述聊天文本的分析,生成知识查询以在包括多个域机器人的所述知识系统处访问数据;
基于所述知识查询,从所述多个域机器人中确定域机器人和相关联的通信协议;
使用所述通信协议将所述知识查询传送到所述域机器人以获得回复;以及
将响应文本传送到所述聊天应用实例,所述响应文本是基于所述回复和所述用户状态而生成的。
2.根据权利要求1所述的方法,其中,所述生成所述知识查询包括:
确定所述域机器人的类型和所述聊天应用实例的安全级别;以及
基于所述域机器人的类型和所述安全级别从所述聊天文本中剥离一个或多个部分。
3.根据权利要求2所述的方法,还包括:
基于所述安全级别,使用从所述知识查询中省略的数据来修改所述响应文本。
4.根据权利要求1所述的方法,其中
所述访问所述聊天文本和所述传送所述响应文本是通过由外部聊天服务器托管的聊天会话来执行的;
所述聊天应用实例的安全级别指示能够允许传送到所述外部聊天服务器的数据的级别;并且
所述生成所述知识查询还基于所述安全级别。
5.根据权利要求1所述的方法,还包括:
确定所述域机器人的通信参数,包括将一个或多个用户查询元素转换为通信参数;
其中,所述传送所述知识查询使用命令序列,该命令序列是使用所述通信参数而生成的。
6.根据权利要求1所述的方法,其中,针对所述域机器人的所述传送包括根据所述通信协议将所述知识查询转换为JavaScript对象符号(JSON)数据。
7.根据权利要求1所述的方法,还包括:
基于对所述聊天文本的分析、所述用户状态和所述知识查询,确定附加知识查询以用于在所述知识系统处访问数据;
基于所述知识查询,从所述多个域机器人中确定另一个域机器人和相关联的附加通信协议;以及
使用所述附加通信协议将所述附加知识查询传送到所述另一域机器人以获得附加回复;
其中,所述响应文本是进一步基于所述附加回复而生成的。
8.根据权利要求1所述的方法,其中,生成所述知识查询包括:
基于所述用户状态确定所述聊天文本的上下文;以及
基于所述上下文生成针对所述知识查询的元素。
9.根据权利要求1所述的方法,还包括:
基于所述安全级别和所述用户查询来确定路由路径,该路由路径指示针对所述域机器人的数据源或服务源;其中,所述传送所述知识查询是使用所述路由路径而执行的。
10.根据权利要求1所述的方法,还包括:
将所述域机器人装载到所述知识系统中以提供针对所述集成机器人的访问,其中,所述装载包括:
确定与所述域机器人相关联的所述通信协议;
确定与所述域机器人相关联的安全级别;以及
确定所述域机器人的源目的地,该源目的地指示针对所述域机器人的信息源。
11.一种系统,包括:
非暂态存储器,用于存储指令;以及
处理器,被配置为执行所述指令以使所述系统:
通过集成机器人访问聊天应用实例所提供的聊天文本,所述聊天文本指示针对知识系统的用户查询;
访问与所述聊天应用实例相关联的用户状态,所述用户状态指示针对所述用户查询的上下文;
基于所述用户状态和对所述聊天文本的分析,生成知识查询以用于在包括多个域机器人的所述知识系统处访问数据;
基于所述知识查询,从所述多个域机器人中确定域机器人和相关联的通信协议;
使用所述通信协议将所述知识查询传送到所述域机器人以获得回复;以及
将响应文本传送到所述聊天应用实例,所述响应文本是基于所述回复和所述用户状态而生成的。
12.根据权利要求11所述的系统,其中,所述生成所述知识查询包括:
确定所述域机器人的类型和所述聊天应用实例的安全级别;
基于所述域机器人的类型和所述安全级别从所述聊天文本中剥离一个或多个部分。
13.根据权利要求11所述的系统,其中,执行所述指令还使所述系统:
基于所述聊天应用实例的所述安全级别,使用从所述知识查询中省略的数据来修改所述响应文本。
14.根据权利要求11所述的系统,其中,执行所述指令还使所述系统:
将所述域机器人装载到所述知识系统中以提供针对所述集成机器人的访问,其中,所述装载包括:
确定与所述域机器人相关联的所述通信协议;
确定与所述域机器人相关联的安全级别;以及
确定所述域机器人的源目的地,该源目的地指示针对所述域机器人的信息源。
15.根据权利要求11所述的系统,其中,执行所述指令还使所述系统:
基于所述用户查询和所述聊天应用实例的安全级别来确定路由路径,该路由路径指示针对所述域机器人的数据源或服务源;其中,所述传送所述知识查询是使用所述路由路径而执行的。
16.一种非暂态机器可读介质,其上存储有指令,所述指令能够执行以执行以下操作,所述操作包括:
通过集成机器人访问聊天应用实例所提供的聊天文本,所述聊天文本指示针对知识系统的用户查询;
访问与所述聊天应用实例相关联的用户状态,所述用户状态指示针对所述用户查询的上下文;
基于所述用户状态和对所述聊天文本的分析,从所述多个域机器人中确定域机器人和相关联的通信协议;
基于所述知识查询,生成知识查询,以用于在包括所述多个域机器人的所述知识系统处访问数据;
使用所述通信协议将所述知识查询传送到所述域机器人以获得回复;以及
将响应文本传送到所述聊天应用实例,所述响应文本是基于所述回复和所述用户状态而生成的。
17.根据权利要求16所述的非暂态机器可读介质,其中,所述生成所述知识查询包括:
确定所述域机器人的类型和所述聊天应用实例的安全级别;
基于所述域机器人的类型和所述安全级别从所述聊天文本中剥离一个或多个部分。
18.根据权利要求16所述的非暂态机器可读介质,其中,所述操作还包括:
基于所述聊天应用实例的所述安全级别,使用从所述知识查询中省略的数据来修改所述响应文本。
19.根据权利要求16所述的非暂态机器可读介质,其中,所述操作还包括:
将所述域机器人装载到所述知识系统中以提供针对所述集成机器人的访问,其中,所述装载包括:
确定与所述域机器人相关联的所述通信协议;
确定与所述域机器人相关联的安全级别;以及
确定所述域机器人的源目的地,该源目的地指示针对所述域机器人的信息源。
20.根据权利要求16所述的非暂态机器可读介质,其中,所述操作还包括:
基于所述用户查询和所述聊天应用实例的安全级别来确定路由路径,该路由路径指示针对所述域机器人的数据源或服务源;其中,所述传送所述知识查询是使用所述路由路径而执行的。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/859,166 US10771407B2 (en) | 2017-12-29 | 2017-12-29 | Multi-level bot architecture for data access |
US15/859,166 | 2017-12-29 | ||
PCT/US2018/068045 WO2019133927A1 (en) | 2017-12-29 | 2018-12-28 | Multi-level bot architecture for data access |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111788801A true CN111788801A (zh) | 2020-10-16 |
CN111788801B CN111788801B (zh) | 2022-12-02 |
Family
ID=67060117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880090385.1A Active CN111788801B (zh) | 2017-12-29 | 2018-12-28 | 用于数据访问的多级机器人架构 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10771407B2 (zh) |
EP (1) | EP3732836A4 (zh) |
CN (1) | CN111788801B (zh) |
AU (1) | AU2018395523B2 (zh) |
WO (1) | WO2019133927A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10997258B2 (en) * | 2018-02-28 | 2021-05-04 | Fujitsu Limited | Bot networks |
US11705114B1 (en) | 2019-08-08 | 2023-07-18 | State Farm Mutual Automobile Insurance Company | Systems and methods for parsing multiple intents in natural language speech |
US11277359B2 (en) * | 2020-06-11 | 2022-03-15 | Servicenow, Inc. | Integration of a messaging platform with a remote network management application |
US11762668B2 (en) | 2021-07-06 | 2023-09-19 | Servicenow, Inc. | Centralized configuration data management and control |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093480A1 (en) * | 2001-11-15 | 2003-05-15 | International Business Machines Corporation | Accessing information using an instant messaging system |
US20090158278A1 (en) * | 2007-12-12 | 2009-06-18 | Brent De-Kay | System, method, and apparatus for multi-channel user interaction |
CN102194005A (zh) * | 2011-05-26 | 2011-09-21 | 卢玉敏 | 聊天机器人系统及自动聊天方法 |
US20170237692A1 (en) * | 2014-01-28 | 2017-08-17 | GupShup Inc | Structured chat messaging for interaction with bots |
US20170310613A1 (en) * | 2016-04-22 | 2017-10-26 | SmarTBotHub LLC | System and Method for Facilitating Computer Generated Conversations with the aid of a Digital Computer |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030182391A1 (en) * | 2002-03-19 | 2003-09-25 | Mike Leber | Internet based personal information manager |
US8015143B2 (en) | 2002-05-22 | 2011-09-06 | Estes Timothy W | Knowledge discovery agent system and method |
US8738739B2 (en) * | 2008-05-21 | 2014-05-27 | The Delfin Project, Inc. | Automatic message selection with a chatbot |
US20140279050A1 (en) * | 2008-05-21 | 2014-09-18 | The Delfin Project, Inc. | Dynamic chatbot |
US8818926B2 (en) * | 2009-09-29 | 2014-08-26 | Richard Scot Wallace | Method for personalizing chat bots |
US20140122407A1 (en) * | 2012-10-26 | 2014-05-01 | Xiaojiang Duan | Chatbot system and method having auto-select input message with quality response |
US9705840B2 (en) * | 2013-06-03 | 2017-07-11 | NextPlane, Inc. | Automation platform for hub-based system federating disparate unified communications systems |
US10229202B2 (en) | 2014-09-29 | 2019-03-12 | International Business Machines Corporation | Social media bot to representational state transfer (REST) proxy for data systems |
US9647968B2 (en) | 2015-03-25 | 2017-05-09 | Pypestream Inc | Systems and methods for invoking chatbots in a channel based communication system |
US10659403B2 (en) * | 2015-03-25 | 2020-05-19 | Pypestream, Inc. | Systems and methods for navigating nodes in channel based chatbots using natural language understanding |
EP3211840B1 (en) * | 2016-02-25 | 2019-05-08 | Facebook Inc. | Techniques for messaging bot rich communication |
WO2017182888A2 (en) * | 2016-04-18 | 2017-10-26 | Elango Allwin Agnel | System and method for assisting user communications using bots |
US9785715B1 (en) | 2016-04-29 | 2017-10-10 | Conversable, Inc. | Systems, media, and methods for automated response to queries made by interactive electronic chat |
US10320716B2 (en) * | 2016-07-19 | 2019-06-11 | American Innovative Applications Corporation | Multi-functional integrated communications system application |
US10528874B2 (en) * | 2016-08-19 | 2020-01-07 | International Business Machines Corporation | System, method and computer product for classifying user expertise |
US10469665B1 (en) * | 2016-11-01 | 2019-11-05 | Amazon Technologies, Inc. | Workflow based communications routing |
US20180131643A1 (en) * | 2016-11-04 | 2018-05-10 | Microsoft Technology Licensing, Llc | Application context aware chatbots |
US10909980B2 (en) * | 2017-02-27 | 2021-02-02 | SKAEL, Inc. | Machine-learning digital assistants |
US10581765B2 (en) * | 2017-04-03 | 2020-03-03 | Microsoft Technology Licensing, Llc | Conversation bot discovery and response fusion |
US10742435B2 (en) * | 2017-06-29 | 2020-08-11 | Google Llc | Proactive provision of new content to group chat participants |
US11777875B2 (en) * | 2017-09-15 | 2023-10-03 | Microsoft Technology Licensing, Llc | Capturing and leveraging signals reflecting BOT-to-BOT delegation |
US10841249B2 (en) * | 2017-10-02 | 2020-11-17 | Samsung Electronics Co., Ltd. | System and method for bot platform |
US10616148B2 (en) * | 2017-11-13 | 2020-04-07 | International Business Machines Corporation | Progressively extending conversation scope in multi-user messaging platform |
US10810322B2 (en) * | 2017-12-05 | 2020-10-20 | Microsoft Technology Licensing, Llc | Sharing user information with and between bots |
US10594840B1 (en) * | 2018-02-23 | 2020-03-17 | West Corporation | Bot framework for channel agnostic applications |
-
2017
- 2017-12-29 US US15/859,166 patent/US10771407B2/en active Active
-
2018
- 2018-12-28 CN CN201880090385.1A patent/CN111788801B/zh active Active
- 2018-12-28 AU AU2018395523A patent/AU2018395523B2/en active Active
- 2018-12-28 WO PCT/US2018/068045 patent/WO2019133927A1/en unknown
- 2018-12-28 EP EP18896344.1A patent/EP3732836A4/en not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093480A1 (en) * | 2001-11-15 | 2003-05-15 | International Business Machines Corporation | Accessing information using an instant messaging system |
US20090158278A1 (en) * | 2007-12-12 | 2009-06-18 | Brent De-Kay | System, method, and apparatus for multi-channel user interaction |
CN102194005A (zh) * | 2011-05-26 | 2011-09-21 | 卢玉敏 | 聊天机器人系统及自动聊天方法 |
US20170237692A1 (en) * | 2014-01-28 | 2017-08-17 | GupShup Inc | Structured chat messaging for interaction with bots |
US20170310613A1 (en) * | 2016-04-22 | 2017-10-26 | SmarTBotHub LLC | System and Method for Facilitating Computer Generated Conversations with the aid of a Digital Computer |
Also Published As
Publication number | Publication date |
---|---|
AU2018395523B2 (en) | 2021-11-25 |
WO2019133927A1 (en) | 2019-07-04 |
AU2018395523A1 (en) | 2020-07-23 |
CN111788801B (zh) | 2022-12-02 |
EP3732836A4 (en) | 2021-09-15 |
EP3732836A1 (en) | 2020-11-04 |
US10771407B2 (en) | 2020-09-08 |
US20190207875A1 (en) | 2019-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111788801B (zh) | 用于数据访问的多级机器人架构 | |
US10929917B2 (en) | Accessing chat sessions via chat bots for cart generation | |
US9652618B1 (en) | Systems and apparatuses for architecture assessment and policy enforcement | |
US8843646B2 (en) | Multi-desktop interaction using nested remote desktop sessions | |
US11329977B2 (en) | Chat bot-based authentication of chat bots | |
WO2022082186A1 (en) | Systems and methods for data parsing | |
US20180302399A1 (en) | Protocol-Level Identity Mapping | |
US10977623B2 (en) | Chat session communication for transactions between chat bot applications | |
CN109767200B (zh) | 一种电子支付方法、装置、系统和存储介质 | |
US10831754B2 (en) | Using metadata to take action on an SMS message on a proprietary system | |
CN113034118B (zh) | 业务审核方法、系统、可读存储介质和计算机程序产品 | |
KR20200123228A (ko) | 자동채움 필드 분류를 위한 시스템 및 방법 | |
CN111199037A (zh) | 登录方法、系统和装置 | |
JP2018518771A (ja) | トランザクション処理方法及びシステム | |
US9021110B2 (en) | Consistent association of a user ID with a user | |
KR101607919B1 (ko) | 메신저에 검색 기능을 제공하고 검색 결과를 정렬하는 방법과 시스템 및 기록 매체 | |
US9398041B2 (en) | Identifying stored vulnerabilities in a web service | |
US9491221B1 (en) | System and method for brokering distributed computation | |
CN114301695A (zh) | 一种数据传输方法、装置、电子设备和存储介质 | |
Raknes et al. | META-pipe Authorization service | |
US11675802B1 (en) | Graphical user interface and flexible architecture for a rule engine | |
CN111914065B (zh) | 短信内容验证方法、装置、计算机系统和计算机可读介质 | |
US11159514B2 (en) | System for authenticating process operations on a network using context locked progressive session tokens | |
US20230262037A1 (en) | Techniques for authenticating using uniquely assigned webpages | |
US20240070316A1 (en) | Techniques for providing a privacy-based data sharing protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |