用于面向任务的对话的全局到本地存储器指针网络

文档序号:621310 发布日期:2021-05-07 浏览:9次 >En<

阅读说明:本技术 用于面向任务的对话的全局到本地存储器指针网络 (Global to local memory pointer network for task oriented dialog ) 是由 C-S·吴 C·熊 R·佐赫尔 于 2019-09-25 设计创作,主要内容包括:提供了一种用于为用户和计算机之间的对话生成应答的系统和相应的方法。系统包括存储对话历史和知识库的信息的存储器。编码器可以接收来自用户的新话语并且生成用于过滤存储器中的知识库信息的全局存储器指针。解码器可以为新话语生成至少一个本地存储器指针和草稿应答。草稿应答包括要由来自存储器的知识库信息替换的至少一个草稿标签。系统使用本地存储器指针,从过滤的知识库信息中选择词语来替换草稿应答中的至少一个草稿标签,从而生成对话计算机应答。(A system and corresponding method for generating a response for a dialog between a user and a computer are provided. The system includes a memory that stores information of the conversation history and knowledge base. The encoder may receive a new utterance from a user and generate a global memory pointer for filtering the knowledge base information in the memory. The decoder may generate at least one local memory pointer and a draft response for the new utterance. The draft answer includes at least one draft label to be replaced by the knowledge base information from the memory. The system uses the local memory pointer to select a word from the filtered knowledge base information to replace at least one draft label in the draft response, thereby generating a conversational computer response.)

具体实施方式

说明方面、实施例、实施方案或应用的说明和附图不应被视为限制。权利要求书限定受保护的发明。在不偏离本说明书和权利要求书的精神和范围的情况下,可以进行各种机械的、组成的、结构的、电气的和操作的改变。在一些情况下,没有详细示出或描述公知的电路、结构或技术,因为这些是本领域技术人员已知的。两个或多个图中的相同数字表示相同或相似的元件。

在本说明书中,阐述了描述根据本申请的一些实施例的具体细节。为了提供对实施例的透彻理解,阐述了许多具体细节。然而,对于本领域技术人员很清楚的是,可以在没有这些具体细节中的一些或全部的情况下实施一些实施例。本文所披露的具体实施例旨在说明而非限制。本领域的技术人员可以认识到,尽管未在此具体描述,但其他元件也在本申请的范围和精神内。此外,为了避免不必要的重复,结合一个实施例示出和描述的一个或多个特征可以结合到其他实施例中,除非另外具体描述或者这一个或多个特征将使实施例不起作用。

为了减少开发对话系统所需的人力,以及为了在对话系统的领域或应用之间进行扩展,已经开发了输入明文并直接输出系统应答的端到端对话系统。然而,这些端到端对话系统通常的缺点在于它们不能有效地将外部知识库(KB)合并到系统应答生成中。其原因之一是,大的动态的知识库可能是庞大的和有噪声的输入,这将使应答的产生或输出不稳定。与闲谈(chit-chat)情景不同,问题对于在面向任务的对话系统中的使用可能特别具有挑战性或有害,因为知识库中的信息通常被期望在应答中包括正确或适当的实体。例如对于实现汽车驾驶助理的对话系统,知识库可以包括如图6所示的示例表610中所示的信息。在用户与系统交互的示例对话中,如表620所示,用户/驾驶员可以做出对汽油的询问(例如“我需要汽油”)。访问表620的知识库的系统可以将“瓦莱罗(Valero)”标识为“加油站”。但应答于来自驱动程序的后续查询“地址是什么?”,系统可以识别多种可能性——“范内斯大街580号(580Van Ness Ave)”、“范内斯大街394号”、“箭头大道842号(842ArrowheadWay)”、“奥斯特大街200号(200Alester Ave)”等。驾驶员将期望系统将地址提供给加油站(例如瓦莱罗),而不是将地址用于朋友的房屋(例如汤姆家(Toms house))或咖啡和茶场所(例如库帕(Coupa))或一些其他随机场所。

为了解决问题,根据一些实施例,本申请提供了用于在面向任务的对话系统中生成应答的全局本地存储器指针(GLMP)网络或模型。GLMP网络或模型包括全局存储器编码器、本地存储器解码器和外部知识存储器。GLMP在编码器和解码器之间共享外部知识,并且利用编码器和外部知识来学习全局存储器指针。然后它被传播到解码器并修改外部知识,过滤对于复制到应答中不必要的词语。之后,本地存储器解码器首先使用递归神经网络(RNN)来获得具有草稿(sketch) 标签的草稿应答,而不是直接生成系统应答。带有标签的草稿应答操作为或者可以被认为是学习潜在的对话管理以生成用于对话动作的模板。然后,解码器生成本地存储器指针,以从外部知识存储器复制词语以替换草稿标签。

计算设备

图1是根据一些实施例的计算设备100的简化图。如图1所示,计算设备100包括联接到存储器120的处理器110。计算设备100的操作由处理器110控制。尽管计算设备100被示出为仅具有一个处理器110,但是应当理解,处理器110可以表示计算设备100中的一个或多个中央处理单元、多核处理器、微处理器、微控制器、数字信号处理器,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、图形处理单元(GPU)、张量处理单元(TPU)和/或类似物。计算设备 100可以实现为独立子系统、添加到计算设备的板和/或虚拟机。

存储器120可用于存储由计算设备100执行的软件和/或在计算设备100的操作期间使用的一个或多个数据结构。存储器120可以包括一种或多种类型的机器可读介质。机器可读介质的一些常见形式可包含软盘、软磁盘、硬盘、磁带、任何其他磁性介质、CD-ROM、任何其他光学介质、打孔卡、纸带、具有孔图案的任何其他物理介质、RAM、 PROM、EPROM、FLASH-EPROM、任何其他存储器芯片或盒式磁盘,和/或处理器或计算机适于从其读取的任何其他介质。

处理器110和/或存储器120可以以任何合适的物理布置来布置。在一些实施例中,处理器110和/或存储器120可以在相同的板上、在相同的封装(例如系统级封装)中、在相同的芯片(例如片上系统) 和/或类似物上实现。在一些实施例中,处理器110和/或存储器120可以包括分布式、虚拟化和/或容器化的计算资源。根据这些实施例,处理器110和/或存储器120可以位于一个或多个数据中心和/或云计算设施中。

如图所示,存储器120包括全局本地存储器指针模块130。全局本地存储器指针模块130可用于实现和/或生成全局本地存储器指针,以用于本文中进一步描述的系统、方法和模型的面向任务的对话中的应答生成。在一些示例中,全局本地存储器指针模块130可以被使用或结合在对话系统中,通过对话系统,一个或多个用户可以与机器(例如计算机)交互。每个对话可以包括用户和机器之间的信息、问题、查询、应答的互换。这一系列的交流构成了对话的历史。对于给定的对话,全局本地存储器指针模块130接收用户话语或语音150,并为其生成适当的应答160。为了实现这一点,如下面更详细描述的,全局本地存储器指针模块130生成用于知识库中的信息或数据的全局指针和本地指针,可以从所述知识库中生成或创建应答。全局本地存储器指针模块130还可以接收一个或多个知识库155。

在一些示例中,全局本地存储器指针模块130可以包括具有适当的预处理、编码、解码和输出层的单层或多层神经网络。神经网络作为一种具有人类相似准确度的自动分析真实世界信息的技术具有良好的应用前景。通常,神经网络模型接收输入信息并基于输入信息进行预测。例如神经网络分类器可以在预定的类别集合中预测输入信息的类别。而分析真实世界信息的其他方法可涉及硬编码过程、统计分析和/或类似物,神经网络通过试验和试错的过程使用机器学习过程来学习以逐步进行预测。可以使用大量训练示例来训练给定的神经网络模型,迭代地进行直到神经网络模型开始与训练示例一致地做出人类可能做出的类似推断。在一些示例中,全局本地存储器指针模块130 可以包括用于存储知识库和当前对话的历史等的存储网络。尽管全局本地存储器指针模块130被描绘为软件模块,但其可使用硬件、软件和/或硬件与软件的组合来实施。

虽然图1是高级图,但是图2-5示出了根据一些实施例的全局本地存储器指针模型或网络的更多细节。图7示出了用于全局本地存储器指针模型或网络的相应方法700。

全局本地存储器指针模型

图2是根据一些实施例的用于面向任务的对话系统的全局本地存储器指针模型或网络200的简化图。在一些实施例中,全局本地存储器指针模型或网络200可以实现图1的全局本地存储器指针模块130。

在一些实施例中,如图所示,模型可以包括或包含全局存储器编码器210、本地存储器解码器220和共享外部知识存储器230。在一些实施例中,编码器210和解码器220中的一个或两个包括一个或多个递归神经网络(RNN)。

全局本地存储器指针模型200接收作为输入的一个或多个知识库 (KB)和用于当前对话(例如用户与系统之间的交换(exchange)) 的信息。知识库包括可能与生成对与对话相关联的用户的查询或话语的应答相关的信息或数据。信息可以包括例如人、地点或兴趣点(poi) 的名称、每个poi的类型、每个poi的地址或联系人信息等。知识库的信息的示例在图6的表610中示出。对话信息可以包括针对当前对话在用户与系统之间交换的话语和应答的历史。此对话历史信息的示例在图6的表620中示出。来自对话历史和知识库的输入词语或话语可以分别被视为元素的序列X=(xl,……,xn)和B=(b1,……,bl)。在一些实施例中,如图2所示,外部知识存储器230在知识库存储器232中接收并存储一个或多个知识库(KB),并且在对话存储器234中接收并存储用于当前对话的信息(例如用户与系统之间的交换)。模型200 的输出是Y=(yl,……,ym),其是对话中当前用户话语的期望系统应答。

全局存储器编码器210可以接收用户在与计算设备进行对话期间发出的一个或多个话语(图7的过程720)。根据一些实施例,全局存储器编码器210使用语境RNN来编码对话历史并将其隐藏状态写入外部知识存储器230中。然后使用最后一个隐藏状态读取外部知识并生成全局存储器指针G。在解码阶段期间,本地存储器解码器220 首先使用草稿RNN生成草稿应答。草稿应答本身不从外部知识库复制信息;更确切地说,它操作或用作带有草稿标签的系统应答的模板,草稿标签用于要从外部知识库复制或获得的项目以待进一步处理。草稿应答的示例可以是:“@poi为@距离远”,其中@poi和@距离分别是待填充兴趣点(poi)和距离的草稿标签。全局存储器指针G和草稿RNN隐藏状态被传递到外部知识存储器230作为过滤器和查询。基于输入,本地存储器指针L从外部知识存储器230返回。本地存储器指针L用于从外部知识中复制明文(例如“瓦莱罗”、“4英里”),以替换草稿标签(例如@poi、@距离),从而获得最终系统应答,例如“瓦莱罗为4英里远”。计算设备可以应答于用户的话语向用户输出应答。

外部知识存储器

图3是根据一些实施例的外部知识存储器300的简化图。外部知识存储器300存储对话历史和知识库(图7的过程710)。在一些实施例中,外部知识存储器300可以实现图2的神经模型200的外部知识存储器230。外部知识存储器300包括KB存储器模块332和对话存储器模块334,在一些实施例中,它们可以分别实现图2的神经模型200的存储器232和234。

在一些实施例中,存储器300中的外部知识包含与全局本地存储器指针模型(例如200)的编码器(例如210)和解码器(例如220) 共享的全局语境表示。为了将外部知识结合到学习框架中,在一些实施例中,外部知识存储器300可以使用端对端存储网络(MN)来实现,所述端对端存储网络存储结构KB和时间相关对话历史的词级信息。如图所示,这可以包括KB存储器和对话存储器。此外,端到端存储网络(MN)提供、支持或允许多跳跃推理能力,这可以增强复制机制。

全局语境表示

在一些实施例中,在KB存储器模块332中,每个元素bi∈B以三元组格式作为(主题、关系、对象)结构表示,这是用于表示KB 节点的通用格式。例如图6的表610中的知识库B将被表示为{(汤姆家,距离,3英里),……,(星巴克,地址,792Bedoin St)}。另一方面,对话语境X被存储在对话存储器模块334中,其中说话者和时间编码像三元组格式一样被包括,如在Board et al.,“Learning end-to-end goal-oriented dialog”,InternationalConference on Learning Representations,abs/1605.07683,2017中进一步详细描述的,其通过引用结合于此。例如来自图6中的表620中的驾驶员的第一话语将被表示为{($user,turn1,I),($user,turn1,need),($user,turn1,gas)}。对于两个存储器模块,使用词袋表示作为存储器嵌入。在推理期间,一旦指向存储器位置,就复制目标词语;例如如果选择三元组(汤姆家,距离,3 英里),将复制3英里。目标(.)函数表示为从三元组中获得目标词语。

知识读写

在一些实施例中,外部知识包括成组的可训练嵌入矩阵 C=(C1,...,CK+1),其中Ck∈R|V|xdemb,K是端到端存储网络(MN)中的最大存储器跳跃,|V|是词汇表大小,而demb是嵌入维度。外部知识中的存储器表示为M=[B;X]=(m1,...,mn+l),其中mi是所述的三元组分量之一。为了读取存储器,外部知识使用初始查询向量q1。此外,它可以循环K个跳跃并且使用如下计算在每个跳跃k处的注意力权重,

其中是使用嵌入矩阵Ck在第i个存储器位置中进行的嵌入,qk是跳跃k的查询向量,并且B(.)是词袋函数。注意,pk∈ Rn+1是决定相对于查询向量的存储器相关性的软存储器注意力。然后,模型通过ck+1上的加权和读出存储器ok,并更新查询向量qk+1。形式上,

全局存储器编码器

图4是根据一些实施例的用于编码对话历史X和知识库B的编码器400的简化图。编码器400可以在与计算设备的对话期间接收用户发出的一个或多个话语(图7的过程720)。在一些实施例中,编码器400可以实现图2的神经模型200的编码器210。

在一些实施例中,编码器400可以被实现为语境递归神经网络 (RNN)。语境RNN用于对顺序依赖进行建模,并对语境或对话历史X进行编码。然后,隐藏状态H被写入外部知识或存储器(例如图2和图3中所示的230或300)。然后,最后一个编码器隐藏状态作为查询读取外部知识并产生或获得两个输出、全局存储器指针G和存储器读出。

直观地,由于端对端存储网络(MN)架构难以建模存储器之间的依赖性,这可能是尤其在对话相关任务中的缺点,所以将隐藏状态写到外部知识可以提供顺序的和语境化的信息,并且还可以减轻常见的词汇量外(OOV)挑战。此外,使用编码的对话语境作为查询可以鼓励外部知识存储器(例如230或300)读出与隐藏对话状态或用户意图相关的信息。此外,学习全局存储器分布的全局存储器指针与编码的对话历史和编码的知识库(KB)信息一起被传递到解码器。

语境RNN

在一些实施例中,编码器400的语境RNN可以包括或利用多个编码元件402来实现,这些编码元件402分开地或一起可以包括一个或多个双向门控循环单元(GRU)(例如在Chung等人2014年的文献中描述的,该文献通过引用并入本文)。每个编码元件402可以对语境或对话历史X的词语或文本进行操作以生成隐藏状态最后一个隐藏状态用于查询外部知识存储器作为编码的对话历史。此外,通过将原始存储表示与相应的隐藏状态相加,将隐藏状态H写入外部知识300中的对话存储器模块334中。式中,

如果mi∈X并且

全局存储器指针

编码器400生成全局存储器指针G(图7的过程730)。在一些实施例中,全局存储器指针G=(g1,...,gn+1)包括包含0和1之间的实值的向量。不同于所有权重总计为1的传统注意力机制,全局存储器指针G中的每个元素可以是独立的概率。模型200首先使用直到最后一个跳跃来查询外部知识300,并且模型执行内积,随后是Sigmoid 函数,而不是如(1)中那样应用Softmax函数。所获得的存储器分布是全局存储器指针G,其被传递到解码器。为进一步加强全局指向能力,增加辅助损耗训练全局存储器指针作为多标签分类任务。如消融研究(ablation study)所示,增加这种额外的监督可以改善性能。最后,将存储器读出qK+1用作编码的KB信息。

在辅助任务中,通过检查存储器中的目标词语是否存在于期望的系统应答Y中来定义标签然后使用G与Glabel之间的二进制交叉熵损失Lossg训练全局存储器指针。式中,

在一些实施例中,如下面更详细地解释的,全局存储器指针用于过滤来自存储器的知识库模块(232或332)的信息,以用于生成对用户话语的合适的对话应答。

本地存储器解码器

图5是根据一些实施例的解码器500的简化图。在一些实施例中,解码器500可以实现图2的神经模型200的解码器220。在一些实施例中,解码器500被实现为递归神经网络(RNN)。

在一些实施例中,解码器500的RNN生成用于对用户话语的计算机应答的模板或草稿。草稿应答可以包括成组的元素。草稿应答的这些元素中的一些元素将出现在从计算设备100输出的实际对话应答中。可以被称为草稿标签的这些元素中的其他元素将由来自实际对话应答中的知识库的词语来代替。草稿应答的示例是“@poi为@距离远”,其中@poi和@距离每个是草稿标签。在计算机对话应答中,这些草稿标签可以分别用来自知识存储器(例如232或332)的词语“星巴克”和“1英里”来替换,以使应答实际输出为“星巴克为1 英里远”。

本地存储器解码器500使用编码的对话历史编码的KB信息 qK+1和全局存储器指针G,首先使用对话历史和编码的KB信息qK+1的级联来初始化其草稿RNN,并且生成排除隙值(slot values)但包括草稿标签的草稿应答。在每个解码时间步,草稿RNN的隐藏状态用于两个目的:(1)预测词汇表中的下一个令牌,其可以与标准的序列到序列(S2S)学习相同;(2)作为向量查询外部知识。如果生成草稿标签,则全局存储器指针G被传递到外部知识300,并且将从本地存储器指针L中拾取期望的输出词语。否则,输出的词语为草稿 RNN生成的词语。例如在图5中,在第一时间步产生poi标记(@poi),因此,从本地存储器指针L中提取词语“星巴克”作为系统输出字。

草稿RNN

解码器500生成草稿应答(图7中的过程740)。在一些实施例中,解码器500的草稿RNN可以包括或利用多个元件502来实现,这些元件502可以单独地或一起包括一个或多个双向门控循环单元 (GRU)。在一些实施例中,草稿RNN用于生成没有真实时隙值的草稿应答草稿RNN学习基于编码后的对话和 KB信息(qK+1)生成动态对话动作模板。在每个解码时间步t,草稿 RNN隐藏状态及其输出分布被定义为

使用标准交叉熵损失来训练草稿RNN,并且将Lossv定义为

基于所提供的实体表,将Y中的隙值替换为草稿标签。草稿标签 ST是以特殊令牌开始的所有可能的隙类型,例如@地址代表所有地址,而@距离代表所有距离信息。

本地存储器指针

解码器500生成一个或多个本地存储器指针L(图7中的过程 760)。在一些实施例中,本地存储器指针L=(L1,...,Lm)包括指针序列。全局存储器指针G过滤外部知识存储器300的知识库信息(图7的过程750)。在每个时间步t,全局存储器指针G首先使用其注意力权重来修改全局语境表示,

并且

然后草稿RNN隐藏状态查询外部知识300。最后跳跃中的存储器注意力是对应的本地存储器指针Lt,其被表示为时间步t处的存储器分布。为了训练本地存储器指针,在外部知识中增加了对最后跳跃的存储器注意力的监督。将解码时间步t的本地存储器指针Llabel的位置标签定义为

位置n+1+1是存储器中的空令牌,其允许模型计算损失函数,即使yt不存在于外部知识中。然后,将L和Llabel之间的损失定义为

此外,利用记录R∈Rn+1来防止相同实体的多次复制。R中的所有元素在开头初始化为1。全局本地存储器指针模型或网络为当前用户话语生成对话计算机应答Y(图7的过程770)。在解码阶段期间,如果已经指向存储器位置,则其在R中的对应位置将以所学习的标量 r衰减。即,如果已经复制了对应的令牌,则软屏蔽全局语境表示。在推断时间期间,将yt定义为

其中⊙是元素式乘法。最后,通过最小化三个损失之和,对所有参数进行联合训练:

Loss=Lossg+Lossv+Lossl (11)。

数据集

在一些实施例中,可以使用两个公共的面向任务的多匝对话数据集(publicmulti-turn task-oriented dialogue datasets)来评估模型:bAbI 对话(如在Boards etal.,“Learning end-to-end goal-oriented dialog”, International conference onLearning,abs/1605.07683,2017中所详细地描述的,该文献通过引用并入本文)和Stanford多域对话(SMD)(如在Eric et al.,“A copy-augmented sequence-to-sequencearchitecture gives good performance on task-oriented dialogue”,In Proceedingsof the 15th Conference of the European Chapter of the Association forComputational Linguistics:Volume 2,Short Paper,pp.468-473, Valencia,Spain(2017年4月)中更详细地描述的,该文献通过引用并入本文)。bAbI对话包括餐厅域中的五个模拟任务。任务1到4 分别是关于调用API调用、修改API调用、推荐选项和提供附加信息。任务5是任务1-4的联合。每个任务有两个测试集:一个遵循与训练集相同的分布,另一个具有OOV实体值。另一方面,SMD是人-人多域对话数据集。它有三个不同的领域:日历安排、天气信息检索和兴趣点导航。这两个数据集之间的关键区别在于,前者具有较长的对话轮但具有规则的用户和系统行为,后者具有较少的对话轮但具有不同的应答并且KB信息更加复杂。

结果

bAbI对话。图8的表是根据bAbI对话的评估的示例。基于bAbI 对话上的各种任务(例如T1、T2、T3、T4、T5)的每应答准确度和任务完成率(括号中),表将全局本地存储器指针(GLMP)模型或网络的性能与以下几项的基线进行比较:QRN(参见Seo et al., “Query-reduction networks for question answering”,International Conference onLearning Representations,2017,该文献通过引用并入本文)、MN(参见Bordes et al.,“Learning end-to-end goal-oriented dialog”, International Conference onLearning Representations,abs/l605.07683, 2017,该文献通过引用并入本文)、GMN(参见Liu et al.,“Gated end-to-end memory networks”,In Proceedings of the 15thConference of the European Chapter of the Association for ComputationalLinguistics (Volume 1,Long Papers)pp.1-10,Valencia,Spain(2017年4月),Association for Computational Linguistics, http://www.aclweb.org/anthology/El7-l00l,该文献通过引用并入本文)、 Ptr-Unk(Gulcehre et al.,“Pointing theunknown words,”In Proceedings of the 54th Annual Meeting of the Associationfor Computational Linguistics(Volume 1,Long Papers),pp.140-149,Berlin,Germany(2016年8月),Association for Computational Linguistics, http://www.aclweb.org/anthologv/P16-1014,该文献通过引用并入本文) 以及Mem2Seq(Madotto et al.,“Mem2seq:Effectively incorporating knowledge bases into end-to-end task-oriented dialog systems”,In Proceedings of the 56th Annual Meeting of theAssociation for Computational Linguistics(Volume 1,Long Papers),pp.1468-1478,Association for Computational Linguistics,2018,URL http://aclweb.org/anthology/P18-1136,该文献通过引用并入本文)。注意,话语检索方法(例如QRN、MN和GMN)不能正确地推荐选项(T3)并提供附加信息(T4),并且在OOV设置中观察到差的泛化能力,这在T5中具有大约30%的性能差异。尽管先前基于世代的方法已经通过合并复制机制来减轻了差距,但是最简单的情况(如生成和修改API调用(T1、T2)仍然面临6-17%的OOV性能下降。另一方面,本申请的GLMP模型或网络在全对话任务中实现最高的 90.5%的任务完成率,并且特别是在OOV设置中,以显著的裕度超过其他基线。此外,在任务5中,对于仅使用单跳跃的T1、T2、T4,不存在每应答准确度损失,并且仅降低7-9%。GLMP模型实现了最少的词汇量外性能下降。

Stanford多域对话(SMD)。图9的表是根据SMD对人类-人类对话情景的评估的示例。这遵循先前的对话工作,以在两个自动评估度量、BLEU和实体Fl分值2上评估GLMP模型。如图9的第一个表所示,GLMP获得最高的14.12BLEU和55.38%的实体F1得分,这是对BLEU的轻微改进,但是在实体F1中获得了巨大的收益。实际上,对于面向任务的对话中的无监督评估度量,实体F1可以是比每应答准确度或BLEU更全面的评估度量,人类能够选择正确的实体,但应答非常多样化。注意,基于规则的和KVR的结果不是直接可比较的,因为它们通过使用命名实体识别和链接3将实体的表达映射到规范形式来简化任务。

此外,如图9的第二表所示,报告所生成的应答的人工评估。将 GLMP模型与以前的现有模型Mem2Seq进行比较,并对原始数据集进行应答。从测试集中随机选择200个不同的对话场景以评估三个不同的应答。使用亚马逊机械图(Amazon Mechanical Turk)以1至5的标度评价系统适当性和人类相似性。如在图9的第二表中所示的结果,GLMP模型在两种测量中都优于Mem2Seq,这与先前观察一致。如预期的那样,人类对评估的表现设定了分数的上限。

因此,在SMD数据集中,GLMP模型实现了高于基线的最高 BLEU得分和实体Fl得分,包括先前的现有技术结果。

消融研究。图10的表中示出了全局存储器指针G和对话历史H 的存储器写入的贡献,它们是使用单跳跃模型的消融研究的结果。将在bAbI OOV设置中使用K=1的GLMP的结果与SMD进行比较。没有H的GLMP意味着全局存储器编码器中的语境RNN不将隐藏状态写到外部知识中。如表中所示,没有H的GLMP模型在完整对话任务中的损失多了5.5%。另一方面,没有G的GLMP模型(意味着全局存储器指针不用于修改外部知识)导致SMD数据集中8.29%的实体Fl下降。注意,在任务5中可以观察到1.8%的增加,因此建议使用全局存储器指针G可以在OOV设置中解码之前施加错误的先验概率。但是,在大多数情况下,我们的全局存储器指针仍然可以提高性能。

可视化和定性评价。注意力权重分析已被频繁地用于解释深度学习模型。图11是SMD导航域中的存储器注意力可视化的示例。图 11示出了针对每个生成时间步的最后跳跃中的注意力向量。Y轴是可以被复制的外部知识,包括KB信息和对话历史。基于驱动器在上一轮中询问的问题“地址是什么?”,Gold回答和所产生的应答在顶部,并且全局存储器指针G在左列中示出。可以观察到,在右列中,最终存储器指针成功地复制步骤0中的实体人字形(entity chevron) 及其步骤3中的地址783Arcadia Pl以填充草稿话语。另一方面,在中间栏中报告没有全局加权的存储器注意力。可以发现,即使在步骤 0和步骤3中注意力权重集中在几个兴趣点和地址上,全局存储器指针也可以如所期望地减轻问题。

培训详情

根据一些实施例,使用Adam优化器端到端训练本申请的模型 (Kingma et al.,“Amethod for stochastic optimization”,International Conference on LearningRepresentations,2015,该文献通过引用并入本文),并且学习率减退从le-3到le-4。将跳跃数K设置为1、3、6以比较性能差异。所有嵌入均随机初始化,解码阶段采用简单贪婪策略,无需波束搜索。在开发集(bAbI对话的每应答准确度和SMD的BLEU 分数)上,通过网格搜索来调整隐藏尺寸和退出率等超参数。此外,为了增加模型的泛化和模拟OOV设置,将少量输入源令牌随机掩蔽成未知令牌。模型以PyTorch实现,并且用于每个任务T1、T2、T3、 T4、T5的超参数在图12的表中列出。下表显示了每个数据集中针对不同跳跃选择的超参数。值是嵌入维数和GRU隐藏尺寸,括号之间的值是各自的丢失率。对于所有模型,使用的学习率等于0.001,衰减率为0.5。

人类评估

针对适当性和人类相似性(自然性),将GLMP模型和Mem2Seq 的输出与人类的评价进行比较。适当性从1到5评级,如下:

5:提供了正确的语法、正确的逻辑、正确的对话流程和正确的实体

4:在所提供的实体中有正确的对话流程、逻辑和语法,但略有错误

3:提供了关于语法或逻辑或实体的明显错误,但可接受

2:提供了较差的语法、逻辑和实体

1:提供了错误的语法、错误的逻辑、错误的对话流程和错误的实体。人类相似性(自然性)水平从1到5评级,如下:

5:话语100%是人会说的话

4:话语75%是人会说的话

3:话语50%是人会说的话

2:话语25%是人会说的话

1:话语0%是人会说的话

图13中的图表显示了根据200个对话情景的适当性和人类相似性得分。

因此,本文揭示一种使用全局到本地存储器指针网络的用于面向任务的对话的端到端可训练模型。全局存储器编码器和本地存储器解码器被设计为将共享外部知识结合到学习框架中。经验显示,全局和本地存储器指针即使在词汇量外(OOV)情况下也能够有效地产生系统应答,并且可视化全局存储器指针如何帮助。结果,模型在模拟和人-人对话数据集中都实现了现有技术的结果,并且具有扩展到其他任务(如问答和文本摘要)的潜力。

说明发明方面、实施例、实施方案或应用的描述和附图不应被视为限制。在不偏离本说明书和权利要求书的精神和范围的情况下,可以进行各种机械的、组成的、结构的、电气的和操作的改变。在一些情况下,没有详细示出或描述公知的电路、结构或技术以免模糊本申请的实施例。两个或多个图中的相同数字表示相同或相似的元件。

在本说明书中,阐述了描述根据本申请的一些实施例的具体细节。为了提供对实施例的透彻理解,阐述了许多具体细节。然而,对于本领域技术人员清楚明白的是,可以在没有这些具体细节中的一些或全部的情况下实施一些实施例。本文所披露的具体实施例旨在说明而非限制。本领域的技术人员可以认识到,尽管未在此具体描述,但在其他元件也在本申请的范围和精神内。此外,为了避免不必要的重复,结合一个实施例示出和描述的一个或多个特征可以结合到其他实施例中,除非另外具体描述或者该一个或多个特征将使实施例不起作用。

尽管已经示出并描述了示例性实施例,但是在前述披露中以及在一些情况下,可以考虑宽范围的修改、改变和替换,可以采用实施例的一些特征而不对应地使用其他特征。本领域的普通技术人员将认识到许多变化、替换和修改。因此,本发明的范围应当仅由所附权利要求来限定,并且适当的是,以与在此披露的实施例的范围一致的方式宽泛地解释权利要求。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:电子装置和用于控制电子装置的方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!