Advertisement

[论文笔记]End-to-End Memory Networks with Knowledge Carryover for Multi-Turn Spoken Language Understandi

阅读量:

本文是对论文《End-to-End Memory Networks with Knowledge Carryover for Multi-Turn Spoken Language Understanding》的阅读笔记。文章探讨了自然语言理解(NLU)在对话系统中的核心作用,并指出传统NLU架构在处理多轮对话时的两个主要问题:上一轮对话的错误可能导致当前表现下降,且长历史中的知识未被有效携带。作者提出了一种基于端到端记忆网络的模型,该模型通过将句子和意图编码到内存中,并利用注意力机制从历史信息中提取知识来解决这些问题。模型通过RNN架构和知识注意力分布对历史信息进行编码,并将其应用于槽值填充和意图识别任务。实验表明该方法在保持上下文信息的同时提升了性能。

引言

这篇论文End-to-End Memory Networks with Knowledge Carryover for Multi-Turn Spoken Language Understanding是我的深入学习心得

NLU(Natural language understanding为自然语言理解技术,在实际应用中有时也被称为语音语言理解技术)构成了对话系统的关键模块。传统的架构通常以句子为单位进行处理,在这种模式下存在两个主要缺陷:一是上一轮对话中出现错误可能会影响当前轮的表现;二是长期对话中积累的知识可能无法在当前轮中被有效继承。

针对这两个关键问题,作者设计了一个基于端到端记忆网络的模型用于建模多轮对话中的信息传递过程。其中模型同时编码了输入句子及其意图,并将槽位作为嵌入形式存储于内存中。在解码过程中,我们采用了注意力机制以整合之前保存的信息以提升意图识别与槽位填充的效果。

简介

NLU将用户的输入的语句转换到语义框架中以捕获核心语义信息。

在典型的NLU架构中, 首先通过分析输入语句来识别具体领域, 然后通过该领域的详细分析来识别意图类型并填充与之相关的语义信息.

image-20230725110410235

图1展示了用户的语句"express fishing intentions for Bob this weekend"及其对应的发送邮件操作send email(contact name="Bob", subject="fishing intentions this weekend")

在传统研究中,在领域预测与意图识别方面主要关注的是分类任务,在槽值填充方面则集中于序列标注技术的研究

上下文信息已被证明对NLU极为重要,例如图1的下半部分展示了两段文字:其中一段包含了发送邮件(第一段所述的内容)中的正文部分;因此,在保留了上下文信息的情况下,则更有可能判断这两个语义槽messagesend_email具有相同的意图。

该研究构建了一个基于RNN架构的方法,在对当前语句进行标记标注前需获取关键性外部记忆数据。该研究首次探索使用端到端神经网络模拟长距离自然语言理解中的持续信息传递机制。

端到端的记忆网络

针对自然语言理解(NLU)子任务,在模型训练过程中,在线读取并处理历史对话数据集中的离散对话对\{x_i\};对于当前对话上下文\pmb c = w_1, \dots, w_T进行计算,并生成相应的意图识别结果与命名实体识别信息;每个生成的语义标签均包含意图识别和命名实体识别的信息。

Architecture

该模型将对话历史的所有语句转化为嵌入向量后存储于内存中。随后将当前输入的表达式与内存中的其他表达式进行对比,并借助注意力机制整合上下文信息。接着在这一基础上编码器所掌握的知识被用来推断意义标签。最后部分阐述了整个系统的四个核心环节。

image-20230725112715287

Memory Representation

为了保存历史对话的信息,基于RNN技术将每个回合中的x_i转化为一个d维空间中的向量m_i。当前输入语句c同样被映射到这一空间中的向量表示形式为\bm{u}

\bm{m}_i = \text{RNN}_{men} (\bm{x}_i) \tag{1}

u = \text{RNN}_{in}(c) \tag{2}

Knowledge Attention Distribution

在嵌入空间中采用加性核函数的方法对给定输入u与每一个记忆向量m_i进行点积运算以获得其匹配程度这一过程被称为加性核函数映射

在模型中,p_i被定义为建模知识传递过程中的注意力权重分配机制,在这种机制下能够更深入地理解当前内容。

Knowledge Encoding Representation

通过从历史对话中提取知识并使用注意力机制将各个m_i进行加权求和来获得历史向量h:

h = \sum_{i} p_im_i \tag 4

接着将该向量h与当前输入嵌入层的表示u一起传递到权重矩阵(W_{kg}), 经过线性变换后生成输出的知识编码向量o:

o = W_{kg}(h+u) \tag 5

在这里, 权重矩阵$(W_{kg})$被设计用于提取并整合所涉及的知识信息。

Sequence Tagging

为了提升标注效果而加入补充的知识后,在这种情况下我们希望估计给定输入单词序列\pmb c对应的标签序列\pmb y。为此我们采用了基于RNN的槽标签器(Slot Tagger)并通过将知识向量o输入到该模型中以便提取相关知识信息从而得到公式如上所示:

RNN Tagger

该系统旨在为输入序列中的每一个词分配相应的语义标签。该系统基于Elman型 recurrent neural network架构设计。

知识负载

为了阐述历史轮次建模编码的知识体系,在每个时间步t时,在公式(5)中输入知识编码向量o以及对应的单词符号w_t至RNN模型中进行处理。基于此,在每个时间步t时,RNN模型的隐藏层状态可以通过以下公式进行计算:

h_t = \phi(M_o + W_{w_t} + Uh_{t-1}) \tag{14}

其中h_t表示第t个隐藏状态。

image-20230727090252804

如图3所示,红色虚线表示携带的知识。

全部评论 (0)

还没有任何评论哟~