{"id":18677035,"url":"https://github.com/abdulsamie10/emojifyai","last_synced_at":"2026-04-20T14:06:11.463Z","repository":{"id":159695617,"uuid":"628108601","full_name":"abdulsamie10/EmojifyAI","owner":"abdulsamie10","description":"EmojifyAI is a Python package that suggests relevant emojis for a given input sentence using natural language processing techniques. It employs the BERT model to generate embeddings for the input sentence and the emojis' descriptions, and then finds the most similar emojis using cosine similarity.","archived":false,"fork":false,"pushed_at":"2023-05-10T11:29:04.000Z","size":35914,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-31T03:53:16.409Z","etag":null,"topics":["ai","artificial-intelligence","bert","bert-embeddings","bert-model","bert-models","emoji","model","natural-language-processing","nlp","python","python3","transformer"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","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/abdulsamie10.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}},"created_at":"2023-04-15T00:02:07.000Z","updated_at":"2024-10-07T14:28:40.000Z","dependencies_parsed_at":"2023-08-23T09:39:51.021Z","dependency_job_id":null,"html_url":"https://github.com/abdulsamie10/EmojifyAI","commit_stats":null,"previous_names":["abdulsamie10/emojifyai"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/abdulsamie10/EmojifyAI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdulsamie10%2FEmojifyAI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdulsamie10%2FEmojifyAI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdulsamie10%2FEmojifyAI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdulsamie10%2FEmojifyAI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abdulsamie10","download_url":"https://codeload.github.com/abdulsamie10/EmojifyAI/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdulsamie10%2FEmojifyAI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32050454,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"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":["ai","artificial-intelligence","bert","bert-embeddings","bert-model","bert-models","emoji","model","natural-language-processing","nlp","python","python3","transformer"],"created_at":"2024-11-07T09:32:14.745Z","updated_at":"2026-04-20T14:06:11.426Z","avatar_url":"https://github.com/abdulsamie10.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EmojifyAI\nEmojifyAI is a Python package that suggests relevant emojis for a given input sentence using natural language processing techniques. It employs the BERT model to generate embeddings for the input sentence and the emojis' descriptions, and then finds the most similar emojis using cosine similarity.\n\n### Installation\nTo use EmojifyAI, you need to have the following libraries installed with Python 3.11:\n  1. `transformers`\n  2. `torch`\n  3. `nltk`\n  4. `numpy`\n  5. `pandas`\n  6. `re`\n  7. `streamlit`\n\n### Install Requirements\nTo install all the requirement of the project, simply type: \n`pip install -r requirements.txt`\n\n#### You can install these dependencies using pip:\n```pip install transformers torch nltk numpy pandas```\n\n### Usage\nHere's an example of how to use EmojifyAI:\n```from EmojifyAI import EmojifyAI, suggestEmojis\n\nemoji_rec = EmojifyAI()  # Instantiate the EmojifyAI class\nemoji_rec.generate_emoji_csv()  # Generate the emoji data CSV file\n\nmean_tokens = emoji_rec.process_csv()  # Process the CSV and obtain mean tokens for emojis\ntorch.save(mean_tokens, 'checkpoint/token-all.pt')  # Save the mean tokens to a file\n\ntest_sentence = \"I am going to the movies\"\nsuggestEmojis(test_sentence)  # Suggest emojis for the test sentence\n```\n\n### Emojify Class\nThe `EmojifyAI` class provides the following methods:\n  1. `generate_emoji_csv()`: Generates an emoji data CSV file from the raw emoji data.\n  2. `process_csv()`: Processes the emoji CSV file and calculates the mean tokens for the emojis' descriptions.\n  3. `process_sentence(sentence: str)`: Processes the input sentence and returns the mean tokens for the sentence.\n  4. `find_similarity(sentence_tokens, mean_tokens)`: Calculates the cosine similarity between the sentence tokens and the mean tokens of the emojis.\n  \n### SuggestEmojis function\nThe `suggestEmojis(sentence: str)` function is a helper function that takes an input sentence and suggests the most relevant emojis for the sentence. It uses the EmojifyAI class to process the sentence and find the most similar emojis based on the cosine similarity between the sentence and emojis' descriptions.  \n\n### Run Code\nThere are two files in this project:\n  1. To run `EmojifyAI.ipynb`, make sure to run it via Jupyter Noteebook.\n  2. To run `EmojifyAI_SL.py`, type this command on terminal (directory), `streamlit run EmojifyAI_SL.py`.\n\n### Output Demo\n\u003cimg src=\"./Output/Output.gif\" alt=\"Output Demo\"\u003e\n\n\n### Contributing\nIf you'd like to contribute to the project or report a bug, please open an issue or submit a pull request on the GitHub repository.\n\n### Credits\n  1. Abdul Samie\n  2. Fatimah Noor\n\n### License\nThis project is licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdulsamie10%2Femojifyai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabdulsamie10%2Femojifyai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdulsamie10%2Femojifyai/lists"}