Papers › Abductive Commonsense Reasoning

Abductive Commonsense Reasoning

15 Aug 2019ICLR 2020 1arXiv:1908.05739archive 2025-07-28

Chandra Bhagavatula, Ronan Le Bras, Chaitanya Malaviya, Keisuke Sakaguchi, Ari Holtzman, Hannah Rashkin, Doug Downey, Scott Wen-tau Yih, Yejin Choi

Abductive reasoning is inference to the most plausible explanation. For example, if Jenny finds her house in a mess when she returns from work, and remembers that she left a window open, she can hypothesize that a thief broke into her house and caused the mess, as the most plausible explanation. While abduction has long been considered to be at the core of how people interpret and read between the lines in natural language (Hobbs et al., 1988), there has been relatively little research in support of abductive natural language inference and generation. We present the first study that investigates the viability of language-based abductive reasoning. We introduce a challenge dataset, ART, that consists of over 20k commonsense narrative contexts and 200k explanations. Based on this dataset, we conceptualize two new tasks -- (i) Abductive NLI: a multiple-choice question answering task for choosing the more likely explanation, and (ii) Abductive NLG: a conditional generation task for explaining given observations in natural language. On Abductive NLI, the best model achieves 68.9% accuracy, well below human performance of 91.4%. On Abductive NLG, the current best language generators struggle even more, as they lack reasoning capabilities that are trivial for humans. Our analysis leads to new insights into the types of reasoning that deep pre-trained language models fail to perform--despite their strong performance on the related but more narrowly defined task of entailment NLI--pointing to interesting avenues for future research.

PaperPDFConference PDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="1908.05739")

Code

Syntology Ran 2 of 15 code samples harvested from 2 repositories linked to this paper; 13 have no recorded run. Of those that ran: 2 ran · our draft was wrong.

By repository: community (archive-listed): 15 samples from 2 repositories, 2 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

allenai/abductive-commonsense-reasoning mentioned on GitHubpytorchApache-2.0 report
seungonekim/abductive-commonsense-reasoning mentioned on GitHubpytorchApache-2.0 report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

15 samples harvested; 2 ran; 0 honoured the contract we drafted; 13 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

2ran · our draft was wrong
13unverified

Licence: 0 of the 15 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from 2 repositories linked to this paper, official or community; each sample names its own and says which. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

padding seungonekim/abductive-commonsense-reasoning/anlg/evaluation/bert_score/utils.py community (archive-listed) ran · our draft was wrong Apache-2.0 (permissive) · 13ef8eeae8570519 · report
precook seungonekim/abductive-commonsense-reasoning/anlg/evaluation/bleu/bleu_scorer.py community (archive-listed) ran · our draft was wrong fingerprinted Apache-2.0 (permissive) · ec4448373d72d636 · report
bert_encode seungonekim/abductive-commonsense-reasoning/anlg/evaluation/bert_score/utils.py community (archive-listed) unverified Apache-2.0 (permissive) · 8f0d52f285c5001f · report
cook_refs seungonekim/abductive-commonsense-reasoning/anlg/evaluation/bleu/bleu_scorer.py community (archive-listed) unverified Apache-2.0 (permissive) · 7586e1d32f7325f7 · report
cook_test seungonekim/abductive-commonsense-reasoning/anlg/evaluation/bleu/bleu_scorer.py community (archive-listed) unverified Apache-2.0 (permissive) · 9c09fbe68477f787 · report
correct_middle allenai/abductive-commonsense-reasoning/anli/corpus_statistics.py community (archive-listed) unverified Apache-2.0 (permissive) · 0b75dd17295eeef5 · report
incorrect_middle allenai/abductive-commonsense-reasoning/anli/corpus_statistics.py community (archive-listed) unverified Apache-2.0 (permissive) · d0d6da0d2a941144 · report
mean_word_lens allenai/abductive-commonsense-reasoning/anli/corpus_statistics.py community (archive-listed) unverified Apache-2.0 (permissive) · a0397d9919a23e00 · report
num_correct allenai/abductive-commonsense-reasoning/anli/run_anli.py community (archive-listed) unverified Apache-2.0 (permissive) · aebac6962806ff28 · report
process seungonekim/abductive-commonsense-reasoning/anlg/evaluation/bert_score/utils.py community (archive-listed) unverified Apache-2.0 (permissive) · 94931df06dab4db5 · report
read_jsonl_lines allenai/abductive-commonsense-reasoning/utils/file_utils.py community (archive-listed) unverified Apache-2.0 (permissive) · d0d8b8a41cf48c5e · report
read_lines allenai/abductive-commonsense-reasoning/utils/file_utils.py community (archive-listed) unverified Apache-2.0 (permissive) · 7e775841119597bd · report
sample_sequence allenai/abductive-commonsense-reasoning/anlg/run_generation.py community (archive-listed) unverified Apache-2.0 (permissive) · e2f5996137ac1cb9 · report
select_field allenai/abductive-commonsense-reasoning/anli/data_processors.py community (archive-listed) unverified Apache-2.0 (permissive) · 0a546b305d274996 · report
top_k_top_p_filtering allenai/abductive-commonsense-reasoning/anlg/run_generation.py community (archive-listed) unverified Apache-2.0 (permissive) · ee8b235cc453809b · report

Tasks

Multiple-choiceNatural Language InferenceQuestion Answering

Datasets

Introduced by this paper, per the archive.

ART Dataset

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections