Skip to content

OpTop v0.9.8

Choose a tag to compare

@contefranz contefranz released this 03 Jul 12:14

First release since v0.9.5, spanning versions 0.9.6–0.9.8. Full details in NEWS.md.

Discrepancy-based goodness-of-fit indices (0.9.6)

  • Regression-style R² indices for topic model evaluation: optop_index_se(), optop_index_chisq(), optop_index_deviance(), and optop_index_table() for grids of models.
  • Harmonized rare-word partition (optop_make_partition()) and fixed corpus baseline (optop_make_baseline()) so indices are comparable across K.
  • Word-level aggregations (micro/macro), cross-document Z-test, and memory-bounded block processing for large corpora (100K+ documents).
  • testthat suite with an independent naive reference implementation of the indices.

optimal_topic() performance rewrite (0.9.7)

  • The C++ core now works on blocked BLAS matrix products instead of a dense W×K temporary per document, and densifies the sparse dfm in contiguous column blocks. Outputs are unchanged (verified to ~1e-14 against the previous implementation).
  • Bug fix: documents are paired with the rows of @gamma by identifier, so a dfm whose rows are permuted relative to the fitted models is scored correctly.
  • Characterization tests for optimal_topic(); AUDIT.md records the audit findings, benchmark results, and deliberately unchanged methodological flags.

Modernization, deprecations, CI (0.9.8)

  • optimal_topic() is silent by default: the new verbose argument enables a cli progress interface (header, setup summary, live progress bar over the model grid, selection summary). Dropping unmatched documents is always signalled.
  • Deprecated with lifecycle warnings and scheduled for removal: topic_stability(), agg_topic_stability(), agg_document_stability(), get_topic_models() (and the internal topic_match()). The package is converging on the discrepancy-index API.
  • Style modernization (<- assignment, fully qualified :: calls), cli and lifecycle join Imports.
  • DESCRIPTION cites the methodological reference: Lewis and Grossetti (2022) https://jmlr.org/papers/v23/19-297.html.
  • Continuous integration: R CMD check on Windows, macOS and Ubuntu (oldrel-1, release, devel) plus Codecov coverage; fixed Windows builds by linking BLAS/LAPACK explicitly in src/Makevars(.win).
  • ggplot2 ≥ 3.4 compatibility (linewidth, annotate()), roxygen2 8.0.0 re-documentation.