Fastest Semantle solver this side of the Mississippi

Overview

semantle

Fastest Semantle solver this side of the Mississippi.

  • Roughly 3 average turns to win
  • Measured against (part of) the word2vec-google-news-300 vocabulary!

NOTES:

  • There are a lot of words, and I haven't bothered to test a the vast majority of them.
  • The "average turns to win" benchmark is based on my rough observations.

fast car

Install

Install directly from this repository:

pip install git+https://github.com/fkodom/semantle.git

Solve

Launch the assistive solver:

solve-semantle

In some situations, you may want to increase the solver's uncertainty:

  • To get more "realistic" looking answers -- don't immediately solve the puzzle :)
  • Playing a different, third-party Semantle implementation, which may use a different trained version of Word2Vec.

It will take longer to solve the puzzle, but the solver will be more robust to discrepancies in word similarities. For example, to allow for differences of ±5 similarity score:

solve-semantle --uncertainty 5

Play

Play a command line game:

play-semantle

NOTE: I believe the word bank is much larger than in the official Semantle game. You may get some obscure target words. ¯\(ツ)

How It Works

[TODO]

You might also like...
Client library for relay - a service for relaying server side messages to the client side browsers via websockets.

Client library for relay - a service for relaying server side messages to the client side browsers via websockets.

Sudoku solver - A sudoku solver with python

sudoku_solver A sudoku solver What is Sudoku? Sudoku (Japanese: 数独, romanized: s

Simple Linear 2nd ODE Solver GUI - A 2nd constant coefficient linear ODE solver with simple GUI using euler's method
Simple Linear 2nd ODE Solver GUI - A 2nd constant coefficient linear ODE solver with simple GUI using euler's method

Simple_Linear_2nd_ODE_Solver_GUI Description It is a 2nd constant coefficient li

Wordle Solver: A simple script which is also called Wordle solver
Wordle Solver: A simple script which is also called Wordle solver

wordle-solver this code is a simple script which is also called Wordle solver. t

The fastest way to visualize GradCAM with your Keras models.
The fastest way to visualize GradCAM with your Keras models.

VizGradCAM VizGradCam is the fastest way to visualize GradCAM in Keras models. GradCAM helps with providing visual explainability of trained models an

A package which efficiently applies any function to a pandas dataframe or series in the fastest available manner
A package which efficiently applies any function to a pandas dataframe or series in the fastest available manner

swifter A package which efficiently applies any function to a pandas dataframe or series in the fastest available manner. Blog posts Release 1.0.0 Fir

The fastest nuker on discord, Proxy support and more

About okuru nuker is a nuker for discord written in python, It uses methods such as threading and requests to ban faster and perform at higher speeds.

Asynchronous Client for the worlds fastest in-memory geo-database Tile38

This is an asynchonous Python client for Tile38 that allows for fast and easy interaction with the worlds fastest in-memory geodatabase Tile38.

Telegram File to Link Fastest Bot , also used for movies streaming
Telegram File to Link Fastest Bot , also used for movies streaming

Telegram File Stream Bot ! A Telegram bot to stream files to web. Report a Bug | Request Feature About This Bot This bot will give you stream links fo

 Fastest Tiktok Username checker on site.
Fastest Tiktok Username checker on site.

Tiktok Username Checker Fastest Tiktok Username checker on site

Portal is the fastest way to load and visualize your deep neural networks on images and videos 🔮
Portal is the fastest way to load and visualize your deep neural networks on images and videos 🔮

Portal is the fastest way to load and visualize your deep neural networks on images and videos 🔮

Pantheon - The fastest YouTube downloader.
Pantheon - The fastest YouTube downloader.

A Youtube downloader written in Python3, using HTTP requests and an API.

Bit is Python's fastest Bitcoin library and was designed from the beginning to feel intuitive, be effortless to use, and have readable source code.

Bit is Python's fastest Bitcoin library and was designed from the beginning to feel intuitive, be effortless to use, and have readable source code.

⚔️ Fastest tibia bot API

📝 Description tibia bot api using python ⌨ Development ⚙ Running the app python bot.py ✅ ROADMAP Add confidence to floor level to have more accuracy

This project deploys a yolo fastest model in the form of tflite on raspberry 3b+. The model is from another repository of mine called -Trash-Classification-Car
This project deploys a yolo fastest model in the form of tflite on raspberry 3b+. The model is from another repository of mine called -Trash-Classification-Car

Deploy-yolo-fastest-tflite-on-raspberry 觉得有用的话可以顺手点个star嗷 这个项目将垃圾分类小车中的tflite模型移植到了树莓派3b+上面。 该项目主要是为了记录在树莓派部署yolo fastest tflite的流程 (之后有时间会尝试用C++部署来提升

The Fastest multi spambot of Telegram 🤞 🤞
The Fastest multi spambot of Telegram 🤞 🤞

Revil Spam Bot The Fastest multi spambot of Telegram 🤞 🤞 𝚂𝚄𝙿𝙿𝙾𝚁𝚃 🖤 ᴄʀᴇᴀᴛᴏʀ 🖤 ⚡ 𝓡𝓮𝓿𝓲𝓵 𝓗𝓾𝓷𝓽𝓮𝓻 𝔐𝔲𝔩𝔱𝔦 ẞø✞︎ ⚡ 𝓐 𝕾мοοτн 𝓐и∂ 𝕱

A python package for your Kali Linux distro that find the fastest mirror and configure your apt to use that mirror

Kali Mirror Finder Using Single Python File A python package for your Kali Linux distro that find the fastest mirror and configure your apt to use tha

Discord Webhook Spammer (fastest)

Discord Webhook Spammer A simple fast asynchronous webhook spammer. Spammer Features Fast message spamming. Controllable speed. Noob friendly. Usage N

Tool to get the top 100 of the fastest nodes in the Tor network. Based on Kirzahk tool.
Tool to get the top 100 of the fastest nodes in the Tor network. Based on Kirzahk tool.

Tor Network Top 100 IPs Tool to get the top 100 of the fastest nodes in the Tor network. Based on Kirzahk tool. Just execute top100ipstor.py to get th

Comments
  • Cannot seem to get it to work on Windows.

    Cannot seem to get it to work on Windows.

    I followed the instructions precisely, but when I type solve-semantle, it says 'solve-semantle' is not recognized as an internal or external command, operable program or batch file. What do I do?

    opened by Rivian01 2
  • Solver.recommend() calls _get_words_closest_to_mean() with empty

    Solver.recommend() calls _get_words_closest_to_mean() with empty "words" tuple

    Hello,

    First, thanks for developing this tool, it is quite funny to see how fast it solves Semantle games :)

    However, I stumble upon this behaviour:

    $ .local/bin/solve-semantle
    Semantle Solver!
    
    Step 1
    ----------------
    157244 solutions remaining
    Recommended: object
    Alternatives: [person, place, action, adjective]
    ----------------
    Enter your guess: hello
    What was the similarity? 4.04
    
    Step 2
    ----------------
    306 solutions remaining
    Recommended: neuroanatomical
    Alternatives: [mupirocin, lymphocytic, recombinants, amisulpride, bullae]
    ----------------
    Enter your guess: neuroanatomical
    What was the similarity? -0.68
    ~/.local/lib/python3.10/site-packages/semantle/solver.py:81: RuntimeWarning: Mean of empty slice.
      mean = vectors.mean(axis=0, keepdims=True)
    ~/.local/lib/python3.10/site-packages/numpy/core/_methods.py:181: RuntimeWarning: invalid value encountered in true_divide
      ret = um.true_divide(
    Traceback (most recent call last):
      File "~/.local/bin/solve-semantle", line 8, in <module>
        sys.exit(main())
      File "~/.local/lib/python3.10/site-packages/semantle/solver.py", line 129, in main
        AssistiveSolver(uncertainty=args.uncertainty).solve()
      File "~/.local/lib/python3.10/site-packages/semantle/solver.py", line 118, in solve
        self.update(info)
      File "~/.local/lib/python3.10/site-packages/semantle/solver.py", line 52, in update
        return self.recommend().recommended
      File "~/.local/lib/python3.10/site-packages/semantle/solver.py", line 40, in recommend
        words = _get_words_closest_to_mean(words, max_words=max_alternatives + 1)
      File "~/.local/lib/python3.10/site-packages/semantle/solver.py", line 82, in _get_words_closest_to_mean
        dist = np.linalg.norm(vectors - mean, axis=1)
      File "<__array_function__ internals>", line 180, in norm
      File "~/.local/lib/python3.10/site-packages/numpy/linalg/linalg.py", line 2547, in norm
        return sqrt(add.reduce(s, axis=axis, keepdims=keepdims))
    numpy.AxisError: axis 1 is out of bounds for array of dimension 1
    

    Note: the secret word was "pace".

    A brief print()-based debugging session reflects Solver.recommend() calls _get_words_closest_to_mean() with an empty "words" tuple. This seems to happen only when, at some point in the process, a negative similarity whose absolute value is greater than the uncertainty was submitted.

    opened by xavierog 0
Releases(1.0.1)
Owner
Frank Odom
Director of Innovation at Plainsight (@sixgill). I like neural nets, and neural nets like me.
Frank Odom
Translation patch for Hololive ERROR

Translation patch for Hololive ERROR How do I install the patch? Grab the Translation.zip file for the latest version from the releases page, and unzi

18 Jul 20, 2022
Build your own Etherscan with web3.py

Build your own Etherscan with web3.py Video Tutorial: Run it pip3 install -r requirements.txt export FLASK_APP=app export FLASK_ENV=development flask

35 Jan 02, 2023
Hera is a Python framework for constructing and submitting Argo Workflows.

Hera is an Argo Workflows Python SDK. Hera aims to make workflow construction and submission easy and accessible to everyone! Hera abstracts away workflow setup details while still maintaining a cons

argoproj-labs 241 Jan 02, 2023
A dashboard for your code. A build system.

NOTICE: THIS REPO IS NO LONGER UPDATED Changes Changes is a build coordinator and reporting solution written in Python. The project is primarily built

Dropbox 763 Sep 09, 2022
Very simple encoding scheme that will encode data as a series of OwOs or UwUs.

OwO Encoder Very simple encoding scheme that will encode data as a series of OwOs or UwUs. The encoder is a simple state machine. Still needs a decode

1 Nov 15, 2021
Example teacher bot for deployment to Chai app.

Create and share your own chatbot Here is the code for uploading the popular "Ms Harris (Teacher)" chatbot to the Chai app. You can tweak the config t

Chai 1 Jan 10, 2022
Extrator de dados do jupiterweb

Extrator de dados do jupiterweb O programa é composto de dois arquivos: Um constando apenas de classes complementares que representam as unidades e as

Bruno Aricó 2 Nov 28, 2022
This code can help you with auto update for-TV-advertisements in the store.

Auto-update-files-for-TV-advertisements-in-the-store This code can help you with auto update for-TV-advertisements in the store. It was write for Rasp

Max 2 Feb 20, 2022
Python dictionaries with advanced dot notation access

from box import Box movie_box = Box({ "Robin Hood: Men in Tights": { "imdb stars": 6.7, "length": 104 } }) movie_box.Robin_Hood_Men_in_Tights.imdb_s

Chris Griffith 2.1k Dec 28, 2022
Model Quantization Benchmark

MQBench Update V0.0.2 Fix academic prepare setting. More deployable prepare process. Fix setup.py. Fix deploy on SNPE. Fix convert_deploy bug. Add Qua

500 Jan 06, 2023
Cool little Python scripts & projects I've made.

Little Python Projects A repository for neat little Python scripts I've made! How to run a script: *NOTE: You'll need to install Python v3 or higher.

dood 1 Jan 19, 2022
Check bookings for TUM libraries.

TUM Library Checker Only for educational purposes This repository contains a crawler to save bookings for TUM libraries in a CSV file. Sample data fro

Leon Blumenthal 3 Jan 27, 2022
Library for Memory Trace Statistics in Python

Memory Search Library for Memory Trace Statistics in Python The library uses tracemalloc as a core module, which is why it is only available for Pytho

Memory Search 1 Dec 20, 2021
Web app for keeping track of buildings in danger of collapsing in the event of an earthquake

Bulina Roșie 🇷🇴 Un cutremur în București nu este o situație ipotetică. Este o certitudine că acest lucru se va întâmpla. În acest context, la mai bi

Code for Romania 27 Nov 29, 2022
An Agora Python Flask token generation server

A Flask Starter Application with Login and Registration About A token generation Server using the factory pattern and Blueprints. A forked stripped do

Nii Ayi 1 Jan 21, 2022
Python binding to rust zw-fast-quantile

zw_fast_quantile_py zw-fast-quantile python binding Installation pip install zw_fast_quantile_py Usage import zw_fast_quantile_py

Paul Meng 1 Dec 30, 2021
AlexaUsingPython - Alexa will pay attention to your order, as: Hello Alexa, play music, Hello Alexa

AlexaUsingPython - Alexa will pay attention to your order, as: Hello Alexa, play music, Hello Alexa, what's the time? Alexa will pay attention to your order, get it, and afterward do some activity as

Abubakar Sattar 10 Aug 18, 2022
A Python software implementation of the Intel 4004 processor

Pyntel4004 A Python software implementation of the Intel 4004 processor. General Information Two pass assembler using the original mnemonics, directiv

alshapton 5 Oct 01, 2022
Automated GitHub profile content using the USGS API, Plotly and GitHub Actions.

Top 20 Largest Earthquakes in the Past 24 Hours Location Mag Date and Time (UTC) 92 km SW of Sechura, Peru 5.2 11-05-2021 23:19:50 113 km NNE of Lobuj

Mr. Phantom 28 Oct 31, 2022
Runtime profiler for Streamlit, powered by pyinstrument

streamlit-profiler 🏄🏼 Runtime profiler for Streamlit, powered by pyinstrument. streamlit-profiler is a Streamlit component that helps you find out w

Johannes Rieke 23 Nov 30, 2022