CN111737434A - 直接从对话历史和资源中生成自动化助理响应和/或动作 - Google Patents
直接从对话历史和资源中生成自动化助理响应和/或动作 Download PDFInfo
- Publication number
- CN111737434A CN111737434A CN202010590994.2A CN202010590994A CN111737434A CN 111737434 A CN111737434 A CN 111737434A CN 202010590994 A CN202010590994 A CN 202010590994A CN 111737434 A CN111737434 A CN 111737434A
- Authority
- CN
- China
- Prior art keywords
- representation
- encoded
- resources
- action
- generating
- 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
- 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
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1822—Parsing for meaning understanding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/453—Help systems
-
- 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
-
- 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/047—Probabilistic or stochastic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
- G10L2015/0638—Interactive procedures
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/225—Feedback of the input speech
Abstract
本公开涉及直接从对话历史和资源中生成自动化助理响应和/或动作。训练和/或利用单个神经网络模型在用户和自动化助理之间的对话会话的多个助理轮次中的每个轮次生成对应的自动化助理自然语言响应和/或对应的自动化助理动作。例如,在对话会话的给定助理轮次,可以联合并直接基于使用单个神经网络模型生成的输出来生成对应的自然语言响应和对应的动作。可以基于使用神经网络模型处理对话历史和多个离散资源来生成对应的响应和/或对应的动作。例如,神经网络模型可以用于逐个令牌地生成响应和/或动作。
Description
技术领域
本公开涉及直接从对话历史和资源中生成自动化助理响应和/或动作。
背景技术
人们可以使用本文称为“自动化助理”(也称为“数字代理”、“交互式个人助理”、“智能个人助理”、“助理应用”、“会话代理”等)的交互式软件应用参与人机对话。例如,人类(当他们与自动化助理交互时他们可以称为“用户”)可以使用口头自然语言输入(即话语)和/或通过提供文本(例如,键入的)自然语言输入向自动化助理提供命令和/或请求,在某些情况下可以将口头自然语言输入(即话语)转换为文本然后对其进行处理。自动化助理通过提供响应用户界面输出和/或采取响应动作来响应请求。响应用户界面输出可以包括自然语言输出,其可以可选地被转换为合成话音并进行渲染。响应动作可以包括例如控制外围设备(例如,智能灯、智能电器等)和/或与另一系统交互以执行任务(例如,请求乘车共享、预订餐厅等)。
自动化助理通常在解释和响应于用户请求时依赖于多个离散组件的流水线。例如,自然语言理解组件可以用于处理请求的文本(例如,从口头话语转换的文本)以生成符号表示或信念状态,即该文本的语义表示。例如,信念状态可以包括与文本相对应的意图以及可选地包括用于该意图的参数(例如,时隙值)。然后,单独的实现组件可以利用信念状态来对外部知识源进行推理,这些外部知识源的结果被独立地用于动作预测任务和响应生成任务。但是,依赖于组件的流水线会使自动化助理难以扩展。而且,每个单独的组件都必须进行单独的训练,这可能在训练期间需要大量的工程工作并需要大量使用计算机资源。此外,全局增强信号(即,取决于对话轮次或完整对话的整体结果的那些)可能是有问题的和/或不可能有效地用于训练单个组件。
发明内容
本文公开的实现针对于训练和/或利用单个神经网络模型来在用户与自动化助理之间的对话会话的多个助理轮次中的每个轮次生成对应自动化助理自然语言响应和/或对应自动化助理动作。例如,在对话会话的给定助理轮次时,可以联合生成对应自然语言响应和对应动作,并且可以直接基于使用单个神经网络模型生成的输出来生成对应自然语言响应和对应动作。
对应响应和/或对应动作可以基于使用神经网络模型处理对话历史(即,用户话语、先前自动化助理响应和/或先前自动化助理动作)和多个离散资源(例如知识图条目、搜索结果和/或搜索结果文档)的而生成。例如,神经网络模型可用于在逐个令牌的基础上生成响应和/或动作,其中,每个令牌是单词、单词片段或字符。例如,在多个迭代的每个迭代,可以使用神经网络模型生成在令牌词汇表上的对应概率分布,并且在该迭代中选择具有最高概率的令牌。因此,经过多次迭代(例如,直到“结束”令牌具有最高概率为止),选择了最高概率令牌的序列,并且该序列是自然语言响应和/或动作。自然语言响应可以被渲染为自动化助理响应(例如,作为基于文本到口头话语处理的可听输出),并且任何动作都可以由自动化助理启动(例如,传输到远程设备以使得执行动作)。
以这些和其他方式,无需使用单独的自然语言组件以及随后使用单独的履行组件生成信念状态就可以生成自动化助理响应和动作。通过根据本文公开的实现训练和利用单个神经网络模型,可以跨多个域并针对各种对话执行自动化助理响应和动作生成,从而实现跨域和/或对话的自动化助理功能的有效缩放。此外,全局增强信号可以用于有效地训练单个神经网络模型,从而在训练单独的自然语言组件和/或单独的履行组件时,减轻了对信念状态的资源和劳动密集型注释的需求。
在一些实现中,单个神经网络模型包括转换器编码器和转换器解码器。在这些实现的某些版本中,转换器编码器用于处理对话历史的级联和离散资源的级联,以生成包含(对话历史的)编码的对话表示和(离散资源的)编码的资源表示的编码表示。在那些实现的一些其他版本中,转换器编码器用于处理对话历史以生成编码的对话表示,并且编码的资源表示基于离散资源的单独处理。单独处理可以包括例如生成每个离散资源的平均词嵌入和/或其他初始表示。单独处理可以附加地或替代地包括关注融合,其中,基于使用稀疏关注机制所确定的离散资源的对应概率和编码的对话表示(例如,通过相乘)来进行修改离散资源的初始表示。如本文所述,当在各种实现中使用稀疏关注机制时,利用稀疏关注机制可以导致使用单个神经网络模型的有效的自然语言响应和/或动作预测。例如,稀疏关注机制可以使得能够在自然语言响应和/或动作预测中有效地运行时考虑大量(例如数千个)不同的资源。另外地或可替代地,稀疏关注机制的利用可以减轻过度拟合的问题,否则该过度拟合问题将由于有限数量的训练实例和/或所利用的离散资源中稀有令牌的扩散而引起。
在各种实现中,转换器解码器用于通过使转换器解码器的关注头处理编码的对话表示和编码的资源表示两者来逐个令牌生成自然语言响应和/或动作。在那些各种实现中的一些中,处理编码的对话表示和编码的资源表示二者可以使得能够将解码器用于在考虑对话历史和相关(如编码的资源表示关注所指示)离散资源的有效响应和/或动作生成中。作为一个示例,在第一次迭代中,可以使用处理两种表示的转换器解码器来处理“开始”令牌,以生成在令牌词汇表上的第一概率分布。可以选择最高概率令牌作为自然语言响应和/或动作的第一令牌。然后可以使用处理这两种表示的转换器解码器来处理开始令牌和最高概率令牌,以生成在令牌词汇表上的第二概率分布。最高概率令牌可以被选择为自然语言响应和/或动作的第二令牌。该过程可以继续,在每次迭代中选择一个新令牌并将其添加到下一个迭代的输入处理中,直到选择“结束”令牌为止。然后可以将所得的令牌序列用作自动化助理执行的自然语言响应和/或动作。
本文公开的一些实现针对训练自然语言响应和/或动作生成中利用的单个神经网络模型的转换器编码器、转换器解码器以及可选的(当利用时)稀疏关注机制。可以利用训练实例,每个训练实例包括地面真值(ground-truth)现有对话历史(即,用户话语、自动化助理响应和/或自动化助理动作)和地面真值下一自动化助理响应和/或自动化助理动作。
在这些实现中的一些中,并且在训练的至少一部分期间,仅可用离散资源的子集与训练实例一起被处理(而所有可用离散资源可以在运行时可选地进行处理)。例如,可以基于与该训练实例的地面真值下一自动响应和/或动作相匹配(软和/或精确匹配)的项来选择训练实例的离散资源的正子集。另外,为了提高训练速度(通过包含标记较弱的负离散资源),可以为训练实例随机选择剩余离散资源的负子集。总体上,正子集和负子集仍构成可用离散资源的子集。例如,它们可以占可用离散资源的少于50%、少于10%或少于5%。在每次迭代中仅考虑离散资源的子集也可以提高训练速度,而通过远程监督选择正子集可以实现有效的训练,而选择负子集可以进一步提高训练速度。而且,并且如本文所述,在利用稀疏关注机制的实现中,来自远程监督的弱监督信号的利用可以指导稀疏关注机制的训练。
在其中训练稀疏关注机制的一些实现中,对于训练的前M个步骤(例如10,000、20,000或其他数量)和/或训练的前M个持续时间(例如,10小时、15小时或其他时间)可能不训练稀疏关注机制。例如,在那些步骤期间,可以更新转换器编码器和/或转换器解码器权重,而无需更新稀疏关注机制的权重。对于前M个步骤和/或M个持续时间,可以将基于远程监督从弱标记确定的带有正标记的电子资源用作电子资源,并解码器处理这些电子资源的表示。这些前M个训练步骤会热启动模型并训练模型中除关注之外的其他部分。可选地,在前M个训练步骤期间和/或在M个持续时间期间,不利用基于远程监督从弱标记确定的负标记电子资源。对于接下来的N个(例如20,000或其他数量)步骤和/或N个持续时间,训练稀疏关注机制。可以基于弱监督信号(例如,将使用稀疏关注机制预测的概率与基于远程监督的弱标记进行比较)和/或基于解码器对地面真值响应和/动作预测的响应和动作来训练稀疏关注机制。此外,对于接下来的N个步骤和/或N个持续时间,在远程监督与使用稀疏关注机制从模型生成的概率(例如,S形概率)之间进行插入对KB的稀疏关注。例如,在确定对解码器的基于电子资源的关注时,对于正标记的电子资源,它可以基于该资源的稀疏S形概率与从远程监督中推断的该电子资源的正(例如“1”)概率之间的插入。在一些实现中,在N个步骤上,远程监督上的权重逐渐衰减(例如,从1.0到0.0)。这使得稀疏关注机制能够在N步上进行训练,同时在稀疏关注机制的训练期间为解码器引导基于电子资源的关注(同时随着对稀疏关注机制的进一步训练而降低了引导程度)。对于最后的O(例如10,000或其他数量)个步骤和/或O持续时间,将继续训练稀疏关注机制。但是,在最后的O个步骤中,仅使用稀疏关注机制来确定解码器的基于电子资源的关注,而无需考虑远程监督(或仅很少使用远程监督)。
以上仅仅被提供为本文公开的一些实现的概述。这些和其他实现在下面进一步详细描述。
本文公开的各种实现可以包括暂时性或非暂时性计算机可读存储介质,其存储可由一个或多个处理器(例如,一个或多个中央处理单元(CPU)、一个或多个图形处理单元(GPU)和/或一个或多个张量处理单元(TPU))来执行的指令,以执行一种方法,例如本文所述的一种或多种方法。另一实现可以包括一个或多个计算机的系统,该计算机包括一个或多个处理器,该一个或多个处理器可操作来执行存储的指令以执行诸如本文所述的方法中的一个或多个的方法。
附图说明
图1是其中可以实现本文公开的实现的示例环境的框图。
图2A示出了图1的神经网络模型的实现以及图1的响应和动作生成引擎如何利用它以生成自然语言响应以及可选地动作。
图2B示出了图1的神经网络模型的另一实现以及图1的响应和动作生成引擎如何利用它以生成自然语言响应以及可选地动作。
图3是示出直接从对话历史和离散资源生成自然语言响应和可选地动作的示例方法的流程图。
图4是示出直接从对话历史和离散资源生成自然语言响应和可选地动作的示例方法的另一流程图。
图5是示出训练单个神经网络模型的示例方法的流程图,该单个神经网络模型可用于直接从对话历史和离散资源生成自然语言响应以及可选地动作。
图6示出了计算设备的示例架构。
具体实施方式
在描述附图之前,描述了各种实现的一些特定示例。本文公开的实现呈现了单个神经网络模型,该模型用于处理对话历史和外部知识源(其包括多个离散资源,例如知识三元组)作为输入,并共同生成文本响应以及系统要执行的操作(如果有)作为输出。该动作也可以以文本/令牌形式表示。例如,智能恒温器温度降低调整动作可以采用“调整(动作=减少,数量=2)”的形式,其中“调整”定义动作的意图,“减少”定义增加/减少参数的值,“2”定义用于调整的度数的值。作为另一个示例,酒店预订动作可以采用“酒店预订(夜晚=2,人=4,天=星期五)”的形式,其中“酒店预订”定义了该动作的意图,“2”定义了夜晚数量参数的值,“4”定义人数参数的值,“星期五”定义入住日期参数的值。
通过根据在此公开的实现的训练,神经网络模型有效地学习以利用来自文本生成和动作预测任务的弱监督信号来对所提供的知识源进行推理,从而消除了对信念状态注释的需要。可以可选地使用各种不同的策略来有效利用外部知识源和神经网络模型。例如,远程监督可以用作(弱)监督信号的附加源,以帮助该模型训练使得能够从大型知识源中选择(和/或处理)相关的离散资源。例如,可以通过使模型区分弱标记的正示例和随机(例如,伪随机或真正随机)采样的负示例来执行远程监督。作为另一示例,可以附加地或替代地利用外部知识源上的稀疏关注机制来防止过度拟合训练实例。作为又一个示例,生成模型的输出(例如,概率分布)可以附加地或替代地被修改,以使得能够提供从对话历史和/或离散资源中复制令牌的选项,而不是总是生成。这是由于认识到期望的输出令牌可以包含来自知识源的条目,这些条目通常是稀有令牌,并且如果没有修改,模型可能很难直接预测它们。作为又一个示例,在各种实现中(例如,在利用神经网络模型产生文本响应和动作的情况下),可以在训练过程中利用排程的采样来代替教师强制训练(或作为对其的补充)。
在一些实现中,包含用户和自动化助理之间的实际和/或手工设计的多轮次对话的数据集可以用于生成用于训练神经网络模型的训练实例。一个非限制性示例是MultiWOZ数据集,其包含用户和向导之间的10,000个多轮次对话。与会话一起,数据集还包含信念状态和对话行为(或语义解析)注释。(在生成地面真值自动化助理动作时)仅使用对应于动作预测的信念状态注释,而其他信念状态则从数据集中删除。不使用对话行为注释。
面向任务的对话问题可以表述为:以会话历史以及相关的知识源/知识库(KB)为输入,并生成系统动作和助理的下一轮文本响应作为输出。例如,会话历史可能包含单轮用户话语“为我查找旧金山的一家便宜的意大利餐厅”,而可能的助理的下一轮响应之一可能是“伟大的意大利人呢?”。在这里,生成输出所需的外部知识将呈现在提供的KB中。存储此类事实的常用方法是三元组格式。例如,在这种情况下,KB可以包含三元组,例如(伟大的意大利人、类型、餐厅)、(伟大的意大利人、美食、意大利语)和(伟大的意大利人、价格、便宜)等。鉴于上述两种话语,用户可能会说“听起来不错,您可以在晚上7点预订4个人的餐桌吗?”,助理将为此执行系统动作book_table(name=伟大的意大利人,num_seats=4,time=7pm),并生成文本响应“完成!”。
本文公开的实现使得能够将会话/对话历史和KB直接映射到下一轮系统动作和文本响应,而没有任何中间符号状态并且没有中间监督信号。
本文使用的对话/会话历史包括用户话语和/或系统话语,并且在每轮用户自动化助理对话打开后都会进行更新,以反映最近一轮对对话历史的贡献。更正式地,设((u1,a1),(u2,a2),…,(uU,aU))表示对于用户话语(ui)和助理话语(ai)的每个包含U轮次的对话历史。用户和助理轮次每个都包含可变数量的单词令牌。
本文使用的知识库/知识源包括离散的结构化和/或非结构化资源的集合。例如,知识库可以包括知识图,该知识图包括三元组(或其他表示),每个三元组定义一对实体以及该对实体之间的关系。而且,例如,知识库可以附加地或替代地包括非结构化的基于web的文档的全部或部分(例如,标题、片段、第一句)、非结构化的搜索结果和/或其他资源。在各种实现中,在运行时考虑的知识库可以在多个(例如,所有)对话会话和/或对话轮次中是静态的。在其他实现中,可以基于到该点的全部或部分会话历史(例如,至少最近的用户话语)来动态地确定在给定轮次中考虑的知识库。例如,在给定的轮次中,可以发布搜索以识别响应于该搜索的一个或多个离散资源,并且给定轮次的知识库可以基于一个或多个(例如,前10个或其他数量)的所识别的离散资源。例如,离散资源可以分别是对应的响应搜索结果的全部或一部分、对应的响应搜索结果文档的一部分或对应的响应知识图条目(例如,三元组)。
在神经网络模型包括解码器(例如,转换器解码器)的情况下,它可以用于从左到右的时间一个令牌同时生成动作和文本响应。系统动作也可以是文本格式,并且可以作为一个长序列生成系统动作和文本响应的级联版本。更正式地说,设Y=(Y1,Y2,...,yT)表示目标序列。目标序列分布可以建模为:
本文公开的一些实现可以利用转换器序列到序列模型,该模型用于处理会话历史和KB的级联。转换器解码器用于为助理的下一个轮次生成系统动作和文本响应。给定一个N个示例的训练集((x1,K1,y1),(x2,K2,y2),...,(xN,KN,yN)),要最大化的目标函数由下式给出
尽管具有前述目标函数的转换器序列到序列模型可以在各种实现中有效利用,但是本文公开的其他实现利用替代方法。替代方法可以减少训练期间的时间和/或计算资源的数量,可以减轻训练期间的过度拟合问题,和/或减轻知识库中的相对稀有令牌的包含。
现在描述一些替代方法。一些实现使用转换器编码器来处理会话历史,而不利用转换器编码器来处理知识库。更正式地说,设x=(x1,x2,...,xp)为包含P个令牌的级联会话历史(例如,助理和用户轮次由定界符分隔)。通过使用转换器编码器处理会话历史,可以在单词嵌入查找和转换器编码器的多个自我关注层之后生成P个隐藏状态h1h2,...,hp。可以基于针对离散资源的令牌的生成的词嵌入来表示知识库中的每个离散资源。例如,KB三元组可以表示为令牌化三元组的词嵌入的平均值。更正式地说,对于KB三元组可以表示它们为v1,v2,...,vM
转换器解码器可以继续被使用,并且可以包括自我关注层和编码器-解码器关注层。在各种实现中,通过在KB上采用稀疏关注机制来减轻过度拟合和/或其他问题。例如,编码器隐藏状态的平均值可用于计算每个事实的S形概率此外,如果qi小于阈值,则可以将其设置为零,这限制了模型可以使用以适应给定训练示例的电子资源数量。可以可选地使用S型关注代替常规的softmax关注,因为S型关注使选择一个以上电子资源变得更加容易。
可以修改转换器解码器,以处理会话历史的编码器隐藏状态和事实三元组的表示二者。换句话说,解码器关注头处理集合[h1,...,hP,v1,...,vM],而不仅仅处理[h1,...,hP]。在应用解码器关注时,可以通过基于稀疏关注概率修改离散资源的初始表示来执行关注融合。例如,事实三元组的对数可以通过将对数乘以稀疏S型关注概率来修改。
如上所述,可以可选地利用远程监督,其中,如果离散资源中的一个或多个项与地面真值响应和/或动作中的一个或多个项相匹配,则可以在训练时间将离散资源标记为正的。例如,如果三元组的实体中的某些单词(e1,e2in(e1,r,e2))存在于地面真值响应和/或动作中,则可以将三元组标记为正的。该弱监督信号可能会引导上述稀疏关注机制。另外,为了提高训练速度,可以利用负采样,其中在所有(弱)标记的负样本(即那些未标记为正的样本)中,可以对其中的少量进行采样并添加为输入。在运行时,由于地面真值响应和/或动作不可用,因此可以可选地使用模型来处理整个KB作为输入。
要最大化的远程监督目标可以正式表示为:
其中qm是稀疏S形关注概率,ym是一个指示变量,如果三元组实体中的某些单词存在于地面真值目标序列中,则将其设置为1,否则将其设置为0。
可以通过最大化公式(2)和公式(3)中的两个目标函数的插值来训练模型,通过下式给出:
使用转换器解码器的处理可以在每个时间步生成在整个词汇表上的对应概率分布。在面向任务的对话中,文本响应中的许多令牌(例如实体名称)都是从KB中获取的。由于这些实体很少出现,因此模型可能很难为此类稀有单词分配高概率。考虑到这些考虑,实现可以通过允许解码器在每个时间步从输入进行复制或从词汇表生成来增强解码器。如前所述计算从词汇表产生单词的概率。复制的概率是通过平均输入上的多头解码器关注分布(会话历史+KB)来计算的。用于生成单词的最终概率被获得为生成和复制该单词的加权混合。为了获得此权重,在解码中的每个步骤中,模型都会计算出用于在该时间步从词汇表生成令牌的S型概率。
包含动作和文本响应的输出序列通常很长。在这种情况下,教师强制训练可能会导致性能不佳。在教师强制中,训练以地面真值历史为条件,在测试时由模型预测代替地面真值历史。如果模型在解码输出序列的开始时犯了错误,则可能使模型以训练期间从未见过的历史为条件。排程采样旨在通过在训练期间使得模型以其自身的预测为条件来减轻训练和测试时间的差异。
在各种实现中,为了克服训练稀疏关注机制的困难,对于模型训练的前M个(例如20,000或其他数量)步骤,可以不训练稀疏关注机制。例如,在那些步骤期间,可以更新转换器编码器和/或转换器解码器权重,而无需更新稀疏关注机制的权重。对于前M个步骤,可以使用来自远程监督的正标记的电子资源作为电子资源,并且解码器可以处理那些电子资源。这些最初的M训练步骤会热启动模型并训练模型中除关注之外的其他部分。对于接下来的N个步骤(例如20,000或其他数量),将训练稀疏关注机制。此外,对KB的稀疏关注会在远程监督与从模型使用稀疏关注机制生成的稀疏S形概率之间进行插入。例如,在确定对解码器的基于电子资源的关注时,对于正标记的电子资源,它可以基于该资源的稀疏S形概率与从远程监督推断的该电子资源的正(例如“1”)概率之间的插入。在一些实现中,在N个步骤上,远程监督上的权重逐渐衰减(例如,从1.0到0.0)。这样可以逐步增加归因于稀疏关注机制错误的训练影响。对于最后的O(例如10,000或其他数量)步骤,将继续训练稀疏关注机制。但是,仅使用了稀疏关注机制,而不考虑远程监督(或很少使用远程监督)。
现在转向附图,更详细地描述了这些和其他实现。
图1示出了其中可以实现本文公开的技术的示例环境。示例环境包括客户端设备106、自动化助理110和多个代理140A-N。客户端设备106可以是例如独立的声控扬声器设备、台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备和/或包括计算设备的用户的可穿戴设备(例如,具有计算设备的用户的手表、具有计算设备的用户的眼镜、虚拟现实或增强现实计算设备)。可以提供附加的和/或替代的客户端设备。
尽管在图1中将自动化助理110示出为与客户端设备106分离,在一些实现中,自动化助理110的全部或方面可以由客户端设备106实施。例如,在一些实现中,输入处理引擎112和/或响应和动作生成引擎124可以由客户端设备106实施。在其中自动化助理110的一种或多种(例如,所有)方面由远离客户端设备106的一个或多个计算设备实施,客户端设备106和自动化助理110的那些方面经由一个或多个网络(例如,广域网(WAN)(例如,因特网))进行通信。
尽管仅示出了与自动化助理110结合的一个客户端设备106,但是在许多实现中,自动化助理110可以是远程的,并且可以与同一用户的多个客户端设备中的每个和/或与多个用户的多个客户端设备中的每个对接。例如,自动化助理110可以经由不同的会话管理与多个设备中的每个的通信,并且可以并行地管理多个会话。例如,在一些实现中,自动化助理110可以被实现为采用云基础设施(例如使用运行适合于处理来自多个用户的大量请求的软件的服务器场或高性能计算机集群)的基于云的服务。然而,为了简单起见,针对单个客户端设备106描述了本文许多示例。
自动化助理110与代理140A-N分离,并经由API和/或经由一个或多个通信通道(例如,客户端设备106的内部通信通道和/或网络,例如WAN)与代理140A-N通信。在一些实现中,一个或多个代理140A-N中的每个均由与管理自动化助理110的一方分离的相应方来管理。如本文所使用的,“代理”是指一个或多个计算设备、智能设备和/或可由自动化助理用来使得执行由响应和动作生成引擎124生成的动作的软件。在某些情况下,代理可以与自动化助理110分离,并且/或者可以通过一个或多个通信通道与自动化助理110通信。在这些情况中的某些情况下,自动化助理可以从第一网络节点向实现代理的功能的全部或各个方面的第二网络节点传输数据(例如,代理命令)。在某些情况下,代理可以是第三方(3P)代理,因为它是由与管理自动化助理110的一方分离的一方来管理的。在某些其他情况下,代理可以是第一方(1P)代理,因为它由管理自动化助理110的同一方管理。
代理被配置为(例如,通过网络和/或经由API)接收由自动化助理110发送的动作命令。响应于接收到动作命令,该代理执行对应的动作并可选地生成响应内容以用于提供基于响应内容的用户界面输出。例如,代理可以将响应内容传输到自动化助理110,以由自动化助理110提供基于响应内容的输出。作为另一个示例,代理本身可以提供输出。例如,用户可以经由客户端设备106与自动化助理110交互(例如,自动化助理可以在客户端设备106上实现和/或与客户端设备106进行网络通信),并且代理可以是安装在客户端设备106上的应用或远离客户端设备106而可执行的应用,但在客户端设备106上是“可流式”的。当应用被调用时,它可以由客户端设备106执行和/或由客户端设备106置于最前沿(例如,其内容可以接管客户端设备106的显示)。
作为一个示例,代理140A-N之一可以是智能设备,或者是控制智能设备的第三方系统,并且动作命令可以是引起改变智能设备的状态的命令。响应于接收到动作命令,代理可以使智能设备的状态改变,并且可以可选地提供确认状态的改变的响应内容。作为另一示例,代理140A-N之一可以是乘车共享预订系统,并且动作命令可以是用于使乘车共享被预订的命令。响应于接收到动作命令,代理可以使乘车共享被预订,并且可以可选地提供确认预订和/或提供估计的车辆到达时间的响应内容。作为又一示例,代理之一可以是客户端设备106上的单独的应用,并且动作命令可以是促使单独的应用以特定方式被打开和/或控制的命令。响应于接收到动作命令,可以根据动作命令打开和/或控制单独的应用。
自动化助理110包括输入处理引擎112、输出引擎116、动作引擎118和响应动作生成引擎124。值得注意的是,在图1的实现中,自动化助理110不包括自然语言理解组件,并且不包括履行模块,因为鉴于响应和动作生成引擎124而省略了那些模块。在一些实现中,自动化助理110的一些引擎(和/或引擎)可以在与自动化助理110分离的组件中省略,组合和/或实现。此外,为了简单起见,自动化助理110可以包括此处未示出的其他引擎(和/或模块)。
自动化助理110从客户端设备106接收用户输入的实例。用户可以经由用户界面输入设备向自动化助理110提供各种类型的用户输入。在某些情况下,输入可以是自由形式的自然语言输入的“用户话语”,例如基于由用户经由一个或多个用户界面输入设备生成的用户界面输入(例如,基于经由物理或虚拟键盘提供的键入输入或基于通过麦克风提供的口头输入)的文本输入。如本文中所使用的,自由形式的输入是由用户制定的并且不限于呈现供用户选择的一组选项(例如,不受限于在下拉菜单中呈现的一组选项)。
作为一个示例,自动化助理110可以以流音频记录的形式接收口头用户话语。可以由客户端设备106响应于从捕获客户端设备106的用户的口头输入的客户端设备106的麦克风接收的信号来生成流音频记录。在一些实现中,可以由客户端设备106生成用户输入和/或将其响应于客户端设备106的用户对自动化助理110的明确调用而提供给自动化助理110。例如,该调用可以是由客户端设备106检测到用户的某些语音输入(例如,自动化助理110的热词/短语,例如“嘿助理”),用户与硬件按钮和/或虚拟按钮的交互(例如,点击硬件按钮,对客户端设备106显示的图形界面元素的选择)和/或其他特定用户界面输入。当用户输入为口头话语形式时,输入处理引擎112的自动语音识别(ASR)模块113可以使用语音识别模型将口头话语转换为识别的文本。输入处理引擎112可以可选地标准化或以其他方式转换一些文本。例如,输入处理引擎112可以移除大写字母,将日期转换为标准格式,将相对时间项目转换为标准格式(例如,将“明天”转换为与“明天”相对应的日期),将数字转换为通用标识符(例如,将任何数字转换为“#”)等。
响应和动作生成引擎124使用神经网络模型160直接生成自然语言响应和/或响应于所接收的用户话语的动作。响应和动作生成引擎124基于使用神经网络模型处理下述项来生成响应和/或动作:(a)来自知识库158和/或搜索引擎154的离散资源,以及(b)接收到的用户话语,以及当前对话会话的任何先前用户和/或自动化助理话语。例如,响应和动作生成引擎124可以基于使用神经网络模型160的编码器处理接收到的用户话语和对话会话的任何先前话语来生成对话编码。此外,例如,响应和动作生成引擎124可以基于使用编码器处理资源的表示(连同对话历史)或者基于使用利用神经网络模型160的稀疏关注机制而生成的概率修改资源的表示来生成资源编码。这里提供了响应和动作生成引擎124和神经网络模型160的附加说明。
如本文中所使用的,“对话会话”可以包括用户与自动化助理110(在某些情况下,其他人类参与者)之间的一个或多个消息的逻辑上独立的交换和/或自动化助理110对于一个或多个响应动作的执行。自动化助理110可以基于各种信号在与用户的多个对话会话之间区别,该各种信号例如如下:会话之间的时间流逝,会话之间的用户场境(例如,位置、排程会议之前/之中/之后)的更改,检测用户与客户端设备之间的一个或多个中间交互,而不是用户与自动化助理之间的对话(例如,用户切换应用一段时间,用户离开然后再返回到一个独立的语音激活产品),会话之间的客户端设备的锁定/睡眠,以及用于与自动化助理110的一个或多个实例对接的客户端设备的更改等。
输出引擎116基于由响应和动作生成引擎124生成的自然语言响应来生成输出。例如,输出引擎116可以提供所生成的自然语言响应以用于客户端设备106处的图形呈现,和/或,文本至语音转换(TTS)模块117可以执行响应的TTS转换,并在客户端设备106处提供对应的合成音频数据,以用于自然语言响应的可听渲染。
动作引擎118使得执行响应和动作生成引擎124生成的任何动作。例如,动作引擎118可以基于代理140A-N中的给定代理与动作指定的意图和/或其他参数的对应,识别该给定代理。此外,动作引擎118可以将对应的动作命令传输到给定代理。在一些实现中,动作命令可以包括(或限于)由响应和动作生成引擎124生成的动作。在一些替代实现中,可以(例如,针对格式或形式)可选地改变由响应和动作生成引擎124生成的动作,并且更改后的动作包括在动作命令中。
图2A示出了图1的神经网络模型的实现160A以及图1的响应和动作生成引擎124如何利用它以生成自然语言响应以及可选地动作177A。响应和动作生成引擎124可以基于使用神经网络模型160A的转换器编码器160A1处理对话历史171A和来自知识库158和/或搜索引擎154的电子资源来生成对话编码和资源编码。此外,响应和动作生成引擎124可以使用处理对话编码和资源编码的转换器解码器160A2,逐个令牌地生成NL响应和可选地动作177A。
图2B示出了图1的神经网络模型的另一实现160B以及图1的响应和动作生成引擎124如何利用它以生成自然语言响应以及可选的动作177B。图2B的神经网络模型的实现160B包括:转换器编码器160B1,稀疏关注机制160B2和转换器解码器160B3。响应和动作生成引擎124可以基于使用转换器编码器160B1处理对话历史171B来生成对话编码172B。此外,响应和动作生成引擎124可以基于使用稀疏关注机制160B2处理对话编码172B并且可选地处理离散资源(例如,其表示),来生成知识库158的离散资源的概率173B。更进一步,响应和动作生成引擎124可以使用处理对话编码172B和关注融合174B两者的转换器解码器160B3,逐个令牌地生成自然语言响应和可选地动作177B。关注融合174B可以是离散资源的初始资源表示与它们的对应概率173B的融合(从而代表离散资源的编码表示)。
图3是示出直接从对话历史和离散资源中生成自然语言响应以及可选地动作的示例方法300的流程图。为了方便起见,参考执行操作的系统描述图3的流程图的操作。该系统可以包括各种计算机系统的各种组件,例如自动化助理110的响应和动作生成引擎124。此外,尽管以特定顺序示出了方法300的操作,但这并不意味着是限制性的。可能会重新排序,省略或添加一项或多项操作。
在框350,系统接收口头用户话语。例如,口头用户话语可以以基于用户的客户端设备的一个或多个麦克风生成的音频数据的形式被接收。
在框352,系统执行ASR以将口头话语转换为所识别的文本。在框352,系统还将所识别的文本添加到当前对话会话的对话历史中。尽管在方法300中示出了框350和352,但是应当理解,在各种实现中,接收到的用户输入可以是文本输入(例如,经由键入),从而消除了在框352执行ASR的需要。
在框354,系统基于当前对话会话的对话历史发布搜索。例如,系统可以基于最近接收到的用户话语中识别的一个或多个项和/或基于当前对话会话的历史中先前用户和/或助理话语(如果有)中的一个或多个项来发布搜索。例如,系统可以基于用户话语的所有项或某些项(例如未分类为停用词的项)发布搜索。可以通过将项提交到搜索系统来发布搜索。
在框356处,系统基于离散资源响应于在框354处发布的搜索来识别一个或多个离散资源。例如,每个离散资源可以基于对应搜索结果的全部或部分、对应搜索结果文档的全部或一部分和/或对应知识图条目。例如,系统可以将前十名(或其他数量)搜索结果的全部或部分的标题和/或片段的一部分识别为离散资源(即,基于搜索结果1的离散资源1,基于搜索结果2的离散资源2等)。
在框358,系统使用神经网络的转换器编码器处理对话历史和离散资源的级联,以生成编码的对话表示和编码的资源表示。编码的对话和资源表示可以是单词嵌入和多个自我关注层之后的一系列隐藏状态。
在框360处,系统使用转换器解码器生成在神经网络的令牌词汇表上的概率分布,该转换器解码器(通过多头关注)处理编码的对话表示和编码的资源表示二者。如本文所述,在一些实现中,对于对话历史和/或离散资源中的令牌,系统可以有效地提高选择令牌的概率。例如,系统可以将其概率确定为输入上的生成的概率分布和多头关注分布的加权混合。
在框362,系统基于概率分布从词汇表中选择令牌。
在框364处,系统确定响应和动作生成是否已经结束,这基于例如框362的最新令牌是否为“结束”令牌(如果是,则框364的决定为“是”)。如果不是,则系统将最近选择的令牌添加为解码器的输入(连同在框362的先前迭代中选择的任何令牌),并返回到框360。该过程继续直到在框364处确定结束条件为止,从而在逐个令牌的基础上生成自然语言响应和/或动作。
当在框364处确定结束条件时,系统前进至框368,并使令牌的响应被渲染(例如,以图形和/或听觉的方式作为合成话音)和/或令牌的动作被执行。
在方框370,将框368的响应和可选地动作(如果有的话)添加到对话历史中。然后,系统在接收到另一用户话语后返回框350。注意,368的一些框可以导致对话会话的结束(例如,如果动作是结束动作),在这种情况下,可以跳过框370,认为对话会话结束并且对话会话被清除。然后可以响应于在新对话会话中接收到另一用户话语来执行方法300。此外,即使在框368处未确定对话会话的结束,在阈值时间量内未接收到另一用户话语也可能导致对话会话被视为终止。
图4是示出直接从对话历史和离散资源中生成自然语言响应以及可选地动作的示例方法400的另一流程图。为了方便起见,参考执行操作的系统描述图4的流程图的操作。该系统可以包括各种计算机系统的各种组件,例如自动化助理110的响应和动作生成引擎124。此外,尽管以特定顺序示出了方法400的操作,但这并不意味着是限制性的。可能会重新排序,省略或添加一项或多项操作。
在框450,系统接收口头用户话语。例如,口头用户话语可以以基于用户的客户端设备的一个或多个麦克风生成的音频数据的形式被接收。
在框452处,系统执行ASR以将口头话语转换为所识别的文本。在框452处,系统还将所识别的文本添加到当前对话会话的对话历史中。尽管在方法400中示出了框450和4352,但是应当理解,在各种实现中,接收到的用户输入可以是文本输入(例如,通过键入),从而消除了在框452执行ASR的需要。
在框454,系统使用转换器编码器处理对话历史,以生成编码的对话表示。例如,编码的对话表示可以是单词嵌入和多个自我关注层之后的一系列隐藏状态。可以使用转换器编码器进行处理对话历史,而无需使用转换器编码器处理任何离散资源。
在框456处,系统基于编码的对话表示,对离散资源执行稀疏关注。例如,系统可以使用经训练的稀疏关注机制并且基于对话表示的一系列隐藏状态的平均值或其他度量来执行稀疏关注。离散资源中的每一个均可以是例如知识图条目。在执行稀疏关注时,可以可选地考虑离散资源的初始表示。在框456处,系统可以生成每个离散资源的对应概率(例如,S形概率)。
在框458,系统基于从框456的稀疏关注生成的概率来生成编码的资源表示。例如,可以基于离散资源的概率来修改离散资源的初始表示,并且将修改后的表示用作编码的资源表示。离散资源的初始表示可以是例如离散资源或其他表示的单词嵌入的平均值。
在框460处,系统使用转换器解码器生成在神经网络的令牌词汇表上的概率分布,该转换器解码器(通过多头关注)处理编码的对话表示和编码的资源表示二者。如本文所述,在一些实现中,对于对话历史和/或离散资源中的令牌,系统可以有效地提高选择令牌的概率。
在框462,系统基于概率分布从词汇表中选择令牌。
在框464,系统确定响应和动作生成是否已经结束,这可以基于例如框462的最新令牌是否是“结束”令牌(如果是,则框464的确定为“是”)。如果不是,则系统将最近选择的令牌添加为解码器的输入(以及在框462的先前迭代中选择的任何令牌),并返回到框460。该过程继续直到在框464确定结束条件,从而在逐个令牌的基础上生成自然语言响应和/或动作。
当在框464确定结束条件时,系统前进到框468,并使令牌的响应被渲染(例如,以图形和/或听觉的方式作为合成话音)和/或令牌的动作被执行。
在框470,将框468的响应和可选地动作(如果有的话)添加到对话历史。然后,系统在接收到另一用户话语后返回框450。注意,468的一些框可以导致对话会话的结束(例如,如果动作是结束动作),在这种情况下,可以跳过框470,认为对话会话结束并且对话会话被清除。然后可以响应于在新对话会话中接收到另一用户话语来执行方法400。此外,即使在框468处未确定对话会话的结束,在阈值时间量内未接收到另一用户话语也可能导致对话会话被视为终止。
图5是示出训练单个神经网络模型的示例性方法500的流程图,该单个神经网络模型可用于直接从对话历史和离散资源中生成自然语言响应以及可选地动作。为了方便起见,参考执行操作的系统描述图5的流程图的操作。该系统可以包括各种计算机系统的各种组件,例如多个GPU。此外,尽管以特定顺序示出了方法500的操作,但这并不意味着是限制性的。可能会重新排序,省略或添加一项或多项操作。
在框552处,系统获得训练实例,该训练实例具有地面真值当前对话历史和地面真值下一动作。
在框554,系统为训练实例选择正离散资源的子集。系统基于所选择的离散资源的内容与训练实例的地面真值下一响应和/或地面真值下一动作匹配来选择该子集。
在可选框556,系统为训练实例选择负离散资源的子集。例如,系统可以从在框554处未选择的离散资源中随机采样剩余资源的数量,并将该数量选择为弱标记的负离散资源。在一些实现中,不对方法500的前N个迭代执行框556,而是对前N个迭代的所有迭代执行框556。在一些实现中(例如,当训练用于方法300中的模型时),框556被省略。
在框558,系统使用编码器生成编码的对话表示,并且生成编码的资源表示。系统通过使用编码器处理地面真值当前对话历史来生成编码的对话表示。在一些实现中(例如,当训练用于方法300中的模型时),系统还通过使用编码器处理所选择的正离散资源以及地面真值当前对话历史来生成编码的资源表示。
在框560处,系统逐个令牌地并且使用处理框556和558的编码的对话和资源表示的解码器来生成预测的下一自然语言响应和/或预测的动作。这可以类似于方法300的框360、362、364和366,并且可以可选地利用如本文所述的排程采样。
在框562处,系统基于预测的自然语言响应和/或动作与训练实例的地面真值自然语言响应和/或动作的比较来更新至少编码器和解码器的权重。
在可选框564,系统更新稀疏关注机制(如果模型中包括任何稀疏关注机制)。在一些实现中和/或对于某些迭代,还可以基于在框562处的比较来更新模型的任何稀疏关注机制的权重。在那些实现中的一些中,对于方法500的前N次迭代,稀疏关注机制的权重不被更新。在一些实现中,基于正电子资源和负电子资源的弱标记与使用稀疏关注机制生成的对应概率的比较,来额外或替代地生成稀疏关注机制的权重。在那些实现中的一些中,还可以基于这种比较来生成编码器和/或解码器的权重。
在框566,系统确定是否处理附加训练实例。如果是这样,则系统前进至框552,获得附加训练实例,然后基于附加未处理的训练实例执行框554、556和558、560、562和564。在一些实现中,在框552处,如果已经满足一个或多个训练标准(例如,阈值数量的时期已经发生和/或训练的阈值持续时间已经发生),则系统可以确定不处理任何其他未处理的训练实例。
如果在框566,系统确定不处理其他训练实例,则系统进行到框568,且训练结束。然后,经训练的模型可以(取决于模型的构造和所执行的训练)被用在方法300或方法400中。
图6是示例计算设备610的框图,该示例计算设备610可以可选地用于执行本文描述的技术的一个或多个方面。在一些实现中,客户端设备106,自动化助理110和/或其他组件中的一个或多个可以包括示例计算设备610的一个或多个组件。
计算设备610通常包括至少一个处理器614,该处理器614经由总线子系统612与多个外围设备进行通信。这些外围设备可以包括存储子系统624,该存储子系统624包括例如存储器子系统625和文件存储子系统626,用户接口输出设备620,用户接口输入设备622和网络接口子系统616。输入和输出设备允许用户与计算设备610交互。网络接口子系统616提供到外部网络的接口并耦合到其他计算设备中的对应的接口设备。
用户界面输入设备622可以包括键盘,诸如鼠标,轨迹球,触摸板或图形输入板之类的指向设备,扫描仪,并入显示器的触摸屏,诸如口头话语识别系统,麦克风之类的音频输入设备以及/或者其他类型的输入设备。通常,术语“输入设备”的使用旨在包括将信息输入到计算设备610或通信网络中的所有可能类型的设备和方式。
用户界面输出设备620可以包括显示子系统,打印机,传真机或诸如音频输出设备的非可视显示器。显示子系统可以包括阴极射线管(CRT),诸如液晶显示器(LCD)的平板设备,投影设备或某个其他用于创建可见图像的机制。显示子系统还可以例如经由音频输出设备来提供非视觉显示。通常,术语“输出设备”的使用旨在包括从计算设备610向用户或另一台机器或计算设备输出信息的所有可能类型的设备以及方式。
存储子系统624存储提供本文所述的一些或所有模块的功能的程序和数据构造。例如,存储子系统624可以包括执行本文描述的方法的所选方面的逻辑。
这些软件模块通常由处理器614单独或与其他处理器结合执行。存储子系统624中使用的存储器625可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)630以及其中存储了固定指令的只读存储器(ROM)632。文件存储子系统626可以为程序和数据文件提供持久存储,并且可以包括硬盘驱动器,软盘驱动器以及相关联的可移动介质,CD-ROM驱动器,光盘驱动器或可移动介质盒。实施某些实现的功能的模块可以由文件存储子系统626存储在存储子系统624中,或者存储在处理器614可访问的其他机器中。
总线子系统612提供了一种机制,该机制可让计算设备610的各个组件和子系统按预期彼此通信。尽管总线子系统612被示意性地示出为单条总线,但是总线子系统的替代实现可以使用多条总线。
计算设备610可以是各种类型,包括工作站,服务器,计算集群,刀片服务器,服务器场或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,因此为了说明一些实现,对图6中所描绘的计算设备610的描述仅旨在作为特定示例。计算设备610的许多其他配置可能具有比图6中描绘的计算设备更多或更少的组件。
在此处描述的系统收集或以其他方式监视有关用户的个人信息,或可以使用个人和/或监视的信息的情况下,可以为用户提供控制程序或功能是否收集用户信息(例如,有关用户的社交网络,社交活动或行为,职业,用户的喜好或用户当前地理位置的信息)或控制是否和/或如何从可能与用户相关的内容服务器接收与用户更相关的内容的机会。另外,某些数据在存储或使用之前可能会以一种或多种方式处理,以便删除个人身份信息。例如,可以处理用户的身份,以便无法为该用户确定任何个人身份信息,或者可以在获得地理位置信息的情况下将用户的地理位置概括化(例如,至城市,邮政编码或州级别),因此无法确定用户的具体地理位置。因此,用户可以控制如何收集关于用户的信息和/或使用信息。
在一些实现中,提供了一种方法,该方法包括在对话会话期间使用自动话音识别组件从用户的口头话语中生成所识别的文本。对话会话在用户和自动化助理之间,并且口头话语在由客户端设备的一个或多个麦克风检测到的音频数据中被捕获。该方法还包括将口头话语添加到对话会话的对话历史中。该方法还包括使用转换器编码器基于处理所识别的文本以及对话会话的对话历史的任何其他文本来生成编码的对话表示。该方法还包括:识别多个离散资源;以及基于处理多个离散资源来生成编码资源表示。该方法还包括生成响应于口头话语的自然语言响应和/或动作。生成自然语言响应和/或动作包括使用处理编码的对话表示和编码的资源表示二者的转换器解码器逐个令牌地生成自然语言响应和/或动作。该方法还包括,作为自动化助理对口头话语的响应,使自然语言响应在客户端设备处渲染和/或使得执行动作。
本文公开的这些和其他实现可以包括以下特征中的一个或多个。
在一些实现中,生成编码的资源表示包括:基于编码的对话表示确定多个离散资源中的每个离散资源的对应概率;以及,根据多个离散资源的对应初始表示以及对应概率,生成编码的资源表示。在那些实现的一些版本中,基于编码的对话表示来确定多个离散资源中的每个离散资源的对应概率包括在确定对应概率时使用稀疏关注机制。在那些版本中的一些版本中,使用稀疏关注机制来确定多个离散资源中的每个离散资源的对应概率包括:使用稀疏关注机制处理编码的对话表示的平均值。根据多个离散资源的初始表示和对应概率来生成编码的资源表示可以可选地包括:将初始表示乘以它们的对应概率。对应初始表示中的每个可以例如基于离散资源中的对应离散资源的对应词嵌入。
在一些实现中,离散资源中的每个离散资源是来自知识图的对应三元组。
在一些实现中,对话会话的对话历史还包括对话会话中的一个或多个先前自动化助理响应和/或来自对话会话中的先前用户话语的所识别的文本的一个或多个先前实例。
在一些实现中,基于处理多个离散资源来生成编码的资源表示包括:使用转换器编码器连同所识别文本和对话历史的任何其他文本来处理多个离散资源。
在一些实现中,识别多个离散资源包括:根据所识别的文本发布搜索;以及,基于多个离散资源响应于发布的搜索来识别该多个离散资源。
在一些实现中,使用处理编码的对话表示和编码的资源表示二者的转换器解码器,逐个令牌地生成自然语言响应和/或动作包括:在使用转换器解码器处理的多个迭代中的每个迭代,生成令牌词汇表上的概率分布;从令牌词汇表中基于迭代的概率分布,选择对应令牌以用于迭代;以及将所选择的令牌用作自然语言响应和/或动作的一部分,并且在处理的迭代中的后续迭代,用作转换器解码器的输入的一部分。这些实现中的一些还包括:通过改变词汇表中的还包括在对话历史和/或离散资源中的一个或多个令牌的令牌概率来改变概率分布。
在一些实现中,使用处理编码的对话表示和编码的资源表示二者的转换器解码器,逐个令牌地生成自然语言响应和/或动作包括:生成包含自然语言响应和动作的令牌序列。这些实现的某些版本包括将动作传输到远程设备以使得执行动作。该动作可以例如使得改变智能设备的状态,并且其中,远程设备是智能设备,或者是控制智能设备的远程服务器。
在一些实现中,提供了一种方法,该方法包括对于训练实例获得:与自动化助理进行对话会话的地面真值当前对话历史,以及对话会话的地面真值下一响应和/或地面真值下一动作。该方法进一步包括从一组候选离散资源中为训练实例选择正离散资源的子集。选择正离散资源的子集可以基于离散资源中的每个离散资源均包括与所述地面真值下一响应和/或所述地面真值下一动作相匹配的对应内容。该方法还包括基于使用转换器编码器处理对话历史来生成编码的对话表示。该方法还包括基于正离散资源的子集,使用处理编码的对话表示和编码的资源表示二者的转换器解码器逐个令牌地生成预测的下一自然语言响应和/或预测的下一动作。该方法还包括基于(a)预测的下一自然语言响应和/或预测的下一动作与(b)对话会话的地面真值下一响应和/或基础事实下一动作的比较,更新至少转换器编码器和转换器解码器的权重。
本文公开的这些和其他实现可以包括以下特征中的一个或多个。
在一些实现中,该方法还包括从不在子集中的候选离散资源的集合中,为训练实例选择负离散资源的子集。在那些实现中,编码的资源表示可以还基于处理负离散资源的子集。在那些实现中的一些中,为训练实例选择负离散资源的子集是响应于确定已发生阈值数量的训练步骤和/或已发生训练的阈值持续时间。
在一些实现中,该方法还包括响应于确定未发生阈值数量的训练步骤和/或未发生训练的阈值持续时间,确定抑制更新稀疏关注机制的任何权重。
在一些实现中,该方法还包括生成编码的资源表示。生成编码资源表示可以包括:基于使用稀疏关注机制处理编码的对话表示,确定子集的每个正离散资源的对应预测概率;根据对应预测概率和正概率来确定子集的每个正离散资源的修改的对应预测概率;并且,根据子集的正离散资源的对应初始表示以及修改的对应预测概率,生成编码的资源表示。正概率可以用于基于正离散资源中的每个正离散资源均包括也被包括在地面真值下一响应和/或地面真值下一动作中的对应内容来生成所述修改的对应预测概率。在那些实现的一些版本中,在确定修改的对应预测概率时的正概率的加权是基于已发生的训练步骤的数量和/或已发生的训练的持续时间。
在一些实现中,该方法还包括生成编码的资源表示。生成编码的资源表示可以包括:基于使用稀疏关注机制处理编码的对话表示,确定子集的每个正离散资源的对应预测概率;根据子集的正离散资源的对应初始表示和未经修改的对应预测概率来生成编码的资源表示。在那些实现的一些版本中,根据子集的正离散资源的对应初始表示和未经修改的对应概率来生成编码的资源表示响应于确定已发生训练步骤的阈值数量和/或已经发生训练的阈值持续时间。在一些实现中,该方法进一步包括基于(a)预测的下一自然语言响应和/或预测的下一动作与(b)对话会话的地面真值下一响应和/或地面真值下一动作的比较,更新稀疏关注机制的权重。更新稀疏关注机制的权重可以可选地还基于对应预测概率与正概率的比较。更新转换器编码器和/或转换器解码器的权重可以可选地还基于对应预测概率与正概率的比较。
在一些实现中,离散资源中的每个离散资源是来自知识图的对应三元组。
Claims (29)
1.一种由一个或多个处理器实现的方法,所述方法包括:
在用户与自动化助理之间的对话会话期间,使用自动话音识别组件从用户的口头话语生成所识别的文本,所述口头话语在由客户端设备的一个或多个麦克风检测到的音频数据中被捕获;
将所述口头话语添加到所述对话会话的对话历史;
基于使用转换器编码器处理所识别的文本以及所述对话会话的所述对话历史的任何其他文本,生成编码的对话表示;
识别多个离散资源;
基于处理所述多个离散资源来生成编码的资源表示;以及
生成响应于所述口头话语的自然语言响应和/或动作,生成所述自然语言响应和/或所述动作包括:
使用处理所述编码的对话表示和所述编码的资源表示二者的转换器解码器,逐个令牌地生成所述自然语言响应和/或所述动作;以及
作为所述自动化助理对所述口头话语的响应,使得所述自然语言响应在所述客户端设备处渲染和/或执行所述动作。
2.根据权利要求1所述的方法,其中,生成所述编码的资源表示包括:
基于所述编码的对话表示,确定所述多个离散资源中的每个离散资源的对应概率;以及
根据所述多个离散资源的对应初始表示以及所述对应概率,生成所述编码的资源表示。
3.根据权利要求2所述的方法,其中,基于所述编码的对话表示来确定所述多个离散资源中的每个离散资源的所述对应概率包括在确定所述对应概率时使用稀疏关注机制。
4.根据权利要求3所述的方法,其中,使用所述稀疏关注机制来确定所述多个离散资源中的每个离散资源的对应概率包括:
使用所述稀疏关注机制来处理所述编码的对话表示的平均值。
5.根据权利要求2所述的方法,其中,根据所述多个离散资源的对应初始表示和所述对应概率来生成所述编码的资源表示包括:
将所述初始表示乘以它们的对应概率。
6.根据权利要求2所述的方法,其中,所述对应初始表示中的每个均是基于所述多个离散资源中的对应离散资源的对应词嵌入的。
7.根据权利要求1所述的方法,其中,所述多个离散资源中的每个均是来自知识图的对应三元组。
8.根据权利要求1所述的方法,其中,所述对话会话的所述对话历史进一步包括所述对话会话中的一个或多个先前自动化助理响应和/或来自所述对话会话中的先前用户话语的所识别的文本的一个或多个先前实例。
9.根据权利要求1所述的方法,其中,基于处理所述多个离散资源来生成所述编码的资源表示包括:使用所述转换器编码器连同所识别的文本和所述对话历史的所述任何其他文本来处理所述多个离散资源。
10.根据权利要求1所述的方法,其中,识别所述多个离散资源包括:
基于所识别的文本发布搜索;以及
基于所述多个离散资源响应于所发布的搜索来识别该多个离散资源。
11.根据权利要求1所述的方法,其中,使用处理所述编码的对话表示和所述编码的资源表示二者的所述转换器解码器,逐个令牌地生成所述自然语言响应和/或所述动作包括:
在使用所述转换器解码器处理的多个迭代中的每个迭代,生成令牌词汇表上的概率分布;
从所述令牌词汇表中基于该迭代的所述概率分布,选择对应令牌以用于该迭代;以及
将所选择的令牌用作所述自然语言响应和/或所述动作的一部分,并且在处理的所述多个迭代中的后续迭代,用作所述转换器解码器的输入的一部分。
12.根据权利要求11所述的方法,进一步包括:通过改变所述令牌词汇表中的还包括在所述对话历史和/或所述多个离散资源中的一个或多个令牌的令牌概率来改变所述概率分布。
13.根据权利要求1所述的方法,其中,使用处理所述编码的对话表示和所述编码的资源表示二者的所述转换器解码器,逐个令牌地生成所述自然语言响应和/或所述动作包括:
生成包含所述自然语言响应和所述动作的令牌序列。
14.根据权利要求13所述的方法,进一步包括:
将所述动作传输到远程设备以使得执行所述动作。
15.根据权利要求14所述的方法,其中,所述动作使得改变智能设备的状态,并且其中,所述远程设备是所述智能设备,或者是控制所述智能设备的远程服务器。
16.一种由一个或多个处理器实现的方法,所述方法包括:
对于训练实例获得:
与自动化助理进行的对话会话的地面真值当前对话历史,以及
所述对话会话的地面真值下一响应和/或地面真值下一动作;
从候选离散资源的集合中为所述训练实例选择正离散资源的子集,基于所述离散资源中的每个离散资源均包括与所述地面真值下一响应和/或所述地面真值下一动作相匹配的对应内容来选择所述正离散资源的子集;
基于使用转换器编码器处理所述对话历史来生成编码的对话表示;
基于所述正离散资源的子集,使用处理所述编码的对话表示和编码的资源表示二者的转换器解码器逐个令牌地生成预测的下一自然语言响应和/或预测的下一动作;以及
基于(a)预测的下一自然语言响应和/或预测的下一动作与(b)所述对话会话的地面真值下一响应和/或基础事实下一动作的比较,更新至少所述转换器编码器和所述转换器解码器的权重。
17.根据权利要求16所述的方法,进一步包括:
从不在所述子集中的所述候选离散资源的集合中,为所述训练实例选择负离散资源的子集;
其中,所述编码的资源表示还是基于处理所述负离散资源的子集的。
18.根据权利要求17所述的方法,其中,为所述训练实例选择所述负离散资源的子集是响应于确定已发生阈值数量的训练步骤和/或已发生训练的阈值持续时间。
19.根据权利要求16所述的方法,进一步包括:
响应于确定未发生阈值数量的训练步骤和/或未发生训练的阈值持续时间,确定抑制更新稀疏关注机制的任何权重。
20.根据权利要求16所述的方法,进一步包括生成所述编码的资源表示,其中,生成所述编码的资源表示包括:
基于使用稀疏关注机制处理所述编码的对话表示,确定所述子集的每个所述正离散资源的对应预测概率;
根据所述对应预测概率和正概率来确定所述子集的每个所述正离散资源的修改的对应预测概率,其中,所述正概率用于基于所述正离散资源中的每个正离散资源均包括也被包括在所述地面真值下一响应和/或所述地面真值下一动作中的对应内容来生成所述修改的对应预测概率;以及
根据所述子集的所述正离散资源的对应初始表示以及所述修改的对应预测概率,生成所述编码的资源表示。
21.根据权利要求20所述的方法,其中,在确定所述修改的对应预测概率时的所述正概率的加权是基于已经发生的训练步骤的数量和/或已经发生的训练的持续时间。
22.根据权利要求16所述的方法,进一步包括生成所述编码的资源表示,其中,生成所述编码的资源表示包括:
基于使用稀疏关注机制处理所述编码的对话表示,确定所述子集的每个所述正离散资源的对应预测概率;
根据所述子集的所述正离散资源的对应初始表示和未经修改的所述对应预测概率来生成所述编码的资源表示。
23.根据权利要求22所述的方法,其中,根据所述子集的所述正离散资源的对应初始表示和未经修改的所述对应预测概率来生成所述编码的资源表示响应于确定已发生阈值数量的训练步骤和/或已发生训练的阈值持续时间。
24.根据权利要求20所述的方法,进一步包括:
基于(a)预测的下一自然语言响应和/或预测的下一动作与(b)所述对话会话的地面真值下一响应和/或地面真值下一动作的比较,更新所述稀疏关注机制的权重。
25.根据权利要求24所述的方法,其中,更新所述稀疏关注机制的权重还基于所述对应预测概率与所述正概率的比较。
26.根据权利要求25所述的方法,其中,更新所述转换器编码器和所述转换器解码器的权重还基于所述对应预测概率与所述正概率的比较。
27.根据权利要求16至26中的任一项所述的方法,其中,所述候选离散资源的集合中的每个离散资源均来自知识图的对应三元组。
28.一种系统,包括一个或多个处理器和存储指令的存储器,所述指令在由所述一个或多个处理器执行时使得权利要求1至27中的任一项所述的方法被执行。
29.一种存储指令的非易失性计算机可读存储介质,所述指令在由一个或多个处理器执行时使得权利要求1至27中的任一项所述的方法被执行。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962865740P | 2019-06-24 | 2019-06-24 | |
US62/865,740 | 2019-06-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111737434A true CN111737434A (zh) | 2020-10-02 |
Family
ID=72651062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010590994.2A Pending CN111737434A (zh) | 2019-06-24 | 2020-06-24 | 直接从对话历史和资源中生成自动化助理响应和/或动作 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11475890B2 (zh) |
CN (1) | CN111737434A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113240046A (zh) * | 2021-06-02 | 2021-08-10 | 哈尔滨工程大学 | 一种基于知识的视觉问答任务下的多模态信息融合方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11468239B2 (en) * | 2020-05-22 | 2022-10-11 | Capital One Services, Llc | Joint intent and entity recognition using transformer models |
CN112559714B (zh) * | 2020-12-24 | 2024-04-12 | 北京百度网讯科技有限公司 | 对话生成方法、装置、电子设备及存储介质 |
US11775655B2 (en) * | 2021-05-11 | 2023-10-03 | International Business Machines Corporation | Risk assessment of a container build |
CN113393445B (zh) * | 2021-06-21 | 2022-08-23 | 上海交通大学医学院附属新华医院 | 乳腺癌影像确定方法及系统 |
US20230352002A1 (en) * | 2022-04-28 | 2023-11-02 | Dell Products L.P. | Automatically extracting information from conversation text data using machine learning techniques |
US11880645B2 (en) | 2022-06-15 | 2024-01-23 | T-Mobile Usa, Inc. | Generating encoded text based on spoken utterances using machine learning systems and methods |
CN115527525B (zh) * | 2022-11-23 | 2023-04-18 | 广州小鹏汽车科技有限公司 | 语音识别模型生成方法、语音交互方法、车辆和存储介质 |
CN116821309B (zh) * | 2023-08-28 | 2023-11-17 | 北京珊瑚礁科技有限公司 | 一种基于大语言模型的上下文构造方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10540967B2 (en) * | 2016-11-14 | 2020-01-21 | Xerox Corporation | Machine reading method for dialog state tracking |
US10424302B2 (en) * | 2017-10-12 | 2019-09-24 | Google Llc | Turn-based reinforcement learning for dialog management |
US11200885B1 (en) * | 2018-12-13 | 2021-12-14 | Amazon Technologies, Inc. | Goal-oriented dialog system |
US11393454B1 (en) * | 2018-12-13 | 2022-07-19 | Amazon Technologies, Inc. | Goal-oriented dialog generation using dialog template, API, and entity data |
CN110188167B (zh) * | 2019-05-17 | 2021-03-30 | 北京邮电大学 | 一种融入外部知识的端到端对话方法及系统 |
-
2020
- 2020-06-24 CN CN202010590994.2A patent/CN111737434A/zh active Pending
- 2020-06-24 US US16/910,435 patent/US11475890B2/en active Active
-
2022
- 2022-08-30 US US17/899,162 patent/US20220415324A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113240046A (zh) * | 2021-06-02 | 2021-08-10 | 哈尔滨工程大学 | 一种基于知识的视觉问答任务下的多模态信息融合方法 |
CN113240046B (zh) * | 2021-06-02 | 2023-01-03 | 哈尔滨工程大学 | 一种基于知识的视觉问答任务下的多模态信息融合方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200402507A1 (en) | 2020-12-24 |
US20220415324A1 (en) | 2022-12-29 |
US11475890B2 (en) | 2022-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111737434A (zh) | 直接从对话历史和资源中生成自动化助理响应和/或动作 | |
CN111033492B (zh) | 为自动化助手提供命令束建议 | |
US11948563B1 (en) | Conversation summarization during user-control task execution for assistant systems | |
US11734375B2 (en) | Automatic navigation of interactive web documents | |
US11941420B2 (en) | Facilitating user device and/or agent device actions during a communication session | |
CN110741364B (zh) | 确定自动化助理对话的状态 | |
US10771406B2 (en) | Providing and leveraging implicit signals reflecting user-to-BOT interaction | |
US11545157B2 (en) | Speaker diartzation using an end-to-end model | |
CN112597777A (zh) | 一种多轮对话改写方法和装置 | |
US20230237312A1 (en) | Reinforcement learning techniques for selecting a software policy network and autonomously controlling a corresponding software client based on selected policy network | |
CN109154899B (zh) | 用于利用在线服务执行用户指令的交互框架 | |
EP3942399B1 (en) | Automated assistant for generating, in response to a request from a user, application input content using application data from other sources | |
US11830490B2 (en) | Multi-user voice assistant with disambiguation | |
US20230367602A1 (en) | Speculative execution of dataflow program nodes | |
WO2023219686A1 (en) | Speculative execution of dataflow program nodes | |
US20230214782A1 (en) | Intelligent assistant that finds availability, coordinates and decides on meetings between 2 or more entities |
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 |