maartengr/keybert

Minimal keyword extraction with BERT

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 22 minutes ago
Added to GitGenius on September 16th, 2026
Created on October 22nd, 2020
Open Issues & Pull Requests: 77 (+0)
GitHub issues: Enabled
Number of forks: 385
Total Stargazers: 4,222 (+0)
Total Subscribers: 32 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.0 days
Mean response time: 6.6 days
90th percentile: 19.9 days
Tracked items: 18

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 15
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 481 days
Stale 30+ days: 15
Stale 90+ days: 15

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

KeyBERT is a keyword extraction tool that uses BERT embeddings to identify and rank relevant terms from text.

The tool addresses the problem of extracting meaningful keywords by leveraging transformer-based language models rather than traditional statistical methods. It works by generating embeddings for documents and candidate words, then using cosine similarity to find terms most representative of the input text. The approach includes support for Maximal Marginal Relevance to reduce redundancy among extracted keywords, ensuring the results capture diverse aspects of the content rather than near-duplicate terms.

KeyBERT suits projects where you need to automatically identify key concepts from documents without manual annotation or complex configuration. It works well for summarization tasks, content tagging, and information retrieval pipelines where semantic understanding matters more than frequency-based extraction. The tool is particularly useful when you want to leverage pre-trained language models without building custom neural architectures, as it handles the embedding generation and ranking internally.

The project shows consistent refinement of its core functionality, with ongoing adjustments to how embeddings are computed and ranked. Development includes regular updates to dependencies and compatibility with evolving transformer libraries. The maintainer actively responds to user issues and incorporates feedback into the tool's design, indicating sustained engagement with the user base and willingness to address practical problems encountered in real-world usage.