Our new X account is live! Follow @wizwand_team for updates
WorkDL logo mark

Step-by-Step: Separating Planning from Realization in Neural Data-to-Text Generation

About

Data-to-text generation can be conceptually divided into two parts: ordering and structuring the information (planning), and generating fluent language describing the information (realization). Modern neural generation systems conflate these two steps into a single end-to-end differentiable system. We propose to split the generation process into a symbolic text-planning stage that is faithful to the input, followed by a neural generation stage that focuses only on realization. For training a plan-to-text generator, we present a method for matching reference texts to their corresponding text plans. For inference time, we describe a method for selecting high-quality text plans for new inputs. We implement and evaluate our approach on the WebNLG benchmark. Our results demonstrate that decoupling text planning from neural realization indeed improves the system's reliability and adequacy while maintaining fluent output. We observe improvements both in BLEU scores and in manual evaluations. Another benefit of our approach is the ability to output diverse realizations of the same input, paving the way to explicit control over the generated text structure.

Amit Moryossef, Yoav Goldberg, Ido Dagan• 2019

Related benchmarks

TaskDatasetResultRank
Data-to-text generationWebNLG (test)
BLEU47.4
39
Natural language generationWebNLG all categories (test)
BLEU47.4
13
Graph-to-text generationWebNLG seen v1.0 (test)
BLEU53.3
12
Graph-to-text generationWebNLG all v1.0 (test)
BLEU47.24
11
Graph-to-text generationWebNLG unseen v1.0 (test)
BLEU34.41
10
Data-to-text generationWebNLG v1 (All)
BLEU47.4
9
Table-to-text generationWebNLG Unseen (test)
BLEU34.4
9
Table-to-text generationWebNLG Seen (test)
BLEU Score53.3
9
Graph-to-text generationWebNLG All 2017 (test)
BLEU47.24
7
Graph-to-text generationWebNLG Seen 2017 (test)
BLEU53.3
7
Showing 10 of 12 rows

Other info

Code

Follow for update