{"id":23029641,"url":"https://github.com/antononcube/wl-nlptemplateengine-paclet","last_synced_at":"2026-02-23T16:35:59.231Z","repository":{"id":185392947,"uuid":"627194111","full_name":"antononcube/WL-NLPTemplateEngine-paclet","owner":"antononcube","description":"Wolfram Language (aka Mathematica) paclet that fills in (code) templates using NLP techniques. ","archived":false,"fork":false,"pushed_at":"2024-08-29T02:26:10.000Z","size":2163,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-02T20:32:43.309Z","etag":null,"topics":["chatgpt-api","machine-learning","nlp-machine-learning","opeanai"],"latest_commit_sha":null,"homepage":"https://resources.wolframcloud.com/PacletRepository/resources/AntonAntonov/NLPTemplateEngine/","language":"Mathematica","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.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}},"created_at":"2023-04-13T01:14:18.000Z","updated_at":"2024-08-29T02:26:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"445b47c6-f423-4155-868c-24e5c93a9c68","html_url":"https://github.com/antononcube/WL-NLPTemplateEngine-paclet","commit_stats":null,"previous_names":["antononcube/wl-nlptemplateengine-paclet"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/antononcube/WL-NLPTemplateEngine-paclet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antononcube%2FWL-NLPTemplateEngine-paclet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antononcube%2FWL-NLPTemplateEngine-paclet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antononcube%2FWL-NLPTemplateEngine-paclet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antononcube%2FWL-NLPTemplateEngine-paclet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/antononcube","download_url":"https://codeload.github.com/antononcube/WL-NLPTemplateEngine-paclet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antononcube%2FWL-NLPTemplateEngine-paclet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29748242,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-23T07:44:07.782Z","status":"ssl_error","status_checked_at":"2026-02-23T07:44:07.432Z","response_time":90,"last_error":"SSL_read: 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":["chatgpt-api","machine-learning","nlp-machine-learning","opeanai"],"created_at":"2024-12-15T14:16:29.170Z","updated_at":"2026-02-23T16:35:59.201Z","avatar_url":"https://github.com/antononcube.png","language":"Mathematica","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NLPTemplateEngine WL paclet\n\n## In brief\n\nWolfram Language (aka Mathematica) paclet for code generation by filling in templates using NLP techniques.\n\nThe paclet has a template fill in function `Concretize` and a related classifier of natural language specifications.\nA user can provide code templates to be filled in using CSV files.\n\nThe pre-loaded templates are used to produce Machine Learning (ML) computational workflow specifications for: \n- Classification\n- Latent Semantic Analysis\n- Quantile Regression\n- Recommendations\n- Random tabular data generation \n\n\nThe implementations are in Python, R, and WL. Here is example of Python recommender creation spec:\n\n-----\n\n## Usage examples\n\n### Classification (WL)\n\n```mathematica\nConcretize[\"Quantile regression with the dataset dfTemp; use 20 knots and the probabilities 0.1 and 0.9.\"]\n```\n\n```mathematica\nHold[qrObj = \n   QRMonUnit[dfTemp]⟹\n     QRMonEchoDataSummary[]⟹\n     QRMonQuantileRegression[20, {0.1, 0.9}, InterpolationOrder -\u003e 3]⟹\n     QRMonPlot[\"DateListPlot\" -\u003e False, PlotTheme -\u003e \"Detailed\"]⟹\n     QRMonErrorPlots[\"RelativeErrors\" -\u003e False, \"DateListPlot\" -\u003e False, PlotTheme -\u003e \"Detailed\"];\n]\n```\n\n### Quantile Regression (WL)\n\n```mathematica\nConcretize[\"Quantile regression with the dataset dfTemp; use 20 knots and the probabilities 0.1 and 0.9.\"]\n```\n\n```mathematica\nHold[\n qrObj = QRMonUnit[dfTmep]⟹\n     QRMonEchoDataSummary[]⟹\n     QRMonQuantileRegression[20, {0.1, 0.9}, InterpolationOrder -\u003e 3]⟹\n     QRMonPlot[\"DateListPlot\" -\u003e False, PlotTheme -\u003e \"Detailed\"]⟹\n     QRMonErrorPlots[\"RelativeErrors\" -\u003e False, \"DateListPlot\" -\u003e False, PlotTheme -\u003e \"Detailed\"];\n]\n```\n\n\n### Recommendations (Python)\n\n```mathematica\nConcretize[\"Make a recommender over the data dfMovies; Give recommendations for the profile actor:Willis and year:1995.\", \n \"TargetLanguage\" -\u003e \"Python\"]\n```\n\n```python\nsmrObj = (SparseMatrixRecommender()\n.create_from_wide_form(data = dfMovies, item_column_name=\"id\", columns=None, add_tag_types_to_column_names=True, tag_value_separator=\":\")\n.apply_term_weight_functions(\"IDF\", \"None\", \"Cosine\")\n.recommend_by_profile(profile=[\"Willis\", \"year\"], nrecs=12)\n.join_across(data=dfMovies, on=\"id\")\n.echo_value())\n```\n\n-----\n\n## Workflow\n\n*TBD...*\n\n-----\n\n## Targets\n\n*TBF...*\n\n### Classification\n\n### Latent Semantic Analysis\n\n### Quantile Regression\n\n### Recommendations\n\n\n### Random tabular dataset\n\n- Python,  \n- R,\n- Raku\n- WL, \n[`RandomTabularDataset`](https://resources.wolframcloud.com/FunctionRepository/resources/RandomTabularDataset/)\n\n\n\n------\n\n## Bring your own templates\n\n0. Load the paclet [NLP-Template-Engine](https://resources.wolframcloud.com/PacletRepository/resources/AntonAntonov/NLPTemplateEngine/).\n   \n\n```mathematica\nNeeds[\"AntonAntonov`NLPTemplateEngine`\"]\n```\n\n1. Get the \"training\" templates data (from CSV file you have created or changed) for a new workflow\n   ([\"SendMail\"](./TemplateData/dsQASParameters-SendMail.csv)):\n\n```mathematica\ndsSendMailTemplateEngineData = ResourceFunction[\"ImportCSVToDataset\"][\n  \"https://raw.githubusercontent.com/antononcube/NLP-Template-Engine/main/TemplateData/dsQASParameters-SendMail.csv\"];\nDimensions[dsSendMailTemplateEngineData]\n\n(* {43, 5} *)\n```\n\n2. Add the ingested data for the new workflow (from the CSV file) into the NLP-Template-Engine:\n\n```mathematica\nNLPTemplateEngineAddData[dsSendMailTemplateEngineData] // Keys\n\n(* {\"Questions\", \"Templates\", \"Defaults\", \"Shortcuts\"} *)\n```\n\n3. Parse natural language specification with the newly ingested and onboarded workflow (\"SendMail\"):\n\n```mathematica\nConcretize[\"SendMail\", \"Send email to joedoe@gmail.com with content RandomReal[343], and the subject this is a random real call.\", PerformanceGoal -\u003e \"Speed\"]\n\n(* Hold[\n SendMail[\n  Association[\"To\" -\u003e {\"joedoe@gmail.com\"}, \n   \"Subject\" -\u003e \"a random real call\", \"Body\" -\u003e RandomReal, \n   \"AttachedFiles\" -\u003e None]]] *)\n```\n\n4. Experiment with running the generated code!\n\n-----\n\n## References\n\n### Repositories\n\n[AAr1] Anton Antonov\n[NLP Template Engine](https://github.com/antononcube/NLP-Template-Engine),\n(2021),\n[GitHub/antononcube](https://github.com/antononcube).\n\n### Videos\n\n[AAv1] Anton Antonov\n[\"NLP Template Engine, Part 1\"](https://www.youtube.com/watch?v=a6PvmZnvF9I), \n(2021), \n[YouTube/AntonAntonov](https://www.youtube.com/@AAA4prediction).\n\n[AAv2] Anton Antonov,\n[Natural Language Processing Template Engine](https://www.youtube.com/watch?v=IrIW9dB5sRM), \n(2022), \n[Wolfram Technology Conference 2022](https://www.wolfram.com/events/technology-conference/2022/) \npresentation. \n[YouTube/WolframResearch](https://www.youtube.com/@WolframResearch).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantononcube%2Fwl-nlptemplateengine-paclet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantononcube%2Fwl-nlptemplateengine-paclet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantononcube%2Fwl-nlptemplateengine-paclet/lists"}