{"id":23029799,"url":"https://github.com/antononcube/conversationalagents","last_synced_at":"2026-01-16T01:49:25.435Z","repository":{"id":43818123,"uuid":"78666981","full_name":"antononcube/ConversationalAgents","owner":"antononcube","description":"Articles, designs, and code for making conversational agents.","archived":false,"fork":false,"pushed_at":"2023-07-03T17:37:15.000Z","size":59798,"stargazers_count":9,"open_issues_count":1,"forks_count":6,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-02T20:33:43.691Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.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":"2017-01-11T18:28:58.000Z","updated_at":"2022-11-20T06:49:52.000Z","dependencies_parsed_at":"2025-04-02T20:41:12.658Z","dependency_job_id":null,"html_url":"https://github.com/antononcube/ConversationalAgents","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/antononcube/ConversationalAgents","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antononcube%2FConversationalAgents","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antononcube%2FConversationalAgents/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antononcube%2FConversationalAgents/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antononcube%2FConversationalAgents/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/antononcube","download_url":"https://codeload.github.com/antononcube/ConversationalAgents/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antononcube%2FConversationalAgents/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28474505,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T00:15:39.755Z","status":"ssl_error","status_checked_at":"2026-01-16T00:15:32.174Z","response_time":62,"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":[],"created_at":"2024-12-15T14:17:07.380Z","updated_at":"2026-01-16T01:49:25.421Z","avatar_url":"https://github.com/antononcube.png","language":"HTML","funding_links":["https://www.buymeacoffee.com/antonov70"],"categories":[],"sub_categories":[],"readme":"# ConversationalAgents\n\nArticles, designs, and code for making conversational agents.\n\n## Conversational agents for Machine Learning workflows\n\nCurrently the primary focus in this repository is the making of grammars and interpreters that \ngenerate programming code for Machine Learning (ML) workflows from sequences of natural language commands. \n\nThe code generation is done through dedicated grammar parsers, ML software monads, and interpreters that map\nthe parser-derived abstract syntax trees into corresponding ML monads. \n\nHere is a diagram for the general, \"big picture\" approach:\n\n![Monadic-making-of-ML-conversational-agents](./ConceptualDiagrams/Monadic-making-of-ML-conversational-agents.jpg)\n\nThe primary target are the programming languages R and Wolfram Language (WL). \n(Some of the Raku packages generate Python code, but at this point that is just for illustration purposes. \nThere are no actual implementations for the generated Python pipelines.)\n\n\n### Example \n\nThe following example shows monadic pipeline generation of Latent Semantic Analysis (LSA) workflows\nin both R and WL using: \n\n- the Raku (Perl 6) package [LatentSemanticAnalysisWorkflows](./Packages/Perl6/LatentSemanticAnalysisWorkflows),\n\n- the R package [LSAMon-R](https://github.com/antononcube/R-packages/tree/master/LSAMon-R), and\n\n- the WL package [MonadicLatentSemanticAnalysis.m](https://github.com/antononcube/MathematicaForPrediction/blob/master/MonadicProgramming/MonadicLatentSemanticAnalysis.m).\n\nNote that:\n\n- the sequences of natural commands are the same;\n\n- the generated R and WL code pipelines are similar because the corresponding packages have similar implementations.\n\n---\n\nThis Raku (Perl 6) command assigns a sequence of natural commands to a variable:\n\n```perl6\nmy $command ='\ncreate from aText;\nmake document term matrix with no stemming and automatic stop words;\necho data summary;\napply lsi functions global weight function idf, local term weight function none, normalizer function cosine;\nextract 12 topics using method NNMF and max steps 12;\nshow topics table with 12 columns and 10 terms;\nshow thesaurus table for sing, left, home;\n';\n```\n\n---\n\nThis Raku (Perl 6) command:\n\n```perl6\nsay to_LSAMon_R($command);\n```\n\ngenerates this R code:\n\n```r\nLSAMonUnit(aText) %\u003e%\nLSAMonMakeDocumentTermMatrix( stemWordsQ = NA, stopWords = NULL) %\u003e%\nLSAMonEchoDocumentTermMatrixStatistics( ) %\u003e%\nLSAMonApplyTermWeightFunctions(globalWeightFunction = \"IDF\", localWeightFunction = \"None\", normalizerFunction = \"Cosine\") %\u003e%\nLSAMonExtractTopics( numberOfTopics = 12, method = \"NNMF\",  maxSteps = 12) %\u003e%\nLSAMonEchoTopicsTable(numberOfTableColumns = 12, numberOfTerms = 10) %\u003e%\nLSAMonEchoStatisticalThesaurus( words = c(\"sing\", \"left\", \"home\"))\n```\n\n---\n\nThis Raku (Perl 6) command:\n\n```perl6\nsay to_LSAMon_WL($command);\n```\n\ngenerates this WL code:\n\n```mathematica\nLSAMonUnit[aText] ⟹\nLSAMonMakeDocumentTermMatrix[ \"StemmingRules\" -\u003e None, \"StopWords\" -\u003e Automatic] ⟹\nLSAMonEchoDocumentTermMatrixStatistics[ ] ⟹\nLSAMonApplyTermWeightFunctions[\"GlobalWeightFunction\" -\u003e \"IDF\", \"LocalWeightFunction\" -\u003e \"None\", \"NormalizerFunction\" -\u003e \"Cosine\"] ⟹\nLSAMonExtractTopics[\"NumberOfTopics\" -\u003e 12, Method -\u003e \"NNMF\", \"MaxSteps\" -\u003e 12] ⟹\nLSAMonEchoTopicsTable[\"NumberOfTableColumns\" -\u003e 12, \"NumberOfTerms\" -\u003e 10] ⟹\nLSAMonEchoStatisticalThesaurus[ \"Words\" -\u003e { \"sing\", \"left\", \"home\" }]\n```\n\n--- \n\nThis Raku (Perl 6) command:\n\n```perl6\nsay to_LSAMon_Python($command);\n```\n\ngenerates this Python code:\n\n```python\nobj = LSAMonUnit(aText);\nobj = LSAMonMakeDocumentTermMatrix( lsaObj = obj, stemWordsQ = NA, stopWords = NULL);\nobj = LSAMonEchoDocumentTermMatrixStatistics( lsaObj = obj );\nobj = LSAMonApplyTermWeightFunctions( lsaObj = obj, globalWeightFunction = \"IDF\", localWeightFunction = \"None\", normalizerFunction = \"Cosine\");\nobj = LSAMonExtractTopics( lsaObj = obj, numberOfTopics = 12, method = \"NNMF\",  maxSteps = 12);\nobj = LSAMonEchoTopicsTable( lsaObj = obj, numberOfTableColumns = 12, numberOfTerms = 10);\nobj = LSAMonEchoStatisticalThesaurus( lsaObj = obj, words = c(\"sing\", \"left\", \"home\"))\n```\n\nNote that the Python code above shows how to interpret the R and WL monadic pipelines above\ninto sequences of imperative commands.\n\n------\n\n## Support \u0026 appreciation\n\n[![\"Buy Me A Coffee\"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/antonov70)\n\n😅 ☕️ 😀\n\n------\n\nAnton Antonov\n11.01.2017 Florida, USA\n05.02.2020 Florida, USA (update)\n29.10.2022 Florida, USA (update)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantononcube%2Fconversationalagents","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantononcube%2Fconversationalagents","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantononcube%2Fconversationalagents/lists"}