{"id":24275706,"url":"https://github.com/silasberger/random-name-generator","last_synced_at":"2025-08-29T09:22:31.541Z","repository":{"id":96409880,"uuid":"129709712","full_name":"SilasBerger/random-name-generator","owner":"SilasBerger","description":"Simple random name generator based on a Markov chain","archived":false,"fork":false,"pushed_at":"2018-04-17T11:55:07.000Z","size":1585,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-05T09:27:30.993Z","etag":null,"topics":["markov-chain","random-name-generators","random-word-generator"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SilasBerger.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2018-04-16T08:25:20.000Z","updated_at":"2023-02-02T06:10:57.000Z","dependencies_parsed_at":"2023-07-13T12:45:11.676Z","dependency_job_id":null,"html_url":"https://github.com/SilasBerger/random-name-generator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SilasBerger/random-name-generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SilasBerger%2Frandom-name-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SilasBerger%2Frandom-name-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SilasBerger%2Frandom-name-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SilasBerger%2Frandom-name-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SilasBerger","download_url":"https://codeload.github.com/SilasBerger/random-name-generator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SilasBerger%2Frandom-name-generator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272659283,"owners_count":24971607,"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","status":"online","status_checked_at":"2025-08-29T02:00:10.610Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["markov-chain","random-name-generators","random-word-generator"],"created_at":"2025-01-15T21:44:00.264Z","updated_at":"2025-08-29T09:22:31.512Z","avatar_url":"https://github.com/SilasBerger.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Random Name Generator\nThe goal of this project is to create a random name generator that learns from a data set of existing words (e.g. English dictionary, list of names, etc.) and establishes a Follow Likelihood Matrix to determine the likelihood of each letter to be the next one in a sequence. Since each next character only depends on the current character, random name generation can then be expressed as a Markov chain based on these likelihood values, and should result in mostly pronounceable names. The model can be trained on any plain-text list of words, which may yield different results in the random name generation.\n\n## Usage\nInstall dependencies with pip:\n\n`pip install -r requirements.txt`\n\n### Generate Random Names\nThis script takes three parameters, in this order:\u003cbr\u003e\n`num_names:` number of names to be generated, *int, optional*\u003cbr\u003e\n`length:` the number of characters in each name, *int*\u003cbr\u003e\n`model_base_name:` the base name of the Markov model, without *_follow*, *_initial*, or *.npy* extension\n\nExample - Generate 10 names with 6 characters each, using the model *english-words-dwyl*:\n\n`python3 random_name_generator.py 10 6 english-words-dwyl`\n\nNote: The model either has to be in the same directory, or the *model_base_name* must include the path to the model.\n\n### Train a New Model\nThis script takes two parameters, in this order:\u003cbr\u003e\n`input_filename:` path to the training file (plain-text list of words)\u003cbr\u003e\n`output_file_basename:` the desired base name of the output Markov model, without *_follow*, *_initial*, or *.npy* extension\n\nExample - Generate a model *models/english-words-dwyl* based on a list of words *data/english-words-dwyl.txt*:\n\n`python3 markov_model_builder.py data/english-words-dwyl.txt models/english-words-dwyl`\n\nThis will create two files: *models/english-words-dwyl\\_initial.npy* and *models/english-words-dwyl\\_follow.npy*. For random name generation, the *model_base_name* will be *english-words-dwyl*. Note that this model already exists in this repo.\n\n## Data Set Sources\nenglish-words-dwyl.txt: [https://github.com/dwyl/english-words/blob/master/words.txt](https://github.com/dwyl/english-words/blob/master/words.txt)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsilasberger%2Frandom-name-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsilasberger%2Frandom-name-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsilasberger%2Frandom-name-generator/lists"}