CN115914148A - 具有两侧建模的对话智能体 - Google Patents
具有两侧建模的对话智能体 Download PDFInfo
- Publication number
- CN115914148A CN115914148A CN202210933609.9A CN202210933609A CN115914148A CN 115914148 A CN115914148 A CN 115914148A CN 202210933609 A CN202210933609 A CN 202210933609A CN 115914148 A CN115914148 A CN 115914148A
- Authority
- CN
- China
- Prior art keywords
- model
- learning model
- updated
- user
- context information
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/098—Distributed learning, e.g. federated learning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
Abstract
中央学习模型被部署为用户模型和助手模型。来自先前存储的会话语言语料库的、对应于用户问询的敏感信息话语及其聊天智能体响应分别用于将用户模型训练成更新的用户模型、和将助手模型训练成更新的助手模型。用户模型向助手模型提供对应于用户问询的用户上下文,并且助手模型向用户模型提供对应于聊天智能体响应的助手上下文。在训练期间,用户模型不向助手模型提供纯文本问询,并且助手模型不向用户模型提供纯文本响应。更新的助手模型可以促进联合训练过程生成更新的中央模型。更新的中央模型可用于提供响应于实时用户问询的实时聊天智能体。
Description
相关申请的交叉引用
本申请是要求根据35 U.S.C.§119,于2021年8月4日提交的题为“FedAssistant:Dialog agents with two-sided modeling(具有两侧建模的对话智能体)”的美国临时专利申请No.63/229,490的优先权的非临时申请,其在先申请的全部内容通过引用并入本文。
背景技术
对话系统在日常生活中发挥着重要作用,并且广泛用于推荐、问答、在线客户服务和同伴聊天机器人。两种典型的基于机器学习的对话系统包括1)从给定的数据库中选择响应的话语检索模型,和2)即兴响应的神经生成语言模型。在大数据集上训练的高容量生成语言模型可以在对话生成相关任务上表现良好。使用大型预训练语言模型,例如生成预训练转换器(“GPT”)模型(例如GPT、GPT-2或GPT-3),可以在面向任务的对话任务、和开放领域的闲聊聊天机器人中产生良好的性能。公开可用数据集的各种来源可用于训练大型预训练模型。
然而,对于由个别公司、机构、组织等持有的私有数据集,隐私问题可能会阻止当前语言模型将其有用性最大化。例如,一个国家的法律可能禁止在未经同意的情况下共享个人或组织的个人或私人数据(可称为敏感数据)。此外,即使敏感数据在共享前被“去识别化(deidentified)”或匿名化,敏感数据的来源(例如敏感数据所属的个人或组织)的身份也可以通过辅助数据的数据重新识别来确定。因此,敏感数据(例如医疗记录等)的所有者通常不愿意直接分享他们的原始数据。
另一方面,数据持有者可以是服务提供商,他们有动机共享其用户、订阅者、客户等的敏感数据以改进向用户、订阅者、客户等提供的服务。例如,在训练来自多个知识领域的数据后,问答模型能够回答更全面和更复杂的问题。因此,需要一种在不暴露与所有者相关联的原始数据的情况下用来自多个数据所有者的数据来训练语言模型的方法。
联合机器学习可用于训练机器学习模型以保护隐私。联合机器学习框架可以利用位于中央服务器的中央学习模型过程(例如FedAvg算法),该过程可以使用客户端模型参数或梯度的加权平均值或未加权平均值来更新全局/主/中央模型,然后全局模型将更新发送回其相应的客户端。然而由于多种原因,这种传统的联合机器学习可能存在问题。例如,大型模型通常包含超过一亿个模型参数,并且由于中央模型和用户/客户端模型之间的巨大通信成本,特别是当中央模型服务器和客户端/用户设备之间的通信至少部分地由无线通信网络促进时,迭代更新客户端和全局模型是不切实际的。另一个问题是对话神经模型的生成特性也可能成为服务用户的约束:为了生成具有给定上下文的响应,生成模型逐字地即兴进行,这对于计算资源有限的移动用户来说是耗时且处理器资源密集型的。传统联合学习可能出现的另一个问题是,将对话神经模型从客户端设备部署到服务提供商的服务器可以避免在用户设备上消耗有限的计算资源,但通常需要将用户的原始话语传输到中央模型服务器。因为邪恶行为者可以从话语中挖掘私人信息,可能会在未经授权的情况下获取用户敏感的原始话语数据,所以传输用户的原始话语可能会损害用户的隐私。
发明内容
以下呈现所公开主题的简化概述,以便提供对各种实施例中的一些实施例的基本理解。该概述不是各种实施例的广泛总览。该概述既不旨在识别各种实施例的关键或重要元件,也不旨在描绘各种实施例的范围。该概述的唯一目的是以流线型的形式呈现本公开的一些概念,作为稍后呈现的更详细描述的序幕。
包括助手学习模型(可称为FedAssistant模型)的框架用于在联合学习设置中训练神经对话系统。然后可以使用对话系统来促进可以服务于多种目的的聊天机器人。可以根据来自多个数据所有者或数据持有者的数据来训练助手学习模型,而在训练和评估助手模型或用户学习模型期间不会泄漏原始数据。助手模型训练可以包括可以容易地部署到数据所有者/提供商支持的用户的两侧建模。为了降低数据持有者和参数服务器(该参数服务器可以称为中央服务器并且可以包括对中央模型的访问)之间的通信成本,助手模型可以实现稀疏化,例如Top-k梯度稀疏化。应当理解,中央模型可以跨不同计算系统分布,这些计算系统可以是并置的或在地理上是分离的。
两侧对话建模框架可以基于对GPT模型(目前,存在并且可用GPT、GPT-2和GPT-3)的使用。可以使用GPT以外的模型来代替。在用户模型和助手模型之间只传输隐藏状态(可包括上下文信息)。在已经训练助手模型之后,可以基于仅对应于助手模型的参数执行FedAvg。助手模型可以使用GPT模型的转换器架构来建模接下来的话语,并且可以将用户模型的先前的隐藏状态视为或称为上下文。
通过使用本文所述的FedAssistant助手模型框架,避免了在训练和推理状态期间传输原始数据。只将用户模型或助手模型的所有转换器块的过去键和值作为上下文传输,以便在训练和推理期间生成响应。提供的纯文本原始数据仅对数据所有者/持有者可见。在训练期间,每个数据持有者可以初始化第一用户侧模型和第二助手侧模型。只将来自助手侧模型的参数、值、因子、系数等通过FedAvg算法提供给参数服务器,以更新参数服务器处的模型。参数服务器中的模型可以称为中央模型,并且可以由第三方服务提供商操作或以其它方式促进,并且可以由所有数据持有者和所有实际用户访问。训练后,参数服务器处的模型替换每个数据持有者的助手侧模型,并且成为用于回答问询的助手模型。用户侧模型根据数据持有者的偏好、规格、权限、要求或其它操作需要而分发给实际用户。
在一个实施例中,数据持有者可以被视为或称为用户服务提供商(例如,银行、医疗服务提供商、金融服务提供商、社交媒体平台、零售商等)。FedAssistant助手模型框架促进向数据持有者的用户进行简单的模型部署;用户可不必使用关联的用户设备在本地生成响应。
使用FedAssistant助手模型框架可以改善数据持有者的服务,以便使他们愿意参与联合学习,同时保护他们的私人原始数据。例如,医疗保健服务提供商可能更愿意参与训练助手模型,并最终参与训练中央模型,因为其例如对应于患者的原始数据不会透露给助手模型或中央模型。
一个示例实施例方法包括:从在包括处理器的计算设备上执行的第一初始学习模型接收表示对应于敏感信息的第一上下文的第一上下文信息;将第一上下文信息输入在计算设备上执行的第二初始学习模型;并使用第二初始学习模型来基于第一上下文信息确定响应于敏感信息的回复信息。
在一个实施例中,训练方法包括:通过使用第二初始学习模型来基于第一上下文信息、和表示对应于回复信息的第二上下文的第二上下文信息而确定更新的上下文信息;并将更新的上下文信息从第二初始学习模型传输到第一初始学习模型。
第一初始学习模型和第二初始学习模型可以分别包括例如两侧模型训练模型的用户侧模型和助手侧模型,用户侧模型和助手侧模型在分布式服务器-客户端计算环境中的不同计算系统上运行,并且可以包括与中央模型相同的参数(即,第一初始学习模型和第二初始学习模型可以是参数与初始中央模型相同的相同模型)。在一个实施例中,第一初始学习模型和第二初始学习模型可以在相同的计算系统上运行。计算设备可以是计算系统的一部分,该计算系统由拥有对话会话语料库的实体拥有、操作、租用或控制,该对话会话语料库包括数据所有者希望保密的敏感信息。语料库的一个或多个会话可以包括用户与智能体之间的对话消息,智能体可以是或可以曾经是真人或聊天智能体。对话会话可以包括由用户向智能体发起或发送的问询消息,并且对话会话还可以包括智能体响应于一个或多个问询而生成并发送给用户的用户设备的响应消息。对话会话消息的语料库可以包括在使用两侧建模执行实施例方法之前发生并且被记录/存储到语料库的消息。可以由用户侧模型和助手侧模型基于语料库的对话消息来生成或确定上下文。上下文可以包括由模型为给定问询消息或响应消息而生成的键或值。例如,用户侧模型可以为问询消息生成上下文并将上下文发送到助手侧模型,而不发送从语料库取回的问询消息的实际语言。然后,助手侧模型可以基于由智能体(真人或自动)响应于问询消息而发送的语料库的响应消息来生成上下文。助手侧模型可以将从用户侧模型接收到的上下文、与它基于对应于语料库中的问询消息的响应消息生成的上下文组合,以得到第二上下文,然后将第二上下文发送给用户侧模型,而不发送响应消息的实际语言。
在一个实施例中,该方法还可以包括由计算设备基于回复信息训练第二初始学习模型以得到更新的第二学习模型。在一个实施例中,不使用从语料库输入到、提供给、或以其它方式由第一初始学习模型获得的敏感信息来训练得到更新的第二学习模型的第二初始学习模型。在一个实施例中,第二初始学习模型不接收来自第一初始学习模型或来自任何其它源的敏感信息。
在一个实施例中,第一初始学习模型和第二初始学习模型可以包括预训练语言模型,预训练语言模型也可包括中央模型。在一个实施例中,预训练语言模型可以包括生成预训练转换器模型,例如GPT、GPT-2、GPT-3或类似模型。
在另一个实施例中,该方法还可以包括由第二计算设备根据联合学习模型训练中央学习模型,以基于响应于从不同助手学习模型接收的不同上下文生成的不同回复信息来得到更新的中央模型,该不同上下文对应于不同用户学习模型和不同助手学习模型之间的不同会话对话。换言之,对话会话消息的不同相应数据集/语料库的不同所有者可以具有他们自己尊重的更新的第二学习模型,每个更新的第二学习模型具有区别于其它更新的第二学习模型的相应参数或梯度。可以将不同更新的第二学习模型的参数提供给第二计算设备,该第二计算设备可以包括处理器并且可以被配置为操作参数服务器,并且可以执行基于来自不同更新的第二学习模型的参数的联合学习模型,以得到更新的中央学习模型。
该实施例方法还可以包括:利用包括处理器的中央计算系统的中央计算设备确定对从配置为呈现用户设备的对话智能体应用程序界面的用户设备接收的问询的响应;并利用中央计算系统将响应发送到用户设备的对话智能体应用程序界面;其中中央计算设备使用更新的中央模型来确定对问询的响应。中央计算系统的中央计算设备可以包括更新的中央模型,在使用两侧建模训练多个助手侧模型期间更新该更新的中央模型,该两侧建模在训练期间不将敏感信息从一个模型传输到另一个模型。中央计算设备可以由拥有用于训练至少一个助手侧模型的语料库的数据持有者拥有、操作、租用、控制或以其它方式部署。
实施例方法还可以包括:确定对向用户设备的对话智能体输入的问询的响应,该用户设备包括处理器、并且被配置为呈现用户设备的对话智能体应用程序界面,其中用户设备使用更新的中央模型来确定对问询的响应。在这种情况下,代替中央计算设备提供包括经过训练的中央模型以响应用户的实时问询的助手智能体,中央模型可以部署在用户的设备上,例如智能手机、平板或膝上型计算设备。
在一个示例实施例中,计算系统包括计算设备,该计算设备包括处理器,该处理器被配置为:从在计算设备上执行的第一初始学习模型接收表示对应于敏感信息的第一上下文的第一上下文信息;将第一上下文信息输入在计算设备上执行的第二初始学习模型;并使用第二初始学习模型来基于第一上下文信息确定响应于敏感信息的回复信息。
在一个实施例中,计算设备的处理器还可以被配置为:通过使用第二初始学习模型来基于第一上下文信息、和表示对应于回复信息的第二上下文的第二上下文信息确定更新的上下文信息;并将更新的上下文信息从第二初始学习模型传输到第一初始学习模型。
在一个实施例中,处理器还可以被配置为:基于回复信息训练第二初始学习模型以得到更新的第二学习模型。可以不使用输入到初始学习模型的敏感信息来训练得到更新的第二学习模型的学习模型。
在一个实施例中,第一初始训练模型和第二初始训练模型包括预训练中央语言模型。
在一个实施例中,可以将对应于更新的第二学习模型的参数与来自其它模型的参数组合以得到更新的中央学习模型。
在一个示例实施例中,非暂态机器可读介质可以包括可执行指令,当由包括对第一初始学习模型和对第二初始学习模型的访问的计算设备的处理器执行时,这些可执行指令促使执行的操作包括:将第一敏感信息输入第一初始学习模型;利用第一初始学习模型确定对应于第一敏感信息的第一上下文信息;将第一上下文信息传输到第二初始学习模型;利用第二初始学习模型,基于第一上下文信息确定响应于第一上下文信息的回复语言信息,并基于对应于回复语言信息的第二上下文信息确定第一更新的上下文信息;将第一更新的上下文信息传输到第一初始学习模型;将响应于第一更新的上下文信息的第二敏感信息输入到第一初始学习模型;利用第一初始学习模型来确定对应于第二敏感信息和第一更新的上下文信息的第三上下文信息;基于第一更新的上下文信息和第三上下文信息确定第二更新的上下文信息;并将第二更新的上下文信息传输到第二初始学习模型。
在一个实施例中,可执行指令促使执行的操作还包括:基于第一上下文信息、第二上下文信息和第三上下文信息训练第二初始学习模型以得到更新的第二学习模型。
在一个实施例中,可执行指令可以被配置为:不基于第一敏感信息或第二敏感信息来训练第二初始学习模型。在另一个实施例中,可执行指令可以被配置为:不基于第一敏感信息来训练第二初始学习模型,但基于第二敏感信息来训练第二学习模型。
在一个实施例中,可执行指令被配置为:将更新的第二学习模型提供给参数服务器以用于训练中央学习模型来得到更新的中央模型。
附图说明
图1示出了网络环境中的聊天机器人系统。
图2示出了使用两侧建模来训练聊天智能体模型的实施例系统。
图3示出了使用两侧建模来训练聊天智能体模型的实施例方法。
图4示出了使用具有来自多个数据持有者的参数的两侧建模来训练聊天智能体模型的实施例系统和方法。
图5A示出了在网络上使用由两侧建模训练的聊天智能体模型的实施例系统。
图5B示出了使用由从用户设备运行的两侧建模训练的聊天智能体模型的实施例系统。
图6示出了使用由两侧建模训练的聊天智能体的实施例方法。
图7示出了计算机环境。
图8示出了方法实施例的框图。
图9示出了系统实施例的框图。
图10示出了可以在机器可读介质中实施的方法的框图。
具体实施方式
作为预备事项,本领域技术人员将容易理解,本实施例易于广泛实用和应用。除了在本文描述的那些之外,本申请的许多方法、实施例和修改,以及许多变化、修改和等效布置对于本申请的各种实施例的实质或范围来说是显而易见的或具有合理暗示的。
因此,虽然本申请已在本文中关于各种实施例进行了详细描述,但是应当理解,本公开对由各种实施例表达的一个或多个概念来说仅是说明性的和示例性的,并且仅出于提供完整且能够公开的目的。以下公开即不旨在也不应被解释为限制本申请,或以其它方式排除任何此类其它实施例、适应、变化、修改和等效布置,本文描述的本实施例仅由所附权利要求及其等价物所限制。
如在本公开中使用的,在一些实施例中,术语“组件”、“系统”等旨在指代或包括计算机相关实体或与具有一个或多个特定功能的操作装置相关的实体,其中实体可以是硬件、硬件和软件的组合、软件、或正在执行的软件。作为示例,组件可以是但不限于:在处理器上运行的进程、处理器、对象、可执行文件、执行线程、计算机可执行指令、程序和/或计算机。作为说明而非限制,在服务器上运行的应用程序和服务器二者都可以是组件。
一个或多个组件可驻留在进程和/或执行线程内,并且组件可定位在一台计算机上和/或分布在两台或多台计算机之间。此外,这些组件可以从存储有各种数据结构的各种计算机可读介质执行。组件可以通过本地和/或远程进程通信,例如根据具有一个或多个数据包的信号(例如,来自一个组件的数据通过该信号与本地系统、分布式系统、和/或跨网络(例如互联网)与其它系统中的另一个组件交互)。作为另一个示例,组件可以是具有由电气或电子电路操作的机械部件提供的特定功能的装置,该电气或电子电路由处理器执行的软件应用程序或固件应用程序操作,其中处理器可以在装置内部或外部并且执行软件或固件应用程序的至少一部分。作为又一个示例,组件可以是通过没有机械部件的电子组件提供特定功能的装置,电子组件可以在其中包括处理器以执行至少部分地赋予电子组件功能的软件或固件。尽管已经将各种组件示为单独的组件,但是应当理解,可以将多个组件实现为单个组件,或者可以将单个组件实现为多个组件,而不背离示例实施例。
如本文所使用的,术语“促进(facilitate)”在系统、设备或组件的上下文中,就复杂计算环境的性质而言“促进”一个或多个动作或操作,其中一些计算操作可能涉及多个组件和/或多个设备。可能涉及或可能不涉及多个组件和/或多个设备的动作的非限制性示例包括:发送或接收数据、在设备之间建立连接、确定中间结果以获得结果等。在这点上,计算设备或组件可以通过在完成操作中发挥任何作用来促进该操作。因此应当理解,当本文描述组件的操作时,在将操作描述为由组件促进的情况下,可以可选地通过一个或多个其它计算设备或组件的协作来完成该操作,例如但不限于传感器、天线、音频和/或视频输出设备、其它设备等。
此外,可以将各种实施例实现为使用标准编程和/或工程技术生成软件、固件、硬件或它们的任何组合,以控制计算机来实现所公开的主题的方法、装置或制品。如本文所使用的,术语“制品”旨在涵盖可从任何计算机可读(或机器可读)设备或计算机可读(或机器可读)存储/通信介质访问的计算机程序。例如,计算机可读存储介质可以包括但不限于:磁存储设备(例如硬盘、软盘、磁条)、光盘(例如压缩盘(CD)、数字多功能盘(DVD))、智能卡和闪存存储设备(例如卡、棒、钥匙驱动器)。当然,本领域技术人员将认识到可以对这种配置进行许多修改而不脱离各种实施例的范围或精神。
两侧建模框架可以使用生成预训练转换器(Generative Pre-trainedTransformer,“GPT”)模型(例如GPT、GPT-2、GPT-3或类似模型)来基于可以分布在多个计算设备、存储设备等之间的数据集训练中央语言模型,而不暴露来自任何分布式计算设备、存储设备等的话语。在一个实施例中,数据集可以分布在不同的计算系统之间,并且中央模型可以分布在不同的计算系统之间,这些计算系统可以位于不同数据中心或其它位置。分布数据集的计算系统可以是分布中央模型的相同或不同的计算系统。数据所有者/持有者(“D”)可以初始化两个GPT模型,可以将这两个GPT模型其分类为用户侧GPT模型和助手侧GPT模型。对于对应于数据持有者D的会话(“C”),用户侧GPT模型仅在本地对用户的话语进行建模,而助手侧GPT对助手侧生成的话语进行建模,并根据从用户侧GPT模型或助手侧GPT模型接收的先前上下文生成回复。可以由对应于数据持有者的助手侧模型根据联合模型训练中央模型。在已经训练中央模型之后,中央模型可以用于生成对从用户接收的问询的回复。中央模型可以包括与训练前的用户侧GPT模型和助手侧模型相同的模型。为方便讨论,用户侧GPT模型可以被称为用户模型,并且助手侧GPT模型可以被称为助手模型。中央模型和助手模型可以在相同的计算设备或不同的计算设备上执行。应当理解,由于在训练时已经完善用户模型和助手模型,所以用户模型可以被称为更新的用户模型,并且助手模型可以被称为更新的助手模型。数据持有者D可以包括已经或即将使用对应于多个广泛主题(例如:维修、咖啡、电影、汽车、电话等)之一的会话数据来训练的用户GPT模型。数据持有者D可以包括已经或即将使用对应于多个广泛主题(例如:维修、咖啡、电影、汽车、电话等)之一的会话数据来训练的助手GPT模型。
现在转向附图,图1示出了系统2,该系统2促进用户4使用用户设备6(可以是移动设备、平板电脑、膝上型电脑等)来提供聊天应用程序8的界面以与聊天机器人应用程序10沟通,该聊天机器人应用程序10可以通过通信网络14在可以包括服务器的网络计算系统12上运行。当部署用于支持或响应用户设备消息的服务时,聊天机器人应用程序10可以响应于用户的问询或其它消息提供自动回复消息;聊天机器人应用程序可以包括已经基于对应于数据持有者敏感信息的信息或数据进行训练的经训练的中央模型。经训练的中央模型可以包括参数服务器(或者参数服务器可以包括经训练的中央模型),并且经训练的中央模型可以根据联合过程(例如FedAverage)来训练。(FedAverage可包括用于训练中央模型的已知过程,该过程部分基于在远离正在训练的中央模型的多个模型处生成的消息。)在一个实施例中,聊天机器人应用程序10的中央模型可以使用从用户设备6传输的上下文数据来训练。在另一个实施例中,中央模型可以基于已经存档的会话数据,其中已经存档的会话数据包括可能已经在用户设备和其它聊天应用程序(例如,可能已经根据经训练的语言模型或由人类操作的企业内部帮助台聊天应用程序)之间的会话期间生成的先前(例如在训练中央模型之前的)问询和响应。在一个实施例中,用户设备6可以将对应于问询消息的问询上下文16发送到助手模型,该问询消息包括由用户4给出的话语(例如用户以文本或口头方式输入的语言信息),并且助手模型可以将回复上下文18传送给用户设备。在另一个实施例中,可以基于由数据持有者存储或维护的先前对话会话的消息语料库中的敏感信息来生成问询上下文。在一个实施例中,可以在训练期间由用户侧模型使用双模型建模技术生成问询上下文16并由此(而不是由用户设备6)传输到助手侧模型;可以在训练期间由助手侧模型使用双模型建模技术生成响应上下文18并且由此(而不是由用户设备12)传输到用户侧模型。
通信网络14可以包括公共网络,例如因特网。通信网络14可以包括半私有网络,例如向授权的用户组(例如企业的雇员)提供通信服务的内联网。通信网络可以包括促进机器设备之间通信的网络,例如连接计算模块和车辆(例如汽车)的设备的控制器访问网络(“CAN”)。在一个实施例中,从车辆生成的机器数据可以是用于训练中央模型的敏感信息,该中央模型将用于自动驾驶应用程序。
聊天应用程序8可以为用户4提供界面以输入消息或问询(例如文本消息),这些消息或问询可以包括想要系统12回答的一个或多个问题,系统12可以包括或有权访问聊天智能体应用程序。聊天应用程序8可以为用户4提供界面,以查看消息、或作为由聊天智能体应用程序10提出的问题的回复的响应。用户4输入聊天应用程序8的消息可以通过一种或多种类型的接口输入,包括键区、键盘(硬件、或作为显示界面的一部分而虚拟地提供)、捕获用户4的话语的麦克风、下拉框、文本框、确定的消息列表等。
现在转向图2,该图示出了通过训练对应于数据持有者26A-n的用户模型22A-22n和相应的助手模型24A-24n来使用双模型建模技术训练聊天智能体的系统20。数据持有者26A被示为与广泛主题“电影”相关;数据持有者26B被示为与广泛主题“咖啡”相关;数据持有者26n被示为与广泛主题“维修”相关。在训练过程期间,上下文16和18可以在用户模型22A-22n和对应的助手模型24A-24n之间来回传递。经过训练的助手模型26可用于更新参数服务器12的中央模型以生成更新的中央模型,使得更新的中央模型包括基于在训练过程期间生成或确定的上下文16和18而确定的更新的参数/梯度。当聊天机器人应用程序被部署用于提供对实时用户问询的实时响应时,更新的中央模型可以用于生成响应于用户问询的回复消息和聊天机器人应用程序10的消息。由数据持有者26存储和拥有的会话数据组,可以被称为会话数据的数据集或语料库,并且可以包括问询和回复消息,可以用于训练用户模型和助手模型。
在图2中,三个数据持有者:电影、咖啡、维修各自“拥有”用户和与其对应的助手之间的会话。数据持有者可以使用两个模型(例如两个GPT-2模型)来分别建模用户和助手的话语。在一个实施例中,仅针对助手的模型参数/梯度而执行FedAvg过程。其结果是,数据持有者可以更好地获得他们自己的自动回复助手,以进一步改善他们的服务,并且用户能够通过一轮简单的用户侧GPT-2推理来获得回复,而不发送原始话语。
FedAvg过程通常可以结合用于客户端/用户侧模型的本地随机梯度下降技术(“SGD”)和服务器上参数的平均。在传统的联合学习实现中,多个客户端中的每一个都下载整个模型,并且然后在训练后上传更新的模型。这个过程的通信成本通常很高,但可以通过一种或多种技术来解决。例如,可以使用分布式SGD环境中的梯度压缩。
量化的SGD旨在权衡通信成本和收敛保证。稀疏化方法通过丢弃梯度的一些坐标并放大剩余的坐标来保持稀疏随机梯度的无偏性。另一种技术可以是偏置梯度压缩,包括SignSGD和基于数据引力的分类(“DGC”)稀疏化。SignSGD利用随机梯度的符号来在服务器和客户端之间执行1位压缩通信。梯度稀疏化的一个常见用途是减少从客户端模型到服务器模型的传输梯度的大小。梯度稀疏化可以包括发送大于阈值的梯度或梯度的绝对值或发送梯度的固定部分。与以前的稀疏化方法不同,DGC稀疏化发送大于阈值的梯度幅度,同时继续将本地梯度累积为可能在客户端设备上运行的本地/客户端模型。
为了简化训练如本文所述的面向任务的对话智能体的通信过程,可以使用发送梯度的固定部分的稀疏化技术,例如,助手模型和参数服务器传送根据幅度选择的固定比例的梯度。
面向任务的对话智能体/助手在向用户提供实时帮助方面变得越来越普遍。对话助手的示例包括:Google Home、Apple Siri和Microsoft Cortana。通常,面向任务的对话智能体由四个部分组成:自然语言理解(“NLU”)模块/功能、对话状态跟踪(“DST”)模块/功能、对话策略模块/功能和自然语言生成(“NLG”)模块/功能。对话智能体通常需要完成特定的任务,并且可能依赖领域。(术语“领域”可以指聊天会议期间的会话主题,例如如何诊断和纠正计算机故障。)NLU模块或函数促进后续部分或函数的预处理步骤。NLU模块将人类话语作为输入,并且通常识别以下三个任务:领域检测、意图确定和语义槽标记。DST模块是槽填充过程,其中对话状态由几个属性槽和值的组合表示。可以应用深度神经网络和循环网络来建模该过程。对话策略模块可以使用对话状态作为输入,并确定用于选择对话动作的策略。强化学习算法通常用于策略优化。对话状态可以被编码为Deep-Q网络(“DQN”)的特征向量。然后DQN输出实值向量,该实值向量的条目表示可能的对话行为的选择。NLG可以将对话行为转换为自然语言,这可以结合基于模板的确定。
如本文所述,端到端神经系统可以结合大规模预训练语言模型以使用GPT模型(例如GPT-2模型)的特征和属性来构建闲聊对话系统,该GPT模型根据联合过程训练聊天智能体或聊天机器人,但不将来自客户端/用户设备模型的原始话语、或不将包含在训练数据的语料库中的话语传输到促进聊天智能体响应来自用户的问询的模型。
一组数据持有者可以定义为D={D1,D2,...,DN},其中N是数据持有者的总数。每个数据持有者Di“拥有”或关联到会话数据集其中ni是指与给定的Di相关联的数据集的大小。每个会话C由其用户和助手之间的一系列话语组成,这些话语分别输入到相应的用户模型和助手模型。话语分别用于训练本地用户模型和助手模型,然后使用助手模型训练中央模型,该中央模型可以促进具有与数据持有者Di(例如医疗服务提供商、金融服务提供商、维修建议提供商、零售商等)相对应的确定的准确度级别的在线聊天机器人或聊天智能体的操作。
可以基于GPT-2模型的两侧建模框架促进了聊天智能体的训练,而不会将提供给用户侧模型的话语透露给助手侧模型,,或者不会将提供给助手侧模型的话语透露给用户侧模型。数据持有者Di可以初始化两个GPT-2模型,分类为用户侧GPT-2和助手侧GPT-2。对于任意第j个会话用户侧GPT-2仅对用户话语建模,而助手侧GPT-2负责对助手话语建模或根据先前上下文生成回复。应当理解,话语可能不是训练期间的实时话语,而可能是先前进行和存储的会话的一部分,并且可能表示在场智能体和真人/用户之间的会话消息。
传统上,为了训练具有多轮话语的模型,例如GPT-2模型,将所有先前的话语串联在一起,由<eos>标记(token)分隔,作为使用语言建模(“LM”)模型训练当前话语的上下文。基于当前话语U={w0,w1,...,w|U|-1}和先前上下文c,LM模型的目标是最大化U的每个单词标记的似然度:
可以通过使用一次性过程最小化生成的概率分布和基本真实话语U1:|U|-1+{<eos>}之间的交叉熵损失来实现最大化似然度L(U)。除LM之外,GPT-2模型可以由转换器解码器块的层组成,在当前位置只能通过屏蔽未来的键和值来问询(Q)先前位置的键(K)和值(V),可以表示为:
如本文所述,FedAssistant模型或助手侧模型可以应用常规方法来训练用户侧和助手侧GPT模型二者,但是通过利用如本文参考图3所示出和描述的GPT模型的转换器块的过去的键和值来避免在用户侧和助手侧GPT模型之间传输原始话语。本文描述的两侧建模的好处是基于先前的键和值足以作为当前话语建模的上下文来促进和预测的;未来的键和值通常被转换器解码器块屏蔽。因此,不是将当前话语(目前正在处理的当前消息,但之前可能已存储在会话话语语料库中)从用户侧模型转发到助手侧模型、或从助手侧模型转发到用户侧模型,而是仅将基于并且对应于该话语的键和值(在本文中可以将这些键和值称为与话语相关联的上下文)从模型一侧转发到另一侧。例如,为了建模第三话语,使用第一话语和第二话语的所有单词标记的键和值。这促进助手侧模型或FedAssistant模型使用过去的键和值来训练自己,而不需要第三话语的原始数据。此外,GPT模型训练和生成推理的速度提高了,因为该模型不需要计算上下文的值和所有先前的键。
为了训练两个GPT-2模型(用户和助手),在开始时,用户侧GPT-2建模其第一话语U0(来自语料库数据),并将相应的计算的键和值作为上下文c发送到助手侧。然后助手侧GPT-2基于上下文c建模响应U1,并将U0和U1二者的键和值作为更新的上下文c(本文可以将其称为第二上下文)传输给用户侧。这个过程不断重复,直到所有话语都被输入到模型中,并且每个模型都通过语言建模来更新自己的参数。如果助手侧开始会话,则客户端侧建模U0,并且训练过程类似。与通过所有话语来更新GPT-2的先前工作不同,FedAssistant要求用户侧仅基于来自训练语料库的用户话语来训练其模型,而要求助手侧仅针对来自训练语料库的助手话语来更新其参数。训练后,用户侧GPT-2可以分发给其它用户,而其数据持有者持有助手侧模型。
本文描述的两侧建模技术提供了几个优点。新技术不需要在用户侧模型和助手侧模型之间传输原始数据,因此敏感会话中包含的信息和其它敏感数据保密(即,拥有用于训练助手侧模型的敏感数据的数据持有者不会将敏感数据暴露给第三方)。此外,与其它聊天机器人或聊天智能体训练实施不同,资源有限的用户设备可能不必在本地逐字生成响应;生成响应可以由助手侧模型执行。此外,服务提供商(例如数据持有者)可以控制生成的响应。
在一个方面,除了上述优点之外,助手侧模型或FedAssistant模型的生成性能可以通过结合参数服务器执行用于助手侧模型的FedAvg算法来增强。在训练之前,数据持有者可以用相同的参数初始化他们对应的用户侧和助手侧模型(例如,可以由数据持有者拥有的会话数据的大语料库来预训练用户模型和助手模型)。在使用数据持有者拥有的数据语料库(可能包括一批会话数据)训练用户模型和助手模型之后,数据持有者可以将助手侧模型的更新的版本(即经过训练的版本)发送到参数服务器,参数服务器可以对来自一个或多个数据持有者的多个助手侧模型的更新(例如参数/梯度)取平均,以生成更新的服务器参数。然后可以将更新的服务器参数发送回客户端(例如用户模型),用于一个或多个数据持有者的用户模型和助手模型的新一轮或下一轮训练。可以继续迭代这种训练直到达到某些时期(epoch),或者直到满足某些其它标准。
由于必须从助手模型向参数服务器传输GPT模型的大量可训练参数(例如,对于GPT-2模型为数亿个),因此对GPT模型执行FedAvg可能会导致高通信成本。如果FedAvg使用所有参数,对于每一轮FedAvg,参数服务器可能需要下载先前的权重并为所有数据持有者上传平均的新权重。因此,参数服务器带宽可能成为参数服务器使用来自FedAssistant助手侧模型的参数进行纯联合学习的瓶颈。
在一个实施例中,为了降低传输参数的通信成本,FedAssistant助手模型可以使用压缩,例如稀疏化(例如Top-k梯度稀疏化)。在一个实施例中,对于每个数据持有者和参数服务器,Top-k梯度稀疏化可以选择k个最大幅度梯度,因此只传输来自多个助手侧模型的k个梯度并用于FedAvg。可以在客户侧(在本例中为FedAssistant助手侧模型)选择Top-k梯度上传到参数服务器,并且可以在对本地梯度进行平均后在服务器侧选择Top-k梯度以下载到客户端。
现在转向图3,该图示出了用于训练助手模型和用户模型的方法300。在步骤301,用户模型22从对应于来自用户设备的消息的数据集语料库接收问询消息305。用户模型22确定对应于问询301的键和值,并将键和值组合到第一上下文16A中。在步骤302,助手模型24基于第一上下文16A生成响应消息310,并且生成对应于消息310的键和值,该键和值被组合到第二上下文18B中作为回复上下文。第二上下文18B可以包括第一上下文16A以及对应于消息310的键和值。在步骤303,用户模型22基于第二上下文18B建模下一个问询消息315,并生成对应于消息315的键和值,该键和值被组合到第三上下文16C中作为问询上下文。第三上下文16C可以包括第一上下文16A、第二上下文18B、以及对应于消息315的键和值。在步骤302,助手模型24可以基于第三上下文16C建模响应消息320,并且生成对应于消息320的键和值,该键和值被组合到第四上下文18D中作为回复上下文。第四上下文18D可以包括第一上下文16A、第二上下文18B、第三上下文16C、以及对应于消息320的键和值。分别地,问询消息305和315(可以是问题或响应的形式)不从用户模型传输到助手模型,或回复消息310和320(可以提出问题、或可以提供对问询消息中提出的问题的响应)不从助手模型传输到用户模型。来自训练语料库的问询消息或响应消息可以称为话语。
对于给定的数据持有者,用户侧模型和助手侧模型分别建模用户和助手的话语。模型的转换器解码器块的键和值作为上下文传输并且可以用于确定下一个话语。因此,用户侧模型和助手侧模型之间不会传递原始文本。
算法1示出了算法的示例,该算法可用于通过Top-k稀疏化为FedAssistant执行联合学习。
输入:客户端C1,...,CN
输入:用于本地训练的轮次b
输入:客户端的数量N
输入:优化函数SGD
输入:训练部署m
输入:初始参数w={w[0],w[1],...,w[N-1]}
算法1
现在转向图4,该图示出了一种可以用于使用两侧建模技术在参数服务器12或另一个计算设备处训练中央模型的实施例方法400。用于训练用户侧模型22A-22n和助手侧模型24A-24n的数据可以是数据集语料库30的一部分,其中可包括数据所有者希望对其它数据所有者和其它实体或个人保密的敏感数据。图中示出了多个数据持有者26A-26n,但为了清楚起见仅示出了一个数据集30或敏感数据的语料库;可以理解,数据持有者可能不会允许另一个数据持有者访问其敏感数据的语料库,并且每个数据持有者26A-26n均具有他们自己的数据集语料库,以基于其相应的一个或多个数据集来训练用户模型和助手模型。
语料库30示为具有多个会话32A-32n。对于每个会话32,语料库30可以包括多个问询消息34和多个响应消息26,其中响应消息可以对应于相应的问询消息。
在步骤405,将来自一个或多个语料库30的数据发送到对应于相应数据所有者26A-26n的用户模型和助手模型。如上所述,尽管仅示出了一个数据集30,但如果数据所有者26A-26n不同(例如单独的实体,例如银行、医疗服务提供商、在线零售商等),则通常会有各自不同的数据集。如图所示,已将用户模型22A和助手模型24A部署到数据所有者26A,以供数据所有者26A进行训练步骤410。因此,不存在与用户模型22A和助手模型24A二者共享敏感数据的隐私问题,因为在步骤410这两个模型都由敏感数据的所有者(优选地,在除了给定数据持有者授权的用户之外的任何人都不能访问的计算系统内)执行。在步骤410,用户模型22A和助手模型24A可以如本文别处描述的那样训练为,由用户模型确定对应于存储在语料库30中的用户问询消息34的问询上下文并将问询上下文发送到助手模型,并且由用户模型24A确定对应于与问询消息相对应的响应消息36的回复上下文并且将回复上下文发送给用户模型。
当用户模型22A和助手模型24A已经处理了消息34和36以及相应的上下文,使得用户模型和助手模型的初始参数已经根据步骤410的训练而更新时,在步骤415可以将更新的参数转发到参数服务器12处的中央模型。参数服务器12可以从数据所有者26A-26n接收多个更新的参数。在一个实施例中,只有助手模型24A-24n可以将更新的参数转发到服务器12处的中央模型。在另一个实施例中,用户模型22A-22n和助手模型二者都可以将它们对应的更新的参数转发到参数服务器12。
在步骤420,参数服务器12可以对从用户模型22A-22n接收的更新的参数、或从助手模型24A-24n接收的更新的参数执行FedAvg算法。对从用户模型22A-22n接收的更新的参数、或从助手模型24A-24n接收的更新的参数执行FedAvg算法或过程的结果是可以创建更新的中央模型。在步骤425,可以将更新的中央模型38转发给数据持有者26A-26n,并且可以用来自语料库30的数据重新训练模型22A-22n和24A-22n,但是现在从在更新的中央模型38中接收的更新的参数(而不是最初是用户模型22A-22n和助手模型24A-24n的一部分的初始参数)开始。步骤405-425可以重复确定的次数,以实现用户模型22A-22n或助手模型24A-24n的期望水平的再训练/细化(retraining/refinement)。在一个实施例中,仅对一个或多个助手模型的参数执行FedAvg算法/过程,而不对用户模型22A-22n的参数执行FedAvg。因此,可以仅基于助手侧模型参数来更新中央模型。
现在转向图5A,该图示出了一个实施例,其中使用在用户设备6上运行的用户聊天助手应用程序8的用户4A经由通信网络14访问聊天机器人/聊天助手/聊天智能体34。通信网络14可以是公共网络(例如互联网)或专用网络(例如由企业操作的专用网络)。(企业可以是拥有用于如本文其它地方所述的训练用户侧模型和助手侧模型的数据的数据持有者。)聊天智能体34可以使用可以运行或托管在服务器37上的更新的中央模型38,服务器37可以是如本文别处讨论的参数服务器、或可以是不包括参数服务器的计算系统的一部分。在所示的实施例中,可以将由用户4A输入到聊天应用程序8的界面中的问询消息通过网络14传输到服务器37,其中聊天智能体应用程序34确定要发送的响应消息以答复该问询消息,聊天智能体应用程序可以使用更新的中央模型38确定该响应消息,因此回复消息可以基于更新的中央模型的更新的参数,而更新的中央模型又可以基于经过训练的助手侧模型,这些助手侧模型是根据此处参考其它附图描述的两侧建模技术来训练的。因此,尽管可能没有使用敏感数据来训练助手侧模型,而该助手侧模型又被用于获得更新的中央模型38,但是当用户寻求响应于他或她的问询消息的实时答案时,用户4A输入的敏感数据可以由聊天助手34提供。在另一个实施例中,作为将用户4A输入到用户聊天应用程序6中的敏感信息包括在从用户设备8发送到服务器37的问询消息中的取代,可以改为将基于用户输入的敏感信息的上下文传输到服务器。因此,由于更新的中央模型是基于对应于敏感数据的上下文而训练的,这些敏感数据是训练语料库/数据集的会话的一部分,但不根据上下文对应的实际敏感信息来训练,所以中央模型也会生成对包括上下文或上下文信息的问询消息的回复消息,这些上下文或上下文信息对应于寻求对他或她的问询的实时响应的用户输入的敏感信息,而敏感信息实际上没有从用户设备8转发到计算设备37。
现在转向图5B,该图示出了一个实施例,其中运行在用户设备6上的用户聊天应用程序8可以通过聊天应用程序提供对来自用户的包括敏感信息的问询的响应,而不从用户设备传输敏感信息。用户设备6可能已经接收到更新的中央模型,例如上述更新的中央模型38。用户聊天应用程序8可以访问用户设备6上的更新的中央模型并且基于输入到聊天应用程序的敏感信息生成问询上下文,并且在用户设备上运行的更新的中央模型可以基于上下文而不是基于敏感信息来生成对问询上下文的响应。
现在转向图6,该图示出了实施例方法600,该方法可用于使用两侧建模技术或框架来训练中央模型,不将输入到两侧建模框架的一个模型的敏感信息共享到两侧建模框架的另一个模型。方法600开始于步骤605。在步骤610,将中央学习模型部署到两侧建模框架的模型。两侧建模框架的模型可以包括用户模型和助手模型。中央模型和两侧建模框架的两个模型可以包括相同的学习模型(可以基于例如GPT-2模型),其中使用相同的参数/梯度来初始化两个模型和中央模型。为了训练用户模型和助手模型,可以使用会话数据的语料库。会话数据可以包括敏感信息,并且可以由希望保护可能在会话期间说出敏感信息的用户或实体的敏感信息的隐私的数据所有者或数据持有者拥有。应当理解,会话信息的语料库可以包括先前存储的会话信息,或者可以包括在训练模型时实时生成的会话话语。
在步骤615,将来自语料库的用户消息提供给用户模型,并且将响应于用户消息的回复消息提供给助手模型。应当理解在训练期间,用户模型和助手模型可以在同一计算设备上执行、可以在可以是同一计算系统的一部分的不同计算设备上执行、或者用户模型和助手模型可以在分别是可以通过通信网络耦合的不同计算系统的一部分的不同计算设备上执行。用户消息可以被称为问询并且回复消息可以被称为响应于问询的响应消息。问询及其响应可能已经在用户和数据所有者的智能体之间的会话期间生成。在会话期间与用户互动的数据所有者的智能体(会话的消息可以是会话语料库的一部分)可以是在聊天框中打字的现场人员,或者可以是响应于用户的问询而生成回复的自动聊天智能体。如前所述,用户消息或问询以及聊天智能体响应可以是存储在语料库会话中的会话的一部分。在步骤617,语料库会话的第一消息准备好接受评估,并由用户模型评估。
在步骤620,用户模型可以处理来自消息语料库的给定会话的第一消息(可以被称为用于训练用户和助手模型的会话的第一问询),以确定对应于语料库的第一用户消息或第一问询的第一用户上下文或第一问询上下文。第一用户上下文可以包括上下文信息,例如用户模型基于会话的第一问询的语言而生成的键和值。(类似地,第一助手上下文可以包括由助手模型生成的键和值信息,该助手模型对应于响应于第一问询的第一响应消息的语言。)在步骤622,可以基于所确定的上下文来更新用户模型的参数。在步骤625,将第一用户上下文传输到助手模型。作为在步骤620分析的语料库会话的一部分的实际语言在步骤625不传输到助手模型。
在步骤630,助手模型或聊天智能体模型可以从会话消息的语料库中确定对第一问询的第一响应。在一个实施例中,作为确定第一响应消息的一部分,助手模型可以分析在步骤625从用户模型传送的第一用户上下文。在步骤630确定的第一响应不是通过分析在步骤620用于生成第一用户上下文的会话的实际语言(可能是敏感信息)来确定的。在步骤635,助手侧模型确定对应于在步骤630响应于第一用户上下文而确定的第一响应的第一助手上下文。第一助手上下文可以包括第一用户上下文。在步骤637,可以基于确定的第一助手上下文来更新助手模型的参数。在步骤640,将对应于在步骤630生成的响应的上下文传送到用户模型。在步骤645,确定是否存在更多会话消息。步骤645的确定可以由用户模型执行,或者在步骤640从助手模型发送的响应消息可以包含对用户模型的指示:没有为了基于会话来训练用户模型和助手模型而需要处理的会话的其它消息。如果在步骤645确定为是,则在步骤650选择语料库中会话的第二组问询/响应消息以供用户模型和助手模型评估,并且对于会话的其它问询/响应消息,重复步骤628到640。应当理解,对于第二问询/响应消息集,在步骤620-640的第一次迭代期间对第一用户问询、第一用户上下文、第一助手响应和第一助手上下文的引用将分别参考用于第二次迭代的步骤620-640作为第二用户问询、第二用户上下文、第二助手响应和第二助手上下文,以及将第三问询/响应消息集设置为第三用户问询、第三用户上下文、第三助手响应、第三助手上下文等。
如果在步骤645确定为否(例如,会话中没有要处理的更多消息),则方法600前进到步骤655。在步骤655,确定是否要执行步骤620到645的进一步迭代。例如,可以配置训练操作,使得执行步骤620到645的确定次数的迭代,以提高在训练期间由用户模型和助手模型确定的参数的准确性。如果在步骤655确定为是(要执行更多的迭代),则在步骤660,训练操作将会话的消息设置为要评估的第一消息,并且方法600返回到步骤620,并且重复步骤620到645/650。应当理解,在重新执行步骤620到645/650期间要评估的会话可以是在先前迭代期间评估的相同会话、或者可以是与在先前迭代期间评估的会话不同的会话。
如果在步骤655确定为否(例如,不执行步骤620到645/650的进一步迭代),则方法600前进到步骤665。在步骤665,在执行步骤620-655期间尚未更新的中央模型可以用来自可能已经执行步骤617到655中的一些或全部的一个或多个模型的参数来更新。在一个实施例中,仅基于来自一个或多个助手侧模型的参数来更新中央模型。在一个实施例中,在步骤665更新中央模型可以包括:对于已经执行方法600的一个或多个先前步骤的一个或多个助手模型的一个或多个参数/梯度,基于一个或多个值、键或其它信息执行算法以生成更新的中央模型。在一个实施例中,在步骤665更新中央模型可以包括:对于已经执行方法600的一个或多个先前步骤的一个或多个用户模型的一个或多个参数/梯度,基于一个或多个值、键或其它信息执行算法以生成更新的中央模型。在步骤665执行的算法可以包括FedAvg算法。在步骤670,可以将更新的中央模型部署到用户设备或可通过通信网络访问的计算机系统设备,以促进用户从聊天智能体或聊天机器人获得帮助,(这可以通过在物理上或逻辑上远离用户的服务器上运行的更新的中央模型来促进),而无需用户将敏感信息传输到远程定位的更新的中央模型。方法600在步骤675结束。
为了向本文描述的各种实施例提供额外的上下文,图7和以下讨论旨在提供对其中可以实现本文描述的实施例中的各种实施例的合适的计算环境700的简要概括描述。尽管上面已经在可以在一台或多台计算机上运行的计算机可执行指令的一般上下文中描述了实施例,但本领域技术人员将认识到实施例还可以结合其它程序模块、和/或作为硬件和软件的结合来实现。
通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构等。此外本领域技术人员将理解,这些方法可以用其它计算机系统配置来实践,包括单处理器或多处理器的计算机系统、小型计算机、大型计算机、IoT设备、分布式计算系统,以及个人计算机、手持计算设备、基于微处理器的或可编程的消费电子产品等,其中每一个都可操作地耦合到一个或多个相关联的设备。
本文所示的实施例也可以在分布式计算环境中实施,其中某些任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地和远程的存储器存储设备中。
计算设备通常包括多种介质,多种介质可以包括计算机可读存储介质、机器可读存储介质和/或通信介质,这两个术语在本文中彼此不同地使用如下。计算机可读存储介质或机器可读存储介质可以是计算机可以访问的任何可用存储介质,并且包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读存储介质或机器可读存储介质可以结合用于存储信息(例如计算机可读或机器可读指令、程序模块、结构化数据或非结构化数据等)的任何方法或技术来实现。
计算机可读存储介质可以包括但不限于:随机存取存储器(RAM)、只读存储器(ROM)、电可擦可编程只读存储器(EEPROM)、闪存或其它存储技术、光盘只读存储器(CDROM)、数字多功能盘(DVD)、蓝光光盘(BD),或其它光盘存储装置、磁带、磁条、磁盘存储装置,或其它磁性存储设备、固态驱动器或其它固态存储设备,或可用于存储所需信息的其它有形和/或非暂态介质。在这方面,本文中应用于存储装置、存储器或计算机可读介质的术语“有形”或“非暂态”应理解为仅将传播瞬态信号本身修改排除,并且不放弃对所有不仅传播瞬态信号本身的标准存储装置、存储器或计算机可读介质的权利。
一个或多个本地或远程计算设备可以(例如通过访问请求、问询或其它数据检索协议)访问计算机可读存储介质,以进行与介质存储的信息相关的各种操作。
通信介质通常在数据信号(例如调制数据信号,例如载波或其它传输机制)中体现计算机可读指令、数据结构、程序模块或其它结构化或非结构化数据,并且包括任何信息传递或传输介质。术语“调制数据信号”或信号是指具有以将信息编码在一个或多个信号中的方式来设置或改变的一个或多个特征的信号。作为示例而非限制,通信媒体包括有线媒体,例如有线网络或直接有线连接,以及无线媒体,例如声学、RF、红外线和其它无线媒体。
再次参考图7,用于实现本文所描述方面的各种实施例的示例环境700包括计算机702,计算机702包括处理单元704、系统存储器706和系统总线708。系统总线708将包括但不限于系统存储器706的系统组件耦合到处理单元704。处理单元704可以是各种商用处理器中的任意种类并且可以包括缓存存储器。双微处理器和其它多处理器架构也可以用作处理单元704。
系统总线708可以是多种类型的总线结构中的任意种类,还可以互连到存储器总线(具有或不具有存储器控制器)、外围总线和使用多种商业上可用的总线架构中的任意种类的本地总线。系统存储器706包括ROM 710和RAM 712。基本输入/输出系统(BIOS)可以存储在非易失性存储器(例如ROM、可擦可编程只读存储器(EPROM)、EEPROM)中,其中BIOS包含(例如在启动期间)帮助在计算机702内的元件之间传输信息的基本例程。RAM 612还可以包括高速RAM,例如用于缓存数据的静态RAM。
计算机702还包括内部硬盘驱动器(HDD)714(例如EIDE、SATA)、一个或多个外部存储设备716(例如,磁软盘驱动器(FDD)716、记忆棒或闪存驱动器读取器、存储卡读取器等)和光盘驱动器720(例如,可以读取或写入CD-ROM盘、DVD、BD等)。虽然内部HDD 714被示为位于计算机702内,但内部HDD 714也可以配置为在合适的机箱(未示出)中供外部使用。此外,虽然未在环境700中示出,但固态驱动器(SSD)可用于补充或代替HDD 714。HDD 714、外部存储设备716和光盘驱动器720可以分别通过HDD接口724、外部存储接口726和光盘驱动器接口728连接到系统总线708。用于外部驱动器实现的接口724可以包括通用串行总线(USB)和电气和电子工程师协会(IEEE)1394接口技术中的至少一种或两种。其它外部驱动器连接技术在本文描述的实施例的考虑范围内。
驱动器及其相关联的计算机可读存储介质提供数据、数据结构、计算机可执行指令等的非易失性存储。对于计算机702,驱动器和存储介质以合适的数字格式容纳存储任何数据。尽管上面对计算机可读存储介质的描述是指各种类型的存储设备,但本领域的技术人员应该理解,计算机可读的其它类型的存储介质,无论是目前存在的还是将来开发的,都可以用于示例操作环境中,并且进一步地,任何这样的存储介质都可以包含用于执行本文描述的方法的计算机可执行指令。
一些程序模块可以存储在驱动器和RAM 712中,包括操作系统730、一个或多个应用程序732、其它程序模块734和程序数据736。操作系统、应用程序、模块和/或数据的全部或部分也可以缓存在RAM 712中。本文描述的系统和方法可以利用各种商业上可用的操作系统或操作系统的组合来实现。
计算机702可以可选地包括仿真技术。例如,管理程序(未示出)或其它中介可以模拟操作系统730的硬件环境,并且模拟的硬件可以可选地不同于图7中所示的硬件。在这样的实施例中,操作系统730可以包括托管在计算机702上的多个VM中的一个虚拟机(VM)。此外,操作系统730可以为应用程序732提供运行时环境,例如Java运行时环境或.NET框架。运行时环境是允许应用程序732在包括运行时环境的任何操作系统上运行的持续的执行环境。类似地,操作系统730可以支持容器,并且应用程序732可以是容器的形式,容器是轻量级的、独立的、可执行的软件包,包括例如代码、运行时、系统工具、系统库和应用程序的设置。
此外,计算机702可以包括安全模块,例如可信处理模块(TPM)。例如,使用TPM,引导组件会及时哈希下一个引导组件,并等待结果与安全值匹配,然后再加载下一个引导组件。该过程可以发生在计算机602的代码执行堆栈中的任何层(例如应用于应用程序执行级别或操作系统(OS)内核级别),从而在任何代码执行级别实现安全性。
用户可以通过一个或多个有线/无线输入设备,例如键盘738、触摸屏740和定点设备(诸例鼠标742)来将命令和信息输入计算机702。其它输入设备(未示出)可以包括麦克风、红外(IR)遥控器、射频(RF)遥控器或其它遥控器、操纵杆、虚拟现实控制器和/或虚拟现实耳机、游戏手柄、触控笔、图像输入设备(例如相机)、手势传感器输入设备、视觉运动传感器输入设备、情绪或面部检测设备、生物特征输入设备(例如指纹或虹膜扫描仪)等。这些和其它输入设备通常通过输入设备接口744连接到处理单元704,输入设备接口744可以耦合到系统总线708,但也可以通过其它接口连接,例如并行接口、IEEE1394串行接口、游戏接口、USB接口、IR接口、接口等。
监视器746或其它类型的显示设备也可以经由接口(例如视频适配器748)连接到系统总线608。除了监视器746之外,计算机通常包括其它外围输出设备(未示出),例如扬声器、打印机等。
计算机702可以使用经由有线和/或无线通信连接到一个或多个远程计算机(例如远程计算机750)的逻辑连接而在网络环境中操作。远程计算机750可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其它公共网络节点,并且尽管为了简洁起见,仅示出了存储器/存储设备752,但远程计算机通常包括相对于计算机702描述的许多或所有元件。所描绘的逻辑连接包括到局域网(LAN)754和/或更大的网络(例如广域网(WAN)756)的有线/无线连接。这种LAN和WAN联网环境在办公室和公司中很常见,并且促进企业范围的计算机网络(例如内部网),所有这些都可以连接到全球通信网络(例如互联网)。
当在LAN网络环境中使用时,计算机702可以通过有线和/或无线通信网络接口或适配器758而连接到本地网络754。适配器758可以促进到LAN 754的有线或无线通信,LAN754还可以包括LAN上设置的无线接入点(AP),用于以无线模式与适配器758通信。
当在WAN网络环境中使用时,计算机702可以包括调制解调器760或者可以通过用于在WAN 756上建立通信的其它方式(例如通过互联网)连接到WAN 756上的通信服务器。可以是内部或外部设备、以及有线或无线设备的调制解调器760可以通过输入设备接口744连接到系统总线708。在网络环境中,相对于计算机702或其部分描绘的程序模块可以存储在远程存储器/存储设备752中。应当理解,所示的网络连接是示例,并且可以使用在计算机之间建立通信链路的其它方式。
当在LAN或WAN联网环境中使用时,计算机702可以访问云存储系统或其它基于网络的存储系统,以补充或代替如上所述的外部存储设备716。通常,计算机702和云存储系统之间的连接可以分别例如由适配器758或调制解调器760通过LAN 754或WAN 756建立。在将计算机702连接到相关联的云存储系统时,外部存储接口726可以在适配器758和/或调制解调器760的帮助下管理由云存储系统提供的存储装置,如同管理其它类型的外部存储装置。例如,外部存储接口726可以被配置为提供访问云存储源的,如同这些源物理连接到计算机702。
可以操作计算机702,以与可操作地设置在无线通信中的任何无线设备或实体(例如打印机、扫描仪、台式和/或便携式计算机、便携式数据助手、通信卫星、与无线可检测标签相关的任何设备或位置(例如售货亭、报摊、商店货架等)和电话)通信。这可以包括无线保真(Wi-Fi)和无线技术。因此,通信可以是与传统网络一样的预定义结构,或者只是至少两个设备之间的自组织通信。
现在转向图8,该图示出了示例性实施例方法800,包括:在框805,从在包括处理器的计算设备上执行的第一初始学习模型接收表示对应于敏感信息的第一上下文的第一上下文信息;在框810,将第一上下文信息输入到在计算设备上执行的第二初始学习模型;以及框815,使用第二初始学习模型,基于第一上下文信息确定响应于敏感信息的回复信息。方法800还可以包括:在框820,通过使用第二初始学习模型,基于第一上下文信息和表示与回复信息对应的第二上下文的第二上下文信息来确定更新的上下文信息;并且在框825,将更新的上下文信息从第二初始学习模型传输到第一初始学习模型。方法800还可以包括:在框830,由第二计算设备根据联合学习模型训练中央学习模型,以基于响应于从不同助手学习模型接收的不同上下文而生成的不同回复信息来生成更新的中央模型,这些不同上下文对应于不同用户学习模型和不同助手学习模型之间的不同会话对话。方法800还可以包括:在框835,利用包括处理器的中央计算系统的中央计算设备确定对从被配置为呈现用户设备的对话智能体应用程序界面的用户设备接收的问询的响应;并且在框840,利用中央计算系统向用户设备的对话智能体应用程序界面发送响应;其中中央计算设备使用更新的中央模型来确定对问询的响应。
现在转向图9,该图示出了包括计算设备的计算系统900,该计算设备包括的处理器被配置为:在框905,从在计算设备上执行的第一初始学习模型接收表示对应于敏感信息的第一上下文的第一上下文信息;在框910,将第一上下文信息输入到在计算设备上执行的第二初始学习模型;并且在框915,使用第二初始学习模型基于第一上下文信息确定响应于敏感信息的回复信息。系统900的计算设备的处理器还可以被配置为:在框920,通过使用第二初始学习模型,基于第一上下文信息和表示与回复信息对应的第二上下文的第二上下文信息来确定更新的上下文信息;并且在框925,将更新的上下文信息从第二初始学习模型传输到第一初始学习模型。系统900的计算设备的处理器还可以被配置为:在框930,基于回复信息训练第二初始学习模型以生成更新的第二学习模型。在框935,将对应于更新的第二学习模型的参数与来自其它模型的参数组合以生成更新的中央学习模型。
现在转到图10,该图在框1005处示出了一种包括可执行指令的非暂态机器可读介质,在由包括访问第一初始学习模型和第二初始学习模型的计算设备的处理器执行时,可执行指令促进执行的操作包括:将第一敏感信息输入到第一初始学习模型;在框1010,利用第一初始学习模型确定与第一敏感信息对应的第一上下文信息;在框1015,将第一上下文信息传输到第二初始学习模型;在框1020,利用第二初始学习模型,基于第一上下文信息确定响应于第一上下文信息的回复语言信息,以及基于对应于回复语言信息的第二上下文信息确定第一更新的上下文信息;在框1025,将第一更新的上下文信息传输到第一初始学习模型;在框1030,将响应于第一更新的上下文信息的第二敏感信息输入到第一初始学习模型;在框1035,利用第一初始学习模型确定与第二敏感信息和第一更新的上下文信息对应的第三上下文信息;在框1040,基于第一更新的上下文信息和第三上下文信息确定第二更新的上下文信息;以及在框1045,将第二更新的上下文信息传输到第二初始学习模型。在框1050,可执行指令被配置为:将更新的第二学习模型提供给参数服务器以用于训练中央学习模型以生成更新的中央模型。
以上描述包括各种实施例的非限制性示例。当然,为了描述所公开的主题而描述组件或方法的每个可能的组合是不可能的,并且本领域技术人员可以认识到各种实施例的进一步组合和排列是可能的。所公开的主题旨在涵盖落入所附权利要求的精神和范围内的所有这样的改变、修改和变化。
关于由上述组件、设备、电路、系统等执行的各种功能,除非另有说明,否则用于描述此类组件的术语(包括提及“装置”)旨在还包括执行所描述组件的指定功能的任何结构(例如功能等效物),即使在结构上不等同于所公开的结构。此外,虽然所公开的主题的特定特征可能已仅针对若干实施方式之一公开,但这种特征可以与任何给定或特定应用程序可能需要和有利的其它实现的一个或多个其它特征组合。
可以在本文中使用的术语“示例性”和/或“说明性”或其变体旨在意味着用作示例、实例或说明。为避免疑义,本文公开的主题不受此类示例的限制。此外,本文中描述为“示例性”和/或“说明性”的任何方面或设计不一定被解释为优选于或有利于其它方面或设计,也不意味着排除本领域技术人员已知的等效结构和技术。此外,在详细描述或权利要求中使用术语“包括”、“具有”、“包含”和其它类似词语的范围内,此类术语旨在具有包容性——以类似于作为开放过渡词的术语“包括”的方式——不排除任何额外的或其它元素。
本文使用的术语“或”旨在表示包容性“或”而不是排他性“或”。例如,短语“A或B”旨在包括A、B以及A和B二者的实例。此外,除非另有说明或从上下文中明确指向单数形式,否则本申请和所附权利要求中使用的冠词“一”和“一个”通常应解释为“一个或多个”。
本文使用的术语“集合”不包括空集合,即其中没有元素的集合。因此,本主题公开中的“集合”包括一个或多个元素或实体。同样,本文使用的术语“组”是指一个或多个实体的集合。
除非上下文另有明确说明,否则权利要求中使用的术语“第一”、“第二”、“第三”等仅为清楚起见,并且不以其它方式指示或暗示任何时间顺序。例如,“第一确定”、“第二确定”和“第三确定”并不表示或暗示第一确定将在第二确定之前做出等,反之亦然。
如本文所提供的主题公开的示出的实施例的描述,包括在摘要中描述的内容,并不旨在穷举或将公开的实施例限制为公开的精确形式。尽管本文出于说明性目的描述了特定实施例和示例,但是如本领域技术人员可以认识到的,在这些实施例和示例的范围内考虑的各种修改是可能的。在这点上,虽然本文已经结合各种实施例和相应的附图描述了主题,但是在适用的情况下应当理解,可以使用其它类似的实施例,或者可以对所描述的实施例进行修改和添加,以执行所公开主题的相同、类似、选择或替代功能而不偏离自身。因此,所公开的主题不应限于本文所描述的任何单个实施例,而是应在根据以下所附权利要求的广度和范围内进行解释。
Claims (20)
1.一种方法,包括:
从在包括处理器的计算设备上执行的第一初始学习模型接收第一上下文信息,所述第一上下文信息表示与敏感信息对应的第一上下文;
将所述第一上下文信息输入在所述计算设备上执行的第二初始学习模型;和
使用所述第二初始学习模型来基于所述第一上下文信息确定响应于所述敏感信息的回复信息。
2.根据权利要求1所述的方法,还包括:
通过使用所述第二初始学习模型来基于所述第一上下文信息和第二上下文信息确定更新的上下文信息,所述第二上下文信息表示与所述回复信息对应的第二上下文;和
将所述更新的上下文信息从所述第二初始学习模型传输到所述第一初始学习模型。
3.根据权利要求1所述的方法,还包括:由所述计算设备基于所述回复信息训练所述第二初始学习模型以得到更新的第二学习模型。
4.根据权利要求3所述的方法,其中不使用输入到所述第一初始学习模型的所述敏感信息来训练所述第二初始学习模型得到所述更新的第二学习模型。
5.根据权利要求1所述的方法,其中所述第二初始学习模型不接收所述敏感信息。
6.根据权利要求1所述的方法,其中所述第一初始学习模型和所述第二初始学习模型包括预训练语言模型。
7.根据权利要求6所述的方法,其中所述预训练语言模型包括生成预训练转换器模型。
8.根据权利要求1所述的方法,还包括:由第二计算设备根据联合学习模型训练中央学习模型,以基于响应于从不同助手学习模型接收的不同上下文生成的不同回复信息来得到更新的中央模型,所述不同上下文对应于不同用户学习模型和所述不同助手学习模型之间的不同会话对话。
9.根据权利要求8所述的方法,还包括:
利用包括处理器的中央计算系统的中央计算设备确定对从用户设备接收的问询的响应,所述用户设备配置为呈现所述用户设备的对话智能体应用程序界面;和
利用所述中央计算系统将所述响应发送到所述用户设备的所述对话智能体应用程序界面;
其中所述中央计算设备使用所述更新的中央模型来确定对所述问询的所述响应。
10.根据权利要求8所述的方法,还包括:
确定对向用户设备的对话智能体输入的问询的响应,所述用户设备包括处理器并且被配置为呈现所述用户设备的对话智能体应用程序界面;
其中所述用户设备使用所述更新的中央模型来确定对所述问询的所述响应。
11.一种计算系统,包括处理器,所述处理器被配置为:
从在计算设备上执行的第一初始学习模型接收第一上下文信息,所述第一上下文信息表示与敏感信息对应的第一上下文;
将所述第一上下文信息输入在所述计算设备上执行的第二初始学习模型;和
使用所述第二初始学习模型来基于所述第一上下文信息确定响应于所述敏感信息的回复信息。
12.根据权利要求11所述的计算系统,其中所述处理器还被配置为:
通过使用所述第二初始学习模型来基于所述第一上下文信息和第二上下文信息确定更新的上下文信息,所述第二上下文信息表示与所述回复信息对应的第二上下文;和
将所述更新的上下文信息从所述第二初始学习模型传输到所述第一初始学习模型。
13.根据权利要求11所述的计算系统,其中所述处理器还被配置为:基于所述回复信息训练所述第二初始学习模型以得到更新的第二学习模型。
14.根据权利要求13所述的计算系统,其中不使用输入到所述初始学习模型的所述敏感信息来训练所述第二初始学习模型得到所述更新的第二学习模型。
15.根据权利要求11所述的计算系统,其中所述第一初始训练模型和所述第二初始训练模型包括预训练中央语言模型。
16.根据权利要求13所述的计算系统,其中将与所述更新的第二学习模型对应的参数与来自其它模型的参数组合以得到更新的中央学习模型。
17.一种非暂态机器可读介质,包括可执行指令,当由包括对第一初始学习模型和第二初始学习模型的访问的计算设备的处理器执行时,所述可执行指令促使执行的操作包括:
将第一敏感信息输入所述第一初始学习模型;
利用所述第一初始学习模型确定与所述第一敏感信息对应的第一上下文信息;
将所述第一上下文信息传输到所述第二初始学习模型;
利用所述第二初始学习模型,基于所述第一上下文信息确定响应于所述第一上下文信息的回复语言信息,并基于与所述回复语言信息对应的第二上下文信息确定第一更新的上下文信息;
将所述第一更新的上下文信息传输到所述第一初始学习模型;
将响应于所述第一更新的上下文信息的第二敏感信息输入到所述第一初始学习模型;
利用所述第一初始学习模型来确定与所述第二敏感信息和所述第一更新的上下文信息对应的第三上下文信息;
基于所述第一更新的上下文信息和所述第三上下文信息确定第二更新的上下文信息;和
将所述第二更新的上下文信息传输到所述第二初始学习模型。
18.根据权利要求17所述的非暂态机器可读介质,其中所述可执行指令促使执行的操作还包括:
基于所述第一上下文信息、所述第二上下文信息和所述第三上下文信息训练所述第二初始学习模型以得到更新的第二学习模型。
19.根据权利要求17所述的非暂态机器可读介质,其中所述可执行指令被配置为:不基于所述第一敏感信息或所述第二敏感信息来训练所述第二初始学习模型。
20.根据权利要求17所述的非暂态机器可读介质,其中所述可执行指令被配置为:将所述更新的第二学习模型提供给参数服务器以用于训练中央学习模型来得到更新的中央模型。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163229490P | 2021-08-04 | 2021-08-04 | |
US63/229,490 | 2021-08-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115914148A true CN115914148A (zh) | 2023-04-04 |
Family
ID=85177672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210933609.9A Pending CN115914148A (zh) | 2021-08-04 | 2022-08-04 | 具有两侧建模的对话智能体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230050655A1 (zh) |
CN (1) | CN115914148A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117459324A (zh) * | 2023-12-22 | 2024-01-26 | 深圳市智慧城市科技发展集团有限公司 | Gpt模型的访问方法、设备及计算机可读存储介质 |
CN117609462A (zh) * | 2023-11-29 | 2024-02-27 | 广州方舟信息科技有限公司 | 药品问答方法、药品问答机器人、电子设备和存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210389924A1 (en) * | 2020-06-10 | 2021-12-16 | At&T Intellectual Property I, L.P. | Extracting and Redacting Sensitive Information from Audio |
-
2022
- 2022-07-15 US US17/866,263 patent/US20230050655A1/en active Pending
- 2022-08-04 CN CN202210933609.9A patent/CN115914148A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117609462A (zh) * | 2023-11-29 | 2024-02-27 | 广州方舟信息科技有限公司 | 药品问答方法、药品问答机器人、电子设备和存储介质 |
CN117459324A (zh) * | 2023-12-22 | 2024-01-26 | 深圳市智慧城市科技发展集团有限公司 | Gpt模型的访问方法、设备及计算机可读存储介质 |
CN117459324B (zh) * | 2023-12-22 | 2024-03-22 | 深圳市智慧城市科技发展集团有限公司 | Gpt模型的访问方法、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20230050655A1 (en) | 2023-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7387714B2 (ja) | 限られた知識ドメイン内でナレッジグラフを構築するための技術 | |
US10832659B2 (en) | Intent authoring using weak supervision and co-training for automated response systems | |
JP7412060B2 (ja) | 自然言語分類のための訓練データの拡張 | |
US11238226B2 (en) | System and method for accelerating user agent chats | |
US10922360B2 (en) | Ancillary speech generation via query answering in knowledge graphs | |
US11188720B2 (en) | Computing system including virtual agent bot providing semantic topic model-based response | |
US11184298B2 (en) | Methods and systems for improving chatbot intent training by correlating user feedback provided subsequent to a failed response to an initial user intent | |
JP2021523464A (ja) | 収束質問に対する回答を改善するための仮想談話ツリーの構築 | |
CN115914148A (zh) | 具有两侧建模的对话智能体 | |
US10943070B2 (en) | Interactively building a topic model employing semantic similarity in a spoken dialog system | |
US11164562B2 (en) | Entity-level clarification in conversation services | |
US10198501B2 (en) | Optimizing retrieval of data related to temporal based queries | |
US20170270120A1 (en) | Question transformation in question answer systems | |
US20200285636A1 (en) | Context-sensitive cross-lingual searches | |
US20200042643A1 (en) | Heuristic q&a system | |
US11755657B2 (en) | Training a question-answer dialog system to avoid adversarial attacks | |
US11122024B2 (en) | Chat session dynamic security | |
US20230237277A1 (en) | Aspect prompting framework for language modeling | |
US20180089569A1 (en) | Generating a temporal answer to a question | |
US11526801B2 (en) | Conversational search in content management systems | |
US11288293B2 (en) | Methods and systems for ensuring quality of unstructured user input content | |
US11144727B2 (en) | Evaluation framework for intent authoring processes | |
WO2023100050A1 (en) | Conversational agent counterfactual simulation | |
US20220180865A1 (en) | Runtime topic change analyses in spoken dialog contexts | |
US11676596B2 (en) | Dialog shortcuts for interactive agents |
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 |