Habíamos dicho que el ejemplo de la clase era un poco de juguete. Una de las ventajas del topic modeling es poder detectar gran cantidad de tópicos y, en muchos casos, esos tópicos tienen una gran granularidad.
Es por ello que la idea de esta actividad es que puedan interpretar un modelo con una mayor cantidad de tópicos y generar algunas de las visualizaciones que vimos en la clase.
Dado que entrenar un modelo de 10 tópicos puede tardar un rato (10-20 minutos) para este corpus hemos preentrenado uno. Pueden cargarlo ejecutando esta celda:
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.3 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.3 ✔ tibble 3.2.1
## ✔ lubridate 1.9.2 ✔ tidyr 1.3.0
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(topicmodels)
library(tidytext)
library(tictoc)
lda_10 <- read_rds('../models/lda_10.rds')
lda_10
## A LDA_VEM topic model with 10 topics.
Si quisieran entrenarlo ustedes mismos o probar otras especificaciones, pueden hacerlo simplemente cambiando el parámetro k:
#lda_10 <- LDA(disc_dtm, k=10, control = list(seed = 9875))
###
###