  State-of-the-art machine learning methods exhibit limited compositional
generalization. At the same time, there is a lack of realistic benchmarks that
comprehensively measure this ability, which makes it challenging to find and
evaluate improvements. We introduce a novel method to systematically construct
such benchmarks by maximizing compound divergence while guaranteeing a small
atom divergence between train and test sets, and we quantitatively compare this
method to other approaches for creating compositional generalization
benchmarks. We present a large and realistic natural language question
answering dataset that is constructed according to this method, and we use it
to analyze the compositional generalization ability of three machine learning
architectures. We find that they fail to generalize compositionally and that
there is a surprisingly strong negative correlation between compound divergence
and accuracy. We also demonstrate how our method can be used to create new
compositionality benchmarks on top of the existing SCAN dataset, which confirms
these findings.
