ToTTo:受控的表到文本生成数据集

2023-10-12 02:10

本文主要是介绍ToTTo:受控的表到文本生成数据集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文 / Ankur Parikh 和 Xuezhi Wang,Google Research 研究员

在过去几年中,自然语言生成 (Neural Language Generation, NLG) 方向取得了很大的进步,相关的研究已被应用在生成文本摘要等任务中。然而,尽管神经网络已可以生成流畅的文本,但仍然容易产生幻觉(Hallucination,如:生成通顺但与原文不相关的内容),导致无法将这些系统部署在对准确性有较高要求的许多场景。

  • 幻觉
    https://arxiv.org/abs/1707.08052

以 Wikibio 数据集为例,向神经基线模型分配一个任务,使其总结比利时足球运动员 Constant Vanden Stock 的 Wikipedia 信息框内容,但该模型得出了他是一名美国花样滑冰运动员错误结论

  • Wikibio 数据集
    https://arxiv.org/abs/1603.07771

  • 基线模型
    https://arxiv.org/abs/1704.04368

评估所生成文本对源内容契合程度非常具有挑战性,但如果将源内容结构化(例如,以表格形式),那么这一过程在一定程度上会变得容易一些。此外,结构化数据还可以测试模型的推理能力和数字推断能力。但现有的大规模结构化数据集往往含有噪声(即无法完全根据表格式数据推断出作为参考的句子),因此无法通过现有数据集对模型开发中的幻觉进行客观测量。

在“ToTTo:受控的表到文本生成数据集”(ToTTo: A Controlled Table-to-Text Generation Dataset) 一文中,我们提出了一个开放域表到文本生成数据集,并使用全新的注释处理方式(通过句子修订)以及一个用于评估模型幻觉的受控文本生成任务构建该数据集。

  • ToTTo:受控的表到文本生成数据集
    https://arxiv.org/abs/2004.14373

ToTTo 为“Table-To-Text”(表到文本)的缩写,包含训练样本 121,000 个,以及用于开发和测试的样本各 7,500 个。由于注释的准确性,此数据集适合作为高精度文本生成研究中的挑战性 benchmark。数据集和代码已在我们的 GitHub 仓库上开源。

  • GitHub 仓库
    https://github.com/google-research-datasets/totto

表到文本生成

ToTTo 引入了一项受控的 (Controlled) 生成任务,在该任务中,将包含一组选定单元格的 Wikipedia 表用作源材料,生成一句话总结表中的单元格内容。下方示例说明了该任务中的挑战,如数字推理、大型开放域词汇表和不同的表结构等。

例如,在此 ToTTo 数据集中,给定源表及其中突出显示的单元格集(左侧),目标则是生成一句话,如“目标句子”(右侧)。请注意,生成目标句子需要进行数字推断(十一个 NFL 赛季)并理解 NFL(美国国家橄榄球联盟) 领域

注释策略

设计一种根据表格数据注释出自然且简明的句子极具挑战性。一种办法是:如 Wikibio 和 RotoWire 等许多数据集会启发式地将自然生成的文本与表配对,但是这个过程会引入噪声,因此很难区分幻觉主要是由数据噪声还是模型缺陷导致的。另一种办法是:让标注者从头开始编写契合表内容的目标句子,但这样得到的目标句子在结构和风格方面往往缺乏多样性。

相比之下,ToTTo 使用一种全新的数据注释策略,标注者分阶段修订现有的 Wikipedia 句子。这样一来,目标句子就能变得简洁自然,同时表现出有趣多样的语言特性。

数据收集和注释处理的第一步是从 Wikipedia 收集表。在这一步中,给定表会启发式地与相关页面上下文的总结句配对,如页面文本和表之间单词重叠以及引用表格数据的超链接。此总结句可能包含表上没有的信息,也可能包含所指示先行词仅存在于表中(而非句子本身)的代词。

然后,标注者会突出显示表中与总结句相关的单元格,并删除该句中与表无关的短语。标注者还会对句子进行去语境化处理(例如,正确替换/定向代词),以便根据需要生成语法正确的独立句子。

我们的研究表明,标注者在上述任务中能够实现高度一致:突出显示的单元格的 Fleiss Kappa 为 0.856,最终目标句子的 BLEU 为 67.0。

数据集分析

我们对 ToTTo 数据集中超过 44 个类别进行了主题分析,发现体育和国家/地区主题包含一系列细粒度主题,例如体育中的足球/奥林匹克主题以及国家/地区中的人口/建筑物主题,总共占数据集的 56.4%。另外的 44% 的主题范围更广泛,包括表演艺术、交通与娱乐。

此外,我们还随机选取了 100 多个样本,对数据集中不同类型的语言现象展开人工分析。下表汇总了部分需要参考页面和分区标题的样本,以及数据集中可能会对当前系统构成全新挑战的一些语言现象。

语言现象百分比
需要参考页面标题82%
需要参考分区标题19%
需要参考表说明3%
推理(逻辑、数字、时间等)21%
跨行/列/单元格比较13%
需要背景信息12%

基线模型结果

我们列出了文献中三个最先进模型(BERT-to-BERT、 Pointer Generator 和 Puduppully 于 2019 发表的模型)在两个评估指标 BLEU 和 PARENT 上的一些基线结果。除了报告基于整个测试集的分数外,我们还基于一个更具挑战性的子集(由域外样本组成)评估了每个模型。如下表所示,BERT-to-BERT 模型在 BLEU 和 PARENT 这两个指标上的表现都优于其他两个模型。此外,所有模型在挑战性子集上的表现都相当不理想,这表示域外泛化仍具挑战性。


BLEUPARENTBLEUPARENT
模型总体总体挑战挑战
BERT-to-BERT43.952.634.846.7
Pointer Generator41.651.632.245.2
Puduppully 等人于 2019 年发表的模型19.229.213.925.8

  • BERT-to-BERT
    https://arxiv.org/abs/1907.12461

  • Pointer Generator 
    https://arxiv.org/abs/1704.04368

  • Puduppully 于 2019 发表的模型
    https://arxiv.org/abs/1809.00582

   

虽然自动指标可以在一定程度上表明性能,但目前尚不足以评估文本生成系统中的幻象。为更好地理解幻象,我们假设差异表示幻象,并在此前提下手动评估最高性能基线,以确定目标句子对源表内容的忠实度。为计算“专家”性能,我们为多参考测试集中的各个样本设定一个参考模型,并要求标注者比较该样本与其他参考模型的忠实度。如结果所示,最高性能基线下,出现幻象信息的概率约为 20%。

 忠实度忠实度
模型(总体)(挑战)
专家93.691.4
BERT-to-BERT76.274.2

模型错误与挑战

下表列出了观察到的模型错误,重点说明 ToTTo 数据集的一些更具挑战性的方面。我们发现,即便使用简洁明了的参考,最先进的模型在应对幻觉、数字推理和罕见主题时仍会遇到困难(以红色标记的错误)。最后一个示例表明,即使模型输出正确,有时也无法像原始参考(包含更多表相关推理,以蓝色显示)那样信息丰富。

参考模型预测
在 1939 年库里杯中,西部省在开普敦以 17–6 的比分输给了德兰士瓦。第一届库里杯于 1939 年在新大陆德兰士瓦 1 举行,西部省以 17–6 的比分赢得了比赛。
IBM 公司在 2000 年发布了第二代微型硬盘,其容量增加到 512 MB 和 1 GB。2000 年有 512 块微型硬盘模型:1 千兆字节。
1956 年世界摩托车锦标赛赛季包括 6 场大奖赛,每场包含 5 个级别:500cc、350cc、250cc、125cc 和边车 500cc。1956 年世界摩托车锦标赛赛季包括 8 场大奖赛,每场包含 5 个级别:500cc、350cc、250cc、125cc 和边车 500cc。
在 Travis Kelce 的最后一个大学赛季中,他在接球次数 (45)、接球码数 (722)、单次接球码数 (16.0) 和接球达阵次数 (8) 方面创下了个人的职业生涯记录。Travis Kelce 以 45 次,共计 722 码(平均为 16.0 码)的接球和 8 次达阵结束了 2012 年赛季。

结论

在这项研究中,我们提出了 ToTTo,这是一个表到文本的大型英语数据集,不仅会提供受控的生成任务,还会提供基于迭代句子修订的数据注释处理。我们还提供了几个最先进的基线,并证明了 ToTTo 数据集有助于研究建模以及开发可更好地检测模型改进情况的评估指标。

除了提及的任务,我们希望我们的数据集也可以为其他任务提供帮助,如表理解和句子修订等。您可通过我们的 GitHub 仓库获取 ToTTo。

  • GitHub 仓库(或“阅读原文”)
    https://github.com/google-research-datasets/totto

致谢

作者要感谢 Ming-Wei Chang、Jonathan H. Clark、Kenton Lee 和 Jennimaria Palomaki 提供的深刻探讨和支持。同时非常感谢 Ashwin Kakarla 及其团队在注释工作中的帮助。

更多 AI 相关阅读:

  • 推出 RxR:多语言指令跟随导航基准数据集

  • 利用 AutoML 进行时间序列预测

  • 大型语言模型中的隐私考量

  • 推出 Pr-VIPE:识别图像和视频中的姿态相似度

  • 基于端到端可迁移深度强化学习的图优化

 点击屏末 | 阅读原文 | 即刻访问 GitHub

这篇关于ToTTo:受控的表到文本生成数据集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/192482

相关文章

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

Spring 请求之传递 JSON 数据的操作方法

《Spring请求之传递JSON数据的操作方法》JSON就是一种数据格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,因此JSON本质是字符串,主要负责在不同的语言中数据传递和交换,这... 目录jsON 概念JSON 语法JSON 的语法JSON 的两种结构JSON 字符串和 Java 对象互转

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr