{"id":18440599,"url":"https://github.com/stanford-oval/genie-toolkit","last_synced_at":"2025-04-12T16:37:43.425Z","repository":{"id":38430789,"uuid":"169155616","full_name":"stanford-oval/genie-toolkit","owner":"stanford-oval","description":"The Genie open source kit for voice assistant (formerly known as Almond)","archived":false,"fork":false,"pushed_at":"2023-06-07T23:35:33.000Z","size":43526,"stargazers_count":198,"open_issues_count":101,"forks_count":37,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-04-03T17:11:14.935Z","etag":null,"topics":["hacktoberfest","natural-language","nlp","semantic-parsers","voice-assistant"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/stanford-oval.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2019-02-04T21:52:16.000Z","updated_at":"2025-03-12T04:29:47.000Z","dependencies_parsed_at":"2024-06-19T20:02:04.857Z","dependency_job_id":"1c7193db-e17e-4719-85a1-736c00ef4061","html_url":"https://github.com/stanford-oval/genie-toolkit","commit_stats":{"total_commits":5072,"total_committers":49,"mean_commits":"103.51020408163265","dds":0.292981072555205,"last_synced_commit":"681b21d161e35a65f2dec29fde6967c012fa024b"},"previous_names":[],"tags_count":57,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stanford-oval%2Fgenie-toolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stanford-oval%2Fgenie-toolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stanford-oval%2Fgenie-toolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stanford-oval%2Fgenie-toolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stanford-oval","download_url":"https://codeload.github.com/stanford-oval/genie-toolkit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248597663,"owners_count":21130917,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["hacktoberfest","natural-language","nlp","semantic-parsers","voice-assistant"],"created_at":"2024-11-06T06:31:30.716Z","updated_at":"2025-04-12T16:37:43.395Z","avatar_url":"https://github.com/stanford-oval.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Genie\n\n[![Build Status](https://travis-ci.com/stanford-oval/genie-toolkit.svg?branch=master)](https://travis-ci.com/stanford-oval/genie-toolkit) [![Coverage Status](https://coveralls.io/repos/github/stanford-oval/genie-toolkit/badge.svg?branch=master)](https://coveralls.io/github/stanford-oval/genie-toolkit?branch=master) [![Dependency Status](https://david-dm.org/stanford-oval/genie-toolkit/status.svg)](https://david-dm.org/stanford-oval/genie-toolkit) [![Language grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/stanford-oval/genie-toolkit.svg?logo=lgtm\u0026logoWidth=18)](https://lgtm.com/projects/g/stanford-oval/genie-toolkit/context:javascript) [![Discord](https://img.shields.io/discord/642041264208085014)](https://discord.gg/anthtR4) [![Discourse status](https://img.shields.io/discourse/https/community.almond.stanford.edu/status.svg)](https://community.almond.stanford.edu)\n\nThis repository hosts Genie, a toolkit which allows you to quickly create new semantic\nparsers that translate from natural language to a formal language of your choice.\n\nGenie was described in the paper:\n\n_Genie: A Generator of Natural Language Semantic Parsers for Virtual Assistant Commands_  \nGiovanni Campagna (\\*), Silei Xu (\\*), Mehrad Moradshahi, Richard Socher, and Monica S. Lam  \nIn _Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation_ (PLDI 2019), Phoenix, AZ, June 2019.\n\nIf you use Genie in any academic work, please cite the above paper.\n\n## Installation\n\nGenie depends on additional libraries, including the ThingTalk library and the [GenieNLP](https://github.com/stanford-oval/genienlp/) machine learning library.\nSee [doc/install.md](doc/install.md) for details and installation instructions.\n\n## License\n\nThis package is covered by the Apache 2.0 license. See [LICENSE](LICENSE) for details.\nNote that this package depends on several nodejs modules by third-parties, each with\ntheir own license. In particular, some modules might have licensing requirements that\nare more restrictive than Genie's. It is your responsability to comply with Genie's\ncopyright license, as well as all licenses of included dependencies.\n\n## Reproducing The Results In Our Papers\n\nTo reproduce the machine learning results in Stanford papers that use Genie (including\nthe PLDI 2019 paper and the ACL 2020 paper), please use the\nassociated artifacts, available for download from [our website](https://oval.cs.stanford.edu/releases/#section-datasets).\nThe artifact includes all the necessary datasets (including ablation and case studies), pretrained models\nand evaluation scripts. Please follow the instructions in the README file to reproduce individual experiments. \n\n## Using Genie\n\n### Genie Concepts\n\nGenie is a synthesis-based tool to build dialogue agents. Genie is based on the\n_Genie template language_, which succintly defines a space of synthesized sentences.\nGenie can use the template language to generate a dataset, then sample a subset of\nsentences to paraphrase using crowdsourcing. Commonly, the template language is\npaired with a _skill definition_, entered in a repository like [Thingpedia](https://thingpedia.stanford.edu),\nwhich defines the APIs available to the dialogue agent.\n\n### A Turnkey Solution For Genie+Almond\n\nA all-in-one solution to use Genie to extend ThingTalk with new skills and new templates\nis provided by [almond-cloud](https://github.com/stanford-oval/almond-cloud).\nPlease refer to its documentation for installation instructions.\n\nAfter installation, administrators can create new natural language models,\ntrigger automated training and deploy the trained models to any Almond system.\n\n### Manual Genie Usage\n\nIf one wants to avoid the complexity of setting up a database and web server, it\nis possible to invoke Genie manually from the command-line, and have it manipulate\ndatasets stored as TSV/CSV files.\n\nA number of tutorials are included in the [doc/](doc/index.md) folder, describing\ncommon Genie usage.\n\nNOTE: Genie assumes all files are UTF-8, and ignores the current POSIX locale (LC_CTYPE and LANG\nenviornment varialbes). Legacy encodings such as ISO-8859-1 or Big5 are not supported and could\ncause problems.\n\n### Modifying ThingTalk\n\nIf you want to also extend ThingTalk (with new syntax or new features) you will need to\nfork and modify the library, which lives at \u003chttps://github.com/stanford-oval/thingtalk\u003e.\nAfter modifying the library, you can use `npm link` to point the almond-cloud installation\nto your library. You must make sure that only one copy of the ThingTalk library is loaded\n(use `npm ls thingtalk` to check).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstanford-oval%2Fgenie-toolkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstanford-oval%2Fgenie-toolkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstanford-oval%2Fgenie-toolkit/lists"}