{"id":21711333,"url":"https://github.com/rignaneseleo/ai_synonims_generator","last_synced_at":"2026-02-14T08:01:16.913Z","repository":{"id":132272536,"uuid":"551894834","full_name":"rignaneseleo/ai_synonims_generator","owner":"rignaneseleo","description":"For each word, get up to 10 words similar in the meaning. 157 languages supported.","archived":false,"fork":false,"pushed_at":"2022-10-15T12:37:41.000Z","size":12,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-12T17:41:51.326Z","etag":null,"topics":["ai","python3","synonyms","taboo","taboo-word","words"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rignaneseleo.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":"2022-10-15T10:34:48.000Z","updated_at":"2022-10-19T13:16:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"b7d4a743-6b04-470a-b819-05346d941d01","html_url":"https://github.com/rignaneseleo/ai_synonims_generator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rignaneseleo/ai_synonims_generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rignaneseleo%2Fai_synonims_generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rignaneseleo%2Fai_synonims_generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rignaneseleo%2Fai_synonims_generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rignaneseleo%2Fai_synonims_generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rignaneseleo","download_url":"https://codeload.github.com/rignaneseleo/ai_synonims_generator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rignaneseleo%2Fai_synonims_generator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29439820,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T07:24:13.446Z","status":"ssl_error","status_checked_at":"2026-02-14T07:23:58.969Z","response_time":53,"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":["ai","python3","synonyms","taboo","taboo-word","words"],"created_at":"2024-11-25T23:21:34.623Z","updated_at":"2026-02-14T08:01:16.896Z","avatar_url":"https://github.com/rignaneseleo.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# AI Synonyms generator for Taboo (157 languages supported)\n\n## Purpose\nGiven a list of random words, iterate on each word and generate a list of words (up to 10) that are similar in the meaning. I used this algoritm to generate the words for my game [OpenTabu](https://github.com/rignaneseleo/OpenTabu).\n\n## How it works\nThe algorithm uses an AI model to predict the meaning of a word. Then, it uses the meaning to find similar words. The model used is made by [E. Grave et al.](https://arxiv.org/abs/1802.06893) and it's available in 157 languages. In my case, I used the Italian model, but you can use any language you want.\n\n## Logic\nThe logic is very simple:\n1. Given a list of words, iterate on each word\n2. For each word, get 10 similar words using the model\n3. Clean up the list of similar words, since some of them are too simliares to the original word or are not meaningful words\n\n## Tutorial\n#### Prerequisites\n1. Get the model you need from this page: https://fasttext.cc/docs/en/crawl-vectors.html and rename it to `model.bin`\n2. Get a list of words and save it in a file (`words.csv`). Each word must be in a different line. No headers needed (check the example folder)\n3. Install python3 (there are many tutorials online)\n4. Install VS code (optional, but it's a good IDE)\n\n#### Execution\n1. Download and extract the files of this repo\n2. Put the model (`model.bin`), the input file (`words.csv`) in the same folder of the extracted repo\n3. Open the `main.ipynb` file with VS code (or any other IDE). In VS code you may need to install Python and Jupyter Notebook extension.\n4. Run the code\n5. Wait for the script to finish (it might take a while, depending on the number of words and the CPU power)\n6. The script will create a file named `output.csv` with the list of similar words (each word in a new line, where the first is the original word)\n\n## Source of words\nWhere can you get the list of random words to run this algorithm? There are many websites, I used the website www.palabrasaleatorias.com that allow you to get up to 10 random words from different topics.\n\n## Example\nCheck out the example folder to see the input and output files.\n\n## Errors\n#### \"ImportError: No module named xxx\"\nYou need to install the missing module. Use `pip` to install it.\n\n#### Other error\n[StackOverflow](https://stackoverflow.com/) is your friend :) \nIn case you can't solve it, open an issue on this repo and I will try to help you.\n\n## References\n- Thanks to [Giacomo D'Amicantonio](https://github.com/GiacomoDamicantonio) for the idea and the big help in the implementation.\n- Thanks to the authors of the model: E. Grave*, P. Bojanowski*, P. Gupta, A. Joulin, T. Mikolov, \"[Learning Word Vectors for 157 Languages](https://arxiv.org/abs/1802.06893)\" \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frignaneseleo%2Fai_synonims_generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frignaneseleo%2Fai_synonims_generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frignaneseleo%2Fai_synonims_generator/lists"}