E2E NLG Challenge: Neural Models vs. Templates 论文笔记(附模型代码)

原文链接:http://www.macs.hw.ac.uk/InteractionLab/E2E/final_papers/E2E-UKP_TUDA.pdf

Abstract

E2E NLG Challenge是一项共享任务,用于根据键值对生成餐馆描述。 本文描述了我们参与挑战的结果。 我们开发了一种简单而有效的神经编码器 - 解码器模型,可以产生流畅的餐厅描述并且优于强大的基线。 我们进一步分析组织者提供的数据,并得出结论,也可以在几个小时内开发出基于模板的模型来处理任务。

1.Introduction

自然语言生成(NLG)是从结构化数据表示生成自然语言发音的任务。 后者可以是句法树,一组抽象逻辑形式,键值属性对,向量空间嵌入,多变量时间序列,传感器测量。

E2E NLG Challenge2是一项共享任务,专注于端到端数据驱动的NLG方法。 这些方法引起了很多关注,因为它们从非对齐数据执行文本结构和表面实现模式的联合学习,这允许显着减少NLG语料库创建所需的人类注释工作量。

我们的工作总结如下:

•我们展示了如何利用数据属性来设计更精确的神经架构。 •我们开发了一个简单的基于模板的系统,该系统实现了与神经方法相当的性能。

本节进一步描述了组织者提供的任务,数据集和基线。 第2节介绍了我们开发的两个系统。 第3节描述了基于度量的评估结果,然后是系统预测的错误分析。 为了证实我们的研究结果,我们仔细研究了数据集,并在第4节中提出了我们的观察结果。最后,我们以讨论部分结束,总结了获得的结果(第6节)。

1.1 Task Defiition

共享任务的组织者在餐馆域中提供了50k实例的众包数据集。 每个培训实例都包含一个基于对话行为的意义表示(MR)和最多16个自然语言的参考(见图1):

使用图形表示作为刺激收集数据,旨在创建比文本输入可能产生的更自然,信息量和多样化的人类参考。

任务是从给定的MR产生话语,该话语既与人类生成的参考文本类似,又由人类高度评价。 使用标准评估指标评估相似性:BLEU,NIST,METEOR,ROUGE-L,CIDEr。 然而,最终评估是通过使用众包和专家注释的混合获得的人类评级来完成的。

E2E NLG Challenge数据集分为76.5:8.5:15比例的训练,验证和测试集,确保不同组中的MR不同。 开发集输入与多个参考配对,以促进更可靠的模型选择程序; 测试数据仅包含输入MR。 目标是开发和训练NLG系统并提交每个测试实例的餐馆描述预测。

为了更好地评估所提出的方法,组织团队使用最近的E2E数据驱动系统之一TGen作为基线。 它是一个具有注意力的序列序列(seq2seq)神经系统。 除了标准的seq2seq模块之外,TGen还使用波束搜索进行解码,在前k个输出上包含一个reranker,惩罚那些不会从输入MR语言化所有属性的候选者。 TGen还包括一个delexicalization模块,它通过在预处理输入数据时将这些值映射到占位符标记,并用实际值替换占位符作为后处理步骤来处理稀疏出现的MR属性(name,near)。

2.Our Approach

本节描述了我们处理这个任务的两种不同方法。

第一种(Model-D, for 'data-driven')是一种和TGen相似的编码解码器神经网络,但是它使用了一种更有效的编码模块。给定一组MR键值对,TGen通过将键值相连接将其线性转化成tokens的序列。将得到的序列进一步送入递归神经网络(RNN)。 RNN具有能够处理可变大小输入的优点。但是,它们还会学习序列项之间的依赖关系,这在某些情况下可能并不理想。我们决定研究利用数据属性的方法,以便处理不同大小的输入,同时避免在构成MR属性之间施加任何依赖性,因为每个输入MR是一组项,而不是序列(第2.1节)。

2.2节介绍了第二种方法,它是一种简单的基于模板的模型(Model-T,for 'template-based'),我们根据探索性数据分析的结果开发了该模型。 我们认为这样的系统是比较的必要候选者,因为E2E NLG挑战数据旨在学习能够产生“更自然,更多样且更少模板的系统话语”的模型。

2.1 Model-D

Model-D受到E2E NLG Challenge数据的两个重要属性的推动:

  • 固定数量的唯一MR属性

  • MR属性值的词汇实例的低多样性

每个输入MR包含固定数量的唯一属性(在3和8之间),这允许我们将位置id与每个属性相关联,并从编码过程中省略相应的属性名称(或键)。这使得编码序列长度缩短,从而使得编码器的学习过程更加容易。这也统一了输入MR的长度,因此允许我们使用更简单和更有效的神经网络,这些神经网络不是顺序的,而是在一个步骤中处理输入序列(例如:多层感知器(MLP)网络)。

有人可能会争辩说,使用MLP会因为活性的(非空值)输入MR键的数量和构成相应值的令牌数量都不固定这一事实而变得复杂。比如说,一个MR键price可能会有一个单一标记值‘low’,或者一个更长的标记值'less than $10'。然而,MR属性值的实现表现出低可变性:八个键中的6个加起来只有少于7个唯一值,而剩下的两个键(name, near)表示命名实体,因此易于进行去词汇化。这允许我们将每个值视为单个标记,即使它由多个单词组成(比如:'more than $30', 'Fast food')。

数据处理部分代码:

def process_e2e_mr(self, mr_string):
    """
    Processing E2E NLG Challenge meaning representation
    Represent each MR as a list of 8 attributes, specified in MR_KEYMAP.
​
    :param mr_string:'name[The Vaults], eatType[pub], priceRange[more than £30], customer rating[5 out of 5], near[Café Adriatic]'
    :return:
    mr_data: ['<name>', 0, 'pub', 0, 'more than £30', '<near>', 0, '5 out of
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值