The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Load and Reuse a BERTopic Model

This vignette shows how to load a previously saved BERTopic model in a new session and reuse the extras stored alongside it. Set eval = TRUE for the chunks you want to run.

Load R packages

Python environment selection and checks are handled in the hidden setup chunk at the top of the vignette.

library(reticulate)
library(bertopicr)
library(readr)
library(dplyr)

GPU availability (optional)

reticulate::py_run_string(code = "import torch
print(torch.cuda.is_available())") # if GPU is available then TRUE else FALSE

Load the model bundle

loaded <- load_bertopic_model("topic_model") # set the location of the model!
model <- loaded$model
extras <- loaded$extras

Load data for inspection

sample_path <- system.file("extdata", "spiegel_sample.rds", package = "bertopicr")
df <- read_rds(sample_path)
docs <- df |> pull(text_clean)

Create tables from the loaded model

doc_info <- get_document_info_df(model = model, texts = docs)
topic_info <- get_topic_info_df(model = model)
topics_df <- get_topics_df(model = model)

Use extras and visualizations

visualize_barchart(model = model, filename = "barchart_demo")
visualize_distribution(
  model = model,
  text_id = 1,
  probabilities = extras$probabilities,
  filename = "vis_topic_dist_demo"
)
visualize_heatmap(model = model, filename = "vis_heat_demo")
visualize_topics(model = model, filename = "dist_map_demo")
visualize_documents(model = model, docs, reduced_embeddings = extras$reduced_embeddings_2d)
visualize_documents_2d(model = model, docs, reduced_embeddings = extras$reduced_embeddings_2d)
visualize_documents_3d(model = model, docs, reduced_embeddings = extras$reduced_embeddings_3d)

The following visualizations work only if topics_over_time and topics_per_class were defined after model training or within the train_bertopic_model() function.

visualize_topics_over_time(model = model, topics_over_time_model = extras$topics_over_time)
visualize_topics_per_class(model, extras$topics_per_class, auto_open = FALSE)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.