{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/a-generative-symbolic-model-for-more-general","title":"Towards General Natural Language Understanding with Probabilistic Worldbuilding","arxiv_id":"2105.02486","date":"2021-05-06","proceeding":null,"authors":["Abulhair Saparov","Tom M. Mitchell"],"abstract":"We introduce the Probabilistic Worldbuilding Model (PWM), a new fully-symbolic Bayesian model of semantic parsing and reasoning, as a first step in a research program toward more domain- and task-general NLU and AI. Humans create internal mental models of their observations which greatly aid in their ability to understand and reason about a large variety of problems. In PWM, the meanings of sentences, acquired facts about the world, and intermediate steps in reasoning are all expressed in a human-readable formal language, with the design goal of interpretability. PWM is Bayesian, designed specifically to be able to generalize to new domains and new tasks. We derive and implement an inference algorithm that reads sentences by parsing and abducing updates to its latent world model that capture the semantics of those sentences, and evaluate it on two out-of-domain question-answering datasets: (1) ProofWriter and (2) a new dataset we call FictionalGeoQA, designed to be more representative of real language but still simple enough to focus on evaluating reasoning ability, while being robust against heuristics. Our method outperforms baselines on both, thereby demonstrating its value as a proof-of-concept.","url_abs":"https://arxiv.org/abs/2105.02486v2","url_pdf":"https://arxiv.org/pdf/2105.02486v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"a-generative-symbolic-model-for-more-general","repo_url":"https://github.com/asaparov/fictionalgeoqa","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"a-generative-symbolic-model-for-more-general","repo_url":"https://github.com/asaparov/pwl","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"natural-language-understanding","task_name":"Natural Language Understanding"},{"task_slug":"question-answering","task_name":"Question Answering"},{"task_slug":"semantic-parsing","task_name":"Semantic Parsing"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2105.02486","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2105.02486"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/asaparov/pwl","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/asaparov/fictionalgeoqa","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_violates":1,"unverified":13},"by_repo_kind":{"official":{"samples":14,"ran":1,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"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"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"2f8e524a282482b9","entry":"isfloat","repo":"asaparov/fictionalgeoqa","repo_kind":"official","path":"run_boxer.py","file_url":"https://github.com/asaparov/fictionalgeoqa/blob/HEAD/run_boxer.py","link_basis":"plan_row","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2f8e524a282482b9"}},{"code_sha256_prefix":"a9a77c2802d0328e","entry":"contains","repo":"asaparov/fictionalgeoqa","repo_kind":"official","path":"fol.py","file_url":"https://github.com/asaparov/fictionalgeoqa/blob/HEAD/fol.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a9a77c2802d0328e"}},{"code_sha256_prefix":"44aeeda0c80091ad","entry":"first_orderize","repo":"asaparov/fictionalgeoqa","repo_kind":"official","path":"run_thm_prover.py","file_url":"https://github.com/asaparov/fictionalgeoqa/blob/HEAD/run_thm_prover.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"44aeeda0c80091ad"}},{"code_sha256_prefix":"4aed7938784d3c59","entry":"get_free_variables","repo":"asaparov/fictionalgeoqa","repo_kind":"official","path":"drs.py","file_url":"https://github.com/asaparov/fictionalgeoqa/blob/HEAD/drs.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4aed7938784d3c59"}},{"code_sha256_prefix":"bfd24c92f563b40d","entry":"is_var_declared","repo":"asaparov/fictionalgeoqa","repo_kind":"official","path":"drs.py","file_url":"https://github.com/asaparov/fictionalgeoqa/blob/HEAD/drs.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"bfd24c92f563b40d"}},{"code_sha256_prefix":"d1627808332b9f0f","entry":"line_split","repo":"asaparov/fictionalgeoqa","repo_kind":"official","path":"drs.py","file_url":"https://github.com/asaparov/fictionalgeoqa/blob/HEAD/drs.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d1627808332b9f0f"}},{"code_sha256_prefix":"e387ba048ca4dca1","entry":"max_variable","repo":"asaparov/fictionalgeoqa","repo_kind":"official","path":"fol.py","file_url":"https://github.com/asaparov/fictionalgeoqa/blob/HEAD/fol.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e387ba048ca4dca1"}},{"code_sha256_prefix":"af19d0c837ca4218","entry":"normalize_names_and_numbers","repo":"asaparov/fictionalgeoqa","repo_kind":"official","path":"run_boxer.py","file_url":"https://github.com/asaparov/fictionalgeoqa/blob/HEAD/run_boxer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"af19d0c837ca4218"}},{"code_sha256_prefix":"97ebbc514e594629","entry":"normalize_names_and_numbers","repo":"asaparov/fictionalgeoqa","repo_kind":"official","path":"run_neural_drs.py","file_url":"https://github.com/asaparov/fictionalgeoqa/blob/HEAD/run_neural_drs.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"97ebbc514e594629"}},{"code_sha256_prefix":"da98c9c9bf67c4c7","entry":"number_symbol","repo":"asaparov/fictionalgeoqa","repo_kind":"official","path":"run_thm_prover.py","file_url":"https://github.com/asaparov/fictionalgeoqa/blob/HEAD/run_thm_prover.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"da98c9c9bf67c4c7"}},{"code_sha256_prefix":"14fc87515d8d0d84","entry":"remove_lambda_variable","repo":"asaparov/fictionalgeoqa","repo_kind":"official","path":"run_boxer.py","file_url":"https://github.com/asaparov/fictionalgeoqa/blob/HEAD/run_boxer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"14fc87515d8d0d84"}},{"code_sha256_prefix":"9aad33af40531699","entry":"remove_lambda_variable","repo":"asaparov/fictionalgeoqa","repo_kind":"official","path":"run_neural_drs.py","file_url":"https://github.com/asaparov/fictionalgeoqa/blob/HEAD/run_neural_drs.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9aad33af40531699"}},{"code_sha256_prefix":"c2b629a510d86b77","entry":"substitute","repo":"asaparov/fictionalgeoqa","repo_kind":"official","path":"fol.py","file_url":"https://github.com/asaparov/fictionalgeoqa/blob/HEAD/fol.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c2b629a510d86b77"}},{"code_sha256_prefix":"8754e2105529b75a","entry":"test_candidate","repo":"asaparov/fictionalgeoqa","repo_kind":"official","path":"check_fictionalgeoqa_answers.py","file_url":"https://github.com/asaparov/fictionalgeoqa/blob/HEAD/check_fictionalgeoqa_answers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8754e2105529b75a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}