CN110753908B - 在通信会话期间促进用户设备和/或代理设备动作 - Google Patents

在通信会话期间促进用户设备和/或代理设备动作 Download PDF

Info

Publication number
CN110753908B
CN110753908B CN201880039265.9A CN201880039265A CN110753908B CN 110753908 B CN110753908 B CN 110753908B CN 201880039265 A CN201880039265 A CN 201880039265A CN 110753908 B CN110753908 B CN 110753908B
Authority
CN
China
Prior art keywords
action
agent
proxy
user
computing device
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.)
Active
Application number
CN201880039265.9A
Other languages
English (en)
Other versions
CN110753908A (zh
Inventor
R.杜阿
A.汤姆金斯
S.拉维
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Priority to CN202311395663.3A priority Critical patent/CN117573248A/zh
Publication of CN110753908A publication Critical patent/CN110753908A/zh
Application granted granted Critical
Publication of CN110753908B publication Critical patent/CN110753908B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Abstract

实施方式旨在促进通信会话期间的用户设备和/或代理设备动作。交互式通信系统如下所述提供输出:该输出被定制为增强通信会话的功能,减少通信会话的对话“轮次”的数量和/或会话中涉及的对设备的用户输入的数量,和/或另外地缓解通信会话期间网络和/或硬件资源的消耗。在各种实施方式中,通信会话涉及用户的(多个)用户设备、代理的(多个)代理设备和交互式通信系统。交互式通信系统可以在通信会话期间分析来自(多个)用户设备和/或(多个)代理设备的各种通信,其中用户(经由(多个)用户设备)将各种通信定向到代理且其中代理(经由(多个)代理设备)可选地将各种通信定向到用户。交互式通信系统提供各自特定于通信会话的相对应的当前意图和相对应的当前动作的(多个)动作执行元素和/或(多个)其他输出。

Description

在通信会话期间促进用户设备和/或代理设备动作
技术领域
本申请涉及用于在通信会话期间促进用户设备和/或代理设备动作的各种方法、系统、装置和计算机可读介质。
背景技术
随着智能电话、平板计算机、可穿戴设备和其他用户设备的激增,各种数字通信形态的使用已经增加。结果,直接的人对人语音呼叫正被替代的通信形态(诸如富通信服务(rich communication services,RCS)消息、短消息服务(short message service,SMS)消息、多媒体消息发送服务(multimedia messaging service,MMS)消息、over-the-top(OTT)聊天消息等)所取代。
发明内容
本说明书一般地针对用于在通信会话期间促进用户设备和/或代理设备动作的各种系统、装置和计算机可读介质。在各种实施方式中,通信会话涉及用户的(多个)用户设备、代理的(多个)代理设备以及交互式通信系统。如本文所述,交互式通信系统可以在通信会话期间分析来自(多个)用户设备和/或(多个)代理设备的各种通信,其中,用户(经由(多个)用户设备)将各种通信定向(direct)到代理,并且其中,代理(经由(多个)代理设备)可选地将各种通信定向到用户。
交互式通信系统向(多个)用户设备和/或(多个)代理设备提供各自特定于通信会话的相对应的当前意图和相对应的当前动作的(多个)动作执行元素和/或(多个)其他输出。定制(tailor)这些输出以增强通信会话的功能,减少通信会话的对话“轮次(turn)”的数量和/或另外地缓解通信会话期间网络和/或硬件资源的消耗。例如,减少对话“轮次”的数量可以减少在通信会话期间设备接收到的用户输入的总数,从而减少在会话期间设备必须检测和处理这些输入的次数。这可以对这些设备的电池寿命具有积极影响。对话“轮次”的减少可以通过减少通信会话的总体长度来额外地减少显示开启(display-on)时间和/或其他输出组件(诸如扬声器)的使用。这可以进一步积极地影响设备的电池寿命。
此外,在某些情形下,交互式通信系统可以自动地选择性地提供各种输出。可以代表与用户设备相关联的用户来提供这样的输出(例如,系统可以使输出在代理设备上渲染,其中该输出代表用户),或可以代表与代理设备相关联的代理来提供这样的输出(例如,系统可以使输出在用户设备上渲染,其中该输出代表代理);并且在一些情形下,可以自动地提供这样的输出,而无需首先向与实体相关联的任何设备提示代表谁来提供这样的输出。这也可以缓解各种计算资源的使用。
在一些实施方式中,交互式通信系统至少部分地在“云”中实施(例如,经由高性能计算设备的远程集群),并且经由一个或多个网络与(多个)用户设备和/或(多个)代理设备通信。在一些实施方式中,交互式通信系统额外地或替代地至少部分地由(多个)用户设备和/或(多个)代理设备来实施。例如,用户设备和代理设备可以各自实施系统的实例,并且实例可以经由一个或多个网络彼此交互。另外,例如,用户设备和代理设备可以各自实施执行系统的一些功能的相对应的客户端应用并且与执行系统的其他功能的基于云的系统相接合。例如,客户端应用可以通过一个或多个网络并且经由一个或多个应用编程接口(application programming interface,API)来与基于云的系统交互。
作为一个示例,交互式通信系统可以在通信会话期间接收从用户设备和/或代理设备发送的(多个)自然语言输入和/或(多个)其他输入。基于对这样的输入的分析,交互式通信系统可以确定通信会话的当前意图以及用于所确定的当前意图的动作。例如,系统可以通过一个或多个机器学习模型(例如,基于特定于代理域的训练数据而训练的深度神经网络模型)来处理输入和/或这样的输入的注释以确定当前意图,并且可以利用意图到动作的映射来确定用于当前意图的动作。此外,系统可以生成特定于动作的动作执行元素,并且该动作执行元素可选地被定制为用于代理(和/或代理的域)的参数和/或用于用户设备的用户的参数。可以使动作执行元素在用户设备中的一个或多个处和/或在代理设备中的一个或多个处(例如,图形地和/或可听地)渲染。动作执行元素可以被配置为使得,响应于对动作执行元素的用户界面选择(例如,“点击”、“轻击(tap)”或“口头(verbal)”选择),相对应的设备采用定制的参数发起(imitate)动作的执行。例如,相对应的设备可以以其本身采用定制的参数执行整个动作,或者相对应的设备可以将通信传送到远程交互式通信系统和/或(多个)其他组件,以使这样的(多个)组件采用定制的参数执行动作。
在一些实施方式和/或情形下,可以在通信会话期间和/或在被用于通信会话的应用和/或接口内提供生成的动作执行元素。例如,生成的动作执行元素可以在通信会话期间一旦被生成就被提供,和/或可以与通信会话的进行中的转录(transcript)一起被提供。在其他实施方式和/或情形中,可以在通信会话已经结束之后和/或与被用于通信会话的应用和/或接口分离的应用和/或接口内提供生成的动作执行元素。例如,可以将生成的动作执行元素“排队”,以随后在通信会话之后提供给用户。例如,生成的动作执行元素具体地可以是与给定应用相关联(该给定应用与被用于通信会话的应用分离)的应用元素,并且可以在给定应用随后被执行和/或显露(surfaced)时通过给定应用的接口提供。另外,例如,可以将生成的动作执行元素作为系统“通知卡”提供,或通过与被用于通信会话的接口分离的类似接口提供。可以在通信会话期间或之后提供这种通知卡。
本文描述的动作执行元素的一些非限制性示例包括:回复内容建议元素(文本回复建议元素、图形回复建议元素等)、安排元素、提醒元素、支付元素、到达通知元素、相机元素、应用元素和/或对话路由元素。
回复内容建议元素各自指示下述内容:该内容与通信会话上下文相关,并且该内容当被选择时使包括该内容的回复通信自动地生成和/或自动地发送到通信会话中的一个或多个其他设备。内容建议元素可以包括上下文相关的文本和/或视觉元素(例如,表情符号(emoji)、GIF、视频等)。内容建议元素可以额外地或替代地包括上下文相关的文档或其他信息项,诸如图片、音频、联系人、便携文档文件(Portable Document File,PDF)格式的文档等。这种信息项对于相对应的代理和/或用户是个人的,并且可以可选地被本地地存储在渲染内容建议元素的相对应的设备上。在一些实施方式中,当在设备处选择回复内容建议元素时,该设备生成相对应的回复通信并且将回复通信传送到通信会话中的另一设备,或者将回复通信传送到交互式通信系统,然后该交互式通信系统将回复通信路由至该另一设备。在其他一些实施方式中,当在设备处选择回复内容建议元素时,选择的指示被传送到交互式通信系统,并且交互式通信系统生成相对应的回复通信并且将回复通信传送到通信会话中的另一设备。可以在通信会话中涉及对设备的很少的用户输入的情况下,基于上述确定的当前意图和映射中的相对应的动作来发起回复通信。
安排元素可以在被选择时自动地安排(或重新安排)至少一个会议,或者可以发起交互式交换(exchange)以安排(或重新安排)至少一个会议。在一些实施方式中,安排元素可以指示基于代理和/或用户参数(诸如用户和/或代理的电子日历数据(例如,用户和/或代理何时“可用”))、存储的用户和/或代理的偏好(例如,用户和/或代理偏好的(多个)日期和/或(多个)时间)等选择的日期和/或时间窗口。响应于在设备处对这样的安排元素的选择,可以创建对于用户是个人的相对应的电子预约条目和/或可以创建对于代理是个人的相对应的电子预约条目—可选地在响应于一个或多个提示的确认输入之后。例如,用户可以在用户设备处选择这样的安排元素并且响应于该选择自动地创建用于用户的相对应的电子预约条目(例如,通过与本地的或基于web(网络)的日历应用的API交互)。此外,响应于该选择,可以自动地创建用于代理的相对应的电子预约条目—或首先将相对应的提示传送到代理的代理设备,并且响应于来自代理设备的、响应于提示的肯定输入来创建用于代理的电子预约条目。如上所述,一些安排元素发起用于安排的交互式交换。例如,响应于在设备处对这样的元素的选择,交互式日历和/或其他交互式用户界面可以经由设备呈现并且与之交互,以能够进行预约的选择。可以通过交互式通信系统、本地app和/或远程动作代理来驱动这种交互式交换。如以上讨论的回复通信那样,该处理可以在在通信会话中涉及对设备的很少的用户输入的情况下发生。
提醒元素可以在被选择时自动地设置提醒或发起交互式交换以安排提醒,诸如基于时间的提醒、基于接近度的提醒和/或基于其他上下文的提醒。支付元素可以在被选择时自动地发起货币资金的转移,或用于货币资金的转移的交互式交换。到达通知元素可以当在给定设备处被选择时,使得在另一设备处渲染个体朝向一位置的过程的估计的到达时间、实时位置地图和/或其他指示。相机元素可以在被选择时使得启动相机接口和/或应用,该相机接口和/或应用使得能够经由相对应的设备的相机捕获图像(或视频)。捕获的图像(或视频)可以自动地传送到另一设备和/或在进一步确认后传送。
在一些实施方式中,应用元素可以在被选择时使得在相对应的设备处执行和/或显露相对应的本地的或基于web的应用—可选地在与通信会话上下文相关的状态下和/或用与通信会话上下文相关的填充内容。在一些实施方式中,应用元素可以当在设备处被选择时使得本地的或基于web的应用采取一个或多个相对应的动作,而不必须在设备处显露应用或来自应用的内容。这可以促进更有效地使用设备的显示器和/或其他输出元素,因为至少在该示例中,不需要显示器和/或其他输出元素在设备处显露应用或来自应用的内容。例如,应用元素在被选择时可以通过与应用的API接合来使该应用执行动作,但不使该应用在客户端设备处显露和/或不使来自该应用的内容在客户端设备处呈现。
在一些实施方式中,应用元素可以在被用户选择时,使得应用在随后被用户明确激活时在与通信会话上下文相关的状态下被激活和/或用与通信会话上下文相关的填充内容来激活。例如,对于“安排预约”动作,可以提供应用元素,该应用元素在被选择时不经由相对应的应用(例如,日历应用)自动地安排预约。相反,选择可以替代地使相对应的应用在随后被用户激活时在下述状态下被打开(open)和/或用下述内容来打开,该状态和/或内容基于通信会话,并且使得用户能够与相对应的应用进行交互以安排预约。以这种方式,用户不需要立即地将他/她的注意力从通信会话转移到安排预约。相反,下次用户激活相对应的应用时,可以提醒用户需要安排预约,并且经由相对应的应用建议的预约建议的(多个)预约时间、(多个)预约日期和/或(多个)预约标题可以基于通信会话。交互式通信系统可以与相对应的应用的API接合,和/或另外地向相对应的应用传送上下文相关的数据以使其在这种状态下被打开。
对话路由元素可以呈现上下文相关的推荐以用于将通信会话的(多个)通信的所有或方面路由到特定代理设备,并且当被选择时使得这样的方面被路由到特定代理设备。
如本文所述,在各种实施方式中,可以基于映射到通信会话的当前意图的动作来生成用于通信会话的动作执行元素。此外,动作执行元素可以可选地被定制为用于通信会话的代理和/或代理的域的参数。在那些实施方式中的一些中,除非确定针对动作未定义代理特定参数(例如,在系统使用的任何数据库中),否则可以将动作执行元素定制为针对该代理和针对该动作定义的代理特定参数。如果确定未定义代理特定参数,则可以可选地基于所存储的用于代理的域的参数来生成动作执行元素,其中该域包含该代理和多个额外的代理。
作为一个示例,假设代理是汽车维修企业,意图是“安排换油预约”意图,并且动作是“换油安排”动作。进一步假设,对于代理,不存在针对用于“换油安排”动作的“预约长度”定义的代理特定参数。在这样的示例中,可以确定并且替代地在生成动作执行元素时使用存储的、针对用于代理的域的“换油安排”动作的“预约长度”的参数。例如,存储的用于该域的参数可以是针对该域的代理定义的平均值或中位数“预约长度”,并且生成动作执行元素,当该动作执行元素被选择时发起预约的安排,该预约具有由平均值或中位数“预约长度”定义的持续时间。这种域参数可以从域到域以及从动作到动作变化。例如,在“摄影”域和“害虫控制”域之间,用于一般“安排”动作的“预约长度”参数可能有很大不同。另外,例如,用于“汽车修理”域的“换油安排”动作的“预约长度”参数可能从用于“汽车修理”域的“引擎修理安排”动作的“预约长度”参数有很大不同。
在一些实施方式中,可以基于一个或多个上下文或推断的信号(诸如与给定通信会话有关的信号)来生成和/或选择用于代理的域的参数以在给定通信会话中使用。例如,可以为给定动作和给定域存储多个域参数,并且每个域参数与一个或多个日期和/或时间相关联。可以基于对应于与选择的域参数相关联的(多个)日期和/或(多个)时间的给定通信会话的日期和/或时间,来选择多个域参数之一以在给定的通信会话中使用。例如,对于“院子服务”域和“安排院子清理”动作,用于秋季的“预约长度”参数可以被存储并且可能与存储的用于春季“预约长度”参数不同。
如本文还描述地,在各种实施方式中,响应于确定(多个)代理特定参数对于动作不可用(例如,未在系统使用的任何数据库中定义),可以生成征求用于该动作的参数的提示。此外,该提示可以被传送到相对应的代理的代理设备,并且响应内容可以被用于解析代理特定参数。此后,代理特定参数可以被用于用于该动作的代理,例如,代替域参数。在那些实施方式中的一些中,可以响应于确定在至少阈值量的通信会话中已经与该代理相关联地调用了该动作来传送提示。以这种方式,对于给定代理,不会将计算资源浪费在罕见的和/或错误的动作上。相反,提示的生成和/或传送可以取决于至少以阈值程度与该代理相关联地调用的动作,从而指示该动作与该代理相关。
如上所述,在各种实施方式中,代表一实体提供动作执行元素以用于呈现。例如,可以代表代理将动作执行元素传送到用户设备。在那些各种实施方式中的一些中,在代表实体呈现元素之前,可以将代表谁来呈现动作执行元素的提示选择性地呈现给实体(经由相对应的设备)。例如,如果响应于呈现提示而接收到肯定的输入,则可以代表实体仅在用户设备处呈现元素。在那些实施方式中的一些中,可以使用各种标准来确定是否代表实体自动地提供动作执行元素以用于呈现而无需首先提示该实体;或者替代地,首先提示该实体并且可选地在代表实体提供动作执行元素以用于呈现之前需要响应于该提示的肯定的输入。例如,各种标准可以基于针对当前意图的置信分数(例如,置信分数满足阈值么)。例如,可以基于在一个或多个训练的机器学习模型上处理通信会话的自然语言输入和/或其他内容,来生成针对当前意图的置信分数,该一个或多个训练的机器学习模型各自被训练以针对一个或多个意图来预测该意图是通信会话的当前意图的置信分数(例如,概率)。
上面提供的一些示例描述了提供动作执行元素,该动作执行元素当被选择时使得发起相对应的动作。然而,如本文所述,在一些实施方式和情形下,可以在不提供用于动作的动作执行元素并且不需要选择用于动作的动作执行元素的情况下自动地发起一些动作。作为一个示例,可以基于确定的当前意图将通信会话的通信的所有或方面自动地路由到特定代理设备。例如,可以将通信路由到与确定的当前意图相关联地存储的特定代理设备。此外,可以在不首先将上下文相关的路由元素呈现给已经积极地参与通信会话的另一代理设备的情况下,路由该通信。作为另一示例,可以在不首先向代理的代理设备呈现回复内容建议元素的情况下,代表代理自动地发送上下文相关的回复内容。例如,如果代理设备先前已经授权自动发送这种回复内容和/或已经以至少阈值频率采用这种回复内容进行回复,则可以自动地发送回复内容。
本文所述的各种实施方式使得用户能够使用公共通信接口(例如,基于听觉/语音的接口和/或图形接口)来与跨多个不同(disparate)域的多个不同代理中的任何一个进行交互。例如,公共通信接口可以被用于参与“地板(flooring)”域中的多个代理中的任何一个、参与“专利法律服务”域中的多个代理中的任何一个、参与“管道(plumbing)”域中的多个代理中的任何一个等。相对于经由各自被定制到特定的代理和/或特定的域的单独的接口和/或应用的交互,这可以使得与各种代理的计算资源有效的交互能够发生。
如本文所使用地,“代理”指代特定地可识别的实体,诸如商户。例如,第一代理可以是第一管道企业(business),第二代理可以是第二管道企业,第三代理可以是第一汽车维修商店等。如本文所使用地,“用户”通常指代使用一个或多个相对应的用户设备与代理进行交互(例如,经由交互式通信系统和/或代理的(多个)代理设备)的个体。如本文所使用地,“代理用户”指代与相对应的代理(例如,该代理的雇员)相关联的并且在通信会话期间使用一个或多个相对应的代理设备来与用户交互的个体。如本文所使用地,“实体”指代相对应的通信会话的代理或用户之一。如本文所用地,“设备”指代计算设备,诸如智能电话、平板计算机、膝上型计算机、桌面型计算机、可穿戴电子设备(例如,智能手表、眼镜)、汽车电子设备等。
本文描述了可以在通信会话中经由相对应的(多个)设备的(多个)用户接口输入设备提供的各种类型的输入。在一些实例中,输入可以是为自由形式的自然语言输入,诸如基于经由一个或多个用户接口输入设备生成的用户接口输入(例如,基于经由物理或虚拟键盘提供的键入的输入,或基于经由麦克风提供的语音输入)的文本输入。如本文所使用地,自由形式的输入是下述输入:用户公式化的并且不限于呈现以用于用户选择的选项组(例如,不限于下拉菜单中呈现的选项组)。
注意,在发明内容中呈现了各种示例,以提供对本文所述的方法、装置和计算机可读介质的各种实施方式的概述。然而,在下面呈现的详细描述中更加充分地描述了额外的和/或替代的实施方式。
另外,一些实施方式包括一个或多个计算设备的一个或多个处理器,其中,一个或多个处理器可操作以执行存储在相关联的存储器中的指令,并且其中,指令被配置为使得本文所述的方法中的任何的执行。一些实施方式还包括一个或多个非暂时性计算机可读存储介质,其存储可由一个或多个处理器执行以执行本文描述的方法中的任何的计算机指令。
应当理解,本文中更加详细描述的前述概念和额外的概念的所有组合被认为是本文公开的主题的一部分。例如,出现在本公开的结尾处的要求保护的主题的所有组合被认为是本文公开的主题的一部分。
附图说明
图1是其中可以实施本文公开的实施方式的示例环境的框图。
图2示出了根据本文公开的实施方式的、可以在图1的环境的各种组件之间发生的交互的示例。
图3A、图3B和图3C呈现了示出根据本文公开的实施方式的示例方法的流程图。
图4A、图4B、图4C、图4D、图4E和图4F示出了根据本文公开的实施方式的示例设备和示出示例通信会话的图形界面。
图5示出了计算设备的示例架构。
具体实施方式
现在转向图1,示出了其中可以实施本文公开的技术的示例环境。示例环境包括用户设备110、交互式通信系统120、多个代理的设备140A-N和多个动作代理135A-N。示例环境还包括可以由交互式通信系统120使用的代理数据库152、一个或多个意图模型154以及一个或多个动作模型156。
用户设备110是与交互式通信系统120进行交互以参与多个代理中的任何一个代理的用户的计算设备。代理的设备140A-N中的每个是相对应的计算设备,该相对应的计算设备与可以经由交互式通信系统120与之交互的相对应的代理相关联。例如,代理设备140A可以是第一代理的计算设备并且可以由第一代理的一个或多个雇员操作。每个代理可以与代理的设备140A-N中的一个或多个相关联。例如,第一代理可以与代理设备140A和140B相关联,第二代理可以仅与代理设备140C相关联等。可以在给定代理与代理的设备140A-N之一之间建立关联,例如,通过给定代理的登录凭据(credential)和/或其他数字安全措施(measure)来确保设备被给定代理授权。
例如,用户设备110和代理的设备140A-N可以各自是各种计算设备中的相对应的一个,诸如独立的语音激活扬声器设备、桌面型计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)和/或包括计算设备的用户的可穿戴装置(例如,智能手表)。可以提供额外的和/或替代的计算设备。
尽管在图1中仅示出了一个用户设备110,但是在许多实施方式中,交互式通信系统120的所有或方面可以是远程的,并且可以与多个用户的多个用户设备中的每个用户接合。例如,交互式通信系统120可以经由不同的会话来管理与多个设备中的每个的通信,并且可以并行地管理多个会话。例如,在一些实施方式中,交互式通信系统120可以被实施为采用云基础设施的基于云的服务,例如,使用运行适合于处置来自多个用户的大量请求的软件的高性能计算机集群或服务器场(server farm)。另外,例如,交互式通信系统120可以从单个用户的多个用户设备接收输入和/或向单个用户的多个用户设备提供输出。然而,为了简单起见,针对单个用户设备110描述了本文的一些示例。
尽管在图1中交互式通信系统120被示出为与用户设备110分离并且与代理的设备140A-N分离,但是在一些实施方式中,交互式通信系统120的所有或方面可以由用户设备110和/或代理的设备140A-N中的一个或多个来实施。例如,用户设备110和代理设备140A可以各自实施系统的实例,并且实例可以经由一个或多个网络(诸如广域网(wide areanetwork,WAN)(例如,互联网))彼此交互。另外,例如,用户设备110和代理设备140A设备可以各自实施执行系统的一些功能并且与执行系统的其他功能的基于云的系统接合的相对应的客户端应用。例如,客户端应用可以经由一个或多个应用编程接口(API)与基于云的系统交互。
用户设备110执行可以在本文描述的各种技术中使用的一个或多个应用(app)112。例如,应用112之一可以是实施交互式通信系统120的功能的所有或一些和/或提供用于参与与代理的通信会话的图形界面的应用。这样的应用可以与用户设备110的操作系统分离(例如,安装在操作系统的“之上”),或者可以替代地由操作系统直接地实施(例如,被认为是操作系统的应用但与操作系统集成)。另外,例如,app 112之一可以是在用于通信会话的当前意图的动作的执行中使用的app。例如,可以响应于对根据本文描述的技术生成的动作执行元素的用户选择来显露和/或执行app 112之一。另外,例如,可以基于确定的当前意图在前景/背景中自动地执行app 112之一(不需要对动作执行元素的用户选择)。可由自动地执行的app执行并且映射到当前意图的(多个)动作然后可以自动地触发(即,不需要用户确认);或者可以被建议用于触发(即,建议,然后仅在响应于建议接收到肯定的用户接口输入的情况下被触发)。
用户设备110还可以可选地在一个或多个计算机可读介质上包括本地用户数据114。本地用户数据114可以包括用于用户设备110的用户的一个或多个参数,诸如用户的(多个)位置(例如,居住地址)、用户的日历等。用于用户的参数可以额外地或替代地与用户设备110远程地存储。在一些实施方式中,多种类型的用户数据被包括在本地用户数据114和/或远程存储中。例如,用户数据可以包括:用户设备数据(例如,用户设备的类型、用户设备的当前位置);个人数据(例如,用户的工作和/或家庭地址、用户的电话号码、用户的电子邮件地址、用户的支付信息、用户的日历信息);和/或个人偏好(例如,用户偏好在星期六的预约、用户偏好以他/她的移动号码来接收呼叫)。
代理的设备140A-N中的一个或多个也可以执行app和/或可以包括用于相对应的代理的本地数据。例如,代理设备140A被示出为具有应用142A和本地代理数据144A。可以在本文描述的各种技术中使用app 142A。例如,app 142A之一可以是实施交互式通信系统120的功能的所有或一些和/或提供用于参与与用户的通信会话的图形界面的应用。如用户设备110那样,这样的app可以与代理设备140A的操作系统分离,或者可以由操作系统直接地实施。另外,例如,app 142A之一可以是在用于通信会话的当前意图的动作的执行中使用的app。例如,可以响应于对根据本文描述的技术生成的动作执行元素的用户选择来显露和/或执行app 142A之一。本地代理数据144A可以包括用于与代理设备140A相关联的代理的一个或多个参数,诸如代理的日历,本文描述的代理特定参数等。用于代理的参数可以额外地或可替代地与代理设备140A远程地存储(例如,在代理数据库152中)。
交互式通信系统120包括对话注释器122、代理解析引擎124、意图引擎126、动作选择引擎128、动作参数引擎130和交互引擎132。在一些实施方式中,交互式通信系统120的引擎中的一个或多个可以省略、组合和/或实施在与交互式通信系统120分离的组件中。此外,为了简单起见,交互式通信系统120可以包括本文未示出的额外的引擎。
交互式通信系统120在通信会话期间接收来自用户设备110的用户输入的实例和/或在通信会话期间接收来自代理的代理的设备140A-N中的一个或多个的代理输入的实例。例如,交互式通信系统120可以接收以流式音频记录的形式的自由形式的自然语言语音输入,并且使用语音到文本模块将语音输入转换为文本。流式音频记录可以由设备响应于从设备的麦克风接收的信号来生成,该设备的麦克风捕获设备的用户的语音输入。作为另一示例,在一些实施方式中,交互式通信系统120可以接收自由形式的自然语言键入的输入和/或甚至结构化的(非自由形式的)输入。
响应于在通信会话期间(从代理设备140A-N之一或用户设备110)接收到输入的实例,交互式通信系统120选择性地向用户设备110提供响应输出和/或向代理的设备140A-N中的一个或多个提供响应输出。当将响应输出提供给用户设备110以及代理的设备140A-N中的一个或多个时,可以可选地向它们中的每个提供不同的响应输出。提供的响应输出可以包括特定于通信会话的当前意图和当前动作的动作执行元素和/或其他输出。此外,提供的响应输出可以是输入的实例的内容之外附加的,尽管其可以可选地与输入的实例的内容组合地显示或以其他方式呈现(例如,提供的响应内容可以作为与通信会话的转录一起呈现的额外的内容而被提供)。响应输出可以是例如要由(多个)设备可听地呈现的音频(例如,经由设备的扬声器输出)、文本、和/或由(多个)设备图形地呈现的图形内容(例如,经由设备的显示器渲染)等。
交互式通信系统120的对话注释器122在通信会话期间处理经由用户设备110和/或代理的设备140A-N接收的自然语言输入和/或其他输入,并且生成注释输出以供交互式通信系统120的一个或多个其他组件使用。例如,对话注释器122可以处理自然语言自由形式的输入并且生成注释的输出,该注释的输出包括自然语言输入的一个或多个注释以及可选地包括自然语言输入的词(term)中的一个或多个(例如所有)。作为另一示例,对话注释器122可以额外地或替代地包括语音到文本模块,该语音到文本模块接收语音输入的实例(例如,以数字音频数据的形式),并且将语音输入转换为包括一个或多个文本单词或词组的文本。在一些实施方式中,语音到文本模块是流式语音到文本引擎。语音到文本模块可以依赖于一个或多个存储的语音到文本模型(也称为语言模型),每个模型可以对音频信号与语言中的语音单元之间的关系、连同语言中的单词序列进行建模。
在一些实施方式中,对话注释器122被配置为识别和注释自然语言输入(例如,键入的输入和/或从音频输入转换的文本)中的各种类型的语法信息。例如,对话注释器122可以包括词性(a part of speech)标记器,被配置为采用词的语法作用来对词进行注释。例如,词性标记器可以采用其词性(诸如“名词”、“动词”、“形容词”、“代词”等)来标记每个词。另外,例如,在一些实施方式中,对话注释器122可以额外地和/或替代地包括依赖性分析器(parser),被配置为确定自然语言输入中的词之间的句法关系。例如,依赖性分析器可以确定哪些词修饰其他词、句子的主语和动词等(例如,分析树),并且可以对这种依赖性进行注释。
在一些实施方式中,对话注释器122可以额外地和/或替代地包括实体标记器,该实体标记器被配置为注释在一个或多个段中的实体引用,诸如对人、组织、位置等的引用。实体标记器可以以较高的粒度级别(例如,使得能够识别对诸如人的实体类别的所有引用)和/或较低的粒度级别(例如,使得能够识别对诸如特定人的特定实体的所有引用)注释对实体的引用。实体标记器可以依赖于自然语言输入的内容来解析特定实体和/或可以可选地与知识图表或其他实体数据库进行通信以解析特定实体。
在一些实施方式中,对话注释器122可以额外地和/或替代地包括日期和/或时间模块,该日期和/或时间模块被配置为注释时间和/或日期(例如,“九点钟”、“星期一”)的提及和/或将时间和/或日期的模糊的提及解析为更加具体的时间和/或日期(例如,将“星期一”解析为具体日期,将“8:00”解析为上午和/或东部时间)。
在一些实施方式中,对话注释器122可以额外地和/或替代地包括共同引用(coreference)解析器,该共同引用解析器被配置为基于一个或多个上下文线索来将对同一实体的引用进行分组或“聚类”。例如,可以使用共同引用解析器来将输入的实例中的词“它”解析为在紧接地先前的输入实例中先前提及的“引擎”。
在一些实施方式中,对话注释器122的一个或多个组件可以依赖于来自对话注释器122的一个或多个其他组件的注释。例如,在一些实施方式中,在注释对特定实体的所有提及中,被命名(named)的实体标记器可以依赖于来自共同引用解析器和/或依赖性分析器的注释。另外,例如,在一些实施方式中,在聚类对同一实体的引用中,共同引用解析器可以依赖于来自依赖性分析器的注释。在一些实施方式中,在处理特定自然语言输入中,对话注释器122的一个或多个组件可以使用特定自然语言输入之外的相关的在先输入和/或其他相关数据来确定一个或多个注释。
在一些实施方式中,对话注释器122可以尝试辨别用户输入的语义或含义,并且向系统120的一个或多个其他组件提供语义指示。对话注释器122可以依赖于一个或多个存储的语法模型,以将文本(或其他输入)映射到特定动作,并且识别约束这样的动作的执行的属性,例如,对于这样的动作的输入变量。
代理解析引擎124解析用于通信会话的特定代理。在一些实施方式中,代理解析引擎124基于明确地指示特定代理的、来自用户设备110的输入来解析特定代理。例如,如图4A所示(下面更详细地描述),用户可以选择与特定代理相关联的界面元素以明确地指示该特定代理。另外,例如,用户可以提供明确地指示特定代理的键入的输入和/或语音输入(例如,“我想要与假想地板商店通话”)。在其他实施方式中,代理解析引擎124通过经由用户设备110参与与用户的对话来解析给定的代理,并且将用户在对话中指定的参数(和/或以其他方式导出的参数)与代理数据库152中用于给定代理的相对应的参数相匹配。例如,如果用户提供“我想要和我附近的地板商店通话”的初始输入,则代理解析引擎124可以从代理数据库152中识别用户附近的三个单独的“地板商店”。此外,代理解析引擎124(通过与交互引擎132的交互)可以提供三个“地板商店”的指示并且提示用户选择三个之一。该指示可以是例如三个商店的名称、评论、评级和/或其他参数,并且该指示还可以从代理数据库152中识别。在又一额外的或替代的实施方式中,代理解析引擎124基于下述解析给定代理:给定代理的可用性解析、给定代理与用户的地理接近度(例如,将请求路由到最接近的“管道”代理)、给定代理的专业性(例如,将“热水器维修”路由到专门从事热水器的“管道”代理)、给定代理的先前经验(例如,给定代理已经处置过类似的请求多少次)、给定代理的评级、给定代理理解的(多个)语言(例如,检测给定用户的语言并且路由到该语言流利的代理)和/或其他标准。在一些实施方式中,代理解析引擎124基于一个或多个额外的信号(诸如与用户、用户设备110、当前日期/时间、用户的历史交互等有关的上下文信号)来额外地或替代地解析给定代理和/或确定何时发起与给定代理的通信会话。
代理数据库152针对多个代理中的每个存储用于该代理的参数。用于代理的参数可以在注册过程期间由该代理的一个或多个代理设备140A-N提供,基于对来自本文所述的系统120的提示的响应而确定,从另外的源(例如,实体数据库、与代理相关联的抓取(scraping)网页)导出,和/或以其他方式获得。可以基于涉及该代理的过去的通信会话额外地或替代地确定用于代理的参数。例如,可以基于代理在过去的通信会话中手动地安排的预约的持续时间的平均值、中位数或其他度量来确定“预约长度”参数。代理数据库152还可以存储用于多个域中的每个域的各种参数,如本文所述地。当在本文中使用时,“域”是涵盖作为该分类的成员的多个代理的分类。
意图引擎126使用来自对话注释器122注释的输出和一个或多个意图模型154的来确定用于通信会话的一个或多个当前意图。例如,注释的输出可以包括接收到的自然语言输入(例如,来自多个轮次的自然语言输入)的注释,并且可以包括该自然语言输入的词。意图引擎126可以使用意图模型154中的一个或多个来处理这样的注释的输出,以确定用于通信会话的(多个)当前意图。例如,意图引擎126可以使用意图模型154中的一个或多个来处理输入,以针对多个候选意图中的每个生成置信水平,并且可以基于它们的置信水平满足阈值(例如,固定阈值和/或相对于其他置信水平的阈值)来确定那些意图中的一个或多个是“当前”意图。在许多实施方式中,意图模型154可以包括机器学习模型,诸如深度神经网络模型。在那些实施方式中的一些中,可以训练机器学习模型中的每一个以预测一个或多个意图中的每个意图当前存在于通信会话中的概率。可以基于机器学习模型,通过使用机器学习模型的训练过的参数处理机器学习模型的一个或多个输入来生成预测,机器学习模型的一个或多个输入诸如:通信会话中接收到的输入、这些输入的注释、通信会话中涉及的代理的(多个)参数、上下文参数(例如,位置、一天中的时间、一周中的一天)等。
在一些实施方式中,一个或多个意图模型154各自使用训练示例进行训练,每个训练示例包括:基于相对应的历史用户-代理通信的相对应的实例的内容的训练示例输入;和标记的训练示例输出,该标记的训练示例输出指示对于相对应的实例是否存在一个或多个意图中的每个。在训练期间,可以基于使用训练示例确定的错误的反向传播来训练给定意图模型的参数。例如,可以使用给定的意图模型来处理(训练示例的)训练示例输入,以预测输出。此外,可以基于预测输出与(训练示例的)训练示例输出的比较来计算误差,并且该误差(以及可选地其他误差)在给定的意图模型上被反向传播以更新给定意图模型的参数。在各种实施方式中,提供了多个意图模型154,每个意图模型154针对特定意图(或特定意图组)和/或针对特定域(或特定域组)进行训练。在给定的实例下,意图引擎126可以可选地仅使用意图模型154的子集来确定当前意图。在那些情形的一些中,意图引擎126可以基于通信会话中所涉及的代理的域和/或基于一个或多个其他标准来选择子集。以这种方式,可以通过选择性地仅使用可用意图模型的子集来节省计算资源。
各种意图可以由意图引擎126使用意图模型154进行预测。此外,给定的意图可以适用于用户和代理两者,或者可以适用于用户和代理中的仅一者。意图的一些非限制性示例包括“安排意图”和/或更细粒度地定义的意图,诸如“安排换油意图”、“安排引擎更换意图”等。意图的一些非限制性示例还包括“营业时间请求”意图、“呼叫顾客”意图、“呼叫代理”意图、“报价请求”意图、“修复管道问题意图”、“修复复杂管道问题意图”、“回复用户”意图、“回复代理”意图、“拍摄图片”意图、“拍摄热水器图片”意图等。
动作选择引擎128针对确定的当前意图选择相对应的动作以实现当前意图。动作选择引擎128可以使用一个或多个动作模型156来选择相对应的动作。例如,动作模型156可以包括意图和动作之间的映射,并且动作选择引擎128可以基于其被映射到动作模型156中的当前意图来选择动作。动作选择引擎128选择的动作定义了一个或多个基于计算机的动作,其可以被用于实现相对应的意图。动作可以进一步定义动作所期望和/或必需的参数,以及在执行该动作时使用的任何计算机app、API和/或其他组件。例如,对于“安排”当前意图,动作选择引擎128可以选择“安排”动作,其中“安排”动作定义了可以被用于实现“安排”当前意图的一个或多个基于计算机的动作。在一些实施方式中,动作可以指示是否将内容(例如,动作执行元素)提供给用户设备110、用于该代理的代理的设备140A-N中的一个或多个,或两者。在一些实施方式中,动作可以额外地或替代地指示将在动作的执行中使用的一个或多个动作代理135A-N,在动作的执行中将使用的一个或多个app 112和/或142A,和/或在动作的执行和/或在用于动作的动作执行元素的生成中将使用的一个或多个用户参数和/或代理参数。
动作参数引擎130确定由动作选择引擎128选择的用于动作的动作参数。在一些实施方式中,动作参数引擎130基于通信会话的(多个)通信来确定参数中的一个或多个。例如,动作参数引擎130可以使用来自对话注释器122的输出来选择参数中的一个或多个。例如,假定来自用户设备110的自然语言输入为“我想安排明天的预约”,并且基于这样的输入来确定用于“安排”当前意图的“安排”动作。动作参数引擎130可以使用由对话注释器122提供的针对“明天”的日期注释来确定用于该安排动作的特定日期(明天的日期)。
在一些实施方式中,动作参数引擎130基于在代理数据库152中存储的参数来确定参数中的一个或多个,这些一个或多个参数对于通信会话的代理是特定的和/或对于代理域是特定的。例如,假定代理是地板安装方,并且该动作是“安排”动作。进一步假定代理数据库152针对地板安装方和“安排”动作定义了指示以下的参数:可用于安排的日期和/或时间、那些日期和/或时间的当前可用性以及对于安排动作应当进行在两个单独的日期的两个单独的预约(例如,一个预约用于“测量/咨询”,而另一个预约用于“安装”)。在这样的示例中,动作参数引擎130可以确定这种存储的针对代理和针对动作定义的参数。
在一些实施方式中,动作参数引擎130确定未针对通信会话的代理定义用于动作的一个或多个期望或必要参数。在那些实施方式中的一些中,动作参数引擎130可以基于代理数据库152的、针对代理的域定义的参数来确定那些参数,其中,该域包含该代理和多个额外的代理。例如,假定对于安排动作,动作参数引擎130确定对于给定的地板安装方在代理数据库152中未定义用于“安排”动作的“预约数量”参数。在这种情况下,作为响应,动作参数引擎130可以替代地使用针对“地板安装方”域的定义的“预约数量”参数。例如,引擎130可以确定针对该域将“预约数量”参数定义为“在两个单独的日期的两个单独的预约”。在一些实施方式中,可以基于对在代理数据库152中定义的、用于域的成员的参数的分析,来在代理数据库152中针对该域定义用于该域的参数。例如,可以基于针对“预约数量”参数,“在两个单独的日期的两个单独的预约”在域的所有代理中最频繁地发生,来自动地针对该域定义“在两个单独的日期的两个单独的预约”。
交互引擎132针对当前意图在执行动作时,与用户设备110、代理的设备140A-N中的一个或多个、和/或动作代理135A-N进行交互,其中参数由动作参数引擎130确定。在一些实施方式中,交互引擎132基于动作和参数生成动作执行元素,并且将动作执行元素传送到用户设备110和/或代理的代理的设备140A-N之一。例如,交互引擎132可以生成动作执行元素并且将该动作执行元素传送到用户设备110。经由用户设备110选择动作执行元素可以经由与交互通信系统、app 112中的一个或多个等的进一步交互来发起动作的执行。在一些情形下,交互引擎132可以在执行动作时与一个或多个动作代理135A-N进行交互。例如,假定“安排”动作执行元素被传送到用户设备110,并且包括可选择的元素,其中该可选择的元素在被选择时发起交互安排动作。系统120可以可选地(例如,通过网络并且经由API)与动作代理135A-N之一交互以实现交互式安排动作。例如,该动作代理可以是作为安排代理的单独的第三方(third-party,3P)代理,并且交互式通信系统120可以用作用户设备110与该代理之间的中介。在其他实施方式中,交互式通信系统120可以代替地在本地执行安排功能(无需调用单独的动作代理)。在又一其他实施方式中,可以通过客户端设备110与该代理直接地交互(没有系统充当中介),和/或可以使用app 112之一来执行安排。在一些实施方式中,交互引擎132在执行动作时与用户设备110、代理的设备140A-N中的一个或多个和/或动作代理135A-N进行交互,而没有提供相对应的动作执行元素和/或无需选择动作执行元素。例如,交互引擎132可以使得代表给定的代理自动地执行某些动作,而无需首先提示给定的代理。
现在转向图2,参考可能在那些组件之间发生的示例交互来提供对图1的各个组件的额外的描述。在图2中,用户设备110和/或代理的代理设备140A在涉及用户设备110和代理的通信会话期间生成一个或多个输入实例161。每个输入实例161基于在设备110、140A中的相应的一个处提供的用户界面输入。例如,实例161可以包括一个或多个自然语言输入实例。
对话注释器122接收一个或多个输入实例161,并且生成注释的输出162,其包括输入的注释并且可选地包括输入本身的所有或部分。意图引擎126使用注释的输出162和一个或多个意图模型154来确定通信会话的至少一个当前意图163。
动作选择引擎128使用确定的至少一个当前意图163来选择至少一个动作164,该至少一个动作164被映射到一个或多个动作模型156中的当前意图163。动作选择引擎128提供动作164到动作参数引擎130,其确定动作的一个或多个参数。
在一些实施方式中,动作参数引擎130访问代理数据库152以确定针对代理的用于动作164的动作参数。例如,动作参数引擎130可以基于动作164是要被提供给用户设备110的并且被定制到代理的动作,来确定针对代理的动作参数。如本文所述地,动作参数可以包括特定于代理的一个或多个参数和/或可以包括针对代理的域定义的一个或多个参数。在一些实施方式中,动作参数引擎130额外地或替代地访问用户数据166(例如,来自本地用户数据114和/或远程存储的用户数据)以确定针对用户的用于动作164的动作参数。例如,动作参数引擎130可以基于动作164是要提供给代理设备140A的并且被定制到用户的动作(例如,包括基于用户的电话号码参数定制的内容的“联系”顾客动作),来确定针对用户的动作参数。在一些实施方式中,动作参数引擎130可以针对动作164确定用户参数和代理参数两者。例如,对于安排动作,可能期望获得针对用户的当前可用性和针对代理的当前可用性的参数。
动作参数引擎130将动作和动作参数提供给交互引擎132。交互引擎132基于动作和动作参数生成动作执行元素168,并且将动作执行元素168提供给用户设备110和/或代理设备140A。可以响应于对所提供的动作执行元素168的选择而采用动作参数来执行动作。例如,通过相应设备与交互引擎132之间的进一步交互,和/或通过交互引擎与一个或多个动作代理135A-N之间的交互(图1),可以由用户设备110或代理设备140A单独地执行动作。
现在转到图3A、图3B和图3C,描述了可以由图1的环境的组件执行的方法300的一个示例。为了方便起见,参考执行操作的系统来描述方法300的操作。该系统可以包括各种计算机系统的各种组件,诸如交互式通信系统120的一个或多个组件。此外,尽管示出了方法300的特定操作并且以特定顺序示出了方法300,但这并不意味着限制。一个或多个操作可能重新排序、省略或添加。
在框300,系统在通信会话中接收用户和/或代理(多个)输入。在一些实施方式中,在框300处接收的用户输入包括自由形式的自然语言输入。例如,系统可以基于由用户设备的物理或虚拟键盘感测到的用户输入,接收由用户设备生成的文本形式的键入的用户输入。
在框302,系统处理(多个)输入以生成注释的输出。
在框304,系统解析代理。在一些实施方式中,系统可以在通信会话开始之前解析代理。例如,用户可以选择界面元素和/或提供键入或语音的命令以明确地指示代理并且使得与特定代理发起通信会话。在一些其他实施方式中,系统基于把通信会话期间指定和/或推断的各种参数与代理的代理参数匹配来在通信会话期间解析代理。
在框306,系统基于框302的注释的输出选择一个或多个当前意图。例如,系统可以基于在一个或多个训练的机器学习模型上处理框302的注释的输出以针对多个意图中的每个生成置信水平来选择当前意图,并且可以基于它满足阈值来选择当前意图。
在框308,系统确定用于框306的所选择的(多个)当前意图中的当前意图的动作。例如,系统可以基于其被映射到数据库条目中的当前意图来确定动作。在一些实施方式中,在框308,系统确定用于当前意图的多个动作和/或基于多个当前意图确定多个动作。在那些实施方式中的一些中,可以针对多个动作中的每个执行方法300中的一个或多个下游框。例如,在框332(如下所述),可以传送与多个不同动作相对应的多个动作执行元素。
在框312,系统确定框308的确定的动作是否是代理动作。即,是将直接地导致动作执行元素被传送到代理的代理设备的动作吗?如果是这样,则系统进行到图3B的框340(在下面更详细地描述)。
在框310,系统确定框308的确定的动作是否是用户动作。即,是将直接地导致动作执行元素被传送到用户的用户设备的动作吗?如果是这样,则系统进行到框314。在一些实施方式中,系统基于动作和/或相对应的意图的定义的特征来进行框310和框312的确定。例如,每个动作和/或意图可以被指示为用户指引的、代理指引的或两者。
在框314,系统确定代理参数是否可用于该动作。例如,系统可以确定代理参数是否可用于被定义为期望和/或必要的、动作的所有参数。如果是这样,则系统进行到框316,并且基于代理参数生成用户动作执行元素。如果否,则系统进行到框318,并且识别代理318的一个或多个域。系统进行到框320,并且基于用于在框318识别的一个或多个域的(多个)域参数生成用户动作执行元素。系统还可以可选地进行到图3C的框370(下面更详细地描述)。注意,在一些实施方式中,系统还可以在框316或框320生成进一步基于一个或多个用户参数的用户动作执行元素。
系统从框316或框320进行到框322,并且确定在框316或框320生成的动作执行元素的置信水平。在一些实施方式中,该置信水平基于用于框306的当前意图的置信水平。例如,置信水平可以基于使用一个或多个机器学习模型针对当前意图生成的概率或其他置信度量。在一些实施方式中,置信水平还基于一个或多个其他因素。例如,置信水平可以依赖于是否基于任何域参数生成了动作执行元素(与否相比,如果是,则置信水平将指示更少的置信)。另外,例如,置信水平可以依赖于在与其他用户的过去通信会话中代理先前已经批准提供相同和/或相似动作执行元素的次数的量。例如,如果“安排”动作执行元素过去已由代理批准过50次,则与仅发生了代理进行的5次批准相比,置信水平可以指示更多的置信。作为又一示例,置信水平可以依赖于代理先前是否已经批准自动提供用于特定动作或当前意图的动作执行元素。
在框324处,系统确定置信水平是否满足阈值。如果是这样,则系统进行到框332,并且将用户动作执行元素传送到用户设备,而无需首先提示该代理的任何代理设备。
如果否,则系统首先进行到框326并且将提示传送到代理设备以验证用户动作执行元素。在框328处,系统基于对提示的响应来确定代理设备是否已经验证了用户动作执行元素。如果是这样,则系统进行到框332。如果不是,则系统进行到框330并且执行一些其他动作。例如,在框330,系统可以提示代理设备对动作执行元素进行修改,提示代理设备批准所修改的动作执行元素,并且如果被批准,则发送修改的动作执行元素来代替动作执行元素。另外,例如,在框330,系统可以呈现替代的动作执行元素,并且如果经由代理设备处的用户界面输入批准了一个替代的动作执行元素,则该替代的动作执行元素可以被发送以代替动作执行元素。
在框334,系统监视对动作执行元素的选择。如果发生选择,则系统进行到框336,并且使用代理参数或域参数来发起动作的执行。然后,系统从框336返回框300,并且等待进一步的(多个)用户和/或代理输入。
如果在框334没有发生选择,则系统可以返回到框300。例如,如果代替选择,从用户设备接收到进一步的非选择输入(例如,带外(out-of-band)问题),则系统返回到框300,并且基于新接收到的非选择输入执行上述(多个)步骤的另一个迭代。
现在转向图3B,提供了可能响应于确定框308的动作是代理动作而发生的额外的框的描述。换句话说,图3A中的框310的下游的框示出了对于用户动作可能发生的框的示例,而图3B的框示出了对于代理动作可能发生的框的示例。在一些实施方式中,动作是代理动作或用户动作中的仅一者;而在其他实施方式中,动作可以是两者。此外,要理解,在给定迭代中,动作是用户动作、代理动作和/或两者将依赖于该给定迭代的当前意图,而该当前意图转而将依赖于特定的通信会话、通信会话的当前输入和状态等。
在框340,系统确定针对该动作是否需要用户参数。如果否,则系统进行到框354,并且生成没有用户参数的代理动作执行元素。例如,对于某些“回复顾客”动作,可以不需要用户参数。例如,可以基于通信会话的自然语言输入,并且可选地基于对相似自然语言输入的历史代理响应,来替代地生成上下文相关的回复内容建议元素。
如果在框340系统确定需要用户参数,则系统进行到框342。例如,对于“呼叫用户”动作,可能需要用户电话号码的用户参数。另外,例如,对于某些“回复顾客”动作,可能需要用户参数。例如,对于用户问题“是否递送到我的邮政编码”,可能需要该用户的邮政编码的用户参数。
在框342,系统确定用于该动作的所有用户参数是否可用(例如,是否在系统可用的一个或多个资源中定义它们)。如果是,则系统前进至框352。如果不是,则系统前进至框344。
在框344,系统生成针对在框342确定为不可用的用户参数的提示。在框346,系统将用于用户参数的提示传送到用户设备。在框348,系统基于从用户设备接收的、响应于该提示的响应来解析用户参数。
在框352,系统基于在框342和/或框348确定的用户参数来生成动作执行元素。
在框356,系统将(在框352或框354生成的)动作执行元素传送到代理的代理设备。
在框358,系统监视对代理动作执行元素的选择。如果发生选择,则系统进行到框360并且发起动作的执行。系统可以使用用户参数来发起动作的执行(例如,如果在框340确定需要用户参数)。然后,系统从框360返回到框300,并且等待进一步的(多个)用户和/或代理输入。
如果在框358中没有发生选择,则系统可以进行到框362并且执行一些其他功能。例如,如果在一定时间量内没有发生选择,则在框362,系统可以通知用户设备该代理当前不可用。另外,例如,如果在一定时间量内没有发生选择,则在框362,系统可以在代理设备处呈现替代的动作执行元素。
现在转到图3C,提供了可能响应于在图3A的框314确定未针对该动作定义用于代理的代理参数而发生的额外的框的描述。
在框370,系统确定是否已经接收到针对动作和针对代理的请求的阈值度量。阈值度量可以是例如:接收到的针对该动作和该代理的请求的总数(例如,该阈值可以是5、10或50)、接收针对该动作和针对该代理的请求的频率(例如,阈值可以是最近5天为10、每5天为20)和/或其他度量。如果尚未接收到请求的阈值度量,则系统进行至框378,并且不传送征求代理参数的提示。如果已经接收到请求的阈值度量,则系统进行到框372,并且生成征求代理参数的提示。在框374,系统将用于代理参数的提示传送到代理的代理设备。在框376,系统根据基于对在代理设备处的用户界面输入生成的对该提示的响应来解析代理参数。系统可以将解析的代理参数存储在代理数据库中,以用于进一步的通信会话和/或用于其他目的。
现在转向图4A至图4F,示出了示例通信会话的示例设备和图形界面。图4A、图4B、图4D和图4F示出了用户设备410和用户设备410的显示屏411。该用户设备的用户经由交互式通信系统120参与与代理的通信会话。图4C和图4E示出了代理的代理设备440A和代理设备440的显示屏441。用户设备410和/或代理设备440可以各自包括交互式通信系统120通信和/或与交互式通信系统120通信。贯穿图4A至图4F各自示出了具有相应的图形界面的显示屏411和441,该图形界面包括:类型界面元素488,其中相对应的个体可以选择该类型界面元素488以经由相对应的虚拟键盘来生成用户输入;以及语音界面元素488,其中相对应的个体可以选择该声音界面元素488以经由相对应的麦克风生成用户输入。
在图4A中,用户已经使用用户设备410的类型界面元素488或语音界面元素489提交“地板商店”的搜索查询470。作为响应,返回多个搜索结果,在图4A中示出了其中的两个:第一搜索结果472A和第二搜索结果472B。第一搜索结果472A对应于第一代理“假想地板商店(Hypothetical Floor Store)”,并且包括“点击以参与对话”链接,如果用户选择该链接,则该链接将经由交互式通信系统120与“假想地板商店”代理建立通信会话。第二搜索结果472B对应于第二代理“理论地毯及更多(Theoretical Carpet&More)”,并且包括“点击以参与对话”链接,如果用户选择该链接,则该链接将经由交互式通信系统120与“理论地毯及更多”代理建立通信会话。
在图4B中,用户已经选择了用于第一搜索结果472A的“点击以参与对话”链接。作为响应,与交互式通信系统120建立了通信会话,并且该通信会话被定向到“假想地板商店”代理。交互式通信系统120提供“嗨,有什么可以帮忙的”的输出480A,并且在界面中将其指示为源自“假想地板商店”。在一些实施方式中,输出480A可以基于在代理数据库152中其被分配为用于代理的会谈(conversation)启动器而由系统120自动地提供。在那些实施方式中的一些中,用于代理的代理设备可以明确地分配输出480A作为用于代理的会谈启动器。在其他实施方式中,可以由该代理的代理设备和/或与该代理共享(多个)域的其他代理的代理设备基于输出480A的历史使用将输出480A分配给代理,作为会谈启动器。例如,如果使用代理设备410的个人过去已经使用“嗨,有什么可以帮忙的?”发起过会谈,则系统120可以提供“是否想要将其用作默认会谈启动器?”的提示,并且如果收到了肯定的输入,则使用“嗨,有什么可以帮忙的”作为用于代理的会谈启动器。另外,例如,如果系统120确定代理的(多个)代理设备在过去已经使用“嗨,有什么可以帮忙的?”作为会谈启动器至少阈值量的次数和/或具有阈值频率,则系统120此后可以使用“嗨,有什么可以帮忙的?”作为用于代理的会谈启动器。
在又一其他实施方式中,系统120可以向代理设备440A提供内容建议元素“嗨,有什么可以帮忙的?”作为建议的会谈启动器,并且可以响应于代理设备440A处的对内容建议元素的选择而提供输出480A。在这些实施方式中的一些实施方式中,可以基于过去的交互,经由代理设备440A(和/或代理的(多个)其他设备)来建议内容建议元素,其中内容建议元素被提供作为会谈启动器。作为一个示例,假定“嗨,可以怎样帮忙”先前被提供给代理设备440A作为建议的会谈启动器,并且由代理用户经由代理设备440A编辑,以替代地显示成“嗨,有什么可以帮忙的?”。此后,基于代理用户对会谈启动器的先前编辑,系统120可以提供内容建议元素“嗨,有什么可以帮忙的?”作为建议的会谈启动器(或代表代理自动地传送它)。以这种方式,系统120可以从代理对内容建议元素的编辑中学习,并且在将来的通信会话中向代理提供内容建议元素的编辑版本(例如,代替最初提供的内容建议元素)。
响应于输出480A,用户提供键入的或语音的输入482A“我想要安排新的木地板的安装”。基于输入482A,交互式通信系统120确定“安排安装预约”的当前意图和“安排”的动作。此外,交互式通信系统120可以确定不存在针对“假想地板商店”代理的被定义用于“安排”动作的任何参数。作为响应,交互式通信系统120可以识别存储的、用于“安排”动作和用于代理的域(例如,“地板”域)的参数。存储的用于该域的参数可以指示,对于安排动作,应当进行在两个单独的日期的两个单独的预约(例如,一个预约用于“测量”,而另一个预约用于“安装”)。基于存储的用于该域的参数,交互式通信系统120可以生成图4D的动作执行元素480B,并且使其如图4D所示在用户设备410的图形用户界面处可视地呈现。图4D的动作执行元素480B指示将安排两个单独的预约,并且包括可以被选择(例如,通过轻击或语音选择)以发起安排动作的执行的可选择的元素480B1、480B2、480B3。
然而,在使得图4D的动作执行元素480B在用户设备410处可视地呈现之前,交互式通信系统120可以首先使得在代理设备440A处呈现动作执行元素480B的指示-如图4C所示。在图4C中,系统120使提示484A呈现在代理设备440A处。提示484A询问代理是否可接受提供安排两个单独的预约的动作执行元素。此外,系统120提供肯定的用户界面元素484A1,其可以由与代理相关联的个体选择以肯定该提示的提供是可接受的。在一些实施方式中,仅当选择肯定的界面元素484A1时,系统120才将动作执行元素480B提供给图4D中的用户设备410。在那些实施方式中的一些中,响应于对肯定的界面元素484A1的选择,系统可以经由代理设备440A提供进一步的提示以确定代理是否期望在将来针对用于该代理的“安排”动作使用“两个单独的预约”。如果响应于这样的提示而接收到肯定的输入,则可以将“两个单独的预约”参数存储为用于“安排”动作的针对该代理的代理特定参数。在图4C中还示出了替代参数界面元素484A2,其可以由个体选择以配置用于替代动作执行元素的替代参数,该替代动作执行元素可以代替动作执行元素480B被提供给用户设备410。
在一些实施方式中,响应于确定满足一个或多个标准,交互式通信系统120向代理设备440A提供提示484A。例如,系统120可以基于根据用于域的参数生成的动作执行元素480B来提供提示484A(而可选地,如果仅基于代理特定参数来生成动作执行元素,则不提供提示)。尽管在图4C中未示出,但是在各种实施方式中,来自用户设备410的输入的转录和/或到用户设备410的输出可以可选地连同提示484A一起显示。
再次参考图4D,响应于在代理设备440A处对肯定的界面元素484A1(图4C)的选择,在用户设备410处呈现动作执行元素480B。用户设备410的用户可以选择可选择的元素480B1、480B2或480B3以交互地安排测量预约和安装预约两者。例如,如果用户选择了可选择元素480B1,则将向用户提示用于“安装日期”的可选择的选项。可以在交互式安排中使用动作代理135A-N之一和/或交互式通信系统120。在一些实施方式中,可选择元素480B1和480B2的日期和时间可以基于用于代理和/或用户的可用性数据来选择,如在选择“查看更多”可选择元素480B3时呈现的任何额外的界面元素可以地那样。
在图4D中,在完成安排动作(如四个垂直点所示)之后,用户提供进一步的键入的或语音的输入482B:“测量将需要花费多久?”。基于输入482B,交互式通信系统120确定当前意图为“代理文本回复”和动作为“发送消息”。此外,交互式通信系统120可以生成代理动作执行元素484B1、484B2和484B3(图4E),并且使它们在代理设备440A处可视地呈现,如图4E所示。代理动作执行元素484B1、484B2和484B3各自是文本建议元素,并且每个包括与输入482B上下文相关的文本(图4D)。对代理动作执行元素484B1、484B2和484B3中的任何一个的选择使得相对应的文本作为来自代理的回复被显示在用户设备处。在图4E中还示出了指示484B,其概括了输入482B并且提供了用于代理动作执行元素484B1、484B2和484B3的上下文。替代地,输入482B本身可以被呈现在代理设备441A处。
在那些实施方式中的一些中,响应于对代理动作执行元素484B1、484B2和484B3之一的选择,系统120可以经由代理设备440A提供进一步的提示以确定代理是否期望在将来针对作为对“测量预约长度”查询的响应的“发送消息”动作,对于代理自动地发送所选择的文本响应。额外地或替代地,系统120可以采用该响应作为这样的信号:用于确定在将来针对类似的查询是应当在向用户发送包括所选择的响应的动作执行元素之前将其呈现给代理还是替代地自动发送该包括所选择的响应的动作执行元素。
图4F示出了用户稍后在通信会话中提供的进一步的键入的或语音的输入482N,以及可以作为响应而提供的并且包括可选择元素480N1的动作执行元素480N。响应于对可选择元素480N1的选择,用户设备410可以使相机界面和/或单独的相机应用显露,从而使用户能够捕获图像。然后可以将捕获的图像自动地(或在用户界面输入之后)提供给交互式通信系统120。在一些实现中,交互式通信系统120可以基于一单独的代理设备与更适合于回答输入482N的查询的个体相关联(例如,基于代理数据库152中的参数和/或(多个)代理设备的历史交互),来将图像路由到该代理的该单独的代理设备。在一些实施方式中,交互式通信系统120在不首先提示任何代理设备的情况下提供动作执行元素480N。例如,如本文所描述地,响应于确定对于动作执行的置信水平满足阈值,系统120可以在不首先提示任何代理设备的情况下提供动作执行元素480N。
图5是示例计算设备510的框图,示例计算设备510可以可选地用于执行本文描述的技术的一个或多个方面。在一些实施方式中,图1中的一个或多个组件可以包括示例计算设备510的一个或多个组件。
计算设备510通常包括至少一个处理器514,其经由总线子系统512与多个外围设备通信。这些外围设备可以包括存储子系统524,包括例如存储器子系统525和文件存储子系统526、用户接口输出设备520、用户接口输入设备522和网络接口子系统516。输入和输出设备允许用户与计算设备510交互。网络接口子系统516提供到外部网络的接口,并且耦合到其他计算设备中的对应接口设备。
用户接口输入设备522可以包括键盘,诸如鼠标、轨迹球、触摸板或图形输入板的定点设备,扫描仪,合并到显示器中的触摸屏,诸如语音识别系统的音频输入设备,麦克风,和/或其他类型的输入设备。通常,术语“输入设备”的使用旨在包括将信息输入到计算设备510中或通信网络上的所有可能类型的设备和方式。
用户接口输出设备520可以包括显示子系统、打印机、传真机或诸如音频输出设备的非视觉显示器。显示子系统可以包括阴极射线管(阴cathode ray tube,CRT)、诸如液晶显示器(liquid crystal display,LCD)的平板设备、投影设备或用于创建可视图像的一些其他机制。显示子系统还可以诸如经由音频输出设备提供非视觉显示。通常,术语“输出设备”的使用旨在包括从计算设备510向用户或另一机器或计算设备输出信息的所有可能类型的设备和方式。
存储子系统524存储提供本文描述的一些或所有模块的功能的编程和数据结构。例如,存储子系统524可以包括执行图3A、3B和3C的方法的所选方面的逻辑。
这些软件模块通常由处理器514单独或与其他处理器结合执行。存储子系统524中使用的存储器525可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(random access memory,RAM)530和存储固定指令的只读存储器(read onlymemory,ROM)532。文件存储子系统526可以为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、CD-ROM驱动器、光驱或可移动介质盒。实施某些实施方式的功能的模块可以由文件存储子系统526存储在存储子系统524中,或者存储在(多个)处理器514可访问的其他机器中。
总线子系统512提供了一种机制,用于让计算设备510的各种组件和子系统按照预期相互通信。尽管总线子系统512示意性地示出为单个总线,但是总线子系统的替代实施方式可以使用多个总线。
计算设备510可以是不同类型的,包括工作站、服务器、计算集群、刀片服务器、服务器群或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,对图5中描绘的计算设备510的描述仅旨在作为用于说明一些实施方式的特定示例。计算设备510的许多其他配置可能具有比图5中描绘的计算设备更多或更少的组件。
在本文讨论的某些实施方式可以收集或使用关于用户的个人信息(例如,从其他电子通信中提取的用户数据、关于用户社交网络的信息、用户位置、用户时间、用户生物测定信息以及用户活动和人口统计信息)的情况下,向用户提供一个或多个机会来控制是否收集信息、是否存储个人信息、是否使用个人信息以及如何收集、存储和使用关于用户的信息。也就是说,本文讨论的系统和方法仅在从相关用户接收到对收集、存储和/或使用用户个人信息的明确授权时才收集、存储和/或使用用户个人信息。例如,向用户提供对程序或特征是否收集关于该特定用户或与程序或特征相关的其他用户的用户信息的控制。要针对其收集个人信息的每个用户被呈现一个或多个选项,以允许对与该用户相关的信息收集进行控制,提供关于是否收集信息以及收集信息的哪些部分的许可或授权。例如,可以通过通信网络向用户提供一个或多个这样的控制选项。此外,在存储或使用某些数据之前,可以以一种或多种方式对其进行处理,从而删除个人可识别信息。作为一个示例,可以处理用户的身份,使得不能确定个人可识别信息。作为另一个示例,用户的地理位置可以被概括为更大的区域,使得用户的特定位置不能被确定。

Claims (25)

1.一种由一个或多个处理器实施的方法,包括:
在包括由一个或多个处理器实施的用户计算设备和交互式通信系统的通信会话期间,接收自然语言输入的一个或多个实例,自然语言输入的实例包括由用户计算设备的用户经由用户计算设备的用户接口输入设备公式化的自由形式的输入;
处理所述自然语言输入以生成自然语言输入的注释;
从候选意图集合中选择通信会话的至少一个当前意图,其中,选择当前意图基于使用一个或多个意图模型来处理所述自然语言输入和所述注释,所述一个或多个意图模型各自是训练的机器学习模型;
确定用于所选择的当前意图的动作;
解析用于所述动作的代理;
确定特定于所解析的代理的代理特定参数对于所述动作不可用;
响应于确定所述代理特定参数对于所述动作不可用:
基于所述动作和存储的用于代理的域的参数来生成动作执行元素,所述域是包含所述代理和多个额外的代理的域;以及
使得在用户计算设备处渲染所述动作执行元素,其中,在用户计算设备处对所述动作执行元素的选择使得用户计算设备使用存储的用于代理的域的参数来发起动作的执行。
2.根据权利要求1所述的方法,进一步包括,响应于确定所述代理特定参数对于所述动作不可用:
生成征求用于动作的参数的提示;
将所述提示传送到与代理相关联的代理计算设备;
响应于传送所述提示,从所述代理计算设备接收响应内容;
基于所述响应内容,针对所述动作和针对所述代理来解析代理特定参数;和
在一个或多个计算机可读介质中针对所述动作和针对所述代理定义所述代理特定参数。
3.根据权利要求2所述的方法,进一步包括:
确定已经在阈值量的通信会话中与所述代理相关联地调用了动作;
其中,传送提示基于确定已经在阈值量的通信会话中与所述代理相关联地调用了动作。
4.根据权利要求2或3所述的方法,进一步包括,在针对所述动作和针对所述代理定义所述代理特定参数之后:
在额外的计算设备与交互式通信系统之间的后续的通信会话期间,确定所述动作并且解析所述代理;
基于针对所述动作和针对所述代理定义的代理特定参数:
将基于所述动作和定义的代理特定参数的后续的动作执行元素传送到额外的计算设备。
5.根据权利要求4所述的方法,其中,对后续的动作执行元素的选择使得额外的计算设备使用特定于代理的参数来发起动作的执行。
6.根据权利要求1所述的方法,其中,解析代理包括基于自然语言输入、所选择的当前意图或确定的动作来解析代理。
7.根据权利要求1所述的方法,其中,解析代理包括:
确定以下中的一个或多个:代理的可用性度量、代理的专业性度量以及代理的经验度量;以及
基于以下中的一个或多个来解析代理:所述可用性度量、所述专业性度量和所述经验度量。
8.根据权利要求1-3和5-7中任一项所述的方法,进一步包括:
在通信会话之前,使得在客户端设备处渲染代理发起界面元素;以及
响应于对代理发起界面元素的选择,解析代理并且建立通信会话。
9.根据权利要求1-3和5-7中任一项所述的方法,其中,使得在用户计算设备处渲染动作执行元素包括:使得在通信会话期间渲染动作执行元素。
10.根据权利要求9所述的方法,其中,使得在通信会话期间渲染动作执行元素包括:使得通过被用于通信会话的应用来渲染动作执行元素。
11.根据权利要求9所述的方法,其中,使得在通信会话期间渲染动作执行元素包括:使得通过除了被用于通信会话的应用之外的额外的应用来渲染动作执行元素。
12.根据权利要求1所述的方法,其中,使得在用户计算设备处渲染动作执行元素在通信会话之后发生并且通过除了被用于通信会话的应用之外的额外的应用进行。
13.一种由一个或多个处理器实施的方法,包括:
在包括用户计算设备的通信会话期间接收自然语言输入,所述自然语言输入包括由用户计算设备的用户经由用户计算设备的用户接口输入设备公式化的自由形式的输入;
处理所述自然语言输入以生成自然语言输入的注释;
从候选意图集合中选择通信会话的至少一个当前意图,其中,选择当前意图基于向一个或多个意图模型应用所述自然语言输入和所述注释,所述一个或多个意图模型各自是训练的机器学习模型;
确定用于所选择的当前意图的动作;
解析用于所述动作的代理;
基于所述动作和存储的特定于代理的、用于所述动作的参数,生成动作执行元素;
将动作执行元素传送到用户计算设备,
其中,对动作执行元素的选择使得用户计算设备使用存储的特定于代理的、用于所述动作的参数来发起动作的执行。
14.根据权利要求13所述的方法,进一步包括,在将动作执行元素传送到用户计算设备之前:
向与代理相关联的代理计算设备传送动作执行元素的指示;和
响应于传送动作执行元素的指示,从代理计算设备接收肯定的响应;
其中,将动作执行元素传送到用户计算设备取决于接收到肯定的响应。
15.根据权利要求14所述的方法,进一步包括:
基于接收到来自代理计算设备的肯定的响应,传送基于所述动作和特定于代理的参数的后续的动作执行元素,而无需首先将动作执行元素的任何指示传送到代理计算设备。
16.根据权利要求13至15中的任一项所述的方法,其中,对动作执行元素的选择通过使得计算设备基于所述参数执行单独的应用来使得用户计算设备使用特定于代理的参数来发起动作的执行。
17.根据权利要求16所述的方法,其中,基于所述参数执行单独的应用包括在单独的应用的动态字段中填充所述参数。
18.根据权利要求16所述的方法,其中,基于所述参数执行单独的应用包括:
基于所述参数选择所述应用的状态;以及
在所选择的状态下打开所述应用。
19.根据权利要求13至15中的任一项所述的方法,其中,对动作执行元素的选择使得用户计算设备:使得单独的应用在后续被激活时在基于所述参数的状态下被激活或使用基于参数的内容来激活。
20.根据权利要求13-15和17中的任一项所述的方法,进一步包括:
在传送动作执行元素之后,接收由用户公式化的另外的自然语言输入;
处理所述另外的自然语言输入以生成自然语言输入的另外的注释;
从候选意图集合中选择通信会话的另外的当前意图,其中,选择另外的当前意图基于向一个或多个意图模型应用另外的自然语言输入和另外的注释;
确定用于另外的当前意图的代理动作;
基于所述代理动作和特定于用户的用户参数来生成代理动作执行元素;
将所述代理动作执行元素传送到代理计算设备,
其中,对代理动作执行元素的选择使得代理计算设备使用特定于用户的用户参数来发起代理动作的执行。
21.根据权利要求20所述的方法,进一步包括,在将所述代理动作执行元素传送到所述代理计算设备之前:
向用户计算设备传送所述代理动作执行元素的指示;以及
响应于传送代理动作执行元素的指示,从用户计算设备接收肯定的响应;
其中,将所述代理动作执行元素传送到所述代理计算设备取决于接收到肯定的响应。
22.一种由一个或多个处理器实施的方法,包括:
接收在包括用户计算设备和代理的代理计算设备的通信会话期间提供的输入的一个或多个实例;
从候选意图集合中选择通信会话的至少一个当前意图,其中,选择当前意图基于使用一个或多个意图模型来处理输入,所述一个或多个意图模型各自是训练的机器学习模型;
确定用于所选择的当前意图的动作;
解析用于所述动作的代理;
确定特定于代理的代理特定参数对于所述动作不可用;
响应于确定代理特定参数对于所述动作不可用:
基于所述动作和存储的用于代理的域的参数来生成代理动作执行元素,所述域是包含所述代理和多个额外的代理的域;以及
使得在代理计算设备处渲染所述代理动作执行元素,其中,在代理计算设备处对动作执行元素的选择使得代理计算设备使用存储的用于代理的域的参数来发起动作的执行。
23.一种由一个或多个处理器实施的方法,包括:
在包括由一个或多个处理器实施的用户计算设备和交互式通信系统的通信会话期间,接收自然语言输入的一个或多个实例,自然语言输入的实例包括由用户计算设备的用户经由用户计算设备的用户接口输入设备公式化的自由形式的输入;
处理所述自然语言输入以生成自然语言输入的注释;
从候选意图集合中选择通信会话的至少一个当前意图,其中,选择当前意图基于使用一个或多个意图模型来处理所述自然语言输入和所述注释,所述一个或多个意图模型各自是训练的机器学习模型;
确定用于所选择的当前意图的动作;
解析用于所述动作的代理;
确定特定于解析的代理的代理特定参数对于所述动作不可用;
响应于确定所述代理特定参数对于所述动作不可用:
确定存储的用于代理的域的参数,所述域是包含所述代理和多个额外的代理的域;以及
使用存储的用于代理的域的参数自动地发起动作的执行。
24.一种存储计算机可读指令的非暂时性计算机可读存储介质,所述计算机可读指令在由至少一个计算装置执行时使得至少一个计算装置执行根据权利要求1至23中任一项所述的方法。
25.一种用于在通信会话期间促进用户设备和/或代理设备动作的系统,包括:
至少一个处理器;以及
至少一个计算机可读存储器,存储计算机可读指令,所述计算机可读指令在由至少一个处理器执行时使得至少一个处理器执行根据权利要求1至23中任一项所述的方法。
CN201880039265.9A 2017-08-22 2018-08-22 在通信会话期间促进用户设备和/或代理设备动作 Active CN110753908B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311395663.3A CN117573248A (zh) 2017-08-22 2018-08-22 在通信会话期间促进用户设备和/或代理设备动作

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762548928P 2017-08-22 2017-08-22
US62/548,928 2017-08-22
PCT/US2018/047474 WO2019040591A1 (en) 2017-08-22 2018-08-22 FACILITATION OF USER DEVICE ACTIONS AND / OR AGENT DEVICE DURING A COMMUNICATION SESSION

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311395663.3A Division CN117573248A (zh) 2017-08-22 2018-08-22 在通信会话期间促进用户设备和/或代理设备动作

Publications (2)

Publication Number Publication Date
CN110753908A CN110753908A (zh) 2020-02-04
CN110753908B true CN110753908B (zh) 2023-11-10

Family

ID=63490707

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201880039265.9A Active CN110753908B (zh) 2017-08-22 2018-08-22 在通信会话期间促进用户设备和/或代理设备动作
CN202311395663.3A Pending CN117573248A (zh) 2017-08-22 2018-08-22 在通信会话期间促进用户设备和/或代理设备动作

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202311395663.3A Pending CN117573248A (zh) 2017-08-22 2018-08-22 在通信会话期间促进用户设备和/或代理设备动作

Country Status (4)

Country Link
US (2) US11269666B2 (zh)
EP (1) EP3622392A1 (zh)
CN (2) CN110753908B (zh)
WO (1) WO2019040591A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3622392A1 (en) 2017-08-22 2020-03-18 Google LLC Facilitating user device and/or agent device actions during a communication session
US11050700B2 (en) * 2017-11-03 2021-06-29 Salesforce.Com, Inc. Action response selection based on communication message analysis
US11410641B2 (en) * 2018-11-28 2022-08-09 Google Llc Training and/or using a language selection model for automatically determining language for speech recognition of spoken utterance
USD917522S1 (en) * 2018-12-13 2021-04-27 Robinhood Markets, Inc Display screen or portion thereof having a graphical user interface for button menus
US11050884B2 (en) * 2019-02-25 2021-06-29 Liveperson, Inc. Intent-driven contact center
US11544463B2 (en) * 2019-05-09 2023-01-03 Intel Corporation Time asynchronous spoken intent detection
CN114026577A (zh) 2019-06-12 2022-02-08 利维帕尔森有限公司 用于通信系统意图分析的系统和方法
US11269599B2 (en) * 2019-07-23 2022-03-08 Cdw Llc Visual programming methods and systems for intent dispatch
US11184298B2 (en) * 2019-08-28 2021-11-23 International Business Machines Corporation Methods and systems for improving chatbot intent training by correlating user feedback provided subsequent to a failed response to an initial user intent
US11748128B2 (en) * 2019-12-05 2023-09-05 International Business Machines Corporation Flexible artificial intelligence agent infrastructure for adapting processing of a shell
US11797820B2 (en) 2019-12-05 2023-10-24 International Business Machines Corporation Data augmented training of reinforcement learning software agent
US11574246B2 (en) * 2020-01-21 2023-02-07 Microsoft Technology Licensing, Llc Updating training examples for artificial intelligence
US20210289006A1 (en) * 2020-03-10 2021-09-16 SecondBody, Inc. Modifications to Electronic Communication Protocols to Facilitate Agent-based Communications
US11768945B2 (en) * 2020-04-07 2023-09-26 Allstate Insurance Company Machine learning system for determining a security vulnerability in computer software
US11748660B2 (en) * 2020-09-17 2023-09-05 Google Llc Automated assistant training and/or execution of inter-user procedures
EP4348494A1 (en) * 2021-05-24 2024-04-10 Liveperson, Inc. Data-driven taxonomy for annotation resolution
WO2024060003A1 (en) * 2022-09-20 2024-03-28 Citrix Systems, Inc. Computing device and methods providing input sequence translation for virtual computing sessions

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102422268A (zh) * 2009-03-16 2012-04-18 苹果公司 用于支持多设备协作的框架
CN103916709A (zh) * 2013-01-07 2014-07-09 三星电子株式会社 服务器和用于控制服务器的方法
CN103927229A (zh) * 2013-01-16 2014-07-16 国际商业机器公司 在动态可用服务器集群中调度映射化简作业
US9699128B1 (en) * 2016-05-17 2017-07-04 Google Inc. Automated generation of prompts and analyses of user responses to the prompts to determine an entity for an action and perform one or more computing actions related to the action and the entity
CN107077464A (zh) * 2014-10-14 2017-08-18 三星电子株式会社 电子设备和用于其口头交互的方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9560089B2 (en) * 2012-12-11 2017-01-31 Nuance Communications, Inc. Systems and methods for providing input to virtual agent
US9489625B2 (en) 2013-05-10 2016-11-08 Sri International Rapid development of virtual personal assistant applications
US20150169285A1 (en) 2013-12-18 2015-06-18 Microsoft Corporation Intent-based user experience
US9466297B2 (en) * 2014-12-09 2016-10-11 Microsoft Technology Licensing, Llc Communication system
US9508339B2 (en) * 2015-01-30 2016-11-29 Microsoft Technology Licensing, Llc Updating language understanding classifier models for a digital personal assistant based on crowd-sourcing
US20160342955A1 (en) * 2015-05-08 2016-11-24 Daysaver, Inc. Multi-entity event coordination server and system
EP3122001B1 (en) 2015-07-24 2019-10-23 Facebook, Inc. Providing personal assistant service via messaging
EP3622392A1 (en) 2017-08-22 2020-03-18 Google LLC Facilitating user device and/or agent device actions during a communication session

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102422268A (zh) * 2009-03-16 2012-04-18 苹果公司 用于支持多设备协作的框架
CN103916709A (zh) * 2013-01-07 2014-07-09 三星电子株式会社 服务器和用于控制服务器的方法
CN103927229A (zh) * 2013-01-16 2014-07-16 国际商业机器公司 在动态可用服务器集群中调度映射化简作业
CN107077464A (zh) * 2014-10-14 2017-08-18 三星电子株式会社 电子设备和用于其口头交互的方法
US9699128B1 (en) * 2016-05-17 2017-07-04 Google Inc. Automated generation of prompts and analyses of user responses to the prompts to determine an entity for an action and perform one or more computing actions related to the action and the entity

Also Published As

Publication number Publication date
CN110753908A (zh) 2020-02-04
EP3622392A1 (en) 2020-03-18
US20220188133A1 (en) 2022-06-16
US11941420B2 (en) 2024-03-26
US11269666B2 (en) 2022-03-08
CN117573248A (zh) 2024-02-20
US20200143114A1 (en) 2020-05-07
WO2019040591A1 (en) 2019-02-28

Similar Documents

Publication Publication Date Title
CN110753908B (zh) 在通信会话期间促进用户设备和/或代理设备动作
US10685187B2 (en) Providing access to user-controlled resources by automated assistants
JP7032504B2 (ja) 会議能力を有する自動アシスタント
US11887595B2 (en) User-programmable automated assistant
US20200279564A1 (en) Generating and transmitting invocation request to appropriate third-party agent
US9990591B2 (en) Automated assistant invocation of appropriate agent
US20180285595A1 (en) Virtual agent for the retrieval and analysis of information
US10063497B2 (en) Electronic reply message compositor and prioritization apparatus and method of operation
US10826856B2 (en) Automated generation of prompts and analyses of user responses to the prompts to determine an entity for an action and perform one or more computing actions related to the action and the entity
EP3926625B1 (en) Voice to text conversion based on third-party agent content
CN111316276A (zh) 将分布式状态机与自动助手用于人机对话以保护隐私数据

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