Abstract
这篇文章是2020的EMNLP,做的是文本生成。是通过logic form+table的方式生成句子。属于Neural Language Generation from structural data这个领域,利用结构数据生成自然语言。以往的一些生成方法都是利用多行表格直接生成句子,但是这种方法存在两个缺点,难以控制,不能保证是真实的。 这篇文章提出的model能够利用结构化数据和logic form生成可控并且真实的句子,并提供了一个新的数据集,做了两个实验。在强监督下的实验,Few-shot learning,给少量数据集训练。
所以这篇文章主要的贡献有就是提出相应的数据集。
Introduction
以往的NLG from structured data都停留在生成表面的信息,而对于人类来说,更抽象的表达显然是更可信的。目前的NLG from structued data有两个缺点。1)low-fidelity,只给出表格,是很难生成一些包含有max,min这些逻辑的句子。2)uncontrollable,只给出表格,句子的信息难以控制。这两个问题作者是通过引入logic form解决的。
以往的研究仅仅提供了structured data,本质上还是一个logic reasoning的任务,而提供了logic form后,问题就变成了一个semantic parser的问题,相当于把logic reasoning分离了出去,变成了logic form to NL的问题。logic form的可以保证生成句子的正确性,也可以保证句子内容可控,这样就解决了这两个问题。
提出的数据集包含5.6k个表格,10.8k个句子-logic对,并且logic form 100%正确,相比以往的NLG数据集,提出的新数据集是的logic form是能表示成图的。
Data Construction
table的来源是wikiTable,删除了一些复杂的表格,保留了10-20行以内的wikitable。数据集的构建包含三个阶段,Description composition and verification,Logical form annotation and derivation,Logical form execution and verification。第一个阶段是工作人员根据一些特定的逻辑组合,提出一些能描述表格内容的陈述。这些工作人员必须遵守:1)尽量选择多样的logic type组合。2)避免模板化,3)必须包含表格信息。Logical Form Annotation & Derivation 是第二个阶段,这一步是核心步骤,这一步是获取logic form的步骤。根据每一个logic prototype,作者会问几个问题。通过这些问题推到出logic form。最后一步则是验证了。Logical Form Execution & Verification,logic form execution执行所有的logic form,只保留执行结果为True的。Semantic Verification则是判定logic是否符合语义,因为存在有伪程序的问题。
Experiments
最后用了几个模型做了full-supervised和few-shot的实验,full-supervised是想表明数据集是可学习的,few-shot是想表明数据集的多样性。