{"repo":"astrowonk/emoji_finder","free":true,"listed":false,"github":"https://github.com/astrowonk/emoji_finder","clone":"git clone https://github.com/astrowonk/emoji_finder.git","description":"Semantic emoji finder. Python/dash UI. Uses sentence transformer embeddings and duckdb","language":"Python","stars":20,"topics":["emoji","semantic-search","python","pytorch","sentence-transformers","sqlite","sbert","duckdb","embeddings","semantic"],"license":"MIT","category":"machine-learning","readme_excerpt":"Semantic Emoji Search ----- Try the Live Web App <----- If you're a Mac user who uses (or wants to try) LaunchBar, try my Semantic Emoji Finder Launch Bar Action. Inspired (nerd sniped?) by this post on Mastodon, I have created this effort to do semantic searching for emoji. So, you can search for flower , and also get bouquet 💐, and cherry blossom 🌸. (The iOS emoji keyboard does something similar, but this remains unavailable on MacOS.) I'm using the python sentence tranformers package available from SBERT. This has a variety of pretrained models suitable for the task of finding a semantic match between a search term and a target. I'm using the all-mpnet-base-v2 model for the web apps. The web app now functions in two ways. The first is to precompute everything and store results for one-word search queries in sqlite. This uses precomputed semantic distance against a corpus of common english words (now 40,000 words). The top results are stored in a database in all-mpnet-base-v2 main.db along with lookup tables, indices, and views that make looking up a word a simple sql query. For longer queries, I used the precompute.py file to generate all-MiniLM-L6-v2 vectors which I store in the duckdb database vectors.db , now that DuckDB supports fixed size arrays. Then the LiveSearch class can use llama.cpp to create a vector for the search term (thanks to new BERT support in llama.cpp) and DuckDB can find the most similar emojis using cosine similarity with a short query: The dash a","default_branch":null,"files":null,"tree":[],"storefront":"/r/astrowonk","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/astrowonk/emoji_finder/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}