contextualized-topic-models VS BERTopic

Compare contextualized-topic-models vs BERTopic and see what are their differences.

contextualized-topic-models

A python package to run contextualized topic modeling. CTMs combine contextualized embeddings (e.g., BERT) with topic models to get coherent topics. Published at EACL and ACL 2021. (by MilaNLProc)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
contextualized-topic-models BERTopic
7 22
1,157 5,519
1.2% -
5.0 8.2
3 months ago 13 days ago
Python Python
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

contextualized-topic-models

Posts with mentions or reviews of contextualized-topic-models. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-04-14.
  • [Project]Topic modelling of tweets from the same user
    2 projects | /r/MachineLearning | 14 Apr 2023
    In our experiments, CTM works well with tweets: https://github.com/MilaNLProc/contextualized-topic-models (I'm one of the authors)
  • Extract words from large data set of reviews by sentiment
    1 project | /r/MLQuestions | 23 May 2022
    Use CTM https://github.com/MilaNLProc/contextualized-topic-models with sentiment labels to built distribution of words over labels
  • Using Transformer for Topic Modeling - what are the options?
    2 projects | /r/LanguageTechnology | 15 Feb 2022
    This library from MILA seems quite neat! I haven’t had the change to play with it though : https://github.com/MilaNLProc/contextualized-topic-models
  • Catogorize the Data- Topic Modelling algorithm
    1 project | /r/LanguageTechnology | 1 Oct 2021
    a bit of shameless self-promotion, but we developed a topic model (https://github.com/MilaNLProc/contextualized-topic-models) that actually supports that use case!
  • (NLP) Best practices for topic modeling and generating interesting topics?
    3 projects | /r/MLQuestions | 31 May 2021
    If you use CTM, you can provide the topic model two inputs: the preprocessed texts (that will be used by the topic model to generate the topical words) and the unpreprocessed texts (to generate the contextualized representations that will be later concatenated to the document bag-of-word representation). We saw that this slightly improves the performance instead of providing BERT the already-preprocessed text. This feature is supported in the original implementation of CTM, not in OCTIS. See here: https://github.com/MilaNLProc/contextualized-topic-models#combined-topic-model
  • Latest trends in topic modelling?
    3 projects | /r/LanguageTechnology | 24 Apr 2021
    Cross-lingual Contextualized Topic Models with Zero-shot Learning from a team at MilaNLP which uses bag of words representations in combination with multi lingual embeddings from SBERT and works like a VAE (encode the input, use the encoded representation to decode back to a bag of words as close to the input as possible). Using SBERT embeddings makes their model generalise for other languages which may be useful. One major shortfall of this model as I understand is that it can't deal with long documents very elegantly - only up to BERT'S word limit (the workaround is to truncate and use the first words)

BERTopic

Posts with mentions or reviews of BERTopic. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-03.

What are some alternatives?

When comparing contextualized-topic-models and BERTopic you can also consider the following projects:

OCTIS - OCTIS: Comparing Topic Models is Simple! A python package to optimize and evaluate topic models (accepted at EACL2021 demo track)

Top2Vec - Top2Vec learns jointly embedded topic, document and word vectors.

PolyFuzz - Fuzzy string matching, grouping, and evaluation.

gensim - Topic Modelling for Humans

tika-python - Tika-Python is a Python binding to the Apache Tika™ REST services allowing Tika to be called natively in the Python community.

transformers - 🤗 Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.

GuidedLDA - semi supervised guided topic model with custom guidedLDA

PyABSA - Sentiment Analysis, Text Classification, Text Augmentation, Text Adversarial defense, etc.;

Sentimentanalysis - Language independent sentiment analysis

scattertext - Beautiful visualizations of how language differs among document types.