Releases: nealcaren/topica
v0.27.0
What's Changed
- paper: move validation appendix to a supplement; strengthen credit + validation language by @nealcaren in #256
- Survey weights + average marginal effects in estimate_effect (faSTM backport) by @nealcaren in #258
- topica-core: from_texts + inspect + effects (the stmata engine) by @nealcaren in #259
- topica-core: LoadOptions.lowercase flag (default true) by @nealcaren in #261
- Cross-language FREX/score/lift parity (#260) + fix main's broken python build by @nealcaren in #262
- Unify FREX/lift/score through topica-core; fix lift to stm's definition (#260) by @nealcaren in #263
- Route exclusivity through stm core + add stm semantic_coherence (#260) by @nealcaren in #264
- Spectral init: weight recovery by stm's unigram-frequency wprob by @nealcaren in #265
- release: 0.27.0 by @nealcaren in #266
Full Changelog: v0.26.0...v0.27.0
What's Changed
- paper: move validation appendix to a supplement; strengthen credit + validation language by @nealcaren in #256
- Survey weights + average marginal effects in estimate_effect (faSTM backport) by @nealcaren in #258
- topica-core: from_texts + inspect + effects (the stmata engine) by @nealcaren in #259
- topica-core: LoadOptions.lowercase flag (default true) by @nealcaren in #261
- Cross-language FREX/score/lift parity (#260) + fix main's broken python build by @nealcaren in #262
- Unify FREX/lift/score through topica-core; fix lift to stm's definition (#260) by @nealcaren in #263
- Route exclusivity through stm core + add stm semantic_coherence (#260) by @nealcaren in #264
- Spectral init: weight recovery by stm's unigram-frequency wprob by @nealcaren in #265
- release: 0.27.0 by @nealcaren in #266
Full Changelog: v0.26.0...v0.27.0
v0.26.0
What's Changed
- style: apply rustfmt to the workspace + gate fmt/workspace-tests in CI by @nealcaren in #245
- fix: panic-hardening — CLI, numerical kernels, float sort, loaders (#2-#5) by @nealcaren in #246
- fix(clippy): clean the workspace + gate clippy in CI (#6) by @nealcaren in #248
- refactor(python): split python.rs into a directory module (+ arrays.rs) by @nealcaren in #249
- refactor(python): extract error.rs + save.rs by @nealcaren in #250
- refactor(python): extract the Corpus pyclass (python/corpus.rs) by @nealcaren in #251
- refactor(python): extract NMF + LSA model legs by @nealcaren in #252
- fix(stm): make pooled prevalence prior empirical-Bayes (#247) by @nealcaren in #253
- release: 0.26.0 by @nealcaren in #254
Full Changelog: v0.25.0...v0.26.0
What's Changed
- style: apply rustfmt to the workspace + gate fmt/workspace-tests in CI by @nealcaren in #245
- fix: panic-hardening — CLI, numerical kernels, float sort, loaders (#2-#5) by @nealcaren in #246
- fix(clippy): clean the workspace + gate clippy in CI (#6) by @nealcaren in #248
- refactor(python): split python.rs into a directory module (+ arrays.rs) by @nealcaren in #249
- refactor(python): extract error.rs + save.rs by @nealcaren in #250
- refactor(python): extract the Corpus pyclass (python/corpus.rs) by @nealcaren in #251
- refactor(python): extract NMF + LSA model legs by @nealcaren in #252
- fix(stm): make pooled prevalence prior empirical-Bayes (#247) by @nealcaren in #253
- release: 0.26.0 by @nealcaren in #254
Full Changelog: v0.25.0...v0.26.0
What's Changed
- style: apply rustfmt to the workspace + gate fmt/workspace-tests in CI by @nealcaren in #245
- fix: panic-hardening — CLI, numerical kernels, float sort, loaders (#2-#5) by @nealcaren in #246
- fix(clippy): clean the workspace + gate clippy in CI (#6) by @nealcaren in #248
- refactor(python): split python.rs into a directory module (+ arrays.rs) by @nealcaren in #249
- refactor(python): extract error.rs + save.rs by @nealcaren in #250
- refactor(python): extract the Corpus pyclass (python/corpus.rs) by @nealcaren in #251
- refactor(python): extract NMF + LSA model legs by @nealcaren in #252
- fix(stm): make pooled prevalence prior empirical-Bayes (#247) by @nealcaren in #253
- release: 0.26.0 by @nealcaren in #254
Full Changelog: v0.25.0...v0.26.0
v0.25.0
What's Changed
- paper: side-by-side validation appendix (15 reference legs on poliblog) by @nealcaren in #241
- Refactor: extract topica-core workspace member (#242) by @nealcaren in #243
- release: 0.25.0 by @nealcaren in #244
Full Changelog: v0.24.1...v0.25.0
What's Changed
- paper: side-by-side validation appendix (15 reference legs on poliblog) by @nealcaren in #241
- Refactor: extract topica-core workspace member (#242) by @nealcaren in #243
- release: 0.25.0 by @nealcaren in #244
Full Changelog: v0.24.1...v0.25.0
v0.24.1
What's Changed
- Add content_placebo: content-divergence permutation test for ECTM (#230) by @nealcaren in #232
- Expose SAGE content-model κ coefficients on STM (closes #237) by @nealcaren in #238
- release: 0.24.1 by @nealcaren in #239
Full Changelog: v0.24.0...v0.24.1
What's Changed
- Add content_placebo: content-divergence permutation test for ECTM (#230) by @nealcaren in #232
- Expose SAGE content-model κ coefficients on STM (closes #237) by @nealcaren in #238
- release: 0.24.1 by @nealcaren in #239
Full Changelog: v0.24.0...v0.24.1
What's Changed
- Add content_placebo: content-divergence permutation test for ECTM (#230) by @nealcaren in #232
- Expose SAGE content-model κ coefficients on STM (closes #237) by @nealcaren in #238
- release: 0.24.1 by @nealcaren in #239
Full Changelog: v0.24.0...v0.24.1
v0.24.0
What's Changed
- chore: warning-free build (JSS referee minors #1/#2) by @nealcaren in #227
- JSS review: conformance covers GDMR (+ document InfoCTM exclusion); reproduce.py --strict by @nealcaren in #228
- paper: JSS revision pass (text fixes + versioned provenance report; §6 from Longleaf pending) by @nealcaren in #229
- Minibatch SVI for ECTM (inference="svi") + shared SVI scaffolding (#231, PR A) by @nealcaren in #233
- Faithful spectral recover() (reproduces R stm recoverL2) + beta_init warm-start (closes #234) by @nealcaren in #235
- release: 0.24.0 by @nealcaren in #236
Full Changelog: v0.23.1...v0.24.0
What's Changed
- chore: warning-free build (JSS referee minors #1/#2) by @nealcaren in #227
- JSS review: conformance covers GDMR (+ document InfoCTM exclusion); reproduce.py --strict by @nealcaren in #228
- paper: JSS revision pass (text fixes + versioned provenance report; §6 from Longleaf pending) by @nealcaren in #229
- Minibatch SVI for ECTM (inference="svi") + shared SVI scaffolding (#231, PR A) by @nealcaren in #233
- Faithful spectral recover() (reproduces R stm recoverL2) + beta_init warm-start (closes #234) by @nealcaren in #235
- release: 0.24.0 by @nealcaren in #236
Full Changelog: v0.23.1...v0.24.0
What's Changed
- chore: warning-free build (JSS referee minors #1/#2) by @nealcaren in #227
- JSS review: conformance covers GDMR (+ document InfoCTM exclusion); reproduce.py --strict by @nealcaren in #228
- paper: JSS revision pass (text fixes + versioned provenance report; §6 from Longleaf pending) by @nealcaren in #229
- Minibatch SVI for ECTM (inference="svi") + shared SVI scaffolding (#231, PR A) by @nealcaren in #233
- Faithful spectral recover() (reproduces R stm recoverL2) + beta_init warm-start (closes #234) by @nealcaren in #235
- release: 0.24.0 by @nealcaren in #236
Full Changelog: v0.23.1...v0.24.0
v0.23.1
What's Changed
- Bundled multilingual stopwords: topica.stopwords(lang) (58 languages) by @nealcaren in #225
- release: 0.23.1 by @nealcaren in #226
Full Changelog: v0.23.0...v0.23.1
What's Changed
- Bundled multilingual stopwords: topica.stopwords(lang) (58 languages) by @nealcaren in #225
- release: 0.23.1 by @nealcaren in #226
Full Changelog: v0.23.0...v0.23.1
v0.23.0
What's Changed
- ci: bump JS actions to Node 24 majors (clear Node 20 deprecation) by @nealcaren in #214
- parity: consolidate the ProdLDA-family AVITM reference + add CombinedTM/ZeroShotTM harnesses by @nealcaren in #218
- paper: update model roster + prose to topica 0.22.0 by @nealcaren in #213
- paper: one-command reproduction harness (paper/reproduce.py) by @nealcaren in #215
- Spectral init for content-covariate STM (issue #216, STM half) by @nealcaren in #217
- Re-tag 6 models as seed-reproducible to match their references by @nealcaren in #219
- select_model: multi-start for the stochastic models (ETM/ProdLDA/FASTopic/...) by @nealcaren in #222
- Spectral init: ECTM default (closes #220) + DTM option by @nealcaren in #221
- release: 0.23.0 by @nealcaren in #223
Full Changelog: v0.22.0...v0.23.0
What's Changed
- ci: bump JS actions to Node 24 majors (clear Node 20 deprecation) by @nealcaren in #214
- parity: consolidate the ProdLDA-family AVITM reference + add CombinedTM/ZeroShotTM harnesses by @nealcaren in #218
- paper: update model roster + prose to topica 0.22.0 by @nealcaren in #213
- paper: one-command reproduction harness (paper/reproduce.py) by @nealcaren in #215
- Spectral init for content-covariate STM (issue #216, STM half) by @nealcaren in #217
- Re-tag 6 models as seed-reproducible to match their references by @nealcaren in #219
- select_model: multi-start for the stochastic models (ETM/ProdLDA/FASTopic/...) by @nealcaren in #222
- Spectral init: ECTM default (closes #220) + DTM option by @nealcaren in #221
- release: 0.23.0 by @nealcaren in #223
Full Changelog: v0.22.0...v0.23.0
What's Changed
- ci: bump JS actions to Node 24 majors (clear Node 20 deprecation) by @nealcaren in #214
- parity: consolidate the ProdLDA-family AVITM reference + add CombinedTM/ZeroShotTM harnesses by @nealcaren in #218
- paper: update model roster + prose to topica 0.22.0 by @nealcaren in #213
- paper: one-command reproduction harness (paper/reproduce.py) by @nealcaren in #215
- Spectral init for content-covariate STM (issue #216, STM half) by @nealcaren in #217
- Re-tag 6 models as seed-reproducible to match their references by @nealcaren in #219
- select_model: multi-start for the stochastic models (ETM/ProdLDA/FASTopic/...) by @nealcaren in #222
- Spectral init: ECTM default (closes #220) + DTM option by @nealcaren in #221
- release: 0.23.0 by @nealcaren in #223
Full Changelog: v0.22.0...v0.23.0
v0.22.0
What's Changed
- Add InfoCTM: cross-lingual neural topic model (closes #175) by @nealcaren in #200
- Add llm_coherence + llm_intrusion (LLM-based topic evaluation; first cut of #197) by @nealcaren in #201
- LLM-eval suite: topica.llm namespace, backend=, select_k + Tan & D'Souza metrics by @nealcaren in #202
- Add ECTM: Evolving Content Topic Model (group-by-time content; #190) by @nealcaren in #203
- Add topica.datasets: bundled + fetch-on-demand example data (#204) by @nealcaren in #208
- chore: slim the repo root (move CONTRIBUTING files into .github) by @nealcaren in #209
- Correct STM prevalence parity docs (closes #206) by @nealcaren in #210
- Onboarding overhaul: CSV-first README + quickstart (closes #205, #207) by @nealcaren in #211
- release: 0.22.0 by @nealcaren in #212
Full Changelog: v0.21.0...v0.22.0
What's Changed
- Add InfoCTM: cross-lingual neural topic model (closes #175) by @nealcaren in #200
- Add llm_coherence + llm_intrusion (LLM-based topic evaluation; first cut of #197) by @nealcaren in #201
- LLM-eval suite: topica.llm namespace, backend=, select_k + Tan & D'Souza metrics by @nealcaren in #202
- Add ECTM: Evolving Content Topic Model (group-by-time content; #190) by @nealcaren in #203
- Add topica.datasets: bundled + fetch-on-demand example data (#204) by @nealcaren in #208
- chore: slim the repo root (move CONTRIBUTING files into .github) by @nealcaren in #209
- Correct STM prevalence parity docs (closes #206) by @nealcaren in #210
- Onboarding overhaul: CSV-first README + quickstart (closes #205, #207) by @nealcaren in #211
- release: 0.22.0 by @nealcaren in #212
Full Changelog: v0.21.0...v0.22.0
What's Changed
- Add InfoCTM: cross-lingual neural topic model (closes #175) by @nealcaren in #200
- Add llm_coherence + llm_intrusion (LLM-based topic evaluation; first cut of #197) by @nealcaren in #201
- LLM-eval suite: topica.llm namespace, backend=, select_k + Tan & D'Souza metrics by @nealcaren in #202
- Add ECTM: Evolving Content Topic Model (group-by-time content; #190) by @nealcaren in #203
- Add topica.datasets: bundled + fetch-on-demand example data (#204) by @nealcaren in #208
- chore: slim the repo root (move CONTRIBUTING files into .github) by @nealcaren in #209
- Correct STM prevalence parity docs (closes #206) by @nealcaren in #210
- Onboarding overhaul: CSV-first README + quickstart (closes #205, #207) by @nealcaren in #211
- release: 0.22.0 by @nealcaren in #212
Full Changelog: v0.21.0...v0.22.0
v0.21.0
What's Changed
- Add TopicGPT (LLM-based topic discovery) by @nealcaren in #196
- Add topic_semantic_diversity (TSD) diagnostic by @nealcaren in #192
- Add Gaussian stick-breaking prior to the VAE models (completes #176) by @nealcaren in #198
- release: 0.21.0 by @nealcaren in #199
Full Changelog: v0.20.0...v0.21.0
What's Changed
- Add TopicGPT (LLM-based topic discovery) by @nealcaren in #196
- Add topic_semantic_diversity (TSD) diagnostic by @nealcaren in #192
- Add Gaussian stick-breaking prior to the VAE models (completes #176) by @nealcaren in #198
- release: 0.21.0 by @nealcaren in #199
Full Changelog: v0.20.0...v0.21.0
v0.20.0
What's Changed
- feat: model registry + purpose taxonomy (#182) by @nealcaren in #183
- skills: topica-analysis (user) + add-topic-model (dev); AGENTS.md generated from the skill by @nealcaren in #184
- Add NMF (non-negative matrix factorization) topic model by @nealcaren in #185
- Add LSA/LSI (truncated-SVD) topic model by @nealcaren in #187
- fix: read/write repo text files as UTF-8 (Windows CI red since #182) by @nealcaren in #188
- Add CombinedTM and ZeroShotTM (contextualized neural topic models) by @nealcaren in #189
- Add contrastive (CLNTM) and Dirichlet-prior flags to the VAE models by @nealcaren in #191
- Add DETM (Dynamic Embedded Topic Model) by @nealcaren in #194
- release: 0.20.0 by @nealcaren in #195
Full Changelog: v0.19.0...v0.20.0
What's Changed
- feat: model registry + purpose taxonomy (#182) by @nealcaren in #183
- skills: topica-analysis (user) + add-topic-model (dev); AGENTS.md generated from the skill by @nealcaren in #184
- Add NMF (non-negative matrix factorization) topic model by @nealcaren in #185
- Add LSA/LSI (truncated-SVD) topic model by @nealcaren in #187
- fix: read/write repo text files as UTF-8 (Windows CI red since #182) by @nealcaren in #188
- Add CombinedTM and ZeroShotTM (contextualized neural topic models) by @nealcaren in #189
- Add contrastive (CLNTM) and Dirichlet-prior flags to the VAE models by @nealcaren in #191
- Add DETM (Dynamic Embedded Topic Model) by @nealcaren in #194
- release: 0.20.0 by @nealcaren in #195
Full Changelog: v0.19.0...v0.20.0
What's Changed
- feat: model registry + purpose taxonomy (#182) by @nealcaren in #183
- skills: topica-analysis (user) + add-topic-model (dev); AGENTS.md generated from the skill by @nealcaren in #184
- Add NMF (non-negative matrix factorization) topic model by @nealcaren in #185
- Add LSA/LSI (truncated-SVD) topic model by @nealcaren in #187
- fix: read/write repo text files as UTF-8 (Windows CI red since #182) by @nealcaren in #188
- Add CombinedTM and ZeroShotTM (contextualized neural topic models) by @nealcaren in #189
- Add contrastive (CLNTM) and Dirichlet-prior flags to the VAE models by @nealcaren in #191
- Add DETM (Dynamic Embedded Topic Model) by @nealcaren in #194
- release: 0.20.0 by @nealcaren in #195
Full Changelog: v0.19.0...v0.20.0