top of page
Search

Introducing the BERT Keyword Extractor: a Streamlit interface for KeyBERT! 🎈

Updated: Oct 1, 2021


🎲 Want to jump right in? Try the Streamlit app here!


Automatic keyword generation methods have been around for a while (TF-IDF, Rake, YAKE!, just to name a few), all widely implemented in Python, all widely used in fields such Information Retrieval, Text Mining and of course, SEO!


Although techniques vary, they usually extract keywords and keyphrases from a document, assign a weight to each word, to signify the importance of that word in the wider document and corpus.


What's KeyBERT?


While all valuable, the KeyBERT library goes a step further than most in terms of accuracy by leveraging BERT embeddings!


What also makes KeyBERT stand out from the library crowd is its lightweightness, power and versatility.


Lightweight, as unlike other libraries, KeyBERT works very well with CPU configs. It can be used with a wide range of applications as a result.


Powerful, as KeyBERT supports the latest and best-performing embedding models, such as:

  • Flair

  • Spacy

  • Gensim

You can even select any sentence-transformers model and pass it through KeyBERT!


KeyBERT is also versatile with a bazillion of parameters to choose from. Here's a non-exhaustive list below:


That being said, like with any elaborate library, that versatility may come with a trade-off.

It can sometimes be cumbersome to choose the right model embedding and set of parameters to quickly iterate through your use cases.


This is where Streamlit comes in handy!


Introducing the BERT Keyword Extractor! 🎈


With the BERT Keyword Extraction (BERT KE), I wanted to create a simple interface that provides the relevant parameters at your fingertips, allowing you to iterate through in seconds and allow you to export your results!


🎲 Try the app here!


The BERT Keyword Extractor is currently in early beta with the following limitations:

  • 2 embedding models (DistilBERT and Flair)

  • Only the first 500 words are currently reviewed

Once the app is deemed stable, I will add more models, more parameters, and more text allowance, so keep your eyes peeled!


Let's see what settings are currently available:


Choosing your model





At present, you can choose between two embedding models: DistilBERT, which is the default engine, and Flair. More to come soon!


Top N results





You can choose the number of results to be displayed. Between 1 and 30, the default number is 10.


Min/Max Ngrams









You can choose the minimum and maximum values for the ngram range.


This sets the length of the resulting keywords/keyphrases.


  • To extract a set of single keywords only, set the ngram range to (1, 1)

  • To extract keyphrases, set the minimum ngram value to 2. The maximum ngram value can be set to 2 or higher, depending on the number of words you would like to see in each keyphrase.


Check Stop Words



Tick this box to remove stop words from the document (currently English only).


Use MMR



You can use Maximal Margin Relevance (MMR) to diversify the results. It creates keywords/keyphrases based on cosine similarity.


Try high/low 'Diversity' settings for interesting variations.


Diversity






The higher the setting, the more diverse the keywords. Note that the *Keyword diversity* slider only works if the *MMR* checkbox is ticked.


Credits


Just a note where credit is due, KeyBERT has been created by the amazing Maarten Grootendorst


Maarten writes insightful Data Science articles in Medium, and is also the creator of 2 other awesome Python libraries: BERTopic and PolyFuzz!


BERTopic is a semi-supervised topic modelling library with a built-in visualiser. Check out Koray’s excellent article for some SEO use cases!

PolyFuzz is a mighty fuzzy string-matching/string-grouping library. It has been my go-to tool for fuzzy matching for over a year now, and it’s bang on for SEO tasks!


It can be used for mapping keywords to URLs, site migrations & redirect management.


It’s also got some good momentum in the SEO community, check-out what Greg Bernhardt, SearchSolved's Lee Foot, and yours truly have been doing with it!

 
 
 

49 Comments


Từng dùng https://luck8-vn.college/ khá lâu, mình thường để ý chuyện nền tảng có giữ được sự dễ theo dõi khi dùng liên tục hay không hơn là chỉ nhìn số lượng nội dung. Những hôm chuyển từ thể thao sang mini game và quay lại phần cũ, thao tác nhìn chung vẫn khá tự nhiên.

Like

Trong lúc mình quan sát cách vận hành của https://luck8.ph/, mình thấy hệ thống ưu tiên sự rõ ràng trong việc hiển thị các chuyên mục. Những nội dung như thể thao, tin tức và xổ số được đặt ở vị trí khá dễ tiếp cận nên không cần nhiều thao tác để tìm kiếm. Khi chuyển đổi qua lại giữa các khu vực, giao diện vẫn duy trì được sự đồng đều về cách trình bày. Mình nhận thấy điều này giúp người dùng dễ nắm bắt thông tin hơn trong quá trình sử dụng. Cảm giác tổng thể khá ổn định và phù hợp với nhiều nhu cầu trải nghiệm khác nhau

Like

Sau khi mình sử dụng thêm và tiếp tục quan sát, https://luck8.gay/ cho thấy sự đầu tư khá rõ vào việc sắp xếp thông tin. Trong lúc theo dõi khu jackpot, mình đồng thời xem cách các danh mục được phân nhóm trên giao diện. Điều làm mình chú ý là người xem có thể xác định tương đối nhanh khu vực mình cần tìm mà không phải chuyển qua nhiều lớp nội dung. Đây là một điểm mình đánh giá khá tích cực.

Like

Khi phân tích cách https://mu88z.it.com/ mở rộng eSports, mình ban đầu chỉ tập trung vào các nội dung như Dota 2 hay League of Legends. Sau đó mình lại quan tâm đến việc hệ thống ứng dụng AI để phát hiện những hoạt động bất thường. Điều thú vị là một bên phục vụ nhu cầu giải trí còn một bên lại phục vụ nhu cầu quản lý vận hành. Càng tìm hiểu mình càng thấy công nghệ đang xuất hiện ở nhiều khía cạnh khác nhau chứ không chỉ nằm ở phần người dùng nhìn thấy. Điều đó giúp mình hiểu rõ hơn định hướng phát triển của hệ thống.


Edited
Like

roebelkim
Jun 16

Starting a career journey in construction can be exciting when you have access to the right guidance and resources. Understanding how to become a site manager in construction allows you to discover the skills needed to manage teams, support projects, and handle daily site responsibilities. The College of Contract Management offers online learning options that are suitable for professionals who want to enhance their knowledge while continuing their career development. The site management course introduces learners to key concepts that can support growth within the construction field. Gaining additional qualifications can improve your confidence when taking on leadership responsibilities. Enroll now and begin developing the skills needed for a successful future in construction.

Like

© Charly Wargnier - 2025

Follow me on:

  • X
  • LinkedIn
  • logo (1)
bottom of page