{"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-neural-model-for-regular-grammar-induction","title":"A Neural Model for Regular Grammar Induction","arxiv_id":"2209.11628","date":"2022-09-23","proceeding":null,"authors":["Peter Belcák","David Hofer","Roger Wattenhofer"],"abstract":"Grammatical inference is a classical problem in computational learning theory and a topic of wider influence in natural language processing. We treat grammars as a model of computation and propose a novel neural approach to induction of regular grammars from positive and negative examples. Our model is fully explainable, its intermediate results are directly interpretable as partial parses, and it can be used to learn arbitrary regular grammars when provided with sufficient data. We find that our method consistently attains high recall and precision scores across a range of tests of varying complexity.","url_abs":"https://arxiv.org/abs/2209.11628v2","url_pdf":"https://arxiv.org/pdf/2209.11628v2.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-neural-model-for-regular-grammar-induction","repo_url":"https://github.com/pbelcak/neregrain","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"learning-theory","task_name":"Learning Theory"},{"task_slug":"model","task_name":"model"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2209.11628","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2209.11628"}},"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/pbelcak/neregrain","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":4},"by_repo_kind":{"official":{"samples":4,"ran":0,"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":"adb5d701fef615b6","entry":"grammar_model_loss","repo":"pbelcak/neregrain","repo_kind":"official","path":"curriculum.py","file_url":"https://github.com/pbelcak/neregrain/blob/HEAD/curriculum.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"adb5d701fef615b6"}},{"code_sha256_prefix":"906bcbb207d45d5b","entry":"make_data","repo":"pbelcak/neregrain","repo_kind":"official","path":"data.py","file_url":"https://github.com/pbelcak/neregrain/blob/HEAD/data.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"906bcbb207d45d5b"}},{"code_sha256_prefix":"fa0fe1f9417fd9e5","entry":"test","repo":"pbelcak/neregrain","repo_kind":"official","path":"curriculum.py","file_url":"https://github.com/pbelcak/neregrain/blob/HEAD/curriculum.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fa0fe1f9417fd9e5"}},{"code_sha256_prefix":"6d9192f2b828c7f6","entry":"train","repo":"pbelcak/neregrain","repo_kind":"official","path":"curriculum.py","file_url":"https://github.com/pbelcak/neregrain/blob/HEAD/curriculum.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6d9192f2b828c7f6"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}