{"id":45181202,"url":"https://github.com/ringgaard/sling","last_synced_at":"2026-03-05T08:01:18.077Z","repository":{"id":37589487,"uuid":"106742468","full_name":"ringgaard/sling","owner":"ringgaard","description":"SLING - A natural language frame semantics parser","archived":false,"fork":false,"pushed_at":"2026-02-06T11:05:44.000Z","size":18519,"stargazers_count":174,"open_issues_count":6,"forks_count":11,"subscribers_count":10,"default_branch":"master","last_synced_at":"2026-02-06T19:05:24.517Z","etag":null,"topics":["frame-semantic-parsing","frame-semantics","jit-compiler","knowledge-management","knowledge-representation","machine-learning","natural-language-processing","natural-language-understanding","neural-network","nlp","wikidata"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ringgaard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-10-12T20:34:28.000Z","updated_at":"2026-02-06T11:05:48.000Z","dependencies_parsed_at":"2024-01-15T21:17:11.997Z","dependency_job_id":"be9eefbe-6ffb-442b-90dc-c4720598beed","html_url":"https://github.com/ringgaard/sling","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ringgaard/sling","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringgaard%2Fsling","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringgaard%2Fsling/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringgaard%2Fsling/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringgaard%2Fsling/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ringgaard","download_url":"https://codeload.github.com/ringgaard/sling/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringgaard%2Fsling/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30115662,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T03:40:26.266Z","status":"ssl_error","status_checked_at":"2026-03-05T03:39:15.902Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["frame-semantic-parsing","frame-semantics","jit-compiler","knowledge-management","knowledge-representation","machine-learning","natural-language-processing","natural-language-understanding","neural-network","nlp","wikidata"],"created_at":"2026-02-20T10:00:30.840Z","updated_at":"2026-03-05T08:01:18.049Z","avatar_url":"https://github.com/ringgaard.png","language":"C++","readme":"# SLING - A natural language frame semantics parser\nby [Ringgaard Research](https://ringgaard.com)\n\nThe aim of the SLING project is to learn to read and understand Wikipedia\narticles in many languages for the purpose of knowledge base completion, e.g.\nadding facts mentioned in Wikipedia (and other sources) to the\n[Wikidata](https://www.wikidata.org) knowledge base.\nWe use [frame semantics](doc/guide/frames.md) as a common representation for\nboth knowledge representation and document annotation. The SLING parser can\nbe trained to produce frame semantic representations of text directly without\nany explicit intervening linguistic representation.\n\nThe SLING project is still work in progress. We do not yet have a full system\nthat can extract facts from arbitrary text, but we have built a number of the\nsubsystems needed for such a system.\nThe SLING frame store is our basic framework for building and manipulating frame\nsemantic graph structures.\nThe [Wiki flow pipeline](doc/guide/wikiflow.md) can take a raw dump of Wikidata\nand [convert](doc/guide/wikiflow.md#wikidata-import) this into one big frame\ngraph.\nThis can be loaded into memory so we can do fast graph traversal for inference\nand reasoning over the knowledge base.\nThe Wiki flow pipeline can also take raw Wikipedia dumps and\n[convert](doc/guide/wikiflow.md#wikipedia-import-and-parsing) these into a set\nof documents with structured annotations extracted from the Wiki markup. This\nalso produces [phrase tables](doc/guide/wikiflow.md#name-and-phrase-tables) that\nare used for mapping names to entities.\nThere is a [SLING Python API](doc/guide/pyapi.md) for accessing all this\ninformation and we also have a [bot](python/wikibot) for uploading extracted\nfacts to Wikidata.\n\n## The SLING Parser\n\nThe SLING parser is used for annotating text with frame semantic annotations.\nIt is a general transition-based frame semantic parser using bi-directional\nLSTMs for input encoding and a Transition Based Recurrent Unit (TBRU) for output\ndecoding.\nIt is a jointly trained model using only the text tokens as input and the\ntransition system has been designed to output frame graphs directly without any\nintervening symbolic representation.\n\n![SLING neural network architecture.](./doc/report/network.svg)\n\nThe SLING framework includes an efficient and scalable\n[frame store](doc/guide/frames.md) implementation as well as a\n[neural network JIT compiler](doc/guide/myelin.md) for fast training and\nparsing.\n\nA more detailed description of the SLING parser can be found in this paper:\n\n* Michael Ringgaard, Rahul Gupta, and Fernando C. N. Pereira. 2017.\n  *SLING: A framework for frame semantic parsing*. http://arxiv.org/abs/1710.07032.\n\nSLING is also the foundation for [KnolCase](https://ringgaard.com/c/).\nKnolCase is a distributed case-based knowledge management tool for gathering\ninformation about subjects of interest and organizing these into case files,\nwhich can be shared with others and published to public knowledge bases.\n\u003c/span\u003e\n\n## More information ...\n\n  * [Installation and building](doc/guide/install.md)\n  * [Wikipedia and Wikidata processing](doc/guide/wikiflow.md)\n  * [SLING Python API](doc/guide/pyapi.md)\n  * [CASPAR frame semantics parser](doc/guide/caspar.md)\n  * [Myelin neural network JIT compiler](doc/guide/myelin.md)\n  * [Semantic frames](doc/guide/frames.md)\n  * [SLINGDB persistent key-value store](doc/guide/slingdb.md)\n\n## Credits\n\nOriginal authors of the code in this package include:\n\n*   Michael Ringgaard\n*   Rahul Gupta\n*   Anders Sandholm\n","funding_links":[],"categories":["C++"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fringgaard%2Fsling","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fringgaard%2Fsling","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fringgaard%2Fsling/lists"}