CN108886487A - 多模态对话互通 - Google Patents
多模态对话互通 Download PDFInfo
- Publication number
- CN108886487A CN108886487A CN201780018284.9A CN201780018284A CN108886487A CN 108886487 A CN108886487 A CN 108886487A CN 201780018284 A CN201780018284 A CN 201780018284A CN 108886487 A CN108886487 A CN 108886487A
- Authority
- CN
- China
- Prior art keywords
- agency
- channel
- user
- service
- human
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
- G06Q30/0635—Processing of requisition or of purchase orders
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- 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/046—Interoperability with other network applications or services
-
- 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/06—Message adaptation to terminal or network requirements
- H04L51/066—Format adaptation, e.g. format conversion or compression
-
- 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/56—Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- General Business, Economics & Management (AREA)
- Computational Linguistics (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本文讨论的技术允许提供基于对话的服务的代理经由任意模式与用户对话。被编程为能够经由任意模式进行通信的中央服务从代理收集用于代表代理进行动作所需的信息。为了确保代理在模式之间具有最大存在,中央服务提供辅助服务,诸如语言翻译、保真度升级和/或降级、模态约束构造等。此外,中央服务经由在互通处存储的用户简档提供会话跟踪,使得如果用户改变通过其用户正在与代理对话的模式,则中央服务可以在新模式下保持对话的上下文。此外,代理可以经由中央服务与其他代理通信,允许其他代理向代理提供服务或将它们的服务添加到与用户的正在进行的对话中。
Description
背景技术
聊天机器人是操作用于以被设计为模仿自然人类对话的方式进行对话通信的计算机程序。最初新奇的聊天机器人现在通常用作用于网站访问者的客户服务。他们可以提供响应于用户查询的信息,并且可以在某些情况下代表用户完成任务,诸如完成或取消订单。为了在通信通道中提供聊天机器人功能,开发人员必须将聊天机器人功能编码到其期望的聊天机器人功能的每个通信通道中。特定聊天机器人的功能被限于其被设计用于的通信通道。
发明内容
提供本发明内容以介绍与多模态代理相互通信有关的简化概念。本发明内容不旨在标识所要求保护的主题的必要特征,也不旨在用于在确定所要求保护的主题的范围中使用。
本文描述了用于扩展代理可以通过其进行通信或动作的模式的技术。本文被称为互通的中央服务允许代理经由任意模式通过从代理收集代表代理所需的信息并且通过被配置为能够经由任意模式进行通信,提供与代理相关联的基于对话的服务。为了确保代理在模式之间具有最大存在,互通提供辅助服务,诸如语言翻译、保真度升级和/或降级、模态约束构造等。互通是是动态的,因此互通可以编程为在它们被开发时经由新模式进行通信。此外,互通经由存储在互通处的用户简档来提供会话跟踪,使得如果用户改变用户与代理正在通信的模式,则互通跨越新模式保持对话的上下文。此外,代理可以经由互通与其他代理通信,允许其他代理向代理提供服务或将其服务添加到与用户的正在进行的对话中。
附图说明
参考附图描述了具体实施方式。在附图中,附图标记的最左边的数字标识附图标记首次出现的附图。不同附图中的相同附图标记表示相似或完全相同的项。
图1是描绘了可用于实现多模态代理相互通信的示例环境的框图。
图2是描绘了根据各种示例的可以实现多通道代理相互通信的示例设备的框图。
图3A是用于显示可用于将代理与和用户简档相关联的通道进行链接的代理库的示例用户界面。
图3B是用于管理与代理的通道关联的示例用户界面。
图3C是用于经由特定通道将代理链接到用户简档的示例用户界面。
图3D是用于授予代理用于访问用户的组和消息的许可的示例用户界面。
图4是图示了经由电话服务通道与目录代理的交互的示例用户界面。
图5是图示了经由组项目应用与目录代理的交互的示例用户界面。
图6是用于注册代理以允许互通代表代理的示例用户界面。
图7是用于管理被链接到代理的通道的示例用户界面。
图8是用于将代理链接到通道的示例用户界面。
图9是图示了用于在至少一个代理和用户之间创建对话会话的示例过程的流程图。
图10是图示了用于促进至少一个代理与和用户简档相关联的用户之间的对话的示例过程的流程图。
图11是图示了用于促进至少一个代理和通道之间的对话的示例处理的流程图。
具体实施方式
概述
本公开涉及提供多模态代理相互通信的技术。本文描述的示例提供了用于允许至少一个代理通过多个通道向用户提供基于对话的服务而不用为每个通信通道编码至少一个代理的技术。这些技术允许开发人员为代理编写指令,该指令不知道通过其代理可以进行对话的通道。这改变了组成代理本身的指令的结构,因为包括特定于通道的通信指令的指令部分可以被删除、简化或忽略。
在一些示例中,该技术可以通过被编程为通过任意通道来中继通信并且通过被提供足以代表代理的、与代理相关联的信息来提供该功能。在一些示例中,该技术可以利用代理的API端点或允许该技术对代理的服务进行调用的一些其他访问点,例如包括对用户查询的响应。此外,该技术可以被提供足以通过通道代表代理进行通信的信息。这样的信息可以包括例如在代理与通道的注册时为代理生成的客户端ID和客户端令牌。在一些示例中,该技术将从代理接收的并且通过通道向用户设备发送的通信转换为适合于与用户的对话被处理的通道。该技术移除了针对每个通道对代理进行重新编码的必要性,针对每个通道开发者期望提供与代理对话的能力。
这些技术不仅减少了开发者的负担,而且这些技术还允许特定代理跨越通道具有便携存在。例如,该技术允许用户跨越通道与代理进行对话而不会丢失对话的上下文。例如,在对话中间,用户可以切换通道并继续对话,其中用户在另一个通道中离开,而且无需重新启动代理。在一些示例中,该技术可以包括含有相关联的通道的会话跟踪、通信记录和/或用户简档中的一个或多个,以确保用户能够与相同代理通话而不会丢失会话的上下文。本文描述的示例还可以提供辅助服务以最大化代理具有存在的通道的数目。示例技术还可以检测与代理的服务相对应的用户的通信中的服务触发的存在。该技术允许引入或提供代理和/或代理的服务,而不必中断对话以查询代理。
术语“技术”可指代系统、方法、用指令编码的计算机可读媒体、模块和/或算法、以及硬件逻辑(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD))等,如由在以上并在整个文档中描述的上下文所许可的。
示意性的环境
图1是描绘了可用于实现多模态代理相互通信的示例环境100的框图。环境100包括分布式计算资源102(1)-102(N),其可以彼此通信并且经由一个或多个网络106与外部设备通信。在一些示例中,分布式计算资源102(1)-102(N)可以实现本文描述的技术。例如,分布式计算资源102(1)-102(N)可以包括用于完成多模态代理的相互通信的中央服务(本文是“互通104”),这有利于跨越多个通道110的至少一个代理112(1)和至少一个用户设备108之间的对话,而不为每个通信通道编码至少一个代理112(1)的版本。在一些示例中,示例环境100可以替代地包括单个计算资源,诸如例如实现本文技术的分布式计算资源102(1)。在一些示例中,针对分布式计算资源102(1)-102(N)描述的一些或所有技术可以附加地或替代地由一个或多个客户端设备108实现。在一些示例中,客户端设备110可以被编程为中央服务。
在一些示例中,分布式计算资源102(1)-102(N)包括诸如分布式计算资源102(1)-102(N)的计算设备。示例支持场景,其中分布式计算资源102(1)-102(N)可以包括在集群和/或其他分组配置中操作的一个或多个计算设备以共享资源、平衡负载、提高性能、提供故障转移支持和/或冗余、和/或用于其他目的。尽管被图示为服务器,但是分布式计算资源102(1)-102(N)可以包括各种各样的设备类型,并且不限于任意特定类型的设备。例如,分布式计算资源102(1)-102(N)可以包括具有可操作地连接到计算机可读介质、I/O接口和网络接口的一个或多个处理单元的任意类型的计算设备。分布式计算资源102(1)-102(N)可以具有存储在其上的代理互通框架,分布式计算资源102(1)-102(N)具有存储在其上的、共同组成互通104的代理互通框架。
在一些示例中,网络106可以包括诸如因特网的公共网络、诸如机构和/或个人内联网的私有网络、或者私有和公共网络的某种组合。网络106还可以包括任意类型的有线和/或无线网络,包括但不限于局域网(LAN)、广域网(WAN)、卫星网络、有线网络、Wi-Fi网络、WiMax网络、移动通信网络(例如,3G、4G等)或其任意组合。网络106可以利用通信协议,包括基于分组和/或基于数据报的协议,诸如因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)和/或其他类型的协议。此外,网络106还可以包括促进网络通信和/或形成网络硬件基础的许多设备,诸如交换机、路由器、网关、接入点、防火墙、基站、中继器、骨干设备、等等。在一些示例中,网络106可以包括能够连接到无线网络的设备,诸如无线接入点(WAP)。示例支持通过发送和接收关于各种电磁频率(例如,无线电频率)的数据的WAP的连接,包括支持电气和电子工程师协会(IEEE)1302.11标准(例如,1302.11g、1302.11n等)和其他标准的WAP。
示例环境100还包括客户端设备108。在一些示例中,客户端设备108可以包括但不限于台式计算机、服务器计算机、网络服务器计算机、个人计算机、移动计算机、膝上型计算机、平板计算机、可穿戴计算机、植入式计算设备、电信设备、汽车计算机、支持网络的电视、瘦客户机、终端、个人数据助理(PDA)、游戏机、游戏设备、工作站、媒体播放器、个人视频录像机(PVR)、机顶盒、相机、包括在计算设备中的集成组件、装备或任意其他类型的计算设备,诸如一个或多个单独的处理器设备,诸如CPU类型的处理器(例如、微型处理器)、GPU或加速器设备。客户端设备108可以是用户可以通过其参与与另一实体的对话的任意设备。
在一些示例中、客户端设备108经由通道110进行通信,通过该通道110,用户可以参与与另一实体的对话。在一些示例中,尽管图1将通道110描绘为经由网络106与客户端设备108通信,但是如本文所使用的术语“通道”指的是任意电子通信模式或方法。
通道110的示例可以包括社交网络通道110(1)(例如,等)、项目协作通道110(2)(例如,等)、电子邮件服务110(3)(例如、等)、SMS和/或语音服务110(4)、或者客户端设备108可以通过其参与与另一个实体(例如、AOL Instant Messenger、Gtalk、等)的对话的任意其他通道110(O)。
示例环境100还包括经由网络106通信地耦合到分布式计算资源102(1)-102(N)的代理112。代理112可以包括任意对话服务,其中至少在一个示例中,“对话”可以包括自然语言的交换。在一些示例中,“对话”可以包括人工语言和/或计算机代码。在一些示例中,“对话”可以包括文件交换。代理112的一些示例可以包括聊天机器人;智能个人助理(如等);活动目录代理(例如,响应关于存储在活动目录中的信息的用户请求的代理);支付代理(例如,促进代表用户的支付的代理);搜索引擎代理(例如,用搜索引擎结果响应用户查询的代理);笑话代理(例如,用笑话响应的代理);商品订购代理(例如,代表用户动作完成商品订单的代理);图像注释代理;日历代理;代理制造代理;代理进口代理;办公软件代理;提醒代理;物联网控制代理;处理和管理地图和方向信息的代理;用于在记笔记中使用的代理,即以电子形式记录和组织音频信息的代理;用于个人信息管理代理;用于组织和访问电话号码、地址和其他个人联系信息的代理;用于访问、浏览和搜索在线数据库的代理;用于提供消费者资源的代理,用于针对通过全球通信网络购买、消费和使用大范围的消费者产品、服务和信息以及使用任意格式的任意连接访问模式(即移动通信设备、桌面互联网、电子邮件、语音或社交媒体通道)的搜索、定位、评级、评估和提供指导;用于全球定位和用于提供旅行指示的代理;用于能够实现通过语音识别的移动电话的免提使用的代理;用于旅行安排的代理;辅助在酒店和餐馆进行预订的代理,提供天气信息的代理等。
在一些示例中,代理112是自然语言、语音、说话者、语言、语音识别和声纹识别领域中的专有计算机软件;计算机服务,即辅助他人实现、使用和操作计算机硬件、计算机软件和消费电子产品;技术支持服务,即计算机软件问题的故障排除;计算机服务,即在开发计算机系统、数据库和应用方面提供协助;提供计算机硬件和软件开发领域的信息;应用服务提供商(ASP)服务,其特征在于托管其他人的计算机软件应用;或者特征在于计算机软件和提供在线不可下载软件的ASP服务,即用于创建、创作、分发、下载、发送、接收、播放、编辑、提取、编码、解码、显示、存储和组织文本、图形、图像、音频、视频和多媒体内容以及电子出版物的计算机软件。
在一些示例中,代理112可以包括软件、硬件、人力资源或其任意组合。在一些示例中,代理112可以包括全部或部分的Amazon Mechanical(“MTurk”)或其他众包人力资源。例如,在分布式计算资源102(1)-102(N)处向互通104注册的代理可以利用MTurk API来提交MTurk请求并经由互通返回结果。在一些示例中,代理可以使用客户端设备108代表用户进行动作。在一些示例中,用于代表用户进行动作的代理的许可的范围取决于用户授予代理的许可。例如,可以提示选择加入以使用代理的服务。
在一些示例中,代理可以包括针对单个标准或通道编码的软件。也就是说,组成代理的软件可以不知道通过其代理进行通信的通道类型,并且因此代理可以被编码以使用一种类型的通道起作用,或者可以对通道进行编码而没有任意特定性。由于在一些示例中,互通104将向和从代理112发送的消息变换为对应于相应通道110的格式,因此代理不需要针对特定通道进行编码,并且不需要针对每个通道进行编码。在一些示例中,本文所讨论的技术促进经由多个通道中的任意一个的、在用户设备与至少一个代理112(1)之间的通信,该代理是单个应用。在不使用互通104的其他示例中,代理对于每个通道包括一个应用,其中组成代理的各种应用各自被编码为符合一个通道。在互通104未被利用的其他示例中,代理包括多个模块,这些模块被编程为分别使消息符合多个通道。
尽管图1描绘了分布式系统,其中代理112被描绘为通过网络106与分布式计算资源102通信,但是在一些示例中,代理112可以被存储在分布式计算资源102(1)-102(N)。在一些示例中,代理112可以远程存储,如图所示。例如,代理112可以是web服务的一部分,可由应用编程接口(API)可访问。
图2描绘了示例设备200,其可以表示分布式计算资源102的一个或多个计算资源、用户设备108、或实现本文描述的多模态代理相互通信技术中的一些或全部的其他计算设备。示例设备200可以包括具有可操作地连接到计算机可读介质204的一个或多个处理单元202的任意类型的计算设备。该连接可以经由总线206,在某些情况下该总线206可以包括系统总线、数据总线、地址总线、PCI总线、Mini-PCI总线以及各种本地、外围设备和/或独立总线中的一个或多个、或经由另一个可操作连接。处理单元202可以表示例如微处理器、控制器、或用于处理计算机可执行指令以控制设备的操作以便促进多通道代理相互通信的任意其他合适类型的处理器。在使用片上系统架构的一些示例中,处理单元202可以包括一个或多个固定功能块(也称为加速器),其以硬件(而不是软件或固件)实现采用互通104的方法的一部分。
计算机可读介质204包括两种类型的计算机可读介质,即计算机存储介质和通信介质。计算机存储介质可包括以用于信息的存储(以压缩或未压缩形式)的任意方法或技术实现的易失性和非易失性、非暂态机器可读、可移动和不可移动介质,该信息诸如计算机(或其他电子设备)可读和/或可执行指令、数据结构、程序模块和/或用于执行本文描述的过程或方法的其他数据。计算机存储介质包括但不限于硬盘驱动器、软盘、光盘、CD-ROM、DVD、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、闪存、磁性和/或光学卡、固态存储器设备和/或适合于存储电子指令的其他类型的物理机器可读介质。
相反,通信介质实施计算机可读指令、数据结构、程序模块和/或诸如载波的调制数据信号和/或其他传输机制中的其他数据。如本文所定义的,计算机存储介质不包括通信介质。
示例设备200可以包括但不限于台式计算机、服务器计算机、web服务器计算机、个人计算机、移动计算机、膝上型计算机、平板计算机、可穿戴计算机、植入式计算设备、电信设备、汽车计算机、支持网络的电视、瘦客户端、终端、个人数据助理(PDA)、游戏机、游戏设备、工作站、媒体播放器、个人视频录像机(PVR)、机顶盒、相机、包括在计算设备中的集成组件、装备和/或任意其他种类的计算设备,诸如一个或多个分离的处理器设备,诸如CPU型处理器(例如,微处理器)、GPU和/或加速器设备。
在一些示例中,如关于设备200所示,计算机可读介质204可以存储由处理单元202可执行的指令,其可以表示并入设备200中的CPU。计算机可读介质204还可以存储指令,该指令由外部CPU型处理器可执行、由GPU可执行、和/或由加速器可执行,诸如现场可编程门阵列(FPGA)型加速器、数字信号处理(DSP)型加速器、和/或任意内部或外部加速器。
存储在计算机可读介质202上的可执行指令可包括例如操作系统208、互通框架210、以及由处理单元202可加载和可执行的其他模块、程序和/或应用。互通框架210可以包括代理注册和发现模块212、对话转换/中继模块214、通信日志模块216、会话跟踪模块218和/或辅助服务模块220。这些技术可以部署在或多或少的模块中。如上所述,本文描述的功能可以至少部分地由诸如加速器的一个或多个硬件逻辑组件来执行。例如但不限于,可以被使用的示意性类型的硬件逻辑组件包括FPGA、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)的系统、复杂可编程逻辑器件(CPLD)等。例如,加速器可以代表混合设备,诸如来自包括嵌入在FPGA架构中的CPU内核的XILINX或ALTERA的混合设备。
在所图示示例中,计算机可读介质204还包括数据存储库222。在一些示例中,数据存储库222包括数据存储,诸如数据库、数据仓库和/或其他类型的结构化或非结构化数据存储。在一些示例中,数据存储库222包括具有一个或多个表、索引、存储过程等的关系数据库等以实现数据访问。数据存储库222可以存储用于存储在计算机可读介质204中和/或由处理器202和/或诸如模块212-220的加速器执行的过程、应用、组件和/或模块的操作的数据。例如,数据存储库216可以存储代理数据库、代理数据、用户简档、增值服务数据、版本数据、迭代数据、时钟数据以及由互通框架210存储和访问的其他状态数据。替代地,上述参考数据中的一些或者全部可以被存储在分离的存储器上,诸如分布式计算资源102(1)-102(N)的存储器、客户端设备108、代理112、板上存储器CPU类型处理器(例如,微处理器)、板上存储器GPU、板上存储器FPGA类型加速器、板上存储器DSP类型加速器、和/或板上存储器另一个加速器。
设备200还可以包括一个或多个输入/输出(I/O)接口224,以允许设备200与输入/输出设备(诸如包括外围输入设备(例如,键盘、鼠标、笔、游戏控制器、麦克风或音频输入设备、触摸输入设备(例如,触摸屏、触摸板等)、手势输入设备、相机等)的用户输入设备、和/或包括外围输出设备(例如,显示器、打印机、音频扬声器、触觉输出、用于音频感觉的骨传导等)的输出设备)通信。在一些示例中,I/O接口224可以用于与客户端设备108或代理112通信。设备200还可以包括一个或多个网络接口226以能够实现计算设备200和诸如客户端设备108和/或代理112的其他联网设备之间的通信。这样的网络接口226可以包括一个或多个网络接口控制器(NIC)和/或用于通过诸如网络106的网络来发送和/或接收通信的其他类型的收发机设备。
示例设备200包括可以分布式地或单独地存储在设备200上的示例互通框架210,如上所述,其可以包括诸如分布式计算资源102(1)-102(N)的一个或多个设备。模块中的一些或全部可用于远程设备和/或分布式计算资源102,可从远程设备和/或分布式计算资源102访问,或被存储在远程设备和/或分布式计算资源102上,其可以被配置为云服务系统。在一些示例中,互通框架210包括如本文所述的模块212-220,其提供多通道代理相互通信。在一些示例中,可以采用任意数目的模块,并且由一个模块采用的如本文描述的技术可以由更多或更少数目的模块采用。
代理注册和发现模块212可以包括计算机可执行指令,该计算机可执行指令在被执行时对处理单元202进行编程以注册代理并促进用户对代理的发现。在一些示例中,为了注册代理,代理注册和发现模块212可以被配置为接收关于其可以存储在代理目录中的代理的信息。在一些示例中,代理注册和发现模块212可以将代理目录存储在数据存储库222中或存储在单独的存储器中。在一些示例中,组成代理目录的信息可以包括以下一项或多项:代理名称、代理描述、代理API端点引用、链接通道的代理密钥(例如,客户端令牌、客户端ID等)、代理帐户信息(例如,如果代理密钥不可用,则互通104的所必需的杂项数据用于代表代理进行动作)、代理发布者身份、代理发布者电子邮件、代理关联网站、代理图标、代理所有者、代理语言的标识、主题标签和/或所期望的增值服务的指示。
在一些示例中,互通104可以经由API端点引用来调用代理API,以代表代理来发送和接收消息、文件和/或其他通信。由互通104对代理API的调用还可以使代理执行与代理相关联的服务。预期可以使用用于与代理进行对接的其他合适配置。例如,如果代理包括和/或依赖于人力资源,至少部分地可以使用其他界面,诸如用户界面,诸如图形用户界面、自然语言界面、菜单、表单、命令行。在一些示例中,代理注册和发现模块212还可以被用于注册新通道。例如,如果开发了新通道,则代理注册和发现模块212可以接收关于新通道的信息,该信息足以转换从新通道发送到代理并且从代理接收的消息以在新通道上中继。此类信息可包括API端点,用于访问新通道的代理密钥、通道通信协议、通道约束、通道保真度等。在一些示例中,添加的新通道可用于所有用户(即,发布给所有开发者)或添加的新通道可以选择性地仅对某些用户(例如,授权用户)或在某些场景中(例如,当某些条件被满足时)可用。
在一些示例中,代理注册和发现模块212可以促进将代理链接到通道。如本文所使用的,“链接”可以包括认证、关联、提供足够的信息,使得互通框架210可以诸如通过代表至少一个代理112(1)经由通道等发送和接收消息来促进至少一个代理112(1)与至少一个用户设备之间的通信。在一些示例中,代理注册和发现模块212被配置为接收代理密钥(例如,客户端ID和客户端秘密或令牌)以用于代理已经被链接到的通道。在一些示例中,模块可以提供在通道上为代理建立帐户和/或在通道上认证代理的指南(例如,用于经由其公开的API来与通道的服务交互的授权方案)。在一些示例中,一旦经由代理注册和发现模块212注册,互通104就可以使用存储在代理目录中的数据来代表代理发出请求,诸如用于通过通道来发送和/或接收消息和/或文件的请求。
此外,在一些示例中,代理注册和发现模块212还可以收集信息以包括在用户简档中,代理注册和发现模块212可以在数据存储库222或其他存储器中维护该信息。在一些示例中,用户简档可以包括以下项中的一项或多项:用户标识、用户设备关联、用户设备状态、用户设备与代理的交互的状态、用户设备与通道交互的状态、链接到与用户相关联的通道的代理(例如、已经被用户添加到对话的代理、用户与其直接通信的代理等)、用户的语言、用户的传记数据、与用户相关联的通信日志、与由辅助服务模块220开发的通信日志有关的分析等。在一些示例中,互通框架210可以使用用户简档来至少部分地基于组成以上所描述的用户简档的一个或多个数据来定制到用户的通信。
在一些示例中,对话转换/中继模块214可以包括计算机可执行指令,其能够配置处理单元202以促进至少一个代理112(1)与至少一个用户设备之间跨多个通道的对话,而不需要为每个通信通道编码机器人。在一些示例中,对话转换/中继模块214可以包括能够从代理目录(例如,相互通信层的代理侧)和/或用户简档(例如,相互通信层的客户端侧)取回数据的计算机可执行指令。在一些示例中,对话转换/中继模块214经由通道用作至少一个代理112(1)和至少一个用户设备之间的代理层。在一些示例中,对话转换/中继模块214可以代表代理来进行动作以发送和/或接收通信和/或通过通道采取其他动作(例如,经由通道在互通104和用户设备之间的通信)并且从至少与代理相关联的API端点发送和/或接收通信(例如,代理和互通之间的通信),以便促进代理和用户设备之间的对话。在一些示例中,对话转换/中继模块214可以代表代理来发送和/或接收通信和/或采取其他动作。在一些示例中,对话转换/中继模块214可以代表代理与其他代理或通过其他服务(诸如例如,搜索引擎请求、订单处理、人工输入请求等)采取这样的动作。例如,对话转换/中继模块214可以代表代理向其他代理发送请求,并将其他代理的响应中继到代理。
在一些示例中,对话转换/中继模块214被配置为确保代理和用户设备之间经由通道的对话符合通道的约束和/或即使在代理被写入以支持有限的通道保真度时也支持不同的通道保真度。例如,对话转换/中继模块214可以包括计算机可执行指令,其能够配置处理单元202以使从代理提供给通道的通信符合该通道的约束,反之亦然。例如,如果代理是针对相关服务被编写的,其允许发布图像,并且与代理对话的通道是SMS通道,则对话转换/中继模块214可以遵守SMS通道的约束,并且将来自代理的消息转换为140个字符的消息,并将图像作为链接包括在140个字符消息中,该链接是到图像内容的超链接。因此,不需要为SMS通道重写具有有关的服务的代理。类似地,在一些示例中,对话转换/中继模块214可以分别基于代理和/或通道保真度来修改接收和发送的通信的保真度。低保真度通道包括具有更稀疏内容的通道,诸如例如SMS、消息传送、电子邮件、网页、调查、其他问卷、其他形式等。高保真通道具有更丰富的内容,诸如例如语音、视频会议、全息图等。在一些示例中,对话转换/中继模块214可以与辅助服务模块220对接,以促进代理和不同保真度的通道之间的对话。例如,如果代理被编写为基于网络的调查表形式,则模块214和220可以使用合适的文本到语音转换技术将调查表的问题转换为自然对话语言音频,以经由通道提供给用户并将接收的来自用户的语音或其他响应转换为文本输入,以提供给代理。类似地,可以经由语音到视频技术将音频转换为视频。
该示例还图示了用于提供多模态对话的互通框架210的能力。在一些示例中,对话转换/中继模块214、辅助服务模块220、会话跟踪模块218和/或其他模块可以确定最适合于通道和上下文的通信格式。例如,高保真通道能够发送和接收多种形式的通信,但并非所有形式或某些形式在某些情况下都是有用的。例如,高保真通道可以同时进行视频、语音和文本通信。互通框架210可以知道通道的保真度(例如,通过关于通道提供的并且存储在互通104处的信息)并且能够同时经由所有这些格式进行通信。替代地,互通框架210可以根据上下文选择一种或多种格式或在通信格式之间切换。例如,如果在与用户的对话期间代理的响应的一部分包括需要稍后保存的信息,则经由文本提供该信息可能更合适,以便用户可以更容易地捕获它,即使用户以前是与代理视频聊天或语音呼叫。在一些示例中,互通框架210可以在各种格式的通信之间转换或者添加各种格式的通信。在一些示例中,用户可以指示互通104在通信格式之间转换或添加通信格式。例如,用户可以经由电子邮件通道与代理进行对话,但是用户可能希望机器人经由电话与用户或另一个人继续对话。对话转换/中继模块214可以从电子邮件消息转换为发送到通道的语音对话。对话转换/中继模块214还可以将从通道接收的通信转换为代理和/或代理的API可理解的形式。此外,为了便于针对特定通道适当地格式化通信的转换,对话转换/中继模块214可以存储包括通道格式信息(例如,架构信息、协议信息、保真度信息、加密架构信息等)的数据库。在一些示例中,数据库可以进一步包括用于在通道上制定通信的所需信息(例如,组成用于文本通道的消息的文本数据、构成用于视频通道的流式视频消息的视频数据等)之间的关联、代理输出、和用于调用将代理输出转换为通道可接受格式的辅助服务。
此外,互通框架210可以确保可以通过用户正在使用的通道的改变来保持对话的对话背景。在一些示例中,互通框架210可以经由通信日志模块216捕获和存储通信。
在一些示例中,互通框架210可以至少部分地基于对话的对话上下文(例如,来自辅助服务模块220提供的自然语言处理等)、用户的上下文、使用上下文、用户设备状态、通道状态、代理服务类型、服务触发类型、用户简档中包含的信息、代理目录中的信息等来确定用于通信的最佳格式。
用户可以以各种方式启动与代理的对话,这取决于用户想要与代理对话的通道。在一些示例中,用户可能不知道通道类型(例如,用户遇到链接到代理的信息亭)。在一些示例中,对于一些通道类型,用户可以发起与和代理相关联的账户的通信。例如,用户可以向与代理相关联的电话号码发送SMS,向与代理相关联的电子邮件帐户发送电子邮件,向与代理相关联的简档发送聊天,向与代理相关联的社交网络简档的直接发送消息等。在一些示例中,具有由互通框架210维护的用户简档的用户可以将代理与用户简档相关联,从而获得对代理的访问。在一些示例中,用户可以将代理添加为通道内的联系人。在一些示例中,代理可以具有多个身份作为多个通道中的联系人。在一些示例中,通过向一个通道添加具有跨多个通道的多个身份的代理联系人,用户可以将代理添加到所有多个通道。在其他示例中,用户可以另外地或替代地通过将代理添加到联系人列表或通过将代理添加到讨论组来发起与代理的通信。例如,用户可以将代理添加到组讨论或其他协作通信通道。
在一些示例中,对话转换/中继模块214可以在通道之间传递对话。在一些示例中,用于将对话移动到另一个通道、用于向通道添加通信形式、或者用于添加通道的决定可以至少部分地基于由会话跟踪模块218收集的数据。在一些示例中,会话跟踪模块218可以跟踪会话数据,诸如例如,用户使用的通道、客户端设备和/或通道的活动/不活动状态、关于通道和/或客户端设备的使用(例如,通道和/或客户端设备被使用的一天中的时间、位置、目的)的分析、在不同客户端上或多或少常用的通道、对话框数据,在对话框中进行通信的各方的身份等。在一些示例中,会话跟踪模块218可以至少部分地基于以下项中的一项或多项来检测用户使用中的通道的改变:用户活动量、经由一个通道的通信的停止以及在第二个通道中通信的开始或继续、一天中的时间、活动状态、用户指示的通道是正在使用的通道、优选通道、已经从其接收最近的通信的通道、或者至少部分地基于时间、用户的位置、与从通道接收的通信相关联的IP地址、日历事件或设备的状态中的一个或多个来被优选为正在使用的通道的通道。
在一些示例中,通信日志模块216可以捕获组成至少一个代理112(1)和用户设备之间的对话的通信的至少一部分。在一些示例中,通信日志模块216可以将通信存储在通信日志中。在一些示例中,通信日志模块216可以保持通信日志中的通信从其首次存储的时间开始持续一段时间,然后通信日志模块216可以删除数据(例如,对话的持续时间,用户预先定义的持续时间,直到用户与代理去相关联,直到与通信日志相关联的用户简档被删除或停用,持续一周,持续一年,持续五年)。在一些示例中,通信日志模块216可以加密通信日志。在一些示例中,通信日志可以由设备200的安全策略来保护安全。在一些示例中,通信日志模块216可以向用户提供用于开始、停止或从不记录通信的选项。通信模块216还可以允许用户选择可以从其捕获和/或存储通信日志的格式、通道和用户设备。在一些示例中,用户还可以选择具有访问通信日志的许可的增值服务(例如,辅助服务模块220的服务)和/或代理。
在一些示例中,通信日志可以由辅助服务模块220、对话转换/中继模块214或会话跟踪模块218访问,以促进代理和用户之间的流畅的对话。例如,辅助服务模块220可以包括消息智能服务,其使用自然语言处理、消歧和/或其他处理方法来从通信日志和/或正在进行的对话中检测服务触发、用户的文化背景和/或关于用户的其他传记数据。如本文所提及的,用于与代理交互的任意刺激因素可被称为“服务触发”,无论是通过对代理的直接查询、与代理的对话、检测由如上所述的代理提供的服务的适用性等。在一些示例中,服务触发是与一个或多个代理的一个或多个服务相关联的用户通信的部分。为了识别服务触发,辅助服务模块220可以包括自然语言处理、语音到文本技术、视频到文本技术和/或其他语义消歧技术和将对话转换为可由自然语言处理服务使用以标识代理的服务何时可能是相关的格式的技术。在一些示例中,辅助服务模块220可以被编程为连续监视服务触发的对话。在其他示例中,辅助服务模块220可以被编程为监视在用户方向上的、在一天中的时间期间、在特定通道上、在用户和特定代理之间、针对具有特定级别的许可的代理等的服务触发的对话。
例如,如果一个用户向另一个用户发送包括时间、地点、人和位置的通信,则辅助服务模块220可以检测这些中的一个或其组合以包括与服务相关联的服务触发,该服务与代理目录中的代理相关联。例如,时间、地点、人和位置中的一个或组合可以与日历服务、开放时间查找服务、食品订购服务、指导服务等中的一个或多个的服务触发有关。在该示例中,对话转换/中继模块214可以询问用户中的一个或两个是否他们想要将会议数据添加到他们的日历中,或者他们是否想要将被介绍给他们没有关联的代理并且提供与检测到的服务触发关联的服务。在一些示例中,代理可以“切换”或引入其他代理。例如,互通框架210和/或与用户的对话中的代理可以确定检测到的服务触发在要么与代理相关联的服务的范围之外,或者另一个代理可以提供检测到的服务触发的类型的更强健的服务。在这些实例中,代理和/或互通框架210可以提供引入与和服务触发相关联的服务相关联的一个或多个其他代理(例如,将一个或多个其他代理添加到对话或查询代理-到-代理,同时保持用户和代理之间的对话框打开而不添加查询的代理)或者可以提供改变用户正在与其对话的实体(即“切换”)。在一些示例中,辅助服务模块220的消息智能服务可以检测可以用作服务触发的主题、任务、实体、意图等。
在一些示例中,辅助服务模块220还可以从通信日志或与至少一个代理112(1)的正在进行的对话中检测文化背景和/或与用户相关联的其他传记数据。在一些示例中,文化背景可以包括用户说出和/或理解的语言、方言、地理位置、人口统计信息、教育水平、职业、估计的性别、估计的社会性别等。辅助服务模块220可以使用文化背景修改去往和来自代理的通信以适应文化背景。例如,辅助服务模块220可以包括翻译服务,以将用户的语言翻译成机器人和/或其他服务的语言,反之亦然和/或修改构成对话的通信的词汇、音调、音高、社会性别和/或语调等,而不管通信被提供给代理和/或通信被提供给通道。
在一些示例中,辅助服务模块220还可以包括面部检测和识别服务,情绪检测服务,美容检测服务,计算机视觉服务,视频理解和转换服务,图像理解和转换服务,语音识别服务,扬声器识别服务,拼写检查服务,语言理解智能服务(LUIS),web语言模型服务(例如,扩展自然语言处理)等。在一些示例中,服务可以体现为API或可由API访问。在一些示例中,本文描述的组成辅助服务模块220的服务可以接收从代理发送到用户的通信或者从用户接收的、期望针对代理的通信作为输入。无论是代理还是用户,服务都可以将其输出中继给期望方。在一些示例中,辅助服务模块220可以包括机器学习算法,以使用一个或多个通信日志和/或正在进行的对话来增强辅助服务模块220和/或互通框架210的其他模块的一个或多个服务。
在用于图示这些技术中的一些的示例实例中,代理可以包括墨西哥卷饼订购代理。用户可以诸如通过在线代理图库或通过物理广告的各种方法中的一个来发现代理存在,并且经由通道联系代理或将代理添加到用户使用的通道。代理注册和发现模块212可以经由与卷饼订单有关的通道将从用户设备接收的消息中继到代理。在该示例中,墨西哥卷饼订单包括多个服务触发。墨西哥卷饼订单包括多个部分,诸如可以从其购买墨西哥卷饼的实体的身份、关于要订购的墨西哥卷饼的信息、支付和递送/取货安排。订单的这些细节中的每一个都可以充当可能涉及一个或多个代理的服务的服务触发。在一些示例中,代理注册和发现模块212可以促进其服务可以应用于用户的至少一个代理之间的对话,并且促进代理之间的查询以便制定令人满意的对话(例如,墨西哥卷饼餐厅代理可以联系支付代理和搜索引擎地图代理,以分别安排支付和提供到餐馆的行车路线)。在其他示例中,代理注册和发现模块212可以促进在与用户的对话中包括第二或更多代理(例如,将用户被介绍给其他代理,或者可以将用户切换到另一个代理以与该代理进行关于该代理提供的服务的对话)。代理可以请求互通框架210查询其他机器人(例如,调度代理、支付代理)或其他服务(例如,搜索引擎),以便在关于墨西哥卷饼订单的对话中制定对用户设备的响应。
示例用户界面
图3A-3D描绘了可以通过其部署技术的示例用户界面300。特别地,图3A-3D描绘了用于网站的示例用户界面,该网站被设计为允许用户经由特定通道将代理链接到用户简档(其中已经如此链接的通道也被图示了)。图3A描绘了示例代理库的一部分、代理库包括特定代理的描述(302)、代理名称(304)、代理描述(306)、代理主题标签(308)以及代理已被链接到的通道(310)。在一些示例中,代理库可以是公开可见的并且是可发现的。在一些示例中,代理库或构成代理库的多个代理的某些代理可以是公众不可发现的并且可能需要用户简档来查看。在一些示例中,代理库可以促进用户对代理的发现,并且提供关于链接到用户简档的通道的信息,该用户将用户简档也链接到代理。
例如,图3A描绘了目录代理,其被设计为向用户提供信息,该信息关于来自公司的活动目录的信息。该库包括“企业”主题标签,以允许用户按该主题标签过滤代理。在所描绘的示例中,用户已经将目录代理链接到混合媒体服务通道(例如,Skype等)上的用户帐户(图标312)、电子邮件服务(图标314)和电话服务(例如,SMS服务、呼叫服务等)(图标316)。注意,在一些示例中,用户的通道帐户可以与由互通维护的用户的简档相关联。在一些示例中,互通104可以维护包括用户帐户关联的用户简档,而无需存储用户帐户的用户凭证。在一些示例中,互通104可以通过存储用户名或类似的可公开发现的数据而不是诸如例如密码的私人数据来维护包括用户帐户关联的用户简档。
图3B描绘了用于管理代理可以链接到的通道的示例用户界面。示例用户界面显示目录代理已被链接到的三个通道的用户信息。示例用户界面显示连接到被称为“组项目”的项目协作通道的选项。通过选择此链接,用户界面转换到图3C中描绘的使用示例用户界面,其可以提供用于向项目合作通道提供凭证的认证接口。在一些示例中,凭证被直接供应给通道,并且互通104促进认证。在一些示例中,互通104可以不知道凭证,因为互通104可以存储代理的API端点和代理的通道凭证。在该示例中,用户仅需要许可代理访问消息和/或组和/或在由互通存储的用户简档上被认证。在一些示例中,用户可以通过向与代理相关联的账户发送消息和/或将代理添加到对话来发起与代理的通信。图3D描绘了用于授权代理访问消息和/或组从而将代理链接到与用户简档相关联的通道的示例用户界面。
代理注册和发现模块212可以包括用于配置处理单元202以经由显示器(经由I/O接口224)来绘制用户界面300的计算机可执行指令。
图4描绘了用于通过电话服务通道(例如,SMS通道)与示例代理(目录代理)对话的示例用户界面400。在一些示例中,如在所图示的示例中,可以通过在一些示例中消息传送链接到代理的电话号码、电话号码、API端点以及由互通104存储的代理的密钥来进行与代理的对话。在图4所描绘的示例中,对话包括关于目录信息的用户查询402。具有对代理的API端点和密钥的访问并且因此能够代表代理接收和发送消息的互通可以检测从其消息已经从其发送的用户设备是否具用于访问代理可访问的资源的许可,诸如在这个示例中的活动目录。尽管用户可以登录到互通104用户简档,但是代理可以在一些示例中另外需要认证。在所描绘的示例中,代理通过互通104向用户查询402响应进一步认证的请求404。在认证时,代理继续该对话并且响应用户查询。
图5描绘了用于通过组协作应用与示例代理(导向器代理)对话的示例用户界面500。在该示例中,示例代理先前已作为组讨论的成员“同事”被添加到讨论中。在一些示例中,在类似示例中,互通104可以提供诸如自然语言处理和/或消除歧义的增值服务,以检测与代理相关联的服务何时与对话相关。至少部分地基于该检测,互通104可以形成对代理的查询以从互通104可以向该组提供的代理获得响应。在一些示例中,互通104可以格式化查询以符合通常对代理进行的查询。例如,该组的成员可以在不查询代理的情况下做出关于某个主题的评论,并且由该组成员做出的评论可能不会在没有修改的情况下从该代理引出有用的响应。使用自然语言处理的互通可以检测到主题与代理的服务有关并且可以向代理形成关于主题的查询并且将代理响应作为代理建议提供给组,其中代理建议是当用户未请求信息时来自代理的通信。
图5还描绘了代理之间的“介绍”的示例。在502,Jenny提出一个问题,该问题可能被解释为与个体的日程安排以及由于日程安排的性质而与个人的位置有关。在一些示例中,互通104可以促进与具有与服务触发有关的服务的第二代理的对话。当第一代理不提供组成服务触发的服务而第二代理提供组成服务触发的服务时,当用户已经指示第二代理针对一个或多个服务类型的偏好和服务触发与这些服务类型之一相关联时,当第二服务提供更充分或令人满意的服务时等,互通104可以促进与第二代理的对话。
回到该示例,目录代理可以从与会议相关的活动目录(例如,个人可以被满足)提供Jenny信息,并且互通104可以将第二代理(例如,日历代理)插入到对话框。在一些示例中,互通104可以在促进与第二代理的对话之前请求允许引入第二代理。在一些示例中,互通104可以被配置代表用户关联代理,使得“切换”和“介绍”可以更顺利地进行。在其他示例中,互通104可以请求用户将第二代理与通道相关联。在另一个未描绘的示例中,目录代理可以通过互通框架210查询日历代理以在502接收与服务触发相关的数据并且中继日历代理对互通框架210的响应,在一些示例中,互通框架210可以代表目录代理将消息中继到通道。
图6图示了用于注册代理的示例用户界面600。在一些示例中,所接收的信息可以存储在代理目录中。用户界面600图示了用于收集上面关于代理注册和发现模块212所讨论的数据的用户界面的一些示例。图6还描绘了代理注册器选择增值服务以激活代理的能力(602)。在一些示例中,针对子组和/或直到所有服务示出了这些选项。在其他示例中,没有为增值服务显示这些选项。模块212可以包括用于配置处理单元202以经由显示器(经由I/O接口224)来绘制用户界面600的计算机可执行指令。
图7图示了用于管理链接到代理的通道的示例用户界面700。在一些示例中,通道、地址、启用状态和/或设置可以存储在代理目录中,或者可以以其他方式可用于互通104。模块212可以包括用于将处理单元202配置为经由显示器(经由I/O接口224)绘制用户界面700的计算机可执行指令。
图8图示了用于将代理链接到通道的示例用户界面800。在该示例中,该通道是“混合媒体服务”。该示例还包括用于在通道上验证代理的指导,使得互通104可以代表代理发出请求,诸如用于在通道上发送和/或接收消息和/或文件的请求。在该示例中,该指导可以包括用于创建通道帐户、注册代理应用、获取由通道分配的客户端ID和客户端令牌(例如,在响应于注册而在提供的重定向URL中的客户端id参数中揭示的)的指令,并将客户端ID和客户端令牌提供给互通104(即,以授权互通104代表代理进行操作)。模块212可以包括用于配置处理单元202以经由显示器(经由I/O接口224)绘制用户界面800的计算机可执行指令。
示例处理
图9-11图示了示例性过程900、1000和1120,其可以全部或部分地执行。这些过程可以但不必在图1的环境100中和/或使用图2的设备200执行。
图9描绘了实现多通道代理相互通信的示意性过程900。在902处,互通104可以以本文描述的任意方式存储用户简档。在904处,互通104可以以本文描述的任意方式将一个或多个通道链接到用户简档。在一些示例中,示意性过程900可以在904处替代地或另外地将一个或多个通道链接到代理。
在906处,互通104可以以本文描述的任意方式维护多个代理的目录。在一些示例中,多个代理与响应于与用户的对话提供用户服务相关联,并且多个代理被链接到一个或多个通道。在一些示例中,服务可以包括响应于与用户对话中包含的服务触发来提供信息、代表用户行动、在系统外发起动作等。在908处,互通104可以在多个代理中的至少一个代理112(1)和用户之间创建对话会话。在一些示例中,对话会话被配置为在至少一个端点的API端点处接收和发送消息,从API端点(即,从代理)接收和向API端点(即,从代理)发送的消息可以经由通道(例如,经由通道的API)被中继到用户设备。在一些示例中,可以至少部分地基于至少一个代理112(1)与和通道、用户和/或用户设备相关联的用户简档的关联来中继消息。
图10描绘了实现多通道代理相互通信的示意性过程1000。在1002处,互通104可以以本文描述的任意方式存储具有与其相关联的一个或多个通信通道的用户简档。在1004处,互通104可以从与用户简档相关联的通信通道接收服务触发。在一些示例中,服务触发是专利的(例如,不需要消歧或进一步处理来标识服务触发-服务触发是自标识的)。在一些示例中,服务触发是潜在的(例如,服务触发包含在从通道接收的通信中,但是通信必须首先以本文描述的任意方式被处理以标识服务触发),并且示意性过程1000还可以包括处理所接收的服务触发以标识与对应于服务触发的服务相关联的至少一个代理112(1)。
在1006处,互通104可以以本文描述的任意方式标识与对应于服务触发的服务相关联的至少一个代理112(1)。在一些示例中,多个代理的代理可以具有与多个代理相关联的服务标识符,以向互通104公开它们的功能并且促进准确地标识提供与服务触发相对应的服务的代理。在一些示例中,服务触发可以包括单个或多个项。在一些示例中,互通104可以执行服务触发项和服务标识符的优化,以标识与对应于服务触发的服务相关联的至少一个代理112(1)。
在1008处,互通104可以以本文描述的任意方式促进至少一个代理112(1)与和与用户简档相关联的用户之间的对话。
图11描绘了实现多通道代理相互通信的示意性过程1000。在1102处,互通104可以以本文描述的任意方式拦截通道中的通信。在一些示例中,“在通道中”可以包括到通道的通信输入并且通过通道API输出到互通104。在一些示例中,“在通道中”可以包括拦截通道服务内部的通信。在一些示例中,互通104可以以本文描述的任意方式将拦截的通信存储在通信日志中。
在1104处,互通104可以以本文描述的任意方式从拦截的通信中标识服务触发。在1106处,互通104可以以本文描述的任意方式标识与对应于服务触发的服务相关联的至少一个代理112(1)。在1108处,互通104可以以本文描述的任意方式促进至少一个代理112(1)与通道之间的对话。
示例条款
A.一种系统,包括:一个或多个处理器;网络接口;以及计算机可读介质,具有存储在其上的计算机可执行指令,该计算机可执行指令在被执行时,对该一个或多个处理器进行编程以执行操作,该操作包括:存储用户的用户简档,所述用户简档与,用户能够通过一外或多个通道进行通信的;维护多个代理的目录,多个代理的目录包括所述代理,并且包括对由多个代理提供的服务的引用,所述多个代理包括至少一个非人类代理;将非人类代理能够通过其进行通信的多个通道链接到至少一个非人类代理;从与用户简档相关联的通道经由网络接口接收包括服务触发的通信,所述服务触发包括对所述非人类代理或由所述非人类代理提供的服务中的至少一个的引用;并且至少部分地基于所述服务触发,使用与所述用户简档相关联并且被链接到所述至少一个非人类代理的通道,经由所述网络接口在所述至少一个非人类代理和所述用户之间创建对话会话。
B.如段落A所述的系统,其中该目录还包括对与多个代理相关联的应用编程接口(API)端点的引用,并且其中创建对话会话包括:通过所述通道从所述用户接收消息;经由与所述至少一个非人类代理相关联的API端点向所述至少一个非人类代理中继所述消息;经由所述API端点从所述至少一个非人类代理接收响应;代表所述至少一个非人类代理通过所述通道向所述用户中继所述响应。
C.如段落A或B所述的系统,其中所述通道是第一通道,并且所述操作还包括:经由所述对话会话来捕获所述至少一个非人类代理与所述用户之间的对话;检测所述第一通道上的活动的变化;检测所述多个通道的第二通道上的活动的变化,所述第二通道也与所述用户简档相关联;并且使用所述第二通道维护所述至少一个非人类代理与所述用户之间的对话会话,其中维护所述对话会话包括继续所述非人类代理与所述用户之间的所述对话,并且通过所述第二通道经由与所述至少一个非人类代理相关联的API端点来路由消息,所述第二通道链接到至少一个非人类代理。
D.如段落A-C中任一段落所述的系统,其中检测活动的改变包括:监视或接收通道的活动状态中的一个或多个活动状态;用户指示;优选通道;从其大部分通信正被接收的通道;从其最近通信已被接收的通道;或者至少部分地基于以下项中的一项或多项被优选为正在使用的通道的通道:时间、用户的位置、与从通道接收的通信相关联的IP地址、日历事件、或设备的状态。
E.如段落A-D中任一段落所述的系统,所述操作还包括格式化所述至少一个非人类代理和所述用户之间的通信以符合所述通道的标准。
F.如段落A-E中任一段落所述的系统,其中所述至少一个非人类代理被存储在远离所述系统的位置并且经由所述网络接口所述与系统通信。
G.如段落A-F中任一段落所述的系统,其中所述操作还包括:捕获与所述用户简档相关联的通道中的通信;从所捕获的通信中标识所述服务触发;以及至少部分地基于对由对应于与所述服务触发相关联的关键字的所述至少一个非人类代理提供的服务的引用来选择所述至少一个非人类代理。
I.如段落A-H中任一段落所述的系统,其中所述服务触发包括第一服务触发,并且所述操作还包括:从所述对话会话标识与由所述多个代理的至少第二代理提供的服务相关联的第二服务触发;以及将所述第二代理添加到所述对话会话中,所述添加包括:经由与所述第二代理相关联的API端点向所述第二代理中继分别向所述至少一个非人类代理和所述用户发送和从所述至少一个非人类代理和所述用户发送的消息;以及经由与所述至少第二代理相关联的所述API端点通过所述通道向所述至少一个非人类代理和用户中继来自所述第二代理的消息。
J.如段落A-I中任一段落所述的系统,其中所述至少一个非人类代理是第一代理,并且所述操作还包括:从所述第一代理接收经由所述对话会话从所述通道接收到的请求在所述第一代理所提供的服务范围之外的指示;标识提供与所述请求相关联的服务的至少第二代理;以及将所述第二代理添加到所述对话会话中,所述添加包括:经由与所述第二代理相关联的API端点向所述第二代理中继分别向所述第一代理和所述用户发送和从所述第一代理和所述用户发送的消息;以及经由与所述至少第二代理相关联的所述API端点通过所述通道向第一代理和所述用户中继来自所述第二代理的消息。
K.如段落A-J中任一段落所述的系统,其中创建所述对话会话包括以下至少一项:通过所述通道从所述用户接收被寻址到所述至少一个非人类代理的消息,所述消息包括:与所述通道相对应的所述至少一个非人类代理的联系信息;从所述用户接收用于将所述至少一个非人类代理添加到所述通道上的对话的请求;或者接收用于将所述至少一个非人类代理链接到所述通道的请求。
L.如段落A-K中任一段所述的系统,所述操作还包括:维护通道的目录;将对应于通道的信息添加到所述通道的目录,所述信息用于将代理或用户简档链接到所述通道;接收和存储与所述代理目录中的代理有关的信息;接收与代理相关联的web服务的客户端ID或客户端令牌中的一个或多个,所述客户端ID或客户端令牌中的至少一个允许所述系统:代表所述代理来中继消息;以及调用由所述代理提供的服务;以及接收与通道上的代理的认证相关联的客户端ID或客户端令牌中的一个或多个,所述客户端ID或客户端令牌中的至少一个允许所述系统代表所述代理通过所述通道来中继消息。
M.一种计算机可读介质,具有存储在其上的指令,所述指令在被执行时对一个或多个处理器进行编程以执行操作,所述操作包括:注册代理,所述代理包括不同的指令,所述指令在被执行时对一个或多个处理器进行编程以执行包括响应于自然语言对话来提供服务的操作,并且所述注册包括接收与所述代理相关联的应用编程接口(API)端点和与多个通道相对应的认证凭证,所述代理在所述多个通道上已被认证以与通道服务交互;从多个通道接收用于与所述代理对话的请求;以及使用所述API端点和所述代理的所述认证凭证来在所述代理和所述多个通道之间中继对话。
N.如段落M所述的计算机可读介质,其中在所述代理与所述多个通道中的通道之间中继对话包括:使用所述认证凭证的子组代表所述代理从所述通道接收消息;经由所述API端点向所述代理中继所述消息;经由所述API端点从所述代理接收响应;以及使用所述认证凭证代表所述代理向所述通道中继所述响应。
O.如段落M或N所述的计算机可读介质,其中使用认证凭据包括验证中央服务以代表代理进行操作,中央服务:注册代理、接收用于与代理对话的请求、接收消息、中继消息、接收响应、以及中继响应。
P.如段落M-O中任一段落所述的计算机可读介质,该操作还包括:存储用户简档,所述用户简档具有与其相关联的一个或多个通道;以及跟踪所述代理和与所述用户简档相关联的通道之间的对话会话,所述跟踪包括将对话标识符与所述代理、所述通道和所述用户简档相关联。
Q.如段落M-P中任一段落所述的计算机可读介质,该操作还包括:从与所述用户简档相关联的不同通道接收消息;以及通过使用所述不同的通信通道来继续所述代理和所述用户之间的所述对话,所述继续包括附加地将所述不同的通道与所述对话标识符相关联,或者替代地将所述不同的通道取代该通道而与所述对话标识符相关联。
R.一种方法,包括:拦截通道中的通信;从所拦截的通信中标识服务触发;标识与服务触发对应的服务相关联的至少一个代理;并且在至少一个代理和与该通道相关联的通道端点之间中继对话。
S.如段落R所述的方法,其中服务触发包括以下项中的一项或多项:与服务相关联的关键字、与服务相对应的主题、与服务相对应的接收用户位置、与服务相对应的时间、与服务相对应的数据类型、用于向对话添加代理的请求、对代理的引用、或对服务的请求。
T.段落R或S所述的方法还包括:标识从第一通道到第二通道的变化;并且至少部分地基于通道的改变,中继至少一个代理与和第二通道相关联的端点之间的对话。
U.段落R-T中任一段落所述的方法,进一步包括:检测所述通道的保真度或所述通道的约束中的一个或多个;并且使所述至少一个代理的响应符合所述通道的保真度或所述通道的约束中的一个或多个。
V.一种计算机可读介质,其上具有计算机可执行指令,在执行时,配置计算机以执行如段落R-U中任一段落所述的方法。
W.一种系统,包括:用于处理的部件、用于存储的部件、以及用于执行如段落R-U中任意段落所述的方法的任意步骤的部件。
结论
尽管用结构特征和/或方法动作专用的语言描述了本主题,但应理解,所附权利要求书中定义的主题不一定限于所描述的具体特征或动作。相反,公开了具体特征和动作作为实现权利要求的示例形式。
本文描述的模块表示可以存储在任意类型的计算机可读介质中并且可以以软件和/或硬件实现的指令。上述所有方法和过程可以经由由一个或多个计算机或处理器、硬件或其某种组合执行的软件代码模块和/或计算机可执行指令来实施并且完全自动化。替代地,方法中的一些或全部可以被实施在专用计算机硬件中。
除非另外特别说明,否则诸如“可以”、“能够”、“可”或“可能”的条件语言在上下文中被理解为呈现某些示例包括,而其他示例不包括,某些特征、元素和/或步骤。因此,这种条件语言通常不旨在暗示某些特征、元素和/或步骤对于一个或多个示例是以任意方式所需的,或者一个或多个示例必须包括用于在有或没有用户输入或提示的情况下决定在任意特定示例中某些特征、元素和/或步骤是否被包括或将要执行的逻辑。
除非另外特别说明,否则诸如短语“X、Y或Z中的至少一个”的联合语言应被理解为呈现项目、术语等可以是X、Y或Z、或其任意组合。除非明确描述为单数,否则“一”表示单数和复数。
本文描述和/或附图中描绘的流程图中的任意例程描述、元素或框应被理解为潜在地表示包括用于实现例程中的特定的逻辑函数或元素的一个或多个计算机可执行指令的模块、片段或代码部分。替换实现包括在本文描述的示例的范围内,其中元素或功能可以被删除,或者以从图示的或讨论的不同顺序执行,包括基本上同步或相反的顺序,这取决于如本领域技术人员将理解的所涉及的功能。
应该强调的是,可以对上述示例进行许多变化和修改,其中的元素应被理解为是其他可接受的示例。所有这些修改和变化旨在被包括在本公开的范围内并且由所附权利要求保护。
Claims (15)
1.一种系统,包括:
一个或多个处理器;
网络接口;以及
计算机可读介质,具有存储在其上的计算机可执行指令,所述计算机可执行指令在被执行时,对所述一个或多个处理器进行编程以执行操作,所述操作包括:
存储用户的用户简档,所述用户简档与一个或多个通道相关联,所述用户能够通过所述一个或多个通道进行通信;
维护多个代理的目录,所述目录包括所述代理并且包括对由所述多个代理提供的服务的引用,所述多个代理包括至少一个非人类代理;
将所述非人类代理能够通过其进行通信的多个通道链接到所述至少一个非人类代理;
从与所述用户简档相关联的通道经由所述网络接口接收包括服务触发的通信,所述服务触发包括对所述非人类代理或由所述非人类代理提供的服务中的至少一个的引用;以及
至少部分地基于所述服务触发,使用与所述用户简档相关联的并且被链接到所述至少一个非人类代理的通道,经由所述网络接口在所述至少一个非人类代理和所述用户之间创建对话会话。
2.根据权利要求1所述的系统,其中所述目录还包括对与所述多个代理相关联的应用编程接口(API)端点的引用,并且其中创建所述对话会话包括:
通过所述通道从所述用户接收消息;
经由与所述至少一个非人类代理相关联的API端点向所述至少一个非人类代理中继所述消息;
经由所述API端点从所述至少一个非人类代理接收响应;
代表所述至少一个非人类代理,通过所述通道向所述用户中继所述响应。
3.根据权利要求1或2所述的系统,其中所述通道是第一通道,并且所述操作还包括:
经由所述对话会话来捕获所述至少一个非人类代理与所述用户之间的对话;
检测所述第一通道上的活动的变化;
检测所述多个通道中的第二通道上的活动的变化,所述第二通道也与所述用户简档相关联;
使用所述第二通道维护所述至少一个非人类代理与所述用户之间的所述对话会话,其中维护所述对话会话包括继续所述非人类代理与所述用户之间的所述对话并且通过所述第二通道经由与所述至少一个非人类代理相关联的API端点来路由消息,所述第二通道被链接到所述至少一个非人类代理。
4.根据权利要求1-3中任一项所述的系统,所述操作还包括格式化所述至少一个非人类代理和所述用户之间的通信以符合所述通道的标准。
5.根据权利要求1-4中任一项所述的系统,其中所述至少一个非人类代理被存储在远离所述系统的位置并且经由所述网络接口与所述系统通信。
6.根据权利要求1-5中任一项所述的系统,所述操作还包括:
捕获与所述用户简档相关联的通道中的通信;
从所捕获的所述通信中标识所述服务触发;以及
至少部分地基于由所述至少一个非人类代理提供的、对应于与所述服务触发相关联的关键字的服务的引用,来选择所述至少一个非人类代理。
7.根据权利要求1-6中任一项所述的系统,其中所述服务触发包括第一服务触发,并且所述操作还包括:
从所述对话会话标识与由所述多个代理的至少第二代理提供的服务相关联的第二服务触发;以及
将所述第二代理添加到所述对话会话中,所述添加包括:
经由与所述第二代理相关联的API端点,向所述第二代理中继分别向所述至少一个非人类代理和所述用户发送的和从所述至少一个非人类代理和所述用户发送的消息;以及
经由与所述至少第二代理相关联的所述API端点,通过所述通道向所述至少一个非人类代理和所述用户中继来自所述第二代理的消息。
8.根据权利要求1-7中任一项所述的系统,其中所述至少一个非人类代理是第一代理,并且所述操作还包括:
从所述第一代理接收经由所述对话会话从所述通道接收到的请求在所述第一代理所提供的服务范围之外的指示;
标识提供与所述请求相关联的服务的至少第二代理;以及
将所述第二代理添加到所述对话会话中,所述添加包括:
经由与所述第二代理相关联的API端点,向所述第二代理中继分别向所述第一代理和所述用户发送的和从所述第一代理和所述用户发送的消息;以及
经由与所述至少第二代理相关联的所述API端点,通过所述通道向第一代理和所述用户中继来自所述第二代理的消息。
9.根据权利要求1-8中任一项所述的系统,其中创建所述对话会话包括以下项中的至少一项:
通过所述通道从所述用户接收被寻址到所述至少一个非人类代理的消息,所述消息包括与所述通道相对应的所述至少一个非人类代理的联系信息;
从所述用户接收用于将所述至少一个非人类代理添加到所述通道上的对话的请求;或者
接收用于将所述至少一个非人类代理链接到所述通道的请求。
10.根据权利要求1-9中任一项所述的系统,所述操作还包括:
维护通道的目录;
将与通道相对应的信息添加到所述通道的目录,所述信息用于将代理或用户简档链接到所述通道;
接收和存储与所述代理的目录中的代理有关的信息;
接收与代理相关联的web服务的客户端ID或客户端令牌中的一个或多个,所述客户端ID或客户端令牌中的至少一个允许所述系统:
代表所述代理来中继消息;以及
调用由所述代理提供的服务;以及
接收与通道上的代理的认证相关联的客户端ID或客户端令牌中的一个或多个,所述客户端ID或客户端令牌中的至少一个允许所述系统代表所述代理通过所述通道来中继消息。
11.一种计算机可读介质,具有存储在其上的指令,所述指令在被执行时对一个或多个处理器进行编程以执行操作,所述操作包括:
注册代理,所述代理包括不同的指令,所述指令在被执行时对一个或多个处理器进行编程以执行响应于自然语言对话来提供服务的操作,并且所述注册包括接收与所述代理相关联的应用编程接口(API)端点和与多个通道相对应的认证凭证,所述代理在所述多个通道上已经被认证以与通道服务交互;
从多个通道接收对与所述代理的对话的请求;以及
使用所述API端点和所述代理的所述认证凭证来在所述代理和所述多个通道之间中继对话。
12.根据权利要求11所述的计算机可读介质,其中在所述代理与所述多个通道中的通道之间中继对话包括:
使用所述认证凭证的子组,代表所述代理从所述通道接收消息;
经由所述API端点向所述代理中继所述消息;
经由所述API端点从所述代理接收响应;以及
使用所述认证凭证,代表所述代理向所述通道中继所述响应。
13.根据权利要求11或12所述的计算机可读介质,所述操作还包括:
存储用户简档,所述用户简档具有与其相关联的一个或多个通道;以及
跟踪所述代理和与所述用户简档相关联的通道之间的对话会话,所述跟踪包括将对话标识符与所述代理、所述通道和所述用户简档相关联。
14.根据权利要求11-13中任一项所述的计算机可读介质,所述操作还包括:
从与所述用户简档相关联的不同的通道接收消息;以及
通过使用不同的通信通道来继续所述代理和所述用户之间的所述对话,所述继续包括附加地将所述不同的通道与所述对话标识符相关联、或者替代地将所述不同的通道取代所述通道而与所述对话标识符相关联。
15.一种方法,包括:
拦截通道中的通信;
从所截取的所述通信中标识服务触发;
标识与所述服务触发相对应的服务相关联的至少一个代理;以及
在所述至少一个代理和与所述通道相关联的通道端点之间中继对话。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110343055.2A CN112860875A (zh) | 2016-03-28 | 2017-03-22 | 一种用于处理对话的系统、方法和计算机可读介质 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/083,019 US10587708B2 (en) | 2016-03-28 | 2016-03-28 | Multi-modal conversational intercom |
US15/083,019 | 2016-03-28 | ||
PCT/US2017/023496 WO2017172423A1 (en) | 2016-03-28 | 2017-03-22 | Multi-modal conversational intercom |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110343055.2A Division CN112860875A (zh) | 2016-03-28 | 2017-03-22 | 一种用于处理对话的系统、方法和计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108886487A true CN108886487A (zh) | 2018-11-23 |
CN108886487B CN108886487B (zh) | 2021-04-13 |
Family
ID=58448661
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780018284.9A Active CN108886487B (zh) | 2016-03-28 | 2017-03-22 | 一种用于处理对话的系统、方法和计算机可读介质 |
CN202110343055.2A Pending CN112860875A (zh) | 2016-03-28 | 2017-03-22 | 一种用于处理对话的系统、方法和计算机可读介质 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110343055.2A Pending CN112860875A (zh) | 2016-03-28 | 2017-03-22 | 一种用于处理对话的系统、方法和计算机可读介质 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10587708B2 (zh) |
EP (2) | EP4009610A1 (zh) |
CN (2) | CN108886487B (zh) |
WO (1) | WO2017172423A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112445460A (zh) * | 2019-08-27 | 2021-03-05 | 国际商业机器公司 | 多代理对话代理框架 |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10171410B2 (en) | 2016-03-28 | 2019-01-01 | Microsoft Technology Licensing, Llc | Cross-mode communiation |
US11487512B2 (en) | 2016-03-29 | 2022-11-01 | Microsoft Technology Licensing, Llc | Generating a services application |
US10645034B2 (en) * | 2016-04-22 | 2020-05-05 | Smartbothub, Inc. | System and method for facilitating computer generated conversations with the aid of a digital computer |
WO2017200080A1 (ja) * | 2016-05-20 | 2017-11-23 | 日本電信電話株式会社 | 対話方法、対話装置、及びプログラム |
US10904168B2 (en) * | 2016-06-03 | 2021-01-26 | Spotify Ab | System and method for providing digital media content with a conversational messaging environment |
US11030623B2 (en) | 2016-06-30 | 2021-06-08 | Paypal, Inc. | Communicating in chat sessions using chat bots to access financial transactions |
US20180005216A1 (en) * | 2016-06-30 | 2018-01-04 | Paypal, Inc. | Communicating in chat sessions using chat bots to access payment accounts |
US10951720B2 (en) * | 2016-10-24 | 2021-03-16 | Bank Of America Corporation | Multi-channel cognitive resource platform |
EP3361706A1 (en) * | 2017-02-14 | 2018-08-15 | Webtext Holdings Limited | A redirection bridge device and system, a method of redirection bridging, method of use of a user interface and a software product |
US10687178B2 (en) * | 2017-03-03 | 2020-06-16 | Orion Labs, Inc. | Phone-less member of group communication constellations |
FR3067208A1 (fr) * | 2017-05-31 | 2018-12-07 | Orange | Procede de mise a jour de messages echanges avec un agent conversationnel |
US10657173B2 (en) | 2017-06-09 | 2020-05-19 | Google Llc | Validate modification of audio-based computer program output |
US10600409B2 (en) | 2017-06-09 | 2020-03-24 | Google Llc | Balance modifications of audio-based computer program output including a chatbot selected based on semantic processing of audio |
US10614122B2 (en) | 2017-06-09 | 2020-04-07 | Google Llc | Balance modifications of audio-based computer program output using a placeholder field based on content |
US10652170B2 (en) | 2017-06-09 | 2020-05-12 | Google Llc | Modification of audio-based computer program output |
US10841755B2 (en) | 2017-07-01 | 2020-11-17 | Phoneic, Inc. | Call routing using call forwarding options in telephony networks |
JP6972806B2 (ja) * | 2017-09-11 | 2021-11-24 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置、プログラム及び制御方法 |
US10951558B2 (en) | 2017-09-27 | 2021-03-16 | Slack Technologies, Inc. | Validating application dialog associated with a triggering event identification within user interaction data received via a group-based communication interface |
US10841249B2 (en) | 2017-10-02 | 2020-11-17 | Samsung Electronics Co., Ltd. | System and method for bot platform |
US10698581B2 (en) | 2017-11-03 | 2020-06-30 | Salesforce.Com, Inc. | Dialog reuse for a visual bot builder |
KR102574593B1 (ko) * | 2018-03-29 | 2023-09-05 | 삼성전자주식회사 | 챗봇을 이용한 서비스 제공 방법 및 그 장치 |
US11416740B2 (en) * | 2018-04-13 | 2022-08-16 | Adtran, Inc. | Artificial intelligence optimized telecommunications systems |
US10630627B2 (en) * | 2018-06-18 | 2020-04-21 | Slack Technologies, Inc. | Method, apparatus and computer program product for metadata search in a group based communication platform |
US11205422B2 (en) * | 2018-10-02 | 2021-12-21 | International Business Machines Corporation | Methods and systems for managing chatbots with data access |
US10817317B2 (en) * | 2019-01-24 | 2020-10-27 | Snap Inc. | Interactive informational interface |
US11227224B2 (en) * | 2019-05-24 | 2022-01-18 | International Business Machines Corporation | Information and data collaboration among multiple artificial intelligence (AI) systems |
AU2020290470B2 (en) * | 2019-06-12 | 2023-03-02 | Liveperson, Inc. | Systems and methods for communication system intent analysis |
US11570303B2 (en) * | 2019-07-26 | 2023-01-31 | Salesforce, Inc. | Managing telephone based channel communication in a group-based communication system |
CN112672270B (zh) * | 2019-10-15 | 2022-10-14 | 上海欣雅供应链管理有限公司 | 基于位置信息的对讲频道控制方法、装置、设备及介质 |
US11489794B2 (en) | 2019-11-04 | 2022-11-01 | Bank Of America Corporation | System for configuration and intelligent transmission of electronic communications and integrated resource processing |
US11908450B2 (en) * | 2020-05-26 | 2024-02-20 | Servicenow, Inc. | Dynamic translation for a conversation |
US11329933B1 (en) | 2020-12-28 | 2022-05-10 | Drift.com, Inc. | Persisting an AI-supported conversation across multiple channels |
US20230146886A1 (en) * | 2021-11-09 | 2023-05-11 | T-Mobile Innovations Llc | Voice to Message Branded Video Call |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050135595A1 (en) * | 2003-12-18 | 2005-06-23 | Sbc Knowledge Ventures, L.P. | Intelligently routing customer communications |
CN101207656A (zh) * | 2006-12-19 | 2008-06-25 | 国际商业机器公司 | 用于在话音应用环境中的模态之间切换的方法和系统 |
CN101207585A (zh) * | 2006-12-22 | 2008-06-25 | 国际商业机器公司 | 向文本交换形态添加上下文的方法和系统 |
US20120093303A1 (en) * | 2010-10-13 | 2012-04-19 | Verizon Patent And Licensing Inc. | Method and system for providing context based multimedia intercom services |
CN102750270A (zh) * | 2011-03-31 | 2012-10-24 | 微软公司 | 扩充的对话理解代理 |
CN104796313A (zh) * | 2014-01-20 | 2015-07-22 | 腾讯科技(深圳)有限公司 | 自动对话工具接入第三方的方法和装置 |
US20160044380A1 (en) * | 2014-06-12 | 2016-02-11 | Bertrand Barrett | Personal helper bot system |
Family Cites Families (95)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748974A (en) | 1994-12-13 | 1998-05-05 | International Business Machines Corporation | Multimodal natural language interface for cross-application tasks |
US5574782A (en) * | 1995-04-14 | 1996-11-12 | Lucent Technologies Inc. | Minimizing service disruptions in handling call request messages where new message formats are needed in a telecommunication network |
US6173279B1 (en) | 1998-04-09 | 2001-01-09 | At&T Corp. | Method of using a natural language interface to retrieve information from one or more data resources |
US6879994B1 (en) | 1999-06-22 | 2005-04-12 | Comverse, Ltd | System and method for processing and presenting internet usage information to facilitate user communications |
US6549937B1 (en) | 1999-07-21 | 2003-04-15 | Microsoft Corporation | System and method for multi-protocol communication in a computer network |
JP2001216226A (ja) | 1999-11-26 | 2001-08-10 | Mitsubishi Electric Corp | アプリケーション間データ送受信方式及びアプリケーション間データ送受信方法及びアプリケーション間データ送受信方法をコンピュータに動作させるプログラムを記録したコンピュータで読取可能な記録媒体 |
US6681383B1 (en) | 2000-04-04 | 2004-01-20 | Sosy, Inc. | Automatic software production system |
US7290039B1 (en) | 2001-02-27 | 2007-10-30 | Microsoft Corporation | Intent based processing |
US8503650B2 (en) | 2001-02-27 | 2013-08-06 | Verizon Data Services Llc | Methods and systems for configuring and providing conference calls |
US7103171B1 (en) * | 2001-06-29 | 2006-09-05 | Siebel Systems, Inc. | System and method for multi-channel communication queuing using routing and escalation rules |
US7287057B2 (en) | 2001-11-15 | 2007-10-23 | International Business Machines Corporation | Accessing information using an instant messaging system |
US7315613B2 (en) | 2002-03-11 | 2008-01-01 | International Business Machines Corporation | Multi-modal messaging |
US20150135214A1 (en) | 2002-05-10 | 2015-05-14 | Convergent Media Solutions Llc | Method and apparatus for browsing using alternative linkbases |
AU2004237513B2 (en) | 2003-05-08 | 2008-10-09 | Vimplicity Ltd. | Methods and systems for instant voice messaging and instant voice message retrieval |
US7903637B2 (en) | 2004-01-22 | 2011-03-08 | Verizon Business Global Llc | Universal communications identifier |
US20050216550A1 (en) | 2004-03-26 | 2005-09-29 | Paseman William G | Communication mode and group integration for social networks |
US7533149B2 (en) | 2004-04-30 | 2009-05-12 | Microsoft Corporation | Maintaining multiple versions of message bodies in a common database |
US8799857B2 (en) | 2005-04-29 | 2014-08-05 | Microsoft Corporation | XML application framework |
US20070043878A1 (en) * | 2005-08-18 | 2007-02-22 | Microsoft Corporation | Virtual robot communication format customized by endpoint |
US9794762B2 (en) | 2005-10-06 | 2017-10-17 | Nokia Technologies Oy | System, methods, software, and devices employing messaging |
US8121653B2 (en) | 2005-11-19 | 2012-02-21 | Massachusetts Institute Of Technology | Methods and apparatus for autonomously managing communications using an intelligent intermediary |
EP1969478A4 (en) | 2005-12-22 | 2009-09-23 | Catalog Com Inc | SYSTEM AND METHOD FOR INTERDOMATIVE SOCIAL NETWORKING |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8719375B2 (en) * | 2007-03-22 | 2014-05-06 | Microsoft Corporation | Remote data access techniques for portable devices |
ES2353225T3 (es) | 2007-04-13 | 2011-02-28 | Research In Motion Limited | Sistema de distribuciã“n y sincronizaciã“n de correo electrã“nico (e-mail) de acceso directo con notificaciã“n de fuera de cobertura. |
US7895246B2 (en) | 2007-05-31 | 2011-02-22 | Microsoft Corporation | Collection bin for data management and transformation |
US20090016504A1 (en) | 2007-07-10 | 2009-01-15 | Stephen Mantell | System and Method for Providing Communications to a Group of Recipients Across Multiple Communication Platform Types |
US8171080B2 (en) | 2008-05-01 | 2012-05-01 | Embarq Holdings Company Llc | Click to create meeting makers from electronic messages |
US8589161B2 (en) | 2008-05-27 | 2013-11-19 | Voicebox Technologies, Inc. | System and method for an integrated, multi-modal, multi-device natural language voice services environment |
CN101286161B (zh) | 2008-05-28 | 2010-10-06 | 华中科技大学 | 一种基于概念的智能中文问答系统 |
US8881020B2 (en) | 2008-06-24 | 2014-11-04 | Microsoft Corporation | Multi-modal communication through modal-specific interfaces |
US20090328062A1 (en) | 2008-06-25 | 2009-12-31 | Microsoft Corporation | Scalable and extensible communication framework |
EP2141901A1 (en) * | 2008-06-30 | 2010-01-06 | France Telecom | Instant messaging as a communication channel for a contact center |
US8199763B2 (en) | 2008-07-10 | 2012-06-12 | babyTel Inc. | Universal internet telephone system |
US20100036923A1 (en) | 2008-07-30 | 2010-02-11 | Byrne John C | Methods and Systems for Dynamically Migrating Electronic Messages From A First Messaging Platform To A Second Messaging Platform |
US20100036926A1 (en) | 2008-08-08 | 2010-02-11 | Matthew Lawrence Ahart | Platform and method for cross-channel communication |
WO2010025343A1 (en) | 2008-08-28 | 2010-03-04 | Jonas Lawrence A | System for integrating multiple im networks and social networking websites |
US8200258B2 (en) | 2008-09-15 | 2012-06-12 | Microsoft Corporation | System and methods for communication between instant message users and short message service users |
US20100082750A1 (en) | 2008-09-29 | 2010-04-01 | Microsoft Corporation | Dynamically transforming data to the context of an intended recipient |
US8363799B2 (en) | 2008-10-03 | 2013-01-29 | At&T Intellectual Property I, L.P. | Party information for data-capable communication device |
US8649808B2 (en) | 2008-10-13 | 2014-02-11 | Microsoft Corporation | Universal mobile device messaging |
US8700072B2 (en) | 2008-12-23 | 2014-04-15 | At&T Mobility Ii Llc | Scalable message fidelity |
US9413882B2 (en) | 2009-02-27 | 2016-08-09 | Blackberry Limited | System and method for enabling encrypted voice communications between an external device and telephony devices associated with an enterprise network |
US9532197B1 (en) | 2009-03-30 | 2016-12-27 | Salesforce.Com, Inc. | DID line type provisioning verification |
US8793617B2 (en) | 2009-07-30 | 2014-07-29 | Microsoft Corporation | Integrating transport modes into a communication stream |
CA2714686A1 (en) | 2009-09-10 | 2011-03-10 | Research In Motion Limited | Automatic integration of a mail server with internet server (is) |
US9043474B2 (en) | 2010-01-20 | 2015-05-26 | Microsoft Technology Licensing, Llc | Communication sessions among devices and interfaces with mixed capabilities |
US8412770B2 (en) | 2010-02-08 | 2013-04-02 | Yellowpages.Com Llc | Providing an answer to a question from a social network site using a separate messaging site |
US8875019B2 (en) | 2010-03-16 | 2014-10-28 | International Business Machines Corporation | Virtual cultural attache |
US8917828B2 (en) | 2010-04-21 | 2014-12-23 | Angel.Com Incorporated | Multi-channel delivery platform |
US8375208B2 (en) * | 2010-05-20 | 2013-02-12 | Verizon Patent And Licensing Inc. | Method and apparatus for providing content aggregation in support of virtual channels |
CN102262634B (zh) | 2010-05-24 | 2013-05-29 | 北京大学深圳研究生院 | 一种自动问答方法及系统 |
US8694537B2 (en) | 2010-07-29 | 2014-04-08 | Soundhound, Inc. | Systems and methods for enabling natural language processing |
CN102136919A (zh) | 2010-09-01 | 2011-07-27 | 华为技术有限公司 | 群组会话的实现方法及装置 |
US8861537B1 (en) | 2010-11-22 | 2014-10-14 | Clearone Communications, Inc. | Bridge and control proxy for unified communication systems |
US8984562B2 (en) * | 2011-01-13 | 2015-03-17 | Verizon Patent And Licensing Inc. | Method and apparatus for interacting with a set-top box using widgets |
US20140040404A1 (en) | 2011-03-31 | 2014-02-06 | NextPlane, Inc. | System and method for federating chat rooms across disparate unified communications systems |
US20130097333A1 (en) | 2011-06-12 | 2013-04-18 | Clearone Communications, Inc. | Methods and apparatuses for unified streaming communication |
US8645484B2 (en) | 2011-08-02 | 2014-02-04 | Google Inc. | Messaging service using different text messaging channels |
US20130055099A1 (en) * | 2011-08-22 | 2013-02-28 | Rose Yao | Unified Messaging System with Integration of Call Log Data |
US9191358B2 (en) | 2011-09-13 | 2015-11-17 | Level 3 Communications, Llc | System and method for short message services to instant messaging conversion |
US20130073636A1 (en) | 2011-09-19 | 2013-03-21 | Telefonaktiebolaget L M Ericsson (Publ) | Group chat across networks |
US9374690B2 (en) | 2011-12-19 | 2016-06-21 | Facebook, Inc. | Generating conversation threads for a unified messaging system |
US9734468B2 (en) * | 2012-02-21 | 2017-08-15 | Nice Ltd. | System and method for resolving customer communications |
EP2639792A1 (en) | 2012-03-16 | 2013-09-18 | France Télécom | Voice control of applications by associating user input with action-context idendifier pairs |
WO2013155619A1 (en) | 2012-04-20 | 2013-10-24 | Sam Pasupalak | Conversational agent |
US9094359B2 (en) | 2012-05-09 | 2015-07-28 | Salesforce.Com, Inc. | Method and system for inter-social network communications |
US20130304575A1 (en) * | 2012-05-09 | 2013-11-14 | Michael Fetyko | Systems, methods and machine-readable media for providing and managing an interface between fans and celebrities within a social network environment |
US8706912B2 (en) | 2012-09-18 | 2014-04-22 | Weerawan Wongmanee | Unified LTE cloud system |
US9436966B2 (en) | 2012-10-16 | 2016-09-06 | At&T Intellectual Property I, L.P. | Universal social messaging |
US8914051B2 (en) | 2012-12-07 | 2014-12-16 | At&T Intellectual Property I, L.P. | Intelligent subscriber notification including an implicit response to an alert message |
US9235636B2 (en) | 2012-12-20 | 2016-01-12 | Dropbox, Inc. | Presenting data in response to an incomplete query |
US8826332B2 (en) | 2012-12-21 | 2014-09-02 | Ustudio, Inc. | Media distribution and management platform |
US9223826B2 (en) | 2013-02-25 | 2015-12-29 | Facebook, Inc. | Pushing suggested search queries to mobile devices |
US20170006161A9 (en) * | 2013-03-15 | 2017-01-05 | Genesys Telecommunications Laboratories, Inc. | Intelligent automated agent for a contact center |
US9137228B1 (en) | 2013-06-28 | 2015-09-15 | Symantec Corporation | Augmenting service provider and third party authentication |
US9356988B2 (en) | 2013-11-12 | 2016-05-31 | Qualcomm Incorporated | Internet protocol communication accessibility improvement |
US9843543B2 (en) | 2013-12-27 | 2017-12-12 | Entefy Inc. | Apparatus and method for multi-format and multi-protocol group messaging |
WO2015116708A1 (en) | 2014-01-28 | 2015-08-06 | Webaroo Inc | Chat messaging |
US9392053B2 (en) | 2014-02-21 | 2016-07-12 | Dell Products L.P. | Generic transcoding service with library attachment |
CN104954232A (zh) | 2014-03-28 | 2015-09-30 | 杭州华为企业通信技术有限公司 | 网络中服务组合的方法及装置 |
US9451425B2 (en) | 2014-05-30 | 2016-09-20 | Apple Inc. | Unified message delivery between portable electronic devices |
US9473912B2 (en) | 2014-05-30 | 2016-10-18 | Apple Inc. | SMS proxying |
US20160050235A1 (en) | 2014-08-18 | 2016-02-18 | Entefy Inc. | Flexible Server Architecture With Ability To Dynamically Change Gateway Communication Channels |
US9569177B2 (en) | 2014-08-29 | 2017-02-14 | Accenture Global Services Limited | Service extraction and application composition |
US9571649B2 (en) * | 2014-10-23 | 2017-02-14 | Teletech Holdings, Inc. | Method for connecting users with agents based on user values dynamically determined according to a set of rules or algorithms |
US9467545B1 (en) | 2014-11-10 | 2016-10-11 | GoneBusy, Inc. | Specifically programmed computer-implemented engine systems for real-time on-demand discovery of available time slots across programmed schedule objects and methods of use thereof |
US9571636B2 (en) * | 2014-12-31 | 2017-02-14 | Genesys Telecommunications Laboratories, Inc. | Call center builder platform |
US20160219149A1 (en) * | 2015-01-22 | 2016-07-28 | Avaya Inc. | Using simultaneous multi-channel for continuous and timely feedback about agent performance during a customer interaction |
US9647968B2 (en) * | 2015-03-25 | 2017-05-09 | Pypestream Inc | Systems and methods for invoking chatbots in a channel based communication system |
US9813553B2 (en) * | 2015-10-21 | 2017-11-07 | Avaya Inc. | Device, system, and method for optimizing active transactions of an agent |
US20170186018A1 (en) * | 2015-12-29 | 2017-06-29 | At&T Intellectual Property I, L.P. | Method and apparatus to create a customer care service |
US10171410B2 (en) | 2016-03-28 | 2019-01-01 | Microsoft Technology Licensing, Llc | Cross-mode communiation |
US11487512B2 (en) | 2016-03-29 | 2022-11-01 | Microsoft Technology Licensing, Llc | Generating a services application |
US10762221B2 (en) * | 2016-11-14 | 2020-09-01 | Paymentus Corporation | Method and apparatus for multi-channel secure communication and data transfer |
-
2016
- 2016-03-28 US US15/083,019 patent/US10587708B2/en active Active
-
2017
- 2017-03-22 CN CN201780018284.9A patent/CN108886487B/zh active Active
- 2017-03-22 EP EP22154363.0A patent/EP4009610A1/en active Pending
- 2017-03-22 EP EP17714382.3A patent/EP3437262B1/en active Active
- 2017-03-22 WO PCT/US2017/023496 patent/WO2017172423A1/en active Application Filing
- 2017-03-22 CN CN202110343055.2A patent/CN112860875A/zh active Pending
-
2020
- 2020-01-16 US US16/744,827 patent/US11076007B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050135595A1 (en) * | 2003-12-18 | 2005-06-23 | Sbc Knowledge Ventures, L.P. | Intelligently routing customer communications |
CN101207656A (zh) * | 2006-12-19 | 2008-06-25 | 国际商业机器公司 | 用于在话音应用环境中的模态之间切换的方法和系统 |
CN101207585A (zh) * | 2006-12-22 | 2008-06-25 | 国际商业机器公司 | 向文本交换形态添加上下文的方法和系统 |
US20120093303A1 (en) * | 2010-10-13 | 2012-04-19 | Verizon Patent And Licensing Inc. | Method and system for providing context based multimedia intercom services |
CN102750270A (zh) * | 2011-03-31 | 2012-10-24 | 微软公司 | 扩充的对话理解代理 |
CN104796313A (zh) * | 2014-01-20 | 2015-07-22 | 腾讯科技(深圳)有限公司 | 自动对话工具接入第三方的方法和装置 |
US20160044380A1 (en) * | 2014-06-12 | 2016-02-11 | Bertrand Barrett | Personal helper bot system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112445460A (zh) * | 2019-08-27 | 2021-03-05 | 国际商业机器公司 | 多代理对话代理框架 |
Also Published As
Publication number | Publication date |
---|---|
CN108886487B (zh) | 2021-04-13 |
US10587708B2 (en) | 2020-03-10 |
EP3437262A1 (en) | 2019-02-06 |
WO2017172423A1 (en) | 2017-10-05 |
US20170279906A1 (en) | 2017-09-28 |
US11076007B2 (en) | 2021-07-27 |
EP4009610A1 (en) | 2022-06-08 |
EP3437262B1 (en) | 2022-03-30 |
CN112860875A (zh) | 2021-05-28 |
US20200153918A1 (en) | 2020-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108886487A (zh) | 多模态对话互通 | |
US11825023B2 (en) | Method and system for virtual assistant conversations | |
CN109844717A (zh) | 用于移动应用程序的实时远程控制的系统和方法 | |
CN102667765B (zh) | 用于有选择地共享语义信息集合的方法和装置 | |
CN105164663B (zh) | 访问可控交互的系统和方法 | |
CN105900467B (zh) | 离线内容共享 | |
CN103733597B (zh) | 用于无线装置的基于网络的家长控制 | |
CN110178132A (zh) | 使用语言模型对消息中接收到的图像的自动建议响应 | |
CN108886472A (zh) | 交叉模式通信 | |
US20120240062A1 (en) | Text-based messaging application cloud | |
US20100287605A1 (en) | Method and apparatus of providing personalized virtual environment | |
CN102474432A (zh) | 社交网络虚拟专用网络 | |
US20130317993A1 (en) | Method and apparatus for linking user sessions and establishing identity across channels | |
CN104813311A (zh) | 用于多人的虚拟代理推荐的系统和方法 | |
CN105900397A (zh) | 用于移动云服务的本地代理 | |
CN104781759A (zh) | 用于基于触摸的通信的系统和方法 | |
CN106211020A (zh) | 移动设备的ad hoc对等联网 | |
US20180067991A1 (en) | Using Structured Smart Digital Memory to Personalize Digital Agent and Bot Scenarios | |
JP2017204271A (ja) | 互いに異なるユーザ識別体系を利用して登録されたユーザを識別するサーバ間のサービス連動方法およびシステム | |
CN112437004A (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN111966779A (zh) | 机器人的知识库管理方法、系统、电子设备及存储介质 | |
CN111480348B (zh) | 用于基于音频的增强现实的系统和方法 | |
WO2024109692A1 (zh) | 信息处理方法、装置和电子设备 | |
CN105975501A (zh) | 消息内容展示方法及装置 | |
US20190058608A1 (en) | Method and system to provide the trending news stories to the plurality of groups based on the plurality of group members existing conversations |
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 |