AI and models · Edition No. 19 · 13 Sep 2026

MaartenGr/KeyBERT

Extracts the handful of phrases that describe a document by comparing the meaning of each candidate phrase with the meaning of the whole text.

← AI and modelsRead the whole edition →

4.2k stars · MIT · v0.9.0 (2025-02-07) · Track this in Scout

Keyword and keyphrase extraction using BERT embeddings, from the author of BERTopic.

Repo detailsthe review · specs · pros & cons · install

What it is

KeyBERT is a small Python library. It turns a document into a list of numbers that stands for its meaning, does the same for every candidate phrase inside it, and ranks the phrases by how close the two are. It can also spread the results out so you do not get five versions of the same phrase.What it is good for. Anybody naming things automatically. Article tags, search suggestions, section titles and topic labels are all the same problem. It can use several different engines underneath, including the very small model2vec models, so you do not have to run a large model to get a usable answer. For you: this is the most direct fit on the page for Grasppy. Naming a cluster of messages is exactly this problem, and the ledger has had a gap here since toponymy (Ed. 6 #9).

Stars4.2k
LicenceMIT
Latestv0.9.0 (2025-02-07)checked 7 Sep 2026
Written inPython
Good
  • A single small library with one job, and the licence is MIT.
  • You can swap the engine underneath, from a full sentence model down to a tiny one that runs on a plain server.
  • Built-in options to keep the results varied rather than five near-copies of one phrase.
Watch for
  • Its newest release is version 0.9.0 from 7 February 2025, nineteen months ago. The repository itself is current: the last code landed on 25 August 2026, recorded in the 9 September sweep. This is a stable single-purpose library, not a neglected one, but you should know the release is old before you depend on it.
  • Installing it the normal way pulls in PyTorch, which is several gigabytes to download and one to two gigabytes of memory to run. The light path avoids that but you have to ask for it.
  • It is a library, so there is nothing to open and click. Without writing Python you get nothing from it.
Similar repositories
  • INESCTEC/yake

    The same extraction of key phrases from one document with no training needed, but by counting position and frequency rather than by meaning, so it is much faster and does not understand the text; it moved from LIAAD/yake.

    Track this in Scout
  • boudinfl/pke

    The same ranked key phrases, offering a whole family of classical methods instead of one, but its releases have been slow for years.

    Track this in Scout
  • csurfer/rake-nltk

    The same key phrases from a much simpler counting method, tiny and with almost no dependencies, but with no meaning-based ranking and little recent maintenance.

    Track this in Scout
Install
source venv/bin/activate
pip install keybert
# the light path, no PyTorch:
pip install keybert --no-deps
pip install scikit-learn model2vec
Screenshots
MaartenGr/KeyBERT: GitHub preview cardMaartenGr/KeyBERT: Screenshot 1

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.