Release date: 3 November, 2022
- Cleaned up documentation and added several visual representations of the algorithm (excluding MMR / MaxSum)
- Added function to extract and pass word- and document embeddings which should make fine-tuning much faster
from keybert import KeyBERT kw_model = KeyBERT() # Prepare embeddings doc_embeddings, word_embeddings = kw_model.extract_embeddings(docs) # Extract keywords without needing to re-calculate embeddings keywords = kw_model.extract_keywords(docs, doc_embeddings=doc_embeddings, word_embeddings=word_embeddings)
Do note that the parameters passed to
.extract_embeddings for creating the vectorizer should be exactly the same as those in
- Redundant documentation was removed by @mabhay3420 in #123
- Fixed Gensim backend not working after v4 migration (#71)
candidatesnot working (#122)
Release date: 25 July, 2022
- Major speedup, up to 2x to 5x when passing multiple documents (for MMR and MaxSum) compared to single documents
- Same results whether passing a single document or multiple documents
- MMR and MaxSum now work when passing a single document or multiple documents
- Improved documentation
- Added 🤗 Hugging Face Transformers
from keybert import KeyBERT from transformers.pipelines import pipeline hf_model = pipeline("feature-extraction", model="distilbert-base-cased") kw_model = KeyBERT(model=hf_model)
- Highlighting support for Chinese texts
- Now uses the
CountVectorizerfor creating the tokens
- This should also improve the highlighting for most applications and higher n-grams
- Now uses the
NOTE: Although highlighting for Chinese texts is improved, since I am not familiar with the Chinese language there is a good chance it is not yet as optimized as for other languages. Any feedback with respect to this is highly appreciated!
- Fix typo in ReadMe by @priyanshul-govil in #117
- Add missing optional dependencies (gensim, use, and spacy) by @yusuke1997 in #114
Release date: 31 March, 2022
- Added a page about leveraging
- Fixed Max Sum Similarity returning incorrect similarities #92
- Thanks to @kunihik0 for the PR!
- Fixed out of bounds condition in MMR
- Thanks to @artmatsak for the PR!
- Started styling with Flake8 and Black (which was long overdue)
- Added pre-commit to make following through a bit easier with styling
Release date: 28 September, 2021
- Added Guided KeyBERT
- kw_model.extract_keywords(doc, seed_keywords=seed_keywords)
- Thanks to @zolekode for the inspiration!
- Use the newest all-* models from SBERT
- Added instructions in the FAQ to extract keywords from Chinese documents
- Fix typo in ReadMe by @koaning in #51
Release date: 23 June, 2021
- Highlight a document's keywords with:
keywords = kw_model.extract_keywords(doc, highlight=True)
paraphrase-MiniLM-L6-v2as the default embedder which gives great results!
- Update Flair dependencies
- Added FAQ
Release date: 10 May, 2021
The two main features are candidate keywords and several backends to use instead of Flair and SentenceTransformers!
- Use candidate words instead of extracting those from the documents (#25)
- Spacy, Gensim, USE, and Custom Backends were added (see documentation here)
- Improved imports
- Fix encoding error when locally installing KeyBERT (#30)
Release date: 9 Feb, 2021
- Add similarity scores to the output
- Add Flair as a possible back-end
- Update documentation + improved testing
Release date: 28 Oct, 2020
Added Max Sum Similarity as an option to diversify your results.
Release date: 27 Oct, 2020
This first release includes keyword/keyphrase extraction using BERT and simple cosine similarity. There is also an option to use Maximal Marginal Relevance to select the candidate keywords/keyphrases.