From 796b003a8a4f0d3912274bc01688ab570cf8b96c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rton=20Kardos=C3=98?= Date: Wed, 1 Apr 2026 13:13:54 +0200 Subject: [PATCH 1/4] Added better FASTopic docs --- docs/FASTopic.md | 53 ++++++++++++++++++++++++++++++++++++--- docs/images/fastopic.png | Bin 0 -> 118971 bytes 2 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 docs/images/fastopic.png diff --git a/docs/FASTopic.md b/docs/FASTopic.md index 9338469e..c03e4477 100644 --- a/docs/FASTopic.md +++ b/docs/FASTopic.md @@ -1,14 +1,59 @@ # FASTopic -FASTopic is a neural topic model based on Dual Semantic-relation Reconstruction. +FASTopic (Wu et al., 2024) is a neural topic model based on Dual Semantic-relation Reconstruction. -> Turftopic contains an implementation repurposed for our API, but the implementation is mostly from the [original FASTopic package](https://github.com/BobXWu/FASTopic). +
+ +
Figure 1: Schematic Overview of the FASTopic Model.
Figure from Wu et al. (2024)
+
-:warning: This part of the documentation is still under construction :warning: +FASTopic, instead of reconstructing Bag-of-words, like classical topic models or VAE-based models do, reconstructs the relations between topics words and documents. + +Wu et al. (2025) express semantic relations for this model using the Embedding Transport Plan (ETP) method. + +The model uses a combined loss function that helps the model learn semantic relations between topic and word embeddings, and learn to reconstruct these relations. + +## Usage + +```python +from turftopic import FASTopic + +documents = [...] + +model = FASTopic(10) +doc_topic_matrix = model.fit_transform(documents) +model.print_topics() +``` ## References -Wu, X., Nguyen, T., Zhang, D. C., Wang, W. Y., & Luu, A. T. (2024). FASTopic: A Fast, Adaptive, Stable, and Transferable Topic Modeling Paradigm. ArXiv Preprint ArXiv:2405.17978. +Please cite the authors of the paper, and Turftopic when using the FASTopic model: + +```bibtex +@inproceedings{ + wu2024fastopic, + title={{FAST}opic: Pretrained Transformer is a Fast, Adaptive, Stable, and Transferable Topic Model}, + author={Xiaobao Wu and Thong Thanh Nguyen and Delvin Ce Zhang and William Yang Wang and Anh Tuan Luu}, + booktitle={The Thirty-eighth Annual Conference on Neural Information Processing Systems}, + year={2024}, + url={https://openreview.net/forum?id=7t6aq0Fa9D} +} + +@article{ + Kardos2025, + title = {Turftopic: Topic Modelling with Contextual Representations from Sentence Transformers}, + doi = {10.21105/joss.08183}, + url = {https://doi.org/10.21105/joss.08183}, + year = {2025}, + publisher = {The Open Journal}, + volume = {10}, + number = {111}, + pages = {8183}, + author = {Kardos, Márton and Enevoldsen, Kenneth C. and Kostkan, Jan and Kristensen-McLachlan, Ross Deans and Rocca, Roberta}, + journal = {Journal of Open Source Software} +} +``` + ## API Reference diff --git a/docs/images/fastopic.png b/docs/images/fastopic.png new file mode 100644 index 0000000000000000000000000000000000000000..1d9afd7e87c0e0d59a833fe5722042f9ade51060 GIT binary patch literal 118971 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 Date: Wed, 1 Apr 2026 13:33:29 +0200 Subject: [PATCH 2/4] Added citation boxes to all models in docs --- docs/FASTopic.md | 2 +- docs/GMM.md | 20 ++++++++++++++++++++ docs/KeyNMF.md | 40 +++++++++++++++++++++++++++++++++++++++- docs/SensTopic.md | 20 ++++++++++++++++++++ docs/Topeax.md | 32 +++++++++++++++++++++++++++++++- docs/clustering.md | 43 +++++++++++++++++++++++++++++++++++++++++++ docs/ctm.md | 42 +++++++++++++++++++++++++++++++++++++++++- docs/cvp.md | 33 +++++++++++++++++++++++++++++++++ docs/s3.md | 43 +++++++++++++++++++++++++++++++++++++++++++ 9 files changed, 271 insertions(+), 4 deletions(-) diff --git a/docs/FASTopic.md b/docs/FASTopic.md index c03e4477..392a83f1 100644 --- a/docs/FASTopic.md +++ b/docs/FASTopic.md @@ -25,7 +25,7 @@ doc_topic_matrix = model.fit_transform(documents) model.print_topics() ``` -## References +## Citation Please cite the authors of the paper, and Turftopic when using the FASTopic model: diff --git a/docs/GMM.md b/docs/GMM.md index e864fb6f..a93aa64a 100644 --- a/docs/GMM.md +++ b/docs/GMM.md @@ -94,6 +94,26 @@ from sklearn.decomposition import IncrementalPCA model = GMM(20, dimensionality_reduction=IncrementalPCA(20)) ``` +## Citation + +Please cite Turftopic when using GMM in publications: + +```bibtex +@article{ + Kardos2025, + title = {Turftopic: Topic Modelling with Contextual Representations from Sentence Transformers}, + doi = {10.21105/joss.08183}, + url = {https://doi.org/10.21105/joss.08183}, + year = {2025}, + publisher = {The Open Journal}, + volume = {10}, + number = {111}, + pages = {8183}, + author = {Kardos, Márton and Enevoldsen, Kenneth C. and Kostkan, Jan and Kristensen-McLachlan, Ross Deans and Rocca, Roberta}, + journal = {Journal of Open Source Software} +} +``` + ## API Reference ::: turftopic.models.gmm.GMM diff --git a/docs/KeyNMF.md b/docs/KeyNMF.md index 7fcbc78d..d4629fd0 100644 --- a/docs/KeyNMF.md +++ b/docs/KeyNMF.md @@ -1,6 +1,6 @@ # KeyNMF -KeyNMF is a topic model that relies on contextually sensitive embeddings for keyword retrieval and term importance estimation, +KeyNMF (Kristensen-McLachlan et al., 2024) is a topic model that relies on contextually sensitive embeddings for keyword retrieval and term importance estimation, while taking inspiration from classical matrix-decomposition approaches for extracting topics.
@@ -513,6 +513,44 @@ model = KeyNMF(10, encoder=encoder) Setting the default prompt to `query` is especially important, when you are precomputing embeddings, as `query` should always be your default prompt to embed documents with. +## Citation + +Please cite Turftopic and Kristensen-McLachlan et al. (2024) when using KeyNMF: + +```bibtex +@article{ + Kardos2025, + title = {Turftopic: Topic Modelling with Contextual Representations from Sentence Transformers}, + doi = {10.21105/joss.08183}, + url = {https://doi.org/10.21105/joss.08183}, + year = {2025}, + publisher = {The Open Journal}, + volume = {10}, + number = {111}, + pages = {8183}, + author = {Kardos, Márton and Enevoldsen, Kenneth C. and Kostkan, Jan and Kristensen-McLachlan, Ross Deans and Rocca, Roberta}, + journal = {Journal of Open Source Software} +} + +@inproceedings{keynmf, + title = "Context is Key(NMF):: Modelling Topical Information Dynamics in Chinese Diaspora Media", + abstract = "Does the People{\textquoteright}s Republic of China (PRC) interfere with European elections through ethnic Chinese diaspora media? This question forms the basis of an ongoing research project exploring how PRC narratives about European elections are represented in Chinese diaspora media, and thus the objectives of PRC news media manipulation. In order to study diaspora media ef{\"I}ciently and at scale, it is necessary to use techniques derived from quantitative text analysis, such as topic modelling. In this paper, we present a pipeline for studying information dynamics in Chinese media. Firstly, we present KeyNMF, a new approach to static and dynamic topic modelling using transformer-based contextual embedding models. We provide benchmark evaluations to demonstrate that our approach is competitive on a number of Chinese datasets and metrics. Secondly, we integrate KeyNMF with existing methods for describing information dynamics in complex systems. We apply this pipeline to data from five news sites, focusing on the period of time leading up to the 2024 European parliamentary elections. Our methods and results demonstrate the effectiveness of KeyNMF for studying information dynamics in Chinese media and lay groundwork for further work addressing the broader research questions.", + keywords = "Chinese, contextual topic models, information dynamics, keywords, novelty", + author = "Kristensen-McLachlan, \{Ross Deans\} and Hicke, \{Rebecca Marie Matouschek\} and M{\'a}rton Kardos and Mette Thun{\o}", + year = "2024", + month = dec, + language = "English", + volume = "3834", + series = "CEUR Workshop Proceedings", + publisher = "CEUR-WS", + pages = "829--847", + editor = "Haverals, \{Wouter \} and Koolen, \{Marijn \} and Thompson, \{Laure \}", + booktitle = "Proceedings of the Computational Humanities Research Conference 2024", + address = "Germany", +} +``` + + ## API Reference ::: turftopic.models.keynmf.KeyNMF diff --git a/docs/SensTopic.md b/docs/SensTopic.md index 7bee1471..e900207b 100644 --- a/docs/SensTopic.md +++ b/docs/SensTopic.md @@ -162,6 +162,26 @@ model.print_topics() | 4 | tennis, competing, federer, wimbledon, iaaf, olympic, tournament, athlete, rugby, olympics | | 5 | gdp, stock, economy, earnings, investments, investment, invest, exports, finance, economies | +## Citation + +Please cite Turftopic when using the SensTopic model: + +```bibtex +@article{ + Kardos2025, + title = {Turftopic: Topic Modelling with Contextual Representations from Sentence Transformers}, + doi = {10.21105/joss.08183}, + url = {https://doi.org/10.21105/joss.08183}, + year = {2025}, + publisher = {The Open Journal}, + volume = {10}, + number = {111}, + pages = {8183}, + author = {Kardos, Márton and Enevoldsen, Kenneth C. and Kostkan, Jan and Kristensen-McLachlan, Ross Deans and Rocca, Roberta}, + journal = {Journal of Open Source Software} +} +``` + ## API Reference diff --git a/docs/Topeax.md b/docs/Topeax.md index 56b32278..4cf1c6ae 100644 --- a/docs/Topeax.md +++ b/docs/Topeax.md @@ -1,6 +1,6 @@ # Topeax -Topeax is a probabilistic topic model based on the Peax clustering model, which finds topics based on peaks in point density in the embedding space. The model can recover the number of topics automatically. +Topeax (Kardos, 2026) is a probabilistic topic model based on the Peax clustering model, which finds topics based on peaks in point density in the embedding space. The model can recover the number of topics automatically. In the following example I run a Topeax model on the BBC News corpus, and plot the steps of the algorithm to inspect how our documents have been clustered and why: @@ -123,6 +123,36 @@ topeax.plot_components_datamapplot()
Figure 5: Datapoints colored by mixture components on a datamapplot.
+## Citation + +Please cite Turftopic and Kardos (2026) when using the Topeax model: + +```bibtex +@article{ + Kardos2025, + title = {Turftopic: Topic Modelling with Contextual Representations from Sentence Transformers}, + doi = {10.21105/joss.08183}, + url = {https://doi.org/10.21105/joss.08183}, + year = {2025}, + publisher = {The Open Journal}, + volume = {10}, + number = {111}, + pages = {8183}, + author = {Kardos, Márton and Enevoldsen, Kenneth C. and Kostkan, Jan and Kristensen-McLachlan, Ross Deans and Rocca, Roberta}, + journal = {Journal of Open Source Software} +} + +@misc{kardos2026topeaximprovedclustering, + title={Topeax -- An Improved Clustering Topic Model with Density Peak Detection and Lexical-Semantic Term Importance}, + author={Márton Kardos}, + year={2026}, + eprint={2601.21465}, + archivePrefix={arXiv}, + primaryClass={cs.AI}, + url={https://arxiv.org/abs/2601.21465}, +} +``` + ## API Reference ::: turftopic.models.topeax.Topeax diff --git a/docs/clustering.md b/docs/clustering.md index 7a7fde43..383b165b 100644 --- a/docs/clustering.md +++ b/docs/clustering.md @@ -403,7 +403,50 @@ _See Figure 1_ !!! info If you are not running Turftopic from a Jupyter notebook, make sure to call `fig.show()`. This will open up a new browser tab with the interactive figure. +## Citation + +Please cite Turftopic when using clustering models: + +```bibtex + +@article{ + Kardos2025, + title = {Turftopic: Topic Modelling with Contextual Representations from Sentence Transformers}, + doi = {10.21105/joss.08183}, + url = {https://doi.org/10.21105/joss.08183}, + year = {2025}, + publisher = {The Open Journal}, + volume = {10}, + number = {111}, + pages = {8183}, + author = {Kardos, Márton and Enevoldsen, Kenneth C. and Kostkan, Jan and Kristensen-McLachlan, Ross Deans and Rocca, Roberta}, + journal = {Journal of Open Source Software} +} +``` +In addition, cite Grootendorst (2022) or Angelov (2020) when using BERTopic or Top2Vec respectively: + +```bibtex +@misc{grootendorst2022bertopicneuraltopicmodeling, + title={BERTopic: Neural topic modeling with a class-based TF-IDF procedure}, + author={Maarten Grootendorst}, + year={2022}, + eprint={2203.05794}, + archivePrefix={arXiv}, + primaryClass={cs.CL}, + url={https://arxiv.org/abs/2203.05794}, +} + +@misc{angelov2020top2vecdistributedrepresentationstopics, + title={Top2Vec: Distributed Representations of Topics}, + author={Dimo Angelov}, + year={2020}, + eprint={2008.09470}, + archivePrefix={arXiv}, + primaryClass={cs.CL}, + url={https://arxiv.org/abs/2008.09470}, +} +``` ## API Reference diff --git a/docs/ctm.md b/docs/ctm.md index 9b5d3bbf..a49b216e 100644 --- a/docs/ctm.md +++ b/docs/ctm.md @@ -1,6 +1,6 @@ # Variational Autoencoding Topic Models -Topic models based on Variational Autoencoding are generative models based on ProdLDA (citation) enhanced with contextual representations. +Topic models based on Variational Autoencoding are generative models based on ProdLDA (Bianchi et al, 2021) enhanced with contextual representations.
@@ -56,6 +56,46 @@ This has a number of implications, most notably: Turftopic, similarly to Clustering models might not contain some model specific utilites, that CTM boasts. +## Citation + +Please cite Turftopic and Bianchi et al. (2021) when using Autoencoding models in Turftopic +```bibtex + +@article{ + Kardos2025, + title = {Turftopic: Topic Modelling with Contextual Representations from Sentence Transformers}, + doi = {10.21105/joss.08183}, + url = {https://doi.org/10.21105/joss.08183}, + year = {2025}, + publisher = {The Open Journal}, + volume = {10}, + number = {111}, + pages = {8183}, + author = {Kardos, Márton and Enevoldsen, Kenneth C. and Kostkan, Jan and Kristensen-McLachlan, Ross Deans and Rocca, Roberta}, + journal = {Journal of Open Source Software} +} + +@inproceedings{bianchi-etal-2021-pre, + title = "Pre-training is a Hot Topic: Contextualized Document Embeddings Improve Topic Coherence", + author = "Bianchi, Federico and + Terragni, Silvia and + Hovy, Dirk", + editor = "Zong, Chengqing and + Xia, Fei and + Li, Wenjie and + Navigli, Roberto", + booktitle = "Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 2: Short Papers)", + month = aug, + year = "2021", + address = "Online", + publisher = "Association for Computational Linguistics", + url = "https://aclanthology.org/2021.acl-short.96/", + doi = "10.18653/v1/2021.acl-short.96", + pages = "759--766", + abstract = "Topic models extract groups of words from documents, whose interpretation as a topic hopefully allows for a better understanding of the data. However, the resulting word groups are often not coherent, making them harder to interpret. Recently, neural topic models have shown improvements in overall coherence. Concurrently, contextual embeddings have advanced the state of the art of neural models in general. In this paper, we combine contextualized representations with neural topic models. We find that our approach produces more meaningful and coherent topics than traditional bag-of-words topic models and recent neural models. Our results indicate that future improvements in language models will translate into better topic models." +} +``` + ## API Reference ::: turftopic.models.ctm.AutoEncodingTopicModel diff --git a/docs/cvp.md b/docs/cvp.md index 289b3e6d..6024c896 100644 --- a/docs/cvp.md +++ b/docs/cvp.md @@ -71,6 +71,39 @@ print(concept_df) 1 0.269454 0.009495 ``` +## Citation + +Please cite Lyngbæk et al. (2025) and Turftopic when using Concept Vector Projection in publications: + +```bibtex +@article{ + Kardos2025, + title = {Turftopic: Topic Modelling with Contextual Representations from Sentence Transformers}, + doi = {10.21105/joss.08183}, + url = {https://doi.org/10.21105/joss.08183}, + year = {2025}, + publisher = {The Open Journal}, + volume = {10}, + number = {111}, + pages = {8183}, + author = {Kardos, Márton and Enevoldsen, Kenneth C. and Kostkan, Jan and Kristensen-McLachlan, Ross Deans and Rocca, Roberta}, + journal = {Journal of Open Source Software} +} + +@incollection{Lyngbaek2025, + title = {Continuous Sentiment Scores for Literary and Multilingual +Contexts}, + author = {Laurits Lyngbaek and Pascale Feldkamp and Yuri Bizzoni and Kristoffer L. Nielbo and Kenneth Enevoldsen}, + year = {2025}, + booktitle = {Computational Humanities Research 2025}, + publisher = {Anthology of Computers and the Humanities}, + pages = {480--497}, + editor = {Taylor Arnold and Margherita Fantoli and Ruben Ros}, + doi = {10.63744/nVu1Zq5gRkuD} +} +``` + + ## API Reference diff --git a/docs/s3.md b/docs/s3.md index 88ef4460..99c56b7d 100644 --- a/docs/s3.md +++ b/docs/s3.md @@ -202,6 +202,49 @@ fig.show()
Image Compass of IKEA furnitures along two semantic axes
+## Citation + +Please cite Turftopic and Kardos et al. (2025) when using $S^3$ in Turftopic: +```bibtex + +@article{ + Kardos2025, + title = {Turftopic: Topic Modelling with Contextual Representations from Sentence Transformers}, + doi = {10.21105/joss.08183}, + url = {https://doi.org/10.21105/joss.08183}, + year = {2025}, + publisher = {The Open Journal}, + volume = {10}, + number = {111}, + pages = {8183}, + author = {Kardos, Márton and Enevoldsen, Kenneth C. and Kostkan, Jan and Kristensen-McLachlan, Ross Deans and Rocca, Roberta}, + journal = {Journal of Open Source Software} +} + +@inproceedings{kardos-etal-2025-s3, + title = "$S^3$ - Semantic Signal Separation", + author = "Kardos, M{\'a}rton and + Kostkan, Jan and + Enevoldsen, Kenneth and + Vermillet, Arnault-Quentin and + Nielbo, Kristoffer and + Rocca, Roberta", + editor = "Che, Wanxiang and + Nabende, Joyce and + Shutova, Ekaterina and + Pilehvar, Mohammad Taher", + booktitle = "Proceedings of the 63rd Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)", + month = jul, + year = "2025", + address = "Vienna, Austria", + publisher = "Association for Computational Linguistics", + url = "https://aclanthology.org/2025.acl-long.32/", + doi = "10.18653/v1/2025.acl-long.32", + pages = "633--666", + ISBN = "979-8-89176-251-0", + abstract = "Topic models are useful tools for discovering latent semantic structures in large textual corpora. Recent efforts have been oriented at incorporating contextual representations in topic modeling and have been shown to outperform classical topic models. These approaches are typically slow, volatile, and require heavy preprocessing for optimal results. We present Semantic Signal Separation ($S^3$), a theory-driven topic modeling approach in neural embedding spaces. $S^3$ conceptualizes topics as independent axes of semantic space and uncovers these by decomposing contextualized document embeddings using Independent Component Analysis. Our approach provides diverse and highly coherent topics, requires no preprocessing, and is demonstrated to be the fastest contextual topic model, being, on average, 4.5x faster than the runner-up BERTopic. We offer an implementation of $S^3$, and all contextual baselines, in the Turftopic Python package." +} +``` ## API Reference From a2b4e839898e90791a57449999174c0ccd93a5d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rton=20Kardos=C3=98?= Date: Wed, 1 Apr 2026 13:35:17 +0200 Subject: [PATCH 3/4] Added citation to the readme and to the docs landing page --- README.md | 19 +++++++++++++++++++ docs/index.md | 20 +++++++++++++++++++- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2bc522e6..1bca3228 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,25 @@ | [Topic Analysis](https://x-tabdeveloping.github.io/turftopic/analyzers/) | :robot: LLM-generated names and descriptions, :wave: Manual Topic Naming | | [Informative Topic Descriptions](https://x-tabdeveloping.github.io/turftopic/vectorizers/) | :key: Keyphrases, Noun-phrases, Lemmatization, Stemming | +## Citation + +Please cite us when using Turftopic: + +```bibtex +@article{ + Kardos2025, + title = {Turftopic: Topic Modelling with Contextual Representations from Sentence Transformers}, + doi = {10.21105/joss.08183}, + url = {https://doi.org/10.21105/joss.08183}, + year = {2025}, + publisher = {The Open Journal}, + volume = {10}, + number = {111}, + pages = {8183}, + author = {Kardos, Márton and Enevoldsen, Kenneth C. and Kostkan, Jan and Kristensen-McLachlan, Ross Deans and Rocca, Roberta}, + journal = {Journal of Open Source Software} +} +``` ## Basics [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/x-tabdeveloping/turftopic/blob/main/examples/basic_example_20newsgroups.ipynb) diff --git a/docs/index.md b/docs/index.md index 7df862b3..2f16f228 100644 --- a/docs/index.md +++ b/docs/index.md @@ -45,4 +45,22 @@ model.print_topics() - +## Citation + +Please cite us when using Turftopic: + +```bibtex +@article{ + Kardos2025, + title = {Turftopic: Topic Modelling with Contextual Representations from Sentence Transformers}, + doi = {10.21105/joss.08183}, + url = {https://doi.org/10.21105/joss.08183}, + year = {2025}, + publisher = {The Open Journal}, + volume = {10}, + number = {111}, + pages = {8183}, + author = {Kardos, Márton and Enevoldsen, Kenneth C. and Kostkan, Jan and Kristensen-McLachlan, Ross Deans and Rocca, Roberta}, + journal = {Journal of Open Source Software} +} +``` From 10a47bb248242ecd73c07c8df4a90d8eac2ce8d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rton=20Kardos=C3=98?= Date: Wed, 1 Apr 2026 13:35:42 +0200 Subject: [PATCH 4/4] Moved citation to the bottom in readme --- README.md | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 1bca3228..a4d88f16 100644 --- a/README.md +++ b/README.md @@ -15,26 +15,6 @@ | [Topic Analysis](https://x-tabdeveloping.github.io/turftopic/analyzers/) | :robot: LLM-generated names and descriptions, :wave: Manual Topic Naming | | [Informative Topic Descriptions](https://x-tabdeveloping.github.io/turftopic/vectorizers/) | :key: Keyphrases, Noun-phrases, Lemmatization, Stemming | -## Citation - -Please cite us when using Turftopic: - -```bibtex -@article{ - Kardos2025, - title = {Turftopic: Topic Modelling with Contextual Representations from Sentence Transformers}, - doi = {10.21105/joss.08183}, - url = {https://doi.org/10.21105/joss.08183}, - year = {2025}, - publisher = {The Open Journal}, - volume = {10}, - number = {111}, - pages = {8183}, - author = {Kardos, Márton and Enevoldsen, Kenneth C. and Kostkan, Jan and Kristensen-McLachlan, Ross Deans and Rocca, Roberta}, - journal = {Journal of Open Source Software} -} -``` - ## Basics [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/x-tabdeveloping/turftopic/blob/main/examples/basic_example_20newsgroups.ipynb) @@ -247,6 +227,26 @@ topicwizard.visualize(corpus, model=model) Alternatively you can use the [Figures API](https://x-tabdeveloping.github.io/topicwizard/figures.html) in topicwizard for individual HTML figures. +## Citation + +Please cite us when using Turftopic: + +```bibtex +@article{ + Kardos2025, + title = {Turftopic: Topic Modelling with Contextual Representations from Sentence Transformers}, + doi = {10.21105/joss.08183}, + url = {https://doi.org/10.21105/joss.08183}, + year = {2025}, + publisher = {The Open Journal}, + volume = {10}, + number = {111}, + pages = {8183}, + author = {Kardos, Márton and Enevoldsen, Kenneth C. and Kostkan, Jan and Kristensen-McLachlan, Ross Deans and Rocca, Roberta}, + journal = {Journal of Open Source Software} +} +``` + ## References - Kardos, M., Kostkan, J., Vermillet, A., Nielbo, K., Enevoldsen, K., & Rocca, R. (2024, June 13). $S^3$ - Semantic Signal separation. arXiv.org. https://arxiv.org/abs/2406.09556 - Wu, X., Nguyen, T., Zhang, D. C., Wang, W. Y., & Luu, A. T. (2024). FASTopic: A Fast, Adaptive, Stable, and Transferable Topic Modeling Paradigm. ArXiv Preprint ArXiv:2405.17978.