{"id":23029736,"url":"https://github.com/antononcube/raku-dsl-entity-machinelearning","last_synced_at":"2025-04-02T20:25:50.775Z","repository":{"id":71383670,"uuid":"546393607","full_name":"antononcube/Raku-DSL-Entity-MachineLearning","owner":"antononcube","description":"Raku package of machine learning entity names parsing and interpretation.","archived":false,"fork":false,"pushed_at":"2024-01-30T19:16:59.000Z","size":57,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-08T11:13:29.464Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Raku","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"artistic-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/antononcube.png","metadata":{"files":{"readme":"README-work.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}},"created_at":"2022-10-06T02:25:47.000Z","updated_at":"2023-03-30T17:30:04.000Z","dependencies_parsed_at":"2023-02-25T13:15:18.101Z","dependency_job_id":null,"html_url":"https://github.com/antononcube/Raku-DSL-Entity-MachineLearning","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antononcube%2FRaku-DSL-Entity-MachineLearning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antononcube%2FRaku-DSL-Entity-MachineLearning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antononcube%2FRaku-DSL-Entity-MachineLearning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antononcube%2FRaku-DSL-Entity-MachineLearning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/antononcube","download_url":"https://codeload.github.com/antononcube/Raku-DSL-Entity-MachineLearning/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246886516,"owners_count":20849883,"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":[],"created_at":"2024-12-15T14:16:58.520Z","updated_at":"2025-04-02T20:25:50.753Z","avatar_url":"https://github.com/antononcube.png","language":"Raku","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DSL::Entity::MachineLearning (Raku package)\n\nRaku grammar classes for Machine Learning (ML) entities (names.)\n\nThe package does entity name recognition using regexes over a set of \nhashes (dictionaries) that map entity name phrases into entity Identifiers (IDs).\nThe hashes are obtained from [the resource files](./resources).\n\nIn short, we say that the package has grammar-resource-based architecture. \nThe same architecture is used in the Domain Specific Language (DSL) entity packages [AAr3-AAr6]. \n\n**Remark:** It is assumed that the associations between entity name phrases and entity IDs\nplaced in the resource files are going to be changed in the future, because of classifier\nsystems updates, or usage feedback. This is one of the main reasons to use grammar-resource-based \narchitecture: subsequent package versions would have better, fuller associations.\n\n------\n\n## Installation\n\n```shell\nzef install https://github.com/antononcube/Raku-DSL-Entity-MachineLearning.git\n```\n\n------\n\n## Usage examples\n\n```perl6\nuse DSL::Entity::MachineLearning;\nuse DSL::Entity::MachineLearning::ResourceAccess;\n\nmy $pCOMMAND = DSL::Entity::MachineLearning::Grammar;\n$pCOMMAND.set-resources(DSL::Entity::MachineLearning::resource-access-object());\n\nsay $pCOMMAND.parse('DecisionTree', rule =\u003e 'machine-learning-entity-command');\nsay $pCOMMAND.parse('gradient boosted trees', rule =\u003e 'machine-learning-entity-command');\nsay $pCOMMAND.parse('roc curve', rule =\u003e 'machine-learning-entity-command');\n```\n\n------\n\n## Command line interface\n\nThe package provide as Command Line Interface (CLI) to its functionalities:\n\n```shell\n\u003e ToMachineLearningEntityCode --help \n# Usage:\n#   ToMachineLearningEntityCode \u003ccommand\u003e [--target=\u003cStr\u003e] [--user=\u003cStr\u003e] -- Conversion of (natural) DSL machine learning entity name into code.\n#   ToMachineLearningEntityCode \u003ctarget\u003e \u003ccommand\u003e [--user=\u003cStr\u003e] -- Both target and command as arguments.\n#   \n#     \u003ccommand\u003e         natural language command (DSL commands)\n#     --target=\u003cStr\u003e    target language/system/package (defaults to 'WL-System') [default: 'WL-System']\n#     --user=\u003cStr\u003e      user identifier (defaults to '') [default: '']\n#     \u003ctarget\u003e          Programming language.\n```\n\n**Remark:** (Currently) the CLI script always returns results in JSON format. \n\n------\n\n## Resource files\n\nThe resource file:\n\n1. [\"ClassifierNameToEntityID_EN.csv\"](./resources/ClassifierNameToEntityID_EN.csv),\n   was derived from the Mathematica function page for \n   [`Classify`](https://reference.wolfram.com/language/ref/Classify.html), [WRI1].\n\n2. [\"ClassifierMeasurementNameToEntityID_EN.csv\"](./resources/ClassifierMeasurementNameToEntityID_EN.csv) \n   was derived using Mathematica's built-in function \n   [`ClassifierMeasurements`](https://reference.wolfram.com/language/ref/ClassifierMeasurements.html), [WRI3].\n   Some additional associations were put in following [WK1].\n\n3. [\"ClassifierPropertyNameToEntityID_EN.csv\"](./resources/ClassifierPropertyNameToEntityID_EN.csv),\n   was derived using Mathematica's built-in function\n   [`Information`](https://reference.wolfram.com/language/ref/Information.html), [WRI4].\n\n4. [\"ROCFunctionNameToEntityID_EN.csv\"](./resources/ROCFunctionNameToEntityID_EN.csv)\n   uses the names and mappings in [WK1]. (See also the related package [AAr7].)\n\n\nThe initial versions Bulgarian versions of the resource files with name suffix \"_BG.csv\" were \nderived by automatic translations of the corresponding English content.\nAfterwards the Bulgarian mappings were reviewed and manually modified.\n\n------\n\n## References\n\n### Articles\n\n[WK1] Wikipedia entry, [\"Receiver operating characteristic\"](https://en.wikipedia.org/wiki/Receiver_operating_characteristic).\n\n### Wolfram Language (WL) articles and functions\n\n[WRI1] Wolfram Research (2014), \n[Classify](https://reference.wolfram.com/language/ref/Classify.html), \nWolfram Language function, https://reference.wolfram.com/language/ref/Classify.html (updated 2021).\n\n[WRI2] Wolfram Research, Inc.,\n[Machine Learning Methods](https://reference.wolfram.com/language/guide/MachineLearningMethods.html).\n\n[WRI3] Wolfram Research (2014), \n[ClassifierMeasurements](https://reference.wolfram.com/language/ref/ClassifierMeasurements.html), \nWolfram Language function, https://reference.wolfram.com/language/ref/ClassifierMeasurements.html (updated 2021).\n\n[WRI4] Wolfram Research (1988), \n[Information](https://reference.wolfram.com/language/ref/Information.html), \nWolfram Language function, https://reference.wolfram.com/language/ref/Information.html (updated 2021).\n\n### Repositories\n\n[AAr1] Anton Antonov,\n[DSL::English::ClassificationWorkflows Raku package](https://github.com/antononcube/Raku-DSL-English-ClassificationWorkflows),\n(2020-2022),\n[GitHub/antononcube](https://github.com/antononcube).\n\n[AAr2] Anton Antonov,\n[DSL::Shared Raku package](https://github.com/antononcube/Raku-DSL-Shared),\n(2020),\n[GitHub/antononcube](https://github.com/antononcube).\n\n[AAr3] Anton Antonov,\n[DSL::Entity::Geographics Raku package](https://github.com/antononcube/Raku-DSL-Entity-Geographics),\n(2021),\n[GitHub/antononcube](https://github.com/antononcube).\n\n[AAr4] Anton Antonov,\n[DSL::Entity::Jobs Raku package](https://github.com/antononcube/Raku-DSL-Entity-Jobs),\n(2021),\n[GitHub/antononcube](https://github.com/antononcube).\n\n[AAr5] Anton Antonov,\n[DSL::Entity::Foods Raku package](https://github.com/antononcube/Raku-DSL-Entity-Foods),\n(2021),\n[GitHub/antononcube](https://github.com/antononcube).\n\n[AAr6] Anton Antonov,\n[DSL::Entity::Metadata Raku package](https://github.com/antononcube/Raku-DSL-Entity-Metadata),\n(2021),\n[GitHub/antononcube](https://github.com/antononcube).\n\n[AAr7] Anton Antonov,\n[ML::ROCFunctions Raku package](https://github.com/antononcube/Raku-ML-ROCFunctions),\n(2022),\n[GitHub/antononcube](https://github.com/antononcube).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantononcube%2Fraku-dsl-entity-machinelearning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantononcube%2Fraku-dsl-entity-machinelearning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantononcube%2Fraku-dsl-entity-machinelearning/lists"}