OpTop v0.9.8
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(), andoptop_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).
testthatsuite 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
@gammaby identifier, so a dfm whose rows are permuted relative to the fitted models is scored correctly. - Characterization tests for
optimal_topic();AUDIT.mdrecords the audit findings, benchmark results, and deliberately unchanged methodological flags.
Modernization, deprecations, CI (0.9.8)
optimal_topic()is silent by default: the newverboseargument enables acliprogress interface (header, setup summary, live progress bar over the model grid, selection summary). Dropping unmatched documents is always signalled.- Deprecated with
lifecyclewarnings and scheduled for removal:topic_stability(),agg_topic_stability(),agg_document_stability(),get_topic_models()(and the internaltopic_match()). The package is converging on the discrepancy-index API. - Style modernization (
<-assignment, fully qualified::calls),cliandlifecyclejoin Imports. - DESCRIPTION cites the methodological reference: Lewis and Grossetti (2022) https://jmlr.org/papers/v23/19-297.html.
- Continuous integration:
R CMD checkon Windows, macOS and Ubuntu (oldrel-1, release, devel) plus Codecov coverage; fixed Windows builds by linking BLAS/LAPACK explicitly insrc/Makevars(.win). - ggplot2 ≥ 3.4 compatibility (
linewidth,annotate()), roxygen2 8.0.0 re-documentation.