Title: TABFACT: A LARGE-SCALE DATASET FOR TABLE-BASED FACT VERIFICATION

Abstract: The problem of verifying whether a textual hypothesis holds based on the given evidence, also known as fact verification, plays an important role in the study of natural language understanding and semantic representation. However, existing studies are mainly restricted to dealing with unstructured evidence (e.g., natural language sentences and documents, news, etc), while verification under structured evidence, such as tables, graphs, and databases, remains under-explored. This paper specifically aims to study the fact verification given semi-structured data as evidence. To this end, we construct a large-scale dataset called TabFact with 16k Wikipedia tables as the evidence for 118k human-annotated natural language statements, which are labeled as either ENTAILED or REFUTED. TabFact is challenging since it involves both soft linguistic reasoning and hard symbolic reasoning. To address these reasoning challenges, we design two different models: Table-BERT and Latent Program Algorithm (LPA). Table-BERT leverages the state-of-the-art pre-trained language model to encode the linearized tables and statements into continuous vectors for verification. LPA parses statements into programs and executes them against the tables to obtain the returned binary value for verification. Both methods achieve similar accuracy but still lag far behind human performance. We also perform a comprehensive analysis to demonstrate great future opportunities.

1. INTRODUCTION:

Verifying whether a textual hypothesis is entailed or refuted by the given evidence is a fundamental problem in natural language understanding (Katz & Fodor, 1963; Van Benthem et al., 2008) . It can benefit many downstream applications like misinformation detection, fake news detection, etc. Recently, the first-ever end-to-end fact-checking system has been designed and proposed in Hassan et al. (2017) . The verification problem has been extensively studied under different natural language tasks such as recognizing textual entailment (RTE) (Dagan et al., 2005) , natural language inference (NLI) (Bowman et al., 2015) , claim verification (Popat et al., 2017; Hanselowski et al., 2018; Thorne et al., 2018) and multimodal language reasoning (NLVR/NLVR2) (Suhr et al., 2017; 2019) . RTE and NLI view a premise sentence as the evidence, claim verification views passage collection like Wikipedia1 as the evidence, NLVR/NLVR2 views images as the evidence. These problems have been previously addressed using a variety of techniques including logic rules, knowledge bases, and neural networks. Recently large-scale pre-trained language models (Devlin et al., 2019; Peters et al., 2018; Yang et al., 2019; Liu et al., 2019) have surged to dominate the other algorithms to approach human performance on several textual entailment tasks (Wang et al., 2018; 2019) . However, existing studies are restricted to dealing with unstructured text as the evidence, which would not generalize to the cases where the evidence has a highly structured format. Since such structured evidence (graphs, tables, or databases) are also ubiquitous in real-world applications like Figure 1 : Examples from the TABFACT dataset. The top table contains the semi-structured knowledge facts with caption "United...". The left and right boxes below provide several entailed and refuted statements. The error parts are highlighted with red font. database systems, dialog systems, commercial management systems, social networks, etc, we argue that the fact verification under structured evidence forms is an equivalently important yet underexplored problem. Therefore, in this paper, we are specifically interested in studying fact verification with semi-structured Wikipedia tables (Bhagavatula et al., 2013) 2 as evidence owing to its structured and ubiquitous nature (Jauhar et al., 2016; Zhong et al., 2017; Pasupat & Liang, 2015) . To this end, we introduce a large-scale dataset called TABFACT, which consists of 118K manually annotated statements with regard to 16K Wikipedia tables, their relations are classified as ENTAILED and REFUTED 3 . The entailed and refuted statements are both annotated by human workers. With some examples in Figure 1 , we can clearly observe that unlike the previous verification related problems, TABFACT combines two different forms of reasoning in the statements, (i) Linguistic Reasoning: the verification requires semantic-level understanding. For example, "John J. Mcfall failed to be re-elected though being unopposed." requires understanding over the phrase "lost renomination ..." in the table to correctly classify the entailment relation. Unlike the existing QA datasets (Zhong et al., 2017; Pasupat & Liang, 2015) , where the linguistic reasoning is dominated by paraphrasing, TABFACT requires more linguistic inference or common sense. (ii) Symbolic Reasoning: the verification requires symbolic execution on the table structure. For example, the phrase "There are three Democrats incumbents" requires both condition operation (where condition) and arithmetic operation (count). Unlike question answering, a statement could contain compound facts, all of these facts need to be verified to predict the verdict. For example, the "There are ..." in Figure 1 requires verifying three QA pairs (total count=5, democratic count=2, republic count=3). The two forms of reasoning are interleaved across the statements making it challenging for existing models.

In this paper, we particularly propose two approaches to deal with such mixed-reasoning challenge: (i) Table-BERT, this model views the verification task completely as an NLI problem by linearizing a table as a premise sentence p, and applies state-of-the-art language understanding pre-trained model to encode both the table and statements h into distributed representation for classification. This model excels at linguistic reasoning like paraphrasing and inference but lacks symbolic reasoning skills. (ii) Latent Program Algorithm, this model applies lexical matching to find linked entities and triggers to filter pre-defined APIs (e.g. argmax, argmin, count, etc) . We adopt bread-first-search with memorization to construct the potential program candidates, a discriminator is further utilized to select the most "consistent" latent programs. This model excels at the symbolic reasoning aspects by executing database queries, which also provides better interpretability by laying out the decision rationale. We perform extensive experiments to investigate their performances: the best-achieved accuracy of both models are reasonable, but far below human performance. Thus, we believe that the proposed table-based fact verification task can serve as an important new benchmark towards the goal of building powerful AI that can reason over both soft linguistic form and hard symbolic forms.

To facilitate future research, we released all the data, code with the intermediate results.

2. TABLE FACT VERIFICATION DATASET:

First, we follow the previous Table-based Q&A datasets (Pasupat & Liang, 2015; Zhong et al., 2017) to extract web tables (Bhagavatula et al., 2013) with captions from WikiTables4 . Here we filter out overly complicated and huge tables (e.g. multirows, multicolumns, latex symbol) and obtain 18K relatively clean tables with less than 50 rows and 10 columns.

For crowd-sourcing jobs, we follow the human subject research protocols5 to pay Amazon Mechanical Turk6 workers from the native English-speaking countries "US, GB, NZ, CA, AU" with approval rates higher than 95% and more than 500 accepted HITs. Following WikiTableQuestion (Pasupat & Liang, 2015) , we provide the annotators with the corresponding table captions to help them better understand the background. To ensure the annotation quality, we develop a pipeline of "positive two-channel annotation" → "negative statement rewriting" → "verification", as described below.

2.1. POSITIVE TWO-CHANNEL COLLECTION & NEGATIVE REWRITING STRATEGY:

To harvest statements of different difficulty levels, we design a two-channel collection process: Low-Reward Simple Channel: the workers are paid 0.45 USD for annotating one Human Intelligent Task (HIT) that requires writing five statements. The workers are encouraged to produce plain statements meeting the requirements: (i) corresponding to a single row/record in the table with unary fact without involving compound logical inference. (ii) mention the cell values without dramatic modification or paraphrasing. The average annotation time of a HIT is 4.2 min. High-Reward Complex Channel: the workers are paid 0.75 USD for annotating a HIT (five statements). They are guided to produce more sophisticated statements to meet the requirements: (i) involving multiple rows in the tables with higher-order semantics like argmax, argmin, count, difference, average, summarize, etc. (ii) rephrase the table records to involve more semantic understanding. The average annotation time of a HIT is 6.8 min. The data obtained from the complex channel are harder in terms of both linguistic and symbolic reasoning, the goal of the two-channel split is to help us understand the proposed models can reach under different levels of difficulty.

As suggested in (Zellers et al., 2018) , there might be annotation artifacts and conditional stylistic patterns such as length and word-preference biases, which can allow shallow models (e.g. bag-ofwords) to obtain artificially high performance. Therefore, we design a negative rewriting strategy to minimize such linguistic cues or patterns. Instead of letting the annotators write negative statements from scratch, we let them rewrite the collected entailed statements. During the annotation, the workers are explicitly guided to modify the words, phrases or sentence structures but retain the sentence style/length to prevent artificial cues. We disallow naive negations by adding "not, never, etc" to revert the statement polarity in case of obvious linguistic patterns.

2.2. QUALITY CONTROL:

To control the quality of the annotation process, we review a randomly sampled statement from each HIT to decide whether the whole annotation job should be rejected during the annotation process. Specifically, a HIT must satisfy the following criteria to be accepted: (i) the statements should contain neither typos nor grammatical errors. (ii) the statements do not contain vague claims like might, few, etc. (iii) the claims should be explicitly supported or contradicted by the table without requiring the additional knowledge, no middle ground is permitted. After the data collection, we re-distribute all the annotated samples to further filter erroneous statements, the workers are paid 0.05 USD per statement to decide whether the statement should be rejected. The criteria we apply are similar: no ambiguity, no typos, explicitly supported or contradictory. Through the post-filtering process, roughly 18% entailed and 27% refuted instances are further abandoned due to poor quality. We follow the previous works (Thorne et al., 2018; Bowman et al., 2015) to adopt the Fleiss Kappa (Fleiss, 1971) as an indicator, where Fleiss κ = pc-pe 1-pe is computed from from the observed agreement pc and the agreement by chance pe . We obtain a Fleiss κ = 0.75, which indicates strong inter-annotator agreement and good-quality.

Dataset Statistics: As shown in Table 1 , the amount of data harvested via the complex channel slightly outnumbers the simple channel, the averaged length of both the positive and negative samples are indistinguishable. More specifically, to analyze to which extent the higher-order operations are included in two channels, we group the common higher-order operations into 8 different categories. As shown in Figure 2 , we sample 200 sentences from two different channels to visualize their distribution. We can see that the complex channel overwhelms the simple channel in terms of the higher-order logic, among which, count and superlatives are the most frequent. We split the whole data roughly with 8:1:1 into train, validation7 , and test splits and shows their statistics in Table 1 . Each table with an average of 14 rows and 5-6 columns corresponds to 2-20 different statements, while each cell has an average of 2.1 words. In the training split, the positive instances slightly outnumber the negative instances, while the validation and test split both have rather balanced distributions over positive and negative instances.

3. MODELS:

With the collected dataset, we now formally define the table-based fact verification task: the dataset is comprised of triple instances (T, S, L) consisting of a table T, a natural language statement  and C T columns with the T ij being the content in the (i, j)-th cell. T ij could be a word, a number, a phrase, or even a natural language sentence. The statement S describes a fact to be verified against the content in the table T. If it is entailed by T, then L = 1, otherwise the label L = 0. Figure 1 shows some entailed and refuted examples. During training, the model and the learning algorithm are presented with K instances like (T, S, L) K k=1 from the training split. In the testing stage, the model is presented with (T, S) K k=1 and supposed to predict the label as L. We measure the performance by the prediction accuracy Acc

S = s 1 , • • • , s n and a verification label L ∈ {0, 1}. The table T = {T i,j |i ≤ R T , j ≤ C T } has R T rows

= 1 K K 1 I( Lk = L k ) on the test set.

Before building the model, we first perform entity linking to detect all the entities in the statements. Briefly, we first lemmatize the words and search for the longest sub-string matching pairs between statements and table cells/captions, where the matched phrases are denoted as the linked entities. To focus on statement verification against the table, we do not feed the caption to the model and simply mask the phrases in the statements which link to the caption with placeholders. The details of the entity linker are listed in the Appendix. We describe our two proposed models as follows.

3.1. LATENT PROGRAM ALGORITHM (LPA):

In this approach, we formulate the table fact verification as a program synthesis problem, where the latent program algorithm is not given in TABFACT. Thus, it can be seen as a weakly supervised learning problem as discussed in Liang et al. (2017) ; Lao et al. (2011) . Under such a setting, we propose to break down the verification into two stages: (i) latent program search, (ii) discriminator ranking. In the first program synthesis step, we aim to parse the statement into programs to represent its semantics. We define the plausible API set to include roughly 50 different functions like min, max, count, average, filter, and and realize their interpreter with Python-Pandas. Each API is defined to take arguments of specific types (number, string, bool, and view (e.g sub-table )) to output specifictype variables. During the program execution, we store the generated intermediate variables to different-typed caches N , R, B, V (Num, Str, Bool, View). At each execution step, the program can fetch the intermediate variable from the caches to achieve semantic compositionality. In order to shrink the search space, we follow NSM (Liang et al., 2017) Q.push((P, N , R, B, V)) 25: Return the triple (T, S, P) # Return (Table, Statement, Program Set) and the searching procedure is illustrated in Figure 3 .

After we collected all the potential program candidates P = {(P 1 , A 1 ), • • • , (P n , A n )} for a given statement S (where (P i , A i ) refers to i-th candidate), we need to learn a discriminator to identify the "appropriate" traces from the set from many erroneous and spurious traces. Since we do not have the ground truth label about such discriminator, we use a weakly supervised training algorithm by viewing all the label-consistent programs as positive instances {P i |(P i , A i ); A i = L} and the label-inconsistent program as negative instances {P i |(P i , A i ); A i = L} to minimize the cross-entropy of discriminator p θ (S, P ) with the weakly supervised label. Specifically, we build our discriminator with a Transformer-based two-way encoder (Vaswani et al., 2017) , where the statement encoder encodes the input statement S as a vector Enc S (S) ∈ R n×D with dimension D, while the program encoder encodes the program P = p 1 , • • • , p m as another vector Enc P (P ) ∈ R m×D , we concatenate these two vectors and feed it into a linear projection layer to compute p θ (S, P ) = σ(v T p [Enc S (S); Enc P (P )]) as the relevance between S and P with weight v p ∈ R D . At test time, we use the discriminator p θ to assign confidence p θ (S, P ) to each candidate P ∈ P, and then either aggregate the prediction from all hypothesis with the confidence weights or rank the highest-confident hypothesis and use their outputs as the prediction.

3.2. TABLE-BERT:

In this approach, we view the table verification problem as a two-sequence binary classification problem like NLI or MPRC (Wang et al., 2018) by linearizing a table T into a sequence and treating the statement as another sequence. Since the linearized table can be extremely long surpassing the limit of sequence models like LSTM, Transformers, etc. We propose to shrink the sequence by only retaining the columns containing entities linked to the statement to alleviate such a memory issue. In order to encode such sub-table as a sequence, we propose two different linearization methods, as is depicted in Figure 4 . (i) Concatenation: we simply concatenate the table cells with [SEP] tokens in between and restart position counter at the cell boundaries; the column name is fed as another type embedding to the input layer. Such design retains the table information in its machine format. (ii) Template: we adopt simple natural language templates to transform a table into a "somewhat natural" sentence. Taking the horizontal scan as an example, we linearize a table as "row one's game is 51; the date is February; ..., the score is 3.4 (ot). row 2 is ...". The isolated cells are connected with punctuations and copula verbs in a language-like format.

After obtaining the linearized sub-table T, we concatenate it with the natural language statement S and prefix a [CLS] token to the sentence to obtain the sequence-level representation H = f BERT ([ T, S]), with H ∈ R 768 from pre-trained BERT (Devlin et al., 2019) . The representation is further fed into multi-layer perceptron f M LP to obtain the entailment probability p θ ( T, S) = σ(f M LP (H)), where σ is the sigmoid function. We finetune the model θ (including the parameters of BERT and MLP) to minimize the binary cross entropy L(p θ ( T, S), L) on the training set. At test time, we use the trained BERT model to compute the matching probability between the (table, statement) pair, and classify it as ENTAILED statement when p θ ( T, S) is greater than 0.5.

4. EXPERIMENTS:

In this section, we aim to evaluate the proposed methods on TABFACT. Besides the standard validation and test sets, we also split the test set into a simple and a complex partition based on the channel from which they were collected. This facilitates analyzing how well the model performs under different levels of difficulty. Additionally, we also hold out a small test set with 2K samples for human evaluation, where we distribute each (table, statement) pair to 5 different workers to approximate human judgments based on their majority voting, the results are reported in NSM We follow Liang et al. (2017) to modify their approach to fit the setting of TABFACT. Specifically, we adopt an LSTM as an encoder and another LSTM with copy mechanism as a decoder to synthesize the program. However, without any ground truth annotation for the intermediate programs, directly training with reinforcement learning is difficult as the binary reward is underspecified, which is listed in Table 2 as "NSM w/ RL". Further, we use LPA as a teacher to search the top programs for the NSM to bootstrap and then use reinforcement learning to finetune the model, which achieves reasonable performance on our dataset listed as "NSM w/ ML + RL". Table -BERT We build Table -BERT based on the open-source implementation of BERT8 using the pre-trained model with 12-layer, 768-hidden, 12-heads, and 110M parameters trained in 104 languages. We use the standard BERT tokenizer to break the words in both statements and tables into subwords and join the two sequences with a [SEP] token in between. The representation corresponding to [CLS] is fed into an MLP layer to predict the verification label. We finetune the model on a single TITAN X GPU with a mini-batch size of 6. The best performance is reached after about 3 hours of training (around 10K steps). We implement and compare the following variants of the Table -BERT model including (i) Concatenation vs. Template: whether to use natural language templates during linearization. (ii) Horizontal vs. Vertical: scan direction in linearization.

LPA We run the latent program search in a distributed fashion on three 64-core machines to generate the latent programs. The search terminates once the buffer has more than 50 traces or the path length is larger than 7. The average search time for each statement is about 2.5s. For the discriminator model, we design two transformer-based encoders (3 layers, 128-dimension hidden embedding, and 4 heads at each layer) to encode the programs and statements, respectively. The variants of LPA models considered include (i) Voting: assign each program with equal weight and vote without the learned discriminator. (ii) Weighted-Voting: compute a weighted-sum to aggregate the predictions of all latent programs with the discriminator confidence as the weights. (iii) Ranking: rank all the hypotheses by the discriminator confidence and use the top-rated hypothesis as the output. (Caption) means feeding the caption as a sequence of words to the discriminator during ranking. Preliminary Evaluation In order to test whether our negative rewriting strategy eliminates the artifacts or shallow cues, we also fine-tune a pre-trained BERT (Devlin et al., 2019) to classify the statement S without feeding in table information. The result is reported as "BERT classifier w/o

Table" in Table 2 , which is approximately the majority guess and reflects the effectiveness of the rewriting strategy. Before presenting the experiment results, we first perform a preliminary study to evaluate how well the entity linking system, program search, and the statement-program discriminator perform. Since we do not have the ground truth labels for these models, we randomly sample 100 samples from the dev set to perform the human study. For the entity linking, we evaluate its accuracy as the number of correctly linked sentences / total sentences. For the latent program search, we evaluate whether the "true" programs are included in the candidate set P as recall score.

Results:

We report the performance of different methods as well as human performance in Table 2 .

First of all, we observe that the naive serialized model fails to learn anything effective (same as the Majority Guess). It reveals the importance of template when using the pre-trained BERT (Devlin et al., 2019) model: the "natural" connection words between individual cells is able to unleash the power of the large pre-trained language model and enable it to perform reasoning on the structured table form. Such behavior is understandable given the fact that BERT is pre-trained on purely natural language corpora. In addition, we also observe that the horizontal scan excels in the vertical scan because it better captures the convention of human expression. Among different LPA methods, we found that LPA-Ranking performs the best since it can better suppress the spurious programs than the voting-based algorithm. Overall, the LPA model is on par with Table-BERT on both simple and test split without any pre-training on external corpus, which reflects the effectiveness of LPA to leverage symbolic operations in the verification process.

Through our human evaluation, we found that only 58% of sentences have been correctly linked without missing-link or over-link, while the systematic search has a recall of 51% under the cases where the sentence is correctly linked. With that being said, the chance for LPA method to cover the correct program (rationale) is roughly under 30%. After the discriminator's re-ranking step, the probability of selecting these particular oracle program is even much lower. However, we still observe a final overall accuracy of 65%, which indicates that the spurious problem is quite severe in LPA, where the correct label is predicted based on the wrong reason.

Through our human evaluation, we also observe that Table-BERT exhibits poor consistency as it can misclassify simple cases but correctly-classify hard cases. These two major weaknesses are yet to be solved in future studies. In contrast, LPA behaves much more consistently and provides a clear latent rationale for its decision. But, such a pipeline system requires laborious handcrafting of API operations and is also very sensitive to the entity linking accuracy. Both methods have pros and cons; how to combine them still remains an open question.

Program Annotation To further promote the development of different models in our dataset, we collect roughly 1400 human-annotated programs paired with the original statements. These statements include the most popular logical operations like superlative, counting, comparison, unique, etc. We provide these annotations in Github9 , which can either be used to bootstrap the semantic parsers or provide the rationale for NLI models.

5. RELATED WORK:

Natural Language Inference & Reasoning: Modeling reasoning and inference in human language is a fundamental and challenging problem towards true natural language understanding. There has been extensive research on RTE in the early years (Dagan et al., 2005) and more recently shifted to NLI (Bowman et al., 2015; Williams et al., 2017) . NLI seeks to determine whether a natural language hypothesis h can be inferred from a natural language premise p. With the surge of deep learning, there have been many powerful algorithms like the Decomposed Model (Parikh et al., 2016) , Enhanced-LSTM (Chen et al., 2017) and BERT (Devlin et al., 2019) . Besides the textual evidence, NLVR (Suhr et al., 2017) and NLVR2 (Suhr et al., 2019) have been proposed to use images as the evidence for statement verification on multi-modal setting. Our proposed fact verification task is closely related to these inference tasks, where our semi-structured table can be seen as a collection of "premises" exhibited in a semi-structured format. Our proposed problem hence could be viewed as the generalization of NLI under the semi-structured domain. 

United States House of Representatives Elections, 1972:

There are five candidates in total, two of them are democrats and three of them are republicans. question answering, such as MCQ (Jauhar et al., 2016) , WikiTableQuestion (Pasupat & Liang, 2015) , Spider (Yu et al., 2018) , Sequential Q&A (Iyyer et al., 2017), and WikiSQL (Zhong et al., 2017) , for which approaches have been extended to handle large-scale tables from Wikipedia (Bhagavatula et al., 2013) . However, in these Q&A tasks, the question types typically provide strong signals needed for identifying the type of answers, while TABFACT does not provide such specificity. The uniqueness of TABFACT lies in two folds: 1) a given fact is regarded as a false claim as long as any part of the statement contains misinformation. Due to the conjunctive nature of verification, a fact needs to be broken down into several sub-clauses or (Q, A) pairs to separate evaluate their correctness. Such a compositional nature of the verification problem makes it more challenging than a standard QA setting. On one hand, the model needs to recognize the multiple QA pairs and their relationship. On the other hand, the multiple sub-clauses make the semantic form longer and logic inference harder than the standard QA setting. 2) some facts cannot even be handled using semantic forms, as they are driven by linguistic inference or common sense. In order to verify these statements, more inference techniques have to be leveraged to enable robust verification. We visualize the above two characteristics of TABFACT in Figure 5 .

Program Synthesis & Semantic:

Parsing: There have also been great interests in using program synthesis or logic forms to solve different natural language processing problems like question answering (Liang et al., 2013; Berant et al., 2013; Berant & Liang, 2014) , visual navigation (Artzi et al., 2014; Artzi & Zettlemoyer, 2013) , code generation (Yin & Neubig, 2017; Dong & Lapata, 2016) , SQL synthesis (Yu et al., 2018) , etc. The traditional semantic parsing papers (Artzi et al., 2014; Artzi & Zettlemoyer, 2013; Zettlemoyer & Collins, 2005; Liang et al., 2013; Berant et al., 2013) greatly rely on rules, lexicon to parse natural language sentences into different forms like lambda calculus, DCS, etc. More recently, researchers strive to propose neural models to directly perform end-to-end formal reasoning like Theory Prover (Riedel et al., 2017; Rocktäschel & Riedel, 2017) , Neural Turing Machine (Graves et al., 2014) , Neural Programmer (Neelakantan et al., 2016; 2017) and Neural-Symbolic Machines (Liang et al., 2017; 2018; Agarwal et al., 2019) . The proposed TABFACT serves as a great benchmark to evaluate the reasoning ability of different neural reasoning models. Specifically, TABFACT poses the following challenges: 1) spurious programs (i.e., wrong programs with the true returned answers): since the program output is only a binary label, which can cause serious spurious problems and misguide the reinforcement learning with the under-specified binary rewards. 2) decomposition: the model needs to decompose the statement into sub-clauses and verify the sub-clauses one by one, which normally requires the longer logic inference chains to infer the statement verdict. 3) linguistic reasoning like inference and paraphrasing.

Fact Checking The problem of verifying claims and hypotheses on the web has drawn significant attention recently due to its high social influence. Different fact-checking pioneering studies have been performed including LIAR (Wang, 2017) , PolitiFact (Vlachos & Riedel, 2014) , FEVER (Thorne et al., 2018) and AggChecker (Jo et al., 2019) , etc. The former three studies are mainly based on textual evidence on social media or Wikipedia, while AggChecker is closest to ours in using relational databases as the evidence. Compared to AggChecker, our paper proposes a much larger dataset to benchmark the progress in this direction.

6. CONCLUSION:

This paper investigates a very important yet previously under-explored research problem: semistructured fact verification. We construct a large-scale dataset and proposed two methods, 2017) does not. Therefore, we particularly design ablation annotation tasks to compare the annotation quality between w/ and w/o Wikipedia title We demonstrate a typical example in Figure 13 , where a Wiki table 10 aims to describe the achievements of a tennis player named Dennis, but itself does not provide any explicit hint about "Tennis Player Dennis". Unsurprisingly, the sentence fluency and coherence significantly drop without such information. Actually, a great portion of these Wikipedia tables requires background knowledge (like sports, celebrity, music, etc) to understand. We perform a small user study to measure the fluency of annotated statements. Specifically, we collected 50 sentences from both annotation w/ and w/o title context and randomly shuffle them as pairs, which are distributed to the 8 experts without telling them their source to compare the language fluency. It turns out that the experts ubiquitously agree that the statements with Wikipedia titles are more human-readable. Therefore, we argue that such a context is necessary for annotators to understand the background knowledge to write more fluent sentences. On the other end, we also hope to minimize the influence of the textual context in the table-based verification task, therefore, we design an annotation criterion: the Wikipedia title is provided to the workers during the annotation, but they are explicitly banned from bringing any unrelated background information other than the title into the annotation. As illustrated in Figure 13 , the title only acts as a placeholder in the statements to make it sound more natural. -"Trivial": the sentence can be easily generated by looking only a certain row without understanding the table.

-"Non-trivial": the sentence requires reading multiple rows of the table and understanding of the table content. For example, the sentences which include summarization, comparative, negation, relational, inclusion, superlative, aggregational, rephrase or combinations of them are non-trivial. But non-trvial is not limited to these types, any statement involving understanding and reasoning is accepted.

We 

:

https://www.wikipedia.org/

In contrast to the database tables, where each column has strong type constraint, the cell records in our semi-structured tables can be string/data/integer/floating/phrase/sentences.

we leave out NEUTRAL due to its low inter-worker agreement, which is easily confused with REFUTED.

http://websail-fe.cs.northwestern.edu/wikiTables/about/

https://en.wikipedia.org/wiki/Minimum_wage_in_the_United_States

https://www.mturk.com/

We filter roughly 400 sentences from abnormal tables including hyperlinks, math symbols, etc

https://github.com/huggingface/pytorch-pretrained-BERT

https://github.com/wenhuchen/Table-Fact-Checking/tree/master/bootstrap

https://en.wikipedia.org/wiki/Dennis_Ralston

Figures and Tables:

to use trigger words to prune the API set and accelerate the search speed. The definitions of all API, trigger words can be found in the Appendix. The comprehensive the latent program search procedure is summarized in Algorithm 1, Algorithm 1 Latent Program Search with Comments 1: Initialize Number Cache N , String Cache R, Bool Cache B, View Cache V → ∅ 2: Push linked numbers, strings from the given statement S into N , R, and push T into V 3: Initialize the result collector P → ∅ and an empty program trace P = ∅ 4: Initialize the Queue Q = [(P, N , R, B, V)], we use Q to store the intermediate states 5: Use trigger words to find plausible function set F, for example, more will trigger Greater function. 6: while loop over time t = 1 → MAXSTEP do: 7: while (P, N , R, B, V) = Q.pop() do: 8: while loop over function set f ∈ F do: 9:if arguments of f are in the caches then 10:Pop out the required arguments arg1, arg2

Figure 5: The two uniqueness of Table-based fact verification against standard QA problems.

Figure 11: The error analysis of two different models



Table content: <table><tr><td/><td/><td/><td/><td/><td>Simple</td><td>Complex</td><td colspan="2">Overall</td></tr><tr><td colspan="9">Figure 2: Proportion of different higher-order operations from the simple/complex channels.</td></tr><tr><td>Channel</td><td colspan="6">#Sentence #Table Len(Ent) Len(Ref) Split #Sentence</td><td>Table</td><td>Row Col</td></tr><tr><td>Simple</td><td>50,244</td><td>9,189</td><td>13.2</td><td>13.1</td><td>Train</td><td>92,283</td><td colspan="2">13,182 14.1 5.5</td></tr><tr><td>Complex</td><td>68,031</td><td>7,392</td><td>14.2</td><td>14.2</td><td>Val</td><td>12,792</td><td>1,696</td><td>14.0 5.4</td></tr><tr><td>Total</td><td>118,275</td><td>16,573</td><td>13.8</td><td>13.8</td><td>Test</td><td>12,779</td><td>1,695</td><td>14.2 5.4</td></tr><tr><td colspan="9">Table 1: Basic statistics of the data collected from the simple/complex channel and the division of</td></tr><tr><td colspan="8">Train/Val/Test Split in the dataset, where "Len" denotes the averaged sentence length.</td><td/></tr><tr><td colspan="3">2.3 DATASET STATISTICS</td><td/><td/><td/><td/><td/><td/></tr><tr><td colspan="9">Inter-Annotator Agreement: After the data collection pipeline, we merged the instances from two</td></tr><tr><td colspan="9">different channels to obtain a diverse yet clean dataset for table-based fact verification. We sample</td></tr><tr><td colspan="9">1000 annotated (table, statement) pairs and re-distribute each to 5 individual workers to re-label them</td></tr><tr><td colspan="3">as either ENTAILED or REFUTED.</td><td/><td/><td/><td/><td/><td/></tr></table>

There are more democrats than republicans in the election.Figure 3:The program synthesis procedure for the table in Figure1. We link the entity (e.g. democratic, republican), and then composite functions on the fly to return the values from the table.

Table content: <table><tr><td/><td>S e a r c h</td><td/><td/><td colspan="4">Feature-based Entity Linking</td><td/><td colspan="2">String</td><td colspan="3">incumbent democratic incumbent republican</td><td/><td>pop</td></tr><tr><td/><td/><td/><td/><td colspan="5">V1=Filter(T, incumbent==democratic))</td><td colspan="2">View</td><td>Sub</td><td/><td>V1</td><td/><td colspan="2">incumbent republican</td></tr><tr><td/><td/><td/><td/><td colspan="5">V2=Filter(T, incumbent==republican))</td><td colspan="2">View</td><td>Sub</td><td/><td>V2</td><td/><td/><td>pop</td></tr><tr><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td>Sub</td><td/><td>V1</td><td/><td/></tr><tr><td/><td colspan="2">LISP Engine</td><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td>Sub</td><td>V1</td></tr><tr><td/><td/><td/><td/><td/><td colspan="2">3=Count(V1)</td><td/><td/><td colspan="2">Num</td><td colspan="2">Count</td><td>3</td><td/><td>Sub</td><td>V2</td></tr><tr><td/><td/><td/><td/><td/><td colspan="2">2=Count(V2)</td><td/><td/><td colspan="2">Num</td><td colspan="2">Count</td><td>2</td><td/><td/></tr><tr><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td colspan="2">Count</td><td>3</td><td/><td>pop</td></tr><tr><td/><td>Table</td><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/></tr><tr><td/><td/><td/><td/><td/><td colspan="2">Greater(3, 2)</td><td/><td/><td colspan="2">Bool</td><td>Bool</td><td/><td>True</td><td/><td colspan="2">Entailed</td></tr><tr><td/><td/><td/><td/><td/><td>Label</td><td/><td/><td/><td/><td/><td colspan="2">Game</td><td colspan="2">Date</td><td colspan="2">Opponent Score</td></tr><tr><td/><td/><td/><td colspan="5">12-Layer BERT-Base Model</td><td/><td/><td/><td colspan="2">51 52</td><td colspan="3">February 3 , 2009 February 4 , 2009</td><td>Florida Buffalo</td><td>3-4 0-5</td></tr><tr><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td colspan="2">53</td><td colspan="4">February 7 , 2010 Montreal</td><td>5-2</td></tr><tr><td>Concat</td><td>Type Position Word</td><td>[CLS] 0 TOK</td><td>51 1 game</td><td>[SEP] 0 TOK</td><td>February 1 date</td><td colspan="3">3 2 date date , 3</td><td>2009 4 date</td><td/><td>[SEP] 0 TOK</td><td/><td>Florida 1 S</td><td colspan="2">is playing 2 3 S S</td><td>TOK 0 [SEP]</td></tr><tr><td/><td>Word</td><td>[CLS]</td><td>row</td><td>one</td><td>game</td><td>is</td><td colspan="3">51 ; date</td><td>is</td><td colspan="2">February 3</td><td>2019</td><td>;</td><td>Florida</td><td>[SEP]</td></tr><tr><td/><td>Position</td><td>0</td><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>20</td></tr></table>



Table content: <table><tr><td>Model</td><td>Val</td><td colspan="4">Test Test (simple) Test (complex) Small Test</td></tr><tr><td>BERT classifier w/o Table</td><td colspan="2">50.9 50.5</td><td>51.0</td><td>50.1</td><td>50.4</td></tr><tr><td colspan="3">Table-BERT-Horizontal-F+T-Concatenate 50.7 50.4</td><td>50.8</td><td>50.0</td><td>50.3</td></tr><tr><td>Table-BERT-Vertical-F+T-Template</td><td colspan="2">56.7 56.2</td><td>59.8</td><td>55.0</td><td>56.2</td></tr><tr><td>Table-BERT-Vertical-T+F-Template</td><td colspan="2">56.7 57.0</td><td>60.6</td><td>54.3</td><td>55.5</td></tr><tr><td>Table-BERT-Horizontal-F+T-Template</td><td colspan="2">66.0 65.1</td><td>79.0</td><td>58.1</td><td>67.9</td></tr><tr><td>Table-BERT-Horizontal-T+F-Template</td><td colspan="2">66.1 65.1</td><td>79.1</td><td>58.2</td><td>68.1</td></tr><tr><td>NSM w/ RL (Binary Reward)</td><td colspan="2">54.1 54.1</td><td>55.4</td><td>53.1</td><td>55.8</td></tr><tr><td>NSM w/ LPA-guided ML + RL</td><td colspan="2">63.2 63.5</td><td>77.4</td><td>56.1</td><td>66.9</td></tr><tr><td>LPA-Voting w/o Discriminator</td><td colspan="2">57.7 58.2</td><td>68.5</td><td>53.2</td><td>61.5</td></tr><tr><td>LPA-Weighted-Voting</td><td colspan="2">62.5 63.1</td><td>74.6</td><td>57.3</td><td>66.8</td></tr><tr><td>LPA-Ranking w/ Discriminator</td><td colspan="2">65.2 65.0</td><td>78.4</td><td>58.5</td><td>68.6</td></tr><tr><td colspan="3">LPA-Ranking w/ Discriminator (Caption) 65.1 65.3</td><td>78.7</td><td>58.5</td><td>68.9</td></tr><tr><td>Human Performance</td><td>-</td><td>-</td><td>-</td><td>-</td><td>92.1</td></tr></table>



Table content: <table/>

Table Question Answering: Another line of research closely related to our task is the table-based

Table content: <table><tr><td>District</td><td>Incumbent</td><td>Party</td><td>Result</td><td>Candidates</td></tr><tr><td colspan="2">California 3 John E. Moss</td><td>democratic</td><td>re-elected</td><td>John E. Moss (d) 69.9% John Rakus (r) 30.1%</td></tr><tr><td colspan="2">California 5 Phillip Burton</td><td>democratic</td><td>re-elected</td><td>Phillip Burton (d) 81.8% Edlo E. Powell (r) 18.2%</td></tr><tr><td colspan="2">California 8 George Paul Miller</td><td>democratic</td><td>lost renomination democratic hold</td><td>Pete Stark (d) 52.9% Lew M. Warden , Jr. (r) 47.1%</td></tr><tr><td colspan="2">California 14 Jerome R. Waldie</td><td>republican</td><td>re-elected</td><td>Jerome R. Waldie (d) 77.6% Floyd E. Sims (r) 22.4%</td></tr><tr><td colspan="2">California 15 John J. Mcfall</td><td>republican</td><td>re-elected</td><td>John J. Mcfall (d) unopposed</td></tr></table>

Table-BERT and LPA, based on the state-of-the-art pre-trained natural language inference model and program synthesis. In the future, we plan to push forward this research direction by inspiring more sophisticated architectures that can perform both linguistic and symbolic reasoning. Rowan Zellers, Yonatan Bisk, Roy Schwartz, and Yejin Choi. Swag: A large-scale adversarial dataset for grounded commonsense inference. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pp. 93-104, 2018. Luke S Zettlemoyer and Michael Collins. Learning to map sentences to logical form: structured classification with probabilistic categorial grammars. In Proceedings of the Twenty-First Conference on Uncertainty in Artificial Intelligence, pp. 658-666. AUAI Press, 2005.

Table content: <table><tr><td/><td colspan="3">Error Analysis of LPA/Table-BERT</td><td/><td/></tr><tr><td>75 80</td><td/><td/><td/><td>Table-BERT</td><td>LPA</td></tr><tr><td>70</td><td/><td/><td/><td/><td/></tr><tr><td>65</td><td/><td/><td/><td/><td/></tr><tr><td>60</td><td/><td/><td/><td/><td/></tr><tr><td colspan="6">45 natural language using reinforcement learning. arXiv preprint arXiv:1709.00103, 2017. 50 Victor Zhong, Caiming Xiong, and Richard Socher. Seq2sql: Generating structured queries from 55</td></tr><tr><td>Linguistic</td><td>Trivial</td><td>Aggregation Superlative</td><td>Count</td><td>Compare</td><td>Negation</td></tr></table>

we propose to use the longest string match to find all the candidate entities in the table, when multiple candidates coexist, we select the one with the minimum edit distances. The visualization is demonstrated in Figure14.

Table content: <table><tr><td>11/8/2019</td><td/><td/><td>HIT</td><td/></tr><tr><td colspan="3">Survey Instructions (Click to expand)</td><td/><td/></tr><tr><td>outcome</td><td/><td/><td>surface</td><td>partner</td></tr><tr><td>winner</td><td>1960</td><td>Wimbledon championships</td><td>grass</td><td>Rafael Osuna</td></tr><tr><td>winner</td><td>1961</td><td>US Championships</td><td>grass</td><td>Chuck Mckinley</td></tr><tr><td>runner -up</td><td>1962</td><td>US Championships</td><td>grass</td><td>Chuck Mckinley</td></tr><tr><td>winner</td><td>1963</td><td>US Championships (2)</td><td>grass</td><td>Chuck Mckinley</td></tr><tr><td>Context</td><td colspan="2">Richard Dennis Ralston (born July 27, 1942,</td><td colspan="2">No Information is provided</td></tr><tr><td>(Title)</td><td colspan="2">an American former tennis player</td><td/><td/></tr><tr><td>Annotate</td><td colspan="2">From 1960 to 1969, Ralston won five major</td><td colspan="2">Winner is on the grass surface.</td></tr><tr><td/><td colspan="2">double championships.</td><td colspan="2">Rafael Osuna is partner in the Wimbeldon</td></tr><tr><td colspan="5">Figure 13: Comparison of worker annotation w/ and w/o Wikipedia title as context</td></tr><tr><td colspan="2">F ENTITY LINKING</td><td/><td/><td/></tr><tr><td colspan="4">https://s3.amazonaws.com/mturk_bulk/hits/370501562/uNGk1Dz1zM48BZI6mALfxA.html</td><td>1/4</td></tr></table>

list two examples below to help you understand, you are encouraged to open the table wikipedia link to understand the context of the table. (Everything in the table is lower-cased, you are free to use lower or upper case in your sentence): Table Wikipedia Link: Road_Rules_Challenge:_The_Island (https://en.wikipedia.org/wiki/Real_World/Road_Rules_Challenge:_The_Island) First Read the following table, then write five diverse non-trivial facts for this given table: athletics at the 1952 summer olympics -men 's pole vault (https://en.wikipedia.org/wiki/Athletics_at_the_1952_Summer_Olympics_%E2%80%93_Men%27s_pole_vault)

Table content: <table><tr><td>athlete</td><td>nationality</td><td colspan="5">3.60 3.80 3.95 result</td><td/></tr><tr><td>bob richards</td><td colspan="2">united states -</td><td>-</td><td/><td>o</td><td>4.55 or</td><td/></tr><tr><td>don laz</td><td colspan="2">united states -</td><td>-</td><td/><td>o</td><td>4.50</td><td/></tr><tr><td>ragnar lundberg</td><td>sweden</td><td>-</td><td>-</td><td/><td>o</td><td>4.40</td><td/></tr><tr><td>petro denysenko</td><td>soviet union</td><td>-</td><td>-</td><td/><td>o</td><td>4.40</td><td/></tr><tr><td>valto olenius</td><td>finland</td><td>-</td><td>-</td><td/><td>-</td><td>4.30</td><td/></tr><tr><td>bunkichi sawada</td><td>japan</td><td>-</td><td>o</td><td/><td>xxo</td><td>4.20</td><td/></tr><tr><td colspan="2">volodymyr brazhnyk soviet union</td><td>-</td><td>o</td><td/><td>o</td><td>4.20</td><td/></tr><tr><td>viktor knyazev</td><td>soviet union</td><td>-</td><td>o</td><td/><td>o</td><td>4.20</td><td/></tr><tr><td>george mattos</td><td colspan="2">united states -</td><td>-</td><td/><td>o</td><td>4.20</td><td/></tr><tr><td>erkki kataja</td><td>finland</td><td>-</td><td>-</td><td/><td>o</td><td>4.10</td><td/></tr><tr><td>tamás homonnay</td><td>sweden</td><td>-</td><td>o</td><td/><td>o</td><td>4.10</td><td/></tr><tr><td>lennart lind</td><td>hungary</td><td>-</td><td>o</td><td/><td>o</td><td>4.10</td><td/></tr><tr><td>milan milakov</td><td>yugoslavia</td><td>-</td><td>o</td><td/><td>xo</td><td>4.10</td><td/></tr><tr><td>player rigas efstathiadis</td><td colspan="2">original season greece -</td><td>o</td><td colspan="3">gender eliminated o 3.95</td><td>placing</td></tr><tr><td>derrick kosinski torfy bryngeirsson</td><td>rr : x -treme iceland</td><td>-</td><td>o</td><td>male</td><td>o</td><td>winner 3.95</td><td>winner</td></tr><tr><td>evelyn smith erling kaas</td><td>fresh meat norway</td><td>-</td><td>o</td><td colspan="2">female xxx</td><td>winner 3.80</td><td>winner</td></tr><tr><td colspan="3">johnny devenanzio rw : key west theodosios balafas greece o</td><td>o</td><td>male</td><td>xxx</td><td>winner 3.80</td><td>winner</td></tr><tr><td>kenny santucci jukka piironen</td><td>fresh meat finland</td><td>-</td><td>xo</td><td>male</td><td>xx</td><td>winner 3.80</td><td>winner</td></tr><tr><td>jenn grijalva zeno dragomir</td><td>rw : denver romania</td><td>-</td><td>xo</td><td colspan="2">female xx</td><td>episode 8 3.80</td><td>runner -up</td></tr><tr><td>paula meronek</td><td colspan="2">rw : key west</td><td/><td colspan="2">female</td><td>episode 8</td><td>runner -up</td></tr><tr><td colspan="7">robin hibbard Please write a non-trivial statement, minimum 9 words rw : san diego female episode 8</td><td>runner -up</td></tr><tr><td>ryan kehoe</td><td>fresh meat</td><td/><td/><td>male</td><td/><td>episode 8</td><td>runner -up</td></tr><tr><td>dunbar merrill</td><td>rw : sydney</td><td/><td/><td>male</td><td/><td>episode 8</td><td>9th place</td></tr><tr><td>johanna botta</td><td>rw : austin</td><td/><td/><td colspan="2">female</td><td>episode 8</td><td>10th place</td></tr><tr><td colspan="7">Please write a non-trivial statement, minimum 9 words</td><td/></tr><tr><td>kellyanne judd</td><td>rw : sydney</td><td/><td/><td colspan="2">female</td><td>episode 8</td><td>11th place</td></tr><tr><td>dan walsh</td><td colspan="4">rr : viewers' revenge male</td><td/><td>episode 8</td><td>12th place</td></tr><tr><td>colie edison</td><td>rw : denver</td><td/><td/><td colspan="2">female</td><td>episode 7</td><td>13th place</td></tr><tr><td colspan="7">cohutta grindstaff Please write a non-trivial statement, minimum 9 words rw : sydney male episode 6</td><td>14th place</td></tr><tr><td>tyrie ballard</td><td>rw : denver</td><td/><td/><td>male</td><td/><td>episode 5</td><td>15th place</td></tr><tr><td>ashli robson</td><td>rw : sydney</td><td/><td/><td colspan="2">female</td><td>episode 4</td><td>16th place</td></tr><tr><td colspan="7">rachel robinson Please write a non-trivial statement, minimum 9 words rr : campus crawl female episode 3</td><td>17th place</td></tr><tr><td>abram boise</td><td colspan="2">rr : south pacific</td><td/><td>male</td><td/><td>episode 2</td><td>18th place</td></tr><tr><td>dave malinosky</td><td colspan="2">rw : hollywood</td><td/><td>male</td><td/><td colspan="2">episode 2 (quit) 19th place</td></tr><tr><td colspan="7">Please write a non-trivial statement, minimum 9 words</td><td/></tr></table>

Peer review (iclr2020):
This work proposes the problem of fact verification with semi-structured data source such as tables. Specifically, the authors created a new dataset TabFact and evaluated two baseline models with different variations. They applied two criteria and different rewards for workers to collect two subsets of different levels (“simple” and “complex”). They also applied a negative rewriting strategy to avoid exploitable cues or patterns in the annotations. They evaluated two baselines models: (1) latent program algorithm (LPA), which makes use of simple string match entity linking and systematic search and trains a neural network discriminator, and (2) Table-BERT, which linearize the table into a sequence through concatenation or template, and treat it as a classfication problem. Both showed reasonable accuracy (~68%), but still below human performance (92.1%) on a held out test set. I would like to see the paper accepted because: (1) it proposes an interesting task (table fact verification) with a clean dataset, and the experiments evaluated the ability of the current neural network models, such as BERT, or hybrid models, such as the LPA baseline, to perform (symbolic) reasoning; (2) special care is done to ensure the dataset doesn*t contain simple cues or patterns, which is a common pitfall in dataset collection, and the dataset is also validated through two reasonable baseline models. Some weakness and concerns are: (1) some error analysis of the baseline models are missing. For example, what types questions are hard/simple for table-BERT and what are hard/simple for LPA, and some comparison between them. This helps point out where the difficulty come from, for example, whether the difficulty is language understanding or symbolic reasoning. (2) *To focus on statement verification against the table, we do not feed the caption to the model and simply mask the phrases in the statements which links to the caption with placeholders.* I am not sure this is the right thing to do since even the human annotators requires the caption to understand the context, why not also feed the caption into the model? (3) Although the Figure 2 showed that the higher order operations are indeed used in a majority of questions, which measures the breadth of the reasoning, it is unclear about the depths of the required reasoning, i.e., how many operations / steps are required to achieve the correct answer. It would help if the average number of steps / operations required for answering the questions are shown. If the above concerns are addressed, I will be willing to raise my score. Minor comments: The paper, especially the Appendix, requires some proof reading, for example, I believe the caption for Figure 5 in Appendix A is misplaced. *... they are explicitly banned bring ...* -> *banned from bringing* “As illustrated in Figure 6, the title only acts as a placeholder in the statements to make it sound more natural.” -> From the example, it seems the name of the player is kept unchanged in the sentence, which is different from a placeholder. Suggestions: I understand this might require some works, but it would be really helpful to add more comments and maybe examples for the functions shown in Figure 5 (you might need to split the table into two pages or have another table for examples), so that it can be used by works that follows the LPA approach. “During the annotation, the workers are explicitly guided to modify the words, phrases or sentence structures but retain the sentence style/length to prevent from artificial cues” Avoiding simple cues or patterns are important, so it will be good if more details can be shared (for example, the instructions/guidelines you showed to the workers). ================================== Post rebuttal update: Thanks for the update to the paper. I think this work provides a good dataset and some reasonable baselines, thus should be accepted. However, I am still a bit concerned about the categorization of questions and the analysis on reasoning depth, because they are all based on the programs generated by LPA, while systematic search*s recall is just 77% and the programs potentially contains a lot of spurious ones. So the categorization of the questions in Figure 11 and the number of reasoning steps in Figure 12 has to be taken with a grain of salt. It is worth annotating a few hundred, say 100-300 questions, manually with the ground truth programs for question distribution analysis or reasoning depth analysis, and confirm the numbers estimated using programs from LPA. Those manually annotated examples would also be a great addition to the dataset to aid the researchers for better analysis. A good example is the WikiTableQuestions dataset https://github.com/ppasupat/WikiTableQuestions/releases, which contains 300 manually annotated examples (annotated-all.examples), and they are used to analyze the distribution of the questions in the paper.